170 |
170 |
$modulesIndex = array();
|
171 |
171 |
$collection = MainFactory::create('ModuleCenterModuleCollection');
|
172 |
172 |
|
173 |
|
$mainModuleFiles = glob(DIR_FS_CATALOG . 'GXMainComponents/Modules/*ModuleCenterModule.inc.php');
|
174 |
|
$userModuleFiles = glob(DIR_FS_CATALOG . 'GXUserComponents/modules/**/*ModuleCenterModule.inc.php');
|
175 |
|
if(is_array($userModuleFiles) == false) $userModuleFiles = array();
|
176 |
|
$moduleFiles = array_merge($mainModuleFiles, $userModuleFiles);
|
177 |
|
|
178 |
173 |
$gxCoreLoader = MainFactory::create('GXCoreLoader', MainFactory::create('GXCoreLoaderSettings'));
|
179 |
174 |
$db = $gxCoreLoader->getDatabaseQueryBuilder();
|
180 |
175 |
$languageTextManager = MainFactory::create('LanguageTextManager', 'module_center_module');
|
181 |
176 |
$cacheControl = MainFactory::create_object('CacheControl');
|
182 |
|
|
|
177 |
|
183 |
|
if(is_array($moduleFiles))
|
|
178 |
$coo_class_registry = MainFactory::get_class_registry();
|
|
179 |
$allClassesArray = $coo_class_registry->get_all_data();
|
|
180 |
|
|
181 |
foreach($allClassesArray as $class => $file)
|
184 |
182 |
{
|
185 |
|
foreach($moduleFiles as $file)
|
|
183 |
if(strpos($file,'ModuleCenterModule.inc.php') !== false && strpos($file,'AbstractModuleCenterModule') === false)
|
186 |
184 |
{
|
187 |
185 |
$moduleName = strtok(basename($file), '.');
|
188 |
186 |
|
189 |
|
if($moduleName === 'AbstractModuleCenterModule')
|
190 |
|
{
|
191 |
|
continue;
|
192 |
|
}
|
193 |
|
|
194 |
187 |
$module = MainFactory::create($moduleName, $languageTextManager, $db, $cacheControl);
|
195 |
188 |
$modules[$moduleName] = $module;
|
196 |
189 |
$modulesIndex[$moduleName] = $module->getSortOrder();
|
|
190 |
|
197 |
191 |
}
|
|
192 |
}
|
198 |
193 |
|
199 |
|
asort($modulesIndex, SORT_NUMERIC);
|
|
194 |
asort($modulesIndex, SORT_NUMERIC);
|
200 |
|
}
|
201 |
195 |
|
202 |
196 |
foreach($modulesIndex as $moduleName => $module)
|
203 |
197 |
{
|