/**
  * @param array $folders
  *
  * @return array
  */
 private function _addModuleFolders($folders)
 {
     foreach ($this->_config->getNode('modules')->children() as $name => $module) {
         if ($module->active) {
             $folders[] = $this->_config->getModuleDir('etc', $name);
         }
     }
     return $folders;
 }
Beispiel #2
0
 public function getModuleDir($type, $moduleName)
 {
     if (strtolower(substr($moduleName, 0, 5)) == 'test_') {
         $dir = BP . DS . 'tests' . DS . 'integration' . DS . 'modules' . DS . uc_words($moduleName, DS);
         switch ($type) {
             case 'etc':
                 $dir .= DS . 'etc';
                 break;
             case 'controllers':
                 $dir .= DS . 'controllers';
                 break;
             case 'sql':
                 $dir .= DS . 'sql';
                 break;
             case 'data':
                 $dir .= DS . 'data';
                 break;
             case 'locale':
                 $dir .= DS . 'locale';
                 break;
         }
         $dir = str_replace('/', DS, $dir);
         return $dir;
     } else {
         return parent::getModuleDir($type, $moduleName);
     }
 }
Beispiel #3
0
 /**
  * Get theme file name, using fallback mechanism
  *
  * @param string $file
  * @param string|null $module
  * @return string
  */
 public function getViewFile($file, $module = null)
 {
     $dir = $this->_appConfig->getOptions()->getDesignDir();
     $moduleDir = $module ? $this->_appConfig->getModuleDir('view', $module) : '';
     $dirs = array();
     $themeModel = $this->_theme;
     while ($themeModel) {
         list($package, $theme) = $this->_getInheritedTheme($themeModel);
         $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}/locale/{$this->_locale}";
         $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}";
         $themeModel = $themeModel->getParentTheme();
     }
     $extraDirs = array($this->_appConfig->getOptions()->getJsDir(), Mage::getDesign()->getCustomizationDir());
     return $this->_fallback($file, $dirs, $module, array("{$moduleDir}/{$this->_area}/locale/{$this->_locale}", "{$moduleDir}/{$this->_area}"), $extraDirs);
 }
Beispiel #4
0
 /**
  * Get current directory scanner. Initialize if it was not initialized previously.
  *
  * @return Zend\Code\Scanner\DirectoryScanner
  */
 public function getDirectoryScanner()
 {
     if (!$this->_directoryScanner) {
         $this->_directoryScanner = new Zend\Code\Scanner\DirectoryScanner();
         /** @var Mage_Core_Model_Config_Element $module */
         foreach ($this->_applicationConfig->getNode('modules')->children() as $moduleName => $module) {
             if ($module->is('active')) {
                 /** Invalid type is specified to retrieve path to module directory. */
                 $moduleDir = $this->_applicationConfig->getModuleDir('invalid_type', $moduleName);
                 $directory = $moduleDir . DS . 'Controller' . DS . 'Webapi';
                 if (is_dir($directory)) {
                     $this->_directoryScanner->addDirectory($directory);
                 }
             }
         }
     }
     return $this->_directoryScanner;
 }
Beispiel #5
0
 /**
  * Get skin file name, using fallback mechanism
  *
  * @param string $file
  * @param string|null $module
  * @return string
  */
 public function getSkinFile($file, $module = null)
 {
     $dir = $this->_appConfig->getOptions()->getDesignDir();
     $moduleDir = $module ? $this->_appConfig->getModuleDir('view', $module) : '';
     $defaultSkin = Mage_Core_Model_Design_Package::DEFAULT_SKIN_NAME;
     $dirs = array();
     $theme = $this->_theme;
     $package = $this->_package;
     while ($theme) {
         $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}/skin/{$this->_skin}/locale/{$this->_locale}";
         $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}/skin/{$this->_skin}";
         if ($this->_skin != $defaultSkin) {
             $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}/skin/{$defaultSkin}/locale/{$this->_locale}";
             $dirs[] = "{$dir}/{$this->_area}/{$package}/{$theme}/skin/{$defaultSkin}";
         }
         list($package, $theme) = $this->_getInheritedTheme($package, $theme);
     }
     return $this->_fallback($file, $dirs, $module, array("{$moduleDir}/{$this->_area}/locale/{$this->_locale}", "{$moduleDir}/{$this->_area}"), array($this->_appConfig->getOptions()->getJsDir()));
 }
Beispiel #6
0
 /**
  * Path to menu.xsd
  *
  * @return string
  */
 public function getSchemaFile()
 {
     return $this->_config->getModuleDir('etc', 'Mage_Backend') . DIRECTORY_SEPARATOR . 'menu.xsd';
 }
Beispiel #7
0
 /**
  * Get absolute path to the XML-schema file.
  *
  * @return string
  */
 public function getSchemaFile()
 {
     return $this->_config->getModuleDir('etc', 'Mage_Webapi') . DIRECTORY_SEPARATOR . 'acl.xsd';
 }
Beispiel #8
0
 /**
  * Get absolute path to the XML-schema file
  *
  * @return string
  */
 public function getPerFileSchemaFile()
 {
     return $this->_config->getModuleDir('etc', 'Mage_Backend') . DIRECTORY_SEPARATOR . 'system_file.xsd';
 }