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