Example #1
0
 function prepare_items()
 {
     global $frmdb, $wpdb, $per_page, $frm_settings;
     $paged = $this->get_pagenum();
     $default_orderby = 'name';
     $default_order = 'ASC';
     if ($this->plural == 'entries') {
         $default_orderby = 'id';
         $default_order = 'DESC';
     }
     $orderby = isset($_REQUEST['orderby']) ? $_REQUEST['orderby'] : $default_orderby;
     $order = isset($_REQUEST['order']) ? $_REQUEST['order'] : $default_order;
     $page = $this->get_pagenum();
     $per_page = $this->get_items_per_page('formidable_page_formidable_' . str_replace('-', '_', $this->page_name) . '_per_page');
     $start = isset($_REQUEST['start']) ? $_REQUEST['start'] : ($page - 1) * $per_page;
     $s = isset($_REQUEST['s']) ? stripslashes($_REQUEST['s']) : '';
     $fid = isset($_REQUEST['fid']) ? $_REQUEST['fid'] : '';
     if ($s != '') {
         preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches);
         $search_terms = array_map('trim', $matches[0]);
     }
     $s_query = '';
     if ($this->plural == 'entries') {
         global $frm_entry;
         $form_id = $this->params['form'];
         $s_query = 'it.form_id=' . (int) $form_id;
         if ($s != '') {
             $s_query = FrmProEntriesController::get_search_str($s_query, $s, $form_id, $fid);
         }
         $this->items = $frm_entry->getAll($s_query, " ORDER BY {$orderby} {$order}", " LIMIT {$start}, {$per_page}", true, false);
         $total_items = $frm_entry->getRecordCount($s_query);
     }
     $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page));
 }