public function loginAction()
 {
     $this->view->pageHeading = 'Sign in to your Account';
     $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');
     }
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $params = $request->getParams();
             $Auth = new Base_Auth_Auth();
             $Auth->doLogout();
             $loginStatusEmail = true;
             $loginStatusUsername = true;
             $loginStatusEmail = $Auth->doLogin($params, 'email');
             if ($loginStatusEmail == false) {
                 $loginStatusUsername = $Auth->doLogin($params, 'username');
             }
             if ($loginStatusEmail == false && $loginStatusUsername == false) {
                 $this->_flashMessenger->addMessage(array('error' => 'Invalid credentials! Please try again.'));
                 $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/mps/auth/login'));
             } else {
                 $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/mps/app/dashboard'));
             }
         } else {
             $this->view->email_msg = array_pop($form->getMessages('email'));
             $this->view->password_msg = array_pop($form->getMessages('password'));
             $this->_flashMessenger->addMessage(array('error' => 'Invalid credentials! Please try again.'));
             $this->_helper->_redirector->gotoUrl($this->view->seoUrl('/mps/auth/login'));
         }
     }
 }
Beispiel #2
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'));
         }
     }
 }
 public function loginAction()
 {
     $this->_helper->layout->setLayout('login');
     $this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
     $this->view->messages = $this->_flashMessenger->getMessages();
     $form = new Application_Form_Login();
     $this->view->form = $form;
     //Verifica se existem dados de POST
     Zend_Registry::get('logger')->log("antes verificacao loginAction", Zend_Log::INFO);
     if ($this->getRequest()->isPost()) {
         $data = $this->getRequest()->getPost();
         //Formulário corretamente preenchido?
         if ($form->isValid($data)) {
             $login = $form->getValue('login');
             $senha = $form->getValue('senha');
             Zend_Registry::get('logger')->log("senha valida", Zend_Log::INFO);
             try {
                 Application_Model_Auth::login($login, $senha);
                 //Redireciona para o Controller protegido
                 return $this->_helper->redirector->goToRoute(array('controller' => 'index'), null, true);
             } catch (Exception $e) {
                 //Dados inválidos
                 //$this->_helper->FlashMessenger($e->getMessage());
                 $this->view->mensagem = "Usuário ou senha incorreto";
                 $this->view->erro = 1;
                 $this->view->mensagemExcecao = $e->getMessage();
                 //$this->_redirect('/index/login');
             }
         } else {
             //Formulário preenchido de forma incorreta
             $form->populate($data);
             Zend_Registry::get('logger')->log("formulario inválido", Zend_Log::INFO);
             $arrMessages = $form->getMessages();
             foreach ($arrMessages as $field => $arrErrors) {
                 $this->view->erro = 1;
                 $this->view->mensagem = $this->view->mensagem . $form->getElement($field)->getLabel() . $this->view->formErrors($arrErrors) . "<br>";
             }
         }
     }
 }