Example #1
0
 public function passwordRestoreAction()
 {
     $form = new Application_Form_PasswordRestore();
     $request = $this->getRequest();
     if ($request->isPost() && $form->isValid($request->getPost())) {
         $user = $this->_helper->service('user')->findOneBy(array('email' => $form->email->getValue()));
         if (!empty($user) && $user->isActive()) {
             $this->_helper->service('email')->sendPasswordRestoreToken($user);
             $this->_helper->flashMessenger($this->view->translate("E-mail with instructions was sent to given email address."));
             $this->_helper->redirector('password-restore-after', 'auth');
         } else {
             if (empty($user)) {
                 $form->email->addError($this->view->translate("Given email not found."));
             }
         }
     }
     $this->view->form = $form;
 }
Example #2
0
 public function passwordRestoreAction()
 {
     global $CC_CONFIG;
     $request = $this->getRequest();
     $baseUrl = $request->getBaseUrl();
     $this->view->headScript()->appendFile($baseUrl . '/js/airtime/login/password-restore.js?' . $CC_CONFIG['airtime_version'], 'text/javascript');
     if (!Application_Model_Preference::GetEnableSystemEmail()) {
         $this->_redirect('login');
     } else {
         //uses separate layout without a navigation.
         $this->_helper->layout->setLayout('login');
         $form = new Application_Form_PasswordRestore();
         $request = $this->getRequest();
         if ($request->isPost() && $form->isValid($request->getPost())) {
             if (is_null($form->username->getValue()) || $form->username->getValue() == '') {
                 $user = CcSubjsQuery::create()->filterByDbEmail($form->email->getValue())->findOne();
             } else {
                 $user = CcSubjsQuery::create()->filterByDbEmail($form->email->getValue())->filterByDbLogin($form->username->getValue())->findOne();
             }
             if (!empty($user)) {
                 $auth = new Application_Model_Auth();
                 $success = $auth->sendPasswordRestoreLink($user, $this->view);
                 if ($success) {
                     $this->_helper->redirector('password-restore-after', 'login');
                 } else {
                     $form->email->addError($this->view->translate("Email could not be sent. Check your mail server settings and ensure it has been configured properly."));
                 }
             } else {
                 $form->email->addError($this->view->translate("Given email not found."));
             }
         }
         $this->view->form = $form;
     }
 }