/** * * Resets password and send username and new password to user's email address */ public function recoverAction() { // reset password $request = $this->getRequest(); $form = new Application_Form_Recover(); if ($request->isPost()) { if ($form->isValid($request->getPost())) { $email = $form->getValues('email'); $userMapper = new Application_Model_UserMapper(); $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . "/../tmp/log.txt"); $logger = new Zend_Log($writer); try { $user = $userMapper->fetchUserByEmail($email); $password = $this->generatePassword(); $user->setPassword($password); $userMapper->save($user); //$this->view->email = var_dump($user); $this->view->msg = "Your details have been sent."; $this->sendRecoverEmail($user); $logger->log("Recover email sent.", Zend_Log::INFO); } catch (Exception $e) { // @TODO display and log error $this->view->error = 'An error occurred: ' . $e->getMessage(); $logger->log("Recover failed." . $e->getMessage(), Zend_Log::EMERG); } $form = null; } } $this->view->form = $form; }