Exemple #1
0
 function prepare_items()
 {
     global $wpdb, $per_page, $frm_settings;
     $paged = $this->get_pagenum();
     $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();
     $default_count = empty($this->page_name) ? 20 : 10;
     $per_page = $this->get_items_per_page('formidable_page_formidable' . str_replace('-', '_', $this->page_name) . '_per_page', $default_count);
     $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 = " (status is NULL OR status = '' OR status = 'published') AND default_template=0 AND is_template = " . (int) $this->params['template'];
     if ($s != '') {
         foreach ((array) $search_terms as $term) {
             if (!empty($s_query)) {
                 $s_query .= " AND";
             }
             $term = FrmAppHelper::esc_like($term);
             $s_query .= $wpdb->prepare(" (name like %s OR description like %s OR created_at like %s)", '%' . $term . '%', '%' . $term . '%', '%' . $term . '%');
             unset($term);
         }
     }
     $frm_form = new FrmForm();
     $this->items = $frm_form->getAll($s_query, " ORDER BY {$orderby} {$order}", " LIMIT {$start}, {$per_page}", true, false);
     $total_items = FrmAppHelper::getRecordCount($s_query, $this->table_name);
     $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page));
 }
 public static function get_default_field_opts($type, $field, $limit = false)
 {
     $field_options = array('size' => '', 'max' => '', 'label' => '', 'blank' => '', 'required_indicator' => '*', 'invalid' => '', 'separate_value' => 0, 'clear_on_focus' => 0, 'default_blank' => 0, 'classes' => '', 'custom_html' => '');
     if ($limit) {
         return $field_options;
     }
     global $wpdb, $frm_settings;
     $form_id = is_numeric($field) ? $field : $field->form_id;
     $key = is_numeric($field) ? FrmAppHelper::get_unique_key('', $wpdb->prefix . 'frm_fields', 'field_key') : $field->field_key;
     $field_count = FrmAppHelper::getRecordCount(array('form_id' => $form_id), $wpdb->prefix . 'frm_fields');
     return array('name' => __('Untitled', 'formidable'), 'description' => '', 'field_key' => $key, 'type' => $type, 'options' => '', 'default_value' => '', 'field_order' => $field_count + 1, 'required' => false, 'blank' => $frm_settings->blank_msg, 'unique_msg' => $frm_settings->unique_msg, 'invalid' => __('This field is invalid', 'formidable'), 'form_id' => $form_id, 'field_options' => $field_options);
 }
 public static function duplicate()
 {
     global $wpdb;
     $frm_field = new FrmField();
     $copy_field = $frm_field->getOne($_POST['field_id']);
     if (!$copy_field) {
         return;
     }
     $values = array();
     $values['field_key'] = FrmAppHelper::get_unique_key('', $wpdb->prefix . 'frm_fields', 'field_key');
     $values['options'] = maybe_serialize($copy_field->options);
     $values['default_value'] = maybe_serialize($copy_field->default_value);
     $values['form_id'] = $copy_field->form_id;
     foreach (array('name', 'description', 'type', 'field_options', 'required') as $col) {
         $values[$col] = $copy_field->{$col};
     }
     $field_count = FrmAppHelper::getRecordCount(array('form_id' => $copy_field->form_id), $wpdb->prefix . 'frm_fields');
     $values['field_order'] = $field_count + 1;
     $field_id = $frm_field->create($values);
     if ($field_id) {
         $field = FrmFieldsHelper::setup_edit_vars($frm_field->getOne($field_id));
         $field_name = "item_meta[{$field_id}]";
         $id = $field['form_id'];
         if ($field['type'] == 'html') {
             $field['stop_filter'] = true;
         }
         require FrmAppHelper::plugin_path() . '/classes/views/frm-forms/add_field.php';
     }
     die;
 }