diff options
| author | Bharat Mediratta <bharat@menalto.com> | 2009-05-27 15:11:53 -0700 | 
|---|---|---|
| committer | Bharat Mediratta <bharat@menalto.com> | 2009-05-27 15:11:53 -0700 | 
| commit | 12fe58d997d2066dc362fd393a18b4e5da190513 (patch) | |
| tree | 3ad8e5afb77829e1541ec96d86785760d65c04ac /kohana/libraries/drivers/Session/Database.php | |
| parent | 00f47d4ddddcd1902db817018dd79ac01bcc8e82 (diff) | |
Rename 'kohana' to 'system' to conform to the Kohana filesystem layout.  I'm comfortable with us not clearly drawing the distinction about the fact that it's Kohana.
Diffstat (limited to 'kohana/libraries/drivers/Session/Database.php')
| -rw-r--r-- | kohana/libraries/drivers/Session/Database.php | 163 | 
1 files changed, 0 insertions, 163 deletions
| diff --git a/kohana/libraries/drivers/Session/Database.php b/kohana/libraries/drivers/Session/Database.php deleted file mode 100644 index b4144ffb..00000000 --- a/kohana/libraries/drivers/Session/Database.php +++ /dev/null @@ -1,163 +0,0 @@ -<?php defined('SYSPATH') OR die('No direct access allowed.'); -/** - * Session database driver. - * - * $Id: Database.php 3769 2008-12-15 00:48:56Z zombor $ - * - * @package    Core - * @author     Kohana Team - * @copyright  (c) 2007-2008 Kohana Team - * @license    http://kohanaphp.com/license.html - */ -class Session_Database_Driver implements Session_Driver { - -	/* -	CREATE TABLE sessions -	( -		session_id VARCHAR(127) NOT NULL, -		last_activity INT(10) UNSIGNED NOT NULL, -		data TEXT NOT NULL, -		PRIMARY KEY (session_id) -	); -	*/ - -	// Database settings -	protected $db = 'default'; -	protected $table = 'sessions'; - -	// Encryption -	protected $encrypt; - -	// Session settings -	protected $session_id; -	protected $written = FALSE; - -	public function __construct() -	{ -		// Load configuration -		$config = Kohana::config('session'); - -		if ( ! empty($config['encryption'])) -		{ -			// Load encryption -			$this->encrypt = Encrypt::instance(); -		} - -		if (is_array($config['storage'])) -		{ -			if ( ! empty($config['storage']['group'])) -			{ -				// Set the group name -				$this->db = $config['storage']['group']; -			} - -			if ( ! empty($config['storage']['table'])) -			{ -				// Set the table name -				$this->table = $config['storage']['table']; -			} -		} - -		// Load database -		$this->db = Database::instance($this->db); - -		Kohana::log('debug', 'Session Database Driver Initialized'); -	} - -	public function open($path, $name) -	{ -		return TRUE; -	} - -	public function close() -	{ -		return TRUE; -	} - -	public function read($id) -	{ -		// Load the session -		$query = $this->db->from($this->table)->where('session_id', $id)->limit(1)->get()->result(TRUE); - -		if ($query->count() === 0) -		{ -			// No current session -			$this->session_id = NULL; - -			return ''; -		} - -		// Set the current session id -		$this->session_id = $id; - -		// Load the data -		$data = $query->current()->data; - -		return ($this->encrypt === NULL) ? base64_decode($data) : $this->encrypt->decode($data); -	} - -	public function write($id, $data) -	{ -		$data = array -		( -			'session_id' => $id, -			'last_activity' => time(), -			'data' => ($this->encrypt === NULL) ? base64_encode($data) : $this->encrypt->encode($data) -		); - -		if ($this->session_id === NULL) -		{ -			// Insert a new session -			$query = $this->db->insert($this->table, $data); -		} -		elseif ($id === $this->session_id) -		{ -			// Do not update the session_id -			unset($data['session_id']); - -			// Update the existing session -			$query = $this->db->update($this->table, $data, array('session_id' => $id)); -		} -		else -		{ -			// Update the session and id -			$query = $this->db->update($this->table, $data, array('session_id' => $this->session_id)); - -			// Set the new session id -			$this->session_id = $id; -		} - -		return (bool) $query->count(); -	} - -	public function destroy($id) -	{ -		// Delete the requested session -		$this->db->delete($this->table, array('session_id' => $id)); - -		// Session id is no longer valid -		$this->session_id = NULL; - -		return TRUE; -	} - -	public function regenerate() -	{ -		// Generate a new session id -		session_regenerate_id(); - -		// Return new session id -		return session_id(); -	} - -	public function gc($maxlifetime) -	{ -		// Delete all expired sessions -		$query = $this->db->delete($this->table, array('last_activity <' => time() - $maxlifetime)); - -		Kohana::log('debug', 'Session garbage collected: '.$query->count().' row(s) deleted.'); - -		return TRUE; -	} - -} // End Session Database Driver | 
