示例#1
0
/**
 * 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;
}
示例#2
0
/**
 * 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;
}