Index: modules/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.56
diff -u -p -r1.56 menu.module
--- modules/menu.module	15 Dec 2005 21:53:49 -0000	1.56
+++ modules/menu.module	16 Dec 2005 01:31:54 -0000
@@ -190,7 +190,7 @@ function menu_block($op = 'list', $delta
  */
 function menu_nodeapi(&$node, $op) {
 
-  if (user_access('administer menu')) {
+  if (user_access('administer menu') || user_access('manage menus for own nodes')) {
     switch ($op) {
       case 'insert':
       case 'update':
@@ -217,7 +217,7 @@ function menu_nodeapi(&$node, $op) {
  * Implementation of hook_perm().
  */
 function menu_perm() {
-  return array('administer menu');
+  return array('administer menu', 'manage menus for own nodes');
 }
 
 /**
@@ -648,7 +648,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') || user_access('manage menus for own nodes')) && isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
     $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
     $edit['nid'] = $form['nid']['#value'];
 
@@ -723,10 +723,12 @@ function menu_form_alter($form_id, &$for
         '#default_value' => $item['delete'],
       );
 
-      $form['menu']['advanced'] = array(
-        '#type' => 'item',
-        '#value' => t('You may also <a href="%edit">edit the advanced settings</a> for this menu item.', array('%edit' => url("admin/menu/item/edit/{$item['mid']}"))),
-      );
+      if (user_access('administer menu')) {
+        $form['menu']['advanced'] = array(
+          '#type' => 'item',
+          '#value' => t('You may also <a href="%edit">edit the advanced settings</a> for this menu item.', array('%edit' => url("admin/menu/item/edit/{$item['mid']}"))),
+        );
+      }
     }
   }
 }
