+ Reply to Thread
Results 1 to 9 of 9

Thread: PHP vars über messages,labels.inc ausgeben

  1. #1
    lacri's Avatar
    lacri is offline Registered User
    Join Date
    Jan 2009
    Location
    Lutherstadt Wittenberg, Germany
    Posts
    179
    Downloads
    5
    Uploads
    0

    Question PHP vars über messages,labels.inc ausgeben

    Hallo,

    ich habe mal wieder eine kleine Frage, wie kann ich die messages.inc bzw labels.inc so dynamisch gestallten das ich in diesen variablen benutzen kann.

    also original gibt es ja die var in der messages.inc
    PHP Code:
    $messages['importconfirm'] = '<b>Es wurden $inserted Adressen erfolgreich importiert und $skipped bestehende Einträge übersprungen</b>:<p><em>$names</em></p>'
    die var $skipped und die var $names wird ja dynamisch gefüllt.

    nun möchte ich eine eigene var erstellen in der einige Werte dynamisch übermittelt werden
    PHP Code:
    $messages['errorloginforbidden'] = 'Login 5 mal fehlerhaft. Der Account ist für 10 Minuten gesperrt.'
    die Angabe der Zeit "10 Minuten gesperrt" möchte ich dynamisch geändert haben und die restliche Zeit anzeigen nur ich finde einfach keinen Weg meine var so zu registrieren das sie von der messages.inc ausgegeben wird.

    So das ich dann hätte
    PHP Code:
    $messages['errorloginforbidden'] = 'Login 5 mal fehlerhaft. Der Account ist noch für $minuten Minuten gesperrt.'
    Danke schon mal im voraus !!!!
    Last edited by lacri; 01-26-2009 at 01:26 PM.

  2. #2
    lacri's Avatar
    lacri is offline Registered User
    Join Date
    Jan 2009
    Location
    Lutherstadt Wittenberg, Germany
    Posts
    179
    Downloads
    5
    Uploads
    0

    Default

    Hallo,

    kann mir hierbei niemand helfen und evtl. einen Tipp geben ?

  3. #3
    rosali's Avatar
    rosali is offline Super Moderator
    Join Date
    Dec 2007
    Location
    Germany
    Posts
    2,394
    Downloads
    36
    Uploads
    0

    Default

    z.B.

    $labels['checkaccount'] = 'Überprüfen Sie Iher Konto $vars um die Identität zu bestätigen';

    $confirm = rcube_label(array('name' => 'checkaccount', 'vars' => array('vars'=>$_POST['_email'])));

    oder wenn Du die RoundCube Message Box verwenden willst:

    /* $OUTPUT object must be available */
    $OUTPUT->show_message('checkaccount','notice',array('vars' =>$_POST['_email'])); //types: notice, warning, confirmation, error
    $OUTPUT->send(); // notice this will exit the script !!!

    WICHTIG: Das Label muss in einfachen Anführungszeichen stehen. Gänsefüßchen (") führen dazu, dass $vars mit NULL ersetzt wird. Das hat mir einige Kopfschmerzen bereitet, bis ich das gecheckt habe!
    Last edited by rosali; 01-29-2009 at 07:32 AM.
    Regards,
    Rosali

    __________________
    MyRoundcube Project http://myroundcube.googlecode.com
    MyRoundcube Online Demo - Free Email Address http://mail4us.net
    MyRoundcube Plugins Generic Installation Guide http://mail4us.net/myroundcube/index.php
    Mailing List http://mail4us.net/?_action=plugin.nabble

  4. #4
    lacri's Avatar
    lacri is offline Registered User
    Join Date
    Jan 2009
    Location
    Lutherstadt Wittenberg, Germany
    Posts
    179
    Downloads
    5
    Uploads
    0

    Default

    Danke Rosali,

    das war der richtige anstoss

    etwas einfacher geht es jedoch noch.

    Meine var aus der messages.inc
    PHP Code:
    $messages['errorloginforbidden'] = 'Login 5 mal fehlerhaft. Der Account ist noch für $minuten Minuten gesperrt.'
    und die Ausgabe
    PHP Code:
    $resttime round(($_SESSION['timer']['time'] + $RCMAIL->config->get('logins_timer') - time()) / 60,0);
    $OUTPUT->show_message('errorloginforbidden''warning', array('minuten' => $resttime)); 
    also kurz gesagt mann übergibt der show_message funktion nach dem typ einen weiteren parameter in form eines arrays mit den varnamen und dem value welches in der message.inc gefüllt werden soll

    gefällt mir !!!

  5. #5
    rosali's Avatar
    rosali is offline Super Moderator
    Join Date
    Dec 2007
    Location
    Germany
    Posts
    2,394
    Downloads
    36
    Uploads
    0

    Default

    Was ist einfacher? Ich sehe keinen Unterschied zu meinem Post:

    oder wenn Du die RoundCube Message Box verwenden willst:

    /* $OUTPUT object must be available */
    $OUTPUT->show_message('checkaccount','notice',array('var s' =>$_POST['_email'])); //types: notice, warning, confirmation, error
    $OUTPUT->send(); // notice this will exit the script !!!
    Last edited by rosali; 01-29-2009 at 10:57 AM.
    Regards,
    Rosali

    __________________
    MyRoundcube Project http://myroundcube.googlecode.com
    MyRoundcube Online Demo - Free Email Address http://mail4us.net
    MyRoundcube Plugins Generic Installation Guide http://mail4us.net/myroundcube/index.php
    Mailing List http://mail4us.net/?_action=plugin.nabble

  6. #6
    lacri's Avatar
    lacri is offline Registered User
    Join Date
    Jan 2009
    Location
    Lutherstadt Wittenberg, Germany
    Posts
    179
    Downloads
    5
    Uploads
    0

    Default

    lächel hatte ich erst später gesehen ist ja das selbe

    hattest Deinen Beitrag ja noch editiert

    Dennoch vielen Dank funktioniert prima.

  7. #7
    rosali's Avatar
    rosali is offline Super Moderator
    Join Date
    Dec 2007
    Location
    Germany
    Posts
    2,394
    Downloads
    36
    Uploads
    0

    Default

    Offensichtlich bastelst Du an einer Art Access Control. Würde mich interessieren, wenn es fertig ist. Vielleicht kann ich daraus ein Plugin für MyRoundCube (http:/roundcubeforum.net/myroundcube) stricken - ich muss ja nicht alles selber machen!

    Sicher bedenkst Du das, aber ich will die Tipps trotzdem los werden:

    Schreibe die ungültigen Login Versuche nicht in die SESSION sondern in eine Datenbank Tabelle (ID kann die IP sein, Proxies müssten berücksichtigt werden). Access Control über die SESSION ist leicht über CURL oder Socket Requests zu umgehen.

    Außerdem wäre noch ein zweites Feature schön: So eine Art "Max requests per minute" um das Hämmern per Script auf die Seite zu verhindern!
    Regards,
    Rosali

    __________________
    MyRoundcube Project http://myroundcube.googlecode.com
    MyRoundcube Online Demo - Free Email Address http://mail4us.net
    MyRoundcube Plugins Generic Installation Guide http://mail4us.net/myroundcube/index.php
    Mailing List http://mail4us.net/?_action=plugin.nabble

  8. #8
    lacri's Avatar
    lacri is offline Registered User
    Join Date
    Jan 2009
    Location
    Lutherstadt Wittenberg, Germany
    Posts
    179
    Downloads
    5
    Uploads
    0

    Default

    Jep so ist ist wie ich meine ein nicht zu unterbewertendes Sicherheitsmerkmal um zb brutforce zu unterbinden.

    Im ersten Schritt um die Funktionalität zu testen löse ich es noch via session im zweiten schritt werde ich dies hier zur Verfügung stellen wenn ich es auf IP ebene und über die DB gelöst habe die Idee mit den max requests per minute gefällt mir auch sehr gut werde ich mit implementieren. Thx für den Hinweis.

    Kann noch etwas dauern da ich mit roundcube noch nicht so Vertraut bin, kenne es nunmehr erst seid ca 2-3 Wochen bin aber schwer begeistert und wurschtel mich da langsam hinein.

    Baue parallel noch an einem Amavisd Plugin um Spam zu behandeln bzw Regeln für den amavisd vom user erstellen zu lassen.

    Fertig habe ich bisher mein retrieve/chance userdata from ldap und chance ldap PW plugin werde ich wenn ich es noch bisserl angepasst und optimiert habe hier auch zur Verfügung stellen. Ist halt alles recht speziell auf meinen Fall zugeschnitten von daher muss ich es noch etwas optimieren so das es für die breitere Masse auch nutzbar und configurierbar ist. Zwecks standard email änderbar ja/nein max aliase konfigurierbar usw

    An dieser Stelle ein dickes Danke für Deine Hilfe !!!

  9. #9
    Granada is offline Registered User
    Join Date
    Jan 2010
    Posts
    34
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by lacri View Post
    Fertig habe ich bisher mein retrieve/chance userdata from ldap
    Wahh! Ist das ein "retrieveuserdata" von Squirrelmail? Wir müssen auch unsere Userdaten (common name, Emailadresse) aus dem ldap holen und ich bastele schon ein paar Wochen an einem Plugin, das das tut. Wie vollständig ist Deine Arbeit? Nicht daß wir das Rad zweimal erfinden.

    Grüße
    Rüdiger

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts