diff --git a/cake/libs/session.php b/cake/libs/session.php index 8dbbdb78a..f44740648 100644 --- a/cake/libs/session.php +++ b/cake/libs/session.php @@ -116,6 +116,13 @@ class CakeSession extends Object { * @access public */ var $id = null; +/** + * Session Started + * + * @var boolean + * @access public + */ + var $started = false; /** * Constructor. * @@ -163,16 +170,19 @@ class CakeSession extends Object { /** * Starts the Session. * - * @param string $name Variable name to check for - * @return boolean True if variable is there + * @return boolean True if session was started * @access public */ function start() { + if ($this->started) { + return true; + } if (function_exists('session_write_close')) { session_write_close(); } $this->__initSession(); - return $this->__startSession(); + $this->started = $this->__startSession(); + return $this->started; } /** * Determine if Session has been started. @@ -475,12 +485,13 @@ class CakeSession extends Object { ini_set('session.auto_start', 0); } } - session_set_save_handler(array('CakeSession','__open'), - array('CakeSession', '__close'), - array('CakeSession', '__read'), - array('CakeSession', '__write'), - array('CakeSession', '__destroy'), - array('CakeSession', '__gc')); + session_set_save_handler( + array('CakeSession','__open'), + array('CakeSession', '__close'), + array('CakeSession', '__read'), + array('CakeSession', '__write'), + array('CakeSession', '__destroy'), + array('CakeSession', '__gc')); break; case 'php': if (empty($_SESSION)) { @@ -507,12 +518,13 @@ class CakeSession extends Object { ini_set('session.cookie_path', $this->path); } } - session_set_save_handler(array('CakeSession','__open'), - array('CakeSession', '__close'), - array('Cache', 'read'), - array('Cache', 'write'), - array('Cache', 'delete'), - array('Cache', 'gc')); + session_set_save_handler( + array('CakeSession','__open'), + array('CakeSession', '__close'), + array('Cache', 'read'), + array('Cache', 'write'), + array('Cache', 'delete'), + array('Cache', 'gc')); break; default: if (empty($_SESSION)) {