steffen: server/kolab-horde-framework/kolab-horde-framework/SessionHandler SessionHandler.php, NONE, 1.1 package.xml, NONE, 1.1
cvs at intevation.de
cvs at intevation.de
Fri Oct 14 16:33:13 CEST 2005
Author: steffen
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SessionHandler
In directory doto:/tmp/cvs-serv28903/kolab-horde-framework/kolab-horde-framework/SessionHandler
Added Files:
SessionHandler.php package.xml
Log Message:
Separated Horde Framework from kolab-resource-handlers
--- NEW FILE: SessionHandler.php ---
<?php
/**
* SessionHandler:: defines an API for implementing custom session
* handlers for PHP.
*
* $Horde: framework/SessionHandler/SessionHandler.php,v 1.12 2004/04/07 14:43:13 chuck Exp $
*
* Copyright 2002-2004 Mike Cochrane <mike at graftonhall.co.nz>
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
*
* @author Mike Cochrane <mike at graftonhall.co.nz>
* @version $Revision: 1.1 $
* @since Horde 3.0
* @package Horde_SessionHandler
*/
class SessionHandler {
/**
* Attempts to return a concrete SessionHandler instance based on
* $driver.
*
* @param string $driver The type of concrete SessionHandler
* subclass to return. The is based on the
* driver ($driver). The code is
* dynamically included.
* @param optional array $params A hash containing any additional
* configuration or connection parameters
* a subclass might need.
*
* @return mixed The newly created concrete SessionHandler instance, or
* false on an error.
*/
function &factory($driver, $params = null)
{
if (is_array($driver)) {
$app = $driver[0];
$driver = $driver[1];
}
$driver = basename($driver);
if (is_null($params)) {
require_once 'Horde.php';
$params = Horde::getDriverConfig('sessionhandler', $driver);
}
if (!empty($app)) {
require_once $GLOBALS['registry']->getParam('fileroot', $app) . '/lib/SessionHandler/' . $driver . '.php';
} elseif (@file_exists(dirname(__FILE__) . '/SessionHandler/' . $driver . '.php')) {
require_once dirname(__FILE__) . '/SessionHandler/' . $driver . '.php';
} else {
@include_once 'Horde/SessionHandler/' . $driver . '.php';
}
$class = 'SessionHandler_' . $driver;
if (class_exists($class)) {
return $ret = &new $class($params);
} else {
return PEAR::raiseError('Class definition of ' . $class . ' not found.');
}
}
/**
* Attempts to return a reference to a concrete SessionHandler
* instance based on $driver. It will only create a new instance
* if no SessionHandler instance with the same parameters
* currently exists.
*
* This method must be invoked as: $var = &SessionHandler::singleton()
*
* @param string $driver See SessionHandler::factory().
* @param optional array $params See SessionHandler::factory().
*
* @return mixed The created concrete SessionHandler instance, or false
* on error.
*/
function &singleton($driver, $params = null)
{
static $instances = array();
$signature = serialize(array($driver, $params));
if (empty($instances[$signature])) {
$instances[$signature] = &SessionHandler::factory($driver, $params);
}
return $instances[$signature];
}
}
--- NEW FILE: package.xml ---
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- $Horde: framework/SessionHandler/package.xml,v 1.6 2003/12/04 01:11:47 chuck Exp $ -->
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
<package version="1.0">
<name>Horde_SessionHandler</name>
<summary>Session Handler API</summary>
<description>
SessionHandler:: defines an API for implementing custom session handlers for PHP.
This package contains implementations for:
* PEAR DB
* MySql
* DBM Files
* Oracle 8i
* PostgreSQL
* ODBC
</description>
<license>LGPL</license>
<maintainers>
<maintainer>
<user>mac</user>
<role>lead</role>
<name>Mike Cochrane</name>
<email>mike at graftonhall.co.nz</email>
</maintainer>
</maintainers>
<release>
<version>0.0.1</version>
<state>alpha</state>
<date>2003-07-03</date>
<notes>Initial Release.</notes>
<provides type="class" name="SessionHandler"/>
<provides type="class" name="SessionHandler_dbm"/>
<provides type="class" name="SessionHandler_mysql"/>
<provides type="class" name="SessionHandler_oci8"/>
<provides type="class" name="SessionHandler_pgsql"/>
<provides type="class" name="SessionHandler_sapdb"/>
<provides type="class" name="SessionHandler_sql"/>
<filelist>
<file role="php" baseinstalldir="/Horde" name="SessionHandler.php"/>
<dir name="SessionHandler" role="php" baseinstalldir="/Horde">
<file name="dbm.php"/>
<file name="mysql.php"/>
<file name="oci8.php"/>
<file name="pgsql.php"/>
<file name="sapdb.php"/>
<file name="sql.php"/>
</dir>
</filelist>
</release>
<deps>
<dep type="pkg" rel="has">Horde_SQL</dep>
</deps>
<changelog>
<release>
<version>0.0.1</version>
<date>2003-07-03</date>
<state>alpha</state>
<notes>Initial release as a PEAR package</notes>
</release>
</changelog>
</package>
More information about the commits
mailing list