Same name and namespace in other branches
  1. 6.x modules/system/system.admin.inc \system_module_build_dependencies()

File

modules/system/system.module, line 1431
Configuration system that lets administrators modify the workings of the site.

Code

function system_module_build_dependencies($modules, $form_values) {
  static $dependencies;
  if (!isset($dependencies) && isset($form_values) && is_array($form_values)) {
    $dependencies = array();
    foreach ($modules as $name => $module) {

      // If the module is disabled, will be switched on and it has dependencies.
      if (!$module->status && isset($form_values['status'][$name]) && $form_values['status'][$name] && isset($module->info['dependencies'])) {
        foreach ($module->info['dependencies'] as $dependency) {
          if (!$form_values['status'][$dependency] && isset($modules[$dependency])) {
            if (!isset($dependencies[$name])) {
              $dependencies[$name] = array();
            }
            $dependencies[$name][] = $dependency;
          }
        }
      }
    }
  }
  return $dependencies;
}