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;
- }
-
}
'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',
/* 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();
* @category Horde
* @package SessionHandler
*/
-class Horde_SessionHandler_Builtin extends Horde_SessionHandler_Base
+class Horde_SessionHandler_Builtin extends Horde_SessionHandler
{
/**
* Directory with session files.
* @category Horde
* @package SessionHandler
*/
-class Horde_SessionHandler_External extends Horde_SessionHandler_Base
+class Horde_SessionHandler_External extends Horde_SessionHandler
{
/**
* Constructor.
* @category Horde
* @package SessionHandler
*/
-class Horde_SessionHandler_Memcache extends Horde_SessionHandler_Base
+class Horde_SessionHandler_Memcache extends Horde_SessionHandler
{
/**
* Memcache object.
* @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.
* @category Horde
* @package SessionHandler
*/
-class Horde_SessionHandler_Stack extends Horde_SessionHandler_Base
+class Horde_SessionHandler_Stack extends Horde_SessionHandler
{
/**
* Stack of sessionhandlers.