summaryrefslogtreecommitdiff
path: root/modules/node/node.admin.inc
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-05-20 05:39:45 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-05-20 05:39:45 +0000
commit9df38a58a4430e544e484e74bba37825914317f0 (patch)
tree4658c1303afb68505d8a76f2f5c1d050212d4e0a /modules/node/node.admin.inc
parent83513d961e358efdb55edd16733679e70f651402 (diff)
downloadbrdo-9df38a58a4430e544e484e74bba37825914317f0.tar.gz
brdo-9df38a58a4430e544e484e74bba37825914317f0.tar.bz2
#457080 by moshe weitzman: Add node_delete_multiple() for more efficient deletion of lots of nodes.
Diffstat (limited to 'modules/node/node.admin.inc')
-rw-r--r--modules/node/node.admin.inc12
1 files changed, 4 insertions, 8 deletions
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' => '<ul>', '#suffix' => '</ul>', '#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;