Esempio n. 1
0
 public function forgotPasswordAction()
 {
     $error = false;
     $message = "";
     $old_pass = "";
     if (isset($this->_params['email'])) {
         $u = $this->getUsers()->getByEmail($this->_params['email']);
         if (is_null($u)) {
             $u = $this->getCenters()->getByEmail($this->_params['email']);
             if (is_null($u)) {
                 $error = true;
                 $message = "Email dosen't exist !";
                 $this->view->assign("errorMessage", $message);
             }
         }
         if (!is_null($u)) {
             $new_pass = NL_Utils::randomPassword();
             $md5_new_pass = Table_Abstract::encryptPassword($new_pass);
             $email = new NL_HtmlMailer();
             if (!$email->sendForgot($new_pass, $this->_params['email'])) {
                 $error = true;
                 $message = "Service not available, please contact us to fix this !";
                 $this->view->assign("errorMessage", $message);
             } else {
                 $u->setPassword($md5_new_pass);
                 $u->setFirstTime(0);
                 if ($u->save()) {
                     $this->view->assign("successMessage", 'Please check your email to log in with your new password, please remember to change it after you loggedin');
                 } else {
                     $this->view->assign("errorMessage", $message);
                 }
             }
         }
     }
 }