Пример #1
0
 /**
  * Prepare view
  *
  * @param  string $template
  * @return void
  */
 protected function prepareView($template)
 {
     $this->view = new View($this->viewPath . '/' . $template);
     $this->view->application_title = $this->application->config()['application_title'];
     if (isset($this->sess->failed)) {
         $this->view->failed = true;
     }
     if (isset($this->sess->expired)) {
         $this->view->expired = true;
     }
     if (isset($this->sess->saved)) {
         $this->view->saved = true;
     }
     if (isset($this->sess->removed)) {
         $this->view->removed = true;
     }
     if (isset($this->sess->user)) {
         $this->services['nav.top']->setRole($this->services['acl']->getRole($this->sess->user->role));
         $this->services['nav.top']->returnFalse(true);
         if ($this->services->isAvailable('nav.fluid')) {
             $this->services['nav.fluid']->setRole($this->services['acl']->getRole($this->sess->user->role));
             $this->services['nav.fluid']->returnFalse(true);
         }
         if ($this->services->isAvailable('nav.static')) {
             $this->services['nav.static']->setRole($this->services['acl']->getRole($this->sess->user->role));
             $this->services['nav.static']->returnFalse(true);
         }
         $this->view->popNav = $this->services['nav.top'];
         $this->view->acl = $this->services['acl'];
         $this->view->user = $this->sess->user;
         $cookie = \Pop\Cookie\Cookie::getInstance(['path' => '/']);
         $this->view->windowWidth = $cookie['pop_current_width'];
     }
 }
Пример #2
0
 /**
  * Logout a user
  *
  * @param  \Pop\Session\Session $sess
  * @return void
  */
 public function logout($sess)
 {
     $user = Table\Users::findById($sess->user->id);
     $session = new Session();
     $session->clear($sess->user->sess_id, $sess->user->id, $sess->getId());
     $cookie = Cookie::getInstance(['path' => '/']);
     $cookie->delete('pop_session');
     $cookie->delete('pop_session_timeout');
     $cookie->delete('pop_timeout_warning');
     $cookie->delete('pop_current_width');
     if (isset($user->id)) {
         $user->last_login = date('Y-m-d H:i:s');
         $user->last_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
         $user->last_ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null;
         $user->save();
     }
     unset($sess->user);
 }