'admin/help', 'title' => t('Help'), 'callback' => 'help_main', 'access' => $admin_access, 'weight' => 9); foreach (module_implements('help', TRUE) as $module) { $items[] = array('path' => 'admin/help/' . $module, 'title' => t($module), 'callback' => 'help_page', 'type' => MENU_CALLBACK, 'access' => $admin_access); } } return $items; } /** * Menu callback; prints a page listing a glossary of Drupal terminology. */ function help_main() { // Add CSS drupal_add_css(drupal_get_path('module', 'help') .'/help.css', 'module', 'all', FALSE); $output = t('

Help topics

Help is available on the following items:

!help_pages

Glossary of Drupal terminology

Block
A small box containing information or content placed in a region of a web page (e.g. in a sidebar, below or above the content, or in any other region the current theme allows).
Comment
Text attached to a post intended to clarify, explain, criticize, or express an opinion on the original post.
Node
The basic unit of content in Drupal, often referred to as a "post". All content that can be created using the "create content" menu is a node. Keep in mind that comments, blocks, and users are not nodes.
Published
A post that is viewable by every visitor of the site, regardless of whether he is logged in (see also "Unpublished").
Role
A classification users are placed into for the purpose of setting users\' permissions. A user receives the combined permissions of all roles to which he or she is subscribed.
Taxonomy
A categorization system that allows the building of complex hierarchial or relational structures and tagging of content (see taxonomy help).
Unpublished
A post that is only viewable by administrators and moderators.
User
A person who has an account at your Drupal site, and is currently logged in with that account.
Visitor
A person who does not have an account at your Drupal site or a person who has an account at your Drupal site but is not currently logged in with that account. A visitor is also called an "anonymous user".
', array('!help_pages' => help_links_as_list(), '@taxonomy' => url('admin/help/taxonomy'))); return $output; } function help_links_as_list() { $module_info = module_rebuild_cache(); $modules = array(); foreach (module_implements('help', TRUE) as $module) { if (module_invoke($module, 'help', "admin/help#$module")) { $modules[] = $module; } } sort($modules); // Output pretty four-column list $break = ceil(count($modules) / 4); $output = '
'; return $output; } /** * Implementation of hook_help(). */ function help_help($section) { switch ($section) { case 'admin/help': $output = t('

This guide explains what the various modules in Drupal do and how to configure them. Additionally, you will find a glossary of basic Drupal terminology to help get you started.

It is not a substitute for the Drupal handbook available online and should be used in conjunction with it. The online reference handbook might be more up-to-date and has helpful user-contributed comments. It is your definitive reference point for all Drupal documentation.

', array('@Drupal' => 'http://drupal.org', '@handbook' => 'http://drupal.org/handbook')); return $output; case 'admin/help#help': $output = '

'. t('The help module displays context sensitive help information. Users can learn how to use modules and accomplish tasks quicker with less errors by clicking on links in provided by the help module.') .'

'; $output .= t("

Modules can make documentation available to other modules with this module. All user help should be presented using this module. Some examples of help:

", array('@help' => url('admin/help'))); $output .= '

'. t('For more information please read the configuration and customization handbook Help page.', array('@help' => 'http://drupal.org/handbook/modules/help/')) .'

'; return $output; } } /** * Menu callback; prints a page listing general help for all modules. */ function help_page() { $name = arg(2); $output = ''; if (module_hook($name, 'help')) { $module = _module_parse_info_file(drupal_get_path('module', $name).'/'. $name .'.info'); drupal_set_title($module['name']); $temp = module_invoke($name, 'help', "admin/help#$name"); if (empty($temp)) { $output .= t("No help is available for module %module.", array('%module' => $module['name'])); } else { $output .= $temp; } // Only print list of administration pages if the module in question has // any such pages associated to it. $admin_tasks = system_get_module_admin_tasks($name); if (!empty($admin_tasks)) { ksort($admin_tasks); $output .= theme('item_list', $admin_tasks, t('@module administration pages', array('@module' => $module['name']))); } } return $output; }