You are here

function advanced_help_get_tree in Advanced Help 7

Same name and namespace in other branches
  1. 5 advanced_help.module \advanced_help_get_tree()
  2. 6 advanced_help.module \advanced_help_get_tree()

Build a tree of advanced help topics.

Parameters

array $topics: Topics.

array $topic_ids: Topic Ids.

int $max_depth: Maximum depth for subtopics.

int $depth: Default depth for subtopics.

Return value

array Returns list of topics/subtopics.

2 calls to advanced_help_get_tree()
advanced_help_index_page in ./advanced_help.module
Page callback to view the advanced help topic index.
advanced_help_view_topic in ./advanced_help.module
Load and render a help topic.

File

./advanced_help.module, line 332
Pluggable system to provide advanced help facilities for Drupal and modules.

Code

function advanced_help_get_tree($topics, $topic_ids, $max_depth = -1, $depth = 0) {
  uasort($topic_ids, 'advanced_help_uasort');
  $items = array();
  foreach ($topic_ids as $info) {
    list($module, $topic) = $info;
    $item = advanced_help_l($topics[$module][$topic]['title'], "help/{$module}/{$topic}");
    if (!empty($topics[$module][$topic]['children']) && ($max_depth == -1 || $depth < $max_depth)) {
      $item .= theme('item_list', array(
        'items' => advanced_help_get_tree($topics, $topics[$module][$topic]['children'], $max_depth, $depth + 1),
      ));
    }
    $items[] = $item;
  }
  return $items;
}