summaryrefslogtreecommitdiff
path: root/modules/menu/menu.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/menu/menu.module')
-rw-r--r--modules/menu/menu.module43
1 files changed, 24 insertions, 19 deletions
diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index 151b86f28..384710934 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -146,20 +146,31 @@ function menu_block($op = 'list', $delta = 0) {
}
}
-function menu_node_delete_confirm_submit($form_id, $form_values) {
- menu_node_form_delete($form_values['node']);
- menu_rebuild();
-}
+/**
+ * Implementation of hook_nodeapi().
+ */
+function menu_nodeapi(&$node, $op) {
+
+ if (user_access('administer menu')) {
+ switch ($op) {
+ case 'insert':
+ case 'update':
+ if ($node->menu['delete']) {
+ menu_node_form_delete($node);
+ menu_rebuild();
+ }
+ elseif ($node->menu['title']) {
+ $node->menu['path'] = ($node->menu['path']) ? $node->menu['path'] : "node/$node->nid";
+ menu_edit_item_save($node->menu);
+ menu_rebuild();
+ }
+ break;
-function menu_node_submit($form_id, $node) {
- if ($node->menu['delete']) {
- menu_node_form_delete($node);
- menu_rebuild();
- }
- elseif ($node->menu['title']) {
- $node->menu['path'] = ($node->menu['path']) ? $node->menu['path'] : "node/$node->nid";
- menu_edit_item_save($node->menu);
- menu_rebuild();
+ case 'delete':
+ menu_node_form_delete($node);
+ menu_rebuild();
+ break;
+ }
}
}
@@ -187,8 +198,6 @@ function menu_form_alter($form_id, &$form) {
}
}
- $form['#submit']['menu_node_submit'] = array();
-
$form['menu'] = array('#type' => 'fieldset',
'#title' => t('Menu settings'),
'#access' => user_access('administer menu'),
@@ -249,10 +258,6 @@ function menu_form_alter($form_id, &$form) {
);
}
}
-
- if ($form_id == 'node_delete_confirm') {
- $form['#submit']['menu_node_delete_confirm_submit'] = array();
- }
}
/**