Ejemplo n.º 1
0
 /**
  * Get sort order
  *
  * @param  string $sort
  * @param  string $page
  * @param  string $ord
  * @return array
  */
 public function getSortOrder($sort = null, $page = null, $ord = 'ASC')
 {
     $field = 'id';
     $order = $ord;
     $sess = null;
     if (stripos(php_sapi_name(), 'cli') === false || stripos(php_sapi_name(), 'server') !== false) {
         $sess = \Pop\Session\Session::getInstance();
     }
     if (null !== $sort) {
         if (null !== $sess && $page != $sess->lastPage) {
             if ($sort != $sess->lastSortField) {
                 $field = $sort;
                 $order = $ord;
             } else {
                 $field = $sess->lastSortField;
                 $order = $sess->lastSortOrder;
             }
         } else {
             $field = $sort;
             if (null !== $sess && isset($sess->lastSortOrder)) {
                 $order = $sess->lastSortOrder == 'ASC' ? 'DESC' : 'ASC';
             } else {
                 $order = $ord;
             }
         }
     }
     if (null !== $sess) {
         $sess->lastSortField = $field;
         $sess->lastSortOrder = $order;
         $sess->lastPage = $page;
     }
     return $field . ' ' . $order;
 }
Ejemplo n.º 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);
 }