/** * Initialize an application * * @param string $code * @param string $type * @param string|array $options */ public static function initApp($code = '', $type = 'store', $options = array()) { include BP . '/lib/Varien/Object.php'; include BP . '/app/code/core/Mage/Core/Model/App.php'; include BP . '/app/code/core/Mage/Core/Model/App_Area.php'; include BP . '/app/code/core/Mage/Core/Model/Config.php'; include BP . '/app/code/core/Mage/Core/Model/Store.php'; include BP . '/lib/Varien/Event/Collection.php'; if (VPROF) { Varien_Profiler::start('mage::app::construct'); } self::$_app = new Mage_Core_Model_App(); if (VPROF) { Varien_Profiler::stop('mage::app::construct'); } AO::setRoot(); AO::register('events', new Varien_Event_Collection()); if (VPROF) { Varien_Profiler::start('mage::app::register_config'); } AO::$_coreConfig = new Mage_Core_Model_Config(); if (VPROF) { Varien_Profiler::stop('mage::app::register_config'); } if (VPROF) { Varien_Profiler::start('mage::app::init'); } self::$_app->init($code, $type, $options); if (VPROF) { Varien_Profiler::stop('mage::app::init'); } self::$_app->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS); }