Index: node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.527 diff -u -F^function -r1.527 node.module --- node.module 2 Sep 2005 02:11:41 -0000 1.527 +++ node.module 15 Sep 2005 22:42:37 -0000 @@ -806,14 +806,23 @@ function node_admin_nodes() { drupal_set_message(t('The items have been deleted.')); } else { - $extra = ''; + // Back to the admin page if no nodes can be deleted. + if (count($list) == 0) { + drupal_goto('admin/node'); + } + $extra = theme('item_list', $list); $extra .= form_hidden('operation', 'delete'); $output = theme('confirm', @@ -1617,7 +1626,13 @@ function node_delete($edit) { watchdog('content', t('%type: deleted %title.', array('%type' => theme('placeholder', t($node->type)), '%title' => theme('placeholder', $node->title)))); } else { - $extra = form_hidden('nid', $node->nid); + $extras = node_invoke_nodeapi($node, 'delete pre'); + // Add extras only if no module has cancelled the deletion. + if (!in_array(FALSE, $extras)) { + $extra = form_hidden('nid', $node->nid) . implode('', $extras); + } else { + drupal_goto('node/'. $node->nid .'/edit'); + } $output = theme('confirm', t('Are you sure you want to delete %title?', array('%title' => theme('placeholder', $node->title))), $_GET['destination'] ? $_GET['destination'] : 'node/'. $node->nid,