⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 session.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/*** @version		$Id: session.php 10381 2008-06-01 03:35:53Z pasamio $* @package		Joomla.Framework* @subpackage	Table* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.* @license		GNU/GPL, see LICENSE.php* Joomla! is free software. This version may have been modified pursuant* to the GNU General Public License, and as distributed it includes or* is derivative of works licensed under the GNU General Public License or* other free or open source software licenses.* See COPYRIGHT.php for copyright notices and details.*/// Check to ensure this file is within the rest of the frameworkdefined('JPATH_BASE') or die();/** * Session table * * @package 	Joomla.Framework * @subpackage		Table * @since	1.0 */class JTableSession extends JTable{	/**	 *	 * @var int Primary key	 */	var $session_id			= null;	/**	 *	 * @var string	 */	var $time				= null;	/**	 *	 * @var string	 */	var $userid				= null;	/**	 *	 * @var string	 */	var $usertype			= null;	/**	 *	 * @var string	 */	var $username			= null;	/**	 *	 * @var time	 */	var $gid				= null;	/**	 *	 * @var int	 */	var $guest				= null;	/**	 *	 * @var int	 */	var $client_id			= null;	/**	 *	 * @var string	 */	var $data				= null;	/**	 * Constructor	 * @param database A database connector object	 */	function __construct( &$db )	{		parent::__construct( '#__session', 'session_id', $db );		$this->guest 	= 1;		$this->username = '';		$this->gid 		= 0;	}	function insert($sessionId, $clientId)	{		$this->session_id	= $sessionId;		$this->client_id	= $clientId;		$this->time = time();		$ret = $this->_db->insertObject( $this->_tbl, $this, 'session_id' );		if( !$ret ) {			$this->setError(strtolower(get_class( $this ))."::". JText::_( 'store failed' ) ."<br />" . $this->_db->stderr());			return false;		} else {			return true;		}	}	function update( $updateNulls = false )	{		$this->time = time();		$ret = $this->_db->updateObject( $this->_tbl, $this, 'session_id', $updateNulls );		if( !$ret ) {			$this->setError(strtolower(get_class( $this ))."::". JText::_( 'store failed' ) ." <br />" . $this->_db->stderr());			return false;		} else {			return true;		}	}	/**	 * Destroys the pesisting session	 */	function destroy($userId, $clientIds = array())	{		$clientIds = implode( ',', $clientIds );		$query = 'DELETE FROM #__session'			. ' WHERE userid = '. $this->_db->Quote( $userId )			. ' AND client_id IN ( '.$clientIds.' )'			;		$this->_db->setQuery( $query );		if ( !$this->_db->query() ) {			$this->setError( $this->_db->stderr());			return false;		}		return true;	}	/**	* Purge old sessions	*	* @param int 	Session age in seconds	* @return mixed Resource on success, null on fail	*/	function purge( $maxLifetime = 1440 )	{		$past = time() - $maxLifetime;		$query = 'DELETE FROM '. $this->_tbl .' WHERE ( time < \''. (int) $past .'\' )'; // Index on 'VARCHAR'		$this->_db->setQuery($query);		return $this->_db->query();	}	/**	 * Find out if a user has a one or more active sessions	 *	 * @param int $userid The identifier of the user	 * @return boolean True if a session for this user exists	 */	function exists($userid)	{		$query = 'SELECT COUNT(userid) FROM #__session'			. ' WHERE userid = '. $this->_db->Quote( $userid );		$this->_db->setQuery( $query );		if ( !$result = $this->_db->loadResult() ) {			$this->setError($this->_db->stderr());			return false;		}		return (boolean) $result;	}	/**	 * Overloaded delete method	 *	 * We must override it because of the non-integer primary key	 *	 * @access public	 * @return true if successful otherwise returns and error message	 */	function delete( $oid=null )	{		//if (!$this->canDelete( $msg ))		//{		//	return $msg;		//}		$k = $this->_tbl_key;		if ($oid) {			$this->$k = $oid;		}		$query = 'DELETE FROM '.$this->_db->nameQuote( $this->_tbl ).				' WHERE '.$this->_tbl_key.' = '. $this->_db->Quote($this->$k);		$this->_db->setQuery( $query );		if ($this->_db->query())		{			return true;		}		else		{			$this->setError($this->_db->getErrorMsg());			return false;		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -