From: Michael J. Rubinsky Date: Sun, 10 Oct 2010 16:18:38 +0000 (-0400) Subject: Fix various issues with new SessionHandler code X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=b2b8560ee168359cce8eb42f82ea1358340fa9af;p=horde.git Fix various issues with new SessionHandler code Classes extend Horde_SessionHandler, not Horde_SessionHandler_Base Need to add the factory binder for Horde_SessionHandler Request a Horde_SessionHandler, not a Horde_Core_Factory_* when requesting/creating the sessionhandler --- diff --git a/framework/Core/lib/Horde/Core/Factory/SessionHandler.php b/framework/Core/lib/Horde/Core/Factory/SessionHandler.php index 79b9b1be7..2511c4ea2 100644 --- a/framework/Core/lib/Horde/Core/Factory/SessionHandler.php +++ b/framework/Core/lib/Horde/Core/Factory/SessionHandler.php @@ -81,44 +81,4 @@ class Horde_Core_Factory_SessionHandler throw new Horde_SessionHandler_Exception('Driver not found: ' . $driver); } - /** - * Reads session data to determine if it contains Horde authentication - * credentials. - * - * @param string $session_data The session data. - * - * @return array An array of the user's sesion information if - * authenticated or false. The following information is - * returned: userid, timestamp, remoteAddr, browser, apps. - */ - public function readSessionData($session_data) - { - if (empty($session_data) || - (($pos = strpos($session_data, 'horde_auth|')) === false)) { - return false; - } - - $pos += 11; - $endpos = $pos + 1; - - while ($endpos !== false) { - $endpos = strpos($session_data, '|', $endpos); - $data = @unserialize(substr($session_data, $pos, $endpos)); - if (is_array($data)) { - return empty($data) - ? false - : array( - 'apps' => empty($data['app']) ? array('horde') : array_keys($data['app']), - 'browser' => $data['browser'], - 'remoteAddr' => $data['remoteAddr'], - 'timestamp' => $data['timestamp'], - 'userid' => $data['userId'] - ); - } - ++$endpos; - } - - return false; - } - } diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 67e407266..644c89d78 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -291,6 +291,7 @@ class Horde_Registry 'Horde_Routes_Mapper' => 'Horde_Core_Factory_Mapper', 'Horde_Secret' => 'Horde_Core_Factory_Secret', 'Horde_Service_Twitter' => 'Horde_Core_Factory_Twitter', + 'Horde_SessionHandler' => 'Horde_Core_Factory_SessionHandler', 'Horde_Template' => 'Horde_Core_Factory_Template', 'Horde_Token' => 'Horde_Core_Factory_Token', 'Horde_View' => 'Horde_Core_Factory_View', diff --git a/framework/Core/lib/Horde/Session.php b/framework/Core/lib/Horde/Session.php index b32b46bec..25558f268 100644 --- a/framework/Core/lib/Horde/Session.php +++ b/framework/Core/lib/Horde/Session.php @@ -83,7 +83,7 @@ class Horde_Session implements ArrayAccess /* We want to create an instance here, not get, since we may be * destroying the previous instances in the page. */ - $this->sessionHandler = $GLOBALS['injector']->createInstance('Horde_Core_Factory_SessionHandler'); + $this->sessionHandler = $GLOBALS['injector']->createInstance('Horde_SessionHandler'); if ($start) { session_start(); diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php b/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php index 42a131605..72a77d093 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/Builtin.php @@ -13,7 +13,7 @@ * @category Horde * @package SessionHandler */ -class Horde_SessionHandler_Builtin extends Horde_SessionHandler_Base +class Horde_SessionHandler_Builtin extends Horde_SessionHandler { /** * Directory with session files. diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/External.php b/framework/SessionHandler/lib/Horde/SessionHandler/External.php index 8f4abe11b..414e31071 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/External.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/External.php @@ -12,7 +12,7 @@ * @category Horde * @package SessionHandler */ -class Horde_SessionHandler_External extends Horde_SessionHandler_Base +class Horde_SessionHandler_External extends Horde_SessionHandler { /** * Constructor. diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/Memcache.php b/framework/SessionHandler/lib/Horde/SessionHandler/Memcache.php index 59661fa65..34344b7d7 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/Memcache.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/Memcache.php @@ -12,7 +12,7 @@ * @category Horde * @package SessionHandler */ -class Horde_SessionHandler_Memcache extends Horde_SessionHandler_Base +class Horde_SessionHandler_Memcache extends Horde_SessionHandler { /** * Memcache object. diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/Sql.php b/framework/SessionHandler/lib/Horde/SessionHandler/Sql.php index d3cbc92db..bf8839b99 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/Sql.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/Sql.php @@ -14,7 +14,7 @@ * @category Horde * @package SessionHandler */ -class Horde_SessionHandler_Sql extends Horde_SessionHandler_Base +class Horde_SessionHandler_Sql extends Horde_SessionHandler { /** * Handle for the current database connection. diff --git a/framework/SessionHandler/lib/Horde/SessionHandler/Stack.php b/framework/SessionHandler/lib/Horde/SessionHandler/Stack.php index 7e4018741..0050257e0 100644 --- a/framework/SessionHandler/lib/Horde/SessionHandler/Stack.php +++ b/framework/SessionHandler/lib/Horde/SessionHandler/Stack.php @@ -14,7 +14,7 @@ * @category Horde * @package SessionHandler */ -class Horde_SessionHandler_Stack extends Horde_SessionHandler_Base +class Horde_SessionHandler_Stack extends Horde_SessionHandler { /** * Stack of sessionhandlers.