Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.406 diff -u -p -r1.406 system.module --- modules/system/system.module 24 Nov 2006 10:57:20 -0000 1.406 +++ modules/system/system.module 24 Nov 2006 17:26:51 -0000 @@ -1807,10 +1807,46 @@ function system_status($check = FALSE) { return drupal_requirements_severity($requirements) == REQUIREMENT_ERROR; } + // Output list of enabled modules. + $modules = module_rebuild_cache(); + $enabled = array(); + foreach ($modules as $module) { + if ($module->status) { + if (!isset($module->info['package'])) { + $module->info['package'] = 'Uncategorized'; + } + if ($module->info['package'] != 'Core - required') { + $version = $module->info['version'] ? $module->info['version'] : t('No version information'); + $enabled[$module->info['package']][$module->name] = t('@module (@version)', array('@module' => $module->info['name'], '@version' => $version)); + } + } + } + $requirements['enabled_modules'] = array( + 'title' => t('Enabled modules'), + 'description' => theme('status_enabled_modules', $enabled), + 'severity' => REQUIREMENT_INFO, + ); + return theme('status_report', $requirements); } /** + * Themes the output of the enabled module listing on the + * system status page. + * + * @ingroup themeable + */ +function theme_status_enabled_modules($modules) { + $output = ''; + foreach ($modules as $package => $modules) { + $output .= ''. t($package) .''; + $output .= theme('item_list', $modules); + } + + return $output; +} + +/** * Helper function to sort requirements. */ function _system_sort_requirements($a, $b) {