Index: modules/menu/menu.module =================================================================== RCS file: /cvs/drupal/drupal/modules/menu/menu.module,v retrieving revision 1.75 diff -u -d -F^function -r1.75 menu.module --- modules/menu/menu.module 22 Jun 2006 09:50:57 -0000 1.75 +++ modules/menu/menu.module 14 Jul 2006 21:22:10 -0000 @@ -136,7 +136,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 own menu items')) { switch ($op) { case 'insert': case 'update': @@ -163,7 +163,7 @@ function menu_nodeapi(&$node, $op) { * Implementation of hook_perm(). */ function menu_perm() { - return array('administer menu'); + return array('administer menu', 'manage own menu items'); } /** @@ -171,7 +171,7 @@ function menu_perm() { * 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 own menu items')) && isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) { $edit = isset($_POST['edit']) ? $_POST['edit'] : ''; $edit['nid'] = $form['nid']['#value']; @@ -236,10 +236,12 @@ function menu_form_alter($form_id, &$for '#title' => t('Check to delete this menu item.'), '#default_value' => $item['delete'], ); - - $form['menu']['advanced'] = array('#type' => 'item', - '#value' => t('You may also edit the advanced settings 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 edit the advanced settings for this menu item.', array('%edit' => url("admin/menu/item/edit/{$item['mid']}"))), + ); + } } } }