public function forgotpasswordreAction() { $this->getHelper("layout")->setLayout('layout_no_sidebar_no_menu'); //Page is comming from links if (!$this->getRequest()->isPost()) { $messages = 'Access denied.'; $this->_forward('error', 'error', 'default', array('message' => $messages)); return; } $session = new Zend_Session_Namespace(); //Session Expired redirect to login page if (!isset($session) || !isset($session->forgot_pwd_login)) { $this->_forward('login', null, null, array('source' => 'forgotpasswordre')); return; } $login = $session->forgot_pwd_login; $form = new Application_Form_ForgotPwdRe(); $form->setAction('forgotpasswordre'); $form->setMethod('post'); $form->setDecorators(array('FormElements', array('HtmlTag', array('tag' => 'dl', 'class' => 'formUl')), 'Form')); $this->view->form = $form; /* It is forwarded from forgotpasswordsqAction dispatch it now */ if ($this->getRequest()->getParam('source') == 'forgotpasswordsq') { return; } //Validate the form now if (!$form->isValid($this->getRequest()->getPost())) { return; } $newPassWord = $this->getRequest()->getPost('newPassWord'); $newPassWordRe = $this->getRequest()->getPost('newPassWordRe'); if (!($newPassWord == $newPassWordRe)) { $form->getElement('newPassWordRe')->addError('Password does not match'); return; } //Reset the password now /* Check if the user exists */ $userTbl = new Application_Model_DbTable_Mstuser(); $user = $userTbl->findByLogin($login); if (!$user) { $messages = 'Error occured.'; $this->_forward('error', 'error', 'default', array('message' => $messages)); return; } $userId = $user->id; $reset = $userTbl->resetPassword($login, $newPassWord); if ($reset['result'] == 'ok') { $messages = 'Successfully reset the password.'; $this->view->messages = $messages; $this->_helper->viewRenderer('forgotpasswordrt'); //Log Rgm_UserServices::log($userId, 'mst_user', 'Successfully reset password through forgot password method for user id = ' . $login, ''); unset($session->forgot_pwd_login); } else { $messages = 'Error occured while restting the password. Please try again.'; $this->view->messages = $messages; $this->_helper->viewRenderer('forgotpasswordrt'); //Log Rgm_UserServices::log($userId, 'mst_user', 'Failed while tryed to reset password through forgot password method for user id = ' . $login, ''); unset($session->forgot_pwd_login); } }