Пример #1
0
 public function newPasswordAction()
 {
     $this->view->headTitle('New password');
     $code = $this->_getParam('code', false);
     $id = $this->_getParam('id', false);
     if (false == $code || false == 'id') {
         $this->_redirect('');
     }
     $error = false;
     /**
      * Check code
      */
     $objUserExp = new Models_UserExpand();
     $objUser = new Models_User();
     $user = $objUserExp->getByColumnName(array('forgot_password_code=?' => $code, 'forgot_password_expired_date>?' => time(), 'user_id=?' => $id))->toArray();
     if (empty($user)) {
         $error = true;
     } else {
         /**
          * Clear all active code
          */
         $data = array('forgot_password_code' => '', 'forgot_password_expired_date' => 0);
         $objUserExp->update($data, array('user_id=?' => $id));
         /**
          * Create new password
          */
         $newPassword = $objUser->generateActiveCode(8);
         $objUser->update(array('password' => md5($newPassword)), array('user_id=?' => $id));
         /**
          * Send email
          */
         $user = $objUser->find($id)->toArray();
         $user = current($user);
         $data = array('new_password' => $newPassword, 'username' => $user['username'], 'email' => $user['email'], 'full_name' => $user['full_name']);
         $objMail = new Models_Mail();
         $objMail->sendHtmlMail('new_password', $data, $user['email']);
         /**
          * Redirect to page
          */
         $objContent = new Models_ScontentLang();
         $this->_redirect($objContent->getUrlWithoutAppBaseUrl(23));
     }
     $this->view->error = $error;
 }