summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/system.admin.inc17
-rw-r--r--modules/system/system.css4
2 files changed, 20 insertions, 1 deletions
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index fc7868cc2..43416c9c5 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -639,6 +639,8 @@ function system_modules($form_state = array()) {
}
}
+ // 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();
// Traverse the files retrieved and build the form.
@@ -646,6 +648,15 @@ function system_modules($form_state = array()) {
$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)) {
@@ -2078,7 +2089,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 = '<div class="module-help">'. drupal_render($form['help'][$key]) .'</div>';
+ }
+ $description .= drupal_render($form['description'][$key]);
if (isset($form['status']['#incompatible_modules_core'][$key])) {
unset($form['status'][$key]);
$status = theme('image', 'misc/watchdog-error.png', t('incompatible'), t('Incompatible with this version of Drupal core'));
diff --git a/modules/system/system.css b/modules/system/system.css
index ff77303d6..919417ec9 100644
--- a/modules/system/system.css
+++ b/modules/system/system.css
@@ -163,6 +163,10 @@ tr.merge-up, tr.merge-up td, tr.merge-up th {
.more-link {
text-align: right; /* LTR */
}
+.module-help {
+ margin-left: 1em; /* LTR */
+ float: right; /* LTR */
+}
.nowrap {
white-space: nowrap;
}