public function forgotPasswordAction() { $this->view->headTitle('Forgot password'); $email = $this->_getParam('email', false); $error = false; if (false != $email) { $objUser = new Models_User(); $user = $objUser->getByColumnName(array('email=?' => $email))->toArray(); $user = current($user); if (false == $user) { $error = true; } else { /** * Create random code */ $randomCode = $objUser->generateActiveCode(20); $link = Vi_Registry::getConfig('liveSite') . '/user/index/id/' . $user['user_id'] . '/newPasswordAction/code/' . $randomCode; /** * Update user */ $data = array('forgot_password_code' => $randomCode, 'forgot_password_expired_date' => time() + 24 * 3600); $objUserExp = new Models_UserExpand(); $objUserExp->update($data, array('user_id=?' => $user['user_id'])); /** * Send mail */ $data = array('email' => $email, 'get_password_link' => $link, 'username' => $user['username'], 'full_name' => $user['full_name']); $objMail = new Models_Mail(); $objMail->sendHtmlMail('forgot_password', $data, $email); /** * Redirect to page */ $objContent = new Models_ScontentLang(); $this->_redirect($objContent->getUrlWithoutAppBaseUrl(22)); } } $this->view->error = $error; $this->view->email = $email; }