? book-block.patch
Index: modules/book/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.module,v
retrieving revision 1.452
diff -u -p -r1.452 book.module
--- modules/book/book.module	22 Dec 2007 23:24:24 -0000	1.452
+++ modules/book/book.module	31 Dec 2007 14:28:07 -0000
@@ -181,12 +181,11 @@ function book_block($op = 'list', $delta
       $block[0]['cache'] = BLOCK_CACHE_PER_PAGE | BLOCK_CACHE_PER_ROLE;
       return $block;
     case 'view':
-      if (arg(0) == 'node' && is_numeric(arg(1))) {
-        $node = node_load(arg(1));
+      $current_bid = 0;
+      if ($node = menu_get_object()) {
+        $current_bid = empty($node->book['bid']) ? 0 : $node->book['bid'];
       }
-      $current_bid = empty($node->book['bid']) ? 0 : $node->book['bid'];
-      $mode = variable_get('book_block_mode', 'all pages');
-      if ($mode == 'all pages') {
+      if (variable_get('book_block_mode', 'all pages') == 'all pages') {
         $block['subject'] = t('Book navigation');
         $book_menus = array();
         $pseudo_tree = array(0 => array('below' => FALSE));
