/** * Load config from merged adminhtml.xml files * @param array $arguments */ public function __construct(array $arguments = array()) { $this->_app = isset($arguments['app']) ? $arguments['app'] : Mage::app(); $this->_appConfig = isset($arguments['appConfig']) ? $arguments['appConfig'] : Mage::getConfig(); if (isset($arguments['helpers'])) { $this->_helpers = $arguments['helpers']; } parent::__construct(); $this->setCacheId('adminhtml_acl_menu_config'); /* @var $adminhtmlConfig Varien_Simplexml_Config */ $adminhtmlConfig = $this->_app->loadCache($this->getCacheId()); if ($adminhtmlConfig) { $this->_adminhtmlConfig = new Varien_Simplexml_Config($adminhtmlConfig); } else { $adminhtmlConfig = new Varien_Simplexml_Config(); $adminhtmlConfig->loadString('<?xml version="1.0"?><config></config>'); $this->_appConfig->loadModulesConfiguration('adminhtml.xml', $adminhtmlConfig); $this->_adminhtmlConfig = $adminhtmlConfig; if ($this->_app->useCache('config')) { $this->_app->saveCache($adminhtmlConfig->getXmlString(), $this->getCacheId(), array(Mage_Core_Model_Config::CACHE_TAG)); } } }