Index: drupal/modules/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book.module,v
retrieving revision 1.272
diff -u -r1.272 book.module
--- drupal/modules/book.module	24 Nov 2004 22:56:21 -0000	1.272
+++ drupal/modules/book.module	25 Nov 2004 16:52:33 -0000
@@ -59,12 +59,16 @@
 
   $links = array();
 
+  $show_print_friendly = variable_get('book_show_printer_friendly', 1 );
+
   if ($type == 'node' && $node->type == 'book') {
     if (!$main) {
       if (book_access('create', $node)) {
         $links[] = l(t('add child page'), "node/add/book/parent/$node->nid");
       }
+      if ( $show_print_friendly == 1) {
       $links[] = l(t('printer-friendly version'), 'book/print/'. $node->nid, array('title' => t('Show a printer-friendly version of this book page and its sub-pages.')));
+      }
     }
   }
 
@@ -769,15 +773,43 @@
   $op = $_POST['op'];
   $edit = $_POST['edit'];
 
-  switch ($op) {
-    case t('Save book pages'):
-      drupal_set_message(book_admin_save($nid, $edit));
-      // fall through:
-    default:
-      $output .= book_admin_view($nid);
-      break;
+  $pf   = $edit['show_printer_friendly'];
+  $var  = variable_get('book_show_printer_friendly', 0);
+
+   switch ( $nid )
+   {
+   case 0:
+     // We are not on a node, display the general settings for the book module
+     switch ($op)
+     {
+        case t('Save settings'):
+           variable_set('book_show_printer_friendly', $pf);
+           drupal_set_message('Setting saved');
+           // fall through:
+       case '':
+          $var  = variable_get('book_show_printer_friendly', 1);
+           $output .= form_checkbox(t('show printer friendly links for books'),
+              'show_printer_friendly', 1, $var);
+           $output .= form_submit(t('Save settings'));
+           break;
+     }
+     print theme('page', form($output));
+     break;
+ 
+   default:
+     // We are on a node, so allow editing this nodes info
+     switch ($op)
+     {
+        case t('Save book pages'):
+           drupal_set_message(book_admin_save($nid, $edit));
+           // fall through:
+        default:
+           $output .= book_admin_view($nid);
+           break;
+     }
+     print theme('page', $output);
+     break;
   }
-  print theme('page', $output);
 }
 
 /**
