? BookMadeSimple-536578-5.patch
Index: book_made_simple.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/BookMadeSimple/book_made_simple.install,v
retrieving revision 1.2
diff -u -p -r1.2 book_made_simple.install
--- book_made_simple.install	5 Aug 2009 21:13:18 -0000	1.2
+++ book_made_simple.install	20 Sep 2009 04:16:36 -0000
@@ -1,7 +1,6 @@
 <?php
 // $Id: book_made_simple.install,v 1.2 2009/08/05 21:13:18 scottrigby Exp $
 
-
 function book_made_simple_install() {
 	db_query("UPDATE {system} SET weight = 10 WHERE name = 'book_made_simple'");
 }
@@ -14,14 +13,12 @@ function book_made_simple_update_6013() 
     case 'mysqli':
       $ret[] = update_sql("UPDATE {system} SET weight = 10 WHERE name = 'book_made_simple'");
       break;
-    }
+  }
 
   return $ret;
 }
 
 function book_made_simple_uninstall() {
-
 	variable_del('book_made_simple_auto_main_page');
 	variable_del('book_made_simple_add_types');
-	
 }
Index: book_made_simple.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/BookMadeSimple/book_made_simple.module,v
retrieving revision 1.3
diff -u -p -r1.3 book_made_simple.module
--- book_made_simple.module	25 Aug 2009 18:57:32 -0000	1.3
+++ book_made_simple.module	20 Sep 2009 04:16:37 -0000
@@ -2,515 +2,547 @@
 // $Id: book_made_simple.module,v 1.3 2009/08/25 18:57:32 marcelbichon Exp $
 // Author: M. Morin
 /**
-* Implementation of hook_help().
-*/
+ * Implementation of hook_help().
+ */
 function book_made_simple_help($path, $arg) {
-    switch ($path) {
-        case 'admin/settings/book_made_simple':
-            $output = t('On this page you can define context-types allowed as children of book and those that will be automatically created as main book pages.<br/>You can also define child pages by content-type in !content-type-settings in the BookMadeSimple section',array('!content-type-settings' => l(t('content type settings'),'admin/content/types/list')));
-            return $output;     
-            break;
-    }
+  switch ($path) {
+    case 'admin/settings/book_made_simple':
+      $output = t('On this page you can define context-types allowed as children of book and those that will be automatically created as main book pages.<br/>You can also define child pages by content-type in !content-type-settings in the BookMadeSimple section',array('!content-type-settings' => l(t('content type settings'),'admin/content/types/list')));
+      return $output;
+      break;
+  }
 }
 function book_made_simple_init() {
-    if (! variable_get('book_made_simple_admin_use_css',false)) {
-        drupal_add_css(drupal_get_path('module', 'book_made_simple') . '/book_made_simple.css');
-    }
+  if (! variable_get('book_made_simple_admin_use_css',false)) {
+    drupal_add_css(drupal_get_path('module', 'book_made_simple') . '/book_made_simple.css');
+  }
 }
 
 function book_made_simple_perm() {
-return array('show book reorder link','show core Outline links');
+  return array('show book reorder link','show core Outline links');
 }
 
 /**
-* Implementation of hook_menu().
-*/
+ * Implementation of hook_menu().
+ */
 function book_made_simple_menu() {
-    $items = array();
-    $items['admin/settings/book_made_simple'] = array(
+  $items = array();
+  $items['admin/settings/book_made_simple'] = array(
     'title' => t('BookMadeSimple settings'),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('book_made_simple_settings_form'),      
     'access arguments' => array('administer site configuration'),
     'description' => t('BookMadeSimple module settings.'),
     'type' => MENU_NORMAL_ITEM,
-    );
+  );
 
-$items['node/%/reorder'] = array(
+  $items['node/%/reorder'] = array(
     'title' => t('Reorder the book'),
     'page callback' => 'book_made_simple_reorder',
-    'page arguments'   => array(1),
-    'access callback'   => 'isBookAccess',
-    'access arguments'   => array(1),
+    'page arguments' => array(1),
+    'access callback' => 'isBookAccess',
+    'access arguments' => array(1),
     'type' => MENU_LOCAL_TASK,
     'weight' =>2
+  );
 
-    );
-
-    return $items;
+  return $items;
 }
+
 /**
-* Return access rights for book
-*/
+ * Return access rights for book
+ */
 function isBookAccess($arg, $node = NULL) {
-    if ($node == NULL && is_numeric($arg)) {
-        $node = node_load($arg);
+  if ($node == NULL && is_numeric($arg)) {
+    $node = node_load($arg);
+  }
+
+  if (isset($node->book) && $node->book['bid'] > 0) {
+    if (! _book_outline_access($node) || ! user_access('show book reorder link')) {
+      return false;
     }
 
-    if (isset($node->book) && $node->book['bid'] > 0) {
-        if (! _book_outline_access($node) || ! user_access('show book reorder link')) {return false;}
-
-    
-        // Cheching permissions according to rules/
-        $book = $node->book;
-        $linkVisibilty = variable_get('book_made_simple_reorder_link', "0");
-        $allowed = true;
-        if ($linkVisibilty == "0") {
-            $mainBook = $book;
-            if ($book['nid'] != $book['bid']) {$mainBook = node_load($book['bid'])->book;}    
-            $allowed = (count(book_toc($mainBook['bid'],array(),9999)) > 2);
-        }
-        return $allowed;
-    }    
-    return false;
+    // Cheching permissions according to rules/
+    $book = $node->book;
+    $linkVisibilty = variable_get('book_made_simple_reorder_link', "0");
+    $allowed = true;
+    if ($linkVisibilty == "0") {
+      $mainBook = $book;
+      if ($book['nid'] != $book['bid']) {
+        $mainBook = node_load($book['bid'])->book;
+      }    
+      $allowed = (count(book_toc($mainBook['bid'],array(),9999)) > 2);
+    }
+    return $allowed;
+  }
+  return false;
 }
 
 /**
-* Shortcut to reorder book page
-*/
+ * Shortcut to reorder book page
+ */
 function book_made_simple_reorder($id) {
-    $node = node_load($id);
-    drupal_goto("admin/content/book/" . $node->book['bid'] , "destination=node/" . $node->nid);
+  $node = node_load($id);
+  drupal_goto("admin/content/book/" . $node->book['bid'] , "destination=node/" . $node->nid);
 }
+
 /**
-* Implementation of hook_settings_form).
-*/
+ * Implementation of hook_settings_form).
+ */
 function book_made_simple_settings_form() {
-    $types = node_get_types("names");
-    $form['book_made_simple'] = array(
+  $types = node_get_types("names");
+  $form['book_made_simple'] = array(
+    '#type' => 'fieldset',
+    '#attributes' => array('class' => 'allowed-child'),
+    '#title' => t('Select node types that can be included in a book'),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+    '#description' => t('Check content-type that can be included as child in a book. This selection is overriden by selection in content-type settings.'),
+  );
+
+  $form['book_made_simple']['book_made_simple_add_types'] = array(
+    '#type' => 'checkboxes',   
+    '#options' => $types,
+    '#multiple' => true,
+    '#default_value' => variable_get('book_made_simple_add_types', array()),
+  );
+
+  $form['book_made_simple2'] = array(
+    '#type' => 'fieldset',
+    '#attributes' => array('class' => 'auto-main'),
+    '#title' => t('Select node types to auto-create main book page'),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+    '#description' => t('Check content-types if you want they will automatically be created as main page of a book.'),
+  );
+  $form['book_made_simple2']['book_made_simple_auto_main_page'] = array(
+    '#type' => 'checkboxes',   
+    '#options' => $types,
+    '#multiple' => true,
+    '#default_value' => variable_get('book_made_simple_auto_main_page', array()),
+  );
+
+  $form['book_made_simple3'] = array(
+    '#type' => 'fieldset',
+    '#attributes' => array('class' => 'other-settings'),
+    '#title' => t('Other settings'),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+  );
+  $form['book_made_simple3']['book_made_simple_admin_use_css'] = array(
+    '#type' => 'checkbox',   
+    '#title' => t('Disable BMS settings layout'),
+    '#default_value' => variable_get('book_made_simple_admin_use_css', false),
+    '#description' => t('Check to disable BMS layout (content types as columns).'),
+  );
+  $form['book_made_simple3']['book_made_simple_hide_default_add_child'] = array(
+    '#type' => 'checkbox',   
+    '#title' => t('Hide default add child link'),
+    '#default_value' => variable_get('book_made_simple_hide_default_add_child', true),
+    '#description' => t('Check to hide default add child page link.'),
+  );
+  $form['book_made_simple3']['book_made_simple_child_list_style'] = array(
+    '#type' => 'radios',   
+    '#title' => t('Style of child list'),
+    '#options' => array("DDLIST" => t("Dropdown listbox"),"LI" => t("Unordered list"),"THEME" => t("Themeable function")),
+    '#default_value' => variable_get('book_made_simple_child_list_style', "DDLIST"),
+    '#description' => t('Choose the style of the child list.'),
+  );
+  $form['book_made_simple3']['book_made_simple_reorder_link'] = array(
+    '#type' => 'radios',   
+    '#title' => t('Show reorder tab even if book is empty'),
+    '#options' => array("0"=>t("No"),"1" => t("Yes")),
+    '#default_value' => variable_get('book_made_simple_reorder_link', "0"),
+    '#description' => t('Show reorder tab even if book is empty. A book is considered empty when it has less than 2 subpages. In this case, does reordering make sense ?'),
+  );
+  return system_settings_form($form);
+}
+
+/**
+ * Implementation of hook_form_alter().
+ */
+function book_made_simple_form_alter(&$form, $form_state, $form_id) {
+  if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) {
+    $node = $form['#node'];
+    $nid = isset($node->nid) ? $node->nid : 'new';
+    if (array_key_exists($form['type']['#value'], variable_get('book_made_simple_forbid_main_page_creation', array())) && $user->uid != 1) {
+      unset($form['book']['bid']['#options'][$nid]);
+      // The following two lines are to prevent that book_manager module sets the unset item again
+      $form['#node']->nid = isset($form['#node']->nid) ? $form['#node']->nid : '0';
+      $form['#node']->book['original_bid'] = $form['#node']->nid;
+    }
+    $book = $node->book;
+    if (user_access("show core Outline links")) {
+      if (_book_outline_access($node)) {
+        if (isBookAccess(null, $node)) {
+          $form['book']['reorder'] = array(
+            '#type' => 'item',
+            '#value' => l(t("Reorder the book"), "admin/content/book/" . $book['bid'] , array('query' =>"destination=node/" . $node->nid)),
+            '#description' => t("Shortcut to reorder the entire book"),
+            '#weight' => 10,
+          );
+        }
+      }
+    }    
+    else {$form['book']['#type'] = 'hidden';}
+    return $form;
+  }
+
+  switch ($form["#id"]) {
+    case "node-type-form" : // $type . '_node_settings': 
+      $type = $form["#node_type"]->type;
+      $default = array_key_exists($type,variable_get('book_made_simple_auto_main_page',array()));
+      $form['book_made_simple'] = array(
         '#type' => 'fieldset',
+        '#attributes' => array('class' => 'bms-fieldset'),   
+        '#title' => t('BookMadeSimple'),
+        '#collapsible' => TRUE,
+        '#collapsed' => TRUE,
+      );
+      $form['book_made_simple']['1'] = array(
         '#attributes' => array('class' => 'allowed-child'),
-        '#title' => t('Select node types that can be included in a book'),
+        '#type' => 'fieldset',
+        '#title' => t('Select content-types allowed as child.'),
         '#collapsible' => TRUE,
         '#collapsed' => FALSE,
-        '#description' => t('Check content-type that can be included as child in a book. This selection is overriden by selection in content-type settings.'),
-    );
+      );
 
-    $form['book_made_simple']['book_made_simple_add_types'] = array(
+      $types = node_get_types("names");
+      $form['book_made_simple']['1']['book_made_simple_for_type'] = array(
         '#type' => 'checkboxes',   
         '#options' => $types,
         '#multiple' => true,
-        '#default_value' => variable_get('book_made_simple_add_types', array()),
-    );
+        '#default_value' => variable_get('book_made_simple_for_type_' . $type, array()),
+      );
 
-    $form['book_made_simple2'] = array(
+      $aa = array();
+      unset($types[$type]);
+
+      foreach ($types as $ctype => $name) {
+        $a = variable_get('book_made_simple_for_type_' . $ctype, array());
+        if (array_search($type,$a) !== FALSE) {
+          array_push($aa,$ctype);
+        }
+      }
+      $form['book_made_simple']['2'] = array(
+        '#attributes' => array('class' => 'allowed-child'),
+        '#title' => t('Select content-types allowed as parent'),
         '#type' => 'fieldset',
-        '#attributes' => array('class' => 'auto-main'),
-        '#title' => t('Select node types to auto-create main book page'),
         '#collapsible' => TRUE,
         '#collapsed' => FALSE,
-        '#description' => t('Check content-types if you want they will automatically be created as main page of a book.'),
-        );
-    $form['book_made_simple2']['book_made_simple_auto_main_page'] = array(
+      );
+      $form['book_made_simple']['2']['book_made_simple_for_book'] = array(
         '#type' => 'checkboxes',   
         '#options' => $types,
         '#multiple' => true,
-        '#default_value' => variable_get('book_made_simple_auto_main_page', array()),
-    );
-    $form['book_made_simple3'] = array(
+        '#default_value' => $aa,
+      );
+
+      $form['book_made_simple']['3'] = array(
+        '#attributes' => array('class' =>'bms-other-settings'),   
         '#type' => 'fieldset',
-        '#attributes' => array('class' => 'other-settings'),
-        '#title' => t('Other settings'),
         '#collapsible' => TRUE,
         '#collapsed' => FALSE,
-        );
-    $form['book_made_simple3']['book_made_simple_admin_use_css'] = array(
-        '#type' => 'checkbox',   
-        '#title' => t('Disable BMS settings layout'),
-        '#default_value' => variable_get('book_made_simple_admin_use_css', false),
-        '#description' => t('Check to disable BMS layout (content types as columns).'),
-    );  
-    $form['book_made_simple3']['book_made_simple_hide_default_add_child'] = array(
-        '#type' => 'checkbox',   
-        '#title' => t('Hide default add child link'),
-        '#default_value' => variable_get('book_made_simple_hide_default_add_child', true),
-        '#description' => t('Check to hide default add child page link.'),
-    );  
-    $form['book_made_simple3']['book_made_simple_child_list_style'] = array(
-        '#type' => 'radios',   
-        '#title' => t('Style of child list'),
-        '#options' => array("DDLIST" => t("Dropdown listbox"),"LI" => t("Unordered list"),"THEME" => t("Themeable function")),
-        '#default_value' => variable_get('book_made_simple_child_list_style', "DDLIST"),
-        '#description' => t('Choose the style of the child list.'),
-    );  
-    $form['book_made_simple3']['book_made_simple_reorder_link'] = array(
-        '#type' => 'radios',   
-        '#title' => t('Show reorder tab even if book is empty'),
-        '#options' => array("0"=>t("No"),"1" => t("Yes")),
-        '#default_value' => variable_get('book_made_simple_reorder_link', "0"),
-        '#description' => t('Show reorder tab even if book is empty. A book is considered empty when it has less than 2 subpages. In this case, does reordering make sense ?'),
-    );  
-    return system_settings_form($form);
-}
-
-/**
-* Implementation of hook_form_alter().
-*/
-function book_made_simple_form_alter(&$form, $form_state, $form_id) {
-    if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) {
-            $node = $form['#node'];
-            $nid = isset($node->nid) ? $node->nid : 'new';
-            if (array_key_exists($form['type']['#value'], variable_get('book_made_simple_forbid_main_page_creation', array())) && $user->uid != 1) {
-                unset($form['book']['bid']['#options'][$nid]);
-                // The following two lines are to prevent that book_manager module sets the unset item again
-                $form['#node']->nid = isset($form['#node']->nid) ? $form['#node']->nid : '0';
-                $form['#node']->book['original_bid'] = $form['#node']->nid;
-            }
-            $book = $node->book;
-            if (user_access("show core Outline links")) {
-                if (_book_outline_access($node)) {
-                    if (isBookAccess(null, $node)) {
-                        $form['book']['reorder'] = array(
-                            '#type' => 'item',
-                            '#value' => l(t("Reorder the book"), "admin/content/book/" . $book['bid'] , array('query' =>"destination=node/" . $node->nid)),
-                            '#description' => t("Shortcut to reorder the entire book"),
-                            '#weight' => 10,
-                        );
-                    }
-                }
-            }    
-            else {$form['book']['#type'] = 'hidden';}
-            return $form;
-    }
+      );
 
-    switch ($form["#id"]) {
-        case "node-type-form" : // $type . '_node_settings': 
-            $type = $form["#node_type"]->type;
-            $default = array_key_exists($type,variable_get('book_made_simple_auto_main_page',array()));
-            $form['book_made_simple'] = array(
-                '#type' => 'fieldset',
-                '#attributes' => array('class' => 'bms-fieldset'),   
-                '#title' => t('BookMadeSimple'),
-                '#collapsible' => TRUE,
-                '#collapsed' => TRUE,
-            );
-            $form['book_made_simple']['1'] = array(
-				'#attributes' => array('class' => 'allowed-child'),
-                '#type' => 'fieldset',
-                '#title' => t('Select content-types allowed as child.'),
-                '#collapsible' => TRUE,
-                '#collapsed' => FALSE,
-            );
-
-            $types = node_get_types("names");
-            $form['book_made_simple']['1']['book_made_simple_for_type'] = array(
-                '#type' => 'checkboxes',   
-                '#options' => $types,
-                '#multiple' => true,
-                '#default_value' => variable_get('book_made_simple_for_type_' . $type, array()),
-            );
-
-            $aa = array();
-            unset($types[$type]);
-    
-            foreach ($types as $ctype => $name) {
-                $a = variable_get('book_made_simple_for_type_' . $ctype, array());
-                if (array_search($type,$a) !== FALSE) {array_push($aa,$ctype);}
-            }
-            $form['book_made_simple']['2'] = array(
-				'#attributes' => array('class' => 'allowed-child'),
-                '#title' => t('Select content-types allowed as parent'),
-                '#type' => 'fieldset',
-                '#collapsible' => TRUE,
-                '#collapsed' => FALSE,
-            );
-            $form['book_made_simple']['2']['book_made_simple_for_book'] = array(
-                '#type' => 'checkboxes',   
-                '#options' => $types,
-                '#multiple' => true,
-                '#default_value' => $aa,
-            );
-
-            $form['book_made_simple']['3'] = array(
-                '#attributes' => array('class' =>'bms-other-settings'),   
-                '#type' => 'fieldset',
-                '#collapsible' => TRUE,
-                '#collapsed' => FALSE,
-            );
-
-            $varTypes = variable_get('book_made_simple_auto_main_page',array());
-            $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
-            $form['book_made_simple']['3']['book_made_simple_auto_main_page'] = array(
-                '#attributes' => array('style' =>'float:none;clear:both'),   
-                '#type' => 'checkbox',
-                '#title' => t('Auto create book main page'),
-                '#default_value' => $default,
-                '#description' => t('Checked will create a new book main page when adding.'),);
-
-            $varTypes = variable_get('book_made_simple_forbid_main_page_creation', array());
-            $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
-            $form['book_made_simple']['3']['book_made_simple_forbid_main_page_creation'] = array(
-                '#type' => 'checkbox',
-                '#title' => t('Forbid creation of book main page'),
-                '#default_value' => $default,
-                '#description' => t('Checked will prevent books from being manually created with this content type as main page type.'),);
-                
-            $varTypes = variable_get('book_made_simple_add_types',array());
-            $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
-            $form['book_made_simple']['3']['book_made_simple_add_types'] = array(
-                '#type' => 'checkbox',
-                '#title' => t('Allow content type as child of default book.'),
-                '#default_value' => $default,
-                '#description' => t('Checked will add this content-type to books where no content-types has been selected.'),
-            );
-    
-            array_push($form['#submit'],"book_made_simple_form_submit");
-            break;
-    } // endswitch $form_id
+      $varTypes = variable_get('book_made_simple_auto_main_page',array());
+      $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
+      $form['book_made_simple']['3']['book_made_simple_auto_main_page'] = array(
+        '#attributes' => array('style' =>'float:none;clear:both'),   
+        '#type' => 'checkbox',
+        '#title' => t('Auto create book main page'),
+        '#default_value' => $default,
+        '#description' => t('Checked will create a new book main page when adding.'),
+      );
+
+      $varTypes = variable_get('book_made_simple_forbid_main_page_creation', array());
+      $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
+      $form['book_made_simple']['3']['book_made_simple_forbid_main_page_creation'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Forbid creation of book main page'),
+        '#default_value' => $default,
+        '#description' => t('Checked will prevent books from being manually created with this content type as main page type.'),
+      );
+          
+      $varTypes = variable_get('book_made_simple_add_types',array());
+      $default = (array_key_exists($type, $varTypes) && $varTypes[$type] != "0");
+      $form['book_made_simple']['3']['book_made_simple_add_types'] = array(
+        '#type' => 'checkbox',
+        '#title' => t('Allow content type as child of default book.'),
+        '#default_value' => $default,
+        '#description' => t('Checked will add this content-type to books where no content-types has been selected.'),
+      );
+
+      array_push($form['#submit'],"book_made_simple_form_submit");
+      break;
+  } // endswitch $form_id
 } // endfunction book_made_simple_form_alter()
 
 /**
-* Implementation of hook_form_submit().
-*/
+ * Implementation of hook_form_submit().
+ */
 function book_made_simple_form_submit($form, &$form_state) {
-    $values = $form_state["values"];
-    $text = $values["book_made_simple_auto_main_page"];
-    $type = $values["type"];
-    variable_del("book_made_simple_add_types_" . $type);
-    variable_del("book_made_simple_auto_main_page_" . $type);
-    $types = variable_get('book_made_simple_auto_main_page', array());
-    if ($text != "0") {$types[$type]= $type;}
-    else {unset($types[$type]);}
-    variable_set('book_made_simple_auto_main_page', $types);
-
-
-    $text = $values["book_made_simple_forbid_main_page_creation"];
-    $type = $values["type"];
-    variable_del("book_made_simple_forbid_main_page_creation_" . $type);
-    $types = variable_get('book_made_simple_forbid_main_page_creation', array());
-    if ($text != "0") {$types[$type]= $type;}
-    else {unset($types[$type]);}
-    variable_set('book_made_simple_forbid_main_page_creation', $types);
-    
-    
-    $text = $values["book_made_simple_add_types"];
-    $types = variable_get('book_made_simple_add_types', array());
-    if ($text != "0") {$types[$type]= $type;}
-    else {unset($types[$type]);}
-    variable_set('book_made_simple_add_types', $types);
-
-    $text = $values["book_made_simple_for_type"];
-    if (count($text) == 0) {variable_del("book_made_simple_for_type_" . $type);}
-
-    $types = node_get_types("names");
-    $saved = $values["book_made_simple_for_book"];
-    $a2 = array();
-    foreach ($types as $ctype => $name) {
-        if ($ctype != $type) {
-            $a = variable_get('book_made_simple_for_type_' . $ctype, array());
-            $ind = array_search($type,$a);
-            if ($ind !== FALSE) {unset($a[$ind]);}
-            variable_set('book_made_simple_for_type_' . $ctype, $a);
-        }
+  $values = $form_state["values"];
+  $text = $values["book_made_simple_auto_main_page"];
+  $type = $values["type"];
+  variable_del("book_made_simple_add_types_" . $type);
+  variable_del("book_made_simple_auto_main_page_" . $type);
+  $types = variable_get('book_made_simple_auto_main_page', array());
+  if ($text != "0") {
+    $types[$type]= $type;
+  }
+  else {
+    unset($types[$type]);
+  }
+  variable_set('book_made_simple_auto_main_page', $types);
+
+
+  $text = $values["book_made_simple_forbid_main_page_creation"];
+  $type = $values["type"];
+  variable_del("book_made_simple_forbid_main_page_creation_" . $type);
+  $types = variable_get('book_made_simple_forbid_main_page_creation', array());
+  if ($text != "0") {
+    $types[$type]= $type;
+  }
+  else {
+    unset($types[$type]);
+  }
+  variable_set('book_made_simple_forbid_main_page_creation', $types);
+  
+  
+  $text = $values["book_made_simple_add_types"];
+  $types = variable_get('book_made_simple_add_types', array());
+  if ($text != "0") {
+    $types[$type]= $type;
+  }
+  else {
+    unset($types[$type]);
+  }
+  variable_set('book_made_simple_add_types', $types);
+
+  $text = $values["book_made_simple_for_type"];
+  if (count($text) == 0) {
+    variable_del("book_made_simple_for_type_" . $type);
+  }
+
+  $types = node_get_types("names");
+  $saved = $values["book_made_simple_for_book"];
+  $a2 = array();
+  foreach ($types as $ctype => $name) {
+    if ($ctype != $type) {
+      $a = variable_get('book_made_simple_for_type_' . $ctype, array());
+      $ind = array_search($type,$a);
+      if ($ind !== FALSE) {
+        unset($a[$ind]);
+      }
+      variable_set('book_made_simple_for_type_' . $ctype, $a);
     }
-    foreach ($saved as $ctype => $name) {
-        if ($name != "0") { 
-            $a = variable_get('book_made_simple_for_type_' . $ctype, array());
-            $a[$type]= $type;
-            variable_set('book_made_simple_for_type_' . $ctype, $a);
-        }
-    }    
-    variable_del("book_made_simple_for_book_" . $type);
+  }
+  foreach ($saved as $ctype => $name) {
+    if ($name != "0") { 
+      $a = variable_get('book_made_simple_for_type_' . $ctype, array());
+      $a[$type]= $type;
+      variable_set('book_made_simple_for_type_' . $ctype, $a);
+    }
+  }    
+  variable_del("book_made_simple_for_book_" . $type);
 
 }
 
 /**
-* Implementation of hook_link(). Add dropdown listbox to links
-*/
+ * Implementation of hook_link(). Add dropdown listbox to links
+ */
 function book_made_simple_link($type, $node = null, $teaser = false) {
-    $links = array();
-    if ($type == 'node' && !$teaser && isset($node->book["bid"]) && user_access('add content to books') && $node->status == 1 && $node->book['depth'] < MENU_MAX_DEPTH) {
-        $html = "";
-        $allowedTypes = array();
-        // Search for content-type for this one
-        
-        $aTypes = variable_get('book_made_simple_for_type_' . $node->type, array());
-        $style =  variable_get('book_made_simple_child_list_style', "DDLIST");
-        // No content-type, so print all
-        if (count($aTypes) == 0) {
-            $aTypes = variable_get('book_made_simple_add_types', array());        
-        }
-        foreach ($aTypes as $allowedType => $allowedName) {
-            $type  = node_get_types("type",$allowedName);
-            if (node_access('create', $type->type)) {
-                $allowedTypes[str_replace("_","-",$type->type)] = $type->name;
-            }
-        }
-        
-        
-        $book_link = $node->book;
-        if (count($allowedTypes) > 0) {
-            asort($allowedTypes,SORT_STRING);
-            
-            if ($style == "LI") {
-                foreach ($allowedTypes as $type => $name ) {
-                    $links['book_add_' . $type] = array(
-                    'title' => t('Add !content-type', array('!content-type' => t($name))),
-                    'href' => "node/add/". $type,
-                    'query' => "parent=". $node->book['mlid'],
-                    ); 
-                }
-            }
-            elseif ($style == "DDLIST") {
-                $links['book_made_simple'] = array(
-                    'title' => "<span id='book_made_simple'>" . book_made_simple_add_child_book_content_types_ddlist($allowedTypes, $node)  . "</span>",
-                    'html'=>true);
-            }
-            else {
-                $links['book_made_simple'] = array(
-                    'title' => theme('add_child_book_content_types',$allowedTypes, $node),
-                    'html'=>true);
-            }
+  $links = array();
+  if ($type == 'node' && !$teaser && isset($node->book["bid"]) && user_access('add content to books') && $node->status == 1 && $node->book['depth'] < MENU_MAX_DEPTH) {
+    $html = "";
+    $allowedTypes = array();
+    // Search for content-type for this one
+    
+    $aTypes = variable_get('book_made_simple_for_type_' . $node->type, array());
+    $style =  variable_get('book_made_simple_child_list_style', "DDLIST");
+    // No content-type, so print all
+    if (count($aTypes) == 0) {
+      $aTypes = variable_get('book_made_simple_add_types', array());        
+    }
+    foreach ($aTypes as $allowedType => $allowedName) {
+      $type  = node_get_types("type",$allowedName);
+      if (node_access('create', $type->type)) {
+        $allowedTypes[str_replace("_","-",$type->type)] = $type->name;
+      }
+    }
+    
+    
+    $book_link = $node->book;
+    if (count($allowedTypes) > 0) {
+      asort($allowedTypes,SORT_STRING);
+
+      if ($style == "LI") {
+        foreach ($allowedTypes as $type => $name ) {
+          $links['book_add_' . $type] = array(
+            'title' => t('Add !content-type', array('!content-type' => t($name))),
+            'href' => "node/add/". $type,
+            'query' => "parent=". $node->book['mlid'],
+          ); 
         }
+      }
+      elseif ($style == "DDLIST") {
+        $links['book_made_simple'] = array(
+          'title' => "<span id='book_made_simple'>" . book_made_simple_add_child_book_content_types_ddlist($allowedTypes, $node)  . "</span>",
+          'html'=>true
+        );
+      }
+      else {
+        $links['book_made_simple'] = array(
+          'title' => theme('add_child_book_content_types',$allowedTypes, $node),
+          'html'=>true
+        );
+      }
     }
-    $links["book_add_child"] = array();
-    return $links;
+  }
+  $links["book_add_child"] = array();
+  return $links;
 
 }
 
 /**
-* Implementation of hook_theme().
-*/
+ * Implementation of hook_theme().
+ */
 function book_made_simple_theme() {
 return array(
-    'add_child_book_content_types' => array(
-    'arguments' => array('allowedTypes' => NULL, "node"=>null),
+  'add_child_book_content_types' => array(
+    'arguments' => array(
+      'allowedTypes' => NULL, "node"=>null),
     ),
-);
+  );
 }
 
 /**
-* Themeable function to display alloawed child types of book().
-* @param $allowedTypes
-*   Array of allowed child type.
-* @param $node
-*   Source node
-* @return 
-*   Html code to display allowed child type
-
-*/
+ * Themeable function to display alloawed child types of book().
+ * @param $allowedTypes
+ *   Array of allowed child type.
+ * @param $node
+ *   Source node
+ * @return 
+ *   Html code to display allowed child type
+ */
 function theme_add_child_book_content_types($allowedTypes, &$node) {
-    return "";
+  return "";
 }
 
 /**
-* Display alloawed child type as dropdown listbox.
-*/
+ * Display alloawed child type as dropdown listbox.
+ */
 function book_made_simple_add_child_book_content_types_ddlist($allowedTypes, &$node) {
-    $child_type = variable_get('book_child_type', 'book');
-    $html = "<option value='" . str_replace('_', '-', $child_type) . "'>" . t("Add child page") . "</option>";        
-    foreach ($allowedTypes as $type => $name ) {
-        $html .= "<option value='" .$type ."'>" . t($name) . "</option>";
-    }
-    $isCleanUrl = variable_get('clean_url', 0);
-    $url = url("node/add/");
-    $op = "&";
-    if ($isCleanUrl) {$op = "?";}
-    $newUrl =  $url ."\" + this.value + \"" . $op . "parent=" . $node->book["mlid"];
-    return "<select onchange='location.href=\"" . $newUrl . "\"'>$html</select>";
-        
+  $child_type = variable_get('book_child_type', 'book');
+  $html = "<option value='" . str_replace('_', '-', $child_type) . "'>" . t("Add child page") . "</option>";        
+  foreach ($allowedTypes as $type => $name ) {
+    $html .= "<option value='" .$type ."'>" . t($name) . "</option>";
+  }
+  $isCleanUrl = variable_get('clean_url', 0);
+  $url = url("node/add/");
+  $op = "&";
+  if ($isCleanUrl) {
+    $op = "?";
+  }
+  $newUrl =  $url ."\" + this.value + \"" . $op . "parent=" . $node->book["mlid"];
+  return "<select onchange='location.href=\"" . $newUrl . "\"'>$html</select>";  
 }
 /**
-* Implementation of hook_nodeapi().
-*/
+ * Implementation of hook_nodeapi().
+ */
 function book_made_simple_nodeapi(&$node, $op, $teaser, $page) {
-if (empty($node->book["bid"])) {
-    $type = $node->type;
-    switch ($op) {
-        // Node creation
-        case 'insert':
-            if ((user_access('add content to books') || user_access('administer book outlines')) && node_access('create', $type) &&  $node->book['depth'] < MENU_MAX_DEPTH) {
-                $bookTypes = variable_get('book_made_simple_auto_main_page',array());
-                $bookType = $bookTypes[$type];
-                $toCreate = false;
-                if (null != $bookType && $bookType != "0") {$toCreate = true;}
-                if ($toCreate && ! isset($_GET['parent'])) {
-                    $node->book["bid"] = $node->nid;
-                    $node->book['nid'] = $node->nid;
-                    $node->book['module'] = 'book';
-                    $node->book['menu_name'] = book_menu_name($node->book['bid']);
-                    _book_update_outline($node);
-                }
+  if (empty($node->book["bid"])) {
+  $type = $node->type;
+  switch ($op) {
+    // Node creation
+    case 'insert':
+      if ((user_access('add content to books') || user_access('administer book outlines')) && node_access('create', $type) &&  $node->book['depth'] < MENU_MAX_DEPTH) {
+        $bookTypes = variable_get('book_made_simple_auto_main_page',array());
+        $bookType = $bookTypes[$type];
+        $toCreate = false;
+        if (null != $bookType && $bookType != "0") {$toCreate = true;}
+        if ($toCreate && ! isset($_GET['parent'])) {
+          $node->book["bid"] = $node->nid;
+          $node->book['nid'] = $node->nid;
+          $node->book['module'] = 'book';
+          $node->book['menu_name'] = book_menu_name($node->book['bid']);
+          _book_update_outline($node);
+        }
+      }
+      break;
+
+    // Hack for translation module. Adding parent property to automatically select parent book.
+    case "prepare translation":        
+      $translation = $node->translation_source;
+      if (isset($translation->book) && (! isset($_GET["parent"]))) {
+        // get parent menu link for the node + language
+        $plid = $translation->book['plid'];
+        $parentPage = book_link_load($plid);
+        if (isset($parentPage) && $parentPage > 0) {
+          $pnid = $parentPage['nid'];
+          if (isset($pnid) && $pnid <> "") {
+            $query= "SELECT bid, mlid FROM {node} n left join {book} b on b.nid = n.nid where tnid= $pnid and language='" . $node->language . "'";
+            $translatedParent = db_fetch_object(db_query($query));
+            if ($translatedParent) {
+              $mlid = $translatedParent->mlid;
+              $params = array();
+              $params[] = "parent=$mlid";
+              foreach ($_GET as $key => $value) {
+                if ($key == "q") {$path = $value;}
+                else {$params[] = $key . "=" . $value;}
+              }
+              $queryString = implode("&",$params);
+              drupal_goto($path, $queryString);
+              $ok = true;
             }
-            break;
-        // Hack for translation module. Adding parent property to automatically select parent book.
-        case "prepare translation":        
-            $translation = $node->translation_source;
-            if (isset($translation->book) && (! isset($_GET["parent"]))) {
-                // get parent menu link for the node + language
-                $plid = $translation->book['plid'];
-                $parentPage = book_link_load($plid);
-                if (isset($parentPage) && $parentPage > 0) {
-                    $pnid = $parentPage['nid'];
-                    if (isset($pnid) && $pnid <> "") {
-                        $query= "SELECT bid, mlid FROM {node} n left join {book} b on b.nid = n.nid where tnid= $pnid and language='" . $node->language . "'";
-                        $translatedParent = db_fetch_object(db_query($query));
-                        if ($translatedParent) {
-                            $mlid = $translatedParent->mlid;
-                            $params = array();
-                            $params[] = "parent=$mlid";
-                            foreach ($_GET as $key => $value) {
-                                if ($key == "q") {$path = $value;}
-                                else {$params[] = $key . "=" . $value;}
-                            }
-                            $queryString = implode("&",$params);
-                            drupal_goto($path, $queryString);
-                            $ok = true;
-                        }
-                        else  {
-                            drupal_set_message(t("This node has no translated parent, so no book selected"),"warning");                            
-                        }
-                    }
-                }
+            else  {
+              drupal_set_message(t("This node has no translated parent, so no book selected"),"warning");                            
             }
-            break;
+          }
+        }
+      }
+      break;
     }
-}
-else {
+  }
+  else {
     switch ($op) {
-        // Hide standard add Child link        
-        case 'alter':
-            if (($node->links) && variable_get('book_made_simple_hide_default_add_child',true)) {
-                if (array_key_exists("book_add_child",$node->links))  {
-                    unset($node->links["book_add_child"]);
-                }            
-            }
-            break;
-
+      // Hide standard add Child link        
+      case 'alter':
+        if (($node->links) && variable_get('book_made_simple_hide_default_add_child',true)) {
+          if (array_key_exists("book_add_child",$node->links))  {
+            unset($node->links["book_add_child"]);
+          }            
+        }
+        break;
     }
-}
+  }
 }
 
 function book_made_simple_theme_registry_alter(&$theme_registry) {
-global $theme;
+  global $theme;
 
-    $theme_registry['BMS']['menu_item_link'] = $theme_registry['menu_item_link'];
-    // Replace them with our own. These will "preprocess" and call the real functions.
-    $theme_registry['menu_item_link']['function'] = 'book_made_simple_theme_menu_item_link';
+  $theme_registry['BMS']['menu_item_link'] = $theme_registry['menu_item_link'];
+  // Replace them with our own. These will "preprocess" and call the real functions.
+  $theme_registry['menu_item_link']['function'] = 'book_made_simple_theme_menu_item_link';
 }
 
 /**
-* Preprocessor for menu_item_link.
-* Adds an ID attribute to menu links and helps the module
-* follow the recursion of menu_tree_output().
-*/
+ * Preprocessor for menu_item_link.
+ * Adds an ID attribute to menu links and helps the module
+ * follow the recursion of menu_tree_output().
+ */
 
 function book_made_simple_theme_menu_item_link($link) {
-// Find out which theme function to dispatch to after preprocessing.
-    $registry = theme_get_registry();
-    if ($link['path'] == 'node/%/outline' && ! user_access("show core Outline links")) {return null;}
-    $function = $registry['BMS']['menu_item_link']['function'];
-    if ($function) {return $function($link);}
-    return theme_menu_item_link($link);
+  // Find out which theme function to dispatch to after preprocessing.
+  $registry = theme_get_registry();
+  if ($link['path'] == 'node/%/outline' && ! user_access("show core Outline links")) {
+    return null;
+  }
+  $function = $registry['BMS']['menu_item_link']['function'];
+  if ($function) {
+    return $function($link);
+  }
+  return theme_menu_item_link($link);
 }
 
