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, 19 insertions, 24 deletions
diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index 936bdbd62..9bb693e01 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -147,31 +147,20 @@ function menu_block($op = 'list', $delta = 0) {
}
}
-/**
- * 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_delete_confirm_submit($form_id, $form_values) {
+ menu_node_form_delete($form_values['node']);
+ menu_rebuild();
+}
- case 'delete':
- menu_node_form_delete($node);
- 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();
}
}
@@ -199,6 +188,8 @@ 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'),
@@ -259,6 +250,10 @@ function menu_form_alter($form_id, &$form) {
);
}
}
+
+ if ($form_id == 'node_delete_confirm') {
+ $form['#submit']['menu_node_delete_confirm_submit'] = array();
+ }
}
/**