+++ /dev/null
-<?php
-/**
- * @category Horde
- * @package Core
- */
-class Horde_Core_Binder_DbBase implements Horde_Injector_Binder
-{
- /**
- * Returns the Horde_Db_Adapter object for the default Horde DB/SQL
- * configuration.
- *
- * @return Horde_Db_Adapter
- * @throws Horde_Exception
- */
- public function create(Horde_Injector $injector)
- {
- $db = new Horde_Core_Factory_Db($injector);
- return $db->getDb('horde');
- }
-
- public function equals(Horde_Injector_Binder $binder)
- {
- return false;
- }
-
-}
/* Determine if we are using the base SQL config. */
if (isset($config['driverconfig']) &&
($config['driverconfig'] == 'horde')) {
- $this->_instances[$sig] = $this->getDb();
+ $this->_instances[$sig] = $this->create();
return $this->_instances[$sig];
}
--- /dev/null
+<?php
+/**
+ * @category Horde
+ * @package Core
+ */
+class Horde_Core_Factory_DbBase
+{
+ /**
+ * Returns the Horde_Db_Adapter object for the default Horde DB/SQL
+ * configuration.
+ *
+ * @return Horde_Db_Adapter
+ * @throws Horde_Exception
+ */
+ public function create(Horde_Injector $injector)
+ {
+ return $injector->getInstance('Horde_Core_Factory_Db')->create('horde');
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * @category Horde
+ * @package Core
+ */
+class Horde_Core_Factory_Group implements Horde_Injector_Binder
+{
+ public function create(Horde_Injector $injector)
+ {
+ $group = null;
+ if (!empty($GLOBALS['conf']['group']['cache'])) {
+ $session = new Horde_SessionObjects();
+ $group = $session->query('horde_group');
+ }
+
+ if (!$group) {
+ $driver = $GLOBALS['conf']['group']['driver'];
+ $params = Horde::getDriverConfig('group', $driver);
+ if ($driver == 'ldap') {
+ $params['ldap'] = $injector->getInstance('Horde_Core_Factory_Ldap')->getLdap('horde', 'group');
+ }
+ $group = Horde_Group::factory($driver, $params);
+ }
+
+ if (!empty($GLOBALS['conf']['group']['cache'])) {
+ register_shutdown_function(array($group, 'shutdown'));
+ }
+
+ return $group;
+ }
+
+}
$binders = array(
'Horde_Auth_Factory' => new Horde_Core_Binder_AuthFactory(),
'Horde_Core_Auth_Signup' => new Horde_Core_Binder_AuthSignup(),
- 'Horde_Db_Adapter' => new Horde_Core_Binder_DbBase(),
'Horde_Db_Pear' => new Horde_Core_Binder_DbPear(),
'Horde_History' => new Horde_Core_Binder_History(),
'Horde_Http_Client' => new Horde_Core_Binder_HttpClient(),
'Horde_Core_Controller_RequestMapper',
'getRequestConfiguration',
),
+ 'Horde_Db_Adapter' => array(
+ 'Horde_Core_Factory_DbBase',
+ 'create',
+ ),
'Horde_Editor' => array(
'Horde_Core_Factory_Editor',
'create',
<file name="Auth.php" role="php" />
<file name="AuthFactory.php" role="php" />
<file name="AuthSignup.php" role="php" />
- <file name="DbBase.php" role="php" />
<file name="DbPear.php" role="php" />
<file name="Group.php" role="php" />
<file name="History.php" role="php" />
<file name="Crypt.php" role="php" />
<file name="Data.php" role="php" />
<file name="Db.php" role="php" />
+ <file name="DbBase.php" role="php" />
<file name="DbPear.php" role="php" />
<file name="Dns.php" role="php" />
<file name="Editor.php" role="php" />
<install as="Horde/Core/Binder/Auth.php" name="lib/Horde/Core/Binder/Auth.php" />
<install as="Horde/Core/Binder/AuthFactory.php" name="lib/Horde/Core/Binder/AuthFactory.php" />
<install as="Horde/Core/Binder/AuthSignup.php" name="lib/Horde/Core/Binder/AuthSignup.php" />
- <install as="Horde/Core/Binder/DbBase.php" name="lib/Horde/Core/Binder/DbBase.php" />
<install as="Horde/Core/Binder/DbPear.php" name="lib/Horde/Core/Binder/DbPear.php" />
<install as="Horde/Core/Binder/Group.php" name="lib/Horde/Core/Binder/Group.php" />
<install as="Horde/Core/Binder/History.php" name="lib/Horde/Core/Binder/History.php" />
<install as="Horde/Core/Factory/Crypt.php" name="lib/Horde/Core/Factory/Crypt.php" />
<install as="Horde/Core/Factory/Data.php" name="lib/Horde/Core/Factory/Data.php" />
<install as="Horde/Core/Factory/Db.php" name="lib/Horde/Core/Factory/Db.php" />
+ <install as="Horde/Core/Factory/DbBase.php" name="lib/Horde/Core/Factory/DbBase.php" />
<install as="Horde/Core/Factory/DbPear.php" name="lib/Horde/Core/Factory/DbPear.php" />
<install as="Horde/Core/Factory/Dns.php" name="lib/Horde/Core/Factory/Dns.php" />
<install as="Horde/Core/Factory/Editor.php" name="lib/Horde/Core/Factory/Editor.php" />