public function forgotPasswordAction() { $form = new ForgotPasswordForm(); if ($this->request->isPost()) { if ($form->isValid($this->request->getPost()) == false) { foreach ($form->getMessages() as $message) { $this->flash->error($message); } } else { $user = Users::findFirstByEmail($this->request->getPost('email')); if (!$user) { $this->flash->success('There is no account associated to this email'); } else { $resetPassword = new ResetPasswords(); $resetPassword->usersId = $user->id; if ($resetPassword->save()) { $this->flash->success('Success! Please check your messages for an email reset password'); } else { foreach ($resetPassword->getMessages() as $message) { $this->flash->error($message); } } } } } $this->view->form = $form; }
public function resetPasswordAction() { $code = $this->dispatcher->getParam("code"); $resetPassword = ResetPasswords::findFirstByCode($code); if (!$resetPassword) { return $this->dispatcher->formward(array('controller' => 'index', 'action' => 'index')); } if ($resetPassword->reset != 'N') { return $this->dispatcher->forward(array('controller' => 'session', 'action' => 'login')); } $resetPassword->reset = 'Y'; if (!$resetPassword->save()) { foreach ($resetPassword->getMessages() as $message) { $this->flash->error($message); } return $this->dispatcher->forward(array('controller' => 'index', 'action' => 'index')); } $this->auth->authUserById($resetPassword->usersId); $this->flash->success('Please reset your password'); return $this->dispatcher->forward(array('controller' => 'users', 'action' => 'changePassword')); }