* @package Kayzio Framework */ /***********************************************************************************/ /** * Session Life Time */ $SessionLifeTime = null; /***********************************************************************************/ /** * Close */ function SessionClose() { return true; } /** * Destroy * * @param int */ function SessionDestroy($ID) { if(strtolower($DB->dbType) == "mysql") { $NewID = mysql_real_escape_string($ID); } else { $NewID = addslashes($ID); } $SessionData = $DB->Query("DELETE FROM sessions WHERE id = '$NewID'"); return true; } /** * Garbage Collection */ function SessionGarbageCollection() { $SessionData = $DB->Query("DELETE FROM sessions WHERE expires < time()"); return true; } /** * Session Manager */ function SessionManager() { $SessionLifeTime = get_cfg_var("session.gc_maxlifetime"); session_set_save_handler( array("SessionOpen"), array("SessionClose"), array("SessionRead"), array("SessionWrite"), array("SessionDestroy"), array("SessionGarbageCollection") ); } /** * Open * * @params string, string */ function SessionOpen($SavePath, $SessionName) { global $sess_save_path; $sess_save_path = $SavePath; return true; } /** * Read * * @param int */ function SessionRead($ID) { $Data = ""; $Time = time(); if(strtolower($DB->dbType) == "mysql") { $NewID = mysql_real_escape_string($ID); } else { $NewID = addslashes($ID); } $SessionData = $DB->Query("SELECT data FROM sessions WHERE id = '$NewID' AND expires > $Time"); $NumRows = $DB->NumRows($SessionData); if ($NumRows > 0) { $Row = $DB->FetchAssoc($SessionData); $Data = $Row['data']; } return $Data; } /** * Write * * @params int, string */ function SessionWrite($ID, $Data) { $Time = time() + $this->LifeTime; if(strtolower($DB->dbType) == "mysql") { $NewID = mysql_real_escape_string($ID); $NewData = mysql_real_escape_string($Data); } else { $NewID = addslashes($ID); $NewData = addslashes($Data); } $ReplaceSession = $DB->Query("UPDATE sessions SET id = '$NewID' AND data = '$NewData' AND expires = '$Time'"); return true; } /***********************************************************************************/ ?>