/** * Validates user input in Register form and saves customer into database. */ public function execute() { $this->userVO->setEmail($this->request->getPost('email')); $this->userVO->setUserName($this->request->getPost('username')); $this->userVO->setUserPassword($this->userService->hashPassword($this->request->getPost('password'))); if ($this->validate()) { try { $this->userDAO->save($this->userVO); UserVO::setMessage('Thank you for registering on our website!'); Session::set('username', $this->userVO->getUserName()); $this->response->redirect('/'); } catch (\Exception $e) { echo $e->getMessage(); } } else { throw new \Exception('Password and Confirm Password fields should be the same.'); } }
/** * Logs in customer. */ public function execute() { $user = $this->userDAO->getByUserEmail($this->request->getPost('email')); try { if (!$user->getEmail()) { throw new \Exception('User with specified email does not exist.'); } $isPasswordVerified = $this->userService->verify($this->request->getPost('password'), $user->getUserPassword()); if (!$isPasswordVerified) { throw new \Exception('Invalid username/password. Check your credentials.'); } $this->userService->verify($this->request->getPost('password'), $user->getUserPassword()); Session::setMessage('You have successfully logged in!'); Session::set('username', $user->getUserName()); $this->response->redirect('/'); } catch (\Exception $e) { echo $e->getMessage(); } }