From 0828fed3ace715065d644ccf8ff685da2980f184 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Fri, 4 Jun 2010 15:52:51 -0400 Subject: [PATCH] Bootstrap the new autoloader and set it on the injector --- framework/Core/lib/Horde/Core/Autoloader.php | 22 ++++++++++++++++++++++ framework/Core/lib/Horde/Registry.php | 4 +++- framework/Core/package.xml | 2 ++ horde/lib/core.php | 4 ++-- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 framework/Core/lib/Horde/Core/Autoloader.php diff --git a/framework/Core/lib/Horde/Core/Autoloader.php b/framework/Core/lib/Horde/Core/Autoloader.php new file mode 100644 index 000000000..39ffe0a92 --- /dev/null +++ b/framework/Core/lib/Horde/Core/Autoloader.php @@ -0,0 +1,22 @@ +addClassPathMapper(new Horde_Autoloader_ClassPathMapper_Default($path)); + } + } + } +} + +$__autoloader = new Horde_Core_Autoloader(); +$__autoloader->registerAutoloader(); diff --git a/framework/Core/lib/Horde/Registry.php b/framework/Core/lib/Horde/Registry.php index 33f0ee091..63d64aef2 100644 --- a/framework/Core/lib/Horde/Registry.php +++ b/framework/Core/lib/Horde/Registry.php @@ -294,6 +294,8 @@ class Horde_Registry $GLOBALS['registry'] = $this; $injector->setInstance('Horde_Registry', $this); + $injector->setInstance('Horde_Autoloader', $GLOBALS['__autoloader']); + /* Initialize browser object. */ $GLOBALS['browser'] = $injector->getInstance('Horde_Browser'); @@ -1075,7 +1077,7 @@ class Horde_Registry * be done here because it is possible to try to load app-specific * libraries from other applications. */ $app_lib = $this->get('fileroot', $app) . '/lib'; - Horde_Autoloader::addClassPattern('/^' . $app . '(?:$|_)/i', $app_lib); + $GLOBALS['injector']->getInstance('Horde_Autoloader')->addClassPathMapper(new Horde_Autoloader_ClassPathMapper_Prefix('/^' . $app . '(?:$|_)/i', $app_lib)); $checkPerms = !isset($options['check_perms']) || !empty($options['check_perms']); diff --git a/framework/Core/package.xml b/framework/Core/package.xml index de76dfa69..714b2996a 100644 --- a/framework/Core/package.xml +++ b/framework/Core/package.xml @@ -73,6 +73,7 @@ Application Framework. + @@ -272,6 +273,7 @@ Application Framework. + diff --git a/horde/lib/core.php b/horde/lib/core.php index bec984ae0..9d110aff6 100644 --- a/horde/lib/core.php +++ b/horde/lib/core.php @@ -37,8 +37,8 @@ if (file_exists(HORDE_BASE . '/config/horde.local.php')) { /* Set up autoload paths for core Horde libs (located in lib/). This can't * be defined in Horde_Autoloader since the current directory path can not be * determined there. */ -require_once 'Horde/Autoloader.php'; -Horde_Autoloader::addClassPattern('/^Horde(?:$|_)/i', $dirname); +require_once 'Horde/Core/Autoloader.php'; +$__autoloader->addClassPathMapper(new Horde_Autoloader_ClassPathMapper_Prefix('/^Horde(?:$|_)/i', $dirname)); /* Default exception handler for uncaught exceptions. The default fatal * exception handler output may include things like passwords, etc. so don't -- 2.11.0