From 550ba06593b467b643862d41a00ca2dd12ee704b Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 2 Aug 2006 02:24:29 +0000 Subject: merge from 3.0 branch till 1320. --- framework/Web/THttpSession.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'framework/Web/THttpSession.php') diff --git a/framework/Web/THttpSession.php b/framework/Web/THttpSession.php index 4439cf57..19473cda 100644 --- a/framework/Web/THttpSession.php +++ b/framework/Web/THttpSession.php @@ -61,7 +61,7 @@ * @package System.Web * @since 3.0 */ -class THttpSession extends TApplicationComponent implements IteratorAggregate,ArrayAccess,IModule +class THttpSession extends TApplicationComponent implements IteratorAggregate,ArrayAccess,Countable,IModule { /** * @var boolean whether this module has been initialized @@ -139,7 +139,8 @@ class THttpSession extends TApplicationComponent implements IteratorAggregate,Ar session_set_save_handler(array($this,'_open'),array($this,'_close'),array($this,'_read'),array($this,'_write'),array($this,'_destroy'),array($this,'_gc')); if($this->_cookie!==null) session_set_cookie_params($this->_cookie->getExpire(),$this->_cookie->getPath(),$this->_cookie->getDomain(),$this->_cookie->getSecure()); - session_start(); + if(ini_get('session.auto_start')!=='1') + session_start(); $this->_started=true; } } @@ -486,6 +487,16 @@ class THttpSession extends TApplicationComponent implements IteratorAggregate,Ar return count($_SESSION); } + /** + * Returns the number of items in the session. + * This method is required by Countable interface. + * @return integer number of items in the session. + */ + public function count() + { + return $this->getCount(); + } + /** * @return array the list of session variable names */ -- cgit v1.2.3