From fa4fbb47bf73abd59ae6d690fb25594576acfe16 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Sun, 23 Jan 2011 22:33:15 -0500 Subject: [PATCH] Bug #9282: When creating Horde_Db objects, register them with a child injector before creating any dependencies that could in turn want a Horde_Db dependency. --- framework/Core/lib/Horde/Core/Factory/Db.php | 6 +++++- framework/Core/lib/Horde/Core/Factory/DbBase.php | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/framework/Core/lib/Horde/Core/Factory/Db.php b/framework/Core/lib/Horde/Core/Factory/Db.php index 251c7d447..72ab8fd13 100644 --- a/framework/Core/lib/Horde/Core/Factory/Db.php +++ b/framework/Core/lib/Horde/Core/Factory/Db.php @@ -165,7 +165,11 @@ class Horde_Core_Factory_Db $ob = new $class($config); if (!isset($config['cache'])) { - $ob->setCache($this->_injector->getInstance('Horde_Cache')); + $injector = $this->_injector->createChildInjector(); + $injector->setInstance('Horde_Db_Adapter', $ob); + $cacheFactory = $this->_injector->getInstance('Horde_Core_Factory_Cache'); + $cache = $cacheFactory->create($injector); + $ob->setCache($cache); } if (!isset($config['logger'])) { diff --git a/framework/Core/lib/Horde/Core/Factory/DbBase.php b/framework/Core/lib/Horde/Core/Factory/DbBase.php index 4b74a67d1..281c6c0a6 100644 --- a/framework/Core/lib/Horde/Core/Factory/DbBase.php +++ b/framework/Core/lib/Horde/Core/Factory/DbBase.php @@ -16,5 +16,4 @@ class Horde_Core_Factory_DbBase { return $injector->getInstance('Horde_Core_Factory_Db')->create('horde'); } - } -- 2.11.0