Index: modules/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.64
diff -u -p -r1.64 menu.module
--- modules/menu.module	19 Jan 2006 08:58:00 -0000	1.64
+++ modules/menu.module	24 Jan 2006 01:09:05 -0000
@@ -93,7 +93,6 @@ function menu_help($section) {
   }
 }
 
-
 /**
  * Menu callback; presents menu configuration options.
  */
@@ -183,8 +182,7 @@ function menu_block($op = 'list', $delta
  * Implementation of hook_nodeapi().
  */
 function menu_nodeapi(&$node, $op) {
-
-  if (user_access('administer menu')) {
+  if (user_access('administer menu') && (variable_get("menu_$node->type", 1) == 1)) {
     switch ($op) {
       case 'insert':
       case 'update':
@@ -694,7 +692,7 @@ function menu_parent_options($mid, $pid 
  * Add menu item fields to the node form.
  */
 function menu_form_alter($form_id, &$form) {
-  if (user_access('administer menu') && isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
+  if (user_access('administer menu') && (variable_get('menu_'. $form['type']['#value'], 1) == 1) && isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
     $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
     $edit['nid'] = $form['nid']['#value'];
 
@@ -775,6 +773,16 @@ function menu_form_alter($form_id, &$for
       );
     }
   }
+
+  if (isset($form['type']) && $form['type']['#value'] .'_node_settings' == $form_id) {
+    $form['workflow']['menu_'. $form['type']['#value']] = array(
+      '#type' => 'radios',
+      '#title' => t('Menu settings pane'),
+      '#default_value' => variable_get('menu_'. $form['type']['#value'], 1),
+      '#options' => array(t('Disabled'), t('Enabled')),
+      '#description' => t('Toggles display of the menu settings pane. When disabled, menu items for this content type can only be managed through the menu administration page.'),
+    );
+  }
 }
 
 /**
