annotate modules/help/help.admin.inc @ 1:c1f4ac30525a 6.0

Drupal 6.0
author Franck Deroche <webmaster@defr.org>
date Tue, 23 Dec 2008 14:28:28 +0100
parents
children
rev   line source
webmaster@1 1 <?php
webmaster@1 2 // $Id: help.admin.inc,v 1.5 2007/11/25 11:11:17 goba Exp $
webmaster@1 3
webmaster@1 4 /**
webmaster@1 5 * @file
webmaster@1 6 * Admin page callbacks for the help module.
webmaster@1 7 */
webmaster@1 8
webmaster@1 9 /**
webmaster@1 10 * Menu callback; prints a page listing a glossary of Drupal terminology.
webmaster@1 11 */
webmaster@1 12 function help_main() {
webmaster@1 13 // Add CSS
webmaster@1 14 drupal_add_css(drupal_get_path('module', 'help') .'/help.css', 'module', 'all', FALSE);
webmaster@1 15 $output = '<h2>'. t('Help topics') .'</h2><p>'. t('Help is available on the following items:') .'</p>'. help_links_as_list();
webmaster@1 16 return $output;
webmaster@1 17 }
webmaster@1 18
webmaster@1 19 /**
webmaster@1 20 * Menu callback; prints a page listing general help for a module.
webmaster@1 21 */
webmaster@1 22 function help_page($name) {
webmaster@1 23 $output = '';
webmaster@1 24 if (module_hook($name, 'help')) {
webmaster@1 25 $module = drupal_parse_info_file(drupal_get_path('module', $name) .'/'. $name .'.info');
webmaster@1 26 drupal_set_title($module['name']);
webmaster@1 27
webmaster@1 28 $temp = module_invoke($name, 'help', "admin/help#$name", drupal_help_arg());
webmaster@1 29 if (empty($temp)) {
webmaster@1 30 $output .= t("No help is available for module %module.", array('%module' => $module['name']));
webmaster@1 31 }
webmaster@1 32 else {
webmaster@1 33 $output .= $temp;
webmaster@1 34 }
webmaster@1 35
webmaster@1 36 // Only print list of administration pages if the module in question has
webmaster@1 37 // any such pages associated to it.
webmaster@1 38 $admin_tasks = system_get_module_admin_tasks($name);
webmaster@1 39 if (!empty($admin_tasks)) {
webmaster@1 40 ksort($admin_tasks);
webmaster@1 41 $output .= theme('item_list', $admin_tasks, t('@module administration pages', array('@module' => $module['name'])));
webmaster@1 42 }
webmaster@1 43
webmaster@1 44 }
webmaster@1 45 return $output;
webmaster@1 46 }
webmaster@1 47
webmaster@1 48 function help_links_as_list() {
webmaster@1 49 $empty_arg = drupal_help_arg();
webmaster@1 50 $module_info = module_rebuild_cache();
webmaster@1 51
webmaster@1 52 $modules = array();
webmaster@1 53 foreach (module_implements('help', TRUE) as $module) {
webmaster@1 54 if (module_invoke($module, 'help', "admin/help#$module", $empty_arg)) {
webmaster@1 55 $modules[$module] = $module_info[$module]->info['name'];
webmaster@1 56 }
webmaster@1 57 }
webmaster@1 58 asort($modules);
webmaster@1 59
webmaster@1 60 // Output pretty four-column list
webmaster@1 61 $count = count($modules);
webmaster@1 62 $break = ceil($count / 4);
webmaster@1 63 $output = '<div class="clear-block"><div class="help-items"><ul>';
webmaster@1 64 $i = 0;
webmaster@1 65 foreach ($modules as $module => $name) {
webmaster@1 66 $output .= '<li>'. l($name, 'admin/help/'. $module) .'</li>';
webmaster@1 67 if (($i + 1) % $break == 0 && ($i + 1) != $count) {
webmaster@1 68 $output .= '</ul></div><div class="help-items'. ($i + 1 == $break * 3 ? ' help-items-last' : '') .'"><ul>';
webmaster@1 69 }
webmaster@1 70 $i++;
webmaster@1 71 }
webmaster@1 72 $output .= '</ul></div></div>';
webmaster@1 73
webmaster@1 74 return $output;
webmaster@1 75 }
webmaster@1 76