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')); } } }
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>"; } } } }