LSformElement :: password : Added bcc feature in mail options
[ldapsaisie.git] / public_html / includes / class / class.LSformElement_password.php
index afb947a..6fbd92c 100644 (file)
@@ -60,7 +60,7 @@ class LSformElement_password extends LSformElement {
         return true;
       }
       
-      if ($this -> verifyPassword($return[$this -> name][0])) {
+      if ($this -> verifyPassword($return[$this -> name][0]) || (empty($return[$this -> name][0]) && empty($val))) {
         LSdebug("Password : no change");
         unset($return[$this -> name]);
         $this -> form -> _notUpdate[$this -> name] == true;
@@ -68,13 +68,19 @@ class LSformElement_password extends LSformElement {
       }
       
       //Mail
+
+      // Do not send mail if password is not set :
+      if (empty($return[$this -> name])) {
+        return true;
+      }
+
       if (isset($_POST['LSformElement_password_'.$this -> name.'_send'])) {
         if ($_POST['LSformElement_password_'.$this -> name.'_send']==1) {
           $this -> sendMail = true;
           LSdebug ('send by form');
         }
       }
-      else if ($this -> params['html_options']['mail']['send']==1) {
+      else if (isset($this -> params['html_options']['mail']['isset']) && $this -> params['html_options']['mail']['send']==1) {
         $this -> sendMail = true;
         LSdebug ('send by config');
       }
@@ -204,10 +210,20 @@ class LSformElement_password extends LSformElement {
       if (checkEmail($mail,NULL,true)) {
         $this -> attr_html -> attribute -> ldapObject -> registerOtherValue('password',$this -> sendMail['pwd']);
         $msg = $this -> attr_html -> attribute -> ldapObject -> getFData($this -> sendMail['msg']);
+        if (isset($this -> params['html_options']['mail']['headers'])) {
+          $headers = $this -> params['html_options']['mail']['headers'];
+        }
+        else {
+          $headers = array();
+        }
+       if ($this -> params['html_options']['mail']['bcc']) {
+               $headers['Bcc']=$this -> params['html_options']['mail']['bcc'];
+       }
         if (sendMail(
           $mail,
           $this -> sendMail['subject'],
-          $msg
+          $msg,
+          $headers
         )) {
           LSsession :: addInfo(_('Notice mail sent.'));
         }