Bulk Delete - Version 3.4

Version Description

Added the ability to disable different sections of the Plugin.

Download this release

Release Info

Developer sudar
Plugin Icon 128x128 Bulk Delete
Version 3.4
Comparing to
See all releases

Code changes from version 3.3 to 3.4

Files changed (4) hide show
  1. bulk-delete.php +308 -232
  2. js/bulk-delete.js +78 -72
  3. languages/bulk-delete.pot +168 -140
  4. readme.txt +26 -21
bulk-delete.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
- /*
3
  Plugin Name: Bulk Delete
4
  Plugin Script: bulk-delete.php
5
  Plugin URI: http://sudarmuthu.com/wordpress/bulk-delete
6
  Description: Bulk delete posts from selected categories, tags, custom taxonomies or by post type like drafts, scheduled posts, revisions etc.
7
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
8
- Version: 3.3
9
  License: GPL
10
  Author: Sudar
11
  Author URI: http://sudarmuthu.com/
@@ -67,6 +67,9 @@ Domain Path: languages/
67
  - Added the ability to schedule auto delete of taxonomies by date
68
  - Cleaned up all messages that are shown to the user
69
  - Added on screen help tab
 
 
 
70
  */
71
 
72
  /* Copyright 2009 Sudar Muthu (email : sudar@sudarmuthu.com)
@@ -90,7 +93,7 @@ Domain Path: languages/
90
  */
91
  class Bulk_Delete {
92
 
93
- const VERSION = '3.3';
94
  const JS_HANDLE = 'bulk-delete';
95
  const JS_VARIABLE = 'BULK_DELETE';
96
 
@@ -101,6 +104,16 @@ class Bulk_Delete {
101
  const CRON_HOOK_TAGS = 'do-bulk-delete-tags';
102
  const CRON_HOOK_TAXONOMY = 'do-bulk-delete-taxonomy';
103
 
 
 
 
 
 
 
 
 
 
 
104
  /**
105
  * Default constructor
106
  */
@@ -114,7 +127,7 @@ class Bulk_Delete {
114
  add_action('admin_init', array(&$this, 'request_handler'));
115
 
116
  // Add more links in the plugin listing page
117
- add_filter('plugin_action_links', array(&$this, 'filter_plugin_actions'), 10, 2 );
118
  add_filter( 'plugin_row_meta', array( &$this, 'add_plugin_links' ), 10, 2 );
119
  }
120
 
@@ -128,16 +141,31 @@ class Bulk_Delete {
128
 
129
  add_action( "load-{$this->admin_page}", array(&$this,'create_settings_panel' ) );
130
  add_action('admin_print_scripts-' . $this->admin_page, array(&$this, 'add_script'));
 
 
131
  }
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  /**
134
  * Add settings Panel
135
  */
136
  function create_settings_panel() {
137
 
138
  /**
139
- * Create the WP_Screen object against your admin page handle
140
- * This ensures we're working with the right admin page
141
  */
142
  $this->admin_screen = WP_Screen::get($this->admin_page);
143
 
@@ -161,6 +189,13 @@ class Bulk_Delete {
161
  '<p><a href = "http://sudarmuthu.com/blog">' . __("Plugin author's blog", 'bulk-delete') . '</a></p>' .
162
  '<p><a href = "http://sudarmuthu.com/wordpress/">' . __("Other Plugin's by Author", 'bulk-delete') . '</a></p>'
163
  );
 
 
 
 
 
 
 
164
  }
165
 
166
  /**
@@ -181,10 +216,15 @@ class Bulk_Delete {
181
 
182
  // JavaScript messages
183
  $msg = array(
184
- 'deletewarning' => __('Are you sure you want to delete all the selected posts', 'bulk-delete'),
185
- 'selectone' => __('Please select at least one option', 'bulk-delete')
 
 
 
 
186
  );
187
- $translation_array = array( 'msg' => $msg );
 
188
  wp_localize_script( self::JS_HANDLE, self::JS_VARIABLE, $translation_array );
189
  }
190
 
@@ -222,31 +262,74 @@ class Bulk_Delete {
222
  * Show the Admin page
223
  */
224
  function display_setting_page() {
225
- global $wpdb;
226
  ?>
227
- <div class="updated fade" style="background:#ff0;text-align:center;color: red;"><p><strong><?php _e("WARNING: Posts deleted once cannot be retrieved back. Use with caution.", 'bulk-delete'); ?></strong></p></div>
 
 
228
 
229
- <div class="wrap">
230
- <?php screen_icon(); ?>
231
- <h2><?php _e('Bulk Delete', 'bulk-delete');?></h2>
 
232
 
233
- <div id = "poststuff" style = "float:left; width:75%">
 
 
 
 
 
234
 
235
- <!-- Post status start-->
236
- <div class = "postbox">
237
- <div class = "handlediv"> <br> </div>
238
- <h3 class = "hndle"><span><?php _e("By Post Status", 'bulk-delete'); ?></span></h3>
239
- <div class = "inside">
240
- <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
 
 
 
 
 
 
 
 
 
 
 
 
 
241
 
242
- <form name="smbd_form" id = "smbd_misc_form" action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post" onsubmit="return bd_validateForm(this);">
243
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  $posts_count = wp_count_posts();
245
  $drafts = $posts_count->draft;
246
  $future = $posts_count->future;
247
  $pending = $posts_count->pending;
248
  $private = $posts_count->private;
249
  ?>
 
 
250
  <fieldset class="options">
251
  <table class="optiontable">
252
  <tr>
@@ -285,7 +368,7 @@ class Bulk_Delete {
285
 
286
  <tr>
287
  <td scope="row">
288
- <input name="smbd_post_status_restrict" id="smbd_post_status_restrict" value = "true" type = "checkbox" onclick="toggle_date_restrict('post_status');" />
289
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
290
  <select name="smbd_post_status_op" id="smbd_post_status_op" disabled>
291
  <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
@@ -304,7 +387,7 @@ class Bulk_Delete {
304
 
305
  <tr>
306
  <td scope="row">
307
- <input name="smbd_post_status_limit" id="smbd_post_status_limit" value = "true" type = "checkbox" onclick="toggle_limit_restrict('post_status');" />
308
  <?php _e("Only delete first ", 'bulk-delete');?>
309
  <input type ="textbox" name="smbd_post_status_limit_to" id="smbd_post_status_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
310
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
@@ -333,32 +416,28 @@ class Bulk_Delete {
333
  </table>
334
  </fieldset>
335
 
336
- <p class="submit">
337
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
338
  </p>
 
 
339
 
340
- <?php wp_nonce_field('bulk-delete-posts'); ?>
 
 
 
341
 
342
- <input type="hidden" name="smbd_action" value="bulk-delete-post-status" />
343
- </form>
344
- </div>
345
- </div>
346
- <!-- Post status end-->
347
 
348
- <!-- Category Start-->
349
- <div class = "postbox">
350
- <div class = "handlediv">
351
- <br>
352
- </div>
353
- <h3 class = "hndle"><span><?php _e("By Category", 'bulk-delete'); ?></span></h3>
354
- <div class = "inside">
355
  <h4><?php _e("Select the categories whose post you want to delete", 'bulk-delete'); ?></h4>
356
 
357
- <form name="smbd_form" id = "smbd_cat_form"
358
- action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post" onsubmit="return bd_validateForm(this);">
359
-
360
  <fieldset class="options">
361
- <table class="optiontable">
362
  <?php
363
  $categories = get_categories(array('hide_empty' => false));
364
  foreach ($categories as $category) {
@@ -376,7 +455,7 @@ class Bulk_Delete {
376
  ?>
377
  <tr>
378
  <td scope="row" >
379
- <input name="smbd_cats_all" id ="smbd_cats_all" value = "-1" type = "checkbox" onclick="bd_checkAll(document.getElementById('smbd_cat_form'));" />
380
  </td>
381
  <td>
382
  <label for="smbd_cats_all"><?php _e("All Categories", 'bulk-delete') ?></label>
@@ -391,7 +470,7 @@ class Bulk_Delete {
391
 
392
  <tr>
393
  <td scope="row">
394
- <input name="smbd_cats_restrict" id="smbd_cats_restrict" value = "true" type = "checkbox" onclick="toggle_date_restrict('cats');" />
395
  </td>
396
  <td>
397
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
@@ -419,7 +498,7 @@ class Bulk_Delete {
419
 
420
  <tr>
421
  <td scope="row">
422
- <input name="smbd_cats_limit" id="smbd_cats_limit" value = "true" type = "checkbox" onclick="toggle_limit_restrict('cats');" />
423
  </td>
424
  <td>
425
  <?php _e("Only delete first ", 'bulk-delete');?>
@@ -456,37 +535,27 @@ class Bulk_Delete {
456
 
457
  </table>
458
  </fieldset>
459
- <p class="submit">
460
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
 
461
  </p>
 
 
 
462
 
463
- <?php wp_nonce_field('bulk-delete-posts'); ?>
464
 
465
- <input type="hidden" name="smbd_action" value="bulk-delete-cats" />
466
- </form>
467
- </div>
468
- </div>
469
- <!-- Category end-->
470
 
471
- <!-- Tags start-->
472
- <?php
473
  $tags = get_tags();
474
  if (count($tags) > 0) {
475
  ?>
476
- <div class = "postbox">
477
- <div class = "handlediv">
478
- <br>
479
- </div>
480
-
481
- <h3 class = "hndle"><span><?php _e("By Tags", 'bulk-delete'); ?></span></h3>
482
-
483
- <div class = "inside">
484
  <h4><?php _e("Select the tags whose post you want to delete", 'bulk-delete') ?></h4>
485
 
486
- <form name="smbd_form" id = "smbd_tag_form"
487
- action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post"
488
- onsubmit="return bd_validateForm(this);">
489
-
490
  <fieldset class="options">
491
  <table class="optiontable">
492
  <?php
@@ -505,7 +574,7 @@ class Bulk_Delete {
505
  ?>
506
  <tr>
507
  <td scope="row" >
508
- <input name="smbd_tags_all" id ="smbd_tags_all" value = "-1" type = "checkbox" onclick="bd_checkAll(document.getElementById('smbd_tag_form'));" />
509
  </td>
510
  <td>
511
  <label for="smbd_tags_all"><?php _e("All Tags", 'bulk-delete') ?></label>
@@ -520,7 +589,7 @@ class Bulk_Delete {
520
 
521
  <tr>
522
  <td scope="row">
523
- <input name="smbd_tags_restrict" id ="smbd_tags_restrict" value = "true" type = "checkbox" onclick="toggle_date_restrict('tags');" />
524
  </td>
525
  <td>
526
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
@@ -548,11 +617,11 @@ class Bulk_Delete {
548
 
549
  <tr>
550
  <td scope="row">
551
- <input name="smbd_tags_limit" id="smbd_tags_limit" value = "true" type = "checkbox" onclick="toggle_limit_restrict('tags');" />
552
  </td>
553
  <td>
554
  <?php _e("Only delete first ", 'bulk-delete');?>
555
- <input type ="textbox" name="smbd_tags_limits_to" id="smbd_tags_limits_to" disabled value ="0" maxlength="4" size="4" ><?php _e("posts.", 'bulk-delete');?>
556
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
557
  </td>
558
  </tr>
@@ -580,69 +649,72 @@ class Bulk_Delete {
580
  </table>
581
  </fieldset>
582
  <p class="submit">
583
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
584
  </p>
 
 
 
 
 
 
 
 
585
 
586
- <?php wp_nonce_field('bulk-delete-posts'); ?>
 
 
 
587
 
588
- <input type="hidden" name="smbd_action" value="bulk-delete-tags" >
589
- </form>
590
- </div>
591
- </div>
592
- <?php
593
  }
594
- ?>
595
- <!-- Tags end-->
596
 
597
- <!-- Custom tax Start-->
598
- <?php
599
  $taxs = get_taxonomies(array(
600
  'public' => true,
601
  '_builtin' => false
602
  ), 'objects'
603
  );
 
604
  if (count($taxs) > 0) {
 
 
 
 
 
 
 
 
 
605
  ?>
606
- <div class = "postbox">
607
- <div class = "handlediv">
608
- <br>
609
- </div>
610
- <h3 class = "hndle"><span><?php _e("By Taxonomies", 'bulk-delete'); ?></span></h3>
611
- <div class = "inside">
612
  <h4><?php _e("Select the taxonomies whose post you want to delete", 'bulk-delete') ?></h4>
613
 
614
- <form name="smbd_form" id = "smbd_tax_form"
615
- action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post"
616
- onsubmit="return bd_validateForm(this);">
617
-
618
  <fieldset class="options">
619
  <table class="optiontable">
620
  <?php
621
- $terms_array = array();
622
- foreach ($taxs as $tax) {
623
- $terms = get_terms($tax->name);
624
- if (count($terms) > 0) {
625
- $terms_array[$tax->name] = $terms;
626
  ?>
627
  <tr>
628
  <td scope="row" >
629
- <input name="smbd_taxs" value = "<?php echo $tax->name; ?>" type = "radio" class = "custom-tax">
630
  </td>
631
  <td>
632
- <label for="smbd_taxs"><?php echo $tax->name; ?> </label>
633
  </td>
634
  </tr>
635
  <?php
636
- }
637
  }
638
  ?>
639
  </table>
 
640
  <h4><?php _e("The selected taxonomy has the following terms. Select the terms whose post you want to delete", 'bulk-delete') ?></h4>
641
  <?php
642
- foreach ($taxs as $tax) {
643
- $terms = $terms_array[$tax->name];
644
  ?>
645
- <table class="optiontable terms_<?php echo $tax->name;?> terms">
646
  <?php
647
  foreach ($terms as $term) {
648
  ?>
@@ -671,7 +743,7 @@ class Bulk_Delete {
671
 
672
  <tr>
673
  <td scope="row">
674
- <input name="smbd_taxs_restrict" id ="smbd_taxs_restrict" value = "true" type = "checkbox" onclick="toggle_date_restrict('taxs');" />
675
  </td>
676
  <td>
677
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
@@ -699,7 +771,7 @@ class Bulk_Delete {
699
 
700
  <tr>
701
  <td scope="row">
702
- <input name="smbd_taxs_limit" id="smbd_taxs_limit" value = "true" type = "checkbox" onclick="toggle_limit_restrict('taxs');" />
703
  </td>
704
  <td>
705
  <?php _e("Only delete first ", 'bulk-delete');?>
@@ -731,31 +803,27 @@ class Bulk_Delete {
731
  </table>
732
  </fieldset>
733
  <p class="submit">
734
- <input type="submit" class="button-primary" name="submit" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
735
  </p>
736
-
737
- <?php wp_nonce_field('bulk-delete-posts'); ?>
738
-
739
- <input type="hidden" name="smbd_action" value="bulk-delete-taxs" />
740
- </form>
741
- </div>
742
- </div>
743
  <?php
744
- }
745
  ?>
746
- <!-- Custom tax end-->
 
 
 
747
 
748
- <!-- Pages start-->
749
- <div class = "postbox">
750
- <div class = "handlediv"> <br> </div>
751
- <h3 class = "hndle"><span><?php _e("By Pages", 'bulk-delete'); ?></span></h3>
752
- <div class = "inside">
753
- <h4><?php _e("Select the pages which you want to delete", 'bulk-delete'); ?></h4>
754
 
755
- <form name="smbd_form" id = "smbd_page_form" action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post"
756
- onsubmit="return bd_validateForm(this);">
 
 
757
 
758
- <?php
759
  $pages_count = wp_count_posts( 'page' );
760
  $pages = $pages_count->publish;
761
  $page_drafts = $pages_count->draft;
@@ -763,6 +831,9 @@ class Bulk_Delete {
763
  $page_pending = $pages_count->pending;
764
  $page_private = $pages_count->private;
765
  ?>
 
 
 
766
  <fieldset class="options">
767
  <table class="optiontable">
768
  <tr>
@@ -808,28 +879,28 @@ class Bulk_Delete {
808
 
809
  <tr>
810
  <td scope="row">
811
- <input name="smbd_page_restrict" id="smbd_page_restrict" value = "true" type = "checkbox" onclick="toggle_date_restrict('page');" />
812
  <?php _e("Only restrict to pages which are ", 'bulk-delete');?>
813
- <select name="smbd_page_op" id="smbd_page_op" disabled>
814
  <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
815
  <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
816
  </select>
817
- <input type ="textbox" name="smbd_page_days" id="smbd_page_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
818
  </td>
819
  </tr>
820
 
821
  <tr>
822
  <td scope="row">
823
- <input name="smbd_page_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
824
- <input name="smbd_page_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
825
  </td>
826
  </tr>
827
 
828
  <tr>
829
  <td scope="row">
830
- <input name="smbd_page_limit" id="smbd_page_limit" value = "true" type = "checkbox" onclick="toggle_limit_restrict('page');" />
831
  <?php _e("Only delete first ", 'bulk-delete');?>
832
- <input type ="textbox" name="smbd_page_limit_to" id="smbd_page_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
833
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
834
  </td>
835
  </tr>
@@ -856,27 +927,27 @@ class Bulk_Delete {
856
  </table>
857
  </fieldset>
858
 
859
- <p class="submit">
860
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
861
  </p>
 
 
 
862
 
863
- <?php wp_nonce_field('bulk-delete-posts'); ?>
 
 
 
864
 
865
- <input type="hidden" name="smbd_action" value="bulk-delete-page" >
866
- </form>
867
- </div>
868
- </div>
869
- <!-- Pages end-->
870
 
871
- <!-- URLs start-->
872
- <div class = "postbox">
873
- <div class = "handlediv"> <br> </div>
874
- <h3 class = "hndle"><span><?php _e("By Urls", 'bulk-delete'); ?></span></h3>
875
- <div class = "inside">
876
  <h4><?php _e("Delete these specific pages", 'bulk-delete'); ?></h4>
877
 
878
- <form name="smbd_form" id = "smbd_specific_form" action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post" >
879
-
880
  <fieldset class="options">
881
  <table class="optiontable">
882
  <tr>
@@ -903,30 +974,30 @@ class Bulk_Delete {
903
  </table>
904
  </fieldset>
905
 
906
- <p class="submit">
907
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
908
  </p>
 
 
 
909
 
910
- <?php wp_nonce_field('bulk-delete-posts'); ?>
 
 
 
911
 
912
- <input type="hidden" name="smbd_action" value="bulk-delete-specific" >
913
- </form>
914
- </div>
915
- </div>
916
- <!-- URLs start-->
917
 
918
- <!-- Post Revisions start-->
919
- <div class = "postbox" >
920
- <div class = "handlediv"> <br> </div>
921
- <h3 class = "hndle"><span><?php _e("By Post Revisions", 'bulk-delete'); ?></span></h3>
922
- <div class = "inside">
923
- <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
924
 
925
- <form name="smbd_form" id = "smbd_misc_form" action="<?php echo get_bloginfo("wpurl"); ?>/wp-admin/options-general.php?page=bulk-delete.php" method="post" onsubmit="return bd_validateForm(this);">
926
- <?php
927
- $wp_query = new WP_Query;
928
  $revisions = $wpdb->get_var("select count(*) from $wpdb->posts where post_type = 'revision'");
929
  ?>
 
 
 
930
  <fieldset class="options">
931
  <table class="optiontable">
932
  <tr>
@@ -939,63 +1010,47 @@ class Bulk_Delete {
939
  </table>
940
  </fieldset>
941
 
942
- <p class="submit">
943
- <input type="submit" name="submit" class="button-primary" value="<?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;">
944
  </p>
945
-
946
- <?php wp_nonce_field('bulk-delete-posts'); ?>
947
-
948
- <input type="hidden" name="smbd_action" value="bulk-delete-revisions" />
949
- </form>
950
- </div>
951
- </div>
952
- <!-- Post Revisions end-->
953
-
954
-
955
- <!-- Debug box start-->
956
- <div class = "postbox">
957
- <div class = "handlediv">
958
- <br>
959
- </div>
960
- <h3 class = "hndle"><span><?php _e('Debug Information', 'bulk-delete'); ?></span></h3>
961
- <div class = "inside">
962
- <p><?php _e('If you are seeing a blank page after clicking the Bulk Delete button, then ', 'bulk-delete'); ?><a href = "http://sudarmuthu.com/wordpress/bulk-delete#faq-white-screen"><?php _e('check out this FAQ', 'bulk-delete');?></a>.
963
- <?php _e('You also need need the following debug information.', 'bulk-delete'); ?></p>
964
- <table cellspacing="10">
965
- <tr>
966
- <th align = "right"><?php _e('Available memory size ', 'bulk-delete');?></th>
967
- <td><?php echo ini_get( 'memory_limit' ); ?></td>
968
- </tr>
969
- <tr>
970
- <th align = "right"><?php _e('Script time out ', 'bulk-delete');?></th>
971
- <td><?php echo ini_get( 'max_execution_time' ); ?></td>
972
- </tr>
973
- <tr>
974
- <th align = "right"><?php _e('Script input time ', 'bulk-delete'); ?></th>
975
- <td><?php echo ini_get( 'max_input_time' ); ?></td>
976
- </tr>
977
- </table>
978
- </div>
979
- </div>
980
- <!-- Debug box end-->
981
-
982
- </div>
983
-
984
- <iframe frameBorder="0" height = "950" src = "http://sudarmuthu.com/projects/wordpress/bulk-delete/sidebar.php?color=<?php echo get_user_option('admin_color'); ?>&version=<?php echo self::VERSION; ?>"></iframe>
985
-
986
- </div>
987
  <?php
988
-
989
- // Display credits in Footer
990
- add_action( 'in_admin_footer', array(&$this, 'admin_footer' ));
991
  }
992
 
993
  /**
994
- * Adds Footer links. Based on http://striderweb.com/nerdaphernalia/2008/06/give-your-wordpress-plugin-credit/
995
  */
996
- function admin_footer() {
997
- $plugin_data = get_plugin_data( __FILE__ );
998
- printf('%1$s ' . __("plugin", 'bulk-delete') .' | ' . __("Version", 'bulk-delete') . ' %2$s | '. __('by', 'bulk-delete') . ' %3$s<br />', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
999
  }
1000
 
1001
  /**
@@ -1013,7 +1068,6 @@ class Bulk_Delete {
1013
  //Prepare Table of elements
1014
  $cron_list_table = new Cron_List_Table();
1015
  $cron_list_table->prepare_items($this->get_cron_schedules());
1016
-
1017
  ?>
1018
  <div class="wrap">
1019
  <?php screen_icon(); ?>
@@ -1024,14 +1078,14 @@ class Bulk_Delete {
1024
  ?>
1025
  </div>
1026
  <?php
 
 
1027
  }
1028
 
1029
  /**
1030
- * Request Handler
1031
  */
1032
  function request_handler() {
1033
- global $wpdb;
1034
-
1035
  if (isset($_GET['smbd_action'])) {
1036
 
1037
  switch($_GET['smbd_action']) {
@@ -1050,10 +1104,7 @@ class Bulk_Delete {
1050
  }
1051
  }
1052
 
1053
- if (isset($_POST['smbd_action'])) {
1054
-
1055
- $wp_query = new WP_Query;
1056
- check_admin_referer( 'bulk-delete-posts');
1057
 
1058
  switch($_POST['smbd_action']) {
1059
 
@@ -1064,7 +1115,7 @@ class Bulk_Delete {
1064
  $delete_options['selected_cats'] = array_get($_POST, 'smbd_cats');
1065
  $delete_options['restrict'] = array_get($_POST, 'smbd_cats_restrict', FALSE);
1066
  $delete_options['private'] = array_get($_POST, 'smbd_cats_private');
1067
- $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_cats_limits_to', 0));
1068
  $delete_options['force_delete'] = array_get($_POST, 'smbd_cats_force_delete', 'false');
1069
 
1070
  $delete_options['cats_op'] = array_get($_POST, 'smbd_cats_op');
@@ -1096,7 +1147,7 @@ class Bulk_Delete {
1096
  $delete_options['selected_tags'] = array_get($_POST, 'smbd_tags');
1097
  $delete_options['restrict'] = array_get($_POST, 'smbd_tags_restrict', FALSE);
1098
  $delete_options['private'] = array_get($_POST, 'smbd_tags_private');
1099
- $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_tags_limits_to', 0));
1100
  $delete_options['force_delete'] = array_get($_POST, 'smbd_tags_force_delete', 'false');
1101
 
1102
  $delete_options['tags_op'] = array_get($_POST, 'smbd_tags_op');
@@ -1156,7 +1207,7 @@ class Bulk_Delete {
1156
 
1157
  $delete_options = array();
1158
  $delete_options['restrict'] = array_get($_POST, 'smbd_post_status_restrict', FALSE);
1159
- $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_post_status_limits_to', 0));
1160
  $delete_options['force_delete'] = array_get($_POST, 'smbd_post_status_force_delete', 'false');
1161
 
1162
  $delete_options['post_status_op'] = array_get($_POST, 'smbd_post_status_op');
@@ -1189,12 +1240,12 @@ class Bulk_Delete {
1189
  // Delete pages
1190
 
1191
  $delete_options = array();
1192
- $delete_options['restrict'] = array_get($_POST, 'smbd_page_restrict', FALSE);
1193
- $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_page_limits_to', 0));
1194
- $delete_options['force_delete'] = array_get($_POST, 'smbd_page_force_delete', 'false');
1195
 
1196
- $delete_options['page_op'] = array_get($_POST, 'smbd_page_op');
1197
- $delete_options['page_days'] = array_get($_POST, 'smbd_page_days');
1198
 
1199
  $delete_options['publish'] = array_get($_POST, 'smbd_published_pages');
1200
  $delete_options['drafts'] = array_get($_POST, 'smbd_draft_pages');
@@ -1269,7 +1320,29 @@ class Bulk_Delete {
1269
 
1270
  // cleanup
1271
  $this->msg = '';
1272
- remove_action('admin_notices', array(&$this, 'deleted_notice'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1273
  }
1274
 
1275
  /**
@@ -1531,6 +1604,7 @@ class Bulk_Delete {
1531
  if ("published_pages" == $delete_options['publish']) {
1532
  $post_status[] = 'publish';
1533
  }
 
1534
  // Drafts
1535
  if ("draft_pages" == $delete_options['drafts']) {
1536
  $post_status[] = 'draft';
@@ -1568,6 +1642,8 @@ class Bulk_Delete {
1568
  foreach ($pages as $page) {
1569
  wp_delete_post($page->ID, $force_delete);
1570
  }
 
 
1571
  }
1572
 
1573
  /**
1
  <?php
2
+ /**
3
  Plugin Name: Bulk Delete
4
  Plugin Script: bulk-delete.php
5
  Plugin URI: http://sudarmuthu.com/wordpress/bulk-delete
6
  Description: Bulk delete posts from selected categories, tags, custom taxonomies or by post type like drafts, scheduled posts, revisions etc.
7
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
8
+ Version: 3.4
9
  License: GPL
10
  Author: Sudar
11
  Author URI: http://sudarmuthu.com/
67
  - Added the ability to schedule auto delete of taxonomies by date
68
  - Cleaned up all messages that are shown to the user
69
  - Added on screen help tab
70
+ 2013-05-22 - v3.4 - (Dev time: 20 hours)
71
+ - Incorporated Screen API to select/deselect different sections of the page
72
+ - Load only sections that are selected by the user
73
  */
74
 
75
  /* Copyright 2009 Sudar Muthu (email : sudar@sudarmuthu.com)
93
  */
94
  class Bulk_Delete {
95
 
96
+ const VERSION = '3.4';
97
  const JS_HANDLE = 'bulk-delete';
98
  const JS_VARIABLE = 'BULK_DELETE';
99
 
104
  const CRON_HOOK_TAGS = 'do-bulk-delete-tags';
105
  const CRON_HOOK_TAXONOMY = 'do-bulk-delete-taxonomy';
106
 
107
+ // meta boxes
108
+ const BOX_POST_STATUS = 'bd_by_post_status';
109
+ const BOX_CATEGORY = 'bd_by_category';
110
+ const BOX_TAG = 'bd_by_tag';
111
+ const BOX_TAX = 'bd_by_tax';
112
+ const BOX_PAGE = 'bd_by_page';
113
+ const BOX_URL = 'bd_by_url';
114
+ const BOX_POST_REVISION = 'bd_by_post_revision';
115
+ const BOX_DEBUG = 'bd_debug';
116
+
117
  /**
118
  * Default constructor
119
  */
127
  add_action('admin_init', array(&$this, 'request_handler'));
128
 
129
  // Add more links in the plugin listing page
130
+ add_filter( 'plugin_action_links', array( &$this, 'filter_plugin_actions' ), 10, 2 );
131
  add_filter( 'plugin_row_meta', array( &$this, 'add_plugin_links' ), 10, 2 );
132
  }
133
 
141
 
142
  add_action( "load-{$this->admin_page}", array(&$this,'create_settings_panel' ) );
143
  add_action('admin_print_scripts-' . $this->admin_page, array(&$this, 'add_script'));
144
+
145
+ add_action( "add_meta_boxes_{$this->admin_page}", array( &$this, 'add_meta_boxes' ));
146
  }
147
 
148
+ /**
149
+ * Register meta boxes
150
+ */
151
+ function add_meta_boxes() {
152
+ add_meta_box( self::BOX_POST_STATUS, __( 'By Post Status', 'bulk-delete' ), array( &$this, 'render_by_post_status_box' ), $this->admin_page, 'advanced' );
153
+ add_meta_box( self::BOX_CATEGORY, __( 'By Category', 'bulk-delete' ), array( &$this, 'render_by_category_box' ), $this->admin_page, 'advanced' );
154
+ add_meta_box( self::BOX_TAG, __( 'By Tag', 'bulk-delete' ), array( &$this, 'render_by_tag_box' ), $this->admin_page, 'advanced' );
155
+ add_meta_box( self::BOX_TAX, __( 'By Custom Taxonomy', 'bulk-delete' ), array( &$this, 'render_by_tax_box' ), $this->admin_page, 'advanced' );
156
+ add_meta_box( self::BOX_PAGE, __( 'By Page', 'bulk-delete' ), array( &$this, 'render_by_page_box' ), $this->admin_page, 'advanced' );
157
+ add_meta_box( self::BOX_URL, __( 'By URL', 'bulk-delete' ), array( &$this, 'render_by_url_box' ), $this->admin_page, 'advanced' );
158
+ add_meta_box( self::BOX_POST_REVISION, __( 'By Post Revision', 'bulk-delete' ), array( &$this, 'render_by_post_revision_box' ), $this->admin_page, 'advanced' );
159
+ add_meta_box( self::BOX_DEBUG, __( 'Debug Information', 'bulk-delete' ), array( &$this, 'render_debug_box' ), $this->admin_page, 'advanced', 'low' );
160
+ }
161
+
162
  /**
163
  * Add settings Panel
164
  */
165
  function create_settings_panel() {
166
 
167
  /**
168
+ * Create the WP_Screen object using page handle
 
169
  */
170
  $this->admin_screen = WP_Screen::get($this->admin_page);
171
 
189
  '<p><a href = "http://sudarmuthu.com/blog">' . __("Plugin author's blog", 'bulk-delete') . '</a></p>' .
190
  '<p><a href = "http://sudarmuthu.com/wordpress/">' . __("Other Plugin's by Author", 'bulk-delete') . '</a></p>'
191
  );
192
+
193
+ /* Trigger the add_meta_boxes hooks to allow meta boxes to be added */
194
+ do_action('add_meta_boxes_' . $this->admin_page, null);
195
+ do_action('add_meta_boxes', $this->admin_page, null);
196
+
197
+ /* Enqueue WordPress' script for handling the meta boxes */
198
+ wp_enqueue_script('postbox');
199
  }
200
 
201
  /**
216
 
217
  // JavaScript messages
218
  $msg = array(
219
+ 'deletewarning' => __('Are you sure you want to delete all the selected posts', 'bulk-delete')
220
+ );
221
+
222
+ $error = array(
223
+ 'selectone' => __('Please select posts from at least one option', 'bulk-delete'),
224
+ 'enterurl' => __('Please enter at least one page url', 'bulk-delete')
225
  );
226
+
227
+ $translation_array = array( 'msg' => $msg, 'error' => $error );
228
  wp_localize_script( self::JS_HANDLE, self::JS_VARIABLE, $translation_array );
229
  }
230
 
262
  * Show the Admin page
263
  */
264
  function display_setting_page() {
 
265
  ?>
266
+ <div class="wrap">
267
+ <?php screen_icon(); ?>
268
+ <h2><?php _e('Bulk Delete', 'bulk-delete');?></h2>
269
 
270
+ <form method = "post">
271
+ <?php
272
+ // nonce for bulk delete
273
+ wp_nonce_field( 'sm-bulk-delete-posts', 'sm-bulk-delete-posts-nonce' );
274
 
275
+ /* Used to save closed meta boxes and their order */
276
+ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
277
+ wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
278
+ ?>
279
+ <div id = "poststuff">
280
+ <div id="post-body" class="metabox-holder columns-2">
281
 
282
+ <div id="post-body-content">
283
+ <div style="background:#ff0;text-align:center;color: red;padding:1px">
284
+ <p><strong><?php _e("WARNING: Posts deleted once cannot be retrieved back. Use with caution.", 'bulk-delete'); ?></strong></p>
285
+ </div>
286
+ </div><!-- #post-body-content -->
287
+
288
+ <div id="postbox-container-1" class="postbox-container">
289
+ <iframe frameBorder="0" height = "1000" src = "http://sudarmuthu.com/projects/wordpress/bulk-delete/sidebar.php?color=<?php echo get_user_option('admin_color'); ?>&version=<?php echo self::VERSION; ?>"></iframe>
290
+ </div>
291
+
292
+ <div id="postbox-container-2" class="postbox-container">
293
+ <?php //do_meta_boxes( '', 'normal', null ); ?>
294
+ <?php do_meta_boxes( '', 'advanced', null ); ?>
295
+ </div> <!-- #postbox-container-2 -->
296
+
297
+ </div> <!-- #post-body -->
298
+ </div><!-- #poststuff -->
299
+ </form>
300
+ </div><!-- .wrap -->
301
 
 
302
  <?php
303
+ // Display credits in Footer
304
+ add_action( 'in_admin_footer', array(&$this, 'admin_footer' ));
305
+ }
306
+
307
+ /**
308
+ * Adds Footer links.
309
+ */
310
+ function admin_footer() {
311
+ $plugin_data = get_plugin_data( __FILE__ );
312
+ printf('%1$s ' . __("plugin", 'bulk-delete') .' | ' . __("Version", 'bulk-delete') . ' %2$s | '. __('by', 'bulk-delete') . ' %3$s<br />', $plugin_data['Title'], $plugin_data['Version'], $plugin_data['Author']);
313
+ }
314
+
315
+ /**
316
+ * Render post status box
317
+ */
318
+ function render_by_post_status_box() {
319
+
320
+ if ( $this->is_hidden(self::BOX_POST_STATUS) ) {
321
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
322
+ return;
323
+ }
324
+
325
  $posts_count = wp_count_posts();
326
  $drafts = $posts_count->draft;
327
  $future = $posts_count->future;
328
  $pending = $posts_count->pending;
329
  $private = $posts_count->private;
330
  ?>
331
+ <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
332
+
333
  <fieldset class="options">
334
  <table class="optiontable">
335
  <tr>
368
 
369
  <tr>
370
  <td scope="row">
371
+ <input name="smbd_post_status_restrict" id="smbd_post_status_restrict" value = "true" type = "checkbox">
372
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
373
  <select name="smbd_post_status_op" id="smbd_post_status_op" disabled>
374
  <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
387
 
388
  <tr>
389
  <td scope="row">
390
+ <input name="smbd_post_status_limit" id="smbd_post_status_limit" value = "true" type = "checkbox" >
391
  <?php _e("Only delete first ", 'bulk-delete');?>
392
  <input type ="textbox" name="smbd_post_status_limit_to" id="smbd_post_status_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
393
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
416
  </table>
417
  </fieldset>
418
 
419
+ <p>
420
+ <button type="submit" name="smbd_action" value = "bulk-delete-post-status" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
421
  </p>
422
+ <?php
423
+ }
424
 
425
+ /**
426
+ * Render By category box
427
+ */
428
+ function render_by_category_box() {
429
 
430
+ if ( $this->is_hidden(self::BOX_CATEGORY) ) {
431
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
432
+ return;
433
+ }
 
434
 
435
+ ?>
436
+ <!-- Category Start-->
 
 
 
 
 
437
  <h4><?php _e("Select the categories whose post you want to delete", 'bulk-delete'); ?></h4>
438
 
 
 
 
439
  <fieldset class="options">
440
+ <table class="optiontable">
441
  <?php
442
  $categories = get_categories(array('hide_empty' => false));
443
  foreach ($categories as $category) {
455
  ?>
456
  <tr>
457
  <td scope="row" >
458
+ <input name="smbd_cats_all" id ="smbd_cats_all" value = "-1" type = "checkbox" >
459
  </td>
460
  <td>
461
  <label for="smbd_cats_all"><?php _e("All Categories", 'bulk-delete') ?></label>
470
 
471
  <tr>
472
  <td scope="row">
473
+ <input name="smbd_cats_restrict" id="smbd_cats_restrict" value = "true" type = "checkbox" >
474
  </td>
475
  <td>
476
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
498
 
499
  <tr>
500
  <td scope="row">
501
+ <input name="smbd_cats_limit" id="smbd_cats_limit" value = "true" type = "checkbox">
502
  </td>
503
  <td>
504
  <?php _e("Only delete first ", 'bulk-delete');?>
535
 
536
  </table>
537
  </fieldset>
538
+
539
+ <p>
540
+ <button type="submit" name="smbd_action" value = "bulk-delete-cats" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
541
  </p>
542
+ <!-- Category end-->
543
+ <?php
544
+ }
545
 
546
+ function render_by_tag_box() {
547
 
548
+ if ( $this->is_hidden(self::BOX_TAG) ) {
549
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
550
+ return;
551
+ }
 
552
 
 
 
553
  $tags = get_tags();
554
  if (count($tags) > 0) {
555
  ?>
 
 
 
 
 
 
 
 
556
  <h4><?php _e("Select the tags whose post you want to delete", 'bulk-delete') ?></h4>
557
 
558
+ <!-- Tags start-->
 
 
 
559
  <fieldset class="options">
560
  <table class="optiontable">
561
  <?php
574
  ?>
575
  <tr>
576
  <td scope="row" >
577
+ <input name="smbd_tags_all" id ="smbd_tags_all" value = "-1" type = "checkbox" >
578
  </td>
579
  <td>
580
  <label for="smbd_tags_all"><?php _e("All Tags", 'bulk-delete') ?></label>
589
 
590
  <tr>
591
  <td scope="row">
592
+ <input name="smbd_tags_restrict" id ="smbd_tags_restrict" value = "true" type = "checkbox">
593
  </td>
594
  <td>
595
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
617
 
618
  <tr>
619
  <td scope="row">
620
+ <input name="smbd_tags_limit" id="smbd_tags_limit" value = "true" type = "checkbox">
621
  </td>
622
  <td>
623
  <?php _e("Only delete first ", 'bulk-delete');?>
624
+ <input type ="textbox" name="smbd_tags_limit_to" id="smbd_tags_limit_to" disabled value ="0" maxlength="4" size="4" ><?php _e("posts.", 'bulk-delete');?>
625
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
626
  </td>
627
  </tr>
649
  </table>
650
  </fieldset>
651
  <p class="submit">
652
+ <button type="submit" name="smbd_action" value = "bulk-delete-tags" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
653
  </p>
654
+ <!-- Tags end-->
655
+ <?php
656
+ } else {
657
+ ?>
658
+ <h4><?php _e("You don't have any posts assigned to tags in this blog.", 'bulk-delete') ?></h4>
659
+ <?php
660
+ }
661
+ }
662
 
663
+ /**
664
+ * Render delete by custom taxonomy box
665
+ */
666
+ function render_by_tax_box() {
667
 
668
+ if ( $this->is_hidden(self::BOX_TAX) ) {
669
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
670
+ return;
 
 
671
  }
 
 
672
 
673
+ $terms_array = array();
674
+
675
  $taxs = get_taxonomies(array(
676
  'public' => true,
677
  '_builtin' => false
678
  ), 'objects'
679
  );
680
+
681
  if (count($taxs) > 0) {
682
+ foreach ($taxs as $tax) {
683
+ $terms = get_terms($tax->name);
684
+ if (count($terms) > 0) {
685
+ $terms_array[$tax->name] = $terms;
686
+ }
687
+ }
688
+ }
689
+
690
+ if ( count( $terms_array ) > 0 ) {
691
  ?>
692
+ <!-- Custom tax Start-->
 
 
 
 
 
693
  <h4><?php _e("Select the taxonomies whose post you want to delete", 'bulk-delete') ?></h4>
694
 
 
 
 
 
695
  <fieldset class="options">
696
  <table class="optiontable">
697
  <?php
698
+ foreach ($terms_array as $tax => $terms) {
 
 
 
 
699
  ?>
700
  <tr>
701
  <td scope="row" >
702
+ <input name="smbd_taxs" value = "<?php echo $tax; ?>" type = "radio" class = "custom-tax">
703
  </td>
704
  <td>
705
+ <label for="smbd_taxs"><?php echo $tax; ?> </label>
706
  </td>
707
  </tr>
708
  <?php
 
709
  }
710
  ?>
711
  </table>
712
+
713
  <h4><?php _e("The selected taxonomy has the following terms. Select the terms whose post you want to delete", 'bulk-delete') ?></h4>
714
  <?php
715
+ foreach ($terms_array as $tax => $terms) {
 
716
  ?>
717
+ <table class="optiontable terms_<?php echo $tax;?> terms">
718
  <?php
719
  foreach ($terms as $term) {
720
  ?>
743
 
744
  <tr>
745
  <td scope="row">
746
+ <input name="smbd_taxs_restrict" id ="smbd_taxs_restrict" value = "true" type = "checkbox">
747
  </td>
748
  <td>
749
  <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
771
 
772
  <tr>
773
  <td scope="row">
774
+ <input name="smbd_taxs_limit" id="smbd_taxs_limit" value = "true" type = "checkbox">
775
  </td>
776
  <td>
777
  <?php _e("Only delete first ", 'bulk-delete');?>
803
  </table>
804
  </fieldset>
805
  <p class="submit">
806
+ <button type="submit" name="smbd_action" value = "bulk-delete-taxs" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
807
  </p>
808
+ <!-- Custom tax end-->
 
 
 
 
 
 
809
  <?php
810
+ } else {
811
  ?>
812
+ <h4><?php _e("You don't have any posts assigned to custom taxonomies in this blog.", 'bulk-delete') ?></h4>
813
+ <?php
814
+ }
815
+ }
816
 
817
+ /**
818
+ * Render delete by pages box
819
+ */
820
+ function render_by_page_box() {
 
 
821
 
822
+ if ( $this->is_hidden(self::BOX_PAGE) ) {
823
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
824
+ return;
825
+ }
826
 
 
827
  $pages_count = wp_count_posts( 'page' );
828
  $pages = $pages_count->publish;
829
  $page_drafts = $pages_count->draft;
831
  $page_pending = $pages_count->pending;
832
  $page_private = $pages_count->private;
833
  ?>
834
+ <!-- Pages start-->
835
+ <h4><?php _e("Select the pages which you want to delete", 'bulk-delete'); ?></h4>
836
+
837
  <fieldset class="options">
838
  <table class="optiontable">
839
  <tr>
879
 
880
  <tr>
881
  <td scope="row">
882
+ <input name="smbd_pages_restrict" id="smbd_pages_restrict" value = "true" type = "checkbox">
883
  <?php _e("Only restrict to pages which are ", 'bulk-delete');?>
884
+ <select name="smbd_pages_op" id="smbd_pages_op" disabled>
885
  <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
886
  <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
887
  </select>
888
+ <input type ="textbox" name="smbd_pages_days" id="smbd_pages_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
889
  </td>
890
  </tr>
891
 
892
  <tr>
893
  <td scope="row">
894
+ <input name="smbd_pages_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
895
+ <input name="smbd_pages_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
896
  </td>
897
  </tr>
898
 
899
  <tr>
900
  <td scope="row">
901
+ <input name="smbd_pages_limit" id="smbd_pages_limit" value = "true" type = "checkbox">
902
  <?php _e("Only delete first ", 'bulk-delete');?>
903
+ <input type ="textbox" name="smbd_pages_limit_to" id="smbd_pages_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
904
  <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
905
  </td>
906
  </tr>
927
  </table>
928
  </fieldset>
929
 
930
+ <p>
931
+ <button type="submit" name="smbd_action" value = "bulk-delete-page" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
932
  </p>
933
+ <!-- Pages end-->
934
+ <?php
935
+ }
936
 
937
+ /**
938
+ * Render delete by url box
939
+ */
940
+ function render_by_url_box() {
941
 
942
+ if ( $this->is_hidden(self::BOX_URL) ) {
943
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
944
+ return;
945
+ }
 
946
 
947
+ ?>
948
+ <!-- URLs start-->
 
 
 
949
  <h4><?php _e("Delete these specific pages", 'bulk-delete'); ?></h4>
950
 
 
 
951
  <fieldset class="options">
952
  <table class="optiontable">
953
  <tr>
974
  </table>
975
  </fieldset>
976
 
977
+ <p>
978
+ <button type="submit" name="smbd_action" value = "bulk-delete-specific" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
979
  </p>
980
+ <!-- URLs end-->
981
+ <?php
982
+ }
983
 
984
+ /**
985
+ * Render delete by post revisions box
986
+ */
987
+ function render_by_post_revision_box() {
988
 
989
+ if ( $this->is_hidden(self::BOX_POST_REVISION) ) {
990
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'options-general.php?page=bulk-delete.php' );
991
+ return;
992
+ }
 
993
 
994
+ global $wpdb;
 
 
 
 
 
995
 
 
 
 
996
  $revisions = $wpdb->get_var("select count(*) from $wpdb->posts where post_type = 'revision'");
997
  ?>
998
+ <!-- Post Revisions start-->
999
+ <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
1000
+
1001
  <fieldset class="options">
1002
  <table class="optiontable">
1003
  <tr>
1010
  </table>
1011
  </fieldset>
1012
 
1013
+ <p>
1014
+ <button type="submit" name="smbd_action" value = "bulk-delete-revisions" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1015
  </p>
1016
+ <!-- Post Revisions end-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1017
  <?php
 
 
 
1018
  }
1019
 
1020
  /**
1021
+ * Render debug box
1022
  */
1023
+ function render_debug_box() {
1024
+ ?>
1025
+ <!-- Debug box start-->
1026
+ <p>
1027
+ <?php _e('If you are seeing a blank page after clicking the Bulk Delete button, then ', 'bulk-delete'); ?><a href = "http://sudarmuthu.com/wordpress/bulk-delete#faq"><?php _e('check out this FAQ', 'bulk-delete');?></a>.
1028
+ <?php _e('You also need need the following debug information.', 'bulk-delete'); ?>
1029
+ </p>
1030
+ <table cellspacing="10">
1031
+ <tr>
1032
+ <th align = "right"><?php _e('PHP Version ', 'bulk-delete'); ?></th>
1033
+ <td><?php echo phpversion(); ?></td>
1034
+ </tr>
1035
+ <tr>
1036
+ <th align = "right"><?php _e('Plugin Version ', 'bulk-delete'); ?></th>
1037
+ <td><?php echo self::VERSION; ?></td>
1038
+ </tr>
1039
+ <tr>
1040
+ <th align = "right"><?php _e('Available memory size ', 'bulk-delete');?></th>
1041
+ <td><?php echo ini_get( 'memory_limit' ); ?></td>
1042
+ </tr>
1043
+ <tr>
1044
+ <th align = "right"><?php _e('Script time out ', 'bulk-delete');?></th>
1045
+ <td><?php echo ini_get( 'max_execution_time' ); ?></td>
1046
+ </tr>
1047
+ <tr>
1048
+ <th align = "right"><?php _e('Script input time ', 'bulk-delete'); ?></th>
1049
+ <td><?php echo ini_get( 'max_input_time' ); ?></td>
1050
+ </tr>
1051
+ </table>
1052
+ <!-- Debug box end-->
1053
+ <?php
1054
  }
1055
 
1056
  /**
1068
  //Prepare Table of elements
1069
  $cron_list_table = new Cron_List_Table();
1070
  $cron_list_table->prepare_items($this->get_cron_schedules());
 
1071
  ?>
1072
  <div class="wrap">
1073
  <?php screen_icon(); ?>
1078
  ?>
1079
  </div>
1080
  <?php
1081
+ // Display credits in Footer
1082
+ add_action( 'in_admin_footer', array(&$this, 'admin_footer' ));
1083
  }
1084
 
1085
  /**
1086
+ * Request Handler. Handles both POST and GET requests
1087
  */
1088
  function request_handler() {
 
 
1089
  if (isset($_GET['smbd_action'])) {
1090
 
1091
  switch($_GET['smbd_action']) {
1104
  }
1105
  }
1106
 
1107
+ if ( isset( $_POST['smbd_action'] ) && check_admin_referer( 'sm-bulk-delete-posts', 'sm-bulk-delete-posts-nonce' ) ) {
 
 
 
1108
 
1109
  switch($_POST['smbd_action']) {
1110
 
1115
  $delete_options['selected_cats'] = array_get($_POST, 'smbd_cats');
1116
  $delete_options['restrict'] = array_get($_POST, 'smbd_cats_restrict', FALSE);
1117
  $delete_options['private'] = array_get($_POST, 'smbd_cats_private');
1118
+ $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_cats_limit_to', 0));
1119
  $delete_options['force_delete'] = array_get($_POST, 'smbd_cats_force_delete', 'false');
1120
 
1121
  $delete_options['cats_op'] = array_get($_POST, 'smbd_cats_op');
1147
  $delete_options['selected_tags'] = array_get($_POST, 'smbd_tags');
1148
  $delete_options['restrict'] = array_get($_POST, 'smbd_tags_restrict', FALSE);
1149
  $delete_options['private'] = array_get($_POST, 'smbd_tags_private');
1150
+ $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_tags_limit_to', 0));
1151
  $delete_options['force_delete'] = array_get($_POST, 'smbd_tags_force_delete', 'false');
1152
 
1153
  $delete_options['tags_op'] = array_get($_POST, 'smbd_tags_op');
1207
 
1208
  $delete_options = array();
1209
  $delete_options['restrict'] = array_get($_POST, 'smbd_post_status_restrict', FALSE);
1210
+ $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_post_status_limit_to', 0));
1211
  $delete_options['force_delete'] = array_get($_POST, 'smbd_post_status_force_delete', 'false');
1212
 
1213
  $delete_options['post_status_op'] = array_get($_POST, 'smbd_post_status_op');
1240
  // Delete pages
1241
 
1242
  $delete_options = array();
1243
+ $delete_options['restrict'] = array_get($_POST, 'smbd_pages_restrict', FALSE);
1244
+ $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_pages_limit_to', 0));
1245
+ $delete_options['force_delete'] = array_get($_POST, 'smbd_pages_force_delete', 'false');
1246
 
1247
+ $delete_options['page_op'] = array_get($_POST, 'smbd_pages_op');
1248
+ $delete_options['page_days'] = array_get($_POST, 'smbd_pages_days');
1249
 
1250
  $delete_options['publish'] = array_get($_POST, 'smbd_published_pages');
1251
  $delete_options['drafts'] = array_get($_POST, 'smbd_draft_pages');
1320
 
1321
  // cleanup
1322
  $this->msg = '';
1323
+ remove_action( 'admin_notices', array( &$this, 'deleted_notice' ));
1324
+ }
1325
+
1326
+ /**
1327
+ * @brief Check whether the box is hidden or not
1328
+ *
1329
+ * @param $box
1330
+ *
1331
+ * @return
1332
+ */
1333
+ private function is_hidden( $box ) {
1334
+ $hidden_boxes = $this->get_hidden_boxes();
1335
+ return ( is_array( $hidden_boxes ) && in_array( $box, $hidden_boxes ) );
1336
+ }
1337
+
1338
+ /**
1339
+ * Get the list of hidden boxes
1340
+ *
1341
+ * @return the array of hidden meta boxes
1342
+ */
1343
+ private function get_hidden_boxes() {
1344
+ $current_user = wp_get_current_user();
1345
+ return get_user_meta( $current_user->ID, 'metaboxhidden_settings_page_bulk-delete', TRUE );
1346
  }
1347
 
1348
  /**
1604
  if ("published_pages" == $delete_options['publish']) {
1605
  $post_status[] = 'publish';
1606
  }
1607
+
1608
  // Drafts
1609
  if ("draft_pages" == $delete_options['drafts']) {
1610
  $post_status[] = 'draft';
1642
  foreach ($pages as $page) {
1643
  wp_delete_post($page->ID, $force_delete);
1644
  }
1645
+
1646
+ return count( $pages );
1647
  }
1648
 
1649
  /**
js/bulk-delete.js CHANGED
@@ -7,40 +7,60 @@
7
  *
8
  */
9
 
10
- /*global BULK_DELETE, jQuery, document*/
 
11
  jQuery(document).ready(function () {
 
12
  // hide all terms
13
  function hideAllTerms() {
14
  jQuery('table.terms').hide();
15
  jQuery('input.terms').attr('checked', false);
16
  }
17
 
 
 
 
18
  /**
19
- * Toggle closing of different sections
20
  */
21
- jQuery('.postbox h3').click(function () {
22
- jQuery(jQuery(this).parent().get(0)).toggleClass('closed');
23
- });
 
 
 
 
 
 
24
 
25
- // invoke the date time picker
26
- jQuery('#smbd_cats_cron_start').datetimepicker({
27
- timeFormat: 'HH:mm:ss'
28
- });
 
 
 
 
 
 
29
 
30
- jQuery('#smbd_tags_cron_start').datetimepicker({
31
- timeFormat: 'HH:mm:ss'
32
- });
33
 
34
- jQuery('#smbd_taxs_cron_start').datetimepicker({
35
- timeFormat: 'HH:mm:ss'
36
- });
 
 
37
 
38
- jQuery('#smbd_pages_cron_start').datetimepicker({
39
- timeFormat: 'HH:mm:ss'
40
- });
 
 
 
 
41
 
42
- jQuery('#smbd_post_status_cron_start').datetimepicker({
43
- timeFormat: 'HH:mm:ss'
44
  });
45
 
46
  // taxonomy click handling
@@ -55,64 +75,50 @@ jQuery(document).ready(function () {
55
  }
56
  });
57
 
58
- hideAllTerms();
59
- });
 
 
60
 
61
- // TODO: Bring these global functions inside the jQuery document selection callback
62
- /**
63
- * Check All Check boxes
64
- */
65
- function bd_checkAll(form) {
66
- for (i = 0, n = form.elements.length; i < n; i++) {
67
- if (form.elements[i].type == "checkbox" && !(form.elements[i].getAttribute('onclick', 2))) {
68
- if (form.elements[i].checked == true) {
69
- form.elements[i].checked = false;
 
 
70
  } else {
71
- form.elements[i].checked = true;
 
72
  }
73
  }
74
- }
75
- }
76
 
77
- /**
78
- * Toggle the date restrict fields
79
- */
80
- function toggle_date_restrict(el) {
81
- if (jQuery("#smbd_" + el + "_restrict").is(":checked")) {
82
- jQuery("#smbd_" + el + "_op").removeAttr('disabled');
83
- jQuery("#smbd_" + el + "_days").removeAttr('disabled');
84
- } else {
85
- jQuery("#smbd_" + el + "_op").attr('disabled', 'true');
86
- jQuery("#smbd_" + el + "_days").attr('disabled', 'true');
87
- }
88
- }
89
 
90
- function toggle_limit_restrict(el) {
91
- if (jQuery("#smbd_" + el + "_limit").is(":checked")) {
92
- jQuery("#smbd_" + el + "_limit_to").removeAttr('disabled');
93
- } else {
94
- jQuery("#smbd_" + el + "_limit_to").attr('disabled', 'true');
95
- }
96
- }
97
 
98
- /**
99
- * Validate Form
100
- */
101
- function bd_validateForm(form) {
102
- var valid = false;
103
- for (i = 0, n = form.elements.length; i < n; i++) {
104
- if (form.elements[i].type == "checkbox" && !(form.elements[i].getAttribute('onclick', 2))) {
105
- if (form.elements[i].checked == true) {
106
- valid = true;
107
- break;
108
- }
109
  }
110
- }
111
 
112
- if (valid) {
113
- return confirm(BULK_DELETE.msg.deletewarning);
114
- } else {
115
- alert(BULK_DELETE.msg.selectone);
116
- return false;
117
- }
118
- }
 
 
7
  *
8
  */
9
 
10
+ /*jslint browser: true, devel: true*/
11
+ /*global BULK_DELETE, jQuery, document, postboxes, pagenow*/
12
  jQuery(document).ready(function () {
13
+
14
  // hide all terms
15
  function hideAllTerms() {
16
  jQuery('table.terms').hide();
17
  jQuery('input.terms').attr('checked', false);
18
  }
19
 
20
+ // call it for the first time
21
+ hideAllTerms();
22
+
23
  /**
24
+ * Toggle the date restrict fields
25
  */
26
+ function toggle_date_restrict(el) {
27
+ if (jQuery("#smbd_" + el + "_restrict").is(":checked")) {
28
+ jQuery("#smbd_" + el + "_op").removeAttr('disabled');
29
+ jQuery("#smbd_" + el + "_days").removeAttr('disabled');
30
+ } else {
31
+ jQuery("#smbd_" + el + "_op").attr('disabled', 'true');
32
+ jQuery("#smbd_" + el + "_days").attr('disabled', 'true');
33
+ }
34
+ }
35
 
36
+ /**
37
+ * Toggle limit restrict fields
38
+ */
39
+ function toggle_limit_restrict(el) {
40
+ if (jQuery("#smbd_" + el + "_limit").is(":checked")) {
41
+ jQuery("#smbd_" + el + "_limit_to").removeAttr('disabled');
42
+ } else {
43
+ jQuery("#smbd_" + el + "_limit_to").attr('disabled', 'true');
44
+ }
45
+ }
46
 
47
+ // for post boxes
48
+ postboxes.add_postbox_toggles(pagenow);
 
49
 
50
+ jQuery.each(['cats', 'tags', 'taxs', 'pages', 'post_status'], function (index, value) {
51
+ // invoke the date time picker
52
+ jQuery('#smbd_' + value + '_cron_start').datetimepicker({
53
+ timeFormat: 'HH:mm:ss'
54
+ });
55
 
56
+ jQuery('#smbd_' + value + '_restrict').change(function () {
57
+ toggle_date_restrict(value);
58
+ });
59
+
60
+ jQuery('#smbd_' + value + '_limit').change(function () {
61
+ toggle_limit_restrict(value);
62
+ });
63
 
 
 
64
  });
65
 
66
  // taxonomy click handling
75
  }
76
  });
77
 
78
+ // Handle clicking of submit buttons
79
+ jQuery('button').click(function () {
80
+ var current_button = jQuery(this).val(),
81
+ valid = false;
82
 
83
+ if (jQuery(this).val() === 'bulk-delete-specific') {
84
+ if (jQuery(this).parent().prev().children('table').find("textarea").val() !== '') {
85
+ valid = true;
86
+ } else {
87
+ // not valid
88
+ alert(BULK_DELETE.error.enterurl);
89
+ }
90
+ } else {
91
+ if (jQuery(this).parent().prev().children('table').find(":checkbox:checked[value!='true']").size() > 0) {
92
+ // monstrous selector
93
+ valid = true;
94
  } else {
95
+ // not valid
96
+ alert(BULK_DELETE.error.selectone);
97
  }
98
  }
 
 
99
 
100
+ if (valid) {
101
+ return confirm(BULK_DELETE.msg.deletewarning);
102
+ }
 
 
 
 
 
 
 
 
 
103
 
104
+ return false;
105
+ });
 
 
 
 
 
106
 
107
+ // Handle selection of all checkboxes of cats
108
+ jQuery('#smbd_cats_all').change(function () {
109
+ if (jQuery(this).is(':checked')) {
110
+ jQuery('input[name="smbd_cats[]"]').attr('checked', true);
111
+ } else {
112
+ jQuery('input[name="smbd_cats[]"]').attr('checked', false);
 
 
 
 
 
113
  }
114
+ });
115
 
116
+ // Handle selection of all checkboxes of tags
117
+ jQuery('#smbd_tags_all').change(function () {
118
+ if (jQuery(this).is(':checked')) {
119
+ jQuery('input[name="smbd_tags[]"]').attr('checked', true);
120
+ } else {
121
+ jQuery('input[name="smbd_tags[]"]').attr('checked', false);
122
+ }
123
+ });
124
+ });
languages/bulk-delete.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Bulk Delete package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Bulk Delete 3.3\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bulk-delete\n"
7
- "POT-Creation-Date: 2013-05-11 11:38:12+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,407 +12,435 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #. #-#-#-#-# bulk-delete.pot (Bulk Delete 3.3) #-#-#-#-#
16
  #. Plugin Name of the plugin/theme
17
- #: bulk-delete.php:126 bulk-delete.php:231
18
  msgid "Bulk Delete"
19
  msgstr ""
20
 
21
- #: bulk-delete.php:127 bulk-delete.php:1020
22
  msgid "Bulk Delete Schedules"
23
  msgstr ""
24
 
25
- #: bulk-delete.php:149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  msgid "About Plugin"
27
  msgstr ""
28
 
29
- #: bulk-delete.php:151
30
  msgid ""
31
  "This plugin allows you to delete posts in bulk from selected categories, "
32
  "tags, custom taxonomies or by post status like drafts, pending posts, "
33
  "scheduled posts etc."
34
  msgstr ""
35
 
36
- #: bulk-delete.php:158
37
  msgid "More information"
38
  msgstr ""
39
 
40
- #: bulk-delete.php:159
41
  msgid "Plugin Homepage/support"
42
  msgstr ""
43
 
44
- #: bulk-delete.php:160
45
  msgid "Buy pro addons"
46
  msgstr ""
47
 
48
- #: bulk-delete.php:161
49
  msgid "Plugin author's blog"
50
  msgstr ""
51
 
52
- #: bulk-delete.php:162
53
  msgid "Other Plugin's by Author"
54
  msgstr ""
55
 
56
- #: bulk-delete.php:184
57
  msgid "Are you sure you want to delete all the selected posts"
58
  msgstr ""
59
 
60
- #: bulk-delete.php:185
61
- msgid "Please select at least one option"
62
  msgstr ""
63
 
64
- #: bulk-delete.php:202
 
 
 
 
65
  msgid "Manage"
66
  msgstr ""
67
 
68
- #: bulk-delete.php:216
69
  msgid "Buy Addons"
70
  msgstr ""
71
 
72
- #: bulk-delete.php:227
73
  msgid "WARNING: Posts deleted once cannot be retrieved back. Use with caution."
74
  msgstr ""
75
 
76
- #: bulk-delete.php:238
77
- msgid "By Post Status"
78
  msgstr ""
79
 
80
- #: bulk-delete.php:240 bulk-delete.php:923
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  msgid "Select the posts which you want to delete"
82
  msgstr ""
83
 
84
- #: bulk-delete.php:255
85
  msgid "All Draft Posts"
86
  msgstr ""
87
 
88
- #: bulk-delete.php:255
89
  msgid "Drafts"
90
  msgstr ""
91
 
92
- #: bulk-delete.php:262
93
  msgid "All Pending posts"
94
  msgstr ""
95
 
96
- #: bulk-delete.php:262 bulk-delete.php:269 bulk-delete.php:276
97
- #: bulk-delete.php:371 bulk-delete.php:500 bulk-delete.php:654
98
  msgid "Posts"
99
  msgstr ""
100
 
101
- #: bulk-delete.php:269
102
  msgid "All scheduled posts"
103
  msgstr ""
104
 
105
- #: bulk-delete.php:276
106
  msgid "All private posts"
107
  msgstr ""
108
 
109
- #: bulk-delete.php:282 bulk-delete.php:388 bulk-delete.php:517
110
- #: bulk-delete.php:668 bulk-delete.php:805 bulk-delete.php:892
111
  msgid "Choose your filtering options"
112
  msgstr ""
113
 
114
- #: bulk-delete.php:289 bulk-delete.php:397 bulk-delete.php:526
115
- #: bulk-delete.php:677
116
  msgid "Only restrict to posts which are "
117
  msgstr ""
118
 
119
- #: bulk-delete.php:291 bulk-delete.php:399 bulk-delete.php:528
120
- #: bulk-delete.php:679 bulk-delete.php:814
121
  msgid "older than"
122
  msgstr ""
123
 
124
- #: bulk-delete.php:292 bulk-delete.php:400 bulk-delete.php:529
125
- #: bulk-delete.php:680 bulk-delete.php:815
126
  msgid "posted within last"
127
  msgstr ""
128
 
129
- #: bulk-delete.php:294 bulk-delete.php:402 bulk-delete.php:531
130
- #: bulk-delete.php:682 bulk-delete.php:817
131
  msgid "days"
132
  msgstr ""
133
 
134
- #: bulk-delete.php:300 bulk-delete.php:408 bulk-delete.php:537
135
- #: bulk-delete.php:688 bulk-delete.php:823 bulk-delete.php:898
136
  msgid "Move to Trash"
137
  msgstr ""
138
 
139
- #: bulk-delete.php:301 bulk-delete.php:409 bulk-delete.php:538
140
- #: bulk-delete.php:689 bulk-delete.php:824 bulk-delete.php:899
141
  msgid "Delete permanently"
142
  msgstr ""
143
 
144
- #: bulk-delete.php:308 bulk-delete.php:425 bulk-delete.php:554
145
- #: bulk-delete.php:705 bulk-delete.php:831
146
  msgid "Only delete first "
147
  msgstr ""
148
 
149
- #: bulk-delete.php:309 bulk-delete.php:426 bulk-delete.php:555
150
- #: bulk-delete.php:706 bulk-delete.php:832
151
  msgid "posts."
152
  msgstr ""
153
 
154
- #: bulk-delete.php:310 bulk-delete.php:427 bulk-delete.php:556
155
- #: bulk-delete.php:707 bulk-delete.php:833
156
  msgid ""
157
  "Use this option if there are more than 1000 posts and the script timesout."
158
  msgstr ""
159
 
160
- #: bulk-delete.php:316 bulk-delete.php:433 bulk-delete.php:562
161
- #: bulk-delete.php:713 bulk-delete.php:839
162
  msgid "Delete now"
163
  msgstr ""
164
 
165
- #: bulk-delete.php:317 bulk-delete.php:434 bulk-delete.php:563
166
- #: bulk-delete.php:714 bulk-delete.php:840
167
  #: include/class-cron-list-table.php:96
168
  msgid "Schedule"
169
  msgstr ""
170
 
171
- #: bulk-delete.php:318 bulk-delete.php:435 bulk-delete.php:564
172
- #: bulk-delete.php:715 bulk-delete.php:841
173
  msgid "repeat "
174
  msgstr ""
175
 
176
- #: bulk-delete.php:320 bulk-delete.php:437 bulk-delete.php:566
177
- #: bulk-delete.php:717 bulk-delete.php:843
178
  msgid "Don't repeat"
179
  msgstr ""
180
 
181
- #: bulk-delete.php:330 bulk-delete.php:447 bulk-delete.php:576
182
- #: bulk-delete.php:727 bulk-delete.php:853
183
  msgid "Only available in Pro Addon"
184
  msgstr ""
185
 
186
- #: bulk-delete.php:337 bulk-delete.php:460 bulk-delete.php:583
187
- #: bulk-delete.php:734 bulk-delete.php:860 bulk-delete.php:907
188
- #: bulk-delete.php:943
189
  msgid "Bulk Delete "
190
  msgstr ""
191
 
192
- #: bulk-delete.php:353
193
- msgid "By Category"
194
- msgstr ""
195
-
196
- #: bulk-delete.php:355
197
  msgid "Select the categories whose post you want to delete"
198
  msgstr ""
199
 
200
- #: bulk-delete.php:382
201
  msgid "All Categories"
202
  msgstr ""
203
 
204
- #: bulk-delete.php:415 bulk-delete.php:544 bulk-delete.php:695
205
  msgid "Public posts"
206
  msgstr ""
207
 
208
- #: bulk-delete.php:416 bulk-delete.php:545 bulk-delete.php:696
209
  msgid "Private Posts"
210
  msgstr ""
211
 
212
- #: bulk-delete.php:453
213
  msgid "Enter time in Y-m-d H:i:s format or enter now to use current time"
214
  msgstr ""
215
 
216
- #: bulk-delete.php:481
217
- msgid "By Tags"
218
- msgstr ""
219
-
220
- #: bulk-delete.php:484
221
  msgid "Select the tags whose post you want to delete"
222
  msgstr ""
223
 
224
- #: bulk-delete.php:511
225
  msgid "All Tags"
226
  msgstr ""
227
 
228
- #: bulk-delete.php:610
229
- msgid "By Taxonomies"
230
  msgstr ""
231
 
232
- #: bulk-delete.php:612
233
  msgid "Select the taxonomies whose post you want to delete"
234
  msgstr ""
235
 
236
- #: bulk-delete.php:640
237
  msgid ""
238
  "The selected taxonomy has the following terms. Select the terms whose post "
239
  "you want to delete"
240
  msgstr ""
241
 
242
- #: bulk-delete.php:751
243
- msgid "By Pages"
244
  msgstr ""
245
 
246
- #: bulk-delete.php:753
247
  msgid "Select the pages which you want to delete"
248
  msgstr ""
249
 
250
- #: bulk-delete.php:771
251
  msgid "All Published Pages"
252
  msgstr ""
253
 
254
- #: bulk-delete.php:771 bulk-delete.php:778 bulk-delete.php:785
255
- #: bulk-delete.php:792 bulk-delete.php:799
256
  msgid "Pages"
257
  msgstr ""
258
 
259
- #: bulk-delete.php:778
260
  msgid "All Draft Pages"
261
  msgstr ""
262
 
263
- #: bulk-delete.php:785
264
  msgid "All Scheduled Pages"
265
  msgstr ""
266
 
267
- #: bulk-delete.php:792
268
  msgid "All Pending Pages"
269
  msgstr ""
270
 
271
- #: bulk-delete.php:799
272
  msgid "All Private Pages"
273
  msgstr ""
274
 
275
- #: bulk-delete.php:812
276
  msgid "Only restrict to pages which are "
277
  msgstr ""
278
 
279
- #: bulk-delete.php:874
280
- msgid "By Urls"
281
- msgstr ""
282
-
283
- #: bulk-delete.php:876
284
  msgid "Delete these specific pages"
285
  msgstr ""
286
 
287
- #: bulk-delete.php:884
288
  msgid "Enter one post url (not post ids) per line"
289
  msgstr ""
290
 
291
- #: bulk-delete.php:921
292
- msgid "By Post Revisions"
293
- msgstr ""
294
-
295
- #: bulk-delete.php:935
296
  msgid "All Revisions"
297
  msgstr ""
298
 
299
- #: bulk-delete.php:935
300
  msgid "Revisions"
301
  msgstr ""
302
 
303
- #: bulk-delete.php:960
304
- msgid "Debug Information"
305
- msgstr ""
306
-
307
- #: bulk-delete.php:962
308
  msgid ""
309
  "If you are seeing a blank page after clicking the Bulk Delete button, then "
310
  msgstr ""
311
 
312
- #: bulk-delete.php:962
313
  msgid "check out this FAQ"
314
  msgstr ""
315
 
316
- #: bulk-delete.php:963
317
  msgid "You also need need the following debug information."
318
  msgstr ""
319
 
320
- #: bulk-delete.php:966
321
- msgid "Available memory size "
322
  msgstr ""
323
 
324
- #: bulk-delete.php:970
325
- msgid "Script time out "
326
  msgstr ""
327
 
328
- #: bulk-delete.php:974
329
- msgid "Script input time "
330
- msgstr ""
331
-
332
- #: bulk-delete.php:998
333
- msgid "plugin"
334
  msgstr ""
335
 
336
- #: bulk-delete.php:998
337
- msgid "Version"
338
  msgstr ""
339
 
340
- #: bulk-delete.php:998
341
- msgid "by"
342
  msgstr ""
343
 
344
- #: bulk-delete.php:1045
345
  msgid "The selected scheduled job was successfully deleted "
346
  msgstr ""
347
 
348
- #: bulk-delete.php:1083
349
  msgid "Posts from the selected categories are scheduled for deletion."
350
  msgstr ""
351
 
352
- #: bulk-delete.php:1084 bulk-delete.php:1115 bulk-delete.php:1147
353
- #: bulk-delete.php:1180 bulk-delete.php:1215
354
  msgid "See the full list of <a href = \"%s\">scheduled tasks</a>"
355
  msgstr ""
356
 
357
- #: bulk-delete.php:1087
358
  msgid "Deleted %d post from the selected categories"
359
  msgid_plural "Deleted %d posts from the selected categories"
360
  msgstr[0] ""
361
  msgstr[1] ""
362
 
363
- #: bulk-delete.php:1114
364
  msgid "Posts from the selected tags are scheduled for deletion."
365
  msgstr ""
366
 
367
- #: bulk-delete.php:1118
368
  msgid "Deleted %d post from the selected tags"
369
  msgid_plural "Deleted %d posts from the selected tags"
370
  msgstr[0] ""
371
  msgstr[1] ""
372
 
373
- #: bulk-delete.php:1146
374
  msgid "Posts from the selected custom taxonomies are scheduled for deletion."
375
  msgstr ""
376
 
377
- #: bulk-delete.php:1150
378
  msgid "Deleted %d post from the selected custom taxonomies"
379
  msgid_plural "Deleted %d posts from the selected custom taxonomies"
380
  msgstr[0] ""
381
  msgstr[1] ""
382
 
383
- #: bulk-delete.php:1179
384
  msgid "Posts with the selected status are scheduled for deletion."
385
  msgstr ""
386
 
387
- #: bulk-delete.php:1183
388
  msgid "Deleted %d post with the selected post status"
389
  msgid_plural "Deleted %d posts with the selected post status"
390
  msgstr[0] ""
391
  msgstr[1] ""
392
 
393
- #: bulk-delete.php:1214
394
  msgid "The selected pages are scheduled for deletion."
395
  msgstr ""
396
 
397
- #: bulk-delete.php:1218
398
  msgid "Deleted %d page"
399
  msgid_plural "Deleted %d pages"
400
  msgstr[0] ""
401
  msgstr[1] ""
402
 
403
- #: bulk-delete.php:1244
404
  msgid "Deleted %d post with the specified urls"
405
  msgid_plural "Deleted %d posts with the specified urls"
406
  msgstr[0] ""
407
  msgstr[1] ""
408
 
409
- #: bulk-delete.php:1253
410
  msgid "Deleted %d post revision"
411
  msgid_plural "Deleted %d post revisions"
412
  msgstr[0] ""
413
  msgstr[1] ""
414
 
415
- #: bulk-delete.php:1602
416
  msgctxt "Cron table date format"
417
  msgid "M j, Y @ G:i"
418
  msgstr ""
2
  # This file is distributed under the same license as the Bulk Delete package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Bulk Delete 3.4\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bulk-delete\n"
7
+ "POT-Creation-Date: 2013-05-21 16:27:02+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #. #-#-#-#-# bulk-delete.pot (Bulk Delete 3.4) #-#-#-#-#
16
  #. Plugin Name of the plugin/theme
17
+ #: bulk-delete.php:139 bulk-delete.php:268
18
  msgid "Bulk Delete"
19
  msgstr ""
20
 
21
+ #: bulk-delete.php:140 bulk-delete.php:1074
22
  msgid "Bulk Delete Schedules"
23
  msgstr ""
24
 
25
+ #: bulk-delete.php:152
26
+ msgid "By Post Status"
27
+ msgstr ""
28
+
29
+ #: bulk-delete.php:153
30
+ msgid "By Category"
31
+ msgstr ""
32
+
33
+ #: bulk-delete.php:154
34
+ msgid "By Tag"
35
+ msgstr ""
36
+
37
+ #: bulk-delete.php:155
38
+ msgid "By Custom Taxonomy"
39
+ msgstr ""
40
+
41
+ #: bulk-delete.php:156
42
+ msgid "By Page"
43
+ msgstr ""
44
+
45
+ #: bulk-delete.php:157
46
+ msgid "By URL"
47
+ msgstr ""
48
+
49
+ #: bulk-delete.php:158
50
+ msgid "By Post Revision"
51
+ msgstr ""
52
+
53
+ #: bulk-delete.php:159
54
+ msgid "Debug Information"
55
+ msgstr ""
56
+
57
+ #: bulk-delete.php:177
58
  msgid "About Plugin"
59
  msgstr ""
60
 
61
+ #: bulk-delete.php:179
62
  msgid ""
63
  "This plugin allows you to delete posts in bulk from selected categories, "
64
  "tags, custom taxonomies or by post status like drafts, pending posts, "
65
  "scheduled posts etc."
66
  msgstr ""
67
 
68
+ #: bulk-delete.php:186
69
  msgid "More information"
70
  msgstr ""
71
 
72
+ #: bulk-delete.php:187
73
  msgid "Plugin Homepage/support"
74
  msgstr ""
75
 
76
+ #: bulk-delete.php:188
77
  msgid "Buy pro addons"
78
  msgstr ""
79
 
80
+ #: bulk-delete.php:189
81
  msgid "Plugin author's blog"
82
  msgstr ""
83
 
84
+ #: bulk-delete.php:190
85
  msgid "Other Plugin's by Author"
86
  msgstr ""
87
 
88
+ #: bulk-delete.php:219
89
  msgid "Are you sure you want to delete all the selected posts"
90
  msgstr ""
91
 
92
+ #: bulk-delete.php:223
93
+ msgid "Please select posts from at least one option"
94
  msgstr ""
95
 
96
+ #: bulk-delete.php:224
97
+ msgid "Please enter at least one page url"
98
+ msgstr ""
99
+
100
+ #: bulk-delete.php:242
101
  msgid "Manage"
102
  msgstr ""
103
 
104
+ #: bulk-delete.php:256
105
  msgid "Buy Addons"
106
  msgstr ""
107
 
108
+ #: bulk-delete.php:284
109
  msgid "WARNING: Posts deleted once cannot be retrieved back. Use with caution."
110
  msgstr ""
111
 
112
+ #: bulk-delete.php:312
113
+ msgid "plugin"
114
  msgstr ""
115
 
116
+ #: bulk-delete.php:312
117
+ msgid "Version"
118
+ msgstr ""
119
+
120
+ #: bulk-delete.php:312
121
+ msgid "by"
122
+ msgstr ""
123
+
124
+ #: bulk-delete.php:321 bulk-delete.php:431 bulk-delete.php:549
125
+ #: bulk-delete.php:669 bulk-delete.php:823 bulk-delete.php:943
126
+ #: bulk-delete.php:990
127
+ msgid ""
128
+ "This section just got enabled. Kindly <a href = \"%1$s\">refresh</a> the "
129
+ "page to fully enable it."
130
+ msgstr ""
131
+
132
+ #: bulk-delete.php:331 bulk-delete.php:999
133
  msgid "Select the posts which you want to delete"
134
  msgstr ""
135
 
136
+ #: bulk-delete.php:338
137
  msgid "All Draft Posts"
138
  msgstr ""
139
 
140
+ #: bulk-delete.php:338
141
  msgid "Drafts"
142
  msgstr ""
143
 
144
+ #: bulk-delete.php:345
145
  msgid "All Pending posts"
146
  msgstr ""
147
 
148
+ #: bulk-delete.php:345 bulk-delete.php:352 bulk-delete.php:359
149
+ #: bulk-delete.php:450 bulk-delete.php:569 bulk-delete.php:726
150
  msgid "Posts"
151
  msgstr ""
152
 
153
+ #: bulk-delete.php:352
154
  msgid "All scheduled posts"
155
  msgstr ""
156
 
157
+ #: bulk-delete.php:359
158
  msgid "All private posts"
159
  msgstr ""
160
 
161
+ #: bulk-delete.php:365 bulk-delete.php:467 bulk-delete.php:586
162
+ #: bulk-delete.php:740 bulk-delete.php:876 bulk-delete.php:963
163
  msgid "Choose your filtering options"
164
  msgstr ""
165
 
166
+ #: bulk-delete.php:372 bulk-delete.php:476 bulk-delete.php:595
167
+ #: bulk-delete.php:749
168
  msgid "Only restrict to posts which are "
169
  msgstr ""
170
 
171
+ #: bulk-delete.php:374 bulk-delete.php:478 bulk-delete.php:597
172
+ #: bulk-delete.php:751 bulk-delete.php:885
173
  msgid "older than"
174
  msgstr ""
175
 
176
+ #: bulk-delete.php:375 bulk-delete.php:479 bulk-delete.php:598
177
+ #: bulk-delete.php:752 bulk-delete.php:886
178
  msgid "posted within last"
179
  msgstr ""
180
 
181
+ #: bulk-delete.php:377 bulk-delete.php:481 bulk-delete.php:600
182
+ #: bulk-delete.php:754 bulk-delete.php:888
183
  msgid "days"
184
  msgstr ""
185
 
186
+ #: bulk-delete.php:383 bulk-delete.php:487 bulk-delete.php:606
187
+ #: bulk-delete.php:760 bulk-delete.php:894 bulk-delete.php:969
188
  msgid "Move to Trash"
189
  msgstr ""
190
 
191
+ #: bulk-delete.php:384 bulk-delete.php:488 bulk-delete.php:607
192
+ #: bulk-delete.php:761 bulk-delete.php:895 bulk-delete.php:970
193
  msgid "Delete permanently"
194
  msgstr ""
195
 
196
+ #: bulk-delete.php:391 bulk-delete.php:504 bulk-delete.php:623
197
+ #: bulk-delete.php:777 bulk-delete.php:902
198
  msgid "Only delete first "
199
  msgstr ""
200
 
201
+ #: bulk-delete.php:392 bulk-delete.php:505 bulk-delete.php:624
202
+ #: bulk-delete.php:778 bulk-delete.php:903
203
  msgid "posts."
204
  msgstr ""
205
 
206
+ #: bulk-delete.php:393 bulk-delete.php:506 bulk-delete.php:625
207
+ #: bulk-delete.php:779 bulk-delete.php:904
208
  msgid ""
209
  "Use this option if there are more than 1000 posts and the script timesout."
210
  msgstr ""
211
 
212
+ #: bulk-delete.php:399 bulk-delete.php:512 bulk-delete.php:631
213
+ #: bulk-delete.php:785 bulk-delete.php:910
214
  msgid "Delete now"
215
  msgstr ""
216
 
217
+ #: bulk-delete.php:400 bulk-delete.php:513 bulk-delete.php:632
218
+ #: bulk-delete.php:786 bulk-delete.php:911
219
  #: include/class-cron-list-table.php:96
220
  msgid "Schedule"
221
  msgstr ""
222
 
223
+ #: bulk-delete.php:401 bulk-delete.php:514 bulk-delete.php:633
224
+ #: bulk-delete.php:787 bulk-delete.php:912
225
  msgid "repeat "
226
  msgstr ""
227
 
228
+ #: bulk-delete.php:403 bulk-delete.php:516 bulk-delete.php:635
229
+ #: bulk-delete.php:789 bulk-delete.php:914
230
  msgid "Don't repeat"
231
  msgstr ""
232
 
233
+ #: bulk-delete.php:413 bulk-delete.php:526 bulk-delete.php:645
234
+ #: bulk-delete.php:799 bulk-delete.php:924
235
  msgid "Only available in Pro Addon"
236
  msgstr ""
237
 
238
+ #: bulk-delete.php:420 bulk-delete.php:540 bulk-delete.php:652
239
+ #: bulk-delete.php:806 bulk-delete.php:931 bulk-delete.php:978
240
+ #: bulk-delete.php:1014
241
  msgid "Bulk Delete "
242
  msgstr ""
243
 
244
+ #: bulk-delete.php:437
 
 
 
 
245
  msgid "Select the categories whose post you want to delete"
246
  msgstr ""
247
 
248
+ #: bulk-delete.php:461
249
  msgid "All Categories"
250
  msgstr ""
251
 
252
+ #: bulk-delete.php:494 bulk-delete.php:613 bulk-delete.php:767
253
  msgid "Public posts"
254
  msgstr ""
255
 
256
+ #: bulk-delete.php:495 bulk-delete.php:614 bulk-delete.php:768
257
  msgid "Private Posts"
258
  msgstr ""
259
 
260
+ #: bulk-delete.php:532
261
  msgid "Enter time in Y-m-d H:i:s format or enter now to use current time"
262
  msgstr ""
263
 
264
+ #: bulk-delete.php:556
 
 
 
 
265
  msgid "Select the tags whose post you want to delete"
266
  msgstr ""
267
 
268
+ #: bulk-delete.php:580
269
  msgid "All Tags"
270
  msgstr ""
271
 
272
+ #: bulk-delete.php:658
273
+ msgid "You don't have any posts assigned to tags in this blog."
274
  msgstr ""
275
 
276
+ #: bulk-delete.php:693
277
  msgid "Select the taxonomies whose post you want to delete"
278
  msgstr ""
279
 
280
+ #: bulk-delete.php:713
281
  msgid ""
282
  "The selected taxonomy has the following terms. Select the terms whose post "
283
  "you want to delete"
284
  msgstr ""
285
 
286
+ #: bulk-delete.php:812
287
+ msgid "You don't have any posts assigned to custom taxonomies in this blog."
288
  msgstr ""
289
 
290
+ #: bulk-delete.php:835
291
  msgid "Select the pages which you want to delete"
292
  msgstr ""
293
 
294
+ #: bulk-delete.php:842
295
  msgid "All Published Pages"
296
  msgstr ""
297
 
298
+ #: bulk-delete.php:842 bulk-delete.php:849 bulk-delete.php:856
299
+ #: bulk-delete.php:863 bulk-delete.php:870
300
  msgid "Pages"
301
  msgstr ""
302
 
303
+ #: bulk-delete.php:849
304
  msgid "All Draft Pages"
305
  msgstr ""
306
 
307
+ #: bulk-delete.php:856
308
  msgid "All Scheduled Pages"
309
  msgstr ""
310
 
311
+ #: bulk-delete.php:863
312
  msgid "All Pending Pages"
313
  msgstr ""
314
 
315
+ #: bulk-delete.php:870
316
  msgid "All Private Pages"
317
  msgstr ""
318
 
319
+ #: bulk-delete.php:883
320
  msgid "Only restrict to pages which are "
321
  msgstr ""
322
 
323
+ #: bulk-delete.php:949
 
 
 
 
324
  msgid "Delete these specific pages"
325
  msgstr ""
326
 
327
+ #: bulk-delete.php:955
328
  msgid "Enter one post url (not post ids) per line"
329
  msgstr ""
330
 
331
+ #: bulk-delete.php:1006
 
 
 
 
332
  msgid "All Revisions"
333
  msgstr ""
334
 
335
+ #: bulk-delete.php:1006
336
  msgid "Revisions"
337
  msgstr ""
338
 
339
+ #: bulk-delete.php:1027
 
 
 
 
340
  msgid ""
341
  "If you are seeing a blank page after clicking the Bulk Delete button, then "
342
  msgstr ""
343
 
344
+ #: bulk-delete.php:1027
345
  msgid "check out this FAQ"
346
  msgstr ""
347
 
348
+ #: bulk-delete.php:1028
349
  msgid "You also need need the following debug information."
350
  msgstr ""
351
 
352
+ #: bulk-delete.php:1032
353
+ msgid "PHP Version "
354
  msgstr ""
355
 
356
+ #: bulk-delete.php:1036
357
+ msgid "Plugin Version "
358
  msgstr ""
359
 
360
+ #: bulk-delete.php:1040
361
+ msgid "Available memory size "
 
 
 
 
362
  msgstr ""
363
 
364
+ #: bulk-delete.php:1044
365
+ msgid "Script time out "
366
  msgstr ""
367
 
368
+ #: bulk-delete.php:1048
369
+ msgid "Script input time "
370
  msgstr ""
371
 
372
+ #: bulk-delete.php:1099
373
  msgid "The selected scheduled job was successfully deleted "
374
  msgstr ""
375
 
376
+ #: bulk-delete.php:1134
377
  msgid "Posts from the selected categories are scheduled for deletion."
378
  msgstr ""
379
 
380
+ #: bulk-delete.php:1135 bulk-delete.php:1166 bulk-delete.php:1198
381
+ #: bulk-delete.php:1231 bulk-delete.php:1266
382
  msgid "See the full list of <a href = \"%s\">scheduled tasks</a>"
383
  msgstr ""
384
 
385
+ #: bulk-delete.php:1138
386
  msgid "Deleted %d post from the selected categories"
387
  msgid_plural "Deleted %d posts from the selected categories"
388
  msgstr[0] ""
389
  msgstr[1] ""
390
 
391
+ #: bulk-delete.php:1165
392
  msgid "Posts from the selected tags are scheduled for deletion."
393
  msgstr ""
394
 
395
+ #: bulk-delete.php:1169
396
  msgid "Deleted %d post from the selected tags"
397
  msgid_plural "Deleted %d posts from the selected tags"
398
  msgstr[0] ""
399
  msgstr[1] ""
400
 
401
+ #: bulk-delete.php:1197
402
  msgid "Posts from the selected custom taxonomies are scheduled for deletion."
403
  msgstr ""
404
 
405
+ #: bulk-delete.php:1201
406
  msgid "Deleted %d post from the selected custom taxonomies"
407
  msgid_plural "Deleted %d posts from the selected custom taxonomies"
408
  msgstr[0] ""
409
  msgstr[1] ""
410
 
411
+ #: bulk-delete.php:1230
412
  msgid "Posts with the selected status are scheduled for deletion."
413
  msgstr ""
414
 
415
+ #: bulk-delete.php:1234
416
  msgid "Deleted %d post with the selected post status"
417
  msgid_plural "Deleted %d posts with the selected post status"
418
  msgstr[0] ""
419
  msgstr[1] ""
420
 
421
+ #: bulk-delete.php:1265
422
  msgid "The selected pages are scheduled for deletion."
423
  msgstr ""
424
 
425
+ #: bulk-delete.php:1269
426
  msgid "Deleted %d page"
427
  msgid_plural "Deleted %d pages"
428
  msgstr[0] ""
429
  msgstr[1] ""
430
 
431
+ #: bulk-delete.php:1295
432
  msgid "Deleted %d post with the specified urls"
433
  msgid_plural "Deleted %d posts with the specified urls"
434
  msgstr[0] ""
435
  msgstr[1] ""
436
 
437
+ #: bulk-delete.php:1304
438
  msgid "Deleted %d post revision"
439
  msgid_plural "Deleted %d post revisions"
440
  msgstr[0] ""
441
  msgstr[1] ""
442
 
443
+ #: bulk-delete.php:1678
444
  msgctxt "Cron table date format"
445
  msgid "M j, Y @ G:i"
446
  msgstr ""
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: post, comment, delete, bulk, mass, draft, revision, page
4
  Requires at least: 2.0
5
  Tested up to: 3.5.1
6
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
7
- Stable tag: 3.3
8
 
9
  Bulk delete posts from selected categories, tags, custom taxonomies or by post type like drafts, scheduled posts, revisions etc.
10
 
@@ -63,7 +63,6 @@ Like posts, all the above options support the following filters as well
63
 
64
  Coming soon :)
65
 
66
-
67
  As you can see, the Plugin provide comprehensive options and filters to perform bulk deletion.
68
 
69
  If you looking for just moving posts, instead of deleting, then use [Bulk Move Plugin][2] instead.
@@ -90,7 +89,6 @@ If you are looking for ideas, then you can start with one of the following TODO
90
 
91
  The following are the features that I am thinking of adding to the Plugin, when I get some free time. If you have any feature request or want to increase the priority of a particular feature, then let me know.
92
 
93
- - Ability to choose the different sections that should be loaded
94
  - Bulk Delete by custom post types
95
  - Bulk Delete posts based on page views
96
  - Bulk Delete sticky posts
@@ -101,6 +99,7 @@ The following are the features that I am thinking of adding to the Plugin, when
101
  - Delete images that are used by the posts that are being deleted
102
  - <del>Change the message based on the option the user has chosen</del> - Added in v3.3
103
  - <del>Expandable/collapsible taxonomies</del> - Added in v3.3
 
104
 
105
  ### Support
106
 
@@ -123,28 +122,19 @@ The following are the features that I am thinking of adding to the Plugin, when
123
 
124
  The Plugin currently has translations for the following languages.
125
 
126
- * Dutch (Thanks Rene of [WordPress WPwebshop][14])
127
- * Brazilian Portuguese (Thanks Marcelo of [Criacao de Sites em Ribeirao Preto][15])
128
- * German (Thanks Jenny Beelens of [professionaltranslation.com][16])
129
- * Turkish Portuguese (Thanks [Bahadir Yildiz][17])
130
- * Spanish (Thanks Brian Flores of [InMotion Hosting][10])
131
  * Italian (Thanks Paolo Gabrielli)
132
- * Bulgarian (Thanks Nikolay Nikolov of [Skype Fan Blog][11])
133
- * Russian (Thanks Maxim Pesteev, [Weblancer.net profile][12])
134
- * Lithuanian (Thanks Vincent G from [http://www.host1free.com][13])
135
  * Hindi (Thanks Love Chandel)
136
  * Serbian (Thanks Diana)
137
 
138
- The pot file is available with the Plugin. If you are willing to do translation for the Plugin, use the pot file to create the .po files for your language and let me know. I will add it to the Plugin after giving credit to you.
139
-
140
- [10]: http://www.inmotionhosting.com/
141
- [11]: http://en.chat4o.com/
142
- [12]: http://www.weblancer.net/users/Kirky/
143
- [13]: http://www.host1free.com
144
- [14]: http://wpwebshop.com/premium-wordpress-plugins/
145
- [15]: http://www.techload.com.br/
146
- [16]: http://www.professionaltranslation.com
147
- [17]: http://www.matematik.us
148
 
149
  == Credits ==
150
 
@@ -168,6 +158,12 @@ In particular try to change the following settings
168
  * `max_input_time = 30` - Maximum amount of time each script may spend parsing request data
169
  * `memory_limit = 256M` - Maximum amount of memory a script may consume
170
 
 
 
 
 
 
 
171
  = How do I know what are the current values for these options configured in my server? =
172
 
173
  Scroll down to the button of the Plugin page and you can see the current values of these options printed for your reference under the “Debug Information” heading
@@ -196,8 +192,14 @@ The ability to schedule deletion of posts is available as a pro addon.
196
 
197
  7. The above screenshot shows the scheduled auto delete jobs will be displayed. Note that this feature is available only when you buy [pro addons](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons).
198
 
 
 
199
  == Changelog ==
200
 
 
 
 
 
201
  = 2013-05-11 - v3.3 - (Dev time: 10 hours) =
202
  * Enhanced the deletion of posts using custom taxonomies
203
  * Added the ability to schedule auto delete of taxonomies by date
@@ -304,6 +306,9 @@ The ability to schedule deletion of posts is available as a pro addon.
304
 
305
  == Upgrade Notice ==
306
 
 
 
 
307
  = 3.3 =
308
  Fixed issues in deleting posts using custom taxonomy
309
 
4
  Requires at least: 2.0
5
  Tested up to: 3.5.1
6
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
7
+ Stable tag: 3.4
8
 
9
  Bulk delete posts from selected categories, tags, custom taxonomies or by post type like drafts, scheduled posts, revisions etc.
10
 
63
 
64
  Coming soon :)
65
 
 
66
  As you can see, the Plugin provide comprehensive options and filters to perform bulk deletion.
67
 
68
  If you looking for just moving posts, instead of deleting, then use [Bulk Move Plugin][2] instead.
89
 
90
  The following are the features that I am thinking of adding to the Plugin, when I get some free time. If you have any feature request or want to increase the priority of a particular feature, then let me know.
91
 
 
92
  - Bulk Delete by custom post types
93
  - Bulk Delete posts based on page views
94
  - Bulk Delete sticky posts
99
  - Delete images that are used by the posts that are being deleted
100
  - <del>Change the message based on the option the user has chosen</del> - Added in v3.3
101
  - <del>Expandable/collapsible taxonomies</del> - Added in v3.3
102
+ - <del>Ability to choose the different sections that should be loaded</del> - Added in v3.4
103
 
104
  ### Support
105
 
122
 
123
  The Plugin currently has translations for the following languages.
124
 
125
+ * Dutch (Thanks Rene)
126
+ * Brazilian Portuguese (Thanks Marcelo of Criacao de Sites em Ribeirao Preto)
127
+ * German (Thanks Jenny Beelens)
128
+ * Turkish Portuguese (Thanks Bahadir Yildiz)
129
+ * Spanish (Thanks Brian Flores)
130
  * Italian (Thanks Paolo Gabrielli)
131
+ * Bulgarian (Thanks Nikolay Nikolov)
132
+ * Russian (Thanks Maxim Pesteev)
133
+ * Lithuanian (Thanks Vincent G)
134
  * Hindi (Thanks Love Chandel)
135
  * Serbian (Thanks Diana)
136
 
137
+ The pot file is available with the Plugin. If you are willing to do translation for the Plugin, use the pot file to create the .po files for your language and let me know.
 
 
 
 
 
 
 
 
 
138
 
139
  == Credits ==
140
 
158
  * `max_input_time = 30` - Maximum amount of time each script may spend parsing request data
159
  * `memory_limit = 256M` - Maximum amount of memory a script may consume
160
 
161
+ You can also try to disable different sections of the Plugin, if you have huge number of posts.
162
+
163
+ = How do I disable different sections of the Plugin =
164
+
165
+ You can enable or disable different sections of the Plugin by choosing the required modules in the screen option. You can open screen options by clicking the link in the top right corner of the Plugin page.
166
+
167
  = How do I know what are the current values for these options configured in my server? =
168
 
169
  Scroll down to the button of the Plugin page and you can see the current values of these options printed for your reference under the “Debug Information” heading
192
 
193
  7. The above screenshot shows the scheduled auto delete jobs will be displayed. Note that this feature is available only when you buy [pro addons](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons).
194
 
195
+ 8. The above screenshot shows how you can enable/disable different sections of the Plugin.
196
+
197
  == Changelog ==
198
 
199
+ = 2013-05-22 - v3.4 - (Dev time: 20 hours) =
200
+ * Incorporated Screen API to select/deselect different sections of the page
201
+ * Load only sections that are selected by the user
202
+
203
  = 2013-05-11 - v3.3 - (Dev time: 10 hours) =
204
  * Enhanced the deletion of posts using custom taxonomies
205
  * Added the ability to schedule auto delete of taxonomies by date
306
 
307
  == Upgrade Notice ==
308
 
309
+ = 3.4 =
310
+ Added the ability to disable different sections of the Plugin.
311
+
312
  = 3.3 =
313
  Fixed issues in deleting posts using custom taxonomy
314