diff --git a/includes/menu.inc b/includes/menu.inc index 71db7aee0b6..0a19ad75d93 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -1210,6 +1210,16 @@ function _menu_append_contextual_items() { $new_items[$temp_mid] = $item; $temp_mid--; } + else { + $mid = $_menu['path index'][$item['path']]; + if ($_menu['items'][$mid]['type'] & MENU_CREATED_BY_ADMIN) { + $_menu['items'][$mid]['access'] = $item['access']; + $_menu['items'][$mid]['callback'] = $item['callback']; + if (isset($_menu['items'][$mid]['callback arguments'])) { + $_menu['items'][$mid]['callback arguments'] = $item['callback arguments']; + } + } + } } // Establish parent-child relationships. diff --git a/modules/node.module b/modules/node.module index 1dd230f34af..3cd00a5e5dc 100644 --- a/modules/node.module +++ b/modules/node.module @@ -946,7 +946,7 @@ function node_menu($may_cache) { 'access' => node_access('view', $node), 'type' => MENU_CALLBACK); $items[] = array('path' => 'node/'. arg(1) .'/view', 'title' => t('view'), - 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10, 'access' => node_access('view', $node)); + 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10); $items[] = array('path' => 'node/'. arg(1) .'/edit', 'title' => t('edit'), 'callback' => 'node_page', 'access' => node_access('update', $node), diff --git a/modules/node/node.module b/modules/node/node.module index 1dd230f34af..3cd00a5e5dc 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -946,7 +946,7 @@ function node_menu($may_cache) { 'access' => node_access('view', $node), 'type' => MENU_CALLBACK); $items[] = array('path' => 'node/'. arg(1) .'/view', 'title' => t('view'), - 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10, 'access' => node_access('view', $node)); + 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10); $items[] = array('path' => 'node/'. arg(1) .'/edit', 'title' => t('edit'), 'callback' => 'node_page', 'access' => node_access('update', $node),