--- modules/system/system.admin.inc.1.48 Fri Jan 04 00:55:31 2008 +++ modules/system/system.admin.inc Mon Jan 14 13:50:44 2008 @@ -641,6 +641,8 @@ function system_modules($form_state = ar } } + // Used when checking if module implements a help page. + $help_arg = module_exists('help') ? drupal_help_arg() : FALSE; // Array for disabling checkboxes in callback system_module_disable. $disabled = array(); $throttle = array(); @@ -649,6 +651,15 @@ function system_modules($form_state = ar $form['name'][$filename] = array('#value' => $file->info['name']); $form['version'][$filename] = array('#value' => $file->info['version']); $form['description'][$filename] = array('#value' => t($file->info['description'])); + + // Generate link for module's help page, if there is one. + if ($help_arg && module_hook($filename, 'help')) { + if (module_invoke($filename, 'help', "admin/help#$filename", $help_arg)) { + // Module has a help page. + $form['help'][$filename] = array('#value' => theme('more_help_link', url("admin/help/$filename"))); + } + } + $options[$filename] = ''; // Ensure this module is compatible with this version of core and php. if (_system_is_incompatible($incompatible_core, $files, $file) || _system_is_incompatible($incompatible_php, $files, $file)) { @@ -2057,7 +2068,11 @@ function theme_system_modules($form) { $rows = array(); foreach ($modules as $key => $module) { $row = array(); - $description = drupal_render($form['description'][$key]); + $description = ''; + if (isset($form['help'][$key])) { + $description = '