function book_export_traverse

Traverses the book tree to build printable or exportable output.

During the traversal, the $visit_func() callback is applied to each node and is called recursively for each child of the node (in weight, title order).

Parameters

$tree: A subtree of the book menu hierarchy, rooted at the current page.

$visit_func: A function callback to be called upon visiting a node in the tree.

Return value

The output generated in visiting each node.

1 call to book_export_traverse()
book_export_html in modules/book/book.pages.inc
Generates HTML for export when invoked by book_export().

File

modules/book/book.module, line 1243

Code

function book_export_traverse($tree, $visit_func) {
    $output = '';
    foreach ($tree as $data) {
        // Note- access checking is already performed when building the tree.
        if ($node = node_load($data['link']['nid'], FALSE)) {
            $children = '';
            if ($data['below']) {
                $children = book_export_traverse($data['below'], $visit_func);
            }
            if (function_exists($visit_func)) {
                $output .= call_user_func($visit_func, $node, $children);
            }
            else {
                // Use the default function.
                $output .= book_node_export($node, $children);
            }
        }
    }
    return $output;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.