Bulk Delete - Version 4.1

Version Description

= 4.0.2 = Fixed issue in deleting posts by custom taxonomy

= 4.0.1 = Fixed JS bug that was introduced in v4.0

= 4.0 = Add the ability to delete users

= 3.6.0 = Fix compatibility issues with "The event calendar" Plugin

= 3.5 = Added the ability to delete posts by custom post types.

= 3.4 = Added the ability to disable different sections of the Plugin.

= 3.3 = Fixed issues in deleting posts using custom taxonomy

= 3.2 =

Fixed bugs in handling post revisions and dates in categories. Added more options to delete pages.

= 3.1 =

Added the option to delete by date for pages, drafts, revisions, future posts etc

Download this release

Release Info

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

Code changes from version 4.0.2 to 4.1

bulk-delete.php CHANGED
@@ -5,7 +5,7 @@ Plugin Script: bulk-delete.php
5
  Plugin URI: http://sudarmuthu.com/wordpress/bulk-delete
6
  Description: Bulk delete users and posts from selected categories, tags, post types, custom taxonomies or by post status like drafts, scheduled posts, revisions etc.
7
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
8
- Version: 4.0.2
9
  License: GPL
10
  Author: Sudar
11
  Author URI: http://sudarmuthu.com/
@@ -13,79 +13,7 @@ Text Domain: bulk-delete
13
  Domain Path: languages/
14
 
15
  === RELEASE NOTES ===
16
- 2009-02-02 - v0.1 - first version
17
- 2009-02-03 - v0.2 - Second release - Fixed issues with pagging
18
- 2009-04-05 - v0.3 - Third release - Prevented drafts from deleted when only posts are selected
19
- 2009-07-05 - v0.4 - Fourth release - Added option to delete by date.
20
- 2009-07-21 - v0.5 - Fifth release - Added option to delete all pending posts.
21
- 2009-07-22 - v0.6 - Sixth release - Added option to delete all scheduled posts.
22
- 2010-02-21 - v0.7 - Added an option to delete posts directly or send them to trash and support for translation.
23
- 2010-03-17 - v0.8 - Added support for private posts.
24
- 2010-06-19 - v1.0 - Proper handling of limits.
25
- 2011-01-22 - v1.1 - Added support to delete posts by custom taxonomies
26
- 2011-02-06 - v1.2 - Added some optimization to handle huge number of posts in underpowered servers
27
- 2011-05-11 - v1.3 - Added German translations
28
- 2011-08-25 - v1.4 - Added Turkish translations
29
- 2011-11-13 - v1.5 - Added Spanish translations
30
- 2011-11-28 - v1.6 - Added Italian translations
31
- 2012-01-12 - v1.7 - Added Bulgarian translations
32
- 2012-01-31 - v1.8 - Added roles and capabilities for menu
33
- 2012-03-16 - v1.9 - Added support for deleting by permalink. Credit Martin Capodici
34
- - Fixed issues with translations
35
- - Added Rusian translations
36
- 2012-04-01 - v2.0 (10 hours) - Fixed a major issue in how dates were handled.
37
- - Major UI revamp
38
- - Added debug information and support urls
39
- 2012-04-07 - v2.1 (1 hour) - Fixed CSS issues in IE.
40
- - Added Lithuanian translations
41
- 2012-07-11 - v2.2 - (Dev time: 0.5 hour)
42
- - Added Hindi translations
43
- - Added checks to see if elements are present in the array before accessing them.
44
- 2012-10-28 - v2.2.1 - (Dev time: 0.5 hour)
45
- - Added Serbian translations
46
- 2012-12-20 - v2.2.2 - (Dev time: 0.5 hour)
47
- - Removed unused wpdb->prepare() function calls
48
- 2013-04-27 - v3.0 - (Dev time: 10 hours)
49
- - Added support for pro addons
50
- - Added GUI to see cron jobs
51
- 2013-04-28 - v3.1 - (Dev time: 5 hours)
52
- - Added separate delete by sections for pages, drafts and urls
53
- - Added the option to delete by date for drafts, revisions, future posts etc
54
- - Added the option to delete by date for pages
55
- 2013-05-04 - v3.2 - (Dev time: 20 hours)
56
- - Added support for scheduling auto delete of pages
57
- - Added support for scheduling auto delete of drafts
58
- - Fixed issue in deleting post revisions
59
- - Move post revisions to a separate section
60
- - Better handling of post count to improve performance
61
- - Moved pages to a separate section
62
- - Added ability to delete pages in different status
63
- - Added the option to schedule auto delete of tags by date
64
- - Fixed a bug which was not allowing categories to be deleted based on date
65
- 2013-05-11 - v3.3 - (Dev time: 10 hours)
66
- - Enhanced the deletion of posts using custom taxonomies
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
- 2013-06-01 - v3.5 - (Dev time: 10 hours)
74
- - Added support to delete custom post types
75
- - Added Gujarati translations
76
- - Ignore sticky posts when deleting drafts
77
- 2013-07-07 - v3.6.0 - (Dev time: 2 hours)
78
- - Change minimum requirement to WordPress 3.3
79
- - Fix compatibility issues with "The event calendar" Plugin
80
- 2013-09-09 - v4.0 - (Dev time: 25 hours)
81
- - Add the ability to delete users
82
- - Move menu items under tools
83
- 2013-09-12 - v4.0.1 - (Dev time: 1 hours)
84
- - Fix JavaScript bug that prevented deleting posts by days and in batches
85
- 2013-10-07 - v4.0.2 - (Dev time: 1 hours)
86
- - Fix issue in displaying meta boxes
87
- - Show taxonomy label instead of slug
88
- - Fix issue in deleting posts by custom taxonomy
89
  */
90
 
91
  /* Copyright 2009 Sudar Muthu (email : sudar@sudarmuthu.com)
@@ -108,16 +36,24 @@ if ( !class_exists( 'Bulk_Delete_Users' ) ) {
108
  require_once dirname( __FILE__ ) . '/include/class-bulk-delete-users.php';
109
  }
110
 
 
 
 
 
111
  if ( !class_exists( 'Bulk_Delete_Util' ) ) {
112
  require_once dirname( __FILE__ ) . '/include/class-bulk-delete-util.php';
113
  }
114
 
 
 
 
 
115
  /**
116
  * Bulk Delete Main class
117
  */
118
  class Bulk_Delete {
119
 
120
- const VERSION = '4.0.2';
121
 
122
  // page slugs
123
  const USERS_PAGE_SLUG = 'bulk-delete-users';
@@ -133,6 +69,7 @@ class Bulk_Delete {
133
  const CRON_HOOK_TAGS = 'do-bulk-delete-tags';
134
  const CRON_HOOK_TAXONOMY = 'do-bulk-delete-taxonomy';
135
  const CRON_HOOK_POST_TYPES = 'do-bulk-delete-post-types';
 
136
 
137
  const CRON_HOOK_USER_ROLE = 'do-bulk-delete-users-by-role';
138
 
@@ -145,14 +82,12 @@ class Bulk_Delete {
145
  const BOX_PAGE = 'bd_by_page';
146
  const BOX_URL = 'bd_by_url';
147
  const BOX_POST_REVISION = 'bd_by_post_revision';
 
148
  const BOX_DEBUG = 'bd_debug';
149
 
150
  // meta boxes for delete users
151
  const BOX_USERS = 'bdu_by_users';
152
 
153
- const VISIBLE_POST_BOXES = 'metaboxhidden_tools_page_bulk-delete';
154
- const VISIBLE_USER_BOXES = 'metaboxhidden_tools_page_bulk-delete-users';
155
-
156
  /**
157
  * Default constructor
158
  */
@@ -175,7 +110,7 @@ class Bulk_Delete {
175
  */
176
  function add_menu() {
177
 
178
- $this->admin_page = add_submenu_page( 'tools.php', __("Bulk Delete Posts", 'bulk-delete'), __("Bulk Delete Posts", 'bulk-delete'), 'delete_posts', basename(__FILE__), array(&$this, 'display_setting_page'));
179
  $this->users_page = add_submenu_page( 'tools.php', __("Bulk Delete Users", 'bulk-delete'), __("Bulk Delete Users", 'bulk-delete'), 'delete_users', self::USERS_PAGE_SLUG, array( &$this, 'display_users_page' ));
180
  $this->cron_page = add_submenu_page( 'tools.php', __("Bulk Delete Schedules", 'bulk-delete'), __("Bulk Delete Schedules", 'bulk-delete'), 'delete_posts', 'bulk-delete-cron', array(&$this, 'display_cron_page'));
181
 
@@ -235,15 +170,16 @@ class Bulk_Delete {
235
  * Register meta boxes for delete posts page
236
  */
237
  function add_delete_posts_meta_boxes() {
238
- add_meta_box( self::BOX_POST_STATUS, __( 'By Post Status', 'bulk-delete' ), array( &$this, 'render_by_post_status_box' ), $this->admin_page, 'advanced' );
239
- add_meta_box( self::BOX_CATEGORY, __( 'By Category', 'bulk-delete' ), array( &$this, 'render_by_category_box' ), $this->admin_page, 'advanced' );
240
- add_meta_box( self::BOX_TAG, __( 'By Tag', 'bulk-delete' ), array( &$this, 'render_by_tag_box' ), $this->admin_page, 'advanced' );
241
- add_meta_box( self::BOX_TAX, __( 'By Custom Taxonomy', 'bulk-delete' ), array( &$this, 'render_by_tax_box' ), $this->admin_page, 'advanced' );
242
- add_meta_box( self::BOX_POST_TYPE, __( 'By Custom Post Types', 'bulk-delete' ), array( &$this, 'render_by_post_type_box' ), $this->admin_page, 'advanced' );
243
- add_meta_box( self::BOX_PAGE, __( 'By Page', 'bulk-delete' ), array( &$this, 'render_by_page_box' ), $this->admin_page, 'advanced' );
244
- add_meta_box( self::BOX_URL, __( 'By URL', 'bulk-delete' ), array( &$this, 'render_by_url_box' ), $this->admin_page, 'advanced' );
245
- add_meta_box( self::BOX_POST_REVISION, __( 'By Post Revision', 'bulk-delete' ), array( &$this, 'render_by_post_revision_box' ), $this->admin_page, 'advanced' );
246
- add_meta_box( self::BOX_DEBUG, __( 'Debug Information', 'bulk-delete' ), array( &$this, 'render_debug_box' ), $this->admin_page, 'advanced', 'low' );
 
247
  }
248
 
249
  /**
@@ -289,7 +225,7 @@ class Bulk_Delete {
289
  * Register meta boxes for delete users page
290
  */
291
  function add_delete_users_meta_boxes() {
292
- add_meta_box( self::BOX_USERS, __( 'By User Role', 'bulk-delete' ), array( &$this, 'render_delete_users_box' ), $this->users_page, 'advanced' );
293
  }
294
 
295
  /**
@@ -315,8 +251,9 @@ class Bulk_Delete {
315
  );
316
 
317
  $error = array(
318
- 'selectone' => __('Please select posts from at least one option', 'bulk-delete'),
319
- 'enterurl' => __('Please enter at least one page url', 'bulk-delete')
 
320
  );
321
 
322
  $translation_array = array( 'msg' => $msg, 'error' => $error );
@@ -358,9 +295,9 @@ class Bulk_Delete {
358
  }
359
 
360
  /**
361
- * Show the Admin page
362
  */
363
- function display_setting_page() {
364
  ?>
365
  <div class="wrap">
366
  <?php screen_icon(); ?>
@@ -411,981 +348,6 @@ class Bulk_Delete {
411
  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']);
412
  }
413
 
414
- /**
415
- * Render post status box
416
- */
417
- function render_by_post_status_box() {
418
-
419
- if ( $this->is_posts_box_hidden(self::BOX_POST_STATUS) ) {
420
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
421
- return;
422
- }
423
-
424
- $posts_count = wp_count_posts();
425
- $drafts = $posts_count->draft;
426
- $future = $posts_count->future;
427
- $pending = $posts_count->pending;
428
- $private = $posts_count->private;
429
- ?>
430
- <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
431
-
432
- <fieldset class="options">
433
- <table class="optiontable">
434
- <tr>
435
- <td scope="row" >
436
- <input name="smbd_drafts" id ="smbd_drafts" value = "drafts" type = "checkbox" />
437
- <label for="smbd_drafts"><?php _e("All Draft Posts", 'bulk-delete'); ?> (<?php echo $drafts . " "; _e("Drafts", 'bulk-delete'); ?>)</label>
438
- </td>
439
- </tr>
440
-
441
- <tr>
442
- <td>
443
- <input name="smbd_pending" id ="smbd_pending" value = "pending" type = "checkbox" />
444
- <label for="smbd_pending"><?php _e("All Pending posts", 'bulk-delete'); ?> (<?php echo $pending . " "; _e("Posts", 'bulk-delete'); ?>)</label>
445
- </td>
446
- </tr>
447
-
448
- <tr>
449
- <td>
450
- <input name="smbd_future" id ="smbd_future" value = "future" type = "checkbox" />
451
- <label for="smbd_future"><?php _e("All scheduled posts", 'bulk-delete'); ?> (<?php echo $future . " "; _e("Posts", 'bulk-delete'); ?>)</label>
452
- </td>
453
- </tr>
454
-
455
- <tr>
456
- <td>
457
- <input name="smbd_private" id ="smbd_private" value = "private" type = "checkbox" />
458
- <label for="smbd_private"><?php _e("All private posts", 'bulk-delete'); ?> (<?php echo $private . " "; _e("Posts", 'bulk-delete'); ?>)</label>
459
- </td>
460
- </tr>
461
-
462
- <tr>
463
- <td>
464
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
465
- </td>
466
- </tr>
467
-
468
- <tr>
469
- <td scope="row">
470
- <input name="smbd_post_status_restrict" id="smbd_post_status_restrict" value = "true" type = "checkbox">
471
- <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
472
- <select name="smbd_post_status_op" id="smbd_post_status_op" disabled>
473
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
474
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
475
- </select>
476
- <input type ="textbox" name="smbd_post_status_days" id="smbd_post_status_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
477
- </td>
478
- </tr>
479
-
480
- <tr>
481
- <td scope="row">
482
- <input name="smbd_post_status_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
483
- <input name="smbd_post_status_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
484
- </td>
485
- </tr>
486
-
487
- <tr>
488
- <td scope="row">
489
- <input name="smbd_post_status_limit" id="smbd_post_status_limit" value = "true" type = "checkbox" >
490
- <?php _e("Only delete first ", 'bulk-delete');?>
491
- <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');?>
492
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
493
- </td>
494
- </tr>
495
-
496
- <tr>
497
- <td scope="row" colspan="2">
498
- <input name="smbd_post_status_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
499
- <input name="smbd_post_status_cron" value = "true" type = "radio" id = "smbd_post_status_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
500
- <input name="smbd_post_status_cron_start" id = "smbd_post_status_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
501
- <select name = "smbd_post_status_cron_freq" id = "smbd_post_status_cron_freq" disabled>
502
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
503
- <?php
504
- $schedules = wp_get_schedules();
505
- foreach($schedules as $key => $value) {
506
- ?>
507
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
508
- <?php
509
- }
510
- ?>
511
- </select>
512
- <span class = "bd-post-status-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-post-status-addon">Buy now</a></span>
513
- </td>
514
- </tr>
515
- </table>
516
- </fieldset>
517
-
518
- <p>
519
- <button type="submit" name="smbd_action" value = "bulk-delete-post-status" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
520
- </p>
521
- <?php
522
- }
523
-
524
- /**
525
- * Render By category box
526
- */
527
- function render_by_category_box() {
528
-
529
- if ( $this->is_posts_box_hidden(self::BOX_CATEGORY) ) {
530
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
531
- return;
532
- }
533
-
534
- ?>
535
- <!-- Category Start-->
536
- <h4><?php _e("Select the categories whose post you want to delete", 'bulk-delete'); ?></h4>
537
-
538
- <fieldset class="options">
539
- <table class="optiontable">
540
- <?php
541
- $categories = get_categories(array('hide_empty' => false));
542
- foreach ($categories as $category) {
543
- ?>
544
- <tr>
545
- <td scope="row" >
546
- <input name="smbd_cats[]" value = "<?php echo $category->cat_ID; ?>" type = "checkbox" />
547
- </td>
548
- <td>
549
- <label for="smbd_cats"><?php echo $category->cat_name; ?> (<?php echo $category->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
550
- </td>
551
- </tr>
552
- <?php
553
- }
554
- ?>
555
- <tr>
556
- <td scope="row" >
557
- <input name="smbd_cats_all" id ="smbd_cats_all" value = "-1" type = "checkbox" >
558
- </td>
559
- <td>
560
- <label for="smbd_cats_all"><?php _e("All Categories", 'bulk-delete') ?></label>
561
- </td>
562
- </tr>
563
-
564
- <tr>
565
- <td colspan="2">
566
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
567
- </td>
568
- </tr>
569
-
570
- <tr>
571
- <td scope="row">
572
- <input name="smbd_cats_restrict" id="smbd_cats_restrict" value = "true" type = "checkbox" >
573
- </td>
574
- <td>
575
- <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
576
- <select name="smbd_cats_op" id="smbd_cats_op" disabled>
577
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
578
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
579
- </select>
580
- <input type ="textbox" name="smbd_cats_days" id="smbd_cats_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
581
- </td>
582
- </tr>
583
-
584
- <tr>
585
- <td scope="row" colspan="2">
586
- <input name="smbd_cats_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
587
- <input name="smbd_cats_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
588
- </td>
589
- </tr>
590
-
591
- <tr>
592
- <td scope="row" colspan="2">
593
- <input name="smbd_cats_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
594
- <input name="smbd_cats_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
595
- </td>
596
- </tr>
597
-
598
- <tr>
599
- <td scope="row">
600
- <input name="smbd_cats_limit" id="smbd_cats_limit" value = "true" type = "checkbox">
601
- </td>
602
- <td>
603
- <?php _e("Only delete first ", 'bulk-delete');?>
604
- <input type ="textbox" name="smbd_cats_limit_to" id="smbd_cats_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
605
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
606
- </td>
607
- </tr>
608
-
609
- <tr>
610
- <td scope="row" colspan="2">
611
- <input name="smbd_cats_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
612
- <input name="smbd_cats_cron" value = "true" type = "radio" id = "smbd_cats_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
613
- <input name="smbd_cats_cron_start" id = "smbd_cats_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
614
- <select name = "smbd_cats_cron_freq" id = "smbd_cats_cron_freq" disabled>
615
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
616
- <?php
617
- $schedules = wp_get_schedules();
618
- foreach($schedules as $key => $value) {
619
- ?>
620
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
621
- <?php
622
- }
623
- ?>
624
- </select>
625
- <span class = "bd-cats-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-category-addon">Buy now</a></span>
626
- </td>
627
- </tr>
628
-
629
- <tr>
630
- <td scope="row" colspan="2">
631
- <?php _e("Enter time in Y-m-d H:i:s format or enter now to use current time", 'bulk-delete');?>
632
- </td>
633
- </tr>
634
-
635
- </table>
636
- </fieldset>
637
-
638
- <p>
639
- <button type="submit" name="smbd_action" value = "bulk-delete-cats" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
640
- </p>
641
- <!-- Category end-->
642
- <?php
643
- }
644
-
645
- function render_by_tag_box() {
646
-
647
- if ( $this->is_posts_box_hidden(self::BOX_TAG) ) {
648
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
649
- return;
650
- }
651
-
652
- $tags = get_tags();
653
- if (count($tags) > 0) {
654
- ?>
655
- <h4><?php _e("Select the tags whose post you want to delete", 'bulk-delete') ?></h4>
656
-
657
- <!-- Tags start-->
658
- <fieldset class="options">
659
- <table class="optiontable">
660
- <?php
661
- foreach ($tags as $tag) {
662
- ?>
663
- <tr>
664
- <td scope="row" >
665
- <input name="smbd_tags[]" value = "<?php echo $tag->term_id; ?>" type = "checkbox" />
666
- </td>
667
- <td>
668
- <label for="smbd_tags"><?php echo $tag->name; ?> (<?php echo $tag->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
669
- </td>
670
- </tr>
671
- <?php
672
- }
673
- ?>
674
- <tr>
675
- <td scope="row" >
676
- <input name="smbd_tags_all" id ="smbd_tags_all" value = "-1" type = "checkbox" >
677
- </td>
678
- <td>
679
- <label for="smbd_tags_all"><?php _e("All Tags", 'bulk-delete') ?></label>
680
- </td>
681
- </tr>
682
-
683
- <tr>
684
- <td colspan="2">
685
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
686
- </td>
687
- </tr>
688
-
689
- <tr>
690
- <td scope="row">
691
- <input name="smbd_tags_restrict" id ="smbd_tags_restrict" value = "true" type = "checkbox">
692
- </td>
693
- <td>
694
- <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
695
- <select name="smbd_tags_op" id="smbd_tags_op" disabled>
696
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
697
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
698
- </select>
699
- <input type ="textbox" name="smbd_tags_days" id ="smbd_tags_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
700
- </td>
701
- </tr>
702
-
703
- <tr>
704
- <td scope="row" colspan="2">
705
- <input name="smbd_tags_force_delete" value = "false" type = "radio" checked="checked" > <?php _e('Move to Trash', 'bulk-delete'); ?>
706
- <input name="smbd_tags_force_delete" value = "true" type = "radio" > <?php _e('Delete permanently', 'bulk-delete'); ?>
707
- </td>
708
- </tr>
709
-
710
- <tr>
711
- <td scope="row" colspan="2">
712
- <input name="smbd_tags_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
713
- <input name="smbd_tags_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
714
- </td>
715
- </tr>
716
-
717
- <tr>
718
- <td scope="row">
719
- <input name="smbd_tags_limit" id="smbd_tags_limit" value = "true" type = "checkbox">
720
- </td>
721
- <td>
722
- <?php _e("Only delete first ", 'bulk-delete');?>
723
- <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');?>
724
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
725
- </td>
726
- </tr>
727
-
728
- <tr>
729
- <td scope="row" colspan="2">
730
- <input name="smbd_tags_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
731
- <input name="smbd_tags_cron" value = "true" type = "radio" id = "smbd_tags_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
732
- <input name="smbd_tags_cron_start" id = "smbd_tags_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
733
- <select name = "smbd_tags_cron_freq" id = "smbd_tags_cron_freq" disabled>
734
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
735
- <?php
736
- $schedules = wp_get_schedules();
737
- foreach($schedules as $key => $value) {
738
- ?>
739
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
740
- <?php
741
- }
742
- ?>
743
- </select>
744
- <span class = "bd-tags-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-tags-addon">Buy now</a></span>
745
- </td>
746
- </tr>
747
-
748
- </table>
749
- </fieldset>
750
- <p class="submit">
751
- <button type="submit" name="smbd_action" value = "bulk-delete-tags" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
752
- </p>
753
- <!-- Tags end-->
754
- <?php
755
- } else {
756
- ?>
757
- <h4><?php _e("You don't have any posts assigned to tags in this blog.", 'bulk-delete') ?></h4>
758
- <?php
759
- }
760
- }
761
-
762
- /**
763
- * Render delete by custom taxonomy box
764
- */
765
- function render_by_tax_box() {
766
-
767
- if ( $this->is_posts_box_hidden(self::BOX_TAX) ) {
768
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
769
- return;
770
- }
771
-
772
- $terms_array = array();
773
-
774
- $taxs = get_taxonomies(array(
775
- 'public' => true,
776
- '_builtin' => false
777
- ), 'objects'
778
- );
779
-
780
- if (count($taxs) > 0) {
781
- foreach ($taxs as $tax) {
782
- $terms = get_terms($tax->name);
783
- if (count($terms) > 0) {
784
- $terms_array[$tax->name] = $terms;
785
- }
786
- }
787
- }
788
-
789
- if ( count( $terms_array ) > 0 ) {
790
- ?>
791
- <!-- Custom tax Start-->
792
- <h4><?php _e("Select the taxonomies whose post you want to delete", 'bulk-delete') ?></h4>
793
-
794
- <fieldset class="options">
795
- <table class="optiontable">
796
- <?php
797
- foreach ($terms_array as $tax => $terms) {
798
- ?>
799
- <tr>
800
- <td scope="row" >
801
- <input name="smbd_taxs" value = "<?php echo $tax; ?>" type = "radio" class = "custom-tax">
802
- </td>
803
- <td>
804
- <label for="smbd_taxs"><?php echo $taxs[$tax]->labels->name; ?> </label>
805
- </td>
806
- </tr>
807
- <?php
808
- }
809
- ?>
810
- </table>
811
-
812
- <h4><?php _e("The selected taxonomy has the following terms. Select the terms whose post you want to delete", 'bulk-delete') ?></h4>
813
- <?php
814
- foreach ($terms_array as $tax => $terms) {
815
- ?>
816
- <table class="optiontable terms_<?php echo $tax;?> terms">
817
- <?php
818
- foreach ($terms as $term) {
819
- ?>
820
- <tr>
821
- <td scope="row" >
822
- <input name="smbd_tax_terms[]" value = "<?php echo $term->slug; ?>" type = "checkbox" class = "terms" >
823
- </td>
824
- <td>
825
- <label for="smbd_tax_terms"><?php echo $term->name; ?> (<?php echo $term->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
826
- </td>
827
- </tr>
828
- <?php
829
- }
830
- ?>
831
- </table>
832
- <?php
833
- }
834
- ?>
835
- </table>
836
- <table class="optiontable">
837
- <tr>
838
- <td colspan="2">
839
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
840
- </td>
841
- </tr>
842
-
843
- <tr>
844
- <td scope="row">
845
- <input name="smbd_taxs_restrict" id ="smbd_taxs_restrict" value = "true" type = "checkbox">
846
- </td>
847
- <td>
848
- <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
849
- <select name="smbd_taxs_op" id="smbd_taxs_op" disabled>
850
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
851
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
852
- </select>
853
- <input type ="textbox" name="smbd_taxs_days" id ="smbd_taxs_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
854
- </td>
855
- </tr>
856
-
857
- <tr>
858
- <td scope="row" colspan="2">
859
- <input name="smbd_taxs_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
860
- <input name="smbd_taxs_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
861
- </td>
862
- </tr>
863
-
864
- <tr>
865
- <td scope="row" colspan="2">
866
- <input name="smbd_taxs_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
867
- <input name="smbd_taxs_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
868
- </td>
869
- </tr>
870
-
871
- <tr>
872
- <td scope="row">
873
- <input name="smbd_taxs_limit" id="smbd_taxs_limit" value = "true" type = "checkbox">
874
- </td>
875
- <td>
876
- <?php _e("Only delete first ", 'bulk-delete');?>
877
- <input type ="textbox" name="smbd_taxs_limit_to" id="smbd_taxs_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
878
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
879
- </td>
880
- </tr>
881
-
882
- <tr>
883
- <td scope="row" colspan="2">
884
- <input name="smbd_taxs_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
885
- <input name="smbd_taxs_cron" value = "true" type = "radio" id = "smbd_taxs_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
886
- <input name="smbd_taxs_cron_start" id = "smbd_taxs_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
887
- <select name = "smbd_taxs_cron_freq" id = "smbd_taxs_cron_freq" disabled>
888
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
889
- <?php
890
- $schedules = wp_get_schedules();
891
- foreach($schedules as $key => $value) {
892
- ?>
893
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
894
- <?php
895
- }
896
- ?>
897
- </select>
898
- <span class = "bd-taxs-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-taxonomy-addon">Buy now</a></span>
899
- </td>
900
- </tr>
901
-
902
- </table>
903
- </fieldset>
904
- <p class="submit">
905
- <button type="submit" name="smbd_action" value = "bulk-delete-taxs" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
906
- </p>
907
- <!-- Custom tax end-->
908
- <?php
909
- } else {
910
- ?>
911
- <h4><?php _e("You don't have any posts assigned to custom taxonomies in this blog.", 'bulk-delete') ?></h4>
912
- <?php
913
- }
914
- }
915
-
916
- /**
917
- * Render delete by custom post type box
918
- */
919
- function render_by_post_type_box() {
920
-
921
- if ( $this->is_posts_box_hidden(self::BOX_POST_TYPE) ) {
922
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
923
- return;
924
- }
925
-
926
- $types_array = array();
927
-
928
- $types = get_post_types( array(
929
- 'public' => true,
930
- '_builtin' => false
931
- ), 'names'
932
- );
933
-
934
- if ( count( $types ) > 0 ) {
935
- foreach ($types as $type) {
936
- $post_count = wp_count_posts( $type );
937
- if ( $post_count->publish > 0 ) {
938
- $types_array[$type] = $post_count->publish;
939
- }
940
- }
941
- }
942
-
943
- if ( count( $types_array ) > 0 ) {
944
- ?>
945
- <!-- Custom post type Start-->
946
- <h4><?php _e( "Select the custom post type whose post you want to delete", 'bulk-delete' ) ?></h4>
947
-
948
- <fieldset class="options">
949
- <table class="optiontable">
950
- <?php
951
- foreach ( $types_array as $type => $count ) {
952
- ?>
953
- <tr>
954
- <td scope="row" >
955
- <input name="smbd_types[]" value = "<?php echo $type; ?>" type = "checkbox">
956
- </td>
957
- <td>
958
- <label for="smbd_types"><?php echo $type, ' (', $count, ')'; ?></label>
959
- </td>
960
- </tr>
961
- <?php
962
- }
963
- ?>
964
- <tr>
965
- <td colspan="2">
966
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
967
- </td>
968
- </tr>
969
-
970
- <tr>
971
- <td scope="row">
972
- <input name="smbd_types_restrict" id ="smbd_types_restrict" value = "true" type = "checkbox">
973
- </td>
974
- <td>
975
- <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
976
- <select name="smbd_types_op" id="smbd_types_op" disabled>
977
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
978
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
979
- </select>
980
- <input type ="textbox" name="smbd_types_days" id ="smbd_types_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
981
- </td>
982
- </tr>
983
-
984
- <tr>
985
- <td scope="row" colspan="2">
986
- <input name="smbd_types_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
987
- <input name="smbd_types_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
988
- </td>
989
- </tr>
990
-
991
- <tr>
992
- <td scope="row" colspan="2">
993
- <input name="smbd_types_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
994
- <input name="smbd_types_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
995
- </td>
996
- </tr>
997
-
998
- <tr>
999
- <td scope="row">
1000
- <input name="smbd_types_limit" id="smbd_types_limit" value = "true" type = "checkbox">
1001
- </td>
1002
- <td>
1003
- <?php _e("Only delete first ", 'bulk-delete');?>
1004
- <input type ="textbox" name="smbd_types_limit_to" id="smbd_types_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
1005
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
1006
- </td>
1007
- </tr>
1008
-
1009
- <tr>
1010
- <td scope="row" colspan="2">
1011
- <input name="smbd_types_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
1012
- <input name="smbd_types_cron" value = "true" type = "radio" id = "smbd_types_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
1013
- <input name="smbd_types_cron_start" id = "smbd_types_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
1014
- <select name = "smbd_types_cron_freq" id = "smbd_types_cron_freq" disabled>
1015
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
1016
- <?php
1017
- $schedules = wp_get_schedules();
1018
- foreach($schedules as $key => $value) {
1019
- ?>
1020
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
1021
- <?php
1022
- }
1023
- ?>
1024
- </select>
1025
- <span class = "bd-types-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-post-type-addon">Buy now</a></span>
1026
- </td>
1027
- </tr>
1028
-
1029
- </table>
1030
- </fieldset>
1031
- <p class="submit">
1032
- <button type="submit" name="smbd_action" value = "bulk-delete-post-types" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1033
- </p>
1034
- <!-- Custom post type end-->
1035
- <?php
1036
- } else {
1037
- ?>
1038
- <h4><?php _e("You don't have any posts assigned to custom post types in this blog.", 'bulk-delete') ?></h4>
1039
- <?php
1040
- }
1041
- }
1042
-
1043
- /**
1044
- * Render delete by pages box
1045
- */
1046
- function render_by_page_box() {
1047
-
1048
- if ( $this->is_posts_box_hidden(self::BOX_PAGE) ) {
1049
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
1050
- return;
1051
- }
1052
-
1053
- $pages_count = wp_count_posts( 'page' );
1054
- $pages = $pages_count->publish;
1055
- $page_drafts = $pages_count->draft;
1056
- $page_future = $pages_count->future;
1057
- $page_pending = $pages_count->pending;
1058
- $page_private = $pages_count->private;
1059
- ?>
1060
- <!-- Pages start-->
1061
- <h4><?php _e("Select the pages which you want to delete", 'bulk-delete'); ?></h4>
1062
-
1063
- <fieldset class="options">
1064
- <table class="optiontable">
1065
- <tr>
1066
- <td>
1067
- <input name="smbd_published_pages" value = "published_pages" type = "checkbox" />
1068
- <label for="smbd_published_pages"><?php _e("All Published Pages", 'bulk-delete'); ?> (<?php echo $pages . " "; _e("Pages", 'bulk-delete'); ?>)</label>
1069
- </td>
1070
- </tr>
1071
-
1072
- <tr>
1073
- <td>
1074
- <input name="smbd_draft_pages" value = "draft_pages" type = "checkbox" />
1075
- <label for="smbd_draft_pages"><?php _e("All Draft Pages", 'bulk-delete'); ?> (<?php echo $page_drafts . " "; _e("Pages", 'bulk-delete'); ?>)</label>
1076
- </td>
1077
- </tr>
1078
-
1079
- <tr>
1080
- <td>
1081
- <input name="smbd_future_pages" value = "scheduled_pages" type = "checkbox" />
1082
- <label for="smbd_future_pages"><?php _e("All Scheduled Pages", 'bulk-delete'); ?> (<?php echo $page_future . " "; _e("Pages", 'bulk-delete'); ?>)</label>
1083
- </td>
1084
- </tr>
1085
-
1086
- <tr>
1087
- <td>
1088
- <input name="smbd_pending_pages" value = "pending_pages" type = "checkbox" />
1089
- <label for="smbd_pending_pages"><?php _e("All Pending Pages", 'bulk-delete'); ?> (<?php echo $page_pending . " "; _e("Pages", 'bulk-delete'); ?>)</label>
1090
- </td>
1091
- </tr>
1092
-
1093
- <tr>
1094
- <td>
1095
- <input name="smbd_private_pages" value = "private_pages" type = "checkbox" />
1096
- <label for="smbd_private_pages"><?php _e("All Private Pages", 'bulk-delete'); ?> (<?php echo $page_private . " "; _e("Pages", 'bulk-delete'); ?>)</label>
1097
- </td>
1098
- </tr>
1099
-
1100
- <tr>
1101
- <td>
1102
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
1103
- </td>
1104
- </tr>
1105
-
1106
- <tr>
1107
- <td scope="row">
1108
- <input name="smbd_pages_restrict" id="smbd_pages_restrict" value = "true" type = "checkbox">
1109
- <?php _e("Only restrict to pages which are ", 'bulk-delete');?>
1110
- <select name="smbd_pages_op" id="smbd_pages_op" disabled>
1111
- <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
1112
- <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
1113
- </select>
1114
- <input type ="textbox" name="smbd_pages_days" id="smbd_pages_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
1115
- </td>
1116
- </tr>
1117
-
1118
- <tr>
1119
- <td scope="row">
1120
- <input name="smbd_pages_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
1121
- <input name="smbd_pages_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
1122
- </td>
1123
- </tr>
1124
-
1125
- <tr>
1126
- <td scope="row">
1127
- <input name="smbd_pages_limit" id="smbd_pages_limit" value = "true" type = "checkbox">
1128
- <?php _e("Only delete first ", 'bulk-delete');?>
1129
- <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');?>
1130
- <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
1131
- </td>
1132
- </tr>
1133
-
1134
- <tr>
1135
- <td scope="row" colspan="2">
1136
- <input name="smbd_pages_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
1137
- <input name="smbd_pages_cron" value = "true" type = "radio" id = "smbd_pages_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
1138
- <input name="smbd_pages_cron_start" id = "smbd_pages_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
1139
- <select name = "smbd_pages_cron_freq" id = "smbd_pages_cron_freq" disabled>
1140
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
1141
- <?php
1142
- $schedules = wp_get_schedules();
1143
- foreach($schedules as $key => $value) {
1144
- ?>
1145
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
1146
- <?php
1147
- }
1148
- ?>
1149
- </select>
1150
- <span class = "bd-pages-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-pages-addon">Buy now</a></span>
1151
- </td>
1152
- </tr>
1153
- </table>
1154
- </fieldset>
1155
-
1156
- <p>
1157
- <button type="submit" name="smbd_action" value = "bulk-delete-page" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1158
- </p>
1159
- <!-- Pages end-->
1160
- <?php
1161
- }
1162
-
1163
- /**
1164
- * Render delete by url box
1165
- */
1166
- function render_by_url_box() {
1167
-
1168
- if ( $this->is_posts_box_hidden(self::BOX_URL) ) {
1169
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
1170
- return;
1171
- }
1172
-
1173
- ?>
1174
- <!-- URLs start-->
1175
- <h4><?php _e("Delete these specific pages", 'bulk-delete'); ?></h4>
1176
-
1177
- <fieldset class="options">
1178
- <table class="optiontable">
1179
- <tr>
1180
- <td scope="row">
1181
- <label for="smdb_specific_pages"><?php _e("Enter one post url (not post ids) per line", 'bulk-delete'); ?></label>
1182
- <br/>
1183
- <textarea style="width: 450px; height: 80px;" id="smdb_specific_pages_urls" name="smdb_specific_pages_urls" rows="5" columns="80" ></textarea>
1184
- </td>
1185
- </tr>
1186
-
1187
- <tr>
1188
- <td>
1189
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
1190
- </td>
1191
- </tr>
1192
-
1193
- <tr>
1194
- <td scope="row">
1195
- <input name="smbd_specific_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
1196
- <input name="smbd_specific_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
1197
- </td>
1198
- </tr>
1199
-
1200
- </table>
1201
- </fieldset>
1202
-
1203
- <p>
1204
- <button type="submit" name="smbd_action" value = "bulk-delete-specific" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1205
- </p>
1206
- <!-- URLs end-->
1207
- <?php
1208
- }
1209
-
1210
- /**
1211
- * Render delete by post revisions box
1212
- */
1213
- function render_by_post_revision_box() {
1214
-
1215
- if ( $this->is_posts_box_hidden(self::BOX_POST_REVISION) ) {
1216
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
1217
- return;
1218
- }
1219
-
1220
- global $wpdb;
1221
-
1222
- $revisions = $wpdb->get_var("select count(*) from $wpdb->posts where post_type = 'revision'");
1223
- ?>
1224
- <!-- Post Revisions start-->
1225
- <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
1226
-
1227
- <fieldset class="options">
1228
- <table class="optiontable">
1229
- <tr>
1230
- <td>
1231
- <input name="smbd_revisions" id ="smbd_revisions" value = "revisions" type = "checkbox" />
1232
- <label for="smbd_revisions"><?php _e("All Revisions", 'bulk-delete'); ?> (<?php echo $revisions . " "; _e("Revisions", 'bulk-delete'); ?>)</label>
1233
- </td>
1234
- </tr>
1235
-
1236
- </table>
1237
- </fieldset>
1238
-
1239
- <p>
1240
- <button type="submit" name="smbd_action" value = "bulk-delete-revisions" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1241
- </p>
1242
- <!-- Post Revisions end-->
1243
- <?php
1244
- }
1245
-
1246
- /**
1247
- * Render debug box
1248
- */
1249
- function render_debug_box() {
1250
- ?>
1251
- <!-- Debug box start-->
1252
- <p>
1253
- <?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>.
1254
- <?php _e('You also need need the following debug information.', 'bulk-delete'); ?>
1255
- </p>
1256
- <table cellspacing="10">
1257
- <tr>
1258
- <th align = "right"><?php _e('PHP Version ', 'bulk-delete'); ?></th>
1259
- <td><?php echo phpversion(); ?></td>
1260
- </tr>
1261
- <tr>
1262
- <th align = "right"><?php _e('Plugin Version ', 'bulk-delete'); ?></th>
1263
- <td><?php echo self::VERSION; ?></td>
1264
- </tr>
1265
- <tr>
1266
- <th align = "right"><?php _e('Available memory size ', 'bulk-delete');?></th>
1267
- <td><?php echo ini_get( 'memory_limit' ); ?></td>
1268
- </tr>
1269
- <tr>
1270
- <th align = "right"><?php _e('Script time out ', 'bulk-delete');?></th>
1271
- <td><?php echo ini_get( 'max_execution_time' ); ?></td>
1272
- </tr>
1273
- <tr>
1274
- <th align = "right"><?php _e('Script input time ', 'bulk-delete'); ?></th>
1275
- <td><?php echo ini_get( 'max_input_time' ); ?></td>
1276
- </tr>
1277
- </table>
1278
- <!-- Debug box end-->
1279
- <?php
1280
- }
1281
-
1282
- /**
1283
- * Render delete users box
1284
- */
1285
- function render_delete_users_box() {
1286
-
1287
- if ( $this->is_users_box_hidden(self::BOX_USERS) ) {
1288
- printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=' . self::USERS_PAGE_SLUG );
1289
- return;
1290
- }
1291
- ?>
1292
- <!-- Users Start-->
1293
- <h4><?php _e("Select the user roles from which you want to delete users", 'bulk-delete'); ?></h4>
1294
-
1295
- <fieldset class="options">
1296
- <table class="optiontable">
1297
- <?php
1298
- $users_count = count_users();
1299
- foreach( $users_count['avail_roles'] as $role => $count ) {
1300
- ?>
1301
- <tr>
1302
- <td scope="row" >
1303
- <input name="smbdu_roles[]" value = "<?php echo $role; ?>" type = "checkbox" />
1304
- </td>
1305
- <td>
1306
- <label for="smbdu_roles"><?php echo $role; ?> (<?php echo $count . " "; _e("Users", 'bulk-delete'); ?>)</label>
1307
- </td>
1308
- </tr>
1309
- <?php
1310
- }
1311
- ?>
1312
- <tr>
1313
- <td colspan="2">
1314
- <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
1315
- </td>
1316
- </tr>
1317
-
1318
- <?php
1319
- if ( !Bulk_Delete_Util::is_simple_login_log_present() ) {
1320
- $disabled = "disabled";
1321
- } else {
1322
- $disabled = '';
1323
- }
1324
- ?>
1325
- <tr>
1326
- <td scope="row">
1327
- <input name="smbdu_login_restrict" id="smbdu_login_restrict" value = "true" type = "checkbox" <?php echo $disabled; ?> >
1328
- </td>
1329
- <td>
1330
- <?php _e("Only restrict to users who have not logged in the last ", 'bulk-delete');?>
1331
- <input type ="textbox" name="smbdu_login_days" id="smbdu_login_days" value ="0" maxlength="4" size="4" <?php echo $disabled; ?> ><?php _e("days", 'bulk-delete');?>
1332
- <?php
1333
- if ( !Bulk_Delete_Util::is_simple_login_log_present() ) {
1334
- ?>
1335
- <span style = "color:red">
1336
- <?php _e('Need Simple Login Log Plugin', 'bulk-delete'); ?> <a href = "http://wordpress.org/plugins/simple-login-log/">Install now</a>
1337
- </span>
1338
- <?php
1339
- }
1340
- ?>
1341
- </td>
1342
- </tr>
1343
-
1344
- <tr>
1345
- <td scope="row">
1346
- <input name="smbdu_role_no_posts" id="smbdu_role_no_posts" value = "true" type = "checkbox" >
1347
- </td>
1348
- <td>
1349
- <?php _e( "Only if user doesn't have any post", 'bulk-delete' ); ?>
1350
- </td>
1351
- </tr>
1352
-
1353
- <tr>
1354
- <td scope="row" colspan="2">
1355
- <input name="smbdu_userrole_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
1356
- <input name="smbdu_userrole_cron" value = "true" type = "radio" id = "smbdu_userrole_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
1357
- <input name="smbdu_userrole_cron_start" id = "smbdu_userrole_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
1358
- <select name = "smbdu_userrole_cron_freq" id = "smbdu_userrole_cron_freq" disabled>
1359
- <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
1360
- <?php
1361
- $schedules = wp_get_schedules();
1362
- foreach($schedules as $key => $value) {
1363
- ?>
1364
- <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
1365
- <?php
1366
- }
1367
- ?>
1368
- </select>
1369
- <span class = "bdu-users-by-role-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-users-by-role-addon">Buy now</a></span>
1370
- </td>
1371
- </tr>
1372
-
1373
- <tr>
1374
- <td scope="row" colspan="2">
1375
- <?php _e("Enter time in Y-m-d H:i:s format or enter now to use current time", 'bulk-delete');?>
1376
- </td>
1377
- </tr>
1378
-
1379
- </table>
1380
- </fieldset>
1381
-
1382
- <p>
1383
- <button type="submit" name="smbdu_action" value = "bulk-delete-users-by-role" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
1384
- </p>
1385
- <!-- Users end-->
1386
- <?php
1387
- }
1388
-
1389
  /**
1390
  * Display bulk delete users page
1391
  */
@@ -1446,7 +408,7 @@ class Bulk_Delete {
1446
 
1447
  //Prepare Table of elements
1448
  $cron_list_table = new Cron_List_Table();
1449
- $cron_list_table->prepare_items($this->get_cron_schedules());
1450
  ?>
1451
  <div class="wrap">
1452
  <?php screen_icon(); ?>
@@ -1473,7 +435,7 @@ class Bulk_Delete {
1473
 
1474
  case 'delete-cron':
1475
  $cron_id = absint($_GET['cron_id']);
1476
- $cron_items = $this->get_cron_schedules();
1477
  wp_unschedule_event($cron_items[$cron_id]['timestamp'], $cron_items[$cron_id]['type'], $cron_items[$cron_id]['args']);
1478
 
1479
  $this->msg = __('The selected scheduled job was successfully deleted ', 'bulk-delete');
@@ -1752,6 +714,41 @@ class Bulk_Delete {
1752
 
1753
  $this->msg = sprintf( _n( 'Deleted %d post revision', 'Deleted %d post revisions' , $deleted_count, 'bulk-delete' ), $deleted_count);
1754
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1755
  }
1756
  }
1757
 
@@ -1772,50 +769,6 @@ class Bulk_Delete {
1772
  remove_action( 'admin_notices', array( &$this, 'deleted_notice' ));
1773
  }
1774
 
1775
- /**
1776
- * @brief Check whether the meta box in posts page is hidden or not
1777
- *
1778
- * @param $box
1779
- *
1780
- * @return
1781
- */
1782
- private function is_posts_box_hidden( $box ) {
1783
- $hidden_boxes = $this->get_posts_hidden_boxes();
1784
- return ( is_array( $hidden_boxes ) && in_array( $box, $hidden_boxes ) );
1785
- }
1786
-
1787
- /**
1788
- * Get the list of hidden boxes in posts page
1789
- *
1790
- * @return the array of hidden meta boxes
1791
- */
1792
- private function get_posts_hidden_boxes() {
1793
- $current_user = wp_get_current_user();
1794
- return get_user_meta( $current_user->ID, self::VISIBLE_POST_BOXES, TRUE );
1795
- }
1796
-
1797
- /**
1798
- * @brief Check whether the meta box in users page is hidden or not
1799
- *
1800
- * @param $box
1801
- *
1802
- * @return
1803
- */
1804
- private function is_users_box_hidden( $box ) {
1805
- $hidden_boxes = $this->get_users_hidden_boxes();
1806
- return ( is_array( $hidden_boxes ) && in_array( $box, $hidden_boxes ) );
1807
- }
1808
-
1809
- /**
1810
- * Get the list of hidden boxes in users page
1811
- *
1812
- * @return the array of hidden meta boxes
1813
- */
1814
- private function get_users_hidden_boxes() {
1815
- $current_user = wp_get_current_user();
1816
- return get_user_meta( $current_user->ID, self::VISIBLE_USER_BOXES, TRUE );
1817
- }
1818
-
1819
  /**
1820
  * Delete posts by category
1821
  */
@@ -2223,58 +1176,8 @@ class Bulk_Delete {
2223
 
2224
  return 0;
2225
  }
2226
-
2227
- /**
2228
- * Get the list of cron schedules
2229
- *
2230
- * @return array - The list of cron schedules
2231
- */
2232
- private function get_cron_schedules() {
2233
-
2234
- $cron_items = array();
2235
- $cron = _get_cron_array();
2236
- $date_format = _x( 'M j, Y @ G:i', 'Cron table date format', 'bulk-delete' );
2237
- $i = 0;
2238
-
2239
- foreach ( $cron as $timestamp => $cronhooks ) {
2240
- foreach ( (array) $cronhooks as $hook => $events ) {
2241
- if (substr($hook, 0, 15) == 'do-bulk-delete-') {
2242
- $cron_item = array();
2243
-
2244
- foreach ( (array) $events as $key => $event ) {
2245
- $cron_item['timestamp'] = $timestamp;
2246
- $cron_item['due'] = date_i18n( $date_format, $timestamp + ( get_option('gmt_offset') * 60 * 60 ) );
2247
- $cron_item['schedule'] = $event['schedule'];
2248
- $cron_item['type'] = $hook;
2249
- $cron_item['args'] = $event['args'];
2250
- $cron_item['id'] = $i;
2251
- }
2252
-
2253
- $cron_items[$i] = $cron_item;
2254
- $i++;
2255
- }
2256
- }
2257
- }
2258
- return $cron_items;
2259
- }
2260
  }
2261
 
2262
  // Start this plugin once all other plugins are fully loaded
2263
  add_action( 'init', 'Bulk_Delete' ); function Bulk_Delete() { global $Bulk_Delete; $Bulk_Delete = new Bulk_Delete(); }
2264
-
2265
- /**
2266
- * Check whether a key is present. If present returns the value, else returns the default value
2267
- *
2268
- * @param <array> $array - Array whose key has to be checked
2269
- * @param <string> $key - key that has to be checked
2270
- * @param <string> $default - the default value that has to be used, if the key is not found (optional)
2271
- *
2272
- * @return <mixed> If present returns the value, else returns the default value
2273
- * @author Sudar
2274
- */
2275
- if (!function_exists('array_get')) {
2276
- function array_get($array, $key, $default = NULL) {
2277
- return isset($array[$key]) ? $array[$key] : $default;
2278
- }
2279
- }
2280
  ?>
5
  Plugin URI: http://sudarmuthu.com/wordpress/bulk-delete
6
  Description: Bulk delete users and posts from selected categories, tags, post types, custom taxonomies or by post status like drafts, scheduled posts, revisions etc.
7
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
8
+ Version: 4.1
9
  License: GPL
10
  Author: Sudar
11
  Author URI: http://sudarmuthu.com/
13
  Domain Path: languages/
14
 
15
  === RELEASE NOTES ===
16
+ Check readme file for full release notes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  */
18
 
19
  /* Copyright 2009 Sudar Muthu (email : sudar@sudarmuthu.com)
36
  require_once dirname( __FILE__ ) . '/include/class-bulk-delete-users.php';
37
  }
38
 
39
+ if ( !class_exists( 'Bulk_Delete_Posts' ) ) {
40
+ require_once dirname( __FILE__ ) . '/include/class-bulk-delete-posts.php';
41
+ }
42
+
43
  if ( !class_exists( 'Bulk_Delete_Util' ) ) {
44
  require_once dirname( __FILE__ ) . '/include/class-bulk-delete-util.php';
45
  }
46
 
47
+ if ( !function_exists( 'array_get' ) ) {
48
+ require_once dirname( __FILE__ ) . '/include/util.php';
49
+ }
50
+
51
  /**
52
  * Bulk Delete Main class
53
  */
54
  class Bulk_Delete {
55
 
56
+ const VERSION = '4.1';
57
 
58
  // page slugs
59
  const USERS_PAGE_SLUG = 'bulk-delete-users';
69
  const CRON_HOOK_TAGS = 'do-bulk-delete-tags';
70
  const CRON_HOOK_TAXONOMY = 'do-bulk-delete-taxonomy';
71
  const CRON_HOOK_POST_TYPES = 'do-bulk-delete-post-types';
72
+ const CRON_HOOK_CUSTOM_FIELD= 'do-bulk-delete-custom-field';
73
 
74
  const CRON_HOOK_USER_ROLE = 'do-bulk-delete-users-by-role';
75
 
82
  const BOX_PAGE = 'bd_by_page';
83
  const BOX_URL = 'bd_by_url';
84
  const BOX_POST_REVISION = 'bd_by_post_revision';
85
+ const BOX_CUSTOM_FIELD = 'bd_by_custom_field';
86
  const BOX_DEBUG = 'bd_debug';
87
 
88
  // meta boxes for delete users
89
  const BOX_USERS = 'bdu_by_users';
90
 
 
 
 
91
  /**
92
  * Default constructor
93
  */
110
  */
111
  function add_menu() {
112
 
113
+ $this->admin_page = add_submenu_page( 'tools.php', __("Bulk Delete Posts", 'bulk-delete'), __("Bulk Delete Posts", 'bulk-delete'), 'delete_posts', basename(__FILE__), array(&$this, 'display_posts_page'));
114
  $this->users_page = add_submenu_page( 'tools.php', __("Bulk Delete Users", 'bulk-delete'), __("Bulk Delete Users", 'bulk-delete'), 'delete_users', self::USERS_PAGE_SLUG, array( &$this, 'display_users_page' ));
115
  $this->cron_page = add_submenu_page( 'tools.php', __("Bulk Delete Schedules", 'bulk-delete'), __("Bulk Delete Schedules", 'bulk-delete'), 'delete_posts', 'bulk-delete-cron', array(&$this, 'display_cron_page'));
116
 
170
  * Register meta boxes for delete posts page
171
  */
172
  function add_delete_posts_meta_boxes() {
173
+ add_meta_box( self::BOX_POST_STATUS, __( 'By Post Status', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_post_status_box', $this->admin_page, 'advanced' );
174
+ add_meta_box( self::BOX_CATEGORY, __( 'By Category', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_category_box', $this->admin_page, 'advanced' );
175
+ add_meta_box( self::BOX_TAG, __( 'By Tag', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_tag_box', $this->admin_page, 'advanced' );
176
+ add_meta_box( self::BOX_TAX, __( 'By Custom Taxonomy', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_tax_box', $this->admin_page, 'advanced' );
177
+ add_meta_box( self::BOX_POST_TYPE, __( 'By Custom Post Types', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_post_type_box', $this->admin_page, 'advanced' );
178
+ add_meta_box( self::BOX_PAGE, __( 'By Page', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_page_box', $this->admin_page, 'advanced' );
179
+ add_meta_box( self::BOX_URL, __( 'By URL', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_url_box', $this->admin_page, 'advanced' );
180
+ add_meta_box( self::BOX_POST_REVISION, __( 'By Post Revision', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_post_revision_box', $this->admin_page, 'advanced' );
181
+ add_meta_box( self::BOX_CUSTOM_FIELD, __( 'By Custom Field', 'bulk-delete' ), 'Bulk_Delete_Posts::render_by_custom_field_box', $this->admin_page, 'advanced' );
182
+ add_meta_box( self::BOX_DEBUG, __( 'Debug Information', 'bulk-delete' ), 'Bulk_Delete_Posts::render_debug_box', $this->admin_page, 'advanced', 'low' );
183
  }
184
 
185
  /**
225
  * Register meta boxes for delete users page
226
  */
227
  function add_delete_users_meta_boxes() {
228
+ add_meta_box( self::BOX_USERS, __( 'By User Role', 'bulk-delete' ), 'Bulk_Delete_Users::render_delete_users_box', $this->users_page, 'advanced' );
229
  }
230
 
231
  /**
251
  );
252
 
253
  $error = array(
254
+ 'selectone' => __( 'Please select posts from at least one option', 'bulk-delete' ),
255
+ 'enterurl' => __( 'Please enter at least one page url', 'bulk-delete' ),
256
+ 'enter_cf_key' => __( 'Please enter some value for custom field key', 'bulk-delete' )
257
  );
258
 
259
  $translation_array = array( 'msg' => $msg, 'error' => $error );
295
  }
296
 
297
  /**
298
+ * Show the delete posts page
299
  */
300
+ function display_posts_page() {
301
  ?>
302
  <div class="wrap">
303
  <?php screen_icon(); ?>
348
  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']);
349
  }
350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  /**
352
  * Display bulk delete users page
353
  */
408
 
409
  //Prepare Table of elements
410
  $cron_list_table = new Cron_List_Table();
411
+ $cron_list_table->prepare_items( Bulk_Delete_Util::get_cron_schedules() );
412
  ?>
413
  <div class="wrap">
414
  <?php screen_icon(); ?>
435
 
436
  case 'delete-cron':
437
  $cron_id = absint($_GET['cron_id']);
438
+ $cron_items = Bulk_Delete_Util::get_cron_schedules();
439
  wp_unschedule_event($cron_items[$cron_id]['timestamp'], $cron_items[$cron_id]['type'], $cron_items[$cron_id]['args']);
440
 
441
  $this->msg = __('The selected scheduled job was successfully deleted ', 'bulk-delete');
714
 
715
  $this->msg = sprintf( _n( 'Deleted %d post revision', 'Deleted %d post revisions' , $deleted_count, 'bulk-delete' ), $deleted_count);
716
  break;
717
+
718
+ case "bulk-delete-cf":
719
+ // delete by custom field
720
+
721
+ if ( class_exists( 'Bulk_Delete_Custom_Field' ) ) {
722
+ $delete_options = array();
723
+ $delete_options['cf_key'] = array_get($_POST, 'smbd_cf_key');
724
+ $delete_options['cf_field_op'] = array_get($_POST, 'smbd_cf_field_op');
725
+ $delete_options['cf_value'] = array_get($_POST, 'smbd_cf_value');
726
+ $delete_options['restrict'] = array_get($_POST, 'smbd_cf_restrict', FALSE);
727
+ $delete_options['private'] = array_get($_POST, 'smbd_cf_private');
728
+ $delete_options['limit_to'] = absint(array_get($_POST, 'smbd_cf_limit_to', 0));
729
+ $delete_options['force_delete'] = array_get($_POST, 'smbd_cf_force_delete', 'false');
730
+
731
+ $delete_options['cf_op'] = array_get($_POST, 'smbd_cf_op');
732
+ $delete_options['cf_days'] = array_get($_POST, 'smbd_cf_days');
733
+
734
+ if (array_get($_POST, 'smbd_cf_cron', 'false') == 'true') {
735
+ $freq = $_POST['smbd_cf_cron_freq'];
736
+ $time = strtotime($_POST['smbd_cf_cron_start']) - ( get_option('gmt_offset') * 60 * 60 );
737
+
738
+ if ($freq == -1) {
739
+ wp_schedule_single_event($time, self::CRON_HOOK_CUSTOM_FIELD, array($delete_options));
740
+ } else {
741
+ wp_schedule_event($time, $freq , self::CRON_HOOK_CUSTOM_FIELD, array($delete_options));
742
+ }
743
+
744
+ $this->msg = __( 'Posts matching the selected custom field setting are scheduled for deletion.', 'bulk-delete' ) . ' ' .
745
+ sprintf( __( 'See the full list of <a href = "%s">scheduled tasks</a>' , 'bulk-delete' ), get_bloginfo( 'wpurl' ) . '/wp-admin/tools.php?page=bulk-delete-cron' );
746
+ } else {
747
+ $deleted_count = Bulk_Delete_Custom_Field::delete_custom_field( $delete_options );
748
+ $this->msg = sprintf( _n( 'Deleted %d post using the selected custom field condition', 'Deleted %d posts using the selected custom field condition' , $deleted_count, 'bulk-delete' ), $deleted_count );
749
+ }
750
+ }
751
+ break;
752
  }
753
  }
754
 
769
  remove_action( 'admin_notices', array( &$this, 'deleted_notice' ));
770
  }
771
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
772
  /**
773
  * Delete posts by category
774
  */
1176
 
1177
  return 0;
1178
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1179
  }
1180
 
1181
  // Start this plugin once all other plugins are fully loaded
1182
  add_action( 'init', 'Bulk_Delete' ); function Bulk_Delete() { global $Bulk_Delete; $Bulk_Delete = new Bulk_Delete(); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1183
  ?>
include/class-bulk-delete-posts.php ADDED
@@ -0,0 +1,907 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Utility class for deleting posts
4
+ *
5
+ * @package Bulk Delete
6
+ * @author Sudar
7
+ */
8
+ class Bulk_Delete_Posts {
9
+
10
+ /**
11
+ * Render post status box
12
+ */
13
+ public static function render_by_post_status_box() {
14
+
15
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_POST_STATUS) ) {
16
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
17
+ return;
18
+ }
19
+
20
+ $posts_count = wp_count_posts();
21
+ $drafts = $posts_count->draft;
22
+ $future = $posts_count->future;
23
+ $pending = $posts_count->pending;
24
+ $private = $posts_count->private;
25
+ ?>
26
+ <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
27
+
28
+ <fieldset class="options">
29
+ <table class="optiontable">
30
+ <tr>
31
+ <td scope="row" >
32
+ <input name="smbd_drafts" id ="smbd_drafts" value = "drafts" type = "checkbox" />
33
+ <label for="smbd_drafts"><?php _e("All Draft Posts", 'bulk-delete'); ?> (<?php echo $drafts . " "; _e("Drafts", 'bulk-delete'); ?>)</label>
34
+ </td>
35
+ </tr>
36
+
37
+ <tr>
38
+ <td>
39
+ <input name="smbd_pending" id ="smbd_pending" value = "pending" type = "checkbox" />
40
+ <label for="smbd_pending"><?php _e("All Pending posts", 'bulk-delete'); ?> (<?php echo $pending . " "; _e("Posts", 'bulk-delete'); ?>)</label>
41
+ </td>
42
+ </tr>
43
+
44
+ <tr>
45
+ <td>
46
+ <input name="smbd_future" id ="smbd_future" value = "future" type = "checkbox" />
47
+ <label for="smbd_future"><?php _e("All scheduled posts", 'bulk-delete'); ?> (<?php echo $future . " "; _e("Posts", 'bulk-delete'); ?>)</label>
48
+ </td>
49
+ </tr>
50
+
51
+ <tr>
52
+ <td>
53
+ <input name="smbd_private" id ="smbd_private" value = "private" type = "checkbox" />
54
+ <label for="smbd_private"><?php _e("All private posts", 'bulk-delete'); ?> (<?php echo $private . " "; _e("Posts", 'bulk-delete'); ?>)</label>
55
+ </td>
56
+ </tr>
57
+
58
+ <tr>
59
+ <td>
60
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
61
+ </td>
62
+ </tr>
63
+
64
+ <tr>
65
+ <td scope="row">
66
+ <input name="smbd_post_status_restrict" id="smbd_post_status_restrict" value = "true" type = "checkbox">
67
+ <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
68
+ <select name="smbd_post_status_op" id="smbd_post_status_op" disabled>
69
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
70
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
71
+ </select>
72
+ <input type ="textbox" name="smbd_post_status_days" id="smbd_post_status_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
73
+ </td>
74
+ </tr>
75
+
76
+ <tr>
77
+ <td scope="row">
78
+ <input name="smbd_post_status_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
79
+ <input name="smbd_post_status_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
80
+ </td>
81
+ </tr>
82
+
83
+ <tr>
84
+ <td scope="row">
85
+ <input name="smbd_post_status_limit" id="smbd_post_status_limit" value = "true" type = "checkbox" >
86
+ <?php _e("Only delete first ", 'bulk-delete');?>
87
+ <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');?>
88
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
89
+ </td>
90
+ </tr>
91
+
92
+ <tr>
93
+ <td scope="row" colspan="2">
94
+ <input name="smbd_post_status_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
95
+ <input name="smbd_post_status_cron" value = "true" type = "radio" id = "smbd_post_status_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
96
+ <input name="smbd_post_status_cron_start" id = "smbd_post_status_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
97
+ <select name = "smbd_post_status_cron_freq" id = "smbd_post_status_cron_freq" disabled>
98
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
99
+ <?php
100
+ $schedules = wp_get_schedules();
101
+ foreach($schedules as $key => $value) {
102
+ ?>
103
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
104
+ <?php
105
+ }
106
+ ?>
107
+ </select>
108
+ <span class = "bd-post-status-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-post-status-addon">Buy now</a></span>
109
+ </td>
110
+ </tr>
111
+ </table>
112
+ </fieldset>
113
+
114
+ <p>
115
+ <button type="submit" name="smbd_action" value = "bulk-delete-post-status" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
116
+ </p>
117
+ <?php
118
+ }
119
+
120
+ /**
121
+ * Render By category box
122
+ */
123
+ public static function render_by_category_box() {
124
+
125
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_CATEGORY) ) {
126
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
127
+ return;
128
+ }
129
+
130
+ ?>
131
+ <!-- Category Start-->
132
+ <h4><?php _e("Select the categories whose post you want to delete", 'bulk-delete'); ?></h4>
133
+
134
+ <fieldset class="options">
135
+ <table class="optiontable">
136
+ <?php
137
+ $categories = get_categories(array('hide_empty' => false));
138
+ foreach ($categories as $category) {
139
+ ?>
140
+ <tr>
141
+ <td scope="row" >
142
+ <input name="smbd_cats[]" value = "<?php echo $category->cat_ID; ?>" type = "checkbox" />
143
+ </td>
144
+ <td>
145
+ <label for="smbd_cats"><?php echo $category->cat_name; ?> (<?php echo $category->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
146
+ </td>
147
+ </tr>
148
+ <?php
149
+ }
150
+ ?>
151
+ <tr>
152
+ <td scope="row" >
153
+ <input name="smbd_cats_all" id ="smbd_cats_all" value = "-1" type = "checkbox" >
154
+ </td>
155
+ <td>
156
+ <label for="smbd_cats_all"><?php _e("All Categories", 'bulk-delete') ?></label>
157
+ </td>
158
+ </tr>
159
+
160
+ <tr>
161
+ <td colspan="2">
162
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
163
+ </td>
164
+ </tr>
165
+
166
+ <tr>
167
+ <td scope="row">
168
+ <input name="smbd_cats_restrict" id="smbd_cats_restrict" value = "true" type = "checkbox" >
169
+ </td>
170
+ <td>
171
+ <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
172
+ <select name="smbd_cats_op" id="smbd_cats_op" disabled>
173
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
174
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
175
+ </select>
176
+ <input type ="textbox" name="smbd_cats_days" id="smbd_cats_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
177
+ </td>
178
+ </tr>
179
+
180
+ <tr>
181
+ <td scope="row" colspan="2">
182
+ <input name="smbd_cats_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
183
+ <input name="smbd_cats_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
184
+ </td>
185
+ </tr>
186
+
187
+ <tr>
188
+ <td scope="row" colspan="2">
189
+ <input name="smbd_cats_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
190
+ <input name="smbd_cats_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
191
+ </td>
192
+ </tr>
193
+
194
+ <tr>
195
+ <td scope="row">
196
+ <input name="smbd_cats_limit" id="smbd_cats_limit" value = "true" type = "checkbox">
197
+ </td>
198
+ <td>
199
+ <?php _e("Only delete first ", 'bulk-delete');?>
200
+ <input type ="textbox" name="smbd_cats_limit_to" id="smbd_cats_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
201
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
202
+ </td>
203
+ </tr>
204
+
205
+ <tr>
206
+ <td scope="row" colspan="2">
207
+ <input name="smbd_cats_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
208
+ <input name="smbd_cats_cron" value = "true" type = "radio" id = "smbd_cats_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
209
+ <input name="smbd_cats_cron_start" id = "smbd_cats_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
210
+ <select name = "smbd_cats_cron_freq" id = "smbd_cats_cron_freq" disabled>
211
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
212
+ <?php
213
+ $schedules = wp_get_schedules();
214
+ foreach($schedules as $key => $value) {
215
+ ?>
216
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
217
+ <?php
218
+ }
219
+ ?>
220
+ </select>
221
+ <span class = "bd-cats-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-category-addon">Buy now</a></span>
222
+ </td>
223
+ </tr>
224
+
225
+ <tr>
226
+ <td scope="row" colspan="2">
227
+ <?php _e("Enter time in Y-m-d H:i:s format or enter now to use current time", 'bulk-delete');?>
228
+ </td>
229
+ </tr>
230
+
231
+ </table>
232
+ </fieldset>
233
+
234
+ <p>
235
+ <button type="submit" name="smbd_action" value = "bulk-delete-cats" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
236
+ </p>
237
+ <!-- Category end-->
238
+ <?php
239
+ }
240
+
241
+ /**
242
+ * Render by tag box
243
+ */
244
+ public static function render_by_tag_box() {
245
+
246
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_TAG) ) {
247
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
248
+ return;
249
+ }
250
+
251
+ $tags = get_tags();
252
+ if (count($tags) > 0) {
253
+ ?>
254
+ <h4><?php _e("Select the tags whose post you want to delete", 'bulk-delete') ?></h4>
255
+
256
+ <!-- Tags start-->
257
+ <fieldset class="options">
258
+ <table class="optiontable">
259
+ <?php
260
+ foreach ($tags as $tag) {
261
+ ?>
262
+ <tr>
263
+ <td scope="row" >
264
+ <input name="smbd_tags[]" value = "<?php echo $tag->term_id; ?>" type = "checkbox" />
265
+ </td>
266
+ <td>
267
+ <label for="smbd_tags"><?php echo $tag->name; ?> (<?php echo $tag->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
268
+ </td>
269
+ </tr>
270
+ <?php
271
+ }
272
+ ?>
273
+ <tr>
274
+ <td scope="row" >
275
+ <input name="smbd_tags_all" id ="smbd_tags_all" value = "-1" type = "checkbox" >
276
+ </td>
277
+ <td>
278
+ <label for="smbd_tags_all"><?php _e("All Tags", 'bulk-delete') ?></label>
279
+ </td>
280
+ </tr>
281
+
282
+ <tr>
283
+ <td colspan="2">
284
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
285
+ </td>
286
+ </tr>
287
+
288
+ <tr>
289
+ <td scope="row">
290
+ <input name="smbd_tags_restrict" id ="smbd_tags_restrict" value = "true" type = "checkbox">
291
+ </td>
292
+ <td>
293
+ <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
294
+ <select name="smbd_tags_op" id="smbd_tags_op" disabled>
295
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
296
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
297
+ </select>
298
+ <input type ="textbox" name="smbd_tags_days" id ="smbd_tags_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
299
+ </td>
300
+ </tr>
301
+
302
+ <tr>
303
+ <td scope="row" colspan="2">
304
+ <input name="smbd_tags_force_delete" value = "false" type = "radio" checked="checked" > <?php _e('Move to Trash', 'bulk-delete'); ?>
305
+ <input name="smbd_tags_force_delete" value = "true" type = "radio" > <?php _e('Delete permanently', 'bulk-delete'); ?>
306
+ </td>
307
+ </tr>
308
+
309
+ <tr>
310
+ <td scope="row" colspan="2">
311
+ <input name="smbd_tags_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
312
+ <input name="smbd_tags_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
313
+ </td>
314
+ </tr>
315
+
316
+ <tr>
317
+ <td scope="row">
318
+ <input name="smbd_tags_limit" id="smbd_tags_limit" value = "true" type = "checkbox">
319
+ </td>
320
+ <td>
321
+ <?php _e("Only delete first ", 'bulk-delete');?>
322
+ <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');?>
323
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
324
+ </td>
325
+ </tr>
326
+
327
+ <tr>
328
+ <td scope="row" colspan="2">
329
+ <input name="smbd_tags_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
330
+ <input name="smbd_tags_cron" value = "true" type = "radio" id = "smbd_tags_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
331
+ <input name="smbd_tags_cron_start" id = "smbd_tags_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
332
+ <select name = "smbd_tags_cron_freq" id = "smbd_tags_cron_freq" disabled>
333
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
334
+ <?php
335
+ $schedules = wp_get_schedules();
336
+ foreach($schedules as $key => $value) {
337
+ ?>
338
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
339
+ <?php
340
+ }
341
+ ?>
342
+ </select>
343
+ <span class = "bd-tags-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-tags-addon">Buy now</a></span>
344
+ </td>
345
+ </tr>
346
+
347
+ </table>
348
+ </fieldset>
349
+ <p class="submit">
350
+ <button type="submit" name="smbd_action" value = "bulk-delete-tags" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
351
+ </p>
352
+ <!-- Tags end-->
353
+ <?php
354
+ } else {
355
+ ?>
356
+ <h4><?php _e("You don't have any posts assigned to tags in this blog.", 'bulk-delete') ?></h4>
357
+ <?php
358
+ }
359
+ }
360
+
361
+ /**
362
+ * Render delete by custom taxonomy box
363
+ */
364
+ public static function render_by_tax_box() {
365
+
366
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_TAX) ) {
367
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
368
+ return;
369
+ }
370
+
371
+ $terms_array = array();
372
+
373
+ $taxs = get_taxonomies(array(
374
+ 'public' => true,
375
+ '_builtin' => false
376
+ ), 'objects'
377
+ );
378
+
379
+ if (count($taxs) > 0) {
380
+ foreach ($taxs as $tax) {
381
+ $terms = get_terms($tax->name);
382
+ if (count($terms) > 0) {
383
+ $terms_array[$tax->name] = $terms;
384
+ }
385
+ }
386
+ }
387
+
388
+ if ( count( $terms_array ) > 0 ) {
389
+ ?>
390
+ <!-- Custom tax Start-->
391
+ <h4><?php _e("Select the taxonomies whose post you want to delete", 'bulk-delete') ?></h4>
392
+
393
+ <fieldset class="options">
394
+ <table class="optiontable">
395
+ <?php
396
+ foreach ($terms_array as $tax => $terms) {
397
+ ?>
398
+ <tr>
399
+ <td scope="row" >
400
+ <input name="smbd_taxs" value = "<?php echo $tax; ?>" type = "radio" class = "custom-tax">
401
+ </td>
402
+ <td>
403
+ <label for="smbd_taxs"><?php echo $taxs[$tax]->labels->name; ?> </label>
404
+ </td>
405
+ </tr>
406
+ <?php
407
+ }
408
+ ?>
409
+ </table>
410
+
411
+ <h4><?php _e("The selected taxonomy has the following terms. Select the terms whose post you want to delete", 'bulk-delete') ?></h4>
412
+ <?php
413
+ foreach ($terms_array as $tax => $terms) {
414
+ ?>
415
+ <table class="optiontable terms_<?php echo $tax;?> terms">
416
+ <?php
417
+ foreach ($terms as $term) {
418
+ ?>
419
+ <tr>
420
+ <td scope="row" >
421
+ <input name="smbd_tax_terms[]" value = "<?php echo $term->slug; ?>" type = "checkbox" class = "terms" >
422
+ </td>
423
+ <td>
424
+ <label for="smbd_tax_terms"><?php echo $term->name; ?> (<?php echo $term->count . " "; _e("Posts", 'bulk-delete'); ?>)</label>
425
+ </td>
426
+ </tr>
427
+ <?php
428
+ }
429
+ ?>
430
+ </table>
431
+ <?php
432
+ }
433
+ ?>
434
+ </table>
435
+ <table class="optiontable">
436
+ <tr>
437
+ <td colspan="2">
438
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
439
+ </td>
440
+ </tr>
441
+
442
+ <tr>
443
+ <td scope="row">
444
+ <input name="smbd_taxs_restrict" id ="smbd_taxs_restrict" value = "true" type = "checkbox">
445
+ </td>
446
+ <td>
447
+ <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
448
+ <select name="smbd_taxs_op" id="smbd_taxs_op" disabled>
449
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
450
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
451
+ </select>
452
+ <input type ="textbox" name="smbd_taxs_days" id ="smbd_taxs_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
453
+ </td>
454
+ </tr>
455
+
456
+ <tr>
457
+ <td scope="row" colspan="2">
458
+ <input name="smbd_taxs_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
459
+ <input name="smbd_taxs_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
460
+ </td>
461
+ </tr>
462
+
463
+ <tr>
464
+ <td scope="row" colspan="2">
465
+ <input name="smbd_taxs_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
466
+ <input name="smbd_taxs_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
467
+ </td>
468
+ </tr>
469
+
470
+ <tr>
471
+ <td scope="row">
472
+ <input name="smbd_taxs_limit" id="smbd_taxs_limit" value = "true" type = "checkbox">
473
+ </td>
474
+ <td>
475
+ <?php _e("Only delete first ", 'bulk-delete');?>
476
+ <input type ="textbox" name="smbd_taxs_limit_to" id="smbd_taxs_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
477
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
478
+ </td>
479
+ </tr>
480
+
481
+ <tr>
482
+ <td scope="row" colspan="2">
483
+ <input name="smbd_taxs_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
484
+ <input name="smbd_taxs_cron" value = "true" type = "radio" id = "smbd_taxs_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
485
+ <input name="smbd_taxs_cron_start" id = "smbd_taxs_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
486
+ <select name = "smbd_taxs_cron_freq" id = "smbd_taxs_cron_freq" disabled>
487
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
488
+ <?php
489
+ $schedules = wp_get_schedules();
490
+ foreach($schedules as $key => $value) {
491
+ ?>
492
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
493
+ <?php
494
+ }
495
+ ?>
496
+ </select>
497
+ <span class = "bd-taxs-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-taxonomy-addon">Buy now</a></span>
498
+ </td>
499
+ </tr>
500
+
501
+ </table>
502
+ </fieldset>
503
+ <p class="submit">
504
+ <button type="submit" name="smbd_action" value = "bulk-delete-taxs" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
505
+ </p>
506
+ <!-- Custom tax end-->
507
+ <?php
508
+ } else {
509
+ ?>
510
+ <h4><?php _e("You don't have any posts assigned to custom taxonomies in this blog.", 'bulk-delete') ?></h4>
511
+ <?php
512
+ }
513
+ }
514
+
515
+ /**
516
+ * Render delete by custom post type box
517
+ */
518
+ public static function render_by_post_type_box() {
519
+
520
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_POST_TYPE) ) {
521
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
522
+ return;
523
+ }
524
+
525
+ $types_array = array();
526
+
527
+ $types = get_post_types( array(
528
+ 'public' => true,
529
+ '_builtin' => false
530
+ ), 'names'
531
+ );
532
+
533
+ if ( count( $types ) > 0 ) {
534
+ foreach ($types as $type) {
535
+ $post_count = wp_count_posts( $type );
536
+ if ( $post_count->publish > 0 ) {
537
+ $types_array[$type] = $post_count->publish;
538
+ }
539
+ }
540
+ }
541
+
542
+ if ( count( $types_array ) > 0 ) {
543
+ ?>
544
+ <!-- Custom post type Start-->
545
+ <h4><?php _e( "Select the custom post type whose post you want to delete", 'bulk-delete' ) ?></h4>
546
+
547
+ <fieldset class="options">
548
+ <table class="optiontable">
549
+ <?php
550
+ foreach ( $types_array as $type => $count ) {
551
+ ?>
552
+ <tr>
553
+ <td scope="row" >
554
+ <input name="smbd_types[]" value = "<?php echo $type; ?>" type = "checkbox">
555
+ </td>
556
+ <td>
557
+ <label for="smbd_types"><?php echo $type, ' (', $count, ')'; ?></label>
558
+ </td>
559
+ </tr>
560
+ <?php
561
+ }
562
+ ?>
563
+ <tr>
564
+ <td colspan="2">
565
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
566
+ </td>
567
+ </tr>
568
+
569
+ <tr>
570
+ <td scope="row">
571
+ <input name="smbd_types_restrict" id ="smbd_types_restrict" value = "true" type = "checkbox">
572
+ </td>
573
+ <td>
574
+ <?php _e("Only restrict to posts which are ", 'bulk-delete');?>
575
+ <select name="smbd_types_op" id="smbd_types_op" disabled>
576
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
577
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
578
+ </select>
579
+ <input type ="textbox" name="smbd_types_days" id ="smbd_types_days" value ="0" maxlength="4" size="4" disabled /><?php _e("days", 'bulk-delete');?>
580
+ </td>
581
+ </tr>
582
+
583
+ <tr>
584
+ <td scope="row" colspan="2">
585
+ <input name="smbd_types_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
586
+ <input name="smbd_types_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
587
+ </td>
588
+ </tr>
589
+
590
+ <tr>
591
+ <td scope="row" colspan="2">
592
+ <input name="smbd_types_private" value = "false" type = "radio" checked="checked" /> <?php _e('Public posts', 'bulk-delete'); ?>
593
+ <input name="smbd_types_private" value = "true" type = "radio" /> <?php _e('Private Posts', 'bulk-delete'); ?>
594
+ </td>
595
+ </tr>
596
+
597
+ <tr>
598
+ <td scope="row">
599
+ <input name="smbd_types_limit" id="smbd_types_limit" value = "true" type = "checkbox">
600
+ </td>
601
+ <td>
602
+ <?php _e("Only delete first ", 'bulk-delete');?>
603
+ <input type ="textbox" name="smbd_types_limit_to" id="smbd_types_limit_to" disabled value ="0" maxlength="4" size="4" /><?php _e("posts.", 'bulk-delete');?>
604
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
605
+ </td>
606
+ </tr>
607
+
608
+ <tr>
609
+ <td scope="row" colspan="2">
610
+ <input name="smbd_types_cron" value = "false" type = "radio" checked="checked" > <?php _e('Delete now', 'bulk-delete'); ?>
611
+ <input name="smbd_types_cron" value = "true" type = "radio" id = "smbd_types_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
612
+ <input name="smbd_types_cron_start" id = "smbd_types_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
613
+ <select name = "smbd_types_cron_freq" id = "smbd_types_cron_freq" disabled>
614
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
615
+ <?php
616
+ $schedules = wp_get_schedules();
617
+ foreach($schedules as $key => $value) {
618
+ ?>
619
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
620
+ <?php
621
+ }
622
+ ?>
623
+ </select>
624
+ <span class = "bd-types-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-post-type-addon">Buy now</a></span>
625
+ </td>
626
+ </tr>
627
+
628
+ </table>
629
+ </fieldset>
630
+ <p class="submit">
631
+ <button type="submit" name="smbd_action" value = "bulk-delete-post-types" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
632
+ </p>
633
+ <!-- Custom post type end-->
634
+ <?php
635
+ } else {
636
+ ?>
637
+ <h4><?php _e("You don't have any posts assigned to custom post types in this blog.", 'bulk-delete') ?></h4>
638
+ <?php
639
+ }
640
+ }
641
+
642
+ /**
643
+ * Render delete by pages box
644
+ */
645
+ public static function render_by_page_box() {
646
+
647
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_PAGE) ) {
648
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
649
+ return;
650
+ }
651
+
652
+ $pages_count = wp_count_posts( 'page' );
653
+ $pages = $pages_count->publish;
654
+ $page_drafts = $pages_count->draft;
655
+ $page_future = $pages_count->future;
656
+ $page_pending = $pages_count->pending;
657
+ $page_private = $pages_count->private;
658
+ ?>
659
+ <!-- Pages start-->
660
+ <h4><?php _e("Select the pages which you want to delete", 'bulk-delete'); ?></h4>
661
+
662
+ <fieldset class="options">
663
+ <table class="optiontable">
664
+ <tr>
665
+ <td>
666
+ <input name="smbd_published_pages" value = "published_pages" type = "checkbox" />
667
+ <label for="smbd_published_pages"><?php _e("All Published Pages", 'bulk-delete'); ?> (<?php echo $pages . " "; _e("Pages", 'bulk-delete'); ?>)</label>
668
+ </td>
669
+ </tr>
670
+
671
+ <tr>
672
+ <td>
673
+ <input name="smbd_draft_pages" value = "draft_pages" type = "checkbox" />
674
+ <label for="smbd_draft_pages"><?php _e("All Draft Pages", 'bulk-delete'); ?> (<?php echo $page_drafts . " "; _e("Pages", 'bulk-delete'); ?>)</label>
675
+ </td>
676
+ </tr>
677
+
678
+ <tr>
679
+ <td>
680
+ <input name="smbd_future_pages" value = "scheduled_pages" type = "checkbox" />
681
+ <label for="smbd_future_pages"><?php _e("All Scheduled Pages", 'bulk-delete'); ?> (<?php echo $page_future . " "; _e("Pages", 'bulk-delete'); ?>)</label>
682
+ </td>
683
+ </tr>
684
+
685
+ <tr>
686
+ <td>
687
+ <input name="smbd_pending_pages" value = "pending_pages" type = "checkbox" />
688
+ <label for="smbd_pending_pages"><?php _e("All Pending Pages", 'bulk-delete'); ?> (<?php echo $page_pending . " "; _e("Pages", 'bulk-delete'); ?>)</label>
689
+ </td>
690
+ </tr>
691
+
692
+ <tr>
693
+ <td>
694
+ <input name="smbd_private_pages" value = "private_pages" type = "checkbox" />
695
+ <label for="smbd_private_pages"><?php _e("All Private Pages", 'bulk-delete'); ?> (<?php echo $page_private . " "; _e("Pages", 'bulk-delete'); ?>)</label>
696
+ </td>
697
+ </tr>
698
+
699
+ <tr>
700
+ <td>
701
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
702
+ </td>
703
+ </tr>
704
+
705
+ <tr>
706
+ <td scope="row">
707
+ <input name="smbd_pages_restrict" id="smbd_pages_restrict" value = "true" type = "checkbox">
708
+ <?php _e("Only restrict to pages which are ", 'bulk-delete');?>
709
+ <select name="smbd_pages_op" id="smbd_pages_op" disabled>
710
+ <option value ="<"><?php _e("older than", 'bulk-delete');?></option>
711
+ <option value =">"><?php _e("posted within last", 'bulk-delete');?></option>
712
+ </select>
713
+ <input type ="textbox" name="smbd_pages_days" id="smbd_pages_days" disabled value ="0" maxlength="4" size="4" /><?php _e("days", 'bulk-delete');?>
714
+ </td>
715
+ </tr>
716
+
717
+ <tr>
718
+ <td scope="row">
719
+ <input name="smbd_pages_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
720
+ <input name="smbd_pages_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
721
+ </td>
722
+ </tr>
723
+
724
+ <tr>
725
+ <td scope="row">
726
+ <input name="smbd_pages_limit" id="smbd_pages_limit" value = "true" type = "checkbox">
727
+ <?php _e("Only delete first ", 'bulk-delete');?>
728
+ <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');?>
729
+ <?php _e("Use this option if there are more than 1000 posts and the script timesout.", 'bulk-delete') ?>
730
+ </td>
731
+ </tr>
732
+
733
+ <tr>
734
+ <td scope="row" colspan="2">
735
+ <input name="smbd_pages_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
736
+ <input name="smbd_pages_cron" value = "true" type = "radio" id = "smbd_pages_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
737
+ <input name="smbd_pages_cron_start" id = "smbd_pages_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
738
+ <select name = "smbd_pages_cron_freq" id = "smbd_pages_cron_freq" disabled>
739
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
740
+ <?php
741
+ $schedules = wp_get_schedules();
742
+ foreach($schedules as $key => $value) {
743
+ ?>
744
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
745
+ <?php
746
+ }
747
+ ?>
748
+ </select>
749
+ <span class = "bd-pages-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-pages-addon">Buy now</a></span>
750
+ </td>
751
+ </tr>
752
+ </table>
753
+ </fieldset>
754
+
755
+ <p>
756
+ <button type="submit" name="smbd_action" value = "bulk-delete-page" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
757
+ </p>
758
+ <!-- Pages end-->
759
+ <?php
760
+ }
761
+
762
+ /**
763
+ * Render delete by url box
764
+ */
765
+ public static function render_by_url_box() {
766
+
767
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_URL) ) {
768
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
769
+ return;
770
+ }
771
+
772
+ ?>
773
+ <!-- URLs start-->
774
+ <h4><?php _e("Delete these specific pages", 'bulk-delete'); ?></h4>
775
+
776
+ <fieldset class="options">
777
+ <table class="optiontable">
778
+ <tr>
779
+ <td scope="row">
780
+ <label for="smdb_specific_pages"><?php _e("Enter one post url (not post ids) per line", 'bulk-delete'); ?></label>
781
+ <br/>
782
+ <textarea style="width: 450px; height: 80px;" id="smdb_specific_pages_urls" name="smdb_specific_pages_urls" rows="5" columns="80" ></textarea>
783
+ </td>
784
+ </tr>
785
+
786
+ <tr>
787
+ <td>
788
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
789
+ </td>
790
+ </tr>
791
+
792
+ <tr>
793
+ <td scope="row">
794
+ <input name="smbd_specific_force_delete" value = "false" type = "radio" checked="checked" /> <?php _e('Move to Trash', 'bulk-delete'); ?>
795
+ <input name="smbd_specific_force_delete" value = "true" type = "radio" /> <?php _e('Delete permanently', 'bulk-delete'); ?>
796
+ </td>
797
+ </tr>
798
+
799
+ </table>
800
+ </fieldset>
801
+
802
+ <p>
803
+ <button type="submit" name="smbd_action" value = "bulk-delete-specific" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
804
+ </p>
805
+ <!-- URLs end-->
806
+ <?php
807
+ }
808
+
809
+ /**
810
+ * Render delete by post revisions box
811
+ */
812
+ public static function render_by_post_revision_box() {
813
+
814
+ if ( Bulk_Delete_Util::is_posts_box_hidden(Bulk_Delete::BOX_POST_REVISION) ) {
815
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
816
+ return;
817
+ }
818
+
819
+ global $wpdb;
820
+
821
+ $revisions = $wpdb->get_var("select count(*) from $wpdb->posts where post_type = 'revision'");
822
+ ?>
823
+ <!-- Post Revisions start-->
824
+ <h4><?php _e("Select the posts which you want to delete", 'bulk-delete'); ?></h4>
825
+
826
+ <fieldset class="options">
827
+ <table class="optiontable">
828
+ <tr>
829
+ <td>
830
+ <input name="smbd_revisions" id ="smbd_revisions" value = "revisions" type = "checkbox" />
831
+ <label for="smbd_revisions"><?php _e("All Revisions", 'bulk-delete'); ?> (<?php echo $revisions . " "; _e("Revisions", 'bulk-delete'); ?>)</label>
832
+ </td>
833
+ </tr>
834
+
835
+ </table>
836
+ </fieldset>
837
+
838
+ <p>
839
+ <button type="submit" name="smbd_action" value = "bulk-delete-revisions" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
840
+ </p>
841
+ <!-- Post Revisions end-->
842
+ <?php
843
+ }
844
+
845
+ /**
846
+ * Render delete posts by custom field box
847
+ */
848
+ public static function render_by_custom_field_box() {
849
+
850
+ if ( Bulk_Delete_Util::is_posts_box_hidden( Bulk_Delete::BOX_CUSTOM_FIELD ) ) {
851
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=bulk-delete.php' );
852
+ return;
853
+ }
854
+
855
+ if ( !class_exists( 'Bulk_Delete_Custom_Field' ) ) {
856
+ ?>
857
+ <!-- Custom Field box start-->
858
+ <p>
859
+ <span class = "bd-post-status-pro" style = "color:red">
860
+ <?php _e( 'You need "Bulk Delete by Custom Field" Addon, to delete post by custom field.', 'bulk-delete'); ?>
861
+ <a href = "http://sudarmuthu.com/wordpress/pro-addons">Buy now</a>
862
+ </span>
863
+ </p>
864
+ <!-- Custom Field box end-->
865
+ <?php
866
+ } else {
867
+ Bulk_Delete_Custom_Field::render_by_custom_field_box();
868
+ }
869
+ }
870
+
871
+ /**
872
+ * Render debug box
873
+ */
874
+ public static function render_debug_box() {
875
+ ?>
876
+ <!-- Debug box start-->
877
+ <p>
878
+ <?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>.
879
+ <?php _e('You also need need the following debug information.', 'bulk-delete'); ?>
880
+ </p>
881
+ <table cellspacing="10">
882
+ <tr>
883
+ <th align = "right"><?php _e('PHP Version ', 'bulk-delete'); ?></th>
884
+ <td><?php echo phpversion(); ?></td>
885
+ </tr>
886
+ <tr>
887
+ <th align = "right"><?php _e('Plugin Version ', 'bulk-delete'); ?></th>
888
+ <td><?php echo Bulk_Delete::VERSION; ?></td>
889
+ </tr>
890
+ <tr>
891
+ <th align = "right"><?php _e('Available memory size ', 'bulk-delete');?></th>
892
+ <td><?php echo ini_get( 'memory_limit' ); ?></td>
893
+ </tr>
894
+ <tr>
895
+ <th align = "right"><?php _e('Script time out ', 'bulk-delete');?></th>
896
+ <td><?php echo ini_get( 'max_execution_time' ); ?></td>
897
+ </tr>
898
+ <tr>
899
+ <th align = "right"><?php _e('Script input time ', 'bulk-delete'); ?></th>
900
+ <td><?php echo ini_get( 'max_input_time' ); ?></td>
901
+ </tr>
902
+ </table>
903
+ <!-- Debug box end-->
904
+ <?php
905
+ }
906
+ }
907
+ ?>
include/class-bulk-delete-users.php CHANGED
@@ -7,6 +7,113 @@
7
  */
8
  class Bulk_Delete_Users {
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  /**
11
  * Delete users by user role
12
  */
7
  */
8
  class Bulk_Delete_Users {
9
 
10
+ /**
11
+ * Render delete users box
12
+ */
13
+ function render_delete_users_box() {
14
+
15
+ if ( Bulk_Delete_Util::is_users_box_hidden( Bulk_Delete::BOX_USERS ) ) {
16
+ printf( __('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete' ), 'tools.php?page=' . Bulk_Delete::USERS_PAGE_SLUG );
17
+ return;
18
+ }
19
+ ?>
20
+ <!-- Users Start-->
21
+ <h4><?php _e("Select the user roles from which you want to delete users", 'bulk-delete'); ?></h4>
22
+
23
+ <fieldset class="options">
24
+ <table class="optiontable">
25
+ <?php
26
+ $users_count = count_users();
27
+ foreach( $users_count['avail_roles'] as $role => $count ) {
28
+ ?>
29
+ <tr>
30
+ <td scope="row" >
31
+ <input name="smbdu_roles[]" value = "<?php echo $role; ?>" type = "checkbox" />
32
+ </td>
33
+ <td>
34
+ <label for="smbdu_roles"><?php echo $role; ?> (<?php echo $count . " "; _e("Users", 'bulk-delete'); ?>)</label>
35
+ </td>
36
+ </tr>
37
+ <?php
38
+ }
39
+ ?>
40
+ <tr>
41
+ <td colspan="2">
42
+ <h4><?php _e("Choose your filtering options", 'bulk-delete'); ?></h4>
43
+ </td>
44
+ </tr>
45
+
46
+ <?php
47
+ if ( !Bulk_Delete_Util::is_simple_login_log_present() ) {
48
+ $disabled = "disabled";
49
+ } else {
50
+ $disabled = '';
51
+ }
52
+ ?>
53
+ <tr>
54
+ <td scope="row">
55
+ <input name="smbdu_login_restrict" id="smbdu_login_restrict" value = "true" type = "checkbox" <?php echo $disabled; ?> >
56
+ </td>
57
+ <td>
58
+ <?php _e("Only restrict to users who have not logged in the last ", 'bulk-delete');?>
59
+ <input type ="textbox" name="smbdu_login_days" id="smbdu_login_days" value ="0" maxlength="4" size="4" <?php echo $disabled; ?> ><?php _e("days", 'bulk-delete');?>
60
+ <?php
61
+ if ( !Bulk_Delete_Util::is_simple_login_log_present() ) {
62
+ ?>
63
+ <span style = "color:red">
64
+ <?php _e('Need Simple Login Log Plugin', 'bulk-delete'); ?> <a href = "http://wordpress.org/plugins/simple-login-log/">Install now</a>
65
+ </span>
66
+ <?php
67
+ }
68
+ ?>
69
+ </td>
70
+ </tr>
71
+
72
+ <tr>
73
+ <td scope="row">
74
+ <input name="smbdu_role_no_posts" id="smbdu_role_no_posts" value = "true" type = "checkbox" >
75
+ </td>
76
+ <td>
77
+ <?php _e( "Only if user doesn't have any post", 'bulk-delete' ); ?>
78
+ </td>
79
+ </tr>
80
+
81
+ <tr>
82
+ <td scope="row" colspan="2">
83
+ <input name="smbdu_userrole_cron" value = "false" type = "radio" checked="checked" /> <?php _e('Delete now', 'bulk-delete'); ?>
84
+ <input name="smbdu_userrole_cron" value = "true" type = "radio" id = "smbdu_userrole_cron" disabled > <?php _e('Schedule', 'bulk-delete'); ?>
85
+ <input name="smbdu_userrole_cron_start" id = "smbdu_userrole_cron_start" value = "now" type = "text" disabled><?php _e('repeat ', 'bulk-delete');?>
86
+ <select name = "smbdu_userrole_cron_freq" id = "smbdu_userrole_cron_freq" disabled>
87
+ <option value = "-1"><?php _e("Don't repeat", 'bulk-delete'); ?></option>
88
+ <?php
89
+ $schedules = wp_get_schedules();
90
+ foreach($schedules as $key => $value) {
91
+ ?>
92
+ <option value = "<?php echo $key; ?>"><?php echo $value['display']; ?></option>
93
+ <?php
94
+ }
95
+ ?>
96
+ </select>
97
+ <span class = "bdu-users-by-role-pro" style = "color:red"><?php _e('Only available in Pro Addon', 'bulk-delete'); ?> <a href = "http://sudarmuthu.com/out/buy-bulk-delete-users-by-role-addon">Buy now</a></span>
98
+ </td>
99
+ </tr>
100
+
101
+ <tr>
102
+ <td scope="row" colspan="2">
103
+ <?php _e("Enter time in Y-m-d H:i:s format or enter now to use current time", 'bulk-delete');?>
104
+ </td>
105
+ </tr>
106
+
107
+ </table>
108
+ </fieldset>
109
+
110
+ <p>
111
+ <button type="submit" name="smbdu_action" value = "bulk-delete-users-by-role" class="button-primary"><?php _e("Bulk Delete ", 'bulk-delete') ?>&raquo;</button>
112
+ </p>
113
+ <!-- Users end-->
114
+ <?php
115
+ }
116
+
117
  /**
118
  * Delete users by user role
119
  */
include/class-bulk-delete-util.php CHANGED
@@ -10,6 +10,10 @@ class Bulk_Delete_Util {
10
  // simple login log
11
  const SIMPLE_LOGIN_LOG_TABLE = 'simple_login_log';
12
 
 
 
 
 
13
  /**
14
  * Find out if Simple Login Log is installed or not
15
  * http://wordpress.org/plugins/simple-login-log/
@@ -23,5 +27,83 @@ class Bulk_Delete_Util {
23
 
24
  return FALSE;
25
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
  ?>
10
  // simple login log
11
  const SIMPLE_LOGIN_LOG_TABLE = 'simple_login_log';
12
 
13
+ // Meta boxes
14
+ const VISIBLE_POST_BOXES = 'metaboxhidden_tools_page_bulk-delete';
15
+ const VISIBLE_USER_BOXES = 'metaboxhidden_tools_page_bulk-delete-users';
16
+
17
  /**
18
  * Find out if Simple Login Log is installed or not
19
  * http://wordpress.org/plugins/simple-login-log/
27
 
28
  return FALSE;
29
  }
30
+
31
+ /**
32
+ * @brief Check whether the meta box in posts page is hidden or not
33
+ *
34
+ * @param $box
35
+ *
36
+ * @return
37
+ */
38
+ public static function is_posts_box_hidden( $box ) {
39
+ $hidden_boxes = self::get_posts_hidden_boxes();
40
+ return ( is_array( $hidden_boxes ) && in_array( $box, $hidden_boxes ) );
41
+ }
42
+
43
+ /**
44
+ * Get the list of hidden boxes in posts page
45
+ *
46
+ * @return the array of hidden meta boxes
47
+ */
48
+ public static function get_posts_hidden_boxes() {
49
+ $current_user = wp_get_current_user();
50
+ return get_user_meta( $current_user->ID, self::VISIBLE_POST_BOXES, TRUE );
51
+ }
52
+
53
+ /**
54
+ * @brief Check whether the meta box in users page is hidden or not
55
+ *
56
+ * @param $box
57
+ *
58
+ * @return
59
+ */
60
+ public static function is_users_box_hidden( $box ) {
61
+ $hidden_boxes = self::get_users_hidden_boxes();
62
+ return ( is_array( $hidden_boxes ) && in_array( $box, $hidden_boxes ) );
63
+ }
64
+
65
+ /**
66
+ * Get the list of hidden boxes in users page
67
+ *
68
+ * @return the array of hidden meta boxes
69
+ */
70
+ public static function get_users_hidden_boxes() {
71
+ $current_user = wp_get_current_user();
72
+ return get_user_meta( $current_user->ID, self::VISIBLE_USER_BOXES, TRUE );
73
+ }
74
+
75
+ /**
76
+ * Get the list of cron schedules
77
+ *
78
+ * @return array - The list of cron schedules
79
+ */
80
+ public static function get_cron_schedules() {
81
+
82
+ $cron_items = array();
83
+ $cron = _get_cron_array();
84
+ $date_format = _x( 'M j, Y @ G:i', 'Cron table date format', 'bulk-delete' );
85
+ $i = 0;
86
+
87
+ foreach ( $cron as $timestamp => $cronhooks ) {
88
+ foreach ( (array) $cronhooks as $hook => $events ) {
89
+ if (substr($hook, 0, 15) == 'do-bulk-delete-') {
90
+ $cron_item = array();
91
+
92
+ foreach ( (array) $events as $key => $event ) {
93
+ $cron_item['timestamp'] = $timestamp;
94
+ $cron_item['due'] = date_i18n( $date_format, $timestamp + ( get_option('gmt_offset') * 60 * 60 ) );
95
+ $cron_item['schedule'] = $event['schedule'];
96
+ $cron_item['type'] = $hook;
97
+ $cron_item['args'] = $event['args'];
98
+ $cron_item['id'] = $i;
99
+ }
100
+
101
+ $cron_items[$i] = $cron_item;
102
+ $i++;
103
+ }
104
+ }
105
+ }
106
+ return $cron_items;
107
+ }
108
  }
109
  ?>
include/class-cron-list-table.php CHANGED
@@ -47,6 +47,13 @@ class Cron_List_Table extends WP_List_Table {
47
 
48
  echo '<ul style="list-style:disc; padding-left:35px">';
49
 
 
 
 
 
 
 
 
50
  echo '<li>';
51
  echo '<strong>', __('Schedule auto delete of Posts by Categories', 'bulk-delete'), '</strong>', ' - ';
52
  echo __('Adds the ability to schedule auto delete of posts based on categories', 'bulk-delete');
47
 
48
  echo '<ul style="list-style:disc; padding-left:35px">';
49
 
50
+ echo '<li>';
51
+ echo '<strong>', __('Delete posts by custom field', 'bulk-delete'), '</strong>', ' - ';
52
+ echo __('Adds the ability to delete posts based on custom fields', 'bulk-delete');
53
+ echo ' <a href = "http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-by-custom-field">', __('More Info', 'bulk-delete'), '</a>.';
54
+ echo ' <a href = "http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-by-custom-field">', __('Buy now', 'bulk-delete'), '</a>';
55
+ echo '</li>';
56
+
57
  echo '<li>';
58
  echo '<strong>', __('Schedule auto delete of Posts by Categories', 'bulk-delete'), '</strong>', ' - ';
59
  echo __('Adds the ability to schedule auto delete of posts based on categories', 'bulk-delete');
include/util.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Utility functions for Bulk Delete Plugin
4
+ *
5
+ * http://sudarmuthu.com/wordpress/bulk-delete
6
+ *
7
+ * @author: Sudar <http://sudarmuthu.com>
8
+ *
9
+ */
10
+
11
+ /**
12
+ * Check whether a key is present. If present returns the value, else returns the default value
13
+ *
14
+ * @param <array> $array - Array whose key has to be checked
15
+ * @param <string> $key - key that has to be checked
16
+ * @param <string> $default - the default value that has to be used, if the key is not found (optional)
17
+ *
18
+ * @return <mixed> If present returns the value, else returns the default value
19
+ * @author Sudar
20
+ */
21
+ if (!function_exists('array_get')) {
22
+ function array_get($array, $key, $default = NULL) {
23
+ return isset($array[$key]) ? $array[$key] : $default;
24
+ }
25
+ }
26
+ ?>
js/bulk-delete.js CHANGED
@@ -47,7 +47,7 @@ jQuery(document).ready(function () {
47
  // for post boxes
48
  postboxes.add_postbox_toggles(pagenow);
49
 
50
- jQuery.each(['_cats', '_tags', '_taxs', '_pages', '_post_status', '_types', 'u_userrole'], function (index, value) {
51
  // invoke the date time picker
52
  jQuery('#smbd' + value + '_cron_start').datetimepicker({
53
  timeFormat: 'HH:mm:ss'
@@ -87,6 +87,14 @@ jQuery(document).ready(function () {
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
47
  // for post boxes
48
  postboxes.add_postbox_toggles(pagenow);
49
 
50
+ jQuery.each(['_cats', '_tags', '_taxs', '_pages', '_post_status', '_types', '_cf', 'u_userrole'], function (index, value) {
51
  // invoke the date time picker
52
  jQuery('#smbd' + value + '_cron_start').datetimepicker({
53
  timeFormat: 'HH:mm:ss'
87
  // not valid
88
  alert(BULK_DELETE.error.enterurl);
89
  }
90
+ } else if (jQuery(this).val() === 'bulk-delete-cf') {
91
+ if (jQuery('#smbd_cf_key').val() !== '') {
92
+ valid = true;
93
+ } else {
94
+ // not valid
95
+ alert(BULK_DELETE.error.enter_cf_key);
96
+ }
97
+
98
  } else {
99
  if (jQuery(this).parent().prev().children('table').find(":checkbox:checked[value!='true']").size() > 0) {
100
  // monstrous selector
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 4.0.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bulk-delete\n"
7
- "POT-Creation-Date: 2013-10-07 16:49:10+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,508 +12,620 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: bulk-delete.php:178 bulk-delete.php:341 bulk-delete.php:367
16
  msgid "Bulk Delete Posts"
17
  msgstr ""
18
 
19
- #: bulk-delete.php:179 bulk-delete.php:338 bulk-delete.php:1396
20
  msgid "Bulk Delete Users"
21
  msgstr ""
22
 
23
- #: bulk-delete.php:180 bulk-delete.php:1453
24
  msgid "Bulk Delete Schedules"
25
  msgstr ""
26
 
27
- #: bulk-delete.php:210 bulk-delete.php:264
28
  msgid "About Plugin"
29
  msgstr ""
30
 
31
- #: bulk-delete.php:212 bulk-delete.php:266
32
  msgid ""
33
  "This plugin allows you to delete posts in bulk from selected categories, "
34
  "tags, custom taxonomies or by post status like drafts, pending posts, "
35
  "scheduled posts etc."
36
  msgstr ""
37
 
38
- #: bulk-delete.php:219 bulk-delete.php:273
39
  msgid "More information"
40
  msgstr ""
41
 
42
- #: bulk-delete.php:220 bulk-delete.php:274
43
  msgid "Plugin Homepage/support"
44
  msgstr ""
45
 
46
- #: bulk-delete.php:221 bulk-delete.php:275
47
  msgid "Buy pro addons"
48
  msgstr ""
49
 
50
- #: bulk-delete.php:222 bulk-delete.php:276
51
  msgid "Plugin author's blog"
52
  msgstr ""
53
 
54
- #: bulk-delete.php:223 bulk-delete.php:277
55
  msgid "Other Plugin's by Author"
56
  msgstr ""
57
 
58
- #: bulk-delete.php:238
59
  msgid "By Post Status"
60
  msgstr ""
61
 
62
- #: bulk-delete.php:239
63
  msgid "By Category"
64
  msgstr ""
65
 
66
- #: bulk-delete.php:240
67
  msgid "By Tag"
68
  msgstr ""
69
 
70
- #: bulk-delete.php:241
71
  msgid "By Custom Taxonomy"
72
  msgstr ""
73
 
74
- #: bulk-delete.php:242
75
  msgid "By Custom Post Types"
76
  msgstr ""
77
 
78
- #: bulk-delete.php:243
79
  msgid "By Page"
80
  msgstr ""
81
 
82
- #: bulk-delete.php:244
83
  msgid "By URL"
84
  msgstr ""
85
 
86
- #: bulk-delete.php:245
87
  msgid "By Post Revision"
88
  msgstr ""
89
 
90
- #: bulk-delete.php:246
 
 
 
 
91
  msgid "Debug Information"
92
  msgstr ""
93
 
94
- #: bulk-delete.php:292
95
  msgid "By User Role"
96
  msgstr ""
97
 
98
- #: bulk-delete.php:313
99
  msgid "Are you sure you want to delete all the selected posts"
100
  msgstr ""
101
 
102
- #: bulk-delete.php:314
103
  msgid "Are you sure you want to delete all the selected users"
104
  msgstr ""
105
 
106
- #: bulk-delete.php:318
107
  msgid "Please select posts from at least one option"
108
  msgstr ""
109
 
110
- #: bulk-delete.php:319
111
  msgid "Please enter at least one page url"
112
  msgstr ""
113
 
114
- #: bulk-delete.php:355
 
 
 
 
115
  msgid "Buy Addons"
116
  msgstr ""
117
 
118
- #: bulk-delete.php:383
119
  msgid "WARNING: Posts deleted once cannot be retrieved back. Use with caution."
120
  msgstr ""
121
 
122
- #: bulk-delete.php:411
123
  msgid "plugin"
124
  msgstr ""
125
 
126
- #: bulk-delete.php:411
127
  msgid "Version"
128
  msgstr ""
129
 
130
- #: bulk-delete.php:411
131
  msgid "by"
132
  msgstr ""
133
 
134
- #: bulk-delete.php:420 bulk-delete.php:530 bulk-delete.php:648
135
- #: bulk-delete.php:768 bulk-delete.php:922 bulk-delete.php:1049
136
- #: bulk-delete.php:1169 bulk-delete.php:1216 bulk-delete.php:1288
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  msgid ""
138
  "This section just got enabled. Kindly <a href = \"%1$s\">refresh</a> the "
139
  "page to fully enable it."
140
  msgstr ""
141
 
142
- #: bulk-delete.php:430 bulk-delete.php:1225
 
143
  msgid "Select the posts which you want to delete"
144
  msgstr ""
145
 
146
- #: bulk-delete.php:437
147
  msgid "All Draft Posts"
148
  msgstr ""
149
 
150
- #: bulk-delete.php:437
151
  msgid "Drafts"
152
  msgstr ""
153
 
154
- #: bulk-delete.php:444
155
  msgid "All Pending posts"
156
  msgstr ""
157
 
158
- #: bulk-delete.php:444 bulk-delete.php:451 bulk-delete.php:458
159
- #: bulk-delete.php:549 bulk-delete.php:668 bulk-delete.php:825
 
 
 
 
160
  msgid "Posts"
161
  msgstr ""
162
 
163
- #: bulk-delete.php:451
164
  msgid "All scheduled posts"
165
  msgstr ""
166
 
167
- #: bulk-delete.php:458
168
  msgid "All private posts"
169
  msgstr ""
170
 
171
- #: bulk-delete.php:464 bulk-delete.php:566 bulk-delete.php:685
172
- #: bulk-delete.php:839 bulk-delete.php:966 bulk-delete.php:1102
173
- #: bulk-delete.php:1189 bulk-delete.php:1314
 
 
 
 
 
174
  msgid "Choose your filtering options"
175
  msgstr ""
176
 
177
- #: bulk-delete.php:471 bulk-delete.php:575 bulk-delete.php:694
178
- #: bulk-delete.php:848 bulk-delete.php:975
 
 
 
179
  msgid "Only restrict to posts which are "
180
  msgstr ""
181
 
182
- #: bulk-delete.php:473 bulk-delete.php:577 bulk-delete.php:696
183
- #: bulk-delete.php:850 bulk-delete.php:977 bulk-delete.php:1111
 
 
 
 
184
  msgid "older than"
185
  msgstr ""
186
 
187
- #: bulk-delete.php:474 bulk-delete.php:578 bulk-delete.php:697
188
- #: bulk-delete.php:851 bulk-delete.php:978 bulk-delete.php:1112
 
 
 
 
189
  msgid "posted within last"
190
  msgstr ""
191
 
192
- #: bulk-delete.php:476 bulk-delete.php:580 bulk-delete.php:699
193
- #: bulk-delete.php:853 bulk-delete.php:980 bulk-delete.php:1114
194
- #: bulk-delete.php:1331
 
 
 
 
195
  msgid "days"
196
  msgstr ""
197
 
198
- #: bulk-delete.php:482 bulk-delete.php:586 bulk-delete.php:705
199
- #: bulk-delete.php:859 bulk-delete.php:986 bulk-delete.php:1120
200
- #: bulk-delete.php:1195
 
 
 
 
201
  msgid "Move to Trash"
202
  msgstr ""
203
 
204
- #: bulk-delete.php:483 bulk-delete.php:587 bulk-delete.php:706
205
- #: bulk-delete.php:860 bulk-delete.php:987 bulk-delete.php:1121
206
- #: bulk-delete.php:1196
 
 
 
 
207
  msgid "Delete permanently"
208
  msgstr ""
209
 
210
- #: bulk-delete.php:490 bulk-delete.php:603 bulk-delete.php:722
211
- #: bulk-delete.php:876 bulk-delete.php:1003 bulk-delete.php:1128
 
 
 
 
212
  msgid "Only delete first "
213
  msgstr ""
214
 
215
- #: bulk-delete.php:491 bulk-delete.php:604 bulk-delete.php:723
216
- #: bulk-delete.php:877 bulk-delete.php:1004 bulk-delete.php:1129
 
 
 
 
217
  msgid "posts."
218
  msgstr ""
219
 
220
- #: bulk-delete.php:492 bulk-delete.php:605 bulk-delete.php:724
221
- #: bulk-delete.php:878 bulk-delete.php:1005 bulk-delete.php:1130
 
 
 
 
222
  msgid ""
223
  "Use this option if there are more than 1000 posts and the script timesout."
224
  msgstr ""
225
 
226
- #: bulk-delete.php:498 bulk-delete.php:611 bulk-delete.php:730
227
- #: bulk-delete.php:884 bulk-delete.php:1011 bulk-delete.php:1136
228
- #: bulk-delete.php:1355
 
 
 
 
229
  msgid "Delete now"
230
  msgstr ""
231
 
232
- #: bulk-delete.php:499 bulk-delete.php:612 bulk-delete.php:731
233
- #: bulk-delete.php:885 bulk-delete.php:1012 bulk-delete.php:1137
234
- #: bulk-delete.php:1356 include/class-cron-list-table.php:110
 
 
 
 
 
235
  msgid "Schedule"
236
  msgstr ""
237
 
238
- #: bulk-delete.php:500 bulk-delete.php:613 bulk-delete.php:732
239
- #: bulk-delete.php:886 bulk-delete.php:1013 bulk-delete.php:1138
240
- #: bulk-delete.php:1357
 
 
 
 
241
  msgid "repeat "
242
  msgstr ""
243
 
244
- #: bulk-delete.php:502 bulk-delete.php:615 bulk-delete.php:734
245
- #: bulk-delete.php:888 bulk-delete.php:1015 bulk-delete.php:1140
246
- #: bulk-delete.php:1359
 
 
 
 
247
  msgid "Don't repeat"
248
  msgstr ""
249
 
250
- #: bulk-delete.php:512 bulk-delete.php:625 bulk-delete.php:744
251
- #: bulk-delete.php:898 bulk-delete.php:1025 bulk-delete.php:1150
252
- #: bulk-delete.php:1369
 
 
 
 
253
  msgid "Only available in Pro Addon"
254
  msgstr ""
255
 
256
- #: bulk-delete.php:519 bulk-delete.php:639 bulk-delete.php:751
257
- #: bulk-delete.php:905 bulk-delete.php:1032 bulk-delete.php:1157
258
- #: bulk-delete.php:1204 bulk-delete.php:1240 bulk-delete.php:1383
 
 
 
 
 
 
259
  msgid "Bulk Delete "
260
  msgstr ""
261
 
262
- #: bulk-delete.php:536
263
  msgid "Select the categories whose post you want to delete"
264
  msgstr ""
265
 
266
- #: bulk-delete.php:560
267
  msgid "All Categories"
268
  msgstr ""
269
 
270
- #: bulk-delete.php:593 bulk-delete.php:712 bulk-delete.php:866
271
- #: bulk-delete.php:993
 
 
272
  msgid "Public posts"
273
  msgstr ""
274
 
275
- #: bulk-delete.php:594 bulk-delete.php:713 bulk-delete.php:867
276
- #: bulk-delete.php:994
 
 
277
  msgid "Private Posts"
278
  msgstr ""
279
 
280
- #: bulk-delete.php:631 bulk-delete.php:1375
 
281
  msgid "Enter time in Y-m-d H:i:s format or enter now to use current time"
282
  msgstr ""
283
 
284
- #: bulk-delete.php:655
285
  msgid "Select the tags whose post you want to delete"
286
  msgstr ""
287
 
288
- #: bulk-delete.php:679
289
  msgid "All Tags"
290
  msgstr ""
291
 
292
- #: bulk-delete.php:757
293
  msgid "You don't have any posts assigned to tags in this blog."
294
  msgstr ""
295
 
296
- #: bulk-delete.php:792
297
  msgid "Select the taxonomies whose post you want to delete"
298
  msgstr ""
299
 
300
- #: bulk-delete.php:812
301
  msgid ""
302
  "The selected taxonomy has the following terms. Select the terms whose post "
303
  "you want to delete"
304
  msgstr ""
305
 
306
- #: bulk-delete.php:911
307
  msgid "You don't have any posts assigned to custom taxonomies in this blog."
308
  msgstr ""
309
 
310
- #: bulk-delete.php:946
311
  msgid "Select the custom post type whose post you want to delete"
312
  msgstr ""
313
 
314
- #: bulk-delete.php:1038
315
  msgid "You don't have any posts assigned to custom post types in this blog."
316
  msgstr ""
317
 
318
- #: bulk-delete.php:1061
319
  msgid "Select the pages which you want to delete"
320
  msgstr ""
321
 
322
- #: bulk-delete.php:1068
323
  msgid "All Published Pages"
324
  msgstr ""
325
 
326
- #: bulk-delete.php:1068 bulk-delete.php:1075 bulk-delete.php:1082
327
- #: bulk-delete.php:1089 bulk-delete.php:1096
 
 
 
328
  msgid "Pages"
329
  msgstr ""
330
 
331
- #: bulk-delete.php:1075
332
  msgid "All Draft Pages"
333
  msgstr ""
334
 
335
- #: bulk-delete.php:1082
336
  msgid "All Scheduled Pages"
337
  msgstr ""
338
 
339
- #: bulk-delete.php:1089
340
  msgid "All Pending Pages"
341
  msgstr ""
342
 
343
- #: bulk-delete.php:1096
344
  msgid "All Private Pages"
345
  msgstr ""
346
 
347
- #: bulk-delete.php:1109
348
  msgid "Only restrict to pages which are "
349
  msgstr ""
350
 
351
- #: bulk-delete.php:1175
352
  msgid "Delete these specific pages"
353
  msgstr ""
354
 
355
- #: bulk-delete.php:1181
356
  msgid "Enter one post url (not post ids) per line"
357
  msgstr ""
358
 
359
- #: bulk-delete.php:1232
360
  msgid "All Revisions"
361
  msgstr ""
362
 
363
- #: bulk-delete.php:1232
364
  msgid "Revisions"
365
  msgstr ""
366
 
367
- #: bulk-delete.php:1253
 
 
 
 
 
 
368
  msgid ""
369
  "If you are seeing a blank page after clicking the Bulk Delete button, then "
370
  msgstr ""
371
 
372
- #: bulk-delete.php:1253
373
  msgid "check out this FAQ"
374
  msgstr ""
375
 
376
- #: bulk-delete.php:1254
377
  msgid "You also need need the following debug information."
378
  msgstr ""
379
 
380
- #: bulk-delete.php:1258
381
  msgid "PHP Version "
382
  msgstr ""
383
 
384
- #: bulk-delete.php:1262
385
  msgid "Plugin Version "
386
  msgstr ""
387
 
388
- #: bulk-delete.php:1266
389
  msgid "Available memory size "
390
  msgstr ""
391
 
392
- #: bulk-delete.php:1270
393
  msgid "Script time out "
394
  msgstr ""
395
 
396
- #: bulk-delete.php:1274
397
  msgid "Script input time "
398
  msgstr ""
399
 
400
- #: bulk-delete.php:1293
401
  msgid "Select the user roles from which you want to delete users"
402
  msgstr ""
403
 
404
- #: bulk-delete.php:1306
405
  msgid "Users"
406
  msgstr ""
407
 
408
- #: bulk-delete.php:1330
409
  msgid "Only restrict to users who have not logged in the last "
410
  msgstr ""
411
 
412
- #: bulk-delete.php:1336
413
  msgid "Need Simple Login Log Plugin"
414
  msgstr ""
415
 
416
- #: bulk-delete.php:1349
417
  msgid "Only if user doesn't have any post"
418
  msgstr ""
419
 
420
- #: bulk-delete.php:1412
421
- msgid "WARNING: Users deleted once cannot be retrieved back. Use with caution."
422
- msgstr ""
423
-
424
- #: bulk-delete.php:1479
425
- msgid "The selected scheduled job was successfully deleted "
426
- msgstr ""
427
-
428
- #: bulk-delete.php:1511
429
- msgid "Users from the selected userrole are scheduled for deletion."
430
- msgstr ""
431
-
432
- #: bulk-delete.php:1512 bulk-delete.php:1551 bulk-delete.php:1582
433
- #: bulk-delete.php:1614 bulk-delete.php:1646 bulk-delete.php:1680
434
- #: bulk-delete.php:1715
435
- msgid "See the full list of <a href = \"%s\">scheduled tasks</a>"
436
- msgstr ""
437
-
438
- #: bulk-delete.php:1515
439
- msgid "Deleted %d user from the selected roles"
440
- msgid_plural "Deleted %d users from the selected role"
441
- msgstr[0] ""
442
- msgstr[1] ""
443
-
444
- #: bulk-delete.php:1550
445
- msgid "Posts from the selected categories are scheduled for deletion."
446
- msgstr ""
447
-
448
- #: bulk-delete.php:1554
449
- msgid "Deleted %d post from the selected categories"
450
- msgid_plural "Deleted %d posts from the selected categories"
451
- msgstr[0] ""
452
- msgstr[1] ""
453
-
454
- #: bulk-delete.php:1581
455
- msgid "Posts from the selected tags are scheduled for deletion."
456
- msgstr ""
457
-
458
- #: bulk-delete.php:1585
459
- msgid "Deleted %d post from the selected tags"
460
- msgid_plural "Deleted %d posts from the selected tags"
461
- msgstr[0] ""
462
- msgstr[1] ""
463
-
464
- #: bulk-delete.php:1613
465
- msgid "Posts from the selected custom taxonomies are scheduled for deletion."
466
- msgstr ""
467
-
468
- #: bulk-delete.php:1617
469
- msgid "Deleted %d post from the selected custom taxonomies"
470
- msgid_plural "Deleted %d posts from the selected custom taxonomies"
471
- msgstr[0] ""
472
- msgstr[1] ""
473
-
474
- #: bulk-delete.php:1645
475
- msgid "Posts from the selected custom post type are scheduled for deletion."
476
- msgstr ""
477
-
478
- #: bulk-delete.php:1649
479
- msgid "Deleted %d post from the selected custom post type"
480
- msgid_plural "Deleted %d posts from the selected custom post type"
481
- msgstr[0] ""
482
- msgstr[1] ""
483
-
484
- #: bulk-delete.php:1679
485
- msgid "Posts with the selected status are scheduled for deletion."
486
- msgstr ""
487
-
488
- #: bulk-delete.php:1683
489
- msgid "Deleted %d post with the selected post status"
490
- msgid_plural "Deleted %d posts with the selected post status"
491
- msgstr[0] ""
492
- msgstr[1] ""
493
-
494
- #: bulk-delete.php:1714
495
- msgid "The selected pages are scheduled for deletion."
496
- msgstr ""
497
-
498
- #: bulk-delete.php:1718
499
- msgid "Deleted %d page"
500
- msgid_plural "Deleted %d pages"
501
- msgstr[0] ""
502
- msgstr[1] ""
503
-
504
- #: bulk-delete.php:1744
505
- msgid "Deleted %d post with the specified urls"
506
- msgid_plural "Deleted %d posts with the specified urls"
507
- msgstr[0] ""
508
- msgstr[1] ""
509
-
510
- #: bulk-delete.php:1753
511
- msgid "Deleted %d post revision"
512
- msgid_plural "Deleted %d post revisions"
513
- msgstr[0] ""
514
- msgstr[1] ""
515
-
516
- #: bulk-delete.php:2236
517
  msgctxt "Cron table date format"
518
  msgid "M j, Y @ G:i"
519
  msgstr ""
@@ -541,96 +653,104 @@ msgid ""
541
  msgstr ""
542
 
543
  #: include/class-cron-list-table.php:51
544
- msgid "Schedule auto delete of Posts by Categories"
545
  msgstr ""
546
 
547
  #: include/class-cron-list-table.php:52
548
- msgid "Adds the ability to schedule auto delete of posts based on categories"
549
  msgstr ""
550
 
551
  #: include/class-cron-list-table.php:53 include/class-cron-list-table.php:60
552
  #: include/class-cron-list-table.php:67 include/class-cron-list-table.php:74
553
  #: include/class-cron-list-table.php:81 include/class-cron-list-table.php:88
554
- #: include/class-cron-list-table.php:95
555
  msgid "More Info"
556
  msgstr ""
557
 
558
  #: include/class-cron-list-table.php:54 include/class-cron-list-table.php:61
559
  #: include/class-cron-list-table.php:68 include/class-cron-list-table.php:75
560
  #: include/class-cron-list-table.php:82 include/class-cron-list-table.php:89
561
- #: include/class-cron-list-table.php:96
562
  msgid "Buy now"
563
  msgstr ""
564
 
565
  #: include/class-cron-list-table.php:58
566
- msgid "Schedule auto delete of Posts by Tags"
567
  msgstr ""
568
 
569
  #: include/class-cron-list-table.php:59
570
- msgid "Adds the ability to schedule auto delete of posts based on tags"
571
  msgstr ""
572
 
573
  #: include/class-cron-list-table.php:65
574
- msgid "Schedule auto delete of posts by Custom Taxonomy"
575
  msgstr ""
576
 
577
  #: include/class-cron-list-table.php:66
 
 
 
 
 
 
 
 
578
  msgid ""
579
  "Adds the ability to schedule auto delete of posts based on custom taxonomies"
580
  msgstr ""
581
 
582
- #: include/class-cron-list-table.php:72
583
  msgid "Schedule auto delete of Posts by Custom Post Type"
584
  msgstr ""
585
 
586
- #: include/class-cron-list-table.php:73
587
  msgid ""
588
  "Adds the ability to schedule auto delete of posts based on custom post types"
589
  msgstr ""
590
 
591
- #: include/class-cron-list-table.php:79
592
  msgid "Schedule auto delete of Pages"
593
  msgstr ""
594
 
595
- #: include/class-cron-list-table.php:80
596
  msgid "Adds the ability to schedule auto delete pages"
597
  msgstr ""
598
 
599
- #: include/class-cron-list-table.php:86
600
  msgid "Schedule auto delete of Posts by Post Status"
601
  msgstr ""
602
 
603
- #: include/class-cron-list-table.php:87
604
  msgid ""
605
  "Adds the ability to schedule auto delete of posts based on post status like "
606
  "drafts, pending posts, scheduled posts etc."
607
  msgstr ""
608
 
609
- #: include/class-cron-list-table.php:93
610
  msgid "Schedule auto delete of Users by User Role"
611
  msgstr ""
612
 
613
- #: include/class-cron-list-table.php:94
614
  msgid "Adds the ability to schedule auto delete of users based on user role"
615
  msgstr ""
616
 
617
- #: include/class-cron-list-table.php:109
618
  msgid "Next Due (GMT/UTC)"
619
  msgstr ""
620
 
621
- #: include/class-cron-list-table.php:111
622
  msgid "Type"
623
  msgstr ""
624
 
625
- #: include/class-cron-list-table.php:112
626
  msgid "Options"
627
  msgstr ""
628
 
629
- #: include/class-cron-list-table.php:164
630
  msgid "Delete"
631
  msgstr ""
632
 
633
- #: include/class-cron-list-table.php:190
634
  msgid "You have not scheduled any bulk delete jobs."
635
  msgstr ""
636
 
2
  # This file is distributed under the same license as the Bulk Delete package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Bulk Delete 4.1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/bulk-delete\n"
7
+ "POT-Creation-Date: 2013-10-12 12:14:10+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.php:113 bulk-delete.php:278 bulk-delete.php:304
16
  msgid "Bulk Delete Posts"
17
  msgstr ""
18
 
19
+ #: bulk-delete.php:114 bulk-delete.php:275 bulk-delete.php:358
20
  msgid "Bulk Delete Users"
21
  msgstr ""
22
 
23
+ #: bulk-delete.php:115 bulk-delete.php:415
24
  msgid "Bulk Delete Schedules"
25
  msgstr ""
26
 
27
+ #: bulk-delete.php:145 bulk-delete.php:200
28
  msgid "About Plugin"
29
  msgstr ""
30
 
31
+ #: bulk-delete.php:147 bulk-delete.php:202
32
  msgid ""
33
  "This plugin allows you to delete posts in bulk from selected categories, "
34
  "tags, custom taxonomies or by post status like drafts, pending posts, "
35
  "scheduled posts etc."
36
  msgstr ""
37
 
38
+ #: bulk-delete.php:154 bulk-delete.php:209
39
  msgid "More information"
40
  msgstr ""
41
 
42
+ #: bulk-delete.php:155 bulk-delete.php:210
43
  msgid "Plugin Homepage/support"
44
  msgstr ""
45
 
46
+ #: bulk-delete.php:156 bulk-delete.php:211
47
  msgid "Buy pro addons"
48
  msgstr ""
49
 
50
+ #: bulk-delete.php:157 bulk-delete.php:212
51
  msgid "Plugin author's blog"
52
  msgstr ""
53
 
54
+ #: bulk-delete.php:158 bulk-delete.php:213
55
  msgid "Other Plugin's by Author"
56
  msgstr ""
57
 
58
+ #: bulk-delete.php:173
59
  msgid "By Post Status"
60
  msgstr ""
61
 
62
+ #: bulk-delete.php:174
63
  msgid "By Category"
64
  msgstr ""
65
 
66
+ #: bulk-delete.php:175
67
  msgid "By Tag"
68
  msgstr ""
69
 
70
+ #: bulk-delete.php:176
71
  msgid "By Custom Taxonomy"
72
  msgstr ""
73
 
74
+ #: bulk-delete.php:177
75
  msgid "By Custom Post Types"
76
  msgstr ""
77
 
78
+ #: bulk-delete.php:178
79
  msgid "By Page"
80
  msgstr ""
81
 
82
+ #: bulk-delete.php:179
83
  msgid "By URL"
84
  msgstr ""
85
 
86
+ #: bulk-delete.php:180
87
  msgid "By Post Revision"
88
  msgstr ""
89
 
90
+ #: bulk-delete.php:181
91
+ msgid "By Custom Field"
92
+ msgstr ""
93
+
94
+ #: bulk-delete.php:182
95
  msgid "Debug Information"
96
  msgstr ""
97
 
98
+ #: bulk-delete.php:228
99
  msgid "By User Role"
100
  msgstr ""
101
 
102
+ #: bulk-delete.php:249
103
  msgid "Are you sure you want to delete all the selected posts"
104
  msgstr ""
105
 
106
+ #: bulk-delete.php:250
107
  msgid "Are you sure you want to delete all the selected users"
108
  msgstr ""
109
 
110
+ #: bulk-delete.php:254
111
  msgid "Please select posts from at least one option"
112
  msgstr ""
113
 
114
+ #: bulk-delete.php:255
115
  msgid "Please enter at least one page url"
116
  msgstr ""
117
 
118
+ #: bulk-delete.php:256
119
+ msgid "Please enter some value for custom field key"
120
+ msgstr ""
121
+
122
+ #: bulk-delete.php:292
123
  msgid "Buy Addons"
124
  msgstr ""
125
 
126
+ #: bulk-delete.php:320
127
  msgid "WARNING: Posts deleted once cannot be retrieved back. Use with caution."
128
  msgstr ""
129
 
130
+ #: bulk-delete.php:348
131
  msgid "plugin"
132
  msgstr ""
133
 
134
+ #: bulk-delete.php:348
135
  msgid "Version"
136
  msgstr ""
137
 
138
+ #: bulk-delete.php:348
139
  msgid "by"
140
  msgstr ""
141
 
142
+ #: bulk-delete.php:374
143
+ msgid "WARNING: Users deleted once cannot be retrieved back. Use with caution."
144
+ msgstr ""
145
+
146
+ #: bulk-delete.php:441
147
+ msgid "The selected scheduled job was successfully deleted "
148
+ msgstr ""
149
+
150
+ #: bulk-delete.php:473
151
+ msgid "Users from the selected userrole are scheduled for deletion."
152
+ msgstr ""
153
+
154
+ #: bulk-delete.php:474 bulk-delete.php:513 bulk-delete.php:544
155
+ #: bulk-delete.php:576 bulk-delete.php:608 bulk-delete.php:642
156
+ #: bulk-delete.php:677 bulk-delete.php:745
157
+ msgid "See the full list of <a href = \"%s\">scheduled tasks</a>"
158
+ msgstr ""
159
+
160
+ #: bulk-delete.php:477
161
+ msgid "Deleted %d user from the selected roles"
162
+ msgid_plural "Deleted %d users from the selected role"
163
+ msgstr[0] ""
164
+ msgstr[1] ""
165
+
166
+ #: bulk-delete.php:512
167
+ msgid "Posts from the selected categories are scheduled for deletion."
168
+ msgstr ""
169
+
170
+ #: bulk-delete.php:516
171
+ msgid "Deleted %d post from the selected categories"
172
+ msgid_plural "Deleted %d posts from the selected categories"
173
+ msgstr[0] ""
174
+ msgstr[1] ""
175
+
176
+ #: bulk-delete.php:543
177
+ msgid "Posts from the selected tags are scheduled for deletion."
178
+ msgstr ""
179
+
180
+ #: bulk-delete.php:547
181
+ msgid "Deleted %d post from the selected tags"
182
+ msgid_plural "Deleted %d posts from the selected tags"
183
+ msgstr[0] ""
184
+ msgstr[1] ""
185
+
186
+ #: bulk-delete.php:575
187
+ msgid "Posts from the selected custom taxonomies are scheduled for deletion."
188
+ msgstr ""
189
+
190
+ #: bulk-delete.php:579
191
+ msgid "Deleted %d post from the selected custom taxonomies"
192
+ msgid_plural "Deleted %d posts from the selected custom taxonomies"
193
+ msgstr[0] ""
194
+ msgstr[1] ""
195
+
196
+ #: bulk-delete.php:607
197
+ msgid "Posts from the selected custom post type are scheduled for deletion."
198
+ msgstr ""
199
+
200
+ #: bulk-delete.php:611
201
+ msgid "Deleted %d post from the selected custom post type"
202
+ msgid_plural "Deleted %d posts from the selected custom post type"
203
+ msgstr[0] ""
204
+ msgstr[1] ""
205
+
206
+ #: bulk-delete.php:641
207
+ msgid "Posts with the selected status are scheduled for deletion."
208
+ msgstr ""
209
+
210
+ #: bulk-delete.php:645
211
+ msgid "Deleted %d post with the selected post status"
212
+ msgid_plural "Deleted %d posts with the selected post status"
213
+ msgstr[0] ""
214
+ msgstr[1] ""
215
+
216
+ #: bulk-delete.php:676
217
+ msgid "The selected pages are scheduled for deletion."
218
+ msgstr ""
219
+
220
+ #: bulk-delete.php:680
221
+ msgid "Deleted %d page"
222
+ msgid_plural "Deleted %d pages"
223
+ msgstr[0] ""
224
+ msgstr[1] ""
225
+
226
+ #: bulk-delete.php:706
227
+ msgid "Deleted %d post with the specified urls"
228
+ msgid_plural "Deleted %d posts with the specified urls"
229
+ msgstr[0] ""
230
+ msgstr[1] ""
231
+
232
+ #: bulk-delete.php:715
233
+ msgid "Deleted %d post revision"
234
+ msgid_plural "Deleted %d post revisions"
235
+ msgstr[0] ""
236
+ msgstr[1] ""
237
+
238
+ #: bulk-delete.php:744
239
+ msgid ""
240
+ "Posts matching the selected custom field setting are scheduled for deletion."
241
+ msgstr ""
242
+
243
+ #: bulk-delete.php:748
244
+ msgid "Deleted %d post using the selected custom field condition"
245
+ msgid_plural "Deleted %d posts using the selected custom field condition"
246
+ msgstr[0] ""
247
+ msgstr[1] ""
248
+
249
+ #: include/class-bulk-delete-posts.php:16
250
+ #: include/class-bulk-delete-posts.php:126
251
+ #: include/class-bulk-delete-posts.php:247
252
+ #: include/class-bulk-delete-posts.php:367
253
+ #: include/class-bulk-delete-posts.php:521
254
+ #: include/class-bulk-delete-posts.php:648
255
+ #: include/class-bulk-delete-posts.php:768
256
+ #: include/class-bulk-delete-posts.php:815
257
+ #: include/class-bulk-delete-posts.php:851
258
+ #: include/class-bulk-delete-users.php:16
259
  msgid ""
260
  "This section just got enabled. Kindly <a href = \"%1$s\">refresh</a> the "
261
  "page to fully enable it."
262
  msgstr ""
263
 
264
+ #: include/class-bulk-delete-posts.php:26
265
+ #: include/class-bulk-delete-posts.php:824
266
  msgid "Select the posts which you want to delete"
267
  msgstr ""
268
 
269
+ #: include/class-bulk-delete-posts.php:33
270
  msgid "All Draft Posts"
271
  msgstr ""
272
 
273
+ #: include/class-bulk-delete-posts.php:33
274
  msgid "Drafts"
275
  msgstr ""
276
 
277
+ #: include/class-bulk-delete-posts.php:40
278
  msgid "All Pending posts"
279
  msgstr ""
280
 
281
+ #: include/class-bulk-delete-posts.php:40
282
+ #: include/class-bulk-delete-posts.php:47
283
+ #: include/class-bulk-delete-posts.php:54
284
+ #: include/class-bulk-delete-posts.php:145
285
+ #: include/class-bulk-delete-posts.php:267
286
+ #: include/class-bulk-delete-posts.php:424
287
  msgid "Posts"
288
  msgstr ""
289
 
290
+ #: include/class-bulk-delete-posts.php:47
291
  msgid "All scheduled posts"
292
  msgstr ""
293
 
294
+ #: include/class-bulk-delete-posts.php:54
295
  msgid "All private posts"
296
  msgstr ""
297
 
298
+ #: include/class-bulk-delete-posts.php:60
299
+ #: include/class-bulk-delete-posts.php:162
300
+ #: include/class-bulk-delete-posts.php:284
301
+ #: include/class-bulk-delete-posts.php:438
302
+ #: include/class-bulk-delete-posts.php:565
303
+ #: include/class-bulk-delete-posts.php:701
304
+ #: include/class-bulk-delete-posts.php:788
305
+ #: include/class-bulk-delete-users.php:42
306
  msgid "Choose your filtering options"
307
  msgstr ""
308
 
309
+ #: include/class-bulk-delete-posts.php:67
310
+ #: include/class-bulk-delete-posts.php:171
311
+ #: include/class-bulk-delete-posts.php:293
312
+ #: include/class-bulk-delete-posts.php:447
313
+ #: include/class-bulk-delete-posts.php:574
314
  msgid "Only restrict to posts which are "
315
  msgstr ""
316
 
317
+ #: include/class-bulk-delete-posts.php:69
318
+ #: include/class-bulk-delete-posts.php:173
319
+ #: include/class-bulk-delete-posts.php:295
320
+ #: include/class-bulk-delete-posts.php:449
321
+ #: include/class-bulk-delete-posts.php:576
322
+ #: include/class-bulk-delete-posts.php:710
323
  msgid "older than"
324
  msgstr ""
325
 
326
+ #: include/class-bulk-delete-posts.php:70
327
+ #: include/class-bulk-delete-posts.php:174
328
+ #: include/class-bulk-delete-posts.php:296
329
+ #: include/class-bulk-delete-posts.php:450
330
+ #: include/class-bulk-delete-posts.php:577
331
+ #: include/class-bulk-delete-posts.php:711
332
  msgid "posted within last"
333
  msgstr ""
334
 
335
+ #: include/class-bulk-delete-posts.php:72
336
+ #: include/class-bulk-delete-posts.php:176
337
+ #: include/class-bulk-delete-posts.php:298
338
+ #: include/class-bulk-delete-posts.php:452
339
+ #: include/class-bulk-delete-posts.php:579
340
+ #: include/class-bulk-delete-posts.php:713
341
+ #: include/class-bulk-delete-users.php:59
342
  msgid "days"
343
  msgstr ""
344
 
345
+ #: include/class-bulk-delete-posts.php:78
346
+ #: include/class-bulk-delete-posts.php:182
347
+ #: include/class-bulk-delete-posts.php:304
348
+ #: include/class-bulk-delete-posts.php:458
349
+ #: include/class-bulk-delete-posts.php:585
350
+ #: include/class-bulk-delete-posts.php:719
351
+ #: include/class-bulk-delete-posts.php:794
352
  msgid "Move to Trash"
353
  msgstr ""
354
 
355
+ #: include/class-bulk-delete-posts.php:79
356
+ #: include/class-bulk-delete-posts.php:183
357
+ #: include/class-bulk-delete-posts.php:305
358
+ #: include/class-bulk-delete-posts.php:459
359
+ #: include/class-bulk-delete-posts.php:586
360
+ #: include/class-bulk-delete-posts.php:720
361
+ #: include/class-bulk-delete-posts.php:795
362
  msgid "Delete permanently"
363
  msgstr ""
364
 
365
+ #: include/class-bulk-delete-posts.php:86
366
+ #: include/class-bulk-delete-posts.php:199
367
+ #: include/class-bulk-delete-posts.php:321
368
+ #: include/class-bulk-delete-posts.php:475
369
+ #: include/class-bulk-delete-posts.php:602
370
+ #: include/class-bulk-delete-posts.php:727
371
  msgid "Only delete first "
372
  msgstr ""
373
 
374
+ #: include/class-bulk-delete-posts.php:87
375
+ #: include/class-bulk-delete-posts.php:200
376
+ #: include/class-bulk-delete-posts.php:322
377
+ #: include/class-bulk-delete-posts.php:476
378
+ #: include/class-bulk-delete-posts.php:603
379
+ #: include/class-bulk-delete-posts.php:728
380
  msgid "posts."
381
  msgstr ""
382
 
383
+ #: include/class-bulk-delete-posts.php:88
384
+ #: include/class-bulk-delete-posts.php:201
385
+ #: include/class-bulk-delete-posts.php:323
386
+ #: include/class-bulk-delete-posts.php:477
387
+ #: include/class-bulk-delete-posts.php:604
388
+ #: include/class-bulk-delete-posts.php:729
389
  msgid ""
390
  "Use this option if there are more than 1000 posts and the script timesout."
391
  msgstr ""
392
 
393
+ #: include/class-bulk-delete-posts.php:94
394
+ #: include/class-bulk-delete-posts.php:207
395
+ #: include/class-bulk-delete-posts.php:329
396
+ #: include/class-bulk-delete-posts.php:483
397
+ #: include/class-bulk-delete-posts.php:610
398
+ #: include/class-bulk-delete-posts.php:735
399
+ #: include/class-bulk-delete-users.php:83
400
  msgid "Delete now"
401
  msgstr ""
402
 
403
+ #: include/class-bulk-delete-posts.php:95
404
+ #: include/class-bulk-delete-posts.php:208
405
+ #: include/class-bulk-delete-posts.php:330
406
+ #: include/class-bulk-delete-posts.php:484
407
+ #: include/class-bulk-delete-posts.php:611
408
+ #: include/class-bulk-delete-posts.php:736
409
+ #: include/class-bulk-delete-users.php:84
410
+ #: include/class-cron-list-table.php:117
411
  msgid "Schedule"
412
  msgstr ""
413
 
414
+ #: include/class-bulk-delete-posts.php:96
415
+ #: include/class-bulk-delete-posts.php:209
416
+ #: include/class-bulk-delete-posts.php:331
417
+ #: include/class-bulk-delete-posts.php:485
418
+ #: include/class-bulk-delete-posts.php:612
419
+ #: include/class-bulk-delete-posts.php:737
420
+ #: include/class-bulk-delete-users.php:85
421
  msgid "repeat "
422
  msgstr ""
423
 
424
+ #: include/class-bulk-delete-posts.php:98
425
+ #: include/class-bulk-delete-posts.php:211
426
+ #: include/class-bulk-delete-posts.php:333
427
+ #: include/class-bulk-delete-posts.php:487
428
+ #: include/class-bulk-delete-posts.php:614
429
+ #: include/class-bulk-delete-posts.php:739
430
+ #: include/class-bulk-delete-users.php:87
431
  msgid "Don't repeat"
432
  msgstr ""
433
 
434
+ #: include/class-bulk-delete-posts.php:108
435
+ #: include/class-bulk-delete-posts.php:221
436
+ #: include/class-bulk-delete-posts.php:343
437
+ #: include/class-bulk-delete-posts.php:497
438
+ #: include/class-bulk-delete-posts.php:624
439
+ #: include/class-bulk-delete-posts.php:749
440
+ #: include/class-bulk-delete-users.php:97
441
  msgid "Only available in Pro Addon"
442
  msgstr ""
443
 
444
+ #: include/class-bulk-delete-posts.php:115
445
+ #: include/class-bulk-delete-posts.php:235
446
+ #: include/class-bulk-delete-posts.php:350
447
+ #: include/class-bulk-delete-posts.php:504
448
+ #: include/class-bulk-delete-posts.php:631
449
+ #: include/class-bulk-delete-posts.php:756
450
+ #: include/class-bulk-delete-posts.php:803
451
+ #: include/class-bulk-delete-posts.php:839
452
+ #: include/class-bulk-delete-users.php:111
453
  msgid "Bulk Delete "
454
  msgstr ""
455
 
456
+ #: include/class-bulk-delete-posts.php:132
457
  msgid "Select the categories whose post you want to delete"
458
  msgstr ""
459
 
460
+ #: include/class-bulk-delete-posts.php:156
461
  msgid "All Categories"
462
  msgstr ""
463
 
464
+ #: include/class-bulk-delete-posts.php:189
465
+ #: include/class-bulk-delete-posts.php:311
466
+ #: include/class-bulk-delete-posts.php:465
467
+ #: include/class-bulk-delete-posts.php:592
468
  msgid "Public posts"
469
  msgstr ""
470
 
471
+ #: include/class-bulk-delete-posts.php:190
472
+ #: include/class-bulk-delete-posts.php:312
473
+ #: include/class-bulk-delete-posts.php:466
474
+ #: include/class-bulk-delete-posts.php:593
475
  msgid "Private Posts"
476
  msgstr ""
477
 
478
+ #: include/class-bulk-delete-posts.php:227
479
+ #: include/class-bulk-delete-users.php:103
480
  msgid "Enter time in Y-m-d H:i:s format or enter now to use current time"
481
  msgstr ""
482
 
483
+ #: include/class-bulk-delete-posts.php:254
484
  msgid "Select the tags whose post you want to delete"
485
  msgstr ""
486
 
487
+ #: include/class-bulk-delete-posts.php:278
488
  msgid "All Tags"
489
  msgstr ""
490
 
491
+ #: include/class-bulk-delete-posts.php:356
492
  msgid "You don't have any posts assigned to tags in this blog."
493
  msgstr ""
494
 
495
+ #: include/class-bulk-delete-posts.php:391
496
  msgid "Select the taxonomies whose post you want to delete"
497
  msgstr ""
498
 
499
+ #: include/class-bulk-delete-posts.php:411
500
  msgid ""
501
  "The selected taxonomy has the following terms. Select the terms whose post "
502
  "you want to delete"
503
  msgstr ""
504
 
505
+ #: include/class-bulk-delete-posts.php:510
506
  msgid "You don't have any posts assigned to custom taxonomies in this blog."
507
  msgstr ""
508
 
509
+ #: include/class-bulk-delete-posts.php:545
510
  msgid "Select the custom post type whose post you want to delete"
511
  msgstr ""
512
 
513
+ #: include/class-bulk-delete-posts.php:637
514
  msgid "You don't have any posts assigned to custom post types in this blog."
515
  msgstr ""
516
 
517
+ #: include/class-bulk-delete-posts.php:660
518
  msgid "Select the pages which you want to delete"
519
  msgstr ""
520
 
521
+ #: include/class-bulk-delete-posts.php:667
522
  msgid "All Published Pages"
523
  msgstr ""
524
 
525
+ #: include/class-bulk-delete-posts.php:667
526
+ #: include/class-bulk-delete-posts.php:674
527
+ #: include/class-bulk-delete-posts.php:681
528
+ #: include/class-bulk-delete-posts.php:688
529
+ #: include/class-bulk-delete-posts.php:695
530
  msgid "Pages"
531
  msgstr ""
532
 
533
+ #: include/class-bulk-delete-posts.php:674
534
  msgid "All Draft Pages"
535
  msgstr ""
536
 
537
+ #: include/class-bulk-delete-posts.php:681
538
  msgid "All Scheduled Pages"
539
  msgstr ""
540
 
541
+ #: include/class-bulk-delete-posts.php:688
542
  msgid "All Pending Pages"
543
  msgstr ""
544
 
545
+ #: include/class-bulk-delete-posts.php:695
546
  msgid "All Private Pages"
547
  msgstr ""
548
 
549
+ #: include/class-bulk-delete-posts.php:708
550
  msgid "Only restrict to pages which are "
551
  msgstr ""
552
 
553
+ #: include/class-bulk-delete-posts.php:774
554
  msgid "Delete these specific pages"
555
  msgstr ""
556
 
557
+ #: include/class-bulk-delete-posts.php:780
558
  msgid "Enter one post url (not post ids) per line"
559
  msgstr ""
560
 
561
+ #: include/class-bulk-delete-posts.php:831
562
  msgid "All Revisions"
563
  msgstr ""
564
 
565
+ #: include/class-bulk-delete-posts.php:831
566
  msgid "Revisions"
567
  msgstr ""
568
 
569
+ #: include/class-bulk-delete-posts.php:860
570
+ msgid ""
571
+ "You need \"Bulk Delete by Custom Field\" Addon, to delete post by custom "
572
+ "field."
573
+ msgstr ""
574
+
575
+ #: include/class-bulk-delete-posts.php:878
576
  msgid ""
577
  "If you are seeing a blank page after clicking the Bulk Delete button, then "
578
  msgstr ""
579
 
580
+ #: include/class-bulk-delete-posts.php:878
581
  msgid "check out this FAQ"
582
  msgstr ""
583
 
584
+ #: include/class-bulk-delete-posts.php:879
585
  msgid "You also need need the following debug information."
586
  msgstr ""
587
 
588
+ #: include/class-bulk-delete-posts.php:883
589
  msgid "PHP Version "
590
  msgstr ""
591
 
592
+ #: include/class-bulk-delete-posts.php:887
593
  msgid "Plugin Version "
594
  msgstr ""
595
 
596
+ #: include/class-bulk-delete-posts.php:891
597
  msgid "Available memory size "
598
  msgstr ""
599
 
600
+ #: include/class-bulk-delete-posts.php:895
601
  msgid "Script time out "
602
  msgstr ""
603
 
604
+ #: include/class-bulk-delete-posts.php:899
605
  msgid "Script input time "
606
  msgstr ""
607
 
608
+ #: include/class-bulk-delete-users.php:21
609
  msgid "Select the user roles from which you want to delete users"
610
  msgstr ""
611
 
612
+ #: include/class-bulk-delete-users.php:34
613
  msgid "Users"
614
  msgstr ""
615
 
616
+ #: include/class-bulk-delete-users.php:58
617
  msgid "Only restrict to users who have not logged in the last "
618
  msgstr ""
619
 
620
+ #: include/class-bulk-delete-users.php:64
621
  msgid "Need Simple Login Log Plugin"
622
  msgstr ""
623
 
624
+ #: include/class-bulk-delete-users.php:77
625
  msgid "Only if user doesn't have any post"
626
  msgstr ""
627
 
628
+ #: include/class-bulk-delete-util.php:84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
629
  msgctxt "Cron table date format"
630
  msgid "M j, Y @ G:i"
631
  msgstr ""
653
  msgstr ""
654
 
655
  #: include/class-cron-list-table.php:51
656
+ msgid "Delete posts by custom field"
657
  msgstr ""
658
 
659
  #: include/class-cron-list-table.php:52
660
+ msgid "Adds the ability to delete posts based on custom fields"
661
  msgstr ""
662
 
663
  #: include/class-cron-list-table.php:53 include/class-cron-list-table.php:60
664
  #: include/class-cron-list-table.php:67 include/class-cron-list-table.php:74
665
  #: include/class-cron-list-table.php:81 include/class-cron-list-table.php:88
666
+ #: include/class-cron-list-table.php:95 include/class-cron-list-table.php:102
667
  msgid "More Info"
668
  msgstr ""
669
 
670
  #: include/class-cron-list-table.php:54 include/class-cron-list-table.php:61
671
  #: include/class-cron-list-table.php:68 include/class-cron-list-table.php:75
672
  #: include/class-cron-list-table.php:82 include/class-cron-list-table.php:89
673
+ #: include/class-cron-list-table.php:96 include/class-cron-list-table.php:103
674
  msgid "Buy now"
675
  msgstr ""
676
 
677
  #: include/class-cron-list-table.php:58
678
+ msgid "Schedule auto delete of Posts by Categories"
679
  msgstr ""
680
 
681
  #: include/class-cron-list-table.php:59
682
+ msgid "Adds the ability to schedule auto delete of posts based on categories"
683
  msgstr ""
684
 
685
  #: include/class-cron-list-table.php:65
686
+ msgid "Schedule auto delete of Posts by Tags"
687
  msgstr ""
688
 
689
  #: include/class-cron-list-table.php:66
690
+ msgid "Adds the ability to schedule auto delete of posts based on tags"
691
+ msgstr ""
692
+
693
+ #: include/class-cron-list-table.php:72
694
+ msgid "Schedule auto delete of posts by Custom Taxonomy"
695
+ msgstr ""
696
+
697
+ #: include/class-cron-list-table.php:73
698
  msgid ""
699
  "Adds the ability to schedule auto delete of posts based on custom taxonomies"
700
  msgstr ""
701
 
702
+ #: include/class-cron-list-table.php:79
703
  msgid "Schedule auto delete of Posts by Custom Post Type"
704
  msgstr ""
705
 
706
+ #: include/class-cron-list-table.php:80
707
  msgid ""
708
  "Adds the ability to schedule auto delete of posts based on custom post types"
709
  msgstr ""
710
 
711
+ #: include/class-cron-list-table.php:86
712
  msgid "Schedule auto delete of Pages"
713
  msgstr ""
714
 
715
+ #: include/class-cron-list-table.php:87
716
  msgid "Adds the ability to schedule auto delete pages"
717
  msgstr ""
718
 
719
+ #: include/class-cron-list-table.php:93
720
  msgid "Schedule auto delete of Posts by Post Status"
721
  msgstr ""
722
 
723
+ #: include/class-cron-list-table.php:94
724
  msgid ""
725
  "Adds the ability to schedule auto delete of posts based on post status like "
726
  "drafts, pending posts, scheduled posts etc."
727
  msgstr ""
728
 
729
+ #: include/class-cron-list-table.php:100
730
  msgid "Schedule auto delete of Users by User Role"
731
  msgstr ""
732
 
733
+ #: include/class-cron-list-table.php:101
734
  msgid "Adds the ability to schedule auto delete of users based on user role"
735
  msgstr ""
736
 
737
+ #: include/class-cron-list-table.php:116
738
  msgid "Next Due (GMT/UTC)"
739
  msgstr ""
740
 
741
+ #: include/class-cron-list-table.php:118
742
  msgid "Type"
743
  msgstr ""
744
 
745
+ #: include/class-cron-list-table.php:119
746
  msgid "Options"
747
  msgstr ""
748
 
749
+ #: include/class-cron-list-table.php:171
750
  msgid "Delete"
751
  msgstr ""
752
 
753
+ #: include/class-cron-list-table.php:197
754
  msgid "You have not scheduled any bulk delete jobs."
755
  msgstr ""
756
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: post, comment, delete, bulk, mass, draft, revision, page
4
  Requires at least: 3.3
5
  Tested up to: 3.6.1
6
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
7
- Stable tag: 4.0.2
8
 
9
  Bulk delete users based on user role and posts from selected categories, tags, post types, custom taxonomies or by post status like drafts, scheduled posts, revisions etc.
10
 
@@ -23,6 +23,7 @@ This Plugin supports the following bulk delete options for deleting posts
23
  - Delete posts by custom taxonomies
24
  - Delete posts by custom post types
25
  - Delete posts by url
 
26
  - Delete all draft posts
27
  - Delete all pending posts
28
  - Delete all private posts
@@ -76,6 +77,7 @@ If you looking for just moving posts, instead of deleting, then use [Bulk Move P
76
 
77
  The following are the list of pro addons that are currently available for purchase to add more features to the Plugin.
78
 
 
79
  - **Schedule auto delete of Posts by Categories** - Adds the ability to schedule auto delete of posts based on categories. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-categories). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-category-addon)
80
  - **Schedule auto delete of Posts by Tags** - Adds the ability to schedule auto delete of posts based on tags. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-tags). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-tags-addon)
81
  - **Schedule auto delete of Posts by Custom Taxonomies** - Adds the ability to schedule auto delete of posts based on custom taxonomies. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-taxonomy). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-taxonomy-addon)
@@ -211,6 +213,9 @@ The ability to schedule deletion of posts is available as a pro addon.
211
 
212
  == Changelog ==
213
 
 
 
 
214
  = 2013-10-07 - v4.0.2 - (Dev time: 1 hours) =
215
  - Fix issue in displaying meta boxes
216
  - Show taxonomy label instead of slug
4
  Requires at least: 3.3
5
  Tested up to: 3.6.1
6
  Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
7
+ Stable tag: 4.1
8
 
9
  Bulk delete users based on user role and posts from selected categories, tags, post types, custom taxonomies or by post status like drafts, scheduled posts, revisions etc.
10
 
23
  - Delete posts by custom taxonomies
24
  - Delete posts by custom post types
25
  - Delete posts by url
26
+ - Delete posts by custom field (Available as a [Pro addon](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-by-custom-field))
27
  - Delete all draft posts
28
  - Delete all pending posts
29
  - Delete all private posts
77
 
78
  The following are the list of pro addons that are currently available for purchase to add more features to the Plugin.
79
 
80
+ - **Delete posts by custom field** - Adds the ability to delete posts based on custom field. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons===bulk-delete-by-custom-field). [Buy now](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons===bulk-delete-by-custom-field)
81
  - **Schedule auto delete of Posts by Categories** - Adds the ability to schedule auto delete of posts based on categories. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-categories). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-category-addon)
82
  - **Schedule auto delete of Posts by Tags** - Adds the ability to schedule auto delete of posts based on tags. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-tags). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-tags-addon)
83
  - **Schedule auto delete of Posts by Custom Taxonomies** - Adds the ability to schedule auto delete of posts based on custom taxonomies. [More details](http://sudarmuthu.com/wordpress/bulk-delete/pro-addons#bulk-delete-schedule-taxonomy). [Buy now](http://sudarmuthu.com/out/buy-bulk-delete-taxonomy-addon)
213
 
214
  == Changelog ==
215
 
216
+ = 2013-10-12 - v4.1 - (Dev time: 6 hours) =
217
+ - Add the "delete by custom field" pro addon
218
+
219
  = 2013-10-07 - v4.0.2 - (Dev time: 1 hours) =
220
  - Fix issue in displaying meta boxes
221
  - Show taxonomy label instead of slug