PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 1.07.11
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v1.07.11
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
formidable / classes / helpers / FrmEntriesHelper.php

FrmEntriesHelper.php in Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More 1.07.11, at classes/helpers/FrmEntriesHelper.php

209 lines 8.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if(!defined('ABSPATH')) die('You are not allowed to call this page directly.');
4
5 if(class_exists('FrmEntriesHelper'))
6 return;
7
8 class FrmEntriesHelper{
9
10 public static function setup_new_vars($fields, $form='', $reset=false){
11 global $frm_settings, $frm_vars;
12 $values = array();
13 foreach (array('name' => '', 'description' => '', 'item_key' => '') as $var => $default)
14 $values[$var] = FrmAppHelper::get_post_param($var, $default);
15
16 $values['fields'] = array();
17 if (empty($fields)){
18 return apply_filters('frm_setup_new_entry', $values);
19 }
20
21 foreach ( (array) $fields as $field ) {
22 $field->field_options = maybe_unserialize($field->field_options);
23 $default = $field->default_value;
24 $posted_val = false;
25
26 if ( $reset ) {
27 $new_value = $default;
28 } else if ( $_POST && isset($_POST['item_meta'][$field->id]) && $_POST['item_meta'][$field->id] != '' ) {
29 $new_value = stripslashes_deep($_POST['item_meta'][$field->id]);
30 $posted_val = true;
31 } else if ( isset($field->field_options['clear_on_focus']) && $field->field_options['clear_on_focus'] ) {
32 $new_value = '';
33 } else {
34 $new_value = $default;
35 }
36
37 $is_default = ($new_value == $default) ? true : false;
38
39 //If checkbox, multi-select dropdown, or checkbox data from entries field, set return array to true
40 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 ) ) ) {
41 $return_array = true;
42 } else {
43 $return_array = false;
44 }
45
46 $field->default_value = apply_filters('frm_get_default_value', $field->default_value, $field, true, $return_array);
47
48 if ( !is_array($new_value) ) {
49 if ( $is_default ) {
50 $new_value = $field->default_value;
51 } else if ( !$posted_val ) {
52 $new_value = apply_filters('frm_filter_default_value', $new_value, $field);
53 }
54
55 $new_value = str_replace('"', '&quot;', $new_value);
56 }
57
58 unset($is_default);
59 unset($posted_val);
60
61 $field_array = array(
62 'id' => $field->id,
63 'value' => $new_value,
64 'default_value' => $field->default_value,
65 'name' => $field->name,
66 'description' => $field->description,
67 'type' => apply_filters('frm_field_type', $field->type, $field, $new_value),
68 'options' => $field->options,
69 'required' => $field->required,
70 'field_key' => $field->field_key,
71 'field_order' => $field->field_order,
72 'form_id' => $field->form_id
73 );
74
75 $opt_defaults = FrmFieldsHelper::get_default_field_opts($field_array['type'], $field, true);
76 $opt_defaults['required_indicator'] = '';
77
78 foreach ($opt_defaults as $opt => $default_opt){
79 $field_array[$opt] = (isset($field->field_options[$opt]) && $field->field_options[$opt] != '') ? $field->field_options[$opt] : $default_opt;
80 unset($opt);
81 unset($default_opt);
82 }
83
84 unset($opt_defaults);
85
86 if ($field_array['size'] == '')
87 $field_array['size'] = isset($frm_vars['sidebar_width']) ? $frm_vars['sidebar_width'] : '';
88
89
90 if ($field_array['custom_html'] == '')
91 $field_array['custom_html'] = FrmFieldsHelper::get_default_html($field->type);
92
93 $field_array = apply_filters('frm_setup_new_fields_vars', $field_array, $field);
94
95 foreach((array)$field->field_options as $k => $v){
96 if(!isset($field_array[$k]))
97 $field_array[$k] = $v;
98 unset($k);
99 unset($v);
100 }
101
102 $values['fields'][] = $field_array;
103
104 if (!$form or !isset($form->id)){
105 $frm_form = new FrmForm();
106 $form = $frm_form->getOne($field->form_id);
107 }
108 }
109
110 $form->options = maybe_unserialize($form->options);
111 if (is_array($form->options)){
112 foreach ($form->options as $opt => $value)
113 $values[$opt] = FrmAppHelper::get_post_param($opt, $value);
114 }
115
116 if (!isset($values['custom_style']))
117 $values['custom_style'] = ($frm_settings->load_style != 'none');
118
119 if (!isset($values['email_to']))
120 $values['email_to'] = '';
121
122 if (!isset($values['submit_value']))
123 $values['submit_value'] = $frm_settings->submit_value;
124
125 if (!isset($values['success_msg']))
126 $values['success_msg'] = $frm_settings->success_msg;
127
128 if (!isset($values['akismet']))
129 $values['akismet'] = '';
130
131 if (!isset($values['before_html']))
132 $values['before_html'] = FrmFormsHelper::get_default_html('before');
133
134 if (!isset($values['after_html']))
135 $values['after_html'] = FrmFormsHelper::get_default_html('after');
136
137 if (!isset($values['submit_html']))
138 $values['submit_html'] = FrmFormsHelper::get_default_html('submit');
139
140 return apply_filters('frm_setup_new_entry', $values);
141 }
142
143 public static function setup_edit_vars($values, $record){
144 //$values['description'] = maybe_unserialize( $record->description );
145 $values['item_key'] = isset($_POST['item_key']) ? $_POST['item_key'] : $record->item_key;
146 $values['form_id'] = $record->form_id;
147 $values['is_draft'] = $record->is_draft;
148 return apply_filters('frm_setup_edit_entry_vars', $values, $record);
149 }
150
151 public static function replace_default_message($message, $atts) {
152 if ( strpos($message, '[default-message') === false &&
153 strpos($message, '[default_message') === false &&
154 !empty($message) ) {
155 return $message;
156 }
157
158 if ( empty($message) ) {
159 $message = '[default-message]';
160 }
161
162 preg_match_all("/\[(default-message|default_message)\b(.*?)(?:(\/))?\]/s", $message, $shortcodes, PREG_PATTERN_ORDER);
163
164 foreach ( $shortcodes[0] as $short_key => $tag ) {
165 $add_atts = shortcode_parse_atts( $shortcodes[2][$short_key] );
166 if ( $add_atts ){
167 $this_atts = array_merge($atts, $add_atts);
168 } else {
169 $this_atts = $atts;
170 }
171
172 $default = FrmEntriesController::show_entry_shortcode($this_atts);
173
174 // Add the default message
175 $message = str_replace($shortcodes[0][$short_key], $default, $message);
176 }
177
178 return $message;
179 }
180
181
182
183 public static function entries_dropdown( $form_id, $field_name, $field_value='', $blank=true, $blank_label='', $onchange=false ){
184 _deprecated_function( __FUNCTION__, '1.07.09');
185 }
186
187 public static function enqueue_scripts($params){
188 do_action('frm_enqueue_form_scripts', $params);
189 }
190
191 // Add submitted values to a string for spam checking
192 public static function entry_array_to_string($values) {
193 $content = '';
194 foreach ( $values['item_meta'] as $val ) {
195 if ( $content != '' ) {
196 $content .= "\n\n";
197 }
198
199 if ( is_array($val) ) {
200 $val = implode(',', $val);
201 }
202
203 $content .= $val;
204 }
205
206 return $content;
207 }
208 }
209