Index: modules/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.50
diff -u -p -r1.50 menu.module
--- modules/menu.module	4 Dec 2005 08:00:13 -0000	1.50
+++ modules/menu.module	4 Dec 2005 13:09:07 -0000
@@ -94,7 +94,6 @@ function menu_help($section) {
   }
 }
 
-
 /**
  * Menu callback; presents menu configuration options.
  */
@@ -162,6 +161,18 @@ function menu_configure() {
   return system_settings_form('menu_configure', $form);
 }
 
+function menu_form_alter($form_id, &$form) {
+  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.'),
+    );
+  }
+}
+
 /**
  * Implementation of hook_block().
  */
@@ -189,8 +200,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 'form':
         $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
