LSformElement :: password : Added isLoginPassword parameter
authorBenjamin Renard <brenard@easter-eggs.com>
Fri, 8 Apr 2011 15:05:30 +0000 (17:05 +0200)
committerBenjamin Renard <brenard@easter-eggs.com>
Fri, 8 Apr 2011 15:05:30 +0000 (17:05 +0200)
doc/conf/LSattribute/LSattr_html/LSattr_html_password.docbook
public_html/includes/class/class.LSformElement_password.php

index 8ddeacc..07627ed 100644 (file)
@@ -6,6 +6,7 @@
   <programlisting linenumbering="unnumbered">
 <citetitle>Structure</citetitle>...
 <![CDATA['html_options' => array(
+  'isLoginPassword' => [booleen],
   'generationTool' => [booleen],
   'autoGenerate' => [booleen],
   'lenght' => [nombre de caractères],
 <title>Paramètres de configuration</title>
 
 <varlistentry>
+  <term>isLoginPassword</term>
+  <listitem>
+    <simpara>Booléen définissant si le mot de passe est celui utilisé par l'utilisateur
+    pour se logguer à l'annuaire LDAP. Si c'est le cas, le mot de passe saisi dans le
+    formulaire sera utilisé pour une tentative de connexion de l'utilisateur afin de
+    déterminer si le mot de passe a été modifié ou non. (Par défaut : <literal>Vrai</literal>)</simpara>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
   <term>generationTool</term>
   <listitem>
     <simpara>Booléen définissant si l'outil de génération de mot de passe est
index a26cf93..4c517b1 100644 (file)
@@ -60,11 +60,13 @@ class LSformElement_password extends LSformElement {
         return true;
       }
       
-      if ($this -> verifyPassword($return[$this -> name][0])) {
-        LSdebug("Password : no change");
-        unset($return[$this -> name]);
-        $this -> form -> _notUpdate[$this -> name] == true;
-        return true;
+      if (!isset($this -> params['html_options']['isLoginPassword']) || $this -> params['html_options']['isLoginPassword']) {
+        if ($this -> verifyPassword($return[$this -> name][0])) {
+          LSdebug("Password : no change");
+          unset($return[$this -> name]);
+          $this -> form -> _notUpdate[$this -> name] == true;
+          return true;
+        }
       }      
       
       //Mail