public static function setup_edit_vars($values, $record)
 {
     $values['item_key'] = FrmAppHelper::get_post_param('item_key', $record->item_key, 'sanitize_title');
     $values['form_id'] = $record->form_id;
     $values['is_draft'] = $record->is_draft;
     return apply_filters('frm_setup_edit_entry_vars', $values, $record);
 }
 public static function setup_edit_vars($post, $check_post = true)
 {
     if (!$post) {
         return false;
     }
     $values = (object) $post;
     $defaults = self::get_default_opts();
     foreach (array('form_id', 'entry_id', 'post_id', 'dyncontent', 'param', 'type', 'show_count', 'insert_loc') as $var) {
         $values->{'frm_' . $var} = get_post_meta($post->ID, 'frm_' . $var, true);
         if ($check_post) {
             $values->{'frm_' . $var} = FrmAppHelper::get_param($var, $values->{'frm_' . $var});
         }
     }
     $options = get_post_meta($post->ID, 'frm_options', true);
     foreach ($defaults as $var => $default) {
         if (!isset($values->{'frm_' . $var})) {
             $values->{'frm_' . $var} = isset($options[$var]) ? $options[$var] : $default;
             if ($check_post) {
                 $values->{'frm_' . $var} = FrmAppHelper::get_post_param('options[' . $var . ']', $values->{'frm_' . $var});
             }
         } else {
             if ($var == 'param' && empty($values->{'frm_' . $var})) {
                 $values->{'frm_' . $var} = $default;
             }
         }
     }
     $values->frm_form_id = (int) $values->frm_form_id;
     $values->frm_order_by = empty($values->frm_order_by) ? array() : (array) $values->frm_order_by;
     $values->frm_order = empty($values->frm_order) ? array() : (array) $values->frm_order;
     return $values;
 }
 public static function process_form($stop_load = false)
 {
     global $frm_vars;
     $frm_settings = FrmAppHelper::get_settings();
     $process_form = FrmAppHelper::get_post_param('process_form', '', 'sanitize_text_field');
     if (!wp_verify_nonce($process_form, 'process_form_nonce')) {
         wp_die($frm_settings->admin_permission);
     }
     $errors = array();
     $message = '';
     if (!isset($frm_vars['settings_routed']) || !$frm_vars['settings_routed']) {
         //$errors = $frm_settings->validate($_POST,array());
         $frm_settings->update(stripslashes_deep($_POST));
         if (empty($errors)) {
             $frm_settings->store();
             $message = __('Settings Saved', 'formidable');
         }
     } else {
         $message = __('Settings Saved', 'formidable');
     }
     if ($stop_load == 'stop_load') {
         $frm_vars['settings_routed'] = true;
         return;
     }
     self::display_form($errors, $message);
 }
 function setup_edit_vars($record)
 {
     if (!$record) {
         return false;
     }
     $values = array();
     $values['id'] = $record->id;
     foreach (array('name', 'description', 'display_key', 'form_id', 'entry_id', 'post_id', 'content', 'dyncontent', 'param', 'type', 'show_count', 'insert_loc') as $var) {
         $values[$var] = stripslashes(FrmAppHelper::get_param($var, $record->{$var}));
     }
     $options = maybe_unserialize($record->options);
     foreach (FrmProDisplaysHelper::get_default_opts() as $var => $default) {
         if (!isset($values[$var])) {
             $values[$var] = stripslashes_deep(FrmAppHelper::get_post_param('options[' . $var . ']', isset($options[$var]) ? $options[$var] : $default));
         }
     }
     return $values;
 }
 public static function export_xml()
 {
     $error = FrmAppHelper::permission_nonce_error('frm_edit_forms', 'export-xml', 'export-xml-nonce');
     if (!empty($error)) {
         wp_die($error);
     }
     $ids = FrmAppHelper::get_post_param('frm_export_forms', array());
     $type = FrmAppHelper::get_post_param('type', array());
     $format = FrmAppHelper::get_post_param('format', 'xml', 'sanitize_title');
     if (!headers_sent() && !$type) {
         wp_redirect(esc_url_raw(admin_url('admin.php?page=formidable-import')));
         die;
     }
     if ($format == 'xml') {
         self::generate_xml($type, compact('ids'));
     } else {
         do_action('frm_export_format_' . $format, compact('ids'));
     }
     wp_die();
 }
 public static function get_csv_format()
 {
     $frmpro_settings = new FrmProSettings();
     self::$to_encoding = FrmAppHelper::get_post_param('csv_format', $frmpro_settings->csv_format, 'sanitize_text_field');
 }
 public static function process_entry($errors = '', $ajax = false)
 {
     $form_id = FrmAppHelper::get_post_param('form_id', '', 'absint');
     if (FrmAppHelper::is_admin() || empty($_POST) || empty($form_id) || !isset($_POST['item_key'])) {
         return;
     }
     global $frm_vars;
     $form = FrmForm::getOne($form_id);
     if (!$form) {
         return;
     }
     $params = FrmForm::get_params($form);
     if (!isset($frm_vars['form_params'])) {
         $frm_vars['form_params'] = array();
     }
     $frm_vars['form_params'][$form->id] = $params;
     if (isset($frm_vars['created_entries'][$form_id])) {
         return;
     }
     if ($errors == '') {
         $errors = FrmEntryValidate::validate($_POST);
     }
     /**
      * Use this filter to add trigger actions and add errors after
      * all other errors have been processed
      * @since 2.0.6
      */
     $errors = apply_filters('frm_entries_before_create', $errors, $form);
     $frm_vars['created_entries'][$form_id] = array('errors' => $errors);
     if (empty($errors)) {
         $_POST['frm_skip_cookie'] = 1;
         if ($params['action'] == 'create') {
             if (apply_filters('frm_continue_to_create', true, $form_id) && !isset($frm_vars['created_entries'][$form_id]['entry_id'])) {
                 $frm_vars['created_entries'][$form_id]['entry_id'] = FrmEntry::create($_POST);
             }
         }
         do_action('frm_process_entry', $params, $errors, $form, array('ajax' => $ajax));
         unset($_POST['frm_skip_cookie']);
     }
 }
Exemple #8
0
_container">
	<div class="frm_error_style"><strong><?php 
    _e('Oops!', 'formidable');
    ?>
</strong> <?php 
    printf(__('You did not add any fields to your form. %1$sGo back%2$s and add some.', 'formidable'), '<a href="' . esc_url(admin_url('?page=formidable&frm_action=edit&id=' . $form->id)) . '">', '</a>');
    ?>
    </div>
</div>
<?php 
    return;
}
global $frm_vars;
FrmFormsController::maybe_load_css($form, $values['custom_style'], $frm_vars['load_css']);
// Get conditionally hidden fields
$frm_hide_fields = FrmAppHelper::get_post_param('frm_hide_fields_' . $form->id, '', 'sanitize_text_field');
// Get helpers
$frm_helpers = apply_filters('frm_get_parent_child_field_helpers', '', $values['fields'], $form->id);
?>
<div class="frm_form_fields <?php 
echo esc_attr(apply_filters('frm_form_fields_class', '', $values));
?>
">
<fieldset>
<?php 
echo FrmFormsHelper::replace_shortcodes($values['before_html'], $form, $title, $description);
?>
<input type="hidden" name="frm_action" value="<?php 
echo esc_attr($form_action);
?>
" />
 private static function get_entry_by_param(&$entry)
 {
     if (!$entry || !is_object($entry)) {
         if (!$entry || !is_numeric($entry)) {
             $entry = FrmAppHelper::get_post_param('id', false, 'sanitize_title');
         }
         FrmEntry::maybe_get_entry($entry);
     }
 }
 /**
  * check if this entry is currently being saved as a draft
  */
 public static function &saving_draft()
 {
     $saving_draft = FrmAppHelper::get_post_param('frm_saving_draft', '', 'sanitize_title');
     $saving = $saving_draft == '1' && is_user_logged_in();
     return $saving;
 }
 function setup_new_vars($fields, $form = '', $reset = false)
 {
     global $frm_form, $frm_settings, $frm_sidebar_width;
     $values = array();
     foreach (array('name' => '', 'description' => '', 'item_key' => '') as $var => $default) {
         $values[$var] = stripslashes(FrmAppHelper::get_post_param($var, $default));
     }
     $values['fields'] = array();
     if ($fields) {
         foreach ($fields as $field) {
             $field->field_options = maybe_unserialize($field->field_options);
             $default = $field->default_value;
             if ($reset) {
                 $new_value = $default;
             } else {
                 $new_value = ($_POST and isset($_POST['item_meta'][$field->id]) and $_POST['item_meta'][$field->id] != '') ? $_POST['item_meta'][$field->id] : $default;
             }
             $is_default = $new_value == $default ? true : false;
             $new_value = stripslashes_deep(maybe_unserialize($new_value));
             if (!is_array($new_value)) {
                 $new_value = apply_filters('frm_get_default_value', $new_value, $field);
             }
             $new_value = str_replace('"', '&quot;', $new_value);
             if ($is_default) {
                 $field->default_value = $new_value;
             } else {
                 $field->default_value = apply_filters('frm_get_default_value', $field->default_value, $field);
             }
             $field_array = array('id' => $field->id, 'value' => $new_value, 'default_value' => maybe_unserialize($field->default_value), 'name' => stripslashes($field->name), 'description' => stripslashes($field->description), 'type' => apply_filters('frm_field_type', $field->type, $field, $new_value), 'options' => stripslashes_deep(maybe_unserialize($field->options)), 'required' => $field->required, 'field_key' => $field->field_key, 'field_order' => $field->field_order, 'form_id' => $field->form_id);
             /*if(in_array($field_array['type'], array('checkbox', 'radio', 'select')) and !empty($field_array['options'])){
                   foreach((array)$field_array['options'] as $opt_key => $opt){
                       if(!is_array($opt))
                           $field_array['options'][$opt_key] = array('label' => $opt);
                       unset($opt);
                       unset($opt_key);
                   }
               } */
             $opt_defaults = FrmFieldsHelper::get_default_field_opts($field_array['type'], $field, true);
             $opt_defaults['required_indicator'] = '';
             foreach ($opt_defaults as $opt => $default_opt) {
                 $field_array[$opt] = isset($field->field_options[$opt]) && $field->field_options[$opt] != '' ? $field->field_options[$opt] : $default_opt;
                 unset($opt);
                 unset($default_opt);
             }
             unset($opt_defaults);
             if ($field_array['size'] == '') {
                 $field_array['size'] = $frm_sidebar_width;
             }
             if ($field_array['custom_html'] == '') {
                 $field_array['custom_html'] = FrmFieldsHelper::get_default_html($field->type);
             }
             $values['fields'][] = apply_filters('frm_setup_new_fields_vars', stripslashes_deep($field_array), $field);
             if (!$form or !isset($form->id)) {
                 $form = $frm_form->getOne($field->form_id);
             }
         }
         $form->options = maybe_unserialize($form->options);
         if (is_array($form->options)) {
             foreach ($form->options as $opt => $value) {
                 $values[$opt] = FrmAppHelper::get_post_param($opt, $value);
             }
         }
         if (!isset($values['custom_style'])) {
             $values['custom_style'] = $frm_settings->load_style != 'none';
         }
         if (!isset($values['email_to'])) {
             $values['email_to'] = '';
         }
         if (!isset($values['submit_value'])) {
             $values['submit_value'] = $frm_settings->submit_value;
         }
         if (!isset($values['success_msg'])) {
             $values['success_msg'] = $frm_settings->success_msg;
         }
         if (!isset($values['akismet'])) {
             $values['akismet'] = '';
         }
         if (!isset($values['before_html'])) {
             $values['before_html'] = FrmFormsHelper::get_default_html('before');
         }
         if (!isset($values['after_html'])) {
             $values['after_html'] = FrmFormsHelper::get_default_html('after');
         }
     }
     return $values;
 }
 public static function get_csv_format()
 {
     $csv_format = FrmAppHelper::get_post_param('csv_format', 'UTF-8', 'sanitize_text_field');
     $csv_format = apply_filters('frm_csv_format', $csv_format);
     self::$to_encoding = $csv_format;
 }
 public static function ajax_create()
 {
     if (!FrmAppHelper::doing_ajax() || !isset($_POST['form_id'])) {
         // normally, this function would be triggered with the wp_ajax hook, but we need it fired sooner
         return;
     }
     $allowed_actions = array('frm_entries_create', 'frm_entries_update');
     if (!in_array(FrmAppHelper::get_post_param('action', '', 'sanitize_title'), $allowed_actions)) {
         // allow ajax creating and updating
         return;
     }
     $form = FrmForm::getOne((int) $_POST['form_id']);
     if (!$form) {
         echo false;
         wp_die();
     }
     $no_ajax_fields = array('file');
     $errors = FrmEntryValidate::validate($_POST, $no_ajax_fields);
     if (empty($errors)) {
         if (FrmProForm::is_ajax_on($form)) {
             global $frm_vars;
             $frm_vars['ajax'] = true;
             $frm_vars['css_loaded'] = true;
             // don't load scripts if we are going backwards in the form
             $going_backwards = FrmProFormsHelper::going_to_prev($form->id);
             // save the entry if there is not another page or when saving a draft
             if (!isset($_POST['frm_page_order_' . $form->id]) && !$going_backwards || FrmProFormsHelper::saving_draft()) {
                 $processed = true;
                 FrmEntriesController::process_entry($errors, true);
             }
             echo FrmFormsController::show_form($form->id);
             // trigger the footer scripts if there is a form to show
             if ($errors || !isset($processed) || !empty($frm_vars['forms_loaded'])) {
                 self::print_ajax_scripts($going_backwards ? 'none' : '');
             }
         } else {
             echo false;
         }
     } else {
         $obj = array();
         foreach ($errors as $field => $error) {
             $field_id = str_replace('field', '', $field);
             $obj[$field_id] = $error;
         }
         echo json_encode($obj);
     }
     wp_die();
 }
 /**
  * @covers FrmAppHelper::get_post_param
  * @covers FrmAppHelper::get_simple_request
  */
 function test_get_post_param()
 {
     $set_value = '<script></script>test';
     $expected_value = 'test';
     $_POST['test3'] = $set_value;
     $result = FrmAppHelper::get_post_param('test3', '', 'sanitize_text_field');
     $this->assertEquals($result, $expected_value);
 }
 public static function setup_new_vars($fields, $form = '', $reset = false)
 {
     global $frm_settings, $frm_vars;
     $values = array();
     foreach (array('name' => '', 'description' => '', 'item_key' => '') as $var => $default) {
         $values[$var] = FrmAppHelper::get_post_param($var, $default);
     }
     $values['fields'] = array();
     if (empty($fields)) {
         return apply_filters('frm_setup_new_entry', $values);
     }
     foreach ((array) $fields as $field) {
         $field->field_options = maybe_unserialize($field->field_options);
         $default = $field->default_value;
         $posted_val = false;
         if ($reset) {
             $new_value = $default;
         } else {
             if ($_POST && isset($_POST['item_meta'][$field->id]) && $_POST['item_meta'][$field->id] != '') {
                 $new_value = stripslashes_deep($_POST['item_meta'][$field->id]);
                 $posted_val = true;
             } else {
                 if (isset($field->field_options['clear_on_focus']) && $field->field_options['clear_on_focus']) {
                     $new_value = '';
                 } else {
                     $new_value = $default;
                 }
             }
         }
         $is_default = $new_value == $default ? true : false;
         //If checkbox, multi-select dropdown, or checkbox data from entries field, set return array to true
         if ($field && ($field->type == 'data' && $field->field_options['data_type'] == 'checkbox' || $field->type == 'checkbox' || $field->type == 'select' && isset($field->field_options['multiple']) && $field->field_options['multiple'] == 1)) {
             $return_array = true;
         } else {
             $return_array = false;
         }
         $field->default_value = apply_filters('frm_get_default_value', $field->default_value, $field, true, $return_array);
         if (!is_array($new_value)) {
             if ($is_default) {
                 $new_value = $field->default_value;
             } else {
                 if (!$posted_val) {
                     $new_value = apply_filters('frm_filter_default_value', $new_value, $field);
                 }
             }
             $new_value = str_replace('"', '&quot;', $new_value);
         }
         unset($is_default);
         unset($posted_val);
         $field_array = array('id' => $field->id, 'value' => $new_value, 'default_value' => $field->default_value, 'name' => $field->name, 'description' => $field->description, 'type' => apply_filters('frm_field_type', $field->type, $field, $new_value), 'options' => $field->options, 'required' => $field->required, 'field_key' => $field->field_key, 'field_order' => $field->field_order, 'form_id' => $field->form_id);
         $opt_defaults = FrmFieldsHelper::get_default_field_opts($field_array['type'], $field, true);
         $opt_defaults['required_indicator'] = '';
         foreach ($opt_defaults as $opt => $default_opt) {
             $field_array[$opt] = isset($field->field_options[$opt]) && $field->field_options[$opt] != '' ? $field->field_options[$opt] : $default_opt;
             unset($opt);
             unset($default_opt);
         }
         unset($opt_defaults);
         if ($field_array['size'] == '') {
             $field_array['size'] = isset($frm_vars['sidebar_width']) ? $frm_vars['sidebar_width'] : '';
         }
         if ($field_array['custom_html'] == '') {
             $field_array['custom_html'] = FrmFieldsHelper::get_default_html($field->type);
         }
         $field_array = apply_filters('frm_setup_new_fields_vars', $field_array, $field);
         foreach ((array) $field->field_options as $k => $v) {
             if (!isset($field_array[$k])) {
                 $field_array[$k] = $v;
             }
             unset($k);
             unset($v);
         }
         $values['fields'][] = $field_array;
         if (!$form or !isset($form->id)) {
             $frm_form = new FrmForm();
             $form = $frm_form->getOne($field->form_id);
         }
     }
     $form->options = maybe_unserialize($form->options);
     if (is_array($form->options)) {
         foreach ($form->options as $opt => $value) {
             $values[$opt] = FrmAppHelper::get_post_param($opt, $value);
         }
     }
     if (!isset($values['custom_style'])) {
         $values['custom_style'] = $frm_settings->load_style != 'none';
     }
     if (!isset($values['email_to'])) {
         $values['email_to'] = '';
     }
     if (!isset($values['submit_value'])) {
         $values['submit_value'] = $frm_settings->submit_value;
     }
     if (!isset($values['success_msg'])) {
         $values['success_msg'] = $frm_settings->success_msg;
     }
     if (!isset($values['akismet'])) {
         $values['akismet'] = '';
     }
     if (!isset($values['before_html'])) {
         $values['before_html'] = FrmFormsHelper::get_default_html('before');
     }
     if (!isset($values['after_html'])) {
         $values['after_html'] = FrmFormsHelper::get_default_html('after');
     }
     if (!isset($values['submit_html'])) {
         $values['submit_html'] = FrmFormsHelper::get_default_html('submit');
     }
     return apply_filters('frm_setup_new_entry', $values);
 }
Exemple #16
0
        ?>
</div>
<?php 
    }
    $field['html_id'] = $html_id;
    FrmProFieldsHelper::insert_hidden_fields($field, $field_name, $field['value']);
} else {
    if ($field['type'] == 'user_id') {
        $user_ID = get_current_user_id();
        $value = is_numeric($field['value']) || FrmAppHelper::is_admin() && $_POST && isset($_POST['item_meta'][$field['id']]) || isset($args['action']) && $args['action'] == 'update' ? $field['value'] : ($user_ID ? $user_ID : '');
        echo '<input type="hidden" id="' . esc_attr($html_id) . '" name="' . esc_attr($field_name) . '" value="' . esc_attr($value) . '"/>' . "\n";
        unset($value);
    } else {
        if ($field['type'] == 'break') {
            global $frm_vars;
            $post_form_id = FrmAppHelper::get_post_param('form_id', 0, 'absint');
            if (isset($frm_vars['prev_page'][$field['form_id']]) && $frm_vars['prev_page'][$field['form_id']] == $field['field_order']) {
                echo FrmFieldsHelper::replace_shortcodes($field['custom_html'], $field, array(), $form);
                ?>
<input type="hidden" name="frm_next_page" class="frm_next_page" id="frm_next_p_<?php 
                echo isset($frm_vars['prev_page'][$field['form_id']]) ? $frm_vars['prev_page'][$field['form_id']] : 0;
                ?>
" value="" />
<?php 
                if ($field['form_id'] == $post_form_id && !defined('DOING_AJAX')) {
                    $frm_vars['scrolled'] = true;
                    //scroll to the form when we move to the next page
                    FrmFormsHelper::get_scroll_js($field['form_id']);
                }
            } else {
                ?>
 public static function _logic_row()
 {
     check_ajax_referer('frm_ajax', 'nonce');
     FrmAppHelper::permission_check('frm_edit_forms', 'show');
     $meta_name = FrmAppHelper::get_post_param('meta_name', '', 'absint');
     $field_id = FrmAppHelper::get_post_param('field_id', '', 'absint');
     $form_id = FrmAppHelper::get_post_param('form_id', '', 'absint');
     $hide_field = '';
     $field = FrmField::getOne($field_id);
     $field = FrmFieldsHelper::setup_edit_vars($field);
     $form_fields = FrmField::get_all_for_form($form_id);
     if (!isset($field['hide_field_cond'][$meta_name])) {
         $field['hide_field_cond'][$meta_name] = '==';
     }
     include FrmAppHelper::plugin_path() . '/pro/classes/views/frmpro-fields/_logic_row.php';
     wp_die();
 }
Exemple #18
0
 private static function populate_post_author(&$post)
 {
     $new_author = FrmAppHelper::get_post_param('frm_user_id', 0, 'absint');
     if (!isset($post['post_author']) && $new_author) {
         $post['post_author'] = $new_author;
     }
 }
 public static function save_css()
 {
     $frm_style = new FrmStyle();
     $message = '';
     $post_id = FrmAppHelper::get_post_param('ID', false, 'sanitize_text_field');
     $nonce = FrmAppHelper::get_post_param('frm_custom_css', '', 'sanitize_text_field');
     if (wp_verify_nonce($nonce, 'frm_custom_css_nonce')) {
         $frm_style->update($post_id);
         $message = __('Your styling settings have been saved.', 'formidable');
     }
     return self::custom_css($message);
 }
 public static function posted_field_ids($where)
 {
     $form_id = FrmAppHelper::get_post_param('form_id', 0, 'absint');
     if ($form_id && FrmProFormsHelper::has_another_page($form_id)) {
         $where['fi.field_order <'] = FrmAppHelper::get_post_param('frm_page_order_' . $form_id, 0, 'absint');
     }
     return $where;
 }
 public static function update_order()
 {
     check_ajax_referer('frm_ajax', 'nonce');
     $fields = FrmAppHelper::get_post_param('frm_field_id');
     foreach ((array) $fields as $position => $item) {
         FrmField::update(absint($item), array('field_order' => absint($position)));
     }
     wp_die();
 }
 public static function get_csv_format()
 {
     self::$to_encoding = FrmAppHelper::get_post_param('csv_format', 'UTF-8', 'sanitize_text_field');
 }