Beispiel #1
0
 public function forgotPasswordAction()
 {
     $this->view->pageHeading = "Forgot Password";
     $request = $this->getRequest();
     $this->view->form = $form = new Application_Form_Login();
     $elements = $form->getElements();
     $form->clearDecorators();
     foreach ($elements as $element) {
         $element->removeDecorator('label');
         $element->removeDecorator('Errors');
     }
     $form->removeElement('password');
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $params = $request->getParams();
             $user = new Application_Model_User();
             $user = $user->fetchRow("email='{$params['email']}'");
             if ($user) {
                 $auth = new Base_Auth_Auth();
                 $auth->recoverPassword($user);
                 $this->_flashMessenger->addMessage(array('success' => 'Your password has been reset. Please check your email.'));
                 $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/index/login'));
             } else {
                 $this->_flashMessenger->addMessage(array('error' => "Invalid email address!"));
                 $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/index/forgot-password'));
             }
         } else {
             $this->view->email_msg = array_pop($form->getMessages('email'));
         }
     }
 }