Exemple #1
0
 /**
  * Check for the user session
  *
  * @param  Application $application
  * @return void
  */
 public static function check(Application $application)
 {
     $sess = $application->getService('session');
     $action = $application->router()->getRouteMatch()->getAction();
     if (isset($sess->user) && isset($sess->user->sess_id) && !isset(Table\UserSessions::findById($sess->user->sess_id)->id)) {
         $user = new Model\User();
         $user->logout($sess);
         unset($sess->user);
         $sess->setRequestValue('expired', true);
         Response::redirect('/login');
         exit;
     } else {
         if (isset($sess->user) && ($action == 'login' || $action == 'forgot' || $action == 'verify')) {
             Response::redirect('/');
             exit;
         } else {
             if (!isset($sess->user) && $action != 'login' && $action != 'forgot' && $action != 'verify') {
                 Response::redirect('/login');
                 exit;
             }
         }
     }
 }
Exemple #2
0
 public function logout()
 {
     User::logout();
     return redirect('/');
 }
 /**
  * Logout action method
  *
  * @return void
  */
 public function logout()
 {
     if (isset($this->sess->user)) {
         $user = new Model\User();
         $user->logout($this->sess);
     }
     if ((int) $this->request->getQuery('expired') == 1) {
         $this->sess->setRequestValue('expired', true);
     }
     $this->redirect('/login');
 }