/** * Check the presence of unexpected module repositories or unexpected module * in DB, its effect is returning a list of module not installed in DB but * present on server, or module installed in DB but not present on server. * @return an array two arrays : * ['folder'] containing paths of the suspicious folders found that * did not correspond to an installed module in DB * ['DB'] containing label of modules found in DB for which no * corresponding folder was found on server */ function check_module_repositories() { $mistake_array = array(); $mistake_array['folder'] = array(); $mistake_array['DB'] = array(); $registredModuleList = get_installed_module_list(); foreach ($registredModuleList as $registredModuleLabel) { $modulePath = get_module_path($registredModuleLabel); if (!file_exists($modulePath)) { $mistake_array['DB'][] = $registredModuleLabel; } } $folders_found = get_module_repositories(); foreach ($folders_found as $module_folder) { if (!in_array($module_folder, $registredModuleList)) { $mistake_array['folder'][] = $module_folder; } } return $mistake_array; }
/** * Return list of folder where we can retrieve definition configuration file */ function get_def_folder_list($type = 'all') { $folderList = array(); // Kernel folder configuration folder if ($type == 'kernel' || $type == 'all') { $folderList[] = get_path('incRepositorySys') . '/conf/def'; } // Module folder configuration folder if ($type == 'module' || $type == 'all') { $moduleList = get_installed_module_list(); foreach ($moduleList as $module) { $modulePath = get_module_path($module) . '/conf/def'; if (is_dir($modulePath)) { $folderList[] = $modulePath; } } } return $folderList; }