コード例 #1
0
ファイル: Main.php プロジェクト: kingsj/core
 /**
  * Execute certain hook handler
  *
  * @return void
  */
 public function executeHookHandler()
 {
     foreach (\Includes\Utils\ModulesManager::getActiveModules() as $name => $data) {
         $class = \Includes\Utils\ModulesManager::getClassNameByModuleName($name);
         $class::runBuildCacheHandler();
     }
 }
コード例 #2
0
ファイル: Version.php プロジェクト: kingsj/core
 /**
  * Return info about installed modules
  *
  * @return string
  */
 protected function getModulesMessage()
 {
     $result = array();
     foreach (\Includes\Utils\ModulesManager::getActiveModules() as $data) {
         $result[] = '(' . $data['authorName'] . '): ' . $data['moduleName'] . ' (v.' . $data['majorVersion'] . '.' . $data['minorVersion'] . ')';
     }
     return 'Installed modules:' . LC_EOL . ($result ? implode(LC_EOL, $result) : static::t('None'));
 }
コード例 #3
0
ファイル: Main.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Execute certain hook handler
  *
  * @return void
  */
 public function executeHookHandler()
 {
     $modulesNames = array_keys(\Includes\Utils\ModulesManager::getActiveModules());
     $classes = array_map(function ($name) {
         return \Includes\Utils\ModulesManager::getClassNameByModuleName($name);
     }, $modulesNames);
     foreach ($classes as $class) {
         $this->runBuildCacheHandler($class);
     }
 }
コード例 #4
0
ファイル: Main.php プロジェクト: kingsj/core
 /**
  * Execute certain hook handler
  *
  * @return void
  */
 public function executeHookHandler()
 {
     // To cache data
     \Includes\Utils\ModulesManager::getActiveModules();
     // Walk through the "XLite/Module" directory
     foreach ($this->getModuleMainFileIterator()->getIterator() as $path => $data) {
         $dir = $path;
         $name = basename($dir = dirname($dir));
         $author = basename($dir = dirname($dir));
         $class = \Includes\Utils\ModulesManager::getClassNameByAuthorAndName($author, $name);
         if (!\Includes\Utils\Operator::checkIfClassExists($class)) {
             require_once $path;
         }
         \Includes\Utils\ModulesManager::switchModule($author, $name);
     }
     \Includes\Utils\ModulesManager::removeFile();
 }
コード例 #5
0
ファイル: example.php プロジェクト: vadim-vj/common
 /**
  * Get all active modules and return plain array with the module descriptors
  *
  * @return array
  */
 protected static function getModulesGraphIndex()
 {
     $index = array();
     // Fetch all active modules from database.
     // Dependencies are checked and corrected by the ModulesManager
     foreach (\Includes\Utils\ModulesManager::getActiveModules() as $module => $tmp) {
         // Unconditionally add module to the index (since its dependencies are already checked)
         $index[$module] = new \Includes\Decorator\DataStructure\Graph\Modules($module);
     }
     return $index;
 }
コード例 #6
0
ファイル: AModule.php プロジェクト: kingsj/core
 /**
  * Check if the module can be enabled
  *
  * @param \XLite\Model\Module $module Module
  *
  * @return boolean
  */
 protected function canEnable(\XLite\Model\Module $module)
 {
     $result = $this->isModuleCompatible($module);
     if ($result) {
         $dependencies = $module->getDependencies();
         if ($dependencies) {
             $modules = array_keys(\Includes\Utils\ModulesManager::getActiveModules());
             $result = !(bool) array_diff($dependencies, $modules);
         }
     }
     return $result;
 }
コード例 #7
0
ファイル: Version.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Return info about installed modules
  *
  * @return string
  */
 protected function getModulesMessage()
 {
     $result = array();
     foreach (\Includes\Utils\ModulesManager::getActiveModules() as $data) {
         $result[] = array($data['authorName'], $data['moduleName'], $data['majorVersion'], $data['minorVersion']);
     }
     usort($result, function ($a, $b) {
         return strcasecmp($a[1], $b[1]);
     });
     $list = array_map(function ($a) {
         return vsprintf('(%s): %s (v.%s.%s)', $a);
     }, $result);
     return 'Installed modules:' . LC_EOL . ($list ? implode(LC_EOL, $list) : static::t('None'));
 }
コード例 #8
0
ファイル: Module.php プロジェクト: kewaunited/xcart
 /**
  * Return list of modules current module requires to be disabled
  *
  * @return array
  */
 public function getEnabledMutualModules()
 {
     $list = array();
     $modules = \Includes\Utils\ModulesManager::getActiveModules();
     foreach ($modules as $m => $data) {
         $mutualModules = \Includes\Utils\ModulesManager::callModuleMethod($m, 'getMutualModulesList');
         if (in_array($this->getActualName(), $mutualModules) && !isset($list[$m])) {
             $list[$m] = \XLite\Core\Database::getRepo('XLite\\Model\\Module')->findOneBy(array_combine(array('author', 'name'), explode('\\', $m)));
         }
     }
     return $list;
 }