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']}"))),
+ );
+ }
}
}
}