All pastes #564993 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-13 20:28 UTC
rendered paste body
<?php

	/**
	* Project:		Kayzio Framework
	* File:		Session/main.php
	*
	* @copyright 2007 Kayzio. All Rights Reserved.
	* @author Matthew Dahl <dahl.matthew@gmail.com>
	* @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(
			"SessionOpen",
			"SessionClose",
			"SessionRead",
			"SessionWrite",
			"SessionDestroy",
			"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;
	}

	/***********************************************************************************/

?>