From 1353929a7dbd3f2e897fa7d3ab88e959ca573f9f Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 28 May 2016 13:41:54 -0400 Subject: Rename controllers --- app/Controller/AuthController.php | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 app/Controller/AuthController.php (limited to 'app/Controller/AuthController.php') diff --git a/app/Controller/AuthController.php b/app/Controller/AuthController.php new file mode 100644 index 00000000..598b3ff8 --- /dev/null +++ b/app/Controller/AuthController.php @@ -0,0 +1,83 @@ +userSession->isLogged()) { + $this->response->redirect($this->helper->url->to('DashboardController', 'show')); + } else { + $this->response->html($this->helper->layout->app('auth/index', array( + 'captcha' => ! empty($values['username']) && $this->userLocking->hasCaptcha($values['username']), + 'errors' => $errors, + 'values' => $values, + 'no_layout' => true, + 'title' => t('Login') + ))); + } + } + + /** + * Check credentials + * + * @access public + */ + public function check() + { + $values = $this->request->getValues(); + $this->sessionStorage->hasRememberMe = ! empty($values['remember_me']); + list($valid, $errors) = $this->authValidator->validateForm($values); + + if ($valid) { + $this->redirectAfterLogin(); + } else { + $this->login($values, $errors); + } + } + + /** + * Logout and destroy session + * + * @access public + */ + public function logout() + { + if (! DISABLE_LOGOUT) { + $this->sessionManager->close(); + $this->response->redirect($this->helper->url->to('AuthController', 'login')); + } else { + $this->response->redirect($this->helper->url->to('AuthController', 'index')); + } + } + + /** + * Redirect the user after the authentication + * + * @access private + */ + private function redirectAfterLogin() + { + if (isset($this->sessionStorage->redirectAfterLogin) && ! empty($this->sessionStorage->redirectAfterLogin) && ! filter_var($this->sessionStorage->redirectAfterLogin, FILTER_VALIDATE_URL)) { + $redirect = $this->sessionStorage->redirectAfterLogin; + unset($this->sessionStorage->redirectAfterLogin); + $this->response->redirect($redirect); + } else { + $this->response->redirect($this->helper->url->to('DashboardController', 'show')); + } + } +} -- cgit v1.2.3