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:23:34 -0000
@@ -184,7 +184,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':
@@ -211,7 +211,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');
}
/**
@@ -694,7 +694,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'];
@@ -769,10 +769,12 @@ function menu_form_alter($form_id, &$for
'#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']}"))),
+ );
+ }
}
}
}