expire() public method

Expires the current $_SESSION by unsetting the Symphony namespace ($this->_index). If the $_SESSION is empty, the function will destroy the entire $_SESSION
public expire ( )
Ejemplo n.º 1
0
 /**
  * This function determines whether an there is a currently logged in
  * Author for Symphony by using the `$Cookie`'s username
  * and password. If an Author is found, they will be logged in, otherwise
  * the `$Cookie` will be destroyed.
  *
  * @see core.Cookie#expire()
  */
 public function isLoggedIn()
 {
     // Ensures that we're in the real world.. Also reduces three queries from database
     // We must return true otherwise exceptions are not shown
     if (is_null(self::$_instance)) {
         return true;
     }
     if ($this->Author) {
         return true;
     } else {
         $username = self::Database()->cleanValue($this->Cookie->get('username'));
         $password = self::Database()->cleanValue($this->Cookie->get('pass'));
         if (strlen(trim($username)) > 0 && strlen(trim($password)) > 0) {
             $author = AuthorManager::fetch('id', 'ASC', 1, null, sprintf("\n\t\t\t\t\t\t\t`username` = '%s'\n\t\t\t\t\t\t", $username));
             if (!empty($author) && Cryptography::compare($password, current($author)->get('password'), true)) {
                 $this->Author = current($author);
                 self::Database()->update(array('last_seen' => DateTimeObj::get('Y-m-d H:i:s')), 'tbl_authors', sprintf(" `id` = %d", $this->Author->get('id')));
                 // Only set custom author language in the backend
                 if (class_exists('Administration')) {
                     Lang::set($this->Author->get('language'));
                 }
                 return true;
             }
         }
         $this->Cookie->expire();
         return false;
     }
 }
 /**
  * This function determines whether an there is a currently logged in
  * Author for Symphony by using the `$Cookie`'s username
  * and password. If an Author is found, they will be logged in, otherwise
  * the `$Cookie` will be destroyed.
  *
  * @see core.Cookie#expire()
  */
 public function isLoggedIn()
 {
     // Ensures that we're in the real world.. Also reduces three queries from database
     // We must return true otherwise exceptions are not shown
     if (is_null(self::$_instance)) {
         return true;
     }
     if ($this->Author) {
         return true;
     } else {
         $username = self::$Database->cleanValue($this->Cookie->get('username'));
         $password = self::$Database->cleanValue($this->Cookie->get('pass'));
         if (strlen(trim($username)) > 0 && strlen(trim($password)) > 0) {
             $id = self::$Database->fetchVar('id', 0, "SELECT `id` FROM `tbl_authors` WHERE `username` = '{$username}' AND `password` = '{$password}' LIMIT 1");
             if ($id) {
                 self::$Database->update(array('last_seen' => DateTimeObj::get('Y-m-d H:i:s')), 'tbl_authors', " `id` = '{$id}'");
                 $this->Author = AuthorManager::fetchByID($id);
                 Lang::set($this->Author->get('language'));
                 return true;
             }
         }
         $this->Cookie->expire();
         return false;
     }
 }
Ejemplo n.º 3
0
 public function login($token, $remember = false, $cookiePath = '/')
 {
     $this->token = $token;
     Session::set(self::SESSION_NAME, $token);
     if ($remember) {
         Cookie::set(self::COOKIE_NAME, $token, Cookie::expire('365', 'd'), $cookiePath);
     }
     return true;
 }
Ejemplo n.º 4
0
 /**
  * This function will destroy the currently logged in `$Author`
  * session, essentially logging them out.
  *
  * @see core.Cookie#expire()
  */
 public static function logout()
 {
     self::$Cookie->expire();
 }
 private function __expireCookie()
 {
     session_destroy();
     $Cookie = new Cookie(__SYM_COOKIE_PREFIX_ . 'front-end-authentication', 24 * 60 * 60, __SYM_COOKIE_PATH__);
     $Cookie->expire();
 }
Ejemplo n.º 6
0
 public function frontendPageResolved($context)
 {
     if (isset($_REQUEST['github-oauth-action']) && isset($_REQUEST['github-oauth-action']) == 'logout') {
         $cookie = new Cookie('github');
         $cookie->expire();
         if (isset($_REQUEST['redirect'])) {
             redirect($_REQUEST['redirect']);
         }
         redirect(URL);
     }
 }