+++ /dev/null
-<?php
-/**
- * @category Horde
- * @package Core
- */
-class Horde_Core_Binder_Perms implements Horde_Injector_Binder
-{
- public function create(Horde_Injector $injector)
- {
- $driver = $GLOBALS['conf']['perms']['driver'];
- $params = isset($GLOBALS['conf']['perms'])
- ? Horde::getDriverConfig('perms', $driver)
- : array();
-
- if (strcasecmp($driver, 'Sql') === 0) {
- $params['db'] = $injector->getInstance('Horde_Db')->getDb('horde', 'perms');
- }
-
- $params['cache'] = $injector->getInstance('Horde_Cache');
- $params['logger'] = $injector->getInstance('Horde_Log_Logger');
-
- return Horde_Perms::factory($driver, $params);
- }
-
- public function equals(Horde_Injector_Binder $binder)
- {
- return false;
- }
-
-}
--- /dev/null
+<?php
+/**
+ * Factory for creating Horde_Perms objects
+ *
+ * Copyright 2010 Horde LLC <http://horde.org>
+ *
+ * @category Horde
+ * @package Core
+ */
+class Horde_Core_Factory_Perms
+{
+ /**
+ * Attempts to return a concrete instance based on $driver.
+ *
+ * @return Horde_Perms The newly created concrete instance.
+ * @throws Horde_Perms_Exception
+ */
+ public function create(Horde_Injector $injector)
+ {
+ $driver = $GLOBALS['conf']['perms']['driver'];
+ $params = isset($GLOBALS['conf']['perms'])
+ ? Horde::getDriverConfig('perms', $driver)
+ : array();
+
+ if (strcasecmp($driver, 'Sql') === 0) {
+ $params['db'] = $injector->getInstance('Horde_Db')->getDb('horde', 'perms');
+ }
+
+ $params['cache'] = $injector->getInstance('Horde_Cache');
+ $params['logger'] = $injector->getInstance('Horde_Log_Logger');
+
+ $class = is_null($driver)
+ ? 'Horde_Perms'
+ : 'Horde_Perms' . '_' . ucfirst(basename($driver));
+
+ if (class_exists($class)) {
+ return new $class($params);
+ }
+
+ throw new Horde_Perms_Exception('Unknown driver: ' . $driver);
+ }
+
+ public function equals(Horde_Injector_Binder $binder)
+ {
+ return false;
+ }
+
+}
'Horde_Memcache' => 'Horde_Core_Binder_Memcache',
'Horde_Mime_Viewer' => 'Horde_Core_Binder_MimeViewer',
'Horde_Notification' => 'Horde_Core_Binder_Notification',
- 'Horde_Perms' => 'Horde_Core_Binder_Perms',
'Horde_Prefs' => 'Horde_Core_Binder_Prefs',
'Horde_Prefs_Identity' => 'Horde_Core_Binder_Identity',
// 'Horde_Registry' - initialized below
'Horde_Core_Factory_Lock',
'create',
),
+ 'Horde_Perms' => array(
+ 'Horde_Core_Factory_Perms',
+ 'create',
+ ),
'Horde_View' => array(
'Horde_Core_Factory_View',
'create',
<active>yes</active>
</developer>
<date>2010-10-02</date>
- <time>22:07:42</time>
+ <time>22:28:34</time>
<version>
<release>0.1.0</release>
<api>0.1.0</api>
<file name="Memcache.php" role="php" />
<file name="MimeViewer.php" role="php" />
<file name="Notification.php" role="php" />
- <file name="Perms.php" role="php" />
<file name="Prefs.php" role="php" />
<file name="Secret.php" role="php" />
<file name="SessionHandler.php" role="php" />
<file name="Lock.php" role="php" />
<file name="LoginTasks.php" role="php" />
<file name="MimeViewer.php" role="php" />
+ <file name="Perms.php" role="php" />
<file name="Prefs.php" role="php" />
<file name="Request.php" role="php" />
<file name="Share.php" role="php" />
<install as="Horde/Core/Binder/Memcache.php" name="lib/Horde/Core/Binder/Memcache.php" />
<install as="Horde/Core/Binder/MimeViewer.php" name="lib/Horde/Core/Binder/MimeViewer.php" />
<install as="Horde/Core/Binder/Notification.php" name="lib/Horde/Core/Binder/Notification.php" />
- <install as="Horde/Core/Binder/Perms.php" name="lib/Horde/Core/Binder/Perms.php" />
<install as="Horde/Core/Binder/Prefs.php" name="lib/Horde/Core/Binder/Prefs.php" />
<install as="Horde/Core/Binder/Secret.php" name="lib/Horde/Core/Binder/Secret.php" />
<install as="Horde/Core/Binder/SessionHandler.php" name="lib/Horde/Core/Binder/SessionHandler.php" />
<install as="Horde/Core/Factory/Lock.php" name="lib/Horde/Core/Factory/Lock.php" />
<install as="Horde/Core/Factory/LoginTasks.php" name="lib/Horde/Core/Factory/LoginTasks.php" />
<install as="Horde/Core/Factory/MimeViewer.php" name="lib/Horde/Core/Factory/MimeViewer.php" />
+ <install as="Horde/Core/Factory/Perms.php" name="lib/Horde/Core/Factory/Perms.php" />
<install as="Horde/Core/Factory/Prefs.php" name="lib/Horde/Core/Factory/Prefs.php" />
<install as="Horde/Core/Factory/Request.php" name="lib/Horde/Core/Factory/Request.php" />
<install as="Horde/Core/Factory/Share.php" name="lib/Horde/Core/Factory/Share.php" />
static protected $_itaCache = array();
/**
- * Attempts to return a concrete instance based on $driver.
- *
- * @param string $driver The type of the concrete subclass to return.
- * The class name is based on the perms driver
- * ($driver). The code is dynamically included.
- * @param array $params A hash containing any additional configuration
- * or connection parameters a subclass might need.
- *
- * @return Horde_Perms The newly created concrete instance.
- * @throws Horde_Perms_Exception
- */
- static public function factory($driver = null, $params = null)
- {
- $class = is_null($driver)
- ? __CLASS__
- : __CLASS__ . '_' . ucfirst(basename($driver));
-
- if (class_exists($class)) {
- return new $class($params);
- }
-
- throw new Horde_Perms_Exception('Unknown driver: ' . $driver);
- }
-
- /**
* Constructor.
*
* @param array $params Configuration parameters: