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); } /**