diff --git a/app/code/community/JeroenVermeulen/Solarium/Helper/Autoloader.php b/app/code/community/JeroenVermeulen/Solarium/Helper/Autoloader.php new file mode 100644 index 0000000..5cae377 --- /dev/null +++ b/app/code/community/JeroenVermeulen/Solarium/Helper/Autoloader.php @@ -0,0 +1,53 @@ +register(); $helper = Mage::helper( 'jeroenvermeulen_solarium' ); if ( self::isEnabled() ) { $host = trim( self::getConf( 'server/host' ) ); diff --git a/app/code/community/JeroenVermeulen/Solarium/Model/Observer/Autoloader.php b/app/code/community/JeroenVermeulen/Solarium/Model/Observer.php similarity index 58% rename from app/code/community/JeroenVermeulen/Solarium/Model/Observer/Autoloader.php rename to app/code/community/JeroenVermeulen/Solarium/Model/Observer.php index 0ff07d1..bc72bb3 100644 --- a/app/code/community/JeroenVermeulen/Solarium/Model/Observer/Autoloader.php +++ b/app/code/community/JeroenVermeulen/Solarium/Model/Observer.php @@ -20,9 +20,8 @@ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ -class JeroenVermeulen_Solarium_Model_Observer_Autoloader extends Varien_Event_Observer +class JeroenVermeulen_Solarium_Model_Observer extends Varien_Event_Observer { - /** * This an observer function for the event 'controller_front_init_before'. * It prepends our autoloader, so we can load the extra libraries. @@ -30,7 +29,7 @@ class JeroenVermeulen_Solarium_Model_Observer_Autoloader extends Varien_Event_Ob * @param Varien_Event_Observer $observer */ public function controllerFrontInitBefore( /** @noinspection PhpUnusedParameterInspection */ $observer ) { - $this->_registerAutoLoader(); + Mage::helper( 'jeroenvermeulen_solarium/autoloader' )->register(); } /** @@ -41,34 +40,7 @@ public function controllerFrontInitBefore( /** @noinspection PhpUnusedParameterI * @param Varien_Event_Observer $observer */ public function shellReindexInitProcess( /** @noinspection PhpUnusedParameterInspection */ $observer ) { - $this->_registerAutoLoader(); - } - - /** - * This function can autoload classes starting with: - * - Solarium - * - Symfony\Component\EventDispatcher - * - * @param string $class - */ - public static function load( $class ) { - if ( preg_match( '#^(Solarium|Symfony\\\\Component\\\\EventDispatcher)\b#', $class ) ) { - $phpFile = Mage::getBaseDir( 'lib' ) . DIRECTORY_SEPARATOR - . str_replace( '\\', DIRECTORY_SEPARATOR, $class ) . '.php'; - /** @noinspection PhpIncludeInspection */ - require_once( $phpFile ); - } - } - - /** - * Prepends our autoloader, so we can load the extra libraries. - */ - private function _registerAutoLoader() { - static $registered; - if ( empty( $registered ) ) { - $registered = true; - spl_autoload_register( array( $this, 'load' ), true, true ); - } + Mage::helper( 'jeroenvermeulen_solarium/autoloader' )->register(); } } \ No newline at end of file diff --git a/app/code/community/JeroenVermeulen/Solarium/etc/config.xml b/app/code/community/JeroenVermeulen/Solarium/etc/config.xml index d751e26..b3f50b4 100644 --- a/app/code/community/JeroenVermeulen/Solarium/etc/config.xml +++ b/app/code/community/JeroenVermeulen/Solarium/etc/config.xml @@ -70,15 +70,16 @@ - jeroenvermeulen_solarium/observer_autoloader + jeroenvermeulen_solarium/observer controllerFrontInitBefore + - jeroenvermeulen_solarium/observer_autoloader + jeroenvermeulen_solarium/observer shellReindexInitProcess