/** * 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()); } } }
/** * 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()); } } }
/** * 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); } }
/** * 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; }