Example #1
0
/**
 * Render delete pages from trash box.
 *
 * @since 5.5
 */
function bd_render_delete_pages_from_trash()
{
    if (BD_Util::is_pages_box_hidden(Bulk_Delete::BOX_PAGE_FROM_TRASH)) {
        printf(__('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete'), 'admin.php?page=' . Bulk_Delete::PAGES_PAGE_SLUG);
        return;
    }
    if (!class_exists('Bulk_Delete_From_Trash')) {
        ?>
		<!-- pages In Trash box start-->
		<p>
			<span class = "bd-pages-trash-pro" style = "color:red">
				<?php 
        _e('You need "Bulk Delete From Trash" Addon, to delete pages in Trash.', 'bulk-delete');
        ?>
				<a href = "http://bulkwp.com/addons/bulk-delete-from-trash/?utm_source=wpadmin&utm_campaign=BulkDelete&utm_medium=buynow&utm_content=bd-th">Buy now</a>
			</span>
		</p>
		<!-- pages In Trash box end-->
<?php 
    } else {
        /**
         * Render delete pages from trash box
         *
         * @since 5.4
         */
        do_action('bd_render_delete_pages_from_trash');
    }
}
 /**
  * Prepare the table with different parameters, pagination, columns and table elements
  */
 public function prepare_items()
 {
     $cron_items = BD_Util::get_cron_schedules();
     $totalitems = count($cron_items);
     //How many to display per page?
     $perpage = 50;
     //How many pages do we have in total?
     $totalpages = ceil($totalitems / $perpage);
     /* -- Register the pagination -- */
     $this->set_pagination_args(array('total_items' => $totalitems, 'total_pages' => $totalpages, 'per_page' => $perpage));
     //The pagination links are automatically built according to those parameters
     /* — Register the Columns — */
     $columns = $this->get_columns();
     $hidden = array();
     $sortable = $this->get_sortable_columns();
     $this->_column_headers = array($columns, $hidden, $sortable);
     $this->items = $cron_items;
 }
 /**
  * Process delete cron job request.
  * This should ideally go in a separate class. But I was
  * lazy to create a separate class for a single function
  *
  * @since 5.0
  * @static
  */
 public static function do_delete_cron()
 {
     if (check_admin_referer('sm-bulk-delete-cron', 'sm-bulk-delete-cron-nonce')) {
         $cron_id = absint($_GET['cron_id']);
         $cron_items = BD_Util::get_cron_schedules();
         wp_unschedule_event($cron_items[$cron_id]['timestamp'], $cron_items[$cron_id]['type'], $cron_items[$cron_id]['args']);
         $msg = __('The selected scheduled job was successfully deleted ', 'bulk-delete');
         add_settings_error(Bulk_Delete::CRON_PAGE_SLUG, 'deleted-cron', $msg, 'updated');
     }
 }
    /**
     * Render delete pages by page status box
     *
     * @access public
     * @static
     * @since  5.0
     */
    public static function render_delete_pages_by_status_box()
    {
        if (BD_Util::is_pages_box_hidden(Bulk_Delete::BOX_PAGE_STATUS)) {
            printf(__('This section just got enabled. Kindly <a href = "%1$s">refresh</a> the page to fully enable it.', 'bulk-delete'), 'admin.php?page=' . Bulk_Delete::PAGES_PAGE_SLUG);
            return;
        }
        $pages_count = wp_count_posts('page');
        $pages = $pages_count->publish;
        $page_drafts = $pages_count->draft;
        $page_future = $pages_count->future;
        $page_pending = $pages_count->pending;
        $page_private = $pages_count->private;
        ?>
        <!-- Pages start-->
        <h4><?php 
        _e('Select the pages which you want to delete', 'bulk-delete');
        ?>
</h4>

        <fieldset class="options">
        <table class="optiontable">
            <tr>
                <td>
                    <input name="smbd_published_pages" value="published_pages" type="checkbox">
                    <label for="smbd_published_pages"><?php 
        _e('All Published Pages', 'bulk-delete');
        ?>
 (<?php 
        echo $pages . ' ';
        _e('Pages', 'bulk-delete');
        ?>
)</label>
                </td>
            </tr>

            <tr>
                <td>
                    <input name="smbd_draft_pages" value="draft_pages" type="checkbox">
                    <label for="smbd_draft_pages"><?php 
        _e('All Draft Pages', 'bulk-delete');
        ?>
 (<?php 
        echo $page_drafts . ' ';
        _e('Pages', 'bulk-delete');
        ?>
)</label>
                </td>
            </tr>

            <tr>
                <td>
                    <input name="smbd_future_pages" value="scheduled_pages" type="checkbox">
                    <label for="smbd_future_pages"><?php 
        _e('All Scheduled Pages', 'bulk-delete');
        ?>
 (<?php 
        echo $page_future . ' ';
        _e('Pages', 'bulk-delete');
        ?>
)</label>
                </td>
            </tr>

            <tr>
                <td>
                    <input name="smbd_pending_pages" value="pending_pages" type="checkbox">
                    <label for="smbd_pending_pages"><?php 
        _e('All Pending Pages', 'bulk-delete');
        ?>
 (<?php 
        echo $page_pending . ' ';
        _e('Pages', 'bulk-delete');
        ?>
)</label>
                </td>
            </tr>

            <tr>
                <td>
                    <input name="smbd_private_pages" value="private_pages" type="checkbox">
                    <label for="smbd_private_pages"><?php 
        _e('All Private Pages', 'bulk-delete');
        ?>
 (<?php 
        echo $page_private . ' ';
        _e('Pages', 'bulk-delete');
        ?>
)</label>
                </td>
            </tr>
		</table>

        <table class="optiontable">
<?php 
        bd_render_filtering_table_header();
        bd_render_restrict_settings('pages', 'pages');
        bd_render_delete_settings('pages');
        bd_render_limit_settings('pages');
        bd_render_cron_settings('pages', 'http://bulkwp.com/addons/scheduler-for-deleting-pages-by-status/?utm_source=wpadmin&utm_campaign=BulkDelete&utm_medium=buynow&utm_content=bd-sp');
        ?>
        </table>
        </fieldset>
<?php 
        bd_render_submit_button('delete_pages_by_status');
    }