/**
  * Get available batches and display them to the user.
  */
 public function list_batches()
 {
     $order_by = 'post_modified';
     $order = 'desc';
     $per_page = 50;
     $paged = 1;
     if (isset($_GET['orderby'])) {
         $order_by = $_GET['orderby'];
     }
     if (isset($_GET['order'])) {
         $order = $_GET['order'];
     }
     if (isset($_GET['per_page'])) {
         $per_page = $_GET['per_page'];
     }
     if (isset($_GET['paged'])) {
         $paged = $_GET['paged'];
     }
     $status = apply_filters('sme_batch_list_statuses', array('publish'));
     $count = $this->batch_dao->count($status);
     $batches = $this->batch_dao->get_batches($status, $order_by, $order, $per_page, $paged);
     // Prepare table of batches.
     $table = new Batch_Table();
     $table->items = $batches;
     $table->set_bulk_actions(array('sme_delete_batches' => 'Delete'));
     $table->set_pagination_args(array('total_items' => $count, 'per_page' => $per_page));
     $table->prepare_items();
     $data = array('table' => $table);
     $this->template->render('list-batches', $data);
 }
 public function init()
 {
     $order_by = 'post_modified';
     $order = 'desc';
     $per_page = 10;
     $paged = 1;
     $status = array('draft');
     $posts = array();
     if (isset($_GET['orderby'])) {
         $order_by = $_GET['orderby'];
     }
     if (isset($_GET['order'])) {
         $order = $_GET['order'];
     }
     if (isset($_GET['per_page'])) {
         $per_page = $_GET['per_page'];
     }
     if (isset($_GET['paged'])) {
         $paged = $_GET['paged'];
     }
     $count = $this->batch_dao->count($status);
     $batches = $this->batch_dao->get_batches($status, $order_by, $order, $per_page, $paged);
     foreach ($batches as $batch) {
         // Get IDs of posts user selected to include in this batch.
         $post_ids = $this->batch_dao->get_post_meta($batch->get_id(), 'sme_selected_post');
         if (!is_array($post_ids)) {
             $post_ids = array();
         }
         $posts = $this->post_dao->find_by_ids($post_ids);
         $batch->set_posts($posts);
     }
     // Prepare table of batches.
     $table = new Batch_History_Table();
     $table->items = $batches;
     $table->set_pagination_args(array('total_items' => $count, 'per_page' => $per_page));
     $table->prepare_items();
     $data = array('table' => $table);
     $this->template->render('batch-history', $data);
 }