Example #1
0
 /**
  * Front end main entry point
  *
  * @param string $code
  * @param string $type
  * @param string|array $options
  */
 public static function run($code = '', $type = 'store', $options = array())
 {
     try {
         Varien_Profiler::start('mage');
         self::setRoot();
         self::$_app = new Mage_Core_Model_App();
         self::$_events = new Varien_Event_Collection();
         self::$_config = new Mage_Core_Model_Config($options);
         self::$_app->run(array('scope_code' => $code, 'scope_type' => $type, 'options' => $options));
         Varien_Profiler::stop('mage');
     } catch (Mage_Core_Model_Session_Exception $e) {
         header('Location: ' . self::getBaseUrl());
         die;
     } catch (Mage_Core_Model_Store_Exception $e) {
         require_once self::getBaseDir() . DS . 'errors' . DS . '404.php';
         die;
     } catch (Exception $e) {
         if (self::isInstalled() || self::$_isDownloader) {
             self::printException($e);
             exit;
         }
         try {
             self::dispatchEvent('mage_run_exception', array('exception' => $e));
             if (!headers_sent()) {
                 header('Location:' . self::getUrl('install'));
             } else {
                 self::printException($e);
             }
         } catch (Exception $ne) {
             self::printException($ne, $e->getMessage());
         }
     }
 }
Example #2
0
 /**
  * Front end main entry point
  *
  * @param string $code
  * @param string $type
  * @param string|array $options
  */
 public static function run($code = '', $type = 'store', $options = array())
 {
     try {
         Varien_Profiler::start('mage');
         self::setRoot();
         self::$_app = new Mage_Core_Model_App();
         self::$_events = new Varien_Event_Collection();
         self::$_config = new Mage_Core_Model_Config();
         self::$_app->run(array('scope_code' => $code, 'scope_type' => $type, 'options' => $options));
         Varien_Profiler::stop('mage');
     } catch (Mage_Core_Model_Session_Exception $e) {
         header('Location: ' . self::getBaseUrl());
         die;
     } catch (Mage_Core_Model_Store_Exception $e) {
         $baseUrl = rtrim(self::getScriptSystemUrl('errors'), '/') . '/errors/404.php';
         if (!headers_sent()) {
             header('Location: ' . $baseUrl);
         } else {
             print '<script type="text/javascript">';
             print "window.location.href = '{$baseUrl}';";
             print '</script>';
         }
         die;
     } catch (Exception $e) {
         if (self::isInstalled() || self::$_isDownloader) {
             self::printException($e);
             exit;
         }
         try {
             self::dispatchEvent('mage_run_exception', array('exception' => $e));
             if (!headers_sent()) {
                 header('Location:' . self::getUrl('install'));
             } else {
                 self::printException($e);
             }
         } catch (Exception $ne) {
             self::printException($ne, $e->getMessage());
         }
     }
 }
Example #3
0
 /**
  * Set application Config model
  *
  * @param array $options
  */
 protected static function _setConfigModel($options = array())
 {
     if (isset($options['config_model']) && class_exists($options['config_model'])) {
         $alternativeConfigModelName = $options['config_model'];
         unset($options['config_model']);
         $alternativeConfigModel = new $alternativeConfigModelName($options);
     } else {
         $alternativeConfigModel = null;
     }
     if (!is_null($alternativeConfigModel) && $alternativeConfigModel instanceof Mage_Core_Model_Config) {
         self::$_config = $alternativeConfigModel;
     } else {
         self::$_config = new Mage_Core_Model_Config($options);
     }
 }
Example #4
0
 /**
  * Retrieve a config instance
  *
  * @return Mage_Core_Model_Config
  */
 public static function getConfig()
 {
     if (!self::$_config) {
         self::$_config = self::getObjectManager()->get('Mage_Core_Model_Config');
     }
     return self::$_config;
 }