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)); }