diff --git a/lib/Cake/Cache/Cache.php b/lib/Cake/Cache/Cache.php index 2cba7dadc..aa00f542d 100644 --- a/lib/Cake/Cache/Cache.php +++ b/lib/Cake/Cache/Cache.php @@ -278,7 +278,7 @@ class Cache { * @return void */ public static function gc($config = 'default', $expires = null) { - static::$_engines[$config]->gc($expires); + return (bool)static::$_engines[$config]->gc($expires); } /** @@ -452,7 +452,7 @@ class Cache { $success = static::$_engines[$config]->delete($settings['prefix'] . $key); static::set(null, $config); - return $success; + return (bool)$success; } /** diff --git a/lib/Cake/Model/Datasource/CakeSession.php b/lib/Cake/Model/Datasource/CakeSession.php index b3b471686..fe601b4d3 100644 --- a/lib/Cake/Model/Datasource/CakeSession.php +++ b/lib/Cake/Model/Datasource/CakeSession.php @@ -143,7 +143,7 @@ class CakeSession { public static function init($base = null) { static::$time = time(); - if (env('HTTP_USER_AGENT')) { + if (env('HTTP_USER_AGENT') && !static::$_userAgent) { static::$_userAgent = md5(env('HTTP_USER_AGENT') . Configure::read('Security.salt')); } diff --git a/lib/Cake/Model/Datasource/Session/CacheSession.php b/lib/Cake/Model/Datasource/Session/CacheSession.php index 793701992..d0540bcb7 100644 --- a/lib/Cake/Model/Datasource/Session/CacheSession.php +++ b/lib/Cake/Model/Datasource/Session/CacheSession.php @@ -83,7 +83,7 @@ class CacheSession implements CakeSessionHandlerInterface { * @return bool Success */ public function gc($expires = null) { - return Cache::gc(Configure::read('Session.handler.config'), $expires); + return (bool)Cache::gc(Configure::read('Session.handler.config'), $expires); } } diff --git a/lib/Cake/Model/Datasource/Session/DatabaseSession.php b/lib/Cake/Model/Datasource/Session/DatabaseSession.php index 81cd708e8..f5626808b 100644 --- a/lib/Cake/Model/Datasource/Session/DatabaseSession.php +++ b/lib/Cake/Model/Datasource/Session/DatabaseSession.php @@ -123,9 +123,9 @@ class DatabaseSession implements CakeSessionHandlerInterface { 'counterCache' => false ); try { - return $this->_model->save($record, $options); + return (bool)$this->_model->save($record, $options); } catch (PDOException $e) { - return $this->_model->save($record, $options); + return (bool)$this->_model->save($record, $options); } } @@ -136,7 +136,7 @@ class DatabaseSession implements CakeSessionHandlerInterface { * @return bool True for successful delete, false otherwise. */ public function destroy($id) { - return $this->_model->delete($id); + return (bool)$this->_model->delete($id); } /** @@ -151,7 +151,7 @@ class DatabaseSession implements CakeSessionHandlerInterface { } else { $expires = time() - $expires; } - return $this->_model->deleteAll(array($this->_model->alias . ".expires <" => $expires), false, false); + return (bool)$this->_model->deleteAll(array($this->_model->alias . ".expires <" => $expires), false, false); } } diff --git a/lib/Cake/Test/test_app/Model/Datasource/Session/TestAppLibSession.php b/lib/Cake/Test/test_app/Model/Datasource/Session/TestAppLibSession.php index 2ba874dba..4d509d3c4 100644 --- a/lib/Cake/Test/test_app/Model/Datasource/Session/TestAppLibSession.php +++ b/lib/Cake/Test/test_app/Model/Datasource/Session/TestAppLibSession.php @@ -12,6 +12,7 @@ class TestAppLibSession implements CakeSessionHandlerInterface { } public function close() { + return true; } public function read($id) { @@ -21,9 +22,12 @@ class TestAppLibSession implements CakeSessionHandlerInterface { } public function destroy($id) { + return true; } public function gc($expires = null) { + return true; } + } diff --git a/lib/Cake/Test/test_app/Plugin/TestPlugin/Model/Datasource/Session/TestPluginSession.php b/lib/Cake/Test/test_app/Plugin/TestPlugin/Model/Datasource/Session/TestPluginSession.php index acad188e0..92a2817a1 100644 --- a/lib/Cake/Test/test_app/Plugin/TestPlugin/Model/Datasource/Session/TestPluginSession.php +++ b/lib/Cake/Test/test_app/Plugin/TestPlugin/Model/Datasource/Session/TestPluginSession.php @@ -12,6 +12,7 @@ class TestPluginSession implements CakeSessionHandlerInterface { } public function close() { + return true; } public function read($id) { @@ -21,9 +22,11 @@ class TestPluginSession implements CakeSessionHandlerInterface { } public function destroy($id) { + return true; } public function gc($expires = null) { + return true; } }