/** * Retrieve subject * * @return Mage_Backend_Model_Config_Structure_SearchInterface */ protected function _getSubject() { if (!$this->_subject) { $this->_subject = $this->_objectManager->get('Mage_Backend_Model_Config_Structure'); } return $this->_subject; }
/** * @param Mage_Core_Model_Event_Manager $eventDispatcher * @param Mage_Core_Model_Cache $cacheManager * @param Mage_Core_Model_Resource_Abstract $resource * @param Varien_Data_Collection_Db $resourceCollection * @param Varien_Io_File $ioFile * @param Magento_ObjectManager $objectManager * @param array $data */ public function __construct(Mage_Core_Model_Event_Manager $eventDispatcher, Mage_Core_Model_Cache $cacheManager, Varien_Io_File $ioFile, Magento_ObjectManager $objectManager, Mage_Core_Model_Resource_Abstract $resource = null, Varien_Data_Collection_Db $resourceCollection = null, array $data = array()) { parent::__construct($eventDispatcher, $cacheManager, $resource, $resourceCollection, $data); $this->_ioFile = $ioFile; $this->_objectManager = $objectManager; $this->_design = $this->_objectManager->get('Mage_Core_Model_Design_Package'); }
/** * Get renderer for Mime-Type specified in Accept header of request. * * @return Mage_Webapi_Controller_Response_Rest_RendererInterface * @throws Mage_Webapi_Exception * @throws LogicException */ public function get() { $acceptTypes = $this->_request->getAcceptTypes(); $availableRenderers = (array) $this->_applicationConfig->getNode(self::XML_PATH_WEBAPI_RESPONSE_RENDERS); if (!is_array($acceptTypes)) { $acceptTypes = array($acceptTypes); } foreach ($acceptTypes as $acceptType) { foreach ($availableRenderers as $rendererConfig) { $rendererType = (string) $rendererConfig->type; if ($acceptType == $rendererType || $acceptType == current(explode('/', $rendererType)) . '/*' || $acceptType == '*/*') { $rendererClass = (string) $rendererConfig->model; break 2; } } } if (!isset($rendererClass)) { /** If server does not have renderer for any of the accepted types it SHOULD send 406 (not acceptable). */ throw new Mage_Webapi_Exception($this->_helper->__('Server cannot understand Accept HTTP header media type.'), Mage_Webapi_Exception::HTTP_NOT_ACCEPTABLE); } $renderer = $this->_objectManager->get($rendererClass); if (!$renderer instanceof Mage_Webapi_Controller_Response_Rest_RendererInterface) { throw new LogicException('The renderer must implement "Mage_Webapi_Controller_Response_Rest_RendererInterface".'); } return $renderer; }
/** * Create front controller instance. * * Use current API type to define proper request class. * * @param string $apiType * @return Mage_Webapi_Controller_DispatcherInterface * @throws LogicException If there is no corresponding dispatcher class for current API type. */ public function get($apiType) { if (!isset($this->_apiDispatcherMap[$apiType])) { throw new LogicException(sprintf('There is no corresponding dispatcher class for the "%s" API type.', $apiType)); } $dispatcherClass = $this->_apiDispatcherMap[$apiType]; return $this->_objectManager->get($dispatcherClass); }
/** * Create response object. * * Use current API type to define proper response class. * * @return Mage_Webapi_Controller_Response * @throws LogicException If there is no corresponding response class for current API type. */ public function get() { $apiType = $this->_apiFrontController->determineApiType(); if (!isset($this->_apiResponseMap[$apiType])) { throw new LogicException(sprintf('There is no corresponding response class for the "%s" API type.', $apiType)); } $requestClass = $this->_apiResponseMap[$apiType]; return $this->_objectManager->get($requestClass); }
/** * Get mapper instance * * @param string $type * @param array $arguments * @return Mage_Backend_Model_Config_Structure_MapperInterface * @throws Exception */ public function create($type, $arguments = array()) { $className = $this->_getMapperClassNameByType($type); /** @var Mage_Backend_Model_Config_Structure_MapperInterface $mapperInstance */ $mapperInstance = $this->_objectManager->get($className, $arguments); if (false == $mapperInstance instanceof Mage_Backend_Model_Config_Structure_MapperInterface) { throw new Exception('Mapper object is not instance on Mage_Backend_Model_Config_Structure_MapperInterface'); } return $mapperInstance; }
protected function setUp() { $this->_objectManager = Mage::getObjectManager(); $this->_design = $this->_objectManager->get('Mage_Core_Model_Design_Package'); $this->_themeId = $this->_design->getDesignTheme()->getThemeId(); /** @var $theme Mage_Core_Model_Theme */ $theme = $this->_objectManager->create('Mage_Core_Model_Theme'); $theme->load('Test Theme', 'theme_title'); $this->_design->getDesignTheme()->setThemeId($theme->getId()); }
/** * @param string $className * @param array $routerInfo * @return Mage_Core_Controller_Varien_Router_Abstract */ public function createRouter($className, array $routerInfo = array()) { $arguments = array('areaCode' => null, 'baseController' => null); if (isset($routerInfo['area'])) { $arguments['areaCode'] = $routerInfo['area']; } if (isset($routerInfo['base_controller'])) { $arguments['baseController'] = $routerInfo['base_controller']; } return $this->_objectManager->get($className, $arguments); }
/** * Create a form element with necessary controls * * @return Mage_Theme_Block_Adminhtml_System_Design_Theme_Edit_Tab_Css */ protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $this->_addThemeCssFieldset(); $this->_addCustomCssFieldset(); $formData['custom_css_content'] = $this->_getCurrentTheme()->getCustomCssFile()->getContent(); /** @var $session Mage_Backend_Model_Session */ $session = $this->_objectManager->get('Mage_Backend_Model_Session'); $cssFileContent = $session->getThemeCustomCssData(); if ($cssFileContent) { $formData['custom_css_content'] = $cssFileContent; $session->unsThemeCustomCssData(); } $form->addValues($formData); return $this; }
/** * Retrieve proper interpreter for the specified content type. * * @param string $contentType * @return Mage_Webapi_Controller_Request_Rest_InterpreterInterface * @throws LogicException|Mage_Webapi_Exception */ public function get($contentType) { $interpretersMetadata = (array) $this->_applicationConfig->getNode(self::XML_PATH_WEBAPI_REQUEST_INTERPRETERS); if (empty($interpretersMetadata) || !is_array($interpretersMetadata)) { throw new LogicException('Request interpreter adapter is not set.'); } foreach ($interpretersMetadata as $interpreterMetadata) { $interpreterType = (string) $interpreterMetadata->type; if ($interpreterType == $contentType) { $interpreterClass = (string) $interpreterMetadata->model; break; } } if (!isset($interpreterClass) || empty($interpreterClass)) { throw new Mage_Webapi_Exception($this->_helper->__('Server cannot understand Content-Type HTTP header media type "%s"', $contentType), Mage_Webapi_Exception::HTTP_BAD_REQUEST); } $interpreter = $this->_objectManager->get($interpreterClass); if (!$interpreter instanceof Mage_Webapi_Controller_Request_Rest_InterpreterInterface) { throw new LogicException('The interpreter must implement "Mage_Webapi_Controller_Request_Rest_InterpreterInterface".'); } return $interpreter; }
/** * @param array $arguments * @param string $className * @return Mage_Core_Model_Layout */ public function createLayout(array $arguments = array(), $className = self::CLASS_NAME) { // because layout singleton was used everywhere in magento code, in observers, models, blocks, etc. // the only way how we can replace default layout object with custom one is to save instance of custom layout // to instance manager storage using default layout class name as alias $createLayout = true; if (isset($arguments['area'])) { if ($this->_objectManager->hasSharedInstance(self::CLASS_NAME)) { /** @var $layout Mage_Core_Model_Layout */ $layout = $this->_objectManager->get(self::CLASS_NAME); if ($arguments['area'] != $layout->getArea()) { $this->_objectManager->removeSharedInstance(self::CLASS_NAME); } else { $createLayout = false; } } } if ($createLayout) { $layout = $this->_objectManager->create($className, $arguments, false); $this->_objectManager->addSharedInstance($layout, self::CLASS_NAME); } return $this->_objectManager->get(self::CLASS_NAME); }
/** * @param $actualHandle * @param $expectedHandle * * @dataProvider typeActionDataProvider * @magentoConfigFixture vde/design_editor/frontName vde_front_name * @magentoConfigFixture vde/design_editor/defaultHandle default */ public function testTypeAction($actualHandle, $expectedHandle) { $this->getRequest()->setParam('handle', $actualHandle); $this->dispatch(self::VDE_FRONT_NAME . '/' . self::PAGE_TYPE_URL); // assert layout data /** @var $layout Mage_Core_Model_Layout */ $layout = $this->_objectManager->get('Mage_Core_Model_Layout'); $handles = $layout->getUpdate()->getHandles(); $this->assertContains($expectedHandle, $handles); $this->assertContains('designeditor_page_type', $handles); $this->assertAttributeSame(true, '_sanitationEnabled', $layout); $this->assertAttributeSame(true, '_wrappingEnabled', $layout); // assert response body $responseBody = $this->getResponse()->getBody(); $this->assertContains('class="vde_element_wrapper', $responseBody); // enabled wrapper $this->assertContains('/css/design.css', $responseBody); // included wrapper CSS }
/** * Initialize menu object * * @return void */ protected function _initMenu() { if (!$this->_menu) { $this->_menu = $this->_menuFactory->getMenuInstance(); if ($this->_cache->canUse('config')) { $cache = $this->_cache->load(self::CACHE_MENU_OBJECT); if ($cache) { $this->_menu->unserialize($cache); return; } } /* @var $director Mage_Backend_Model_Menu_Builder */ $menuBuilder = $this->_factory->create('Mage_Backend_Model_Menu_Builder', array('menu' => $this->_menu, 'menuItemFactory' => $this->_factory->get('Mage_Backend_Model_Menu_Item_Factory'))); /* @var $director Mage_Backend_Model_Menu_Director_Dom */ $director = $this->_factory->create('Mage_Backend_Model_Menu_Director_Dom', array('menuConfig' => $this->_getDom(), 'factory' => $this->_factory, 'menuLogger' => $this->_logger)); $director->buildMenu($menuBuilder); $this->_menu = $menuBuilder->getResult(); $this->_eventManager->dispatch('backend_menu_load_after', array('menu' => $this->_menu)); if ($this->_cache->canUse('config')) { $this->_cache->save($this->_menu->serialize(), self::CACHE_MENU_OBJECT, array(Mage_Core_Model_Config::CACHE_TAG)); } } }
/** * Create backend model by name * * @param string $modelName * @return mixed */ public function create($modelName) { $model = $this->_objectManager->get($modelName); return $model; }
/** * Get themes root directory absolute path * * @return string */ protected function _getPreviewImagePublishedRootDir() { /** @var $design Mage_Core_Model_Design_Package */ $design = $this->_objectManager->get('Mage_Core_Model_Design_Package'); $dirPath = $design->getPublicDir(); $this->_filesystem->setIsAllowCreateDirectories(true); $this->_filesystem->ensureDirectoryExists($dirPath); $this->_filesystem->setWorkingDirectory($dirPath); return $dirPath; }
/** * Get validator config object. * * Will instantiate Magento_Validator_Config * * @return Magento_Validator_Config */ public function getValidatorConfig() { return $this->_objectManager->get('Magento_Validator_Config', array('configFiles' => $this->_configFiles)); }
/** * Create new config object * * @param array $data * @return Mage_Backend_Block_System_Config_Form_Fieldset */ public function create(array $data = array()) { return $this->_objectManager->get('Mage_Backend_Block_System_Config_Form_Fieldset', $data); }
/** * Retrieve response object * * @return Zend_Controller_Response_Http */ public function getResponse() { if (empty($this->_response)) { $this->_response = $this->_objectManager->get('Mage_Core_Controller_Response_Http'); $this->_response->headersSentThrowsException = Mage::$headersSentThrowsException; $this->_response->setHeader("Content-Type", "text/html; charset=UTF-8"); } return $this->_response; }
/** * @param array $arguments * @return mixed */ public function createFromArray(array $arguments = array()) { return $this->_objectManager->get(self::CLASS_NAME, $arguments); }
/** * Write exception to log * * @param Exception $e */ public static function logException(Exception $e) { self::$_objectManager->get('Mage_Core_Model_Logger')->logException($e); }