diff --git a/cake/libs/cake_session.php b/cake/libs/cake_session.php index 97fb04571f6..ddefa4506f9 100644 --- a/cake/libs/cake_session.php +++ b/cake/libs/cake_session.php @@ -114,14 +114,6 @@ class CakeSession extends Object { */ var $id = null; -/** - * Session Started - * - * @var boolean - * @access protected - */ - var $_started = false; - /** * Hostname * @@ -216,7 +208,7 @@ function start() { session_write_close(); } $this->__initSession(); - $this->_started = $this->__startSession(); + $this->__startSession(); return $this->started(); } @@ -227,7 +219,7 @@ function start() { * @return boolean True if session has been started. */ function started() { - if (isset($_SESSION) && $this->_started) { + if (isset($_SESSION) && session_id()) { return true; } return false; @@ -795,5 +787,5 @@ function __gc($expires = null) { $return = $model->deleteAll(array($model->alias . ".expires <" => $expires), false, false); return $return; - } + } } diff --git a/cake/tests/cases/libs/cake_session.test.php b/cake/tests/cases/libs/cake_session.test.php index b58700bc3a5..c80eb3c26c3 100644 --- a/cake/tests/cases/libs/cake_session.test.php +++ b/cake/tests/cases/libs/cake_session.test.php @@ -170,6 +170,10 @@ function testStarted() { $_SESSION = null; $this->assertFalse($this->Session->started()); $this->assertTrue($this->Session->start()); + + $session = new CakeSession(null, false); + $this->assertTrue($session->started()); + unset($session); } /**