function book_helper_preprocess_book_navigation in Book helper 6
Same name and namespace in other branches
- 7 book_helper.module \book_helper_preprocess_book_navigation()
Override; Process variables for book-navigation.tpl.php.
File
- ./
book_helper.module, line 287 - Improves Drupal's core book module's functionality.
Code
function book_helper_preprocess_book_navigation(&$variables) {
$navigation_options = variable_get('book_helper_navigation_options', array(
'tree',
'prev',
'next',
'up',
));
// Below code is copied from template_preprocess_book_navigation();
$book_link = $variables['book_link'];
// Provide extra variables for themers. Not needed by default.
$variables['book_id'] = $book_link['bid'];
$variables['book_title'] = check_plain($book_link['link_title']);
$variables['book_url'] = 'node/' . $book_link['bid'];
$variables['current_depth'] = $book_link['depth'];
$variables['tree'] = '';
if ($book_link['mlid']) {
if (in_array('tree', $navigation_options)) {
$variables['tree'] = book_children($book_link);
}
if (in_array('prev', $navigation_options) && ($prev = book_prev($book_link))) {
$prev_href = url($prev['href']);
drupal_add_link(array(
'rel' => 'prev',
'href' => $prev_href,
));
$variables['prev_url'] = $prev_href;
$variables['prev_title'] = check_plain($prev['title']);
}
if (in_array('up', $navigation_options) && $book_link['plid'] && ($parent = book_link_load($book_link['plid']))) {
$parent_href = url($parent['href']);
drupal_add_link(array(
'rel' => 'up',
'href' => $parent_href,
));
$variables['parent_url'] = $parent_href;
$variables['parent_title'] = check_plain($parent['title']);
}
if (in_array('next', $navigation_options) && ($next = book_next($book_link))) {
$next_href = url($next['href']);
drupal_add_link(array(
'rel' => 'next',
'href' => $next_href,
));
$variables['next_url'] = $next_href;
$variables['next_title'] = check_plain($next['title']);
}
}
$variables['has_links'] = FALSE;
// Link variables to filter for values and set state of the flag variable.
$links = array(
'prev_url',
'prev_title',
'parent_url',
'parent_title',
'next_url',
'next_title',
);
foreach ($links as $link) {
if (isset($variables[$link])) {
// Flag when there is a value.
$variables['has_links'] = TRUE;
}
else {
// Set empty to prevent notices.
$variables[$link] = '';
}
}
}