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 332 of file aliroSession.php.
| aliroSessionData::__construct | ( | ) | [private] |
Definition at line 336 of file aliroSession.php.
References aliroCoreDatabase::getInstance(), and aliro::getInstance().
00336 { 00337 if (aliro::getInstance()->installed) $this->db = aliroCoreDatabase::getInstance(); 00338 }
| aliroSessionData::__clone | ( | ) | [private] |
| static aliroSessionData::getInstance | ( | ) | [static] |
Definition at line 344 of file aliroSession.php.
Referenced by aliroSession::__construct(), and aliroSession::purge().
00344 { 00345 return is_object(self::$instance) ? self::$instance : (self::$instance = new self::$instance()); 00346 }
| aliroSessionData::sess_open | ( | ) |
| aliroSessionData::sess_close | ( | ) |
| aliroSessionData::sess_read | ( | $ | session_id | ) |
Definition at line 356 of file aliroSession.php.
00356 { 00357 if (isset($_COOKIE['aliroTempSession'])) return base64_decode($_COOKIE['aliroTempSession']); 00358 if (!isset($_COOKIE['aliroCookieCheck']) OR !isset($this->db)) return ''; 00359 $session_id = $this->db->getEscaped($session_id); 00360 $this->db->setQuery("SELECT session_data FROM #__session_data WHERE session_id = '$session_id'"); 00361 return base64_decode($this->db->loadResult()); 00362 }
| aliroSessionData::sess_write | ( | $ | session_id, | |
| $ | session_data | |||
| ) |
Definition at line 364 of file aliroSession.php.
00364 { 00365 if ((!isset($_COOKIE['aliroCookieCheck']) AND !isset($_COOKIE['usercookie'])) OR !$this->db) { 00366 if (!headers_sent()) setcookie ('aliroTempSession', base64_encode($session_data), 0, '/'); 00367 return true; 00368 } 00369 if (isset($_COOKIE['aliroTempSession'])) setcookie ('aliroTempSession', null, time()-7*24*60*60, '/'); 00370 $session_id = $this->db->getEscaped($session_id); 00371 $session_data = base64_encode($session_data); 00372 $this->db->doSQL("INSERT INTO #__session_data (session_id, session_data) VALUES ('$session_id', '$session_data') ON DUPLICATE KEY UPDATE session_data = '$session_data'"); 00373 return true; 00374 }
| aliroSessionData::sess_destroy | ( | $ | session_id | ) |
Definition at line 376 of file aliroSession.php.
00376 { 00377 setcookie ('aliroTempSession', null, time()-7*24*60*60, '/'); 00378 if (!isset($_COOKIE['aliroCookieCheck']) OR !isset($this->db)) return; 00379 $session_id = $this->db->getEscaped($session_id); 00380 $this->db->doSQL("DELETE FROM #__session_data WHERE session_id = '$session_id'"); 00381 return true; 00382 }
| aliroSessionData::sess_destroy_orphans | ( | ) |
Definition at line 384 of file aliroSession.php.
00384 { 00385 if ($this->db AND 42 == mt_rand(0,49)) { 00386 $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"); 00387 $this->db->doSQL("OPTIMIZE TABLE `#__session_data`"); 00388 $this->db->doSQL("OPTIMIZE TABLE `#__session`"); 00389 } 00390 }
| aliroSessionData::sess_gc | ( | $ | timeout | ) |
Definition at line 392 of file aliroSession.php.
References aliroSessionFactory::getSession().
00392 { 00393 $session = aliroSessionFactory::getSession(); 00394 $session->purge($timeout); 00395 }
aliroSessionData::$instance = __CLASS__ [static, private] |
Definition at line 333 of file aliroSession.php.
aliroSessionData::$db = null [private] |
Definition at line 334 of file aliroSession.php.
1.5.5