From 9df38a58a4430e544e484e74bba37825914317f0 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Wed, 20 May 2009 05:39:45 +0000 Subject: #457080 by moshe weitzman: Add node_delete_multiple() for more efficient deletion of lots of nodes. --- modules/node/node.admin.inc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'modules/node/node.admin.inc') diff --git a/modules/node/node.admin.inc b/modules/node/node.admin.inc index 943dd5c81..60ef89ef5 100644 --- a/modules/node/node.admin.inc +++ b/modules/node/node.admin.inc @@ -620,7 +620,6 @@ function theme_node_admin_nodes($form) { } function node_multiple_delete_confirm(&$form_state, $nodes) { - $form['nodes'] = array('#prefix' => '', '#tree' => TRUE); // array_filter returns only elements with TRUE values foreach ($nodes as $nid => $value) { @@ -645,13 +644,10 @@ function node_multiple_delete_confirm(&$form_state, $nodes) { function node_multiple_delete_confirm_submit($form, &$form_state) { if ($form_state['values']['confirm']) { - foreach ($form_state['values']['nodes'] as $nid => $value) { - node_delete($nid); - } - $message = format_plural(count($form_state['values']['nodes']), - 'The item has been deleted.', - 'The items have been deleted.'); - drupal_set_message($message); + node_delete_multiple(array_keys($form_state['values']['nodes'])); + $count = count($form_state['values']['nodes']); + watchdog('content', 'Deleted @count posts.', array('@count' => $count)); + drupal_set_message(t('Deleted @count posts.', array('@count' => $count))); } $form_state['redirect'] = 'admin/content/node'; return; -- cgit v1.2.3