'. t('Legend:') .'
'; $output .= ''. theme('site_map_feed_icon', NULL) .' '. t('Link to a content RSS feed'); $output .= '
'. theme('site_map_feed_icon', NULL, 'comment') .' '. t('Link to a comment RSS feed'); $output .= '

'; return $output; } /** * Return a themed site map box. * * @param $title * The subject of the box. * @param $content * The content of the box. * @param $class * Optional extra class for the box. * @return * A string containing the box output. */ function theme_site_map_box($title, $content, $class = '') { $output = ''; if ($title || $content) { $class = $class ? 'site-map-box '. $class : 'site-map-box'; $output .= '
'; if ($title) { $output .= '

'. $title .'

'; } if ($content) { $output .= '
'. $content .'
'; } $output .= '
'; } return $output; } /** * Return a themed feed icon. * * @param $url * The feed URL. * @param $type * The type of feed icon. * @return * A string containing the linked image. */ function theme_site_map_feed_icon($url, $type = 'node') { $output = ''; switch ($type) { case 'node': $output = theme('image', (drupal_get_path('module', 'site_map') .'/feed-small.png'), t('Syndicate content'), t('Syndicate content')); break; case 'comment': $output = theme('image', (drupal_get_path('module', 'site_map') .'/feed-small-comment.png'), t('Syndicate comments'), t('Syndicate comments')); break; } if ($url) { $output = l($output, $url, array('attributes' => array('class' => 'feed-link'), 'html' => TRUE)); } return $output; } /** * This is a clone of the core theme_menu_tree() function with the exception of * the site_map specific class name used in the UL that also allow themers to * override the function only for the site map page. * * Generate the HTML output for a menu tree * * @ingroup themeable */ function theme_site_map_menu_tree($tree) { return ''; } /** * This is a one by one clone of the core theme_menu_item() function that allows * custom theming of the site map page items. * * Generate the HTML output for a menu item and submenu. * * @ingroup themeable */ function theme_site_map_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) { $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf')); if (!empty($extra_class)) { $class .= ' '. $extra_class; } if ($in_active_trail) { $class .= ' active-trail'; } return '
  • '. $link . $menu ."
  • \n"; } /** * Process variables for site-map.tpl.php. * * @see site-map.tpl.php */ function template_preprocess_site_map(&$variables) { $variables['message'] = check_markup(variable_get('site_map_message', ''), variable_get('site_map_message_format', FILTER_FORMAT_DEFAULT), FALSE); if ((variable_get('site_map_show_rss_links', 1) != 0) && module_exists('commentrss') && variable_get('commentrss_site', COMMENTRSS_SITE_FRONT_PAGE)) { $variables['rss_legend'] = theme('site_map_rss_legend'); } if (variable_get('site_map_show_front', 1)) { $variables['front_page'] = _site_map_front_page(); } if (variable_get('site_map_show_blogs', 1)) { $variables['blogs'] = _site_map_blogs(); } // Compile the books trees. $variables['books'] = _site_map_books(); // Compile the menu trees. $variables['menus'] = _site_map_menus(); if (variable_get('site_map_show_faq', 0)) { $variables['faq'] = _site_map_faq(); } // Compile the vocabulary trees. $variables['taxonomys'] = _site_map_taxonomys(); // Invoke all custom modules and get themed HTML to be integrated into the site map. $additional = module_invoke_all('site_map'); foreach ($additional as $themed_site_map_code) { $variables['additional'] .= $themed_site_map_code; } }