drupal/modules/help.module

110 lines
4.1 KiB
Plaintext

<?php
// $Id$
/**
* @file
* Manages displaying online help.
*/
/**
* Implementation of hook_menu().
*/
function help_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array('path' => 'admin/help', 'title' => t('help'),
'callback' => 'help_main',
'access' => user_access('access administration pages'),
'weight' => 9);
foreach (module_list() as $name) {
if (module_hook($name, 'help')) {
$items[] = array('path' => 'admin/help/' . $name,
'title' => t($name),
'callback' => 'help_page',
'type' => MENU_CALLBACK,
'access' => user_access('access administration pages'));
}
}
}
return $items;
}
/**
* Menu callback; prints a page listing a glossary of Drupal terminology.
*/
function help_main() {
$output = t("
<p>This guide explains what the various modules in <a href=\"%Drupal\">Drupal</a> do and how to configure them.</p>
<p>It is not a substitute for the <a href=\"%handbook\">Drupal handbook</a> 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.</p>
<h2>Help topics</h2>
<p>Help is available on the following items:</p>
%help_pages
<h2>Glossary of Drupal terminology</h2>
<dl>
<dt>Block</dt><dd>A small box containing information or content placed in the left-hand or right-hand sidebar of a web page.</dd>
<dt>Comment</dt><dd>A note attached to a node. Usually intended to clarify, explain, criticize, or express an opinion on the original material.</dd>
<dt>Moderation</dt>
<dd>The activity of making sure a post to a Drupal site fits in with what is expected for that Drupal site.
<dl>
<dt>Approved</dt><dd>A moderated post which has been accepted by the moderators for publication. (See published).</dd>
<dt>Waiting</dt><dd>A moderated post which is still being voted on to be accepted for publication. (See published.)</dd>
</dl>
</dd>
<dt>Node</dt><dd>The basic data unit in Drupal. Everything is a node or an extension of a node.</dd>
<dt>Public</dt><dd>See published.</dd>
<dt>Published</dt><dd>A node that is viewable by everyone. (See unpublished.)</dd>
<dt>Role</dt><dd>A classification users are placed into for the purpose of setting users' permissions.</dd>
<dt>Taxonomy</dt><dd>A division of a collection of things into ordered, classified groups. (See <a href=\"%taxonomy\">taxonomy help</a>.)</dd>
<dt>Unpublished</dt><dd>A node that is only viewable by administrators and moderators.</dd>
<dt>User</dt><dd>A person who has an account at your Drupal site, and is logged in with that account.</dd>
<dt>Visitor</dt><dd>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 <strong>not</strong> logged in with that account. Also termed \"anonymous user\".</dd>
</dl>", array('%Drupal' => 'http://drupal.org', '%handbook' => 'http://drupal.org/handbook', '%help_pages' => help_links_as_list(), '%taxonomy' => url('admin/help/taxonomy')));
return $output;
}
function help_links_as_list() {
$output = '<ul>';
foreach (module_list() as $name) {
if (module_hook($name, 'help')) {
if (module_invoke($name, 'help', "admin/help#$name")) {
$output .= '<li><a href="' . url("admin/help/$name") . '">' . t($name) . '</a></li>';
}
}
}
$output .= '</ul>';
return $output;
}
/**
* Implementation of hook_help().
*/
function help_help($section) {
switch ($section) {
case 'admin/modules#description':
return t('Manages the display of online help.');
}
}
/**
* Menu callback; prints a page listing general help for all modules.
*/
function help_page() {
$name = arg(2);
if (module_hook($name, 'help')) {
$temp = module_invoke($name, 'help', "admin/help#$name");
if (empty($temp)) {
$output .= t("No help is available for module %module.", array('%module' => $name));
}
else {
$output .= $temp;
}
}
return $output;
}