? drupaldown ? modules/syndication Index: includes/module.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/module.inc,v retrieving revision 1.132 diff -u -p -r1.132 module.inc --- includes/module.inc 31 Oct 2008 02:18:22 -0000 1.132 +++ includes/module.inc 11 Nov 2008 01:12:07 -0000 @@ -102,6 +102,7 @@ function module_rebuild_cache() { $defaults = array( 'dependencies' => array(), 'dependents' => array(), + 'supports' => array(), 'description' => '', 'package' => 'Other', 'version' => NULL, Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.103 diff -u -p -r1.103 system.admin.inc --- modules/system/system.admin.inc 10 Nov 2008 05:23:00 -0000 1.103 +++ modules/system/system.admin.inc 11 Nov 2008 01:12:09 -0000 @@ -630,8 +630,6 @@ function system_modules($form_state = ar // form. return system_modules_confirm_form($files, $form_state['storage']); } - $dependencies = array(); - $modules = array(); $form['modules'] = array('#tree' => TRUE); // Used when checking if module implements a help page. @@ -642,18 +640,16 @@ function system_modules($form_state = ar $extra = array(); $extra['enabled'] = (bool) $module->status; // If this module has dependencies, add them to the array. - if (is_array($module->info['dependencies'])) { - foreach ($module->info['dependencies'] as $dependency) { - if (!isset($files[$dependency])) { - $extra['dependencies'][$dependency] = t('@module (missing)', array('@module' => drupal_ucfirst($dependency))); - $extra['disabled'] = TRUE; - } - elseif (!$files[$dependency]->status) { - $extra['dependencies'][$dependency] = t('@module (disabled)', array('@module' => $files[$dependency]->info['name'])); - } - else { - $extra['dependencies'][$dependency] = t('@module (enabled)', array('@module' => $files[$dependency]->info['name'])); - } + foreach ($module->info['dependencies'] as $dependency) { + if (!isset($files[$dependency])) { + $extra['dependencies'][$dependency] = t('@module (missing)', array('@module' => drupal_ucfirst($dependency))); + $extra['disabled'] = TRUE; + } + elseif (!$files[$dependency]->status) { + $extra['dependencies'][$dependency] = t('@module (disabled)', array('@module' => $files[$dependency]->info['name'])); + } + else { + $extra['dependencies'][$dependency] = t('@module (enabled)', array('@module' => $files[$dependency]->info['name'])); } } // Generate link for module's help page, if there is one. @@ -664,7 +660,6 @@ function system_modules($form_state = ar } } // Mark dependents disabled so user can not remove modules being depended on. - $dependents = array(); foreach ($module->info['dependents'] as $dependent) { if ($files[$dependent]->status == 1) { $extra['dependents'][] = t('@module (enabled)', array('@module' => $files[$dependent]->info['name'])); @@ -674,6 +669,18 @@ function system_modules($form_state = ar $extra['dependents'][] = t('@module (disabled)', array('@module' => $files[$dependent]->info['name'])); } } + // Show modules enhanced by other modules. + foreach ($module->info['supports'] as $supports) { + if (!isset($files[$supports])) { + $extra['supports'][] = t('@module (missing)', array('@module' => drupal_ucfirst($supports))); + } + elseif (!$files[$supports]->status) { + $extra['supports'][] = t('@module (disabled)', array('@module' => $files[$supports]->info['name'])); + } + else { + $extra['supports'][] = t('@module (disabled)', array('@module' => $files[$supports]->info['name'])); + } + } $form['modules'][$module->info['package']][$filename] = _system_modules_build_row($module->info, $extra); } // Add basic information to the fieldsets. @@ -716,6 +723,7 @@ function _system_modules_build_row($info $extra += array( 'dependencies' => array(), 'dependents' => array(), + 'supports' => array(), 'disabled' => FALSE, 'enabled' => FALSE, 'help' => '', @@ -735,6 +743,7 @@ function _system_modules_build_row($info ); $form['#dependencies'] = $extra['dependencies']; $form['#dependents'] = $extra['dependents']; + $form['#supports'] = $extra['supports']; // Check the compatibilities. $compatible = TRUE; @@ -2102,6 +2111,9 @@ function theme_system_modules_fieldset($ if ($module['#dependents']) { $description .= '