From 3ff482d390fbfc79d536dccc29c93e473978ea4e Mon Sep 17 00:00:00 2001
From: Angie Byron <webchick@24967.no-reply.drupal.org>
Date: Fri, 8 Jan 2010 05:14:03 +0000
Subject: [PATCH] #678628 by bdragon and matt2000: Fixed 'More help' links
 missing from interface.

---
 includes/menu.inc      | 11 ++++++-----
 modules/help/help.test |  7 ++++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/includes/menu.inc b/includes/menu.inc
index 38168bcc7cd3..361b8dc19bb8 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -1493,11 +1493,12 @@ function menu_get_active_help() {
     // Lookup help for this path.
     if ($help = $function($router_path, $arg)) {
       $output .= $help . "\n";
-    }
-    // Add "more help" link on admin pages if the module provides a
-    // standalone help page.
-    if ($arg[0] == "admin" && user_access('access administration pages') && module_exists('help') && $function('admin/help#' . $arg[2], $empty_arg) && $help) {
-      $output .= theme("more_help_link", array('url' => url('admin/help/' . $arg[2])));
+
+      // Add "more help" link on admin pages if the module provides a
+      // standalone help page.
+      if ($arg[0] == "admin" && user_access('access administration pages') && module_exists('help') && $function('admin/help#' . $module, $empty_arg)) {
+        $output .= theme("more_help_link", array('url' => url('admin/help/' . $module)));
+      }
     }
   }
   return $output;
diff --git a/modules/help/help.test b/modules/help/help.test
index 4cc73c181b41..8e2fed968aef 100644
--- a/modules/help/help.test
+++ b/modules/help/help.test
@@ -22,7 +22,7 @@ class HelpTestCase extends DrupalWebTestCase {
     $this->getModuleList();
 
     // Create users.
-    $this->big_user = $this->drupalCreateUser(array('access administration pages'));
+    $this->big_user = $this->drupalCreateUser(array('access administration pages', 'administer permissions'));
     $this->any_user = $this->drupalCreateUser(array());
   }
 
@@ -53,6 +53,11 @@ class HelpTestCase extends DrupalWebTestCase {
     foreach ($this->modules as $module => $name) {
       $this->assertLink($name, 0, t('Link properly added to @name (admin/help/@module)', array('@module' => $module, '@name' => $name)));
     }
+
+    // Verify that the "More help" links generated by menu.inc work properly.
+    // Test on an out-of-the-way page.
+    $this->drupalGet('admin/config/people/roles');
+    $this->assertRaw(theme("more_help_link", array('url' => url('admin/help/user'))), t('"More help" link is functional.'));
   }
 
   /**
-- 
GitLab