Public Member Functions | |
| sess_open () | |
| sess_close () | |
| sess_read ($session_id) | |
| sess_write ($session_id, $session_data) | |
| sess_destroy ($session_id) | |
| sess_destroy_orphans () | |
| sess_gc ($timeout) | |
Static Public Member Functions | |
| static | getInstance () |
Private Member Functions | |
| __construct () | |
| __clone () | |
Private Attributes | |
| $db = null | |
Static Private Attributes | |
| static | $instance = __CLASS__ |
Definition at line 359 of file aliroSession.php.
| aliroSessionData::__construct | ( | ) | [private] |
Definition at line 363 of file aliroSession.php.
References aliroCoreDatabase::getInstance(), and aliro::getInstance().
00363 { 00364 if (aliro::getInstance()->installed) $this->db = aliroCoreDatabase::getInstance(); 00365 }
| aliroSessionData::__clone | ( | ) | [private] |
| static aliroSessionData::getInstance | ( | ) | [static] |
Definition at line 371 of file aliroSession.php.
Referenced by aliroSession::__construct(), and aliroSession::purge().
00371 { 00372 return is_object(self::$instance) ? self::$instance : (self::$instance = new self::$instance()); 00373 }
| aliroSessionData::sess_open | ( | ) |
| aliroSessionData::sess_close | ( | ) |
| aliroSessionData::sess_read | ( | $ | session_id | ) |
Definition at line 383 of file aliroSession.php.
00383 { 00384 if (isset($_COOKIE['aliroTempSession'])) return base64_decode($_COOKIE['aliroTempSession']); 00385 if (!isset($_COOKIE['aliroCookieCheck']) OR !isset($this->db)) return ''; 00386 $session_id = $this->db->getEscaped($session_id); 00387 $this->db->setQuery("SELECT session_data FROM #__session_data WHERE session_id = '$session_id'"); 00388 return base64_decode($this->db->loadResult()); 00389 }
| aliroSessionData::sess_write | ( | $ | session_id, | |
| $ | session_data | |||
| ) |
Definition at line 391 of file aliroSession.php.
00391 { 00392 if ((!isset($_COOKIE['aliroCookieCheck']) AND !isset($_COOKIE['usercookie'])) OR !$this->db) { 00393 if (!headers_sent()) setcookie ('aliroTempSession', base64_encode($session_data), 0, '/'); 00394 return true; 00395 } 00396 if (isset($_COOKIE['aliroTempSession'])) setcookie ('aliroTempSession', null, time()-7*24*60*60, '/'); 00397 $session_id = $this->db->getEscaped($session_id); 00398 $session_data = base64_encode($session_data); 00399 $this->db->doSQL("INSERT INTO #__session_data (session_id, session_data) VALUES ('$session_id', '$session_data') ON DUPLICATE KEY UPDATE session_data = '$session_data'"); 00400 return true; 00401 }
| aliroSessionData::sess_destroy | ( | $ | session_id | ) |
Definition at line 403 of file aliroSession.php.
00403 { 00404 setcookie ('aliroTempSession', null, time()-7*24*60*60, '/'); 00405 if (!isset($_COOKIE['aliroCookieCheck']) OR !isset($this->db)) return; 00406 $session_id = $this->db->getEscaped($session_id); 00407 $this->db->doSQL("DELETE FROM #__session_data WHERE session_id = '$session_id'"); 00408 return true; 00409 }
| aliroSessionData::sess_destroy_orphans | ( | ) |
Definition at line 411 of file aliroSession.php.
00411 { 00412 if ($this->db AND 42 == mt_rand(0,49)) { 00413 $this->db->doSQL("DELETE d FROM `#__session_data` AS d LEFT JOIN #__session AS s ON d.session_id = s.session_id WHERE s.session_id IS NULL"); 00414 $this->db->doSQL("OPTIMIZE TABLE `#__session_data`"); 00415 $this->db->doSQL("OPTIMIZE TABLE `#__session`"); 00416 } 00417 }
| aliroSessionData::sess_gc | ( | $ | timeout | ) |
Definition at line 419 of file aliroSession.php.
References aliroSessionFactory::getSession().
00419 { 00420 $session = aliroSessionFactory::getSession(); 00421 $session->purge($timeout); 00422 }
aliroSessionData::$instance = __CLASS__ [static, private] |
Definition at line 360 of file aliroSession.php.
aliroSessionData::$db = null [private] |
Definition at line 361 of file aliroSession.php.
1.5.5