Index: src/GXMainComponents/Controllers/HttpView/Admin/ModuleCenterController.inc.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/GXMainComponents/Controllers/HttpView/Admin/ModuleCenterController.inc.php (revision 07811e7d2b26b53bf56f82721708098682f8b6d5) +++ src/GXMainComponents/Controllers/HttpView/Admin/ModuleCenterController.inc.php (revision ) @@ -170,34 +170,28 @@ $modulesIndex = array(); $collection = MainFactory::create('ModuleCenterModuleCollection'); - $mainModuleFiles = glob(DIR_FS_CATALOG . 'GXMainComponents/Modules/*ModuleCenterModule.inc.php'); - $userModuleFiles = glob(DIR_FS_CATALOG . 'GXUserComponents/modules/**/*ModuleCenterModule.inc.php'); - if(is_array($userModuleFiles) == false) $userModuleFiles = array(); - $moduleFiles = array_merge($mainModuleFiles, $userModuleFiles); - $gxCoreLoader = MainFactory::create('GXCoreLoader', MainFactory::create('GXCoreLoaderSettings')); $db = $gxCoreLoader->getDatabaseQueryBuilder(); $languageTextManager = MainFactory::create('LanguageTextManager', 'module_center_module'); $cacheControl = MainFactory::create_object('CacheControl'); - + - if(is_array($moduleFiles)) + $coo_class_registry = MainFactory::get_class_registry(); + $allClassesArray = $coo_class_registry->get_all_data(); + + foreach($allClassesArray as $class => $file) { - foreach($moduleFiles as $file) + if(strpos($file,'ModuleCenterModule.inc.php') !== false && strpos($file,'AbstractModuleCenterModule') === false) { $moduleName = strtok(basename($file), '.'); - if($moduleName === 'AbstractModuleCenterModule') - { - continue; - } - $module = MainFactory::create($moduleName, $languageTextManager, $db, $cacheControl); $modules[$moduleName] = $module; $modulesIndex[$moduleName] = $module->getSortOrder(); + } + } - asort($modulesIndex, SORT_NUMERIC); + asort($modulesIndex, SORT_NUMERIC); - } foreach($modulesIndex as $moduleName => $module) { \ No newline at end of file