public function prepare_items() { global $wpdb, $per_page, $mode; $mode = empty($_REQUEST['mode']) ? 'list' : $_REQUEST['mode']; $default_orderby = 'name'; $default_order = 'ASC'; $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_per_page'); $start = isset($_REQUEST['start']) ? $_REQUEST['start'] : ($page - 1) * $per_page; $s_query = array(); $s_query[] = array('or' => 1, 'parent_form_id' => null, 'parent_form_id <' => 1); switch ($this->status) { case 'template': $s_query['is_template'] = 1; $s_query['status !'] = 'trash'; break; case 'draft': $s_query['is_template'] = 0; $s_query['status'] = 'draft'; break; case 'trash': $s_query['status'] = 'trash'; break; default: $s_query['is_template'] = 0; $s_query['status !'] = 'trash'; break; } $s = isset($_REQUEST['s']) ? stripslashes($_REQUEST['s']) : ''; if ($s != '') { preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches); $search_terms = array_map('trim', $matches[0]); foreach ((array) $search_terms as $term) { $s_query[] = array('or' => true, 'name LIKE' => $term, 'description LIKE' => $term, 'created_at LIKE' => $term); unset($term); } } $this->items = FrmForm::getAll($s_query, $orderby . ' ' . $order, $start . ',' . $per_page); $total_items = FrmDb::get_count('frm_forms', $s_query); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); }
public static function generate_csv($atts) { global $frm_vars; $frm_vars['prevent_caching'] = true; self::$fields = $atts['form_cols']; self::$form_id = $atts['form']->id; self::set_class_paramters(); $filename = apply_filters('frm_csv_filename', date('ymdHis', time()) . '_' . sanitize_title_with_dashes($atts['form']->name) . '_formidable_entries.csv', $atts['form']); unset($atts['form'], $atts['form_cols']); self::print_file_headers($filename); unset($filename); $comment_count = FrmDb::get_count('frm_item_metas', array('item_id' => $atts['entry_ids'], 'field_id' => 0, 'meta_value like' => '{'), array('group_by' => 'item_id', 'order_by' => 'count(*) DESC', 'limit' => 1)); self::$comment_count = $comment_count; self::prepare_csv_headings(); // fetch 20 posts at a time rather than loading the entire table into memory while ($next_set = array_splice($atts['entry_ids'], 0, 20)) { self::prepare_next_csv_rows($next_set); } }
/** * @param string $table_name */ public static function &getRecordCount($where = '', $table_name) { _deprecated_function(__FUNCTION__, '2.0', 'FrmDb::get_count'); $count = FrmDb::get_count($table_name, $where); return $count; }
public static function duplicate() { check_ajax_referer('frm_ajax', 'nonce'); global $wpdb; $field_id = FrmAppHelper::get_post_param('field_id', 0, 'absint'); $form_id = FrmAppHelper::get_post_param('form_id', 0, 'absint'); $copy_field = FrmField::getOne($field_id); if (!$copy_field) { wp_die(); } do_action('frm_duplicate_field', $copy_field, $form_id); do_action('frm_duplicate_field_' . $copy_field->type, $copy_field, $form_id); $values = array('id' => $form_id); FrmFieldsHelper::fill_field($values, $copy_field, $form_id); $field_count = FrmDb::get_count($wpdb->prefix . 'frm_fields fi LEFT JOIN ' . $wpdb->prefix . 'frm_forms fr ON (fi.form_id = fr.id)', array('or' => 1, 'fr.id' => $form_id, 'fr.parent_form_id' => $form_id)); $values['field_order'] = $field_count + 1; if (!($field_id = FrmField::create($values))) { wp_die(); } self::include_single_field($field_id, $values); wp_die(); }
public static function getRecordCount($where = '') { global $wpdb; $table_join = $wpdb->prefix . 'frm_items it LEFT OUTER JOIN ' . $wpdb->prefix . 'frm_forms fr ON it.form_id=fr.id'; if (is_numeric($where)) { $table_join = 'frm_items'; $where = array('form_id' => $where); } if (is_array($where)) { $count = FrmDb::get_count($table_join, $where); } else { global $wpdb; $cache_key = 'count_' . maybe_serialize($where); $query = 'SELECT COUNT(*) FROM ' . $table_join . FrmAppHelper::prepend_and_or_where(' WHERE ', $where); $count = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, 'get_var'); } return $count; }
public static function duplicate_section($section_field, $form_id) { check_ajax_referer('frm_ajax', 'nonce'); global $wpdb; if (isset($_POST['children'])) { $children = array_filter((array) $_POST['children'], 'is_numeric'); $fields = FrmField::getAll(array('fi.id' => $children), 'field_order'); } else { $fields = array(); } array_unshift($fields, $section_field); $field_count = FrmDb::get_count($wpdb->prefix . 'frm_fields fi LEFT JOIN ' . $wpdb->prefix . 'frm_forms fr ON (fi.form_id = fr.id)', array('or' => 1, 'fr.id' => $form_id, 'fr.parent_form_id' => $form_id)); $ended = false; if (isset($section_field->field_options['repeat']) && $section_field->field_options['repeat']) { // create the repeatable form $new_form_id = FrmProField::create_repeat_form(0, array('parent_form_id' => $form_id, 'field_name' => $section_field->name)); } else { $new_form_id = $form_id; } foreach ($fields as $field) { // keep the current form id or give it the id of the newly created form $this_form_id = $field->form_id == $form_id ? $form_id : $new_form_id; $values = array(); FrmFieldsHelper::fill_field($values, $field, $this_form_id); if (FrmField::is_repeating_field($field)) { $values['field_options']['form_select'] = $new_form_id; } $field_count++; $values['field_order'] = $field_count; $field_id = FrmField::create($values); if (!$field_id) { continue; } if ('end_divider' == $field->type) { $ended = true; } $values['id'] = $this_form_id; FrmFieldsController::include_single_field($field_id, $values); } if (!$ended) { //make sure the section is ended self::create_multiple_fields((array) $section_field, $form_id); } // Prevent the function in the free version from completing wp_die(); }