[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
xForm -> Frage zu Passwort-Element - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
ra-V-en
Beiträge: 9
Registriert: 16. Feb 2007, 21:04
Wohnort: Herford
Kontaktdaten: Website

xForm -> Frage zu Passwort-Element

3. Mär 2010, 21:50

Ist es möglich bei dem Addon xForm das Psswortfeld zu zu erstellen wie es bei dem Addon Addon-Helper möglich ist?

Ich meine das Passwortfeld leer ist und nur bei einer Eingabe der Wert übermittelt wird, und der auch mit einer Verschlüsselungsfunktion (sha1/md5) vor dem Eintrag in der Datenbank geparst wird?

Ich danke für eure Mithilfe :-)

Stefan

ra-V-en
Beiträge: 9
Registriert: 16. Feb 2007, 21:04
Wohnort: Herford
Kontaktdaten: Website

Gelöst : Problem mit Passwort-Element

5. Mär 2010, 14:49

Das Problem mit dem Passwort-Formularelement habe ich wie folgt gelöst:

Änderung in der Klasse:

rex_xform_password Zeile 21:

Code: Alles auswählen

htmlspecialchars(stripslashes($this->value)) . '" />
ersetzen mit:

Code: Alles auswählen

 '" />
Und folgende Klasse im ordner actions anlegen:

Code: Alles auswählen

<?php
/**
 * Erweiterung der Klasse rex_xform_action_abstract um die Möglichleit Werte zu verschlüsseln
 * @package xForm addon v1.4.1
 * @version $id class.xform_action_pswencrypt.inc.php v1.0 05.03.2010 Exp $
 */
class rex_xform_action_encryptpsw extends rex_xform_action_abstract {
  /**
   * Verschlüsselt den Wert label mit der angegebenen Funktion,
   * sollte der Wert label nicht vorhanden/gefüllt sein, so wird der Wert aus dem jeweiligen Array
   * gelöscht, und nicht weiterverarbeitet.
   */
  function execute(){
    $str_label    = $this->action["elements"][2]; //Was soll verschlüsselt werden
    $str_encrypt  = $this->action["elements"][3]; //Verschlüsselungsfunction sha1()|md5()
    //Verschlüsseln von sql-werten
    foreach($this->elements_sql as $sql_label=>$value){
      if($str_label == $sql_label){
        if($value != ''){
          $this->elements_sql[$sql_label] = $str_encrypt($value);
        }else{
          unset($this->elements_sql[$sql_label]);
        }
      }
    }
    //Verschlüsseln von email_werten
    foreach($this->elements_email as $email_label=>$value){
      if($str_label == $email_label){
        if($value !== ''){
          $this->elements_email[$email_label] = $str_encrypt($value);
        }else{
          unset($this->elements_email[$email_label]);
        }
      }
    }
    return;
  }

  function getDesription(){
    return "action|encryptpsw|label|md5 OR sha1";
  }
}
?>
Bei dieser Klasse wird nicht überprüft ob der Benutzer das passwort ändern darf, oder ob er die Änderung bestätigt hat. Die kann man aber leicht mit der validate klasse compare erledigene
Vieleicht kann es ja noch jemand brauchen :-)

MfG

Stefan

Zurück zu „Allgemeines [R4]“