function book_get_flat_menu

7.x book.module book_get_flat_menu($book_link)

Gets the book menu tree for a page and returns it as a linear array.


$book_link: A fully loaded menu link that is part of the book hierarchy.

Return value

A linear array of menu links in the order that the links are shown in the menu, so the previous and next pages are the elements before and after the element corresponding to the current node. The children of the current node (if any) will come immediately after it in the array, and links will only be fetched as deep as one level deeper than $book_link.

3 calls to book_get_flat_menu()
book_children in drupal/modules/book/book.module
Formats the menu links for the child pages of the current page.
book_next in drupal/modules/book/book.module
Fetches the menu link for the next page of the book.
book_prev in drupal/modules/book/book.module
Fetches the menu link for the previous page of the book.


drupal/modules/book/book.module, line 721
Allows users to create and organize related content in an outline.


function book_get_flat_menu($book_link) {
  $flat = &drupal_static(__FUNCTION__, array());

  if (!isset($flat[$book_link['mlid']])) {
    // Call menu_tree_all_data() to take advantage of the menu system's caching.
    $tree = menu_tree_all_data($book_link['menu_name'], $book_link, $book_link['depth'] + 1);
    $flat[$book_link['mlid']] = array();
    _book_flatten_menu($tree, $flat[$book_link['mlid']]);

  return $flat[$book_link['mlid']];