PluginProbe
Contact Forms by Cimatti / 1.9.2
Contact Forms by Cimatti v1.9.2
2.3.6 2.3.5 2.3.0 2.2.32 2.2.4 2.2.0 2.1.2 2.1.1 trunk 1.0 1.1 1.2 1.2.1 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 All 62 releases
← All changes | accua-forms.php +4482 -3569 1.3.31.9.2 View file →
@@ -1,3569 +1,4482 @@
1 -<?php
2 -add_action('admin_menu', 'accua_forms_menu', -95);
3 -function accua_forms_menu(){
4 - $dashboard_admin_page=add_menu_page('Wordpress Contact Forms by Cimatti', 'Forms', 10, 'accua_forms', 'accua_dashboard_page', ACCUA_FORMS_DIR_URL.'img/cimatti-16-icon.png');
5 - add_action('load-'.$dashboard_admin_page, 'accua_dashboard_page_head');
6 -
7 - add_submenu_page('accua_forms', 'Wordpress Contact Forms by Cimatti', 'Dashboard', 10, "accua_forms", 'accua_dashboard_page');
8 -
9 - $form_edit_page = add_submenu_page('accua_forms', 'Forms', 'Forms', 10, "accua_forms_list", 'accua_forms_list_page');
10 - add_action('admin_head-'.$form_edit_page, 'accua_forms_edit_page_head');
11 - add_action( 'admin_print_styles-'.$form_edit_page, 'accua_forms_edit_page_head_styles');
12 - add_action( 'admin_print_scripts-'.$form_edit_page, 'accua_forms_edit_page_head_scripts');
13 -
14 - $form_add_page = add_submenu_page('accua_forms', __('Add new form', 'accua-form-api'), __('Add new', 'accua-form-api'), 10, "accua_forms_add", 'accua_forms_add_page');
15 - add_action('admin_head-'.$form_add_page, 'accua_forms_edit_page_head');
16 - add_action( 'admin_print_styles-'.$form_add_page, 'accua_forms_edit_page_head_styles');
17 - add_action( 'admin_print_scripts-'.$form_add_page, 'accua_forms_edit_page_head_scripts');
18 -
19 - $form_submissions_page = add_submenu_page('accua_forms', __('Forms submissions', 'accua-form-api') , __('Submissions', 'accua-form-api'), 10, "accua_forms_submissions_list", 'accua_forms_submissions_list_page');
20 - add_action('admin_head-'.$form_submissions_page, 'accua_forms_submissions_list_page_head');
21 -
22 - $form_fields_page = add_submenu_page('accua_forms', __( 'Form fields', 'accua-form-api'), __('Fields', 'accua-form-api'), 10, "accua_forms_fields", 'accua_forms_fields_page');
23 - //add_action('admin_head-'.$form_fields_page, 'accua_forms_fields_page_head');
24 - add_action( 'admin_print_styles-'.$form_fields_page, 'accua_forms_edit_page_head_styles');
25 -
26 - $settings_page = add_submenu_page('accua_forms', __( 'Default Forms settings', 'accua-form-api'), __('Settings', 'accua-form-api'), 10, "accua_forms_settings", 'accua_forms_settings_page');
27 - add_action( 'admin_print_styles-'.$settings_page, 'accua_forms_edit_page_head_styles');
28 - add_action( 'admin_print_scripts-'.$settings_page, 'accua_forms_settings_page_head_scripts');
29 -
30 - wp_enqueue_script('jquery-form');
31 - wp_enqueue_script('jquery-color');
32 - wp_enqueue_script('jquery-ui-core');
33 - wp_enqueue_script('jquery-ui-tabs');
34 - wp_enqueue_script('jquery-ui-sortable');
35 - wp_enqueue_script('jquery-ui-draggable');
36 - wp_enqueue_script('jquery-ui-droppable');
37 - wp_enqueue_script('jquery-ui-selectable');
38 - wp_enqueue_script('jquery-ui-resizable');
39 - wp_enqueue_script('jquery-ui-dialog');
40 - wp_enqueue_style('wp-jquery-ui-dialog');
41 -}
42 -
43 -function accua_forms_report_page_head(){
44 - $column_list = array(
45 - 'month' => __( 'Month', 'accua-form-api'),
46 - 'unique_submissions' => __( 'Unique submissions', 'accua-form-api') ,
47 - 'submissions' => __('Total submissions', 'accua-form-api'),
48 - );
49 - global $hook_suffix;
50 - register_column_headers($hook_suffix, $column_list);
51 -
52 - //$baseurl = WP_PLUGIN_URL.'/'.substr(plugin_basename(__FILE__),0,-strlen(basename(__FILE__)));
53 - //echo '<link href="'.$baseurl.'/flot/layout.css" rel="stylesheet" type="text/css">';
54 - //echo '<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="'.$baseurl.'/flot/excanvas.min.js"></script><![endif]-->';
55 - //echo '<script language="javascript" type="text/javascript" src="'.$baseurl.'/flot/jquery.flot.js"></script>';
56 -
57 -}
58 -
59 -
60 -function accua_forms_report_page() {
61 -?>
62 - <div id="accua_forms_report_page" class="accua_forms_admin_page wrap">
63 - <h2>Forms submissions report</h2>
64 -
65 -<?php
66 - global $wpdb, $hook_suffix;
67 - $months = array(1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
68 -
69 - $query = "SELECT YEAR(sub_date) AS `year`, MONTH(sub_date) AS `month`, COUNT(DISTINCT `email`) AS `unique_submissions`, COUNT(*) AS `submissions`
70 - FROM `{$wpdb->prefix}cformssubmissions`
71 - GROUP BY `year`, `month`
72 - ORDER BY `year` DESC, `month` DESC";
73 -
74 - $results = $wpdb->get_results($query);
75 -
76 - if ($results) {
77 -?>
78 - <style type="text/css">
79 - .column-submissions, .column-unique_submissions {
80 - text-align: right !important;
81 - }
82 - </style>
83 - <div id="accua-form-report-graph" style="height:300px;"></div>
84 - <table class="widefat" id="stnl_review_reviewed">
85 - <thead>
86 - <tr><?php print_column_headers($hook_suffix); ?></tr>
87 - </thead>
88 -
89 - <tfoot>
90 - <tr><?php print_column_headers($hook_suffix, false); ?></tr>
91 - </tfoot>
92 -
93 - <tbody>
94 -<?php
95 - $alternate = false;
96 - $hidden = get_hidden_columns($hook_suffix);
97 - $data = array(
98 - array( 'label' => __( 'Unique submissions', 'accua-form-api'), 'data' => array()),
99 - array( 'label' => __( 'Total submissions', 'accua-form-api'), 'data' => array()),
100 - );
101 - foreach ($results as $result){
102 - $month = $months[$result->month];
103 - echo "<tr class='iedit ".(($alternate = !$alternate)?'alternate':'')."'>\n";
104 - echo "<td class='column-month'".(in_array('month', $hidden)?" style='display:none;'":'').">$month {$result->year}</td>\n";
105 - echo "<td class='column-unique_submissions'".(in_array('unique_submissions', $hidden)?" style='display:none;'":'').">{$result->unique_submissions}</td>\n";
106 - echo "<td class='column-submissions'".(in_array('submissions', $hidden)?" style='display:none;'":'').">{$result->submissions}</td>\n";
107 - echo "</tr>\n";
108 - $time = mktime(0, 0, 0, $result->month, 1, $result->year) * 1000;
109 - $data[0]['data'][] = array($time, (int)$result->unique_submissions);
110 - $data[1]['data'][] = array($time, (int)$result->submissions);
111 - }
112 - /*
113 - $year = $results[0]->year;
114 - $month = $results[0]->month;
115 - while ($year <= $result->year || $month <= $result->month) {
116 -
117 - $month++;
118 - if ($month > 12) {
119 - $year++;
120 - $month = 1;
121 - }
122 - }
123 - */
124 -?>
125 - </tbody>
126 - </table>
127 -<script type="text/javascript">
128 -jQuery(function($){
129 - var data = <?php echo json_encode($data); ?> ;
130 - var options = {
131 - xaxis: {
132 - //autoscaleMargin: 0.005,
133 - mode: "time",
134 - timeformat: "%b %y",
135 - minTickSize: [1, "month"]
136 - },
137 - legend: {
138 - position: "nw"
139 - }
140 - };
141 - $.plot($("#accua-form-report-graph"), data, options);
142 -});
143 -</script>
144 -<?php
145 - }
146 -?>
147 -
148 - </div>
149 -<?php
150 -}
151 -
152 -function accua_forms_edit_page_head_styles() {
153 - //wp_admin_css( 'widgets' );
154 - wp_enqueue_style( 'accua-forms-admin', plugins_url('accua-forms-admin.css', __FILE__), array('wp-color-picker'), '1');
155 -}
156 -
157 -function accua_forms_edit_page_head_scripts() {
158 - //wp_enqueue_script('admin-widgets');
159 - /*wp_enqueue_script('jquery-ui-sortable');
160 - wp_enqueue_script('jquery-ui-draggable');
161 - wp_enqueue_script('jquery-ui-droppable');*/
162 - wp_enqueue_script( 'accua-form-fields', plugins_url( 'form-fields.js' , __FILE__ ), array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ) );
163 - wp_enqueue_script( 'accua-form-settings', plugins_url( 'form-settings.js' , __FILE__ ), array( 'jquery', 'wp-color-picker' ), '1.1');
164 -}
165 -
166 -function accua_forms_settings_page_head_scripts() {
167 - wp_enqueue_script('wp-color-picker');
168 -}
169 -
170 -function accua_forms_edit_page_head() {
171 -if (isset($_POST['accua-form-edit-action']) || (!isset($_GET['fid']))) {
172 - _accua_forms_form_edit_action();
173 - require_once('accua-forms-list-page.php');
174 - accua_forms_list_page_table(true);
175 -}
176 -
177 -?>
178 - <style type="text/css">
179 - .container > div {
180 - padding: 0px;
181 - margin-bottom: 6px;
182 - }
183 - .widget-liquid-right .widget, #wp_inactive_widgets .widget, .widget-liquid-right .sidebar-description, .widget-placeholder {
184 - width: 95%;
185 - }
186 - .column-submissions {
187 - text-align: right !important;
188 - }
189 - </style>
190 -<?php
191 -}
192 -
193 -add_action( 'wp_ajax_accua-form-fields-order' , 'accua_forms_form_fields_order');
194 -function accua_forms_form_fields_order() {
195 - $post = stripslashes_deep($_POST);
196 - //update_option('accua_forms_form_fields_order_post', $post);
197 -
198 - if (empty($post['sidebars'])) {
199 - die('-1');
200 - }
201 -
202 - $forms_data = get_option('accua_forms_saved_forms', array());
203 -
204 - foreach ($post['sidebars'] as $fid => $order) {
205 - if (strpos($fid, 'cimatti-accua-fields-form-area-') !== 0){
206 - die('-1');
207 - }
208 - $fid = substr($fid, 31);
209 -
210 - $old_fields = $forms_data[$fid]['fields'];
211 - unset($forms_data[$fid]['fields']);
212 - $new_fields = array();
213 -
214 - $order = explode(',', $order);
215 -
216 - foreach ($order as $i) {
217 - $i = preg_replace('/^(new-)?widget-\\d+_/', '', $i);
218 - if (isset($old_fields[$i])) {
219 - $new_fields[$i] = $old_fields[$i];
220 - unset($old_fields[$i]);
221 - }
222 - }
223 -
224 - if($old_fields){
225 - $new_fields += $old_fields;
226 - }
227 - $forms_data[$fid]['fields'] = $new_fields;
228 - }
229 -
230 - update_option('accua_forms_saved_forms', $forms_data);
231 -
232 - die('1');
233 -}
234 -
235 -add_action( 'wp_ajax_accua-save-form-field', 'accua_forms_save_form_field');
236 -function accua_forms_save_form_field() {
237 - $post = stripslashes_deep($_POST);
238 -
239 - //update_option('accua_forms_save_form_field_post', $post);
240 -
241 - $forms_data = get_option('accua_forms_saved_forms', array());
242 - $fid = $post['form-id'];
243 - if (empty($forms_data[$fid]['fields'])) {
244 - $forms_data[$fid]['fields'] = array();
245 - }
246 -
247 - @ $wid = $post['widget-id'];
248 - if (empty($post['delete_widget'])) {
249 - //$istance_id = $post['multi_number'];
250 - @ $ref = $post['id_base'];
251 - $required = !empty($post["form-field-{$wid}-required"]);
252 - $widget_number = empty($post['multi_number']) ? (empty($post['widget_number']) ? '' : $post['widget_number']) : $post['multi_number'];
253 -
254 - $forms_data[$fid]['fields'][$wid] = array (
255 - 'istance_id' => $wid,
256 - 'widget_number' => $widget_number,
257 - 'ref' => $ref,
258 - 'required' => $required,
259 - );
260 -
261 - if (!empty($post["form-field-{$wid}-override-label"])) {
262 - @ $label = (string) $post["form-field-{$wid}-label"];
263 - $forms_data[$fid]['fields'][$wid]['label'] = $label;
264 - }
265 -
266 - if (!empty($post["form-field-{$wid}-override-default-value"])) {
267 - @ $default_value = (string) $post["form-field-{$wid}-default-value"];
268 - $forms_data[$fid]['fields'][$wid]['default_value'] = $default_value;
269 - }
270 -
271 - if (!empty($post["form-field-{$wid}-override-allowed-values"])) {
272 - @ $allowed_values = (string) $post["form-field-{$wid}-allowed-values"];
273 - $forms_data[$fid]['fields'][$wid]['allowed_values'] = $allowed_values;
274 - }
275 -
276 -
277 - } else {
278 - unset($forms_data[$fid]['fields'][$wid]);
279 - }
280 -
281 - update_option('accua_forms_saved_forms', $forms_data);
282 -
283 - die('1');
284 -}
285 -
286 -add_action( 'wp_ajax_accua-save-form-settings', 'accua_forms_save_form_settings');
287 -function accua_forms_save_form_settings() {
288 - $post = stripslashes_deep($_POST);
289 -
290 - $forms_data = get_option('accua_forms_saved_forms', array());
291 - $fid = $post['form-id'];
292 -
293 -
294 - $settings = array(
295 - 'title',
296 - 'success_message',
297 - 'success_message_no_message',
298 - 'error_message',
299 - 'error_message_no_message',
300 - 'emails_from',
301 - 'admin_emails_to',
302 - 'emails_bcc',
303 - 'admin_emails_subject',
304 - 'admin_emails_message',
305 - 'admin_emails_message_no_message',
306 - 'confirmation_emails_subject',
307 - 'confirmation_emails_message',
308 - 'confirmation_emails_message_no_message',
309 - //'use_ajax',
310 -
311 - 'layout',
312 - 'style_margin',
313 - 'style_border_color',
314 - 'style_border_width',
315 - 'style_border_radius',
316 - 'style_background_color',
317 - 'style_padding',
318 - 'style_color',
319 - 'style_font_size',
320 - 'style_field_spacing',
321 - 'style_field_border_color',
322 - 'style_field_border_width',
323 - 'style_field_border_radius',
324 - 'style_field_background_color',
325 - 'style_field_padding',
326 - 'style_field_color',
327 - 'style_submit_border_color',
328 - 'style_submit_border_width',
329 - 'style_submit_border_radius',
330 - 'style_submit_background_color',
331 - 'style_submit_padding',
332 - 'style_submit_color',
333 - 'style_submit_font_size',
334 - );
335 -
336 - // print_r($post);
337 -
338 - foreach($settings as $i) {
339 - if (isset($post[$i])) {
340 - $forms_data[$fid][$i] = $post[$i];
341 - } else {
342 - unset($forms_data[$fid][$i]);
343 - }
344 - }
345 -
346 -
347 - $forms_data[$fid]['use_ajax'] = !empty($post['use_ajax']);
348 -
349 - update_option('accua_forms_saved_forms', $forms_data);
350 -
351 - print_r($forms_data[$fid]);
352 -
353 - die('');
354 -}
355 -
356 -function accua_forms_field_settings_form_counter() {
357 - static $i = 0;
358 - $i++;
359 - return $i;
360 -}
361 -
362 -function accua_forms_field_text_settings_form($fid, $field_data=array(), $istance_data=array()){
363 - static $html_multi_number = 1;
364 - $i = accua_forms_field_settings_form_counter();
365 -
366 - $hidden = '';
367 - if (!is_array($istance_data)) {
368 - if ($istance_data === 'hidden') {
369 - $hidden = 'style="display:none"';
370 - }
371 - $istance_data = array();
372 - $empty_istance = true;
373 - } else {
374 - $empty_istance = empty($istance_data);
375 - }
376 -
377 - if (!is_array($field_data)){
378 - $field_data = array();
379 - }
380 -
381 - $field_data += array(
382 - 'id' => '__html',
383 - 'name' => __( 'Custom HTML content', 'accua-form-api'),
384 - 'type' => 'html',
385 - 'description' => __('Use this special field to inject raw HTML in the form. You can use this multiple times.', 'accua-form-api'),
386 - 'default_value' => '',
387 - 'allowed_values' => '',
388 - );
389 -
390 - $override_label = isset($istance_data['label']) ? 'checked="checked"' : '';
391 - $override_default_value = isset($istance_data['default_value']) ? 'checked="checked"' : '';
392 - $override_allowed_values = isset($istance_data['allowed_values']) ? 'checked="checked"' : '';
393 -
394 - if (($field_data['type'] === 'file') && ($field_data['allowed_values'] === '')) {
395 - $file_data = get_option('accua_forms_default_file_field_data',array());
396 - if (isset($file_data['valid_extensions'])){
397 - $field_data['allowed_values'] = $file_data['valid_extensions'];
398 - }
399 - }
400 -
401 - $istance_data += array(
402 - 'istance_id' => $field_data['id'],
403 - 'widget_number' => '',
404 - 'ref' => $field_data['id'],
405 - 'label' => $field_data['name'],
406 - 'default_value' => $field_data['default_value'],
407 - 'allowed_values' => $field_data['allowed_values'],
408 - 'required' => false,
409 - );
410 -
411 -
412 -
413 - foreach ($istance_data as $key => $value) {
414 - $istance_data[$key] = htmlspecialchars($istance_data[$key], ENT_QUOTES);
415 - }
416 -
417 - foreach ($field_data as $key => $value) {
418 - $field_data[$key] = htmlspecialchars($field_data[$key], ENT_QUOTES);
419 - }
420 -
421 - $multi_number = '';
422 -
423 - if (in_array($istance_data['ref'], array('__html','__fieldset-begin','__fieldset-end'))) {
424 - $forceoverride_field = true;
425 - if ($empty_istance) {
426 - $add_new = 'multi';
427 - $istance_data['istance_id'] .= '-__i__';
428 - $istance_data['widget_number'] = 1;
429 - $multi_number = 1 + $html_multi_number;
430 - } else {
431 - if ($html_multi_number < $istance_data['widget_number']) {
432 - $html_multi_number = $istance_data['widget_number'];
433 - }
434 - }
435 - } else {
436 - $forceoverride_field = false;
437 - $add_new = $empty_istance ? 'single' : '';
438 - }
439 -
440 - $fid = htmlspecialchars($fid, ENT_QUOTES);
441 - $testi_eot = array (
442 - 'label' => __( 'Label', 'accua-form-api'),
443 - 'override' => __( 'override', 'accua-form-api'),
444 - 'default_value' => __( 'Default value', 'accua-form-api'),
445 - 'default_values' => __( 'Default value(s)', 'accua-form-api'),
446 - 'desc_def' => __( 'For multiple default values, use | as separator.', 'accua-form-api'),
447 - 'allowed_values' => __( 'Allowed values', 'accua-form-api'),
448 - 'desc_all' => __( 'The possible values this field can contain. Enter one value per line, in the format key|label. The key is the value that will be stored in the database. The label is optional, and the key will be used as the label if no label is specified.', 'accua-form-api'),
449 - 'allowed_extensions' => __( 'Allowed extensions', 'accua-form-api'),
450 - 'desc_all_ext' => __( 'Accepted file extensions. One per line, without dots.', 'accua-form-api'),
451 - 'required' => __( 'Required', 'accua-form-api'),
452 - 'custom_HTML_content' => __( 'Custom HTML content', 'accua-form-api'),
453 - 'remove' => __( 'Remove', 'accua-form-api'),
454 - 'close' => __( 'Close', 'accua-form-api'),
455 - 'save' => __( 'Save', 'accua-form-api')
456 - );
457 -
458 - if ($forceoverride_field) {
459 - $override_begin = '';
460 - $override_type = 'hidden';
461 - $override_end = '';
462 - } else {
463 - $override_begin = "({$testi_eot['override']}: ";
464 - $override_type = 'checkbox';
465 - $override_end = ')';
466 - }
467 -
468 - $content = <<<EOT
469 - <p><label for="widget-{$istance_data['istance_id']}-label">{$testi_eot['label']}:</label>
470 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-label" value="1" {$override_label} />{$override_end}<br>
471 - <input type="text" value="{$istance_data['label']}" name="form-field-{$istance_data['istance_id']}-label" id="widget-{$istance_data['istance_id']}-label" class="widefat"></p>
472 -EOT;
473 -
474 - $default_value = <<<EOT
475 - <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
476 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
477 - <input type="text" value="{$istance_data['default_value']}" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat"></p>
478 -EOT;
479 -
480 - $default_values = <<<EOT
481 - <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
482 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
483 - <input type="text" value="{$istance_data['default_value']}" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat"><br />
484 - </p>
485 -EOT;
486 -
487 - $allowed_values = <<<EOT
488 - <p><label for="widget-{$istance_data['istance_id']}-allowed-values">{$testi_eot['allowed_values']}:</label>
489 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-allowed-values" value="1" {$override_allowed_values} />{$override_end}<br>
490 - <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-allowed-values" id="widget-{$istance_data['istance_id']}-allowed-values" class="widefat">{$istance_data['allowed_values']}</textarea><br />
491 - {$testi_eot['desc_all']}</p>
492 -EOT;
493 -
494 - $allowed_ext = <<<EOT
495 - <p><label for="widget-{$istance_data['istance_id']}-allowed-values">{$testi_eot['allowed_extensions']}:</label>
496 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-allowed-values" value="1" {$override_allowed_values} />{$override_end}<br>
497 - <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-allowed-values" id="widget-{$istance_data['istance_id']}-allowed-values" class="widefat">{$istance_data['allowed_values']}</textarea><br />
498 - {$testi_eot['desc_all_ext']}</p>
499 -EOT;
500 -
501 - $required_checked = empty($istance_data['required']) ? '' : 'checked="checked"';
502 - $required = <<<EOT
503 - <p><label for="widget-{$istance_data['istance_id']}-required">{$testi_eot['required']}:</label> <input type="checkbox" value="1" {$required_checked} name="form-field-{$istance_data['istance_id']}-required" id="widget-{$istance_data['istance_id']}-required"></p>
504 -EOT;
505 -
506 - switch ($field_data['type']) {
507 - case 'textarea':
508 - $content .= <<<EOT
509 - <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
510 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
511 - <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat">{$istance_data['default_value']}</textarea></p>
512 - $required
513 -EOT;
514 - break;
515 - case 'hidden':
516 - $content = $default_value;
517 - break;
518 - case 'checkbox':
519 - $content .= $default_value . $required;
520 - break;
521 - case 'select':
522 - case 'radio':
523 - $content .= $default_value . $allowed_values . $required;
524 - break;
525 - case 'multiselect':
526 - case 'multicheckbox':
527 - case 'post-multicheckbox':
528 - $content .= $default_values . $allowed_values . $required;
529 - break;
530 - case 'file':
531 - $content .= $allowed_ext . $required;
532 - case 'submit':
533 - case 'fieldset-begin':
534 - //just the label
535 - break;
536 - case 'fieldset-end':
537 - //Nothing!
538 - $content = '';
539 - break;
540 - case 'html':
541 - $content = <<<EOT
542 - <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['custom_HTML_content']}</label>
543 - {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
544 - <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat">{$istance_data['default_value']}</textarea></p>
545 -EOT;
546 - break;
547 - case 'email':
548 - case 'autoreply_email':
549 - case 'textfield':
550 - case 'colorpicker':
551 - case 'datepicker':
552 - case 'dateselect':
553 - default:
554 - $content .= $default_value . $required;
555 - break;
556 - }
557 - $adminurl = admin_url();
558 - return <<<EOT
559 -<div class="widget ui-draggable" id="widget-{$i}_{$istance_data['istance_id']}" $hidden> <div class="widget-top">
560 - <div class="widget-title-action">
561 - <a href="#available-widgets" class="widget-action hide-if-no-js"></a>
562 - </div>
563 - <div class="widget-title"><h4>{$field_data['name']}<span class="in-widget-title"></span></h4></div>
564 - </div>
565 -
566 - <div class="widget-inside">
567 - <form method="post" action="">
568 - <div class="widget-content">
569 - $content
570 - </div>
571 - <input type="hidden" value="{$fid}" name="form-id">
572 - <input type="hidden" value="{$istance_data['istance_id']}" class="widget-id" name="widget-id">
573 - <input type="hidden" value="{$field_data['id']}" class="id_base" name="id_base">
574 - <input type="hidden" value="250" class="widget-width" name="widget-width">
575 - <input type="hidden" value="200" class="widget-height" name="widget-height">
576 - <input type="hidden" value="{$istance_data['widget_number']}" class="widget_number" name="widget_number">
577 - <input type="hidden" value="{$multi_number}" class="multi_number" name="multi_number">
578 - <input type="hidden" value="{$add_new}" class="add_new" name="add_new">
579 -
580 - <div class="widget-control-actions">
581 - <div class="alignleft">
582 - <a href="#remove" class="widget-control-remove">{$testi_eot['remove']}</a> |
583 - <a href="#close" class="widget-control-close">{$testi_eot['close']}</a>
584 - </div>
585 - <div class="alignright">
586 - <img alt="" title="" class="ajax-feedback" src="{$adminurl}images/wpspin_light.gif">
587 - <input type="submit" value="{$testi_eot['save']}" class="button-primary widget-control-save" id="widget-{$istance_data['istance_id']}-savewidget" name="savewidget">
588 - </div>
589 - <br class="clear">
590 - </div>
591 - </form>
592 - </div>
593 -
594 - <!--<div class="widget-description">
595 - {$field_data['description']}
596 - </div>-->
597 -</div>
598 -
599 -EOT;
600 -}
601 -
602 -function accua_forms_add_page($message='') {
603 - $forms_data = get_option('accua_forms_saved_forms', array());
604 - $trash_data = get_option('accua_forms_trash_forms', array());
605 - if (!empty($_GET['fid'])) {
606 - $fid = htmlspecialchars(stripslashes($_GET['fid']), ENT_QUOTES);
607 - } else {
608 - if ($message === '') {
609 - $fid = 1 + ((int) get_option('accua_forms_lastid', 0));
610 - while (isset($forms_data[$fid]) || isset($trash_data[$fid])) {
611 - $fid++;
612 - }
613 - update_option('accua_forms_lastid', $fid);
614 - $message = _accua_forms_test_clonefrom($fid);
615 - if ($message === '') {
616 - return accua_forms_edit_page($fid);
617 - }
618 - } else {
619 - $fid = '';
620 - }
621 - }
622 - if (!empty($_GET['clonefrom'])) {
623 - $clonefrom = stripslashes($_GET['clonefrom']);
624 - } else {
625 - $clonefrom = '';
626 - }
627 -?>
628 -
629 -<div id="accua_forms_add_page" class="accua_forms_admin_page wrap">
630 -<h2><?php _e( 'Create a form', 'accua-form-api'); ?> </h2>
631 -<?php if ($message !== '') {
632 - echo "<div style='border:1px solid; padding: 10px;'>$message</div>";
633 -} ?>
634 -<form action="admin.php" method="GET">
635 -<input type="hidden" name="page" value="accua_forms" />
636 -<p>Form id: <input type="text" name="fid" value="<?php echo $fid; ?>" /></p>
637 -<?php
638 - if ($forms_data) {
639 - echo '<p><select name="clonefrom">
640 - <option value="">'.__( 'Empty form', 'accua-form-api').'</option>
641 - <optgroup label="'.__( 'Clone form:', 'accua-form-api').'">';
642 - foreach ($forms_data as $i => $formdata) {
643 - $sel = ($i == $clonefrom) ? " selected='selected'" : '';
644 - $i = htmlspecialchars($i, ENT_QUOTES);
645 - if (isset($formdata['title']) && ('' !== trim($formdata['title']))) {
646 - $formtitle = htmlspecialchars($formdata['title']);
647 - } else {
648 - $formtitle = $i;
649 - }
650 - echo "<option value='$i'$sel>$formtitle</option>\n";
651 - }
652 - echo '</optgroup></select></p>';
653 - }
654 -?>
655 -<p><input type="submit" value="<?php _e( 'Create', 'accua-form-api'); ?>" /></p>
656 -</form>
657 -</div>
658 -<?php
659 -}
660 -
661 -function _accua_forms_test_clonefrom($fid){
662 - $error = '';
663 - if (isset($_GET['clonefrom'])&&$_GET['clonefrom']!=='') {
664 - $clonefrom = stripslashes($_GET['clonefrom']);
665 - $forms_data = get_option('accua_forms_saved_forms', array());
666 - if (isset($forms_data[$fid])){
667 - $error .= "<p>".__( 'Form already exists', 'accua-form-api')."</p>";
668 - } else if (empty($forms_data[$clonefrom])) {
669 - $error .= "<p>".__( 'Source form doesn\'t exists.', 'accua-form-api')."</p>";
670 - } else {
671 - $forms_data[$fid] = $forms_data[$clonefrom];
672 - if (!isset($forms_data[$fid]['title'])) {
673 - $forms_data[$fid]['title'] = $clonefrom ." ".__( 'clone', 'accua-form-api');
674 - } else {
675 - $forms_data[$fid]['title'] .= " ". __( 'clone', 'accua-form-api');
676 - }
677 - update_option('accua_forms_saved_forms', $forms_data);
678 - }
679 - }
680 - return $error;
681 -}
682 -
683 -function _accua_forms_form_edit_action() {
684 - static $message = null;
685 - if ($message === null) {
686 - $message = '';
687 - if (isset($_POST['accua-form-edit-action'])){
688 - $post = stripslashes_deep($_POST);
689 - switch ($post['accua-form-edit-action']) {
690 - case 'delete':
691 - $fid = $post['form-id'];
692 - $forms_data = get_option('accua_forms_saved_forms', array());
693 - unset($forms_data[$fid]);
694 - update_option('accua_forms_saved_forms', $forms_data);
695 - $fid = htmlspecialchars($fid);
696 - $message .= sprintf( __( 'Form \"%s\" deleted','accua-form-api' ), $fid );
697 - break;
698 - }
699 - }
700 - }
701 - return $message;
702 -}
703 -
704 -function accua_forms_list_page() {
705 - $message = '';
706 - if (isset($_POST['accua-form-edit-action'])){
707 - $message = _accua_forms_form_edit_action();
708 - } else if (isset($_GET['fid'])) {
709 - if (!isset($fid)) {
710 - $fid = stripslashes($_GET['fid']);
711 - }
712 - $error = '';
713 - if (!preg_match('/^[a-z0-9_-]+$/i', $fid)) {
714 - $error .= "<p>".__( 'Only letters, numbers, hyphen and underscores allowed in form identificative name', 'accua-form-api')."</p>";
715 - }
716 - if (substr($fid,0,2) == '__') {
717 - $error .= "<p>".__( 'The identificative name can\'t start with two underscores (__)', 'accua-form-api')."</p>";
718 - }
719 - if (strlen($fid) > 70) {
720 - $error .= "<p>".__( 'You cannot use more than 70 characters for the identificative name', 'accua-form-api')."</p>";
721 - }
722 - if ($error === '' && (isset($_GET['clonefrom'])&&$_GET['clonefrom']!=='')) {
723 - $error .= _accua_forms_test_clonefrom($fid);
724 - }
725 - if ($error === '') {
726 - return accua_forms_edit_page($fid);
727 - } else {
728 - return accua_forms_add_page($error);
729 - }
730 - }
731 -?>
732 -<div id="accua_forms_list_page" class="accua_forms_admin_page wrap">
733 -<?php if ($message !== '') {
734 - echo "<div style='border:1px solid; padding: 10px;'>$message</div>";
735 -} ?>
736 -<div id="icon-contact-forms-cimatti-logo" class="icon32"></div>
737 -<h2><?php _e( 'Contact Forms by Cimatti', 'accua-form-api'); ?>
738 - <a class="add-new-h2" href="<?php echo get_admin_url(); ?>admin.php?page=accua_forms_add"><?php _e('Add New','accua-form-api'); ?></a>
739 -</h2>
740 -<div ><?php
741 - echo strtr(__( 'Use the orange %img_c button in the TinyMCE editor to include the forms in posts, pages or other content types (shortcode and php functions also available)', 'accua-form-api'),
742 - array('%img_c'=>'<img alt="C" src="' . plugins_url('img/cimatti-16-icon.png', __FILE__ ) . '" />')
743 - );
744 -?></div>
745 -<?php
746 -accua_forms_list_page_table();
747 -?>
748 -</div>
749 -<?php
750 -}
751 -
752 -function accua_forms_edit_page($fid) {
753 - wp_enqueue_script('jquery-ui-tabs','','','',true);
754 - wp_enqueue_script('accua_tabs', plugins_url('accua_tabs.js', __FILE__ ), array( 'jquery' ));
755 -
756 - /*
757 - $avail_fields = array(
758 - 'first_name' => array (
759 - 'id' => "first_name",
760 - 'name' => "First Name",
761 - 'type' => "textfield",
762 - 'description' => 'This is the first name',
763 - ),
764 - 'last_name' => array (
765 - 'id' => "last_name",
766 - 'name' => "Last Name",
767 - 'type' => "textfield",
768 - 'description' => 'This is the last name',
769 - ),
770 - 'email' => array (
771 - 'id' => "email",
772 - 'name' => "Email",
773 - 'type' => "email",
774 - 'description' => 'This is the email',
775 - ),
776 - );
777 - */
778 -
779 - $avail_fields = get_option('accua_forms_avail_fields', array());
780 - $default_form_data = get_option('accua_forms_default_form_data',array());
781 -
782 -
783 -
784 - $form_data = _accua_forms_get_form_data($fid, true, !empty($_GET['restore']));
785 - $form_overrided_data = $form_data['_overrided'];
786 -
787 - $fid_esc = htmlspecialchars($fid, ENT_QUOTES);
788 -
789 - $adminurl = admin_url();
790 -
791 -?>
792 -<div id="accua_forms_edit_page" class="accua_forms_admin_page wrap">
793 -<div id="icon-contact-forms-cimatti-logo" class="icon32"></div>
794 -<h2><?php _e( 'Edit Form', 'accua-form-api'); ?></h2>
795 -<div id="titlediv"><br />
796 - <label id="title-prompt-text" class="screen-reader-text" for="title"><?php _e( 'Enter title here', 'accua-form-api'); ?></label>
797 - <input id="title" type="text" autocomplete="off" value="<?php echo htmlspecialchars($form_data['title'], ENT_QUOTES) ?>" size="30" name="post_title">
798 -
799 - <script type="text/javascript">
800 - jQuery(function($){
801 - if ( jQuery('#titlediv #title').val() == '' )
802 - jQuery('#title-prompt-text').removeClass('screen-reader-text');
803 -
804 - jQuery('#titlediv #title').focus(function() {
805 - jQuery('#title-prompt-text').addClass('screen-reader-text');
806 - });
807 - jQuery('#titlediv #title').blur(function() {
808 - if ( jQuery('#titlediv #title').val() == '' )
809 - jQuery('#title-prompt-text').removeClass('screen-reader-text');
810 - });
811 - });
812 - </script>
813 -</div>
814 -
815 - <div id="accua_tabs">
816 - <div id="save_settings_top" class="accua_forms_save_settings_top">
817 - <form id="delete_form" action="admin.php?page=accua_forms_list" method="POST" onsubmit="return confirm('<?php _e('Do you really want to delete this form?'); ?>');">
818 - <input type="hidden" name="accua-form-edit-action" value="delete" />
819 - <input type="hidden" name="form-id" value="<?php echo $fid_esc; ?>" />
820 - <input type="submit" value="<?php _e( 'Delete this form', 'accua-form-api'); ?>" />
821 - </form>
822 - <input class="button button-primary button-large accua_form_save_settings_button" id="accua_form_save_settings" type="button" value="<?php _e( 'Save settings', 'accua-form-api'); ?>" />
823 - <span class="accua_form_save_settings_status"></span>
824 - </div>
825 - <ul id="ul_accua_tabs">
826 - <li class="tabs"><a href="#accua_tab_fields"><?php _e( 'Fields', 'accua-form-api'); ?></a></li>
827 - <li class="tabs"><a href="#accua_tab_messages"><?php _e( 'Messages', 'accua-form-api'); ?></a></li>
828 - <li class="tabs"><a href="#accua_tab_preview"><?php _e( 'Preview/Test', 'accua-form-api'); ?></a></li>
829 - </ul>
830 - <div id="accua_tab_fields" class="content_tab">
831 - <div style="width:69%; float:right;" class="container">
832 - <!--
833 - <h3>Form Fields</h3>
834 - <div id="form_fields_container">
835 - </div>
836 - -->
837 -
838 - <div class="widget-liquid-right" style="width:100%">
839 - <div id="widgets-right" style="width:100%">
840 - <div class="widgets-holder-wrap">
841 - <div class="sidebar-name">
842 - <div class="sidebar-name-arrow"><br></div>
843 - <h3><?php _e( 'Form fields', 'accua-form-api'); ?> <span><img alt="" title="" class="ajax-feedback" src="<?php echo $adminurl;?>images/wpspin_light.gif"></span></h3>
844 - </div>
845 - <div class="widgets-sortables ui-sortable" id="cimatti-accua-fields-form-area-<?php echo $fid_esc ?>">
846 - <div class="sidebar-description" style="width: 95%">
847 - <p class="description"><?php _e( 'Drop fields here', 'accua-form-api'); ?></p>
848 - </div>
849 - <?php
850 - foreach ($form_data['fields'] as $field) {
851 - if (empty($avail_fields[$field['ref']])) {
852 - $ref = array();
853 - if (!empty($field['ref'])) {
854 - if ($field['ref'] == '__fieldset-begin') {
855 - $ref = array(
856 - 'id' => '__fieldset-begin',
857 - 'name' => __('Fieldset begin', 'accua-form-api'),
858 - 'type' => 'fieldset-begin',
859 - 'description' => '',
860 - );
861 - } else if ($field['ref'] == '__fieldset-end') {
862 - $ref = array(
863 - 'id' => '__fieldset-end',
864 - 'name' => __('Fieldset end', 'accua-form-api'),
865 - 'type' => 'fieldset-end',
866 - 'description' => '',
867 - );
868 - }
869 - }
870 - } else {
871 - $ref = $avail_fields[$field['ref']];
872 - }
873 - echo accua_forms_field_text_settings_form($fid, $ref, $field);
874 - }
875 - ?>
876 - </div>
877 - </div>
878 - </div>
879 - </div>
880 -
881 - </div>
882 -
883 - <div style="width:30%; float:left;">
884 - <!--
885 - <h3>Available fields</h3>
886 - <div id="available_fields_container" class="container">
887 - </div>
888 - -->
889 -<!-- Begin available fields -->
890 -
891 -<div class="widget-liquid-left" style="margin-right:0">
892 -<!-- <div id="widgets-left"> -->
893 -<div id="widgets-left" style="margin-right:5px;">
894 - <div id="available-widgets" class="widgets-holder-wrap">
895 - <div class="sidebar-name">
896 - <div class="sidebar-name-arrow"><br /></div>
897 - <h3><?php _e( 'Available fields', 'accua-form-api'); ?> <span id="removing-widget"><?php _ex('Deactivate', 'removing-widget'); ?> <span></span></span></h3></div>
898 - <div class="widget-holder">
899 - <p class="description"><?php _e( 'Drag fields from here to a sidebar on the right to activate them. Drag fields back here to deactivate them.', 'accua-form-api'); ?><br/><br/>
900 - <a href="admin.php?page=accua_forms_fields"><strong><?php _e( 'Create new fields here', 'accua-form-api'); ?></strong></a></p>
901 -
902 - <div id="widget-list">
903 -<!-- begin fields list -->
904 -
905 -<?php
906 - foreach ($avail_fields as $avail_field) {
907 - $hidden = (empty($form_data['fields'][$avail_field['id']])) ? false : 'hidden';
908 - echo accua_forms_field_text_settings_form($fid, $avail_field, $hidden);
909 - }
910 - //Custom HTML field
911 - echo accua_forms_field_text_settings_form($fid);
912 - //Fieldset begin
913 - echo accua_forms_field_text_settings_form($fid, array(
914 - 'id' => '__fieldset-begin',
915 - 'name' => __( 'Fieldset begin', 'accua-form-api'),
916 - 'type' => 'fieldset-begin',
917 - 'description' => __('You can use this field multiple times.', 'accua-form-api'),
918 - 'default_value' => '',
919 - 'allowed_values' => '',
920 - ));
921 - //Fieldset end
922 - echo accua_forms_field_text_settings_form($fid, array(
923 - 'id' => '__fieldset-end',
924 - 'name' => __( 'Fieldset end', 'accua-form-api'),
925 - 'type' => 'fieldset-end',
926 - 'description' => __('You can use this field multiple times.', 'accua-form-api'),
927 - 'default_value' => '',
928 - 'allowed_values' => '',
929 - ));
930 -?>
931 -
932 -<!-- end fields list -->
933 - </div>
934 -
935 - <br class='clear' />
936 - </div>
937 - <br class="clear" />
938 - </div>
939 -
940 -</div>
941 -</div>
942 -<!-- End available fields -->
943 - </div>
944 -
945 -
946 -<div style="clear:both;">&nbsp;</div>
947 -
948 -<?php /* * / ?>
949 -<pre>
950 -accua_forms_form_fields_order_post: <?php echo htmlspecialchars(print_r(get_option('accua_forms_form_fields_order_post'), true)); ?>
951 -
952 -accua_forms_save_form_field_post: <?php echo htmlspecialchars(print_r(get_option('accua_forms_save_form_field_post'), true)); ?>
953 -
954 -accua_forms_saved_form_data: <?php echo htmlspecialchars(print_r($form_data, true)); ?>
955 -
956 -</pre>
957 -<?php /* */ ?>
958 -</div>
959 - <div id="accua_tab_messages" class="content_tab">
960 - <?php
961 - $settings_editor = array(
962 - 'teeny' => true,
963 - 'editor_class' => 'accua_form_value',
964 - 'tinymce' => array(
965 - 'theme_advanced_buttons1' => 'bold,italic,underline,|,bullist,numlist,'));
966 - ?>
967 -
968 - <div class="metabox-holder accua-forms-metabox-holder">
969 - <div class="postbox ">
970 - <h3 class="hndle"><span><?php _e('1. On-screen success message', 'accua-form-api'); ?></span></h3>
971 - <div class="inside" id="dashboard_right_now">
972 - <div id="accua_form_success_message">
973 - <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="0" <?php if (!isset($form_overrided_data['success_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'accua-form-api'); ?>
974 - <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="1" <?php if (isset($form_overrided_data['success_message']) && !isset($form_overrided_data['success_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'accua-form-api'); ?>
975 - <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="-1" <?php if (isset($form_overrided_data['success_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'accua-form-api'); ?><br />
976 - <div class="defalut_message">
977 - <?php _e( 'Default Success message', 'accua-form-api'); ?>
978 - <div class="defalut_content_message"><?php echo wpautop($default_form_data['success_message']); ?></div>
979 - </div>
980 - <?php wp_editor( $form_data['success_message'] , 'accua_form_success_message_textarea' , $settings_editor); ?>
981 - <!-- <textarea class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['success_message'], ENT_QUOTES) ?></textarea> -->
982 - </div>
983 - </div>
984 - </div>
985 - </div>
986 -
987 - <div class="metabox-holder accua-forms-metabox-holder">
988 - <div class="postbox ">
989 - <h3 class="hndle"><span><?php _e('2. On-screen error message', 'accua-form-api'); ?></span></h3>
990 - <div class="inside" id="dashboard_right_now">
991 - <div id="accua_form_error_message">
992 - <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="0" <?php if (!isset($form_overrided_data['error_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'accua-form-api'); ?>
993 - <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="1" <?php if (isset($form_overrided_data['error_message']) && !isset($form_overrided_data['error_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'accua-form-api'); ?>
994 - <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="-1" <?php if (isset($form_overrided_data['error_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'accua-form-api'); ?><br />
995 - <div class="defalut_message">
996 - <?php _e( 'Default error message', 'accua-form-api'); ?> <br />
997 - <div class="defalut_content_message" ><?php echo wpautop($default_form_data['error_message']); ?></div>
998 - </div>
999 - <?php wp_editor( $form_data['error_message'] , 'accua_form_error_message_textarea' , $settings_editor); ?>
1000 - </div>
1001 - </div>
1002 - </div>
1003 - </div>
1004 - <br clear="all"/>
1005 - <div class="metabox-holder accua-forms-metabox-holder">
1006 - <div class="postbox ">
1007 - <h3 class="hndle"><span><?php _e('3. Email to notify administrator', 'accua-form-api'); ?></span></h3>
1008 - <div class="inside" id="dashboard_right_now">
1009 - <div id="accua_form_admin_emails_to" class="label_input">
1010 - <label><?php _e( 'To', 'accua-form-api'); ?></label>
1011 - <div class="default_value"><?php echo htmlspecialchars($default_form_data['admin_emails_to']); ?></div>
1012 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" />
1013 - <input name="accua_form_admin_emails_to" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['admin_emails_to'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1014 - </div>
1015 - <div id="accua_form_emails_bcc" class="label_input">
1016 - <label><?php _e( 'Bcc', 'accua-form-api'); ?></label>
1017 - <div class="default_value"><?php echo htmlspecialchars($default_form_data['emails_bcc']); ?></div>
1018 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" />
1019 - <input name ="accua_form_emails_bcc" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['emails_bcc'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1020 - </div>
1021 -
1022 - <div id="accua_form_admin_emails_subject" class="label_input">
1023 - <label><?php _e( 'Subject', 'accua-form-api'); ?></label>
1024 - <div class="default_value"><?php echo htmlspecialchars($default_form_data['admin_emails_subject']); ?></div>
1025 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" />
1026 - <input name="accua_form_admin_emails_subject" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['admin_emails_subject'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1027 - </div>
1028 -
1029 - <div id="accua_form_admin_emails_message">
1030 - <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="0" <?php if (!isset($form_overrided_data['admin_emails_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'accua-form-api'); ?>
1031 - <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="1" <?php if (isset($form_overrided_data['admin_emails_message']) && !isset($form_overrided_data['admin_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'accua-form-api'); ?>
1032 - <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="-1" <?php if (isset($form_overrided_data['admin_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'accua-form-api'); ?><br />
1033 - <div class="defalut_message">
1034 - <?php _e( 'Default message', 'accua-form-api'); ?>
1035 - <div class="defalut_content_message"><?php echo wpautop($default_form_data['admin_emails_message']); ?></div>
1036 - </div>
1037 - <?php wp_editor( $form_data['admin_emails_message'] , 'accua_form_admin_emails_message_textarea' , $settings_editor); ?>
1038 - </div>
1039 -
1040 - </div>
1041 - </div>
1042 - </div>
1043 -
1044 - <div class="metabox-holder accua-forms-metabox-holder">
1045 - <div class="postbox ">
1046 - <h3 class="hndle"><span><?php _e('4. Email confirmation to the person who completed the form', 'accua-form-api'); ?></span></h3>
1047 - <div class="inside" id="dashboard_right_now">
1048 - <div id="accua_form_emails_from" class="label_input">
1049 - <label><?php _e( 'From', 'accua-form-api'); ?></label>
1050 - <div class="default_value"><?php echo htmlspecialchars($default_form_data['emails_from']); ?></div>
1051 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" />
1052 - <input name="accua_form_emails_from" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['emails_from'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1053 - </div>
1054 - <div id="accua_form_confirmation_emails_subject" class="label_input">
1055 - <label><?php _e( 'Subject', 'accua-form-api'); ?></label>
1056 - <div class="default_value"><?php echo htmlspecialchars($default_form_data['confirmation_emails_subject']); ?></div>
1057 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" />
1058 - <input name="accua_form_confirmation_emails_subject" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['confirmation_emails_subject'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1059 - </div>
1060 -
1061 - <div id="accua_form_confirmation_emails_message">
1062 - <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="0" <?php if (!isset($form_overrided_data['confirmation_emails_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'accua-form-api'); ?>
1063 - <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="1" <?php if (isset($form_overrided_data['confirmation_emails_message']) && !isset($form_overrided_data['confirmation_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'accua-form-api'); ?>
1064 - <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="-1" <?php if (isset($form_overrided_data['confirmation_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'accua-form-api'); ?><br />
1065 - <div class="defalut_message">
1066 - <?php _e( 'Default message', 'accua-form-api'); ?>
1067 - <div class="defalut_content_message"><?php echo wpautop($default_form_data['confirmation_emails_message']); ?></div>
1068 - </div>
1069 - <?php wp_editor( $form_data['confirmation_emails_message'] , 'accua_form_confirmation_emails_message_textarea' , $settings_editor); ?>
1070 - </div>
1071 - </div>
1072 - </div>
1073 - </div>
1074 - <br clear="all"/>
1075 -
1076 -<?php accua_forms_print_tokens(); ?>
1077 -
1078 -<input type="hidden" id="accua_form_save_settings_id" value="<?php echo $fid_esc; ?>" />
1079 -</div>
1080 -
1081 -<div id="accua_tab_preview" class="content_tab">
1082 -
1083 -<p style="clear:both;"><?php _e( 'Preview is updated when you click on "Save settings" button', 'accua-form-api'); ?></p>
1084 -<div id="accua_form_preview_area_wrapper">
1085 -<iframe id="accua_form_preview_area" src="admin-ajax.php?action=accua_forms_preview&fid=<?php echo htmlspecialchars($fid,ENT_QUOTES);?>" ></iframe>
1086 -</div>
1087 -
1088 -<p id="accua_form_use_ajax"><input class="accua_form_value" type="checkbox" value="1" <?php if (!empty($form_data['use_ajax'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Use AJAX to avoid page reload when submitting form', 'accua-form-api'); ?></p>
1089 -
1090 -<h4><?php _e( 'Forms', 'accua-form-api'); ?></h4>
1091 -
1092 -<p id="accua_form_layout"><?php _e('Layout', 'accua-form-api'); ?> <select name="layout" class="accua_form_value">
1093 - <option value="" <?php if (isset($form_overrided_data['layout'])) { echo 'selected="selected"'; } ?>>default (<?php if($default_form_data['layout']=='sidebyside') _e( 'Labels on the left of the fields', 'accua-form-api'); else _e( 'Labels on top of the fields', 'accua-form-api'); ?>)</option><option value="sidebyside" <?php if ((isset($form_overrided_data['layout'])) && ($form_data['layout'] == 'sidebyside')) { echo 'selected="selected"'; } ?>><?php _e( 'Labels on the left of the fields', 'accua-form-api'); ?></option><option value="toplabel" <?php if ((isset($form_overrided_data['layout'])) && ($form_data['layout'] == 'toplabel')) { echo 'selected="selected"'; } ?>><?php _e( 'Labels on top of the fields', 'accua-form-api'); ?></option></select>
1094 -</p>
1095 -
1096 -<div id="accua_form_style_margin" class="label_input">
1097 - <label><?php _e( 'Margin', 'accua-form-api'); ?></label>
1098 - <div class="default_value"><?php echo $default_form_data['style_margin']; ?></div>
1099 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_margin'], ENT_QUOTES) ?>" />
1100 - <input name="accua_form_style_margin" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_margin'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1101 -</div>
1102 -
1103 -<div id="accua_form_style_border_color" class="label_input">
1104 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
1105 - <div class="default_value"><?php echo $default_form_data['style_border_color']; ?></div>
1106 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_color'], ENT_QUOTES) ?>" />
1107 - <input name="accua_form_style_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1108 -</div>
1109 -
1110 -<div id="accua_form_style_border_width" class="label_input">
1111 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
1112 - <div class="default_value"><?php echo $default_form_data['style_border_width']; ?></div>
1113 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_width'], ENT_QUOTES) ?>" />
1114 - <input name="accua_form_style_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1115 -</div>
1116 -
1117 -<div id="accua_form_style_border_radius" class="label_input">
1118 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
1119 - <div class="default_value"><?php echo $default_form_data['style_border_radius']; ?></div>
1120 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_radius'], ENT_QUOTES) ?>" />
1121 - <input name="accua_form_style_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1122 -</div>
1123 -
1124 -<div id="accua_form_style_background_color" class="label_input">
1125 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
1126 - <div class="default_value"><?php echo $default_form_data['style_background_color']; ?></div>
1127 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_background_color'], ENT_QUOTES) ?>" />
1128 - <input name="accua_form_style_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_background_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1129 -</div>
1130 -
1131 -<div id="accua_form_style_padding" class="label_input">
1132 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
1133 - <div class="default_value"><?php echo $default_form_data['style_padding']; ?></div>
1134 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_padding'], ENT_QUOTES) ?>" />
1135 - <input name="accua_form_style_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_padding'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1136 -</div>
1137 -
1138 -<div id="accua_form_style_color" class="label_input">
1139 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
1140 - <div class="default_value"><?php echo $default_form_data['style_color']; ?></div>
1141 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_color'], ENT_QUOTES) ?>" />
1142 - <input name="accua_form_style_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1143 -</div>
1144 -
1145 -<div id="accua_form_style_font_size" class="label_input">
1146 - <label><?php _e( 'Font size', 'accua-form-api'); ?></label>
1147 - <div class="default_value"><?php echo $default_form_data['style_font_size']; ?></div>
1148 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_font_size'], ENT_QUOTES) ?>" />
1149 - <input name="accua_form_style_font_size" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_font_size'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1150 -</div>
1151 -
1152 -<h4><?php _e( 'Fields', 'accua-form-api'); ?></h4>
1153 -
1154 -<div id="accua_form_style_field_spacing" class="label_input">
1155 - <label><?php _e( 'Spacing', 'accua-form-api'); ?></label>
1156 - <div class="default_value"><?php echo $default_form_data['style_field_spacing']; ?></div>
1157 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_spacing'], ENT_QUOTES) ?>" />
1158 - <input name="accua_form_style_field_spacing" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_spacing'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1159 -</div>
1160 -
1161 -<div id="accua_form_style_field_border_color" class="label_input">
1162 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
1163 - <div class="default_value"><?php echo $default_form_data['style_field_border_color']; ?></div>
1164 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_color'], ENT_QUOTES) ?>" />
1165 - <input name="accua_form_style_field_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1166 -</div>
1167 -
1168 -<div id="accua_form_style_field_border_width" class="label_input">
1169 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
1170 - <div class="default_value"><?php echo $default_form_data['style_field_border_width']; ?></div>
1171 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_width'], ENT_QUOTES) ?>" />
1172 - <input name="accua_form_style_field_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1173 -</div>
1174 -
1175 -<div id="accua_form_style_field_border_radius" class="label_input">
1176 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
1177 - <div class="default_value"><?php echo $default_form_data['style_field_border_radius']; ?></div>
1178 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_radius'], ENT_QUOTES) ?>" />
1179 - <input name="accua_form_style_field_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1180 -</div>
1181 -
1182 -<div id="accua_form_style_field_background_color" class="label_input">
1183 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
1184 - <div class="default_value"><?php echo $default_form_data['style_field_background_color']; ?></div>
1185 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_background_color'], ENT_QUOTES) ?>" />
1186 - <input name="accua_form_style_field_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_background_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1187 -</div>
1188 -
1189 -<div id="accua_form_style_field_padding" class="label_input">
1190 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
1191 - <div class="default_value"><?php echo $default_form_data['style_field_padding']; ?></div>
1192 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_padding'], ENT_QUOTES) ?>" />
1193 - <input name="accua_form_style_field_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_padding'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1194 -</div>
1195 -
1196 -<div id="accua_form_style_field_color" class="label_input">
1197 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
1198 - <div class="default_value"><?php echo $default_form_data['style_field_color']; ?></div>
1199 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_color'], ENT_QUOTES) ?>" />
1200 - <input name="accua_form_style_field_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1201 -</div>
1202 -
1203 -
1204 -<h4><?php _e( 'Submit button', 'accua-form-api'); ?></h4>
1205 -
1206 -<div id="accua_form_style_submit_border_color" class="label_input">
1207 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
1208 - <div class="default_value"><?php echo $default_form_data['style_submit_border_color']; ?></div>
1209 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_color'], ENT_QUOTES) ?>" />
1210 - <input name="accua_form_style_submit_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1211 -</div>
1212 -
1213 -<div id="accua_form_style_submit_border_width" class="label_input">
1214 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
1215 - <div class="default_value"><?php echo $default_form_data['style_submit_border_width']; ?></div>
1216 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_width'], ENT_QUOTES) ?>" />
1217 - <input name="accua_form_style_submit_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1218 -</div>
1219 -
1220 -<div id="accua_form_style_submit_border_radius" class="label_input">
1221 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
1222 - <div class="default_value"><?php echo $default_form_data['style_submit_border_radius']; ?></div>
1223 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_radius'], ENT_QUOTES) ?>" />
1224 - <input name="accua_form_style_submit_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1225 -</div>
1226 -
1227 -<div id="accua_form_style_submit_background_color" class="label_input">
1228 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
1229 - <div class="default_value"><?php echo $default_form_data['style_submit_background_color']; ?></div>
1230 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_background_color'], ENT_QUOTES) ?>" />
1231 - <input name="accua_form_style_submit_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_background_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1232 -</div>
1233 -
1234 -<div id="accua_form_style_submit_padding" class="label_input">
1235 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
1236 - <div class="default_value"><?php echo $default_form_data['style_submit_padding']; ?></div>
1237 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_padding'], ENT_QUOTES) ?>" />
1238 - <input name="accua_form_style_submit_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_padding'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1239 -</div>
1240 -
1241 -<div id="accua_form_style_submit_color" class="label_input">
1242 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
1243 - <div class="default_value"><?php echo $default_form_data['style_submit_color']; ?></div>
1244 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_color'], ENT_QUOTES) ?>" />
1245 - <input name="accua_form_style_submit_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1246 -</div>
1247 -
1248 -<div id="accua_form_style_submit_font_size" class="label_input">
1249 - <label><?php _e( 'Font size', 'accua-form-api'); ?></label>
1250 - <div class="default_value"><?php echo $default_form_data['style_submit_font_size']; ?></div>
1251 - <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_font_size'], ENT_QUOTES) ?>" />
1252 - <input name="accua_form_style_submit_font_size" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_font_size'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'accua-form-api'); ?>
1253 -</div>
1254 -
1255 -
1256 -</div>
1257 -<p></p>
1258 -<input class="button button-primary button-large accua_form_save_settings_button" id="accua_form_save_settings_2" type="button" value="<?php _e( 'Save settings', 'accua-form-api'); ?>" /> <span class="accua_form_save_settings_status"></span>
1259 -
1260 -</div>
1261 -<script>
1262 -jQuery('input[type=radio]').change(function() {
1263 - var name = jQuery(this).attr('name');
1264 - if (jQuery(this).val() == '1') {
1265 - jQuery('#'+name+' .defalut_message').hide();
1266 - jQuery('#'+name+' .wp-editor-wrap').show();
1267 - }
1268 - else {
1269 - if(jQuery(this).val() != '-1')
1270 - jQuery('#'+name+' .defalut_message').show();
1271 - else
1272 - jQuery('#'+name+' .defalut_message').hide();
1273 - jQuery('#'+name+' .wp-editor-wrap').hide();
1274 - }
1275 -});
1276 -
1277 -jQuery('input[type=checkbox]').click(function() {
1278 - var name = jQuery(this).attr('name');
1279 - if (!this.checked) {
1280 - jQuery('#'+name+' .default_value').show();
1281 - jQuery('#'+name+' .accua_form_value, #'+name+' .wp-picker-container').hide();
1282 - }
1283 - else {
1284 - jQuery('#'+name+' .default_value').hide();
1285 - jQuery('#'+name+' .accua_form_value, #'+name+' .wp-picker-container').show();
1286 - }
1287 -});
1288 -
1289 -jQuery(".token_link").click(function() {
1290 - jQuery("#dialog_token").dialog("open");
1291 - return false;
1292 -});
1293 -
1294 -//inizializzazione
1295 -jQuery(document).ready(function($){
1296 - $('#accua_form_preview_area_wrapper').resizable({handles: 's'});
1297 - $('#accua_form_preview_area').css({
1298 - 'width': '100%',
1299 - 'height': '100%'
1300 - });
1301 - $.each(
1302 - ['success_message','error_message','admin_emails_message','confirmation_emails_message'],
1303 - function(i,key){
1304 - var value = $('#accua_form_'+key+' .accua_form_check_override:checked').val();
1305 - if(value!=undefined && value!=0) {
1306 - if(value!=-1)
1307 - jQuery('#accua_form_'+key+' .wp-editor-wrap').show();
1308 - else
1309 - jQuery('#accua_form_'+key+' .wp-editor-wrap').hide();
1310 - jQuery('#accua_form_'+key+' .defalut_message').hide();
1311 -
1312 - }
1313 - else {
1314 - jQuery('#accua_form_'+key+' .wp-editor-wrap').hide();
1315 - jQuery('#accua_form_'+key+' .defalut_message').show();
1316 - }
1317 - }
1318 - );
1319 - $.each(
1320 - ['emails_from','admin_emails_to','emails_bcc','admin_emails_subject','confirmation_emails_subject','style_margin','style_border_color','style_border_width','style_border_radius','style_background_color','style_padding','style_color','style_font_size','style_field_spacing','style_field_border_color','style_field_border_width','style_field_border_radius','style_field_background_color','style_field_padding','style_field_color','style_submit_border_color','style_submit_border_width','style_submit_border_radius','style_submit_background_color','style_submit_padding','style_submit_color','style_submit_font_size'],
1321 - function(i,key){
1322 - if(!$('#accua_form_'+key+' .accua_form_check_override').is(':checked')) {
1323 - jQuery('#accua_form_'+key+' .default_value').show();
1324 - jQuery('#accua_form_'+key+' .accua_form_value, #accua_form_'+key+' .wp-picker-container').hide();
1325 - }
1326 - else {
1327 - jQuery('#accua_form_'+key+' .default_value').hide();
1328 - jQuery('#accua_form_'+key+' .accua_form_value, #accua_form_'+key+' .wp-picker-container').show();
1329 - }
1330 - });
1331 - $("#dialog_token").dialog({ dialogClass:'wp-dialog' ,autoOpen : false, modal : true, show : "blind", hide : "blind"});
1332 -
1333 - $('#accua_token a').appendTo('.wp-media-buttons');
1334 -
1335 -});
1336 -
1337 -jQuery(document).ready(function($){
1338 -
1339 - var originalWidth = $(document).width();
1340 - if(originalWidth <= 883) { //iphone
1341 - $(".metabox-holder").width('98%');
1342 - }
1343 -
1344 - $(window).resize(function (e) {
1345 - var newWidth = $(document).width();
1346 - if(newWidth <= 883) {
1347 - if (originalWidth > 883) {
1348 - $(".metabox-holder").width('98%');
1349 - }
1350 - } else if (originalWidth<=883) {
1351 - $(".metabox-holder").width('47%');
1352 - }
1353 - originalWidth = newWidth;
1354 - });
1355 -});
1356 -
1357 -</script>
1358 -
1359 -<?php
1360 -}
1361 -
1362 -function accua_forms_fields_page_head() {
1363 -/*
1364 - $baseurl = WP_PLUGIN_URL.'/'.substr(plugin_basename(__FILE__),0,-strlen(basename(__FILE__)));
1365 -?>
1366 - <script type="text/javascript" src="<?php echo $baseurl.'/qtip/jquery.qtip-1.0.0-rc3.js'; ?>"></script>
1367 - <script type="text/javascript">
1368 - var avail_fields = {
1369 - first_name: {
1370 - id: "first_name",
1371 - name: "First Name",
1372 - type: "textfield"
1373 - },
1374 - last_name: {
1375 - id: "last_name",
1376 - name: "Last Name",
1377 - type: "textfield"
1378 - },
1379 - email: {
1380 - id: "email",
1381 - name: "Email",
1382 - type: "email"
1383 - }
1384 - };
1385 -
1386 - jQuery(function($){
1387 - $avail = $('#available_fields_container');
1388 - for(var id in avail_fields) {
1389 - var field = avail_fields[id];
1390 - var el = $('<div></div>').text(field.name);
1391 - el.prepend('<input type="checkbox" />');
1392 - var content = $('<div><span>Id: </span></div>');
1393 - content.append($('<input type="text" />').val(field.id));
1394 - content.append($('<br /><span>Name: </span>'));
1395 - content.append($('<input type="text" />').val(field.name));
1396 - content.append($('<br /><span>Type: </span>'));
1397 - content.append($('<select><option value="textfield">Textfield</option><option value="textarea">Textarea</option><option value="email">Email</option></select>').val(field.type));
1398 - el.qtip({
1399 - content: {
1400 - text: content
1401 - },
1402 - position: {
1403 - target: 'mouse',
1404 - corner: {
1405 - target: 'bottomRight',
1406 - tooltip: 'topLeft'
1407 - },
1408 - adjust: {
1409 - mouse: false
1410 - }
1411 - },
1412 - show: {
1413 - when: {
1414 - event: 'mouseover'
1415 - },
1416 - solo: true
1417 - },
1418 - hide: {
1419 - when: {
1420 - event: 'unfocus'
1421 - }
1422 - }
1423 - });
1424 - $avail.append(el);
1425 - }
1426 - });
1427 - </script>
1428 - <style type="text/css">
1429 - .container > div {
1430 - padding: 0px;
1431 - margin-bottom: 6px;
1432 - }
1433 - </style>
1434 -<?php
1435 -*/
1436 -}
1437 -
1438 -function accua_forms_fields_page() {
1439 -/*
1440 -?>
1441 -<div class="wrap"><h2>Edit Form Fields</h2>
1442 - <div id="available_fields_container" class="container"></div>
1443 -</div>
1444 -<?php
1445 -*/
1446 - $message = '';
1447 -
1448 - /*
1449 - $avail_fields = array(
1450 - 'first_name' => array (
1451 - 'id' => "first_name",
1452 - 'name' => "First Name",
1453 - 'type' => "textfield",
1454 - 'description' => 'This is the first name',
1455 - ),
1456 - 'last_name' => array (
1457 - 'id' => "last_name",
1458 - 'name' => "Last Name",
1459 - 'type' => "textfield",
1460 - 'description' => 'This is the last name',
1461 - ),
1462 - 'email' => array (
1463 - 'id' => "email",
1464 - 'name' => "Email",
1465 - 'type' => "email",
1466 - 'description' => 'This is the email',
1467 - ),
1468 - );
1469 - */
1470 -
1471 - $avail_fields = get_option('accua_forms_avail_fields', array());
1472 -
1473 - $default_form_values = array(
1474 - 'id' => '',
1475 - 'name' => '',
1476 - 'type' => 'textfield',
1477 - 'description' => '',
1478 - 'default_value' => '',
1479 - 'allowed_values' => '',
1480 - );
1481 -
1482 - $editing = false;
1483 - $adding = true;
1484 -
1485 - if (!empty($_POST['action'])) {
1486 - $post = stripslashes_deep($_POST);
1487 - switch($post['action']) {
1488 - case 'edit-form-field':
1489 - if (empty($avail_fields[$post['form-field-id']])) {
1490 - $message .= 'Field "'.htmlspecialchars($post['form-field-id']).'" doesn\'t exists';
1491 - } else {
1492 - if (empty($post['delete-field'])) {
1493 - $avail_fields[$post['form-field-id']] = array(
1494 - 'id' => $post['form-field-id'],
1495 - 'name' => $post['form-field-name'],
1496 - 'type' => $post['form-field-type'],
1497 - 'description' => $post['form-field-description'],
1498 - 'default_value' => $post['form-field-default-value'],
1499 - 'allowed_values' => $post['form-field-allowed-values'],
1500 - );
1501 - $message .= sprintf( __( 'Field "%s" updated', 'accua-form-api'), htmlspecialchars($post['form-field-id']) );
1502 - } else {
1503 - unset ($avail_fields[$post['form-field-id']]);
1504 - $message .= sprintf( __( 'Field "%s" deleted', 'accua-form-api'), htmlspecialchars($post['form-field-id']) );
1505 - }
1506 - update_option('accua_forms_avail_fields', $avail_fields);
1507 - }
1508 - break;
1509 - case 'add-form-field':
1510 - $fill_form_fields = true;
1511 - $valid = true;
1512 - if (empty($post['form-field-id']) || !preg_match('/^[a-z0-9_-]+$/i', $post['form-field-id'])) {
1513 - $message .= "<p>".__( 'Only letters, numbers, hyphen and underscores allowed in field identificative slug', 'accua-form-api')."</p>";
1514 - $valid = false;
1515 - }
1516 - if(substr($post['form-field-id'], 0, 2) == '__') {
1517 - $message .= "<p>".__( 'The field identificative slug can\'t start with two underscores (__)', 'accua-form-api')."</p>";
1518 - $valid = false;
1519 - }
1520 - if (!empty($avail_fields[$post['form-field-id']])) {
1521 - $message .= sprintf( __( '<p>A field with identificative slug "%s" already exists</p> Field "%s" deleted', 'accua-form-api'), htmlspecialchars($post['form-field-id']) );
1522 - $valid = false;
1523 - }
1524 - if (strlen($post['form-field-id']) > 70) {
1525 - $message .= "<p>".__( 'The identificative slug cannot be longer than 70 characters', 'accua-form-api')."</p>";
1526 - $valid = false;
1527 - }
1528 - if ($valid) {
1529 - $fill_form_fields = false;
1530 - $avail_fields[$post['form-field-id']] = array(
1531 - 'id' => $post['form-field-id'],
1532 - 'name' => $post['form-field-name'],
1533 - 'type' => $post['form-field-type'],
1534 - 'description' => $post['form-field-description'],
1535 - 'default_value' => $post['form-field-default-value'],
1536 - 'allowed_values' => $post['form-field-allowed-values'],
1537 - );
1538 - update_option('accua_forms_avail_fields', $avail_fields);
1539 - $message .= sprintf( __( 'Field "%s" created', 'accua-form-api'), htmlspecialchars($post['form-field-id']) );
1540 - }
1541 - if ($fill_form_fields) {
1542 - $editing = true;
1543 - $default_form_values = array(
1544 - 'id' => $post['form-field-id'],
1545 - 'name' => $post['form-field-name'],
1546 - 'type' => $post['form-field-type'],
1547 - 'description' => $post['form-field-description'],
1548 - 'default_value' => $post['form-field-default-value'],
1549 - 'allowed_values' => $post['form-field-allowed-values'],
1550 - );
1551 - }
1552 - break;
1553 - }
1554 - } else if (!empty($_GET['edit-fid'])) {
1555 - $fid = stripslashes($_GET['edit-fid']);
1556 - if (empty($avail_fields[$fid])) {
1557 - $message .= sprintf( __( 'Field "%s" doesn\'t exists', 'accua-form-api'), $fid );
1558 - } else {
1559 - $adding = false;
1560 - $editing = true;
1561 - $default_form_values = $avail_fields[$fid];
1562 - }
1563 - }
1564 -
1565 -?>
1566 -<div id="accua_forms_fields_page" class="accua_forms_admin_page wrap nosubsub">
1567 -<div id="icon-contact-forms-cimatti-logo" class="icon32"></div>
1568 -<h2><?php _e( 'Form fields', 'accua-form-api'); ?></h2>
1569 -<?php /* screen_icon(); ?>
1570 -<h2><?php echo esc_html( $title );
1571 -if ( !empty($_REQUEST['s']) )
1572 - printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?>
1573 -</h2>
1574 -
1575 -<?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?>
1576 -<div id="message" class="updated"><p><?php echo $messages[$msg]; ?></p></div>
1577 -<?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
1578 -endif; */ ?>
1579 -<div id="ajax-response"><?php echo $message?></div>
1580 -
1581 -<?php /*
1582 -<form class="search-form" action="" method="get">
1583 -<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
1584 -<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
1585 -
1586 -<?php $wp_list_table->search_box( $tax->labels->search_items, 'tag' ); ?>
1587 -
1588 -</form>
1589 -*/ ?>
1590 -
1591 -<br class="clear" />
1592 -
1593 -<div id="col-container">
1594 -
1595 -<div id="col-right">
1596 -<div class="col-wrap">
1597 -<?php if (!$editing) { ?>
1598 -<form id="posts-filter" action="" method="post">
1599 -<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
1600 -<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
1601 -
1602 -<?php /* $wp_list_table->display(); */ ?>
1603 -
1604 -<table cellspacing="0" class="wp-list-table widefat fixed tags">
1605 - <thead>
1606 - <tr>
1607 - <th style="" class="manage-column column-cb check-column" id="cb" scope="col"><input type="checkbox" /></th>
1608 - <th style="" class="manage-column column-name" id="name" scope="col"><?php _e( 'Label', 'accua-form-api'); ?></th>
1609 - <th style="" class="manage-column column-description" id="description" scope="col"><?php _e( 'Description', 'accua-form-api'); ?></th>
1610 - <th style="" class="manage-column column-slug" id="slug" scope="col"><?php _e( 'Slug', 'accua-form-api'); ?></th>
1611 - <th style="" class="manage-column column-type" id="type" scope="col"><?php _e( 'Type', 'accua-form-api'); ?></th>
1612 - </tr>
1613 - </thead>
1614 -
1615 - <tfoot>
1616 - <tr>
1617 - <th style="" class="manage-column column-cb check-column" scope="col"><input type="checkbox" /></th>
1618 - <th style="" class="manage-column column-name" scope="col"><?php _e( 'Label', 'accua-form-api'); ?></th>
1619 - <th style="" class="manage-column column-description" scope="col"><?php _e( 'Description', 'accua-form-api'); ?></th>
1620 - <th style="" class="manage-column column-slug" scope="col"><?php _e( 'Slug', 'accua-form-api'); ?></th>
1621 - <th style="" class="manage-column column-type" scope="col"><?php _e( 'Type', 'accua-form-api'); ?></th>
1622 - </tr>
1623 - </tfoot>
1624 -
1625 - <tbody class="list:tag" id="the-list">
1626 -<?php
1627 - foreach ($avail_fields as $id => $field) {
1628 - foreach (array('id', 'name', 'type', 'description') as $i) {
1629 - $field[$i] = htmlspecialchars($field[$i], ENT_QUOTES);
1630 - }
1631 - echo <<<END_OF_ROW
1632 - <tr id="field-{$field['id']}">
1633 - <th class="check-column" scope="row"><input type="checkbox" /></th>
1634 - <td class="name column-name"><strong><a title="Edit “{$field['name']}”" href="admin.php?page=accua_forms_fields&amp;edit-fid={$field['id']}" class="row-title">{$field['name']}</a></strong><br><div class="row-actions"><span class="edit"><a href="admin.php?page=accua_forms_fields&amp;edit-fid={$field['id']}">Edit</a></span></div></td>
1635 - <td class="description column-description">{$field['description']}</td>
1636 - <td class="slug column-slug">{$field['id']}</td>
1637 - <td class="type column-type">{$field['type']}</td>
1638 - </tr>
1639 -END_OF_ROW;
1640 - }
1641 -?>
1642 - </tbody>
1643 -</table>
1644 -
1645 -<br class="clear" />
1646 -</form>
1647 -<?php } ?>
1648 -<?php /* if ( 'category' == $taxonomy ) : ?>
1649 -<div class="form-wrap">
1650 -<p><?php printf(__('<strong>Note:</strong><br />Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the category <strong>%s</strong>.'), apply_filters('the_category', get_cat_name(get_option('default_category')))) ?></p>
1651 -<?php if ( current_user_can( 'import' ) ) : ?>
1652 -<p><?php printf(__('Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.'), 'import.php') ?></p>
1653 -<?php endif; ?>
1654 -</div>
1655 -<?php elseif ( 'post_tag' == $taxonomy && current_user_can( 'import' ) ) : ?>
1656 -<div class="form-wrap">
1657 -<p><?php printf(__('Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>'), 'import.php') ;?>.</p>
1658 -</div>
1659 -<?php endif;
1660 -do_action('after-' . $taxonomy . '-table', $taxonomy);
1661 -*/ ?>
1662 -
1663 -</div>
1664 -</div><!-- /col-right -->
1665 -
1666 -<div id="col-left">
1667 -<div class="col-wrap">
1668 -
1669 -<?php
1670 -/*
1671 -if ( !is_null( $tax->labels->popular_items ) ) {
1672 - if ( current_user_can( $tax->cap->edit_terms ) )
1673 - $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false, 'link' => 'edit' ) );
1674 - else
1675 - $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false ) );
1676 -
1677 - if ( $tag_cloud ) :
1678 - ?>
1679 -<div class="tagcloud">
1680 -<h3><?php echo $tax->labels->popular_items; ?></h3>
1681 -<?php echo $tag_cloud; unset( $tag_cloud ); ?>
1682 -</div>
1683 -<?php
1684 -endif;
1685 -}
1686 -*/
1687 -
1688 -/*
1689 -if ( current_user_can($tax->cap->edit_terms) ) {
1690 - // Back compat hooks. Deprecated in preference to {$taxonomy}_pre_add_form
1691 - if ( 'category' == $taxonomy )
1692 - do_action('add_category_form_pre', (object)array('parent' => 0) );
1693 - elseif ( 'link_category' == $taxonomy )
1694 - do_action('add_link_category_form_pre', (object)array('parent' => 0) );
1695 - else
1696 - do_action('add_tag_form_pre', $taxonomy);
1697 -
1698 - do_action($taxonomy . '_pre_add_form', $taxonomy);
1699 -*/
1700 -
1701 -$types = array(
1702 - 'textfield' => __( 'Text Field', 'accua-form-api'),
1703 - 'textarea' => __( 'Text Area', 'accua-form-api'),
1704 - 'email' => __( 'Email', 'accua-form-api'),
1705 - 'autoreply_email' => __( 'Autoreply Email', 'accua-form-api'),
1706 - 'checkbox' => __( 'Checkbox','accua-form-api'),
1707 - 'select' => __('Select', 'accua-form-api'),
1708 - 'radio' => __( 'Radio buttons', 'accua-form-api'),
1709 - 'multiselect' => __( 'Multiple selections area', 'accua-form-api'),
1710 - 'multicheckbox' => __( 'Multiple checkboxes', 'accua-form-api'),
1711 - 'post-multicheckbox' => __( 'Multiple post checkboxes', 'accua-form-api'),
1712 - 'colorpicker' => __( 'Color picker', 'accua-form-api'),
1713 - 'hidden' => __('Hidden value', 'accua-form-api'),
1714 - 'file' => __('File upload', 'accua-form-api'),
1715 - 'submit' => __( 'Submit button', 'accua-form-api'),
1716 - 'html' => __( 'Custom HTML', 'accua-form-api'),
1717 - 'captcha' => __( 'Captcha', 'accua-form-api'),
1718 - 'password' => 'Password',
1719 - 'password-and-confirm' => __( 'Password and password confirmation','accua-form-api'),
1720 -);
1721 -
1722 -
1723 -?>
1724 -<div class="form-wrap">
1725 -<h3><?php echo $adding? __( 'Add new field','accua-form-api'): __( 'Edit field','accua-form-api') ; ?></h3>
1726 -<form id="addtag" method="post" action="admin.php?page=accua_forms_fields" class="validate">
1727 -<input type="hidden" name="action" value="<?php echo $adding?'add':'edit'; ?>-form-field" />
1728 -<?php /*
1729 -<input type="hidden" name="screen" value="<?php echo esc_attr($current_screen->id); ?>" />
1730 -<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
1731 -<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
1732 -*/ ?>
1733 -<?php wp_nonce_field('add-tag', '_wpnonce_add-form-field'); ?>
1734 -
1735 -<div class="form-field form-required">
1736 - <label for="tag-name"><?php _e( 'Field label', 'accua-form-api'); ?></label>
1737 - <input name="form-field-name" id="tag-name" type="text" value="<?php echo htmlspecialchars($default_form_values['name'], ENT_QUOTES) ?>" size="40" aria-required="true" />
1738 - <p><?php _e('The name is how it appears on your site.', 'accua-form-api'); ?></p>
1739 -</div>
1740 -<?php /* if ( ! global_terms_enabled() ) : */ ?>
1741 -<div class="form-field">
1742 - <label for="tag-slug"><?php _e( 'Field slug (identificative)', 'accua-form-api'); ?></label>
1743 - <input name="form-field-id" id="tag-slug" type="text" value="<?php echo htmlspecialchars($default_form_values['id'], ENT_QUOTES) ?>" <?php if (!$adding) { echo 'disabled="disabled"'; } ?> size="40" />
1744 - <?php if (!$adding) { echo '<input type="hidden" name="form-field-id" value="'.htmlspecialchars($default_form_values['id'], ENT_QUOTES).'" />'; } ?>
1745 - <p><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is used as an identificator, and is unchangeable. It is usually all lowercase and it must contains only letters, numbers, and underscores.', 'accua-form-api'); ?></p>
1746 -</div>
1747 -<div class="form-field">
1748 - <label for="parent"><?php _e( 'Field type', 'accua-form-api'); ?></label>
1749 - <select class="postform" id="parent" name="form-field-type">
1750 - <?php /*
1751 - <option value="textfield" class="level-0" <?php echo ($default_form_values['type'] == 'textfield')?'selected="selected"':'';?> >Text Field</option>
1752 - <option value="textarea" class="level-0" <?php echo ($default_form_values['type'] == 'textarea')?'selected="selected"':'';?> >Text Area</option>
1753 - <option value="email" class="level-0" <?php echo ($default_form_values['type'] == 'email')?'selected="selected"':'';?> >Email</option>
1754 - <option value="checkbox" class="level-0" <?php echo ($default_form_values['type'] == 'checkbox')?'selected="selected"':'';?> >Checkbox</option>
1755 - <option value="select" class="level-0" <?php echo ($default_form_values['type'] == 'select')?'selected="selected"':'';?> >Select</option>
1756 - */
1757 - foreach ($types as $typeid => $typename) {
1758 - $selected = ($default_form_values['type'] == $typeid)?'selected="selected"':'';
1759 - echo <<<EOT
1760 -<option value="{$typeid}" class="level-0" {$selected} >{$typename}</option>
1761 -EOT;
1762 - }
1763 -
1764 - ?>
1765 - </select>
1766 -</div>
1767 -<?php /* endif; // global_terms_enabled() */ ?>
1768 -<?php /* if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
1769 -<div class="form-field">
1770 - <label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label>
1771 - <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'taxonomy' => $taxonomy, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => true, 'show_option_none' => __('None'))); ?>
1772 - <?php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
1773 - <p><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
1774 - <?php endif; ?>
1775 -</div>
1776 -<?php endif; // is_taxonomy_hierarchical() */ ?>
1777 -<div class="form-field">
1778 - <label for="tag-description"><?php _e( 'Field description', 'accua-form-api'); ?></label>
1779 - <textarea name="form-field-description" id="tag-description" rows="5" cols="40"><?php echo htmlspecialchars($default_form_values['description'], ENT_QUOTES) ?></textarea>
1780 - <p><?php _e('The description is not prominent by default; however, some themes may show it.', 'accua-form-api'); ?></p>
1781 -</div>
1782 -
1783 -<div class="form-field">
1784 - <label for="form-field-default-value"><?php _e( 'Default value(s)', 'accua-form-api'); ?>:</label>
1785 - <textarea name="form-field-default-value" id="form-field-default-value" rows="5" cols="40"><?php echo htmlspecialchars($default_form_values['default_value'], ENT_QUOTES) ?></textarea>
1786 - <p><?php _e( 'For multiple default values in multiple select and multiple checkboxes, use | as separator.', 'accua-form-api'); ?></p>
1787 -</div>
1788 -
1789 -<div class="form-field">
1790 - <label for="form-field-allowed-values"><?php _e( 'Allowed values', 'accua-form-api'); ?>:</label>
1791 - <textarea rows="5" cols="40" name="form-field-allowed-values" id=form-field-allowed-values"><?php echo htmlspecialchars($default_form_values['allowed_values'], ENT_QUOTES) ?></textarea>
1792 - <p><?php _e( 'Options used in select, radio and multiple checkboxes. Enter one value per line, in the format key|label. The key is the value that will be stored in the database. The label is optional, and the key will be used as the label if no label is specified. For file fields, this indicates allowed extensions (one per line without dot)', 'accua-form-api'); ?></p>
1793 -</div>
1794 -
1795 -
1796 -<?php
1797 -/*
1798 -if ( ! is_taxonomy_hierarchical($taxonomy) )
1799 - do_action('add_tag_form_fields', $taxonomy);
1800 -do_action($taxonomy . '_add_form_fields', $taxonomy);
1801 -*/
1802 -
1803 -if ($adding) {
1804 - submit_button( __( 'Add new field', 'accua-form-api'), 'button' );
1805 -} else {
1806 - submit_button( __( 'Save changes', 'accua-form-api'), 'button' );
1807 - submit_button( __( 'Delete field', 'accua-form-api'), 'button', 'delete-field');
1808 -}
1809 -
1810 -/*
1811 -// Back compat hooks. Deprecated in preference to {$taxonomy}_add_form
1812 -if ( 'category' == $taxonomy )
1813 - do_action('edit_category_form', (object)array('parent' => 0) );
1814 -elseif ( 'link_category' == $taxonomy )
1815 - do_action('edit_link_category_form', (object)array('parent' => 0) );
1816 -else
1817 - do_action('add_tag_form', $taxonomy);
1818 -
1819 -do_action($taxonomy . '_add_form', $taxonomy);
1820 -*/
1821 -?>
1822 -</form></div>
1823 -<?php /* } */ ?>
1824 -
1825 -</div>
1826 -</div><!-- /col-left -->
1827 -
1828 -</div><!-- /col-container -->
1829 -</div><!-- /wrap -->
1830 -<?php
1831 - /* echo '<pre>accua_forms_avail_fields:', htmlspecialchars(print_r($avail_fields, true)), '</pre>'; */
1832 -}
1833 -
1834 -function accua_forms_settings_page() {
1835 -?>
1836 -<div id="accua_forms_settings_page" class="accua_forms_admin_page wrap">
1837 -<div id="icon-contact-forms-cimatti-logo" class="icon32"></div>
1838 -<h2><?php _e( 'Default Form settings', 'accua-form-api'); ?></h2>
1839 -<?php
1840 - $empty_form_data = array(
1841 - 'success_message' => '',
1842 - 'error_message' => '',
1843 - 'emails_from' => '',
1844 - 'admin_emails_to' => '',
1845 - 'emails_bcc' => '',
1846 - 'admin_emails_subject' => '',
1847 - 'admin_emails_message' => '',
1848 - 'confirmation_emails_subject' => '',
1849 - 'confirmation_emails_message' => '',
1850 - 'layout' => 'sidebyside',
1851 - 'style_margin' => '',
1852 - 'style_border_color' => '',
1853 - 'style_border_width' => '',
1854 - 'style_border_radius' => '',
1855 - 'style_background_color' => '',
1856 - 'style_padding' => '',
1857 - 'style_color' => '',
1858 - 'style_font_size' => '',
1859 - 'style_field_spacing' => '',
1860 - 'style_field_border_color' => '',
1861 - 'style_field_border_width' => '',
1862 - 'style_field_border_radius' => '',
1863 - 'style_field_background_color' => '',
1864 - 'style_field_padding' => '',
1865 - 'style_field_color' => '',
1866 - 'style_submit_border_color' => '',
1867 - 'style_submit_border_width' => '',
1868 - 'style_submit_border_radius' => '',
1869 - 'style_submit_background_color' => '',
1870 - 'style_submit_padding' => '',
1871 - 'style_submit_color' => '',
1872 - 'style_submit_font_size' => '',
1873 - );
1874 -
1875 - $empty_file_data = array(
1876 - 'valid_extensions' => '',
1877 - 'max_size' => '',
1878 - 'dest_path' => '',
1879 - );
1880 -
1881 - if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['accua_form_save_form_settings'])) {
1882 - $post = stripslashes_deep($_POST);
1883 - $post += $empty_form_data;
1884 - $post += $empty_file_data;
1885 - $form_data = array();
1886 - $file_data = array();
1887 - foreach($empty_form_data as $key=>$val){
1888 - $form_data[$key] = $post[$key];
1889 - }
1890 - foreach($empty_file_data as $key=>$val){
1891 - $file_data[$key] = $post[$key];
1892 - }
1893 -
1894 -
1895 -
1896 - update_option('accua_forms_default_form_data', $form_data);
1897 - update_option('accua_forms_default_file_field_data', $file_data);
1898 - } else {
1899 - $form_data = get_option('accua_forms_default_form_data',array()) + $empty_form_data;
1900 - $file_data = get_option('accua_forms_default_file_field_data',array()) + $empty_file_data;
1901 - }
1902 -?>
1903 -<form method="post">
1904 -<input type="hidden" name="accua_form_save_form_settings" value="1" />
1905 -<?php /*
1906 -<p id="accua_form_layout"><?php _e( 'Layout', 'accua-form-api'); ?>: <select name="layout" class="accua_form_value"><option value="sidebyside" <?php if ($form_data['layout'] == 'sidebyside') { echo 'selected="selected"'; } ?>>Labels on the left of the fields</option><option value="toplabel" <?php if ($form_data['layout'] == 'toplabel') { echo 'selected="selected"'; } ?>>Labels on top of the fields</option></select></p>
1907 -<p id="accua_form_success_message"><?php _e( 'Success message', 'accua-form-api'); ?>:<br /><textarea name="success_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['success_message'], ENT_QUOTES) ?></textarea></p>
1908 -<p id="accua_form_error_message"><?php _e( 'Error message', 'accua-form-api'); ?>:<br /><textarea name="error_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['error_message'], ENT_QUOTES) ?></textarea></p>
1909 -<p id="accua_form_emails_from"><?php _e( 'Emails from', 'accua-form-api'); ?>: <input name="emails_from" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" /></p>
1910 -<p id="accua_form_admin_emails_to"><?php _e( 'Admin emails to', 'accua-form-api'); ?>: <input name="admin_emails_to" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" /></p>
1911 -<p id="accua_form_emails_bcc"><?php _e( 'Emails bcc', 'accua-form-api'); ?>: <input name="emails_bcc" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" /></p>
1912 -<p id="accua_form_admin_emails_subject"><?php _e( 'Admin email subject', 'accua-form-api'); ?>: <input name="admin_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" /></p>
1913 -<p id="accua_form_admin_emails_message"><?php _e( 'Admin email message', 'accua-form-api'); ?>:<br /><textarea name="admin_emails_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['admin_emails_message'], ENT_QUOTES) ?></textarea></p>
1914 -<p id="accua_form_confirmation_emails_subject"><?php _e( 'Confirmation email subject', 'accua-form-api'); ?>: <input name="confirmation_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" /></p>
1915 -<p id="accua_form_confirmation_emails_message"><?php _e( 'Confirmation email message', 'accua-form-api'); ?>:<br /><textarea name="confirmation_emails_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['confirmation_emails_message'], ENT_QUOTES) ?></textarea></p>
1916 -*/ ?>
1917 -<div id="accua_tab_messages" class="content_tab">
1918 - <?php
1919 - $settings_editor = array(
1920 - 'teeny' => true,
1921 - 'editor_class' => 'accua_form_value',
1922 - 'tinymce' => array(
1923 - 'theme_advanced_buttons1' => 'bold,italic,underline,|,bullist,numlist,'));
1924 - ?>
1925 - <div class="metabox-holder accua-forms-metabox-holder">
1926 - <div class="postbox ">
1927 - <h3 class="hndle"><span><?php _e('1. On-screen success message', 'accua-form-api'); ?></span></h3>
1928 - <div class="inside" id="dashboard_right_now">
1929 - <div id="accua_form_success_message">
1930 - <?php wp_editor( $form_data['success_message'] , 'success_message' , $settings_editor); ?>
1931 - </div>
1932 - </div>
1933 - </div>
1934 - </div>
1935 -
1936 - <div class="metabox-holder accua-forms-metabox-holder">
1937 - <div class="postbox ">
1938 - <h3 class="hndle"><span><?php _e('2. On-screen error message', 'accua-form-api'); ?></span></h3>
1939 - <div class="inside" id="dashboard_right_now">
1940 - <div id="accua_form_error_message">
1941 - <?php wp_editor( $form_data['error_message'] , 'error_message' , $settings_editor); ?>
1942 - </div>
1943 - </div>
1944 - </div>
1945 - </div>
1946 - <br clear="all"/>
1947 - <div class="metabox-holder accua-forms-metabox-holder">
1948 - <div class="postbox ">
1949 - <h3 class="hndle"><span><?php _e('3. Email to notify administrator', 'accua-form-api'); ?></span></h3>
1950 - <div class="inside" id="dashboard_right_now">
1951 - <div id="accua_form_admin_emails_to" class="label_input">
1952 - <label><?php _e( 'To', 'accua-form-api'); ?></label>
1953 - <input name="admin_emails_to" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" />
1954 - </div>
1955 - <br clear="all" />
1956 - <div id="accua_form_emails_bcc" class="label_input">
1957 - <label><?php _e( 'Bcc', 'accua-form-api'); ?></label>
1958 - <input name="emails_bcc" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" />
1959 - </div>
1960 - <br clear="all" />
1961 - <div id="accua_form_admin_emails_subject" class="label_input">
1962 - <label><?php _e( 'Subject', 'accua-form-api'); ?></label>
1963 - <input name="admin_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" />
1964 - </div>
1965 - <br clear="all" />
1966 - <div id="accua_form_admin_emails_message">
1967 - <?php wp_editor( $form_data['admin_emails_message'] , 'admin_emails_message' , $settings_editor); ?>
1968 - </div>
1969 -
1970 - </div>
1971 - </div>
1972 - </div>
1973 -
1974 - <div class="metabox-holder accua-forms-metabox-holder">
1975 - <div class="postbox ">
1976 - <h3 class="hndle"><span><?php _e('4. Email confirmation to the person who completed the form', 'accua-form-api'); ?></span></h3>
1977 - <div class="inside" id="dashboard_right_now">
1978 - <div id="accua_form_emails_from" class="label_input">
1979 - <label><?php _e( 'From', 'accua-form-api'); ?></label>
1980 - <input class="accua_form_value" name="emails_from" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" />
1981 - </div>
1982 - <br clear="all" />
1983 - <div id="accua_form_confirmation_emails_subject" class="label_input">
1984 - <label><?php _e( 'Subject', 'accua-form-api'); ?></label>
1985 - <input class="accua_form_value" type="text" name="confirmation_emails_subject" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" />
1986 - </div>
1987 - <br clear="all" />
1988 - <div id="accua_form_confirmation_emails_message">
1989 - <?php wp_editor( $form_data['confirmation_emails_message'] , 'confirmation_emails_message' , $settings_editor); ?>
1990 - </div>
1991 - </div>
1992 - </div>
1993 - </div>
1994 - <br clear="all"/>
1995 -
1996 - <div class="metabox-holder accua-forms-metabox-holder">
1997 - <div class="postbox ">
1998 - <h3 class="hndle"><span><?php _e( 'File upload default settings', 'accua-form-api'); ?></span></h3>
1999 - <div class="inside" id="dashboard_right_now">
2000 - <div id="accua_form_valid_extensions"><?php _e( 'Valid extensions', 'accua-form-api'); ?> <br /><textarea name="valid_extensions" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($file_data['valid_extensions'], ENT_QUOTES) ?></textarea>
2001 - <small><?php _e( 'List of valid extensions, without dot, one per line.', 'accua-form-api'); ?></small>
2002 - </div>
2003 - <div id="accua_form_max_size"><?php _e( 'Maximum file size:', 'accua-form-api'); ?> <input name="max_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['max_size'], ENT_QUOTES) ?>" /><br />
2004 - <small><?php _e( 'You can use suffix K, M or G for kilobyte, megabyte or gigabyte.', 'accua-form-api'); ?>
2005 - <?php
2006 - $server_max_size = AccuaForm_Element_File::file_upload_max_size();
2007 - if ($server_max_size > 0) {
2008 - _e( 'This value is limited by server upload limits of ', 'accua-form-api');
2009 - echo AccuaForm_Element_File::format_size($server_max_size).". ";
2010 - _e( 'If you need a greater limit you should ask to the server administrator.', 'accua-form-api');
2011 - }
2012 - ?>
2013 - </small>
2014 - </div>
2015 - <div id="accua_form_dest_path"><?php _e( 'Upload path', 'accua-form-api');?> : <input name="dest_path" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['dest_path'], ENT_QUOTES) ?>" />
2016 - <small><?php _e( 'If it stars with \'/\' an absolute path is used, otherwise a path relative to the WordPress installation directory. Default value is "wp-content/uploads/accua-forms"', 'accua-form-api');?>.</small>
2017 - </div>
2018 - </div>
2019 - </div>
2020 - </div>
2021 -
2022 - <div class="metabox-holder accua-forms-metabox-holder">
2023 - <div class="postbox ">
2024 - <h3 class="hndle"><span><?php _e( 'Layout &amp; Styling', 'accua-form-api'); ?></span></h3>
2025 - <div class="inside" id="dashboard_right_now">
2026 - <p><?php _e( 'Customize the look and feel of your forms. Leave fields empty if you wish to use the native styles of your WordPress Theme.', 'accua-form-api'); ?><p>
2027 - <h4><?php _e( 'Forms', 'accua-form-api'); ?></h4>
2028 - <div id="accua_form_layout"> <?php _e( 'Layout', 'accua-form-api'); ?>
2029 - <select name="layout" class="accua_form_value"><option value="sidebyside" <?php if ($form_data['layout'] == 'sidebyside') { echo 'selected="selected"'; } ?>>Labels on the left of the fields</option><option value="toplabel" <?php if ($form_data['layout'] == 'toplabel') { echo 'selected="selected"'; } ?>>Labels on top of the fields</option></select>
2030 - </div>
2031 - <div id="accua_form_style_margin" class="label_input">
2032 - <label><?php _e( 'Margin', 'accua-form-api'); ?></label>
2033 - <input name="style_margin" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_margin'], ENT_QUOTES) ?>" />
2034 - </div>
2035 - <div id="accua_form_style_border_color" class="label_input">
2036 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
2037 - <input name="style_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_color'], ENT_QUOTES) ?>" />
2038 - </div>
2039 - <div id="accua_form_style_border_width" class="label_input">
2040 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
2041 - <input name="style_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_width'], ENT_QUOTES) ?>" />
2042 - </div>
2043 - <div id="accua_form_style_border_radius" class="label_input">
2044 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
2045 - <input name="style_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_radius'], ENT_QUOTES) ?>" />
2046 - </div>
2047 - <div id="accua_form_style_background_color" class="label_input">
2048 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
2049 - <input name="style_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_background_color'], ENT_QUOTES) ?>" />
2050 - </div>
2051 - <div id="accua_form_style_padding" class="label_input">
2052 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
2053 - <input name="style_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_padding'], ENT_QUOTES) ?>" />
2054 - </div>
2055 - <div id="accua_form_style_color" class="label_input">
2056 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
2057 - <input name="style_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_color'], ENT_QUOTES) ?>" />
2058 - </div>
2059 - <div id="accua_form_style_font_size" class="label_input">
2060 - <label><?php _e( 'Font size', 'accua-form-api'); ?></label>
2061 - <input name="style_font_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_font_size'], ENT_QUOTES) ?>" />
2062 - </div>
2063 -
2064 - <h4><?php _e( 'Fields', 'accua-form-api'); ?></h4>
2065 - <div id="accua_form_style_field_spacing" class="label_input">
2066 - <label><?php _e( 'Spacing', 'accua-form-api'); ?></label>
2067 - <input name="style_field_spacing" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_spacing'], ENT_QUOTES) ?>" />
2068 - </div>
2069 - <div id="accua_form_style_field_border_color" class="label_input">
2070 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
2071 - <input name="style_field_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_color'], ENT_QUOTES) ?>" />
2072 - </div>
2073 - <div id="accua_form_style_field_border_width" class="label_input">
2074 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
2075 - <input name="style_field_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_width'], ENT_QUOTES) ?>" />
2076 - </div>
2077 - <div id="accua_form_style_field_border_radius" class="label_input">
2078 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
2079 - <input name="style_field_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_radius'], ENT_QUOTES) ?>" />
2080 - </div>
2081 - <div id="accua_form_style_field_background_color" class="label_input">
2082 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
2083 - <input name="style_field_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_background_color'], ENT_QUOTES) ?>" />
2084 - </div>
2085 - <div id="accua_form_style_field_padding" class="label_input">
2086 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
2087 - <input name="style_field_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_padding'], ENT_QUOTES) ?>" />
2088 - </div>
2089 - <div id="accua_form_style_field_color" class="label_input">
2090 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
2091 - <input name="style_field_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_color'], ENT_QUOTES) ?>" />
2092 - </div>
2093 -
2094 - <h4><?php _e( 'Submit button', 'accua-form-api'); ?></h4>
2095 - <div id="accua_form_style_submit_border_color" class="label_input">
2096 - <label><?php _e( 'Border color', 'accua-form-api'); ?></label>
2097 - <input name="style_submit_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_color'], ENT_QUOTES) ?>" />
2098 - </div>
2099 - <div id="accua_form_style_submit_border_width" class="label_input">
2100 - <label><?php _e( 'Border width', 'accua-form-api'); ?></label>
2101 - <input name="style_submit_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_width'], ENT_QUOTES) ?>" />
2102 - </div>
2103 - <div id="accua_form_style_submit_border_radius" class="label_input">
2104 - <label><?php _e( 'Rounded corner radius', 'accua-form-api'); ?></label>
2105 - <input name="style_submit_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_radius'], ENT_QUOTES) ?>" />
2106 - </div>
2107 - <div id="accua_form_style_submit_background_color" class="label_input">
2108 - <label><?php _e( 'Background color', 'accua-form-api'); ?></label>
2109 - <input name="style_submit_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_background_color'], ENT_QUOTES) ?>" />
2110 - </div>
2111 - <div id="accua_form_style_submit_padding" class="label_input">
2112 - <label><?php _e( 'Padding', 'accua-form-api'); ?></label>
2113 - <input name="style_submit_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_padding'], ENT_QUOTES) ?>" />
2114 - </div>
2115 - <div id="accua_form_style_submit_color" class="label_input">
2116 - <label><?php _e( 'Text color', 'accua-form-api'); ?></label>
2117 - <input name="style_submit_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_color'], ENT_QUOTES) ?>" />
2118 - </div>
2119 - <div id="accua_form_style_submit_font_size" class="label_input">
2120 - <label><?php _e( 'Font size', 'accua-form-api'); ?></label>
2121 - <input name="style_submit_font_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_font_size'], ENT_QUOTES) ?>" />
2122 - </div>
2123 - <br clear="all" />
2124 - </div>
2125 - </div>
2126 - </div>
2127 -
2128 -
2129 - <br clear="all"/>
2130 -
2131 -</div>
2132 -
2133 -<?php /*
2134 -<h3><?php _e( 'File upload default settings', 'accua-form-api'); ?></h3>
2135 -<p id="accua_form_valid_extensions"><?php _e( 'Valid extensions', 'accua-form-api'); ?> <br /><textarea name="valid_extensions" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($file_data['valid_extensions'], ENT_QUOTES) ?></textarea>
2136 - <small><?php _e( 'List of valid extensions, without dot, one per line.', 'accua-form-api'); ?></small>
2137 -</p>
2138 -<p id="accua_form_max_size"><?php _e( 'Maximum file size:', 'accua-form-api'); ?> <input name="max_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['max_size'], ENT_QUOTES) ?>" /><br />
2139 - <small><?php _e( 'You can use suffix K, M or G for kilobyte, megabyte or gigabyte.', 'accua-form-api'); ?>
2140 -<?php
2141 - $server_max_size = AccuaForm_Element_File::file_upload_max_size();
2142 - if ($server_max_size > 0) {
2143 - _e( 'This value is limited by server upload limits of ', 'accua-form-api');
2144 - echo AccuaForm_Element_File::format_size($server_max_size).". ";
2145 - _e( 'If you need a greater limit you should ask to the server administrator.', 'accua-form-api');
2146 - }
2147 -?>
2148 - </small></p>
2149 -<p id="accua_form_dest_path"><?php _e( 'Upload path', 'accua-form-api');?> : <input name="dest_path" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['dest_path'], ENT_QUOTES) ?>" />
2150 - <small><?php _e( 'If it stars with \'/\' an absolute path is used, otherwise a path relative to the WordPress installation directory. Default value is "wp-content/uploads/accua-forms"', 'accua-form-api');?>.</small>
2151 -</p> */ ?>
2152 -<p><input class="button button-primary button-large" id="accua_form_save_settings" type="submit" value="Save settings" /></p>
2153 -</form>
2154 -</div>
2155 -
2156 -<script type='text/javascript'>
2157 -jQuery(function($) {
2158 - $('#accua_form_style_border_color .accua_form_value').wpColorPicker();
2159 - $('#accua_form_style_background_color .accua_form_value').wpColorPicker();
2160 - $('#accua_form_style_color .accua_form_value').wpColorPicker();
2161 - $('#accua_form_style_field_border_color .accua_form_value').wpColorPicker();
2162 - $('#accua_form_style_field_background_color .accua_form_value').wpColorPicker();
2163 - $('#accua_form_style_field_color .accua_form_value').wpColorPicker();
2164 - $('#accua_form_style_submit_border_color .accua_form_value').wpColorPicker();
2165 - $('#accua_form_style_submit_background_color .accua_form_value').wpColorPicker();
2166 - $('#accua_form_style_submit_color .accua_form_value').wpColorPicker();
2167 -});
2168 -</script>
2169 -
2170 -<?php
2171 -}
2172 -
2173 -function _accua_forms_get_abs_dest_path($dest_path = '') {
2174 - if ($dest_path === '') {
2175 - return realpath(ABSPATH) . '/wp-content/uploads/accua-forms';
2176 - } else if (substr($dest_path,0,1) === '/') {
2177 - return $dest_path;
2178 - } else {
2179 - return realpath(ABSPATH) . '/' . $dest_path;
2180 - }
2181 -}
2182 -
2183 -function _accua_forms_get_form_data($fid = false, $return_empty = true, $restore_trash = false){
2184 - $empty_form_data = array(
2185 - 'fields' => array(),
2186 - 'title' => '',
2187 - 'success_message' => '',
2188 - 'error_message' => '',
2189 - 'emails_from' => '',
2190 - 'admin_emails_to' => '',
2191 - 'emails_bcc' => '',
2192 - 'admin_emails_subject' => '',
2193 - 'admin_emails_message' => '',
2194 - 'confirmation_emails_subject' => '',
2195 - 'confirmation_emails_message' => '',
2196 - 'use_ajax' => true,
2197 - 'layout' => 'sidebyside',
2198 - 'style_margin' => '',
2199 - 'style_border_color' => '',
2200 - 'style_border_width' => '',
2201 - 'style_border_radius' => '',
2202 - 'style_background_color' => '',
2203 - 'style_padding' => '',
2204 - 'style_color' => '',
2205 - 'style_font_size' => '',
2206 - 'style_field_spacing' => '',
2207 - 'style_field_border_color' => '',
2208 - 'style_field_border_width' => '',
2209 - 'style_field_border_radius' => '',
2210 - 'style_field_background_color' => '',
2211 - 'style_field_padding' => '',
2212 - 'style_field_color' => '',
2213 - 'style_submit_border_color' => '',
2214 - 'style_submit_border_width' => '',
2215 - 'style_submit_border_radius' => '',
2216 - 'style_submit_background_color' => '',
2217 - 'style_submit_padding' => '',
2218 - 'style_submit_color' => '',
2219 - 'style_submit_font_size' => '',
2220 - );
2221 -
2222 - if ($fid === false) {
2223 - return $empty_form_data;
2224 - }
2225 -
2226 - $default_form_data = get_option('accua_forms_default_form_data',array());
2227 -
2228 - if ($fid === null) {
2229 - return $default_form_data + $empty_form_data;
2230 - }
2231 -
2232 - $forms_data = get_option('accua_forms_saved_forms', array());
2233 - if ($restore_trash) {
2234 - $trash_data = get_option('accua_forms_trash_forms', array());
2235 - if (isset($trash_data[$fid])) {
2236 - $forms_data[$fid] = $trash_data[$fid];
2237 - update_option('accua_forms_saved_forms', $forms_data);
2238 - unset($trash_data[$fid]);
2239 - update_option('accua_forms_trash_forms', $trash_data);
2240 - }
2241 - }
2242 -
2243 - if (isset($forms_data[$fid])) {
2244 - $form_data = array(
2245 - '_overrided' => $forms_data[$fid]
2246 - ) + $forms_data[$fid] + $default_form_data + $empty_form_data;
2247 - /*
2248 - if ($form_data['fields']) {
2249 - foreach ($form_data['fields'] as $i => $istance_data) {
2250 - // TODO: popuplate default fields data?
2251 - }
2252 - }
2253 - */
2254 - return $form_data;
2255 - } else if ($return_empty) {
2256 - return array(
2257 - '_overrided' => array()
2258 - ) + $default_form_data + $empty_form_data;
2259 - } else {
2260 - return null;
2261 - }
2262 -
2263 -}
2264 -
2265 -function _accua_forms_style_parameters($params) {
2266 - $ret = '';
2267 - foreach ($params as $key => $value) {
2268 - $value = trim($value);
2269 - if ($value !== '') {
2270 - if (is_numeric($value)) {
2271 - $ret .= "{$key}:{$value}px;";
2272 - } else {
2273 - $ret .= "{$key}:{$value};";
2274 - }
2275 - if ($key == 'border-width') {
2276 - $ret .= "border-style:solid;";
2277 - }
2278 - }
2279 - }
2280 - return $ret;
2281 -}
2282 -
2283 -add_action('accua_form_alter', 'accua_forms_form_generate', -999, 2);
2284 -function accua_forms_form_generate($baseid, $form) {
2285 - if (substr($baseid, 0, 14) == '__accua-form__') {
2286 - $fid = substr($baseid,14);
2287 - $form_data = _accua_forms_get_form_data($fid, false);
2288 - /*
2289 - echo '<!-- fid = ';
2290 - print_r($fid);
2291 - echo "\n\nform_data = ";
2292 - print_r($form_data);
2293 - echo "\n-->";
2294 - */
2295 - if ($form_data) {
2296 - $form_style = _accua_forms_style_parameters(array(
2297 - 'margin' => $form_data['style_margin'],
2298 - 'border-color' => $form_data['style_border_color'],
2299 - 'border-width' => $form_data['style_border_width'],
2300 - 'border-radius' => $form_data['style_border_radius'],
2301 - 'background' => $form_data['style_background_color'],
2302 - 'padding' => $form_data['style_padding'],
2303 - 'color' => $form_data['style_color'],
2304 - 'font-size' => $form_data['style_font_size'],
2305 - ));
2306 -
2307 - $field_style = _accua_forms_style_parameters(array(
2308 - 'margin-bottom' => $form_data['style_field_spacing'],
2309 - 'border-color' => $form_data['style_field_border_color'],
2310 - 'border-width' => $form_data['style_field_border_width'],
2311 - 'border-radius' => $form_data['style_field_border_radius'],
2312 - 'background' => (trim($form_data['style_field_background_color']) === '')?'transparent':$form_data['style_field_background_color'],
2313 - 'padding' => $form_data['style_field_padding'],
2314 - 'color' => (trim($form_data['style_field_color']) === '')?$form_data['style_color']:$form_data['style_field_color'],
2315 - 'font-size' => $form_data['style_font_size'],
2316 - ));
2317 - $field_properties = array();
2318 - if ($field_style !== '') {
2319 - $field_properties['style'] = $field_style;
2320 - }
2321 -
2322 - $submit_style = _accua_forms_style_parameters(array(
2323 - 'border-color' => $form_data['style_submit_border_color'],
2324 - 'border-width' => $form_data['style_submit_border_width'],
2325 - 'border-radius' => $form_data['style_submit_border_radius'],
2326 - 'background' => $form_data['style_submit_background_color'],
2327 - 'padding' => $form_data['style_submit_padding'],
2328 - 'color' => $form_data['style_submit_color'],
2329 - 'font-size' => $form_data['style_submit_font_size'],
2330 - ));
2331 - $submit_properties = array();
2332 - if ($submit_style !== '') {
2333 - $submit_properties['style'] = $submit_style;
2334 - }
2335 -
2336 - if ($form_style !== '') {
2337 - $form->configure(array('style' => $form_style));
2338 - }
2339 -
2340 - if (!empty($form_data['use_ajax'])){
2341 - $form->configure(array(
2342 - "accua_ajax" => 1,
2343 - ));
2344 - }
2345 -
2346 - $add_submit = true;
2347 - $fieldset_open = false;
2348 - $avail_fields = get_option('accua_forms_avail_fields', array());
2349 -
2350 - foreach ($form_data['fields'] as $istance_data) {
2351 -
2352 - if (empty($avail_fields[$istance_data['ref']])) {
2353 - $field_data = array();
2354 - if (!empty($istance_data['ref'])) {
2355 - if ($istance_data['ref'] == '__fieldset-begin') {
2356 - $field_data = array(
2357 - 'id' => '__fieldset-begin',
2358 - 'name' => __('Fieldset begin', 'accua-form-api'),
2359 - 'type' => 'fieldset-begin',
2360 - 'description' => '',
2361 - );
2362 - } else if ($istance_data['ref'] == '__fieldset-end') {
2363 - $field_data = array(
2364 - 'id' => '__fieldset-end',
2365 - 'name' => __('Fieldset end', 'accua-form-api'),
2366 - 'type' => 'fieldset-end',
2367 - 'description' => '',
2368 - );
2369 - }
2370 - }
2371 - } else {
2372 - $field_data = $avail_fields[$istance_data['ref']];
2373 - }
2374 -
2375 - $field_data += array(
2376 - 'id' => '__html',
2377 - 'name' => __( 'Custom HTML content', 'accua-form-api'),
2378 - 'type' => 'html',
2379 - 'description' => __('Use this special field to inject raw HTML in the form. You can use this multiple times.', 'accua-form-api'),
2380 - 'default_value' => '',
2381 - 'allowed_values' => '',
2382 - );
2383 -
2384 - $istance_data += array(
2385 - 'istance_id' => $field_data['id'],
2386 - 'widget_number' => '',
2387 - 'ref' => $field_data['id'],
2388 - 'label' => $field_data['name'],
2389 - 'default_value' => $field_data['default_value'],
2390 - 'allowed_values' => $field_data['allowed_values'],
2391 - );
2392 -
2393 - $element = null;
2394 -
2395 - $allowed_val = trim($istance_data['allowed_values']);
2396 -
2397 -
2398 - if ($field_data['type'] == 'post-multicheckbox') {
2399 - $posts = accua_get_pages($allowed_val);
2400 - $allowed_values = array();
2401 - foreach ($posts as $p) {
2402 - //$allowed_values[$p->ID] = apply_filters( 'the_title', $p->post_title, $p->ID );
2403 - $allowed_values[$p->ID] = $p->post_title;
2404 - }
2405 - } else {
2406 - if ($field_data['type'] == 'file') {
2407 - $filedata = get_option('accua_forms_default_file_field_data',array());
2408 - $filedata += array(
2409 - 'valid_extensions' => '',
2410 - 'max_filesize' => '',
2411 - 'dest_path' => '',
2412 - );
2413 - if ($allowed_val == '') {
2414 - $allowed_val = trim($filedata['valid_extensions']);
2415 - }
2416 - }
2417 -
2418 - $allowed_val = explode("\n",$allowed_val);
2419 - $allowed_values = array();
2420 - foreach ($allowed_val as $val) {
2421 - $val = explode('|',$val,2);
2422 - $val[0] = trim($val[0]);
2423 - /*
2424 - if (empty($val[0])) {
2425 - continue;
2426 - }
2427 - */
2428 - if ((!isset($val[1])) || (trim($val[1])==='')) {
2429 - if ($val[0] === '') {
2430 - continue;
2431 - } else {
2432 - $val[1] = $val[0];
2433 - }
2434 - }
2435 - $allowed_values[$val[0]] = $val[1];
2436 - }
2437 - }
2438 -
2439 - switch ($field_data['type']) {
2440 - case 'textarea':
2441 - $element = new Element_Textarea($istance_data['label'], $istance_data['istance_id'], $field_properties+array('cols' => '50', 'value'=>$istance_data['default_value']));
2442 - break;
2443 - case 'hidden':
2444 - $element = new Element_Hidden($istance_data['istance_id'], $istance_data['default_value']);
2445 - break;
2446 - case 'checkbox':
2447 - $lab = $istance_data['label'];
2448 - if (!empty($istance_data['required'])) {
2449 - $lab .= ' <strong>*</strong>';
2450 - }
2451 - if ($allowed_values) {
2452 - reset($allowed_values);
2453 - $val = (string) key($allowed_values);
2454 - $defval = trim($istance_data['default_value']);
2455 - } else if ($istance_data['default_value'] == '1') {
2456 - $defval = $val = '1';
2457 - } else {
2458 - $val = empty($istance_data['default_value'])?'1':$istance_data['default_value'];
2459 - }
2460 - $element = new AccuaForm_Element_Checkbox('', $istance_data['istance_id'], array($val => $lab), array('value' => $defval));
2461 - break;
2462 - case 'select':
2463 - if (!isset($allowed_values[''])) {
2464 - $allowed_values = array('' => '') + $allowed_values;
2465 - }
2466 - $defval = trim($istance_data['default_value']);
2467 - $element = new Element_Select($istance_data['label'], $istance_data['istance_id'], $allowed_values, $field_properties+array('value'=>$defval));
2468 - break;
2469 - case 'radio':
2470 - $defval = trim($istance_data['default_value']);
2471 - $element = new AccuaForm_Element_Radio($istance_data['label'], $istance_data['istance_id'], $allowed_values, array('value'=>$defval));
2472 - break;
2473 - case 'multiselect':
2474 - $defval = explode('|', $istance_data['default_value']);
2475 - foreach ($defval as $k => $v) {
2476 - $defval[$k] = trim($v);
2477 - }
2478 - $element = new Element_Select($istance_data['label'], $istance_data['istance_id'], $allowed_values, $field_properties+array('multiple' => true, 'value'=>$defval));
2479 - break;
2480 - case 'multicheckbox':
2481 - $defval = explode('|', $istance_data['default_value']);
2482 - foreach ($defval as $k => $v) {
2483 - $defval[$k] = trim($v);
2484 - }
2485 - $element = new AccuaForm_Element_Checkbox($istance_data['label'], $istance_data['istance_id'], $allowed_values, array('value'=>$defval));
2486 - case 'post-multicheckbox':
2487 - $defval = explode('|', $istance_data['default_value']);
2488 - foreach ($defval as $k => $v) {
2489 - $defval[$k] = trim($v);
2490 - }
2491 - $element = new AccuaForm_Element_Checkbox($istance_data['label'], $istance_data['istance_id'], $allowed_values, array('value'=>$defval));
2492 - break;
2493 - case 'file':
2494 - $fdata = array();
2495 -
2496 - if ($allowed_values) {
2497 - $fdata['validExtensions'] = array_keys($allowed_values);
2498 - }
2499 -
2500 - if ($filedata['max_size'] !== ''){
2501 - $fdata['maxSize'] = $filedata['max_size'];
2502 - }
2503 -
2504 - $fdata['destPath'] = _accua_forms_get_abs_dest_path($filedata['dest_path']);
2505 -
2506 - $element = new AccuaForm_Element_File($istance_data['label'], $istance_data['istance_id'], $field_properties+$fdata);
2507 - break;
2508 - case 'html':
2509 - $element = new Element_HTML($istance_data['default_value']);
2510 - break;
2511 - case 'email':
2512 - case 'autoreply_email':
2513 - $element = new AccuaForm_Element_Email($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
2514 - $element->setValidation(new Validation_Email(
2515 - str_replace('%element%', $istance_data['label'], __("Attention: '%element%' must contain an email address.", 'accua-form-api'))
2516 - ));
2517 - //"Errore: '{$istance_data['label']}' deve contenere un indirizzo email valido."
2518 - break;
2519 - case 'colorpicker':
2520 - $element = new AccuaForm_Element_ColorPicker($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
2521 - break;
2522 - case 'fieldset-begin':
2523 - if ($fieldset_open) {
2524 - $form->addElement(new AccuaForm_Element_FieldsetEnd());
2525 - } else {
2526 - $fieldset_open = true;
2527 - }
2528 - $element = new AccuaForm_Element_FieldsetBegin($istance_data['label']);
2529 - break;
2530 - case 'fieldset-end':
2531 - if ($fieldset_open) {
2532 - $element = new AccuaForm_Element_FieldsetEnd();
2533 - $fieldset_open = false;
2534 - }
2535 - break;
2536 - case 'submit':
2537 - $add_submit = false;
2538 - $element = new Element_Button($istance_data['label'], 'submit', $submit_properties+array('name' => $istance_data['istance_id'], 'value' => $istance_data['default_value']));
2539 - break;
2540 - case 'captcha':
2541 - $element = new AccuaForm_Element_Captcha ($istance_data['label'], array("description" => ""));
2542 - break;
2543 - case 'password':
2544 - $element = new Element_Password($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
2545 - break;
2546 - case 'password-and-confirm':
2547 - $id_2 = "___{$istance_data['istance_id']}___confirmpass";
2548 - $element = new Element_Password(__("Password", 'accua-form-api'), $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
2549 - $element_conf = new Element_Password(__("Confirm password", 'accua-form-api'), $id_2, $field_properties+array('value'=>$istance_data['default_value']));
2550 - $element_conf->setValidation(new AccuaForm_Validation_Password());
2551 - break;
2552 - //case 'textfield':
2553 - default:
2554 - $element = new Element_Textbox($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
2555 - break;
2556 - }
2557 - if ($element) {
2558 - if (!empty($istance_data['required'])) {
2559 - $element->setClass('accuaforms-field-required');
2560 - if($field_data['type']!='password-and-confirm') {
2561 - $element->setValidation(new Validation_Required(
2562 - str_replace('%element%', $istance_data['label'], __("Attention: '%element%' is a required field.", 'accua-form-api'))
2563 - ));
2564 - } else {
2565 - $element->setValidation(new Validation_Required(
2566 - str_replace('%element%', $istance_data['label'], __("Attention: Passwords are required fields.", 'accua-form-api'))
2567 - ));
2568 - }
2569 - }
2570 -
2571 - if ($elementName = $element->getName()) {
2572 - $element->setClass('accuaform-fieldname-'.$elementName);
2573 - }
2574 -
2575 - if ($field_data['type']) {
2576 - $element->setClass('accuaform-fieldtype-'.$field_data['type']);
2577 - }
2578 -
2579 - $form->addElement($element);
2580 - if($element_conf!=NULL) {
2581 - $form->addElement($element_conf);
2582 - $element_conf=NULL;
2583 - }
2584 - }
2585 - }
2586 - if ($fieldset_open) {
2587 - $form->addElement(new AccuaForm_Element_FieldsetEnd());
2588 - $fieldset_open = false;
2589 - }
2590 - if ($add_submit) {
2591 - $form->addElement(new Element_Button(__('Submit', 'accua-form-api'), 'submit', $submit_properties));
2592 - }
2593 - }
2594 -
2595 - }
2596 -}
2597 -
2598 -function accua_forms_aggregate_submitted_data(&$replace_map, $params = array()) {
2599 - if (empty($params['txt']) && empty($params['html']) && empty($params['json']) && empty($params['email'])) {
2600 - $params += array(
2601 - 'txt' => true,
2602 - 'html' => true,
2603 - 'json' => true,
2604 - 'email' => true,
2605 - );
2606 - }
2607 -
2608 - if (!empty($params['txt'])) {
2609 - $replace_map['__submitted_txt'] = implode("\n",$replace_map['__submitted_txt_raw']);
2610 - }
2611 - if (!empty($params['html'])) {
2612 - $replace_map['__submitted_html'] = implode('</td></tr><tr><td>',$replace_map['__submitted_html_raw']);
2613 - }
2614 - if (!empty($params['json'])) {
2615 - $replace_map['__submitted_json'] = json_encode($replace_map['__submitted_json_raw']);
2616 - }
2617 - if (!empty($params['email'])) {
2618 - $replace_map['__autoreply_email'] = implode('; ', $replace_map['__autoreply_email_raw']);
2619 - }
2620 -
2621 -}
2622 -
2623 -add_filter('accua_form_validate', 'accua_forms_validation_handler', 10, 4);
2624 -function accua_forms_validation_handler($valid, $submittedID, $submittedData, $form){
2625 - if (substr($submittedID, 0, 14) == '__accua-form__') {
2626 - $fid = substr($submittedID,14);
2627 - $form_data = _accua_forms_get_form_data($fid, false);
2628 - if ($form_data) {
2629 - return apply_filters('accua_forms_validation', $valid, $fid, $submittedData, $form);
2630 - }
2631 - }
2632 - return $valid;
2633 -}
2634 -
2635 -add_action('accua_form_submit', 'accua_forms_form_submission_handler', -10, 3);
2636 -function accua_forms_form_submission_handler($submittedID, $submittedData, $form) {
2637 - if ( empty( $GLOBALS['wp_rewrite'] ) )
2638 - $GLOBALS['wp_rewrite'] = new WP_Rewrite();
2639 -
2640 - if (!class_exists('AccuaConditionalReplacer')){
2641 - require_once('AccuaConditionalReplacer.php');
2642 - }
2643 - if (substr($submittedID, 0, 14) == '__accua-form__') {
2644 - $fid = substr($submittedID,14);
2645 - $form_data = _accua_forms_get_form_data($fid, false);
2646 - if ($form_data) {
2647 - global $wpdb;
2648 -
2649 - $time = time();
2650 -
2651 - $wpdb->insert(
2652 - $wpdb->prefix . 'accua_forms_submissions',
2653 - array (
2654 - 'afs_form_id' => $fid,
2655 - 'afs_post_id' => $form->stats['pid'],
2656 - 'afs_ip' => $form->stats['ip'],
2657 - 'afs_uri' => $form->stats['uri'],
2658 - 'afs_referrer' => $form->stats['referrer'],
2659 - 'afs_lang' => $form->stats['lang'],
2660 - 'afs_created' => gmdate('Y-m-d H:i:s', $form->stats['created']),
2661 - 'afs_submitted' => gmdate('Y-m-d H:i:s', $time),
2662 - 'afs_stats' => json_encode(array(
2663 - 'user_agent' => $form->stats['user_agent'],
2664 - 'platform' => $form->stats['platform'],
2665 - 'tentatives' => $form->stats['tentatives'],
2666 - 'submit_method' => $form->stats['submit_method'],
2667 - )),
2668 - )
2669 - );
2670 -
2671 - $submission_id = $form->stats['submission_id'] = $wpdb->insert_id;
2672 -
2673 -
2674 -
2675 - $replace_map = array(
2676 - '__fid' => $fid,
2677 - '__subid' => $submission_id,
2678 - '__pid' => $form->stats['pid'],
2679 - '__ip' => $form->stats['ip'],
2680 - '__uri' => $form->stats['uri'],
2681 - '__url' => $form->stats['url'],
2682 - '__referrer' => $form->stats['referrer'],
2683 - '__lang' => $form->stats['lang'],
2684 - '__locale' => $form->stats['locale'],
2685 - '__created' => $form->stats['created'],
2686 - '__created_day' => date('l j F Y', $form->stats['created']),
2687 - '__created_day_month_year' => date('j F Y', $form->stats['created']),
2688 - '__created_hour' => date('G:i', $form->stats['created']),
2689 - '__submitted' => $time,
2690 - '__submitted_day' => date('l j F Y', $time),
2691 - '__submitted_day_month_year' => date('j F Y', $time),
2692 - '__submitted_hour' => date('G:i', $time),
2693 - '__confirmation_emails_message' => $form_data['confirmation_emails_message'],
2694 - '__user_agent' => $form->stats['user_agent'],
2695 - '__platform' => $form->stats['platform'],
2696 - '__tentatives' => $form->stats['tentatives'],
2697 - '__submit_method' => $form->stats['submit_method'],
2698 - );
2699 -
2700 - $avail_fields = get_option('accua_forms_avail_fields', array());
2701 -
2702 - $replace_map['__autoreply_email_raw'] = array();
2703 - $replace_map['__submitted_txt_raw'] = array();
2704 - $replace_map['__submitted_html_raw'] = array();
2705 - $replace_map['__submitted_json_raw'] = array();
2706 -
2707 - $_field_data = array();
2708 - $_istance_data = array();
2709 -
2710 - foreach ($submittedData as $istance_id => $value) {
2711 - if (empty($form_data['fields'][$istance_id])) {
2712 - continue;
2713 - }
2714 - $istance_data = $form_data['fields'][$istance_id];
2715 -
2716 - if (empty($avail_fields[$istance_data['ref']])) {
2717 - $fieldset_data = array();
2718 - if (!empty($istance_data['ref'])) {
2719 - if ($istance_data['ref'] == '__fieldset-begin') {
2720 - $field_data = array(
2721 - 'id' => '__fieldset-begin',
2722 - 'name' => __('Fieldset begin', 'accua-form-api'),
2723 - 'type' => 'fieldset-begin',
2724 - 'description' => '',
2725 - );
2726 - } else if ($istance_data['ref'] == '__fieldset-end') {
2727 - $field_data = array(
2728 - 'id' => '__fieldset-end',
2729 - 'name' => __('Fieldset end', 'accua-form-api'),
2730 - 'type' => 'fieldset-end',
2731 - 'description' => '',
2732 - );
2733 - }
2734 - }
2735 - } else {
2736 - $field_data = $avail_fields[$istance_data['ref']];
2737 - }
2738 -
2739 - $field_data += array(
2740 - 'id' => '__html',
2741 - 'name' => __( 'Custom HTML content', 'accua-form-api'),
2742 - 'type' => 'html',
2743 - 'description' => __( 'Use this special field to inject raw HTML in the form. You can use this multiple times.', 'accua-form-api'),
2744 - 'default_value' => '',
2745 - 'allowed_values' => '',
2746 - );
2747 -
2748 - /*
2749 - echo "<!-- istance_data: "
2750 - , print_r($istance_data, true)
2751 - , "\nfield_data: "
2752 - , print_r($field_data, true)
2753 - , "\nvalue: "
2754 - , print_r($value, true)
2755 - , "\n-->\n";
2756 - */
2757 -
2758 - $istance_data += array(
2759 - 'istance_id' => $field_data['id'],
2760 - 'widget_number' => '',
2761 - 'ref' => $field_data['id'],
2762 - 'label' => $field_data['name'],
2763 - 'default_value' => $field_data['default_value'],
2764 - 'allowed_values' => $field_data['allowed_values'],
2765 - );
2766 -
2767 - switch ($field_data['type']) {
2768 - case 'checkbox':
2769 - case 'submit':
2770 - if (empty($value)) {
2771 - $replace_map[$istance_data['istance_id']] = $value = '';
2772 - } else {
2773 - if (empty($istance_data['default_value'])) {
2774 - $replace_map[$istance_data['istance_id']] = 'Checked';
2775 - $value = '1';
2776 - } else {
2777 - $replace_map[$istance_data['istance_id']] = $value = $istance_data['default_value'];
2778 - }
2779 - }
2780 - break;
2781 - case 'multiselect':
2782 - case 'multicheckbox':
2783 - $replace_map[$istance_data['istance_id']] = implode(', ',$value);
2784 - $value = implode('|',$value);
2785 - break;
2786 - case 'post-multicheckbox':
2787 - $el = $form->getElementByName($istance_id);
2788 - $opts = $el->getOptions();
2789 - $value2 = array();
2790 - foreach ($value as $val) {
2791 - if (isset($opts[$val])) {
2792 - $value2[] = $val . ': ' . trim(preg_replace('/[\s\n\r]+/', ' ', $opts[$val]));
2793 - }
2794 - }
2795 - $replace_map[$istance_data['istance_id']] = $value = implode("\n", $value2);
2796 - break;
2797 - /*
2798 - case 'file':
2799 - //URL to file, or attach
2800 - break;
2801 - */
2802 - case 'autoreply_email':
2803 - if ($value !== '') {
2804 - $replace_map['__autoreply_email_raw'][] = $value;
2805 - }
2806 - $replace_map[$istance_data['istance_id']] = $value;
2807 - break;
2808 - case 'file':
2809 - //TODO: move temp file to "{$submission_id}_{$field_data['id']}_{$file['name']}"; value is $file['name']
2810 - $buildid = $submittedData['_AccuaForm_buildID'];
2811 - $file_download_url = '';
2812 - $file = $form->getFile($istance_id);
2813 - if ($value !== null && $value !== '' && $file) {
2814 - if ($form->renameFile($istance_id, "{$submission_id}_{$field_data['id']}_{$file['name']}")) {
2815 - $urlfield = rawurlencode($istance_data['istance_id']);
2816 - $urlfile = rawurlencode($value);
2817 - $file_download_url = admin_url('admin-ajax.php') . "?action=accua_forms_download_submitted_file&subid={$submission_id}&field={$urlfield}&file={$urlfile}";
2818 - }
2819 - }
2820 - $replace_map[$istance_data['istance_id']] = $value;
2821 - $replace_map['__download_'.$istance_data['istance_id']] = $file_download_url;
2822 - break;
2823 - default:
2824 - $replace_map[$istance_data['istance_id']] = $value;
2825 - }
2826 -
2827 - switch ($field_data['type']) {
2828 - case 'file':
2829 - $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value\t$file_download_url";
2830 - $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = "$value\t$file_download_url";
2831 - $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'><a href='".htmlspecialchars($file_download_url,ENT_QUOTES)."'>".htmlspecialchars($value)."</a>";
2832 - break;
2833 -
2834 - case 'email':
2835 - case 'autoreply_email':
2836 - $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
2837 - $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
2838 - $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'><a href='mailto:".htmlspecialchars($value,ENT_QUOTES)."'>".htmlspecialchars($value)."</a>";
2839 - break;
2840 - case 'submit':
2841 - break;
2842 - case 'colorpicker':
2843 - $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
2844 - $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
2845 - if ($value === '') {
2846 - $value_html = '';
2847 - } else {
2848 - $value_esc = htmlspecialchars($value, ENT_QUOTES);
2849 - $value_html = "<span style='color: $value_esc'><font color='$value_esc'>&#9608;</font></span> $value_esc";
2850 - }
2851 - $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'>$value_html";
2852 - break;
2853 - default:
2854 - $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
2855 - $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
2856 - $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'>".htmlspecialchars($value);
2857 - }
2858 -
2859 - $wpdb->insert(
2860 - $wpdb->prefix . 'accua_forms_submissions_values',
2861 - array (
2862 - 'afsv_sub_id' => $submission_id,
2863 - 'afsv_field_id' => $istance_data['istance_id'],
2864 - 'afsv_type' => $field_data['type'],
2865 - 'afsv_value' => $value,
2866 - ),
2867 - array('%d','%s','%s','%s')
2868 - );
2869 -
2870 - $_field_data[$istance_data['istance_id']] = $field_data;
2871 - $_istance_data[$istance_data['istance_id']] = $istance_data;
2872 -
2873 - }
2874 -
2875 - $replace_map['__autoreply'] = (bool) ($replace_map['__autoreply_email_raw']
2876 - && $form_data['confirmation_emails_subject']
2877 - && $form_data['confirmation_emails_message']);
2878 -
2879 - accua_forms_aggregate_submitted_data($replace_map);
2880 -
2881 - //Older undocumented filter, maintained for backward compatibility. In fact filter accua_forms_form_submission_handler is called before accua_forms_submission, but for the rest they are the same
2882 - $replace_map = apply_filters('accua_forms_form_submission_handler', $replace_map, $fid, $submittedData, $form, $_field_data, $_istance_data);
2883 -
2884 - //Newer filter, with an easier name
2885 - $replace_map = apply_filters('accua_forms_submission', $replace_map, $fid, $submittedData, $form, $_field_data, $_istance_data);
2886 -
2887 - $submitted_html = '<table><tr><td>' . $replace_map['__submitted_html'] . '</td></tr></table>';
2888 - $confirmation_emails_message = $replace_map['__confirmation_emails_message'];
2889 - unset($replace_map['__submitted_html'], $replace_map['__confirmation_emails_message'], $replace_map['__submitted_txt_raw'], $replace_map['__submitted_html_raw'], $replace_map['__submitted_json_raw'], $replace_map['__autoreply_email_raw']);
2890 -
2891 - $replace_map_html = array();
2892 - foreach($replace_map as $key => $value) {
2893 - $replace_map_html["!$key"] = $value;
2894 - $replace_map_html[$key] = htmlspecialchars($value, ENT_QUOTES);
2895 - }
2896 -
2897 - $replace_map['__submitted_html'] = $replace_map_html['__submitted_html'] = $replace_map_html['!__submitted_html'] = $submitted_html;
2898 - $replacer_html = new AccuaConditionalReplacer($replace_map_html);
2899 -
2900 - $confirmation_emails_message = $replace_map['__confirmation_emails_message'] = $replacer_html->doReplace($confirmation_emails_message);
2901 - $replacer_html->appendPattern(array('__confirmation_emails_message' => $confirmation_emails_message, '!__confirmation_emails_message' => $confirmation_emails_message));
2902 - $replacer = new AccuaConditionalReplacer($replace_map);
2903 -
2904 - $form_data_replaced = array();
2905 -
2906 - $settings = array(
2907 - 'emails_from',
2908 - 'admin_emails_to',
2909 - 'emails_bcc',
2910 - 'admin_emails_subject',
2911 - 'confirmation_emails_subject',
2912 - );
2913 -
2914 - foreach($settings as $i) {
2915 - $form_data_replaced[$i] = $replacer->doReplace($form_data[$i]);
2916 - }
2917 -
2918 - $settings_html = array(
2919 - 'success_message',
2920 - 'admin_emails_message',
2921 - );
2922 -
2923 - foreach($settings_html as $i) {
2924 - $form_data_replaced[$i] = $replacer_html->doReplace($form_data[$i]);
2925 - }
2926 -
2927 - AccuaForm::appendSubmittedMessages(wpautop($form_data_replaced['success_message']));
2928 -
2929 - $header = array("Content-Type: text/html; charset=".get_option('blog_charset'));
2930 -
2931 -
2932 - if ($form_data_replaced['emails_from']) {
2933 - $header[] = 'From: '.$form_data_replaced['emails_from'];
2934 - }
2935 -
2936 - if ($form_data_replaced['emails_bcc']) {
2937 - $header[] = 'Bcc: '.$form_data_replaced['emails_bcc'];
2938 - }
2939 -
2940 - if ($form_data_replaced['admin_emails_to']
2941 - && $form_data_replaced['admin_emails_subject']) {
2942 - /*
2943 - $admin_tos = explode(',', strtr($form_data_replaced['admin_emails_to'], "\n\t\r;", ',,,,'));
2944 - foreach ($admin_tos as $admin_to) {
2945 - $mail1 = wp_mail(trim($admin_to), $form_data_replaced['admin_emails_subject'], $form_data_replaced['admin_emails_message'], $header);
2946 - }
2947 - */
2948 - $mail1 = wp_mail($form_data_replaced['admin_emails_to'], $form_data_replaced['admin_emails_subject'],'<html><head></head><body style="background:#f9f8f8;font-size: 12px;font-family: "Lucida Sans","Lucida Grande", Verdana, Arial, Sans-Serif;"">'.wpautop($form_data_replaced['admin_emails_message']).'</body></html>', $header);
2949 - }
2950 -
2951 - if ($replace_map['__autoreply'] && $replace_map['__autoreply_email']
2952 - && $form_data_replaced['confirmation_emails_subject']
2953 - && $confirmation_emails_message) {
2954 - $mail2 = wp_mail($replace_map['__autoreply_email'], $form_data_replaced['confirmation_emails_subject'], '<html><head></head><body>'.wpautop($confirmation_emails_message).'</body></html>', $header);
2955 - }
2956 -
2957 - /*
2958 - echo "<!-- replace_map: "
2959 - , print_r($replace_map, true)
2960 - , "\nreplace_map: "
2961 - , print_r($replace_map, true)
2962 - , "\nform_data_replaced: "
2963 - , print_r($form_data_replaced, true)
2964 - , "\nautoreply_email: "
2965 - , print_r($autoreply_email, true)
2966 - , "\nmail1: "
2967 - , print_r($mail1, true)
2968 - , "\nmail2: "
2969 - , print_r($mail2, true)
2970 - ,"\n-->";
2971 - */
2972 - }
2973 - }
2974 -}
2975 -
2976 -function accua_forms_get_submission_data($subid, $options = array()){
2977 - //TODO: Completa e usa per sostituire i campi
2978 - global $wpdb;
2979 - $subid = (int) $subid;
2980 - $options += array(
2981 - 'extra' => true,
2982 - 'file_format' => 'name',
2983 - );
2984 - $ret = array();
2985 - if ($options['extra']) {
2986 - $query1 = "SELECT *
2987 - FROM `{$wpdb->prefix}accua_forms_submissions`
2988 - WHERE afs_id = $subid";
2989 - $data = $wpdb->get_row($query1);
2990 - if (!empty($data)) {
2991 - $created = $data->afs_created;
2992 - $created[10] = 'T';
2993 - $created.='.00+00:00';
2994 - $created = strtotime($created);
2995 - $submitted = $data->afs_submitted;
2996 - $submitted[10] = 'T';
2997 - $submitted.='.00+00:00';
2998 - $submitted = strtotime($submitted);
2999 - $ret += array(
3000 - '__fid' => $data->afs_form_id,
3001 - '__subid' => $subid,
3002 - '__pid' => $data->afs_post_id,
3003 - '__ip' => $data->afs_id,
3004 - '__uri' => $data->afs_uri,
3005 - '__referrer' => $data->afs_referrer,
3006 - '__lang' => $data->afs_lang,
3007 - '__created' => $created,
3008 - '__created_day' => date('l j F Y', $created),
3009 - '__created_hour' => date('G:i', $created),
3010 - '__submitted' => $submitted,
3011 - '__submitted_day' => date('l j F Y', $submitted),
3012 - '__submitted_hour' => date('G:i', $submitted),
3013 - );
3014 - }
3015 - }
3016 -
3017 - $query2 = "SELECT *
3018 - FROM `{$wpdb->prefix}accua_forms_submissions_values`
3019 - WHERE afsv_sub_id = $subid";
3020 -
3021 - $data2 = $wpdb->get_results($query2, OBJECT);
3022 -
3023 - foreach ($data2 as $row) {
3024 - switch ($row->afsv_type) {
3025 - case 'file' :
3026 - if ($options['file_format'] == 'url' || $options['file_format'] == 'link') {
3027 - $fieldid = rawurlencode($row->afsv_field_id);
3028 - $filename = rawurlencode($row->afsv_value);
3029 - $url = admin_url('admin-ajax.php') . "?action=accua_forms_download_submitted_file&subid={$row->afsv_sub_id}&field={$fieldid}&file={$filename}";
3030 - if ($options['file_format'] == 'url'){
3031 - $url = htmlspecialchars($url,ENT_QUOTES);
3032 - $filename = htmlspecialchars($row->afsv_value,ENT_QUOTES);
3033 - $fielddata = "<a href='{$url}' target='_blank'>{$filename}</a>";
3034 - } else {
3035 - $fielddata = $url;
3036 - }
3037 - } else { // $options['file_format'] == 'name'
3038 - $fielddata = $row->afsv_value;
3039 - }
3040 - break;
3041 - default:
3042 - $fielddata = $row->afsv_value;
3043 - }
3044 - $ret[$row->afsv_field_id] = $fielddata;
3045 - }
3046 - return $ret;
3047 -}
3048 -
3049 -add_shortcode( 'accua-form', 'accua_forms_shortcode_handler' );
3050 -function accua_forms_shortcode_handler($atts, $content = '', $code = '') {
3051 - if (empty($atts['fid'])) {
3052 - return '';
3053 - }
3054 -
3055 - $fid = $atts['fid'];
3056 - $form_data = _accua_forms_get_form_data($fid, false);
3057 -
3058 - if (! $form_data) {
3059 - return '';
3060 - }
3061 -
3062 - $fid = '__accua-form__'.$fid;
3063 -
3064 - $out = '';
3065 -
3066 - if (AccuaForm::getSubmittedID() == $fid) {
3067 - /* return "<pre>Form submitted.\n\nData: " . print_r(AccuaForm::getSubmittedData(), true) . '</pre>'; */
3068 - $messages = AccuaForm::getSubmittedMessages();
3069 - if ($messages) {
3070 - $out .= '<div id="_response_messages_'.$fid.'" class="accua-form-messages">'.$messages.'</div>';
3071 - }
3072 - if (AccuaForm::isValid()) {
3073 - return $out;
3074 - }
3075 - $form = AccuaForm::getSubmittedForm();
3076 - } else {
3077 - $form = AccuaForm::create($fid, array('layout'=>$form_data['layout']));
3078 - }
3079 -
3080 - return $out . $form->render(true);
3081 -}
3082 -
3083 -function accua_forms_include($fid, $atts=array(), $content = '', $code = '') {
3084 - $atts['fid'] = $fid;
3085 - echo accua_forms_shortcode_handler($atts, $content, $code);
3086 -}
3087 -
3088 -function accua_forms_submissions_list_page_head(){
3089 - require_once('accua-forms-submissions-page.php');
3090 - accua_forms_submissions_list_page(true);
3091 -}
3092 -
3093 -add_action('wp_ajax_accua_forms_download_submitted_file', 'accua_forms_download_submitted_file');
3094 -add_action('wp_ajax_nopriv_accua_forms_download_submitted_file', 'accua_forms_download_submitted_file');
3095 -function accua_forms_download_submitted_file(){
3096 - $get = stripslashes_deep($_GET);
3097 - if (isset($get['subid'],$get['field'],$get['file'])) {
3098 - global $wpdb;
3099 - $subid = (int) $get['subid'];
3100 - $field = $get['field'];
3101 - $file = $get['file'];
3102 - $query = "SELECT *
3103 - FROM `{$wpdb->prefix}accua_forms_submissions_values`
3104 - WHERE afsv_sub_id = %d
3105 - AND afsv_field_id = %s
3106 - AND afsv_value = %s
3107 - ";
3108 - $query = $wpdb->prepare($query, $subid, $field, $file);
3109 - $subval = $wpdb->get_results($query, OBJECT);
3110 - if ($subval) {
3111 - $file_data = get_option('accua_forms_default_file_field_data',array()) + array('dest_path' => '');
3112 - $dest_path = _accua_forms_get_abs_dest_path($file_data['dest_path']);
3113 - $filename = "{$dest_path}/{$subid}_{$field}_{$file}";
3114 - if (is_file($filename) && is_readable($filename)){
3115 - if (function_exists('finfo_open')){
3116 - @ $finfo = finfo_open(FILEINFO_MIME);
3117 - if ($finfo) {
3118 - @ $filetype = finfo_file($finfo, $filename);
3119 - @ finfo_close($finfo);
3120 - }
3121 - }
3122 - if (empty($filetype) && function_exists('mime_content_type')){
3123 - @ $filetype = mime_content_type($filename);
3124 - }
3125 - if (empty($filetype)) {
3126 - $filetype = "application/octet-stream";
3127 - }
3128 - header("Content-type: $filetype");
3129 - header("Content-length: ".filesize($filename));
3130 - header("Content-disposition: attachment; filename=\"$file\"");
3131 - readfile($filename);
3132 - die('');
3133 - }
3134 - }
3135 - }
3136 - header("HTTP/1.0 404 Not Found");
3137 - //header("Status: 404 Not Found");
3138 - die('File not found');
3139 -}
3140 -
3141 -function accua_forms_buildConditionalReplacer($map = array()) {
3142 - if (!class_exists('AccuaConditionalReplacer')){
3143 - require_once('AccuaConditionalReplacer.php');
3144 - }
3145 - return new AccuaConditionalReplacer($map);
3146 -}
3147 -
3148 -
3149 -add_action('wp_ajax_accua_forms_preview', 'accua_forms_preview');
3150 -function accua_forms_preview() {
3151 - if (!current_user_can(10)){
3152 - die ('');
3153 - }
3154 -
3155 - echo '<html><head>';
3156 - wp_print_styles();
3157 - wp_print_head_scripts();
3158 - echo '</head><body>';
3159 - echo accua_forms_shortcode_handler(array('fid'=>$_REQUEST['fid']));
3160 - wp_print_footer_scripts();
3161 - echo '</body></html>';
3162 - die('');
3163 -}
3164 -
3165 -//salvataggio file excel
3166 -add_action('wp_ajax_accua_forms_submission_page_save_excel', 'accua_forms_submission_page_save_excel');
3167 -//add_action('wp_ajax_nopriv_accua_forms_submission_page_save_excel', 'accua_forms_submission_page_save_excel');
3168 -
3169 -function accua_forms_submission_page_save_excel() {
3170 - if (!current_user_can(10)){
3171 - header("HTTP/1.0 401 Access Denied");
3172 - //header("Status: 401 Access Denied");
3173 - die('You are not authorized to access this page.');
3174 - }
3175 -
3176 - require_once('accua-forms-submissions-page.php');
3177 - $listTable = new Accua_Forms_Submissions_List_Table();
3178 - $listTable->prepare_items(true);
3179 - $show_col = explode( ',', $_GET['accua_show_field']);
3180 -
3181 - header("Content-disposition: attachment; filename=downloads-report.xls");
3182 - header("Content-type: application/vnd.ms-excel");
3183 - accua_forms_submission_page_save_excel_general($listTable,$show_col);
3184 - die('');
3185 -}
3186 -
3187 -
3188 -
3189 -function accua_forms_submission_page_save_excel_general(Accua_Forms_Submissions_List_Table $listTable,array $show_col,array $options=array()) {
3190 - global $wpdb;
3191 -
3192 - //creo il file excel
3193 - ?><html xmlns:o="urn:schemas-microsoft-com:office:office"
3194 - xmlns:x="urn:schemas-microsoft-com:office:excel"
3195 - xmlns="http://www.w3.org/TR/REC-html40">
3196 - <head>
3197 - <meta http-equiv=Content-Type content="text/html; charset=<?php echo get_option('blog_charset'); ?>" />
3198 - <meta name=ProgId content=Excel.Sheet />
3199 - <style>
3200 - <!--
3201 - td {vertical-align:top;}
3202 - .head_row {font-weight:bold;}
3203 - .column-date { mso-number-format:"Short Date"; }
3204 - .datetime_cell { mso-number-format:"yyyy\\-mm\\-dd\\ hh\:mm\:ss"; }
3205 - -->
3206 - </style>
3207 - <!--[if gte mso 9]><xml>
3208 - <x:ExcelWorkbook>
3209 - <x:ExcelWorksheets>
3210 - <x:ExcelWorksheet>
3211 - <x:WorksheetOptions>
3212 - <x:FreezePanes/>
3213 - <x:FilterOn/>
3214 - <x:SplitHorizontal>1</x:SplitHorizontal>
3215 - <x:TopRowBottomPane>1</x:TopRowBottomPane>
3216 - <x:ActivePane>2</x:ActivePane>
3217 - <x:Panes>
3218 - <x:Pane>
3219 - <x:Number>3</x:Number>
3220 - </x:Pane>
3221 - <x:Pane>
3222 - <x:Number>2</x:Number>
3223 - </x:Pane>
3224 - </x:Panes>
3225 - </x:WorksheetOptions>
3226 - </x:ExcelWorksheet>
3227 - </x:ExcelWorksheets>
3228 - </x:ExcelWorkbook>
3229 - </xml><![endif]-->
3230 - </head>
3231 - <body>
3232 - <table x:str border=1 >
3233 - <tr class='head-row'>
3234 - <?php
3235 - $cols = $listTable->get_columns();
3236 - foreach($cols as $col_key=>$col_value) {
3237 - if(in_array($col_key, $show_col)) { ?>
3238 - <td x:autofilter="all"><?php echo $col_value; ?></td>
3239 - <?php }
3240 - } ?>
3241 - </tr>
3242 -
3243 - <?php
3244 - /* gestire la data
3245 - $ut_date = $result->date;
3246 - $ut_date[10] = 'T';
3247 - $ut_date.='.00+00:00';
3248 - $excel_date = (strtotime($ut_date) / 86400 + 25569);
3249 - $parts_date = explode('-', substr($result->date, 0, 10));
3250 - $date = "{$parts_date[2]}/{$parts_date[1]}/{$parts_date[0]}";
3251 - echo "<td class='column-date' x:num='$excel_date' SDVAL=\"$excel_date\" SDNUM=\"1033;0;DD/MM/YYYY\">$date</td>\n";
3252 - */
3253 - ?>
3254 - <?php
3255 -
3256 -
3257 - foreach($listTable->items as $id_submission=>$single_submission) {
3258 - echo "<tr>";
3259 - foreach($cols as $col_key=>$col_value) {
3260 - if(in_array($col_key, $show_col)) {
3261 - echo "<td class='.$col_key.'>";
3262 - if(isset($single_submission[$col_key])) {
3263 - if ( method_exists( $this, 'column_' . $column_name ) ) {
3264 - echo call_user_func( array( &$listTable, 'column_' . $col_key ), $single_submission );
3265 - }
3266 - else {
3267 - echo $listTable->column_default( $single_submission, $col_key );
3268 - }
3269 - }
3270 - echo "</td>";
3271 - }
3272 -
3273 - }
3274 - echo "</tr>";
3275 - }
3276 -
3277 - ?>
3278 - </table>
3279 - </body>
3280 - </html>
3281 - <?php
3282 -}
3283 -
3284 -function accua_forms_print_tokens() {
3285 - $avail_fields = get_option('accua_forms_avail_fields', array());
3286 - $tokens = '';
3287 - foreach($avail_fields as $key=>$value) {
3288 - $tokens .= $value['name'] . ": {" . $key . "}\n";
3289 - if ($value['type'] == 'file') {
3290 - $tokens .= $value['name'] . " (download link): {__download_" . $key . "}\n";
3291 - }
3292 - }
3293 -
3294 - echo <<<EOT
3295 -<div class="accua_forms_token_list">
3296 -<h2>Tokens</h2>
3297 -<em>In HTML text, use {!token_name} to insert unfiltered token value</em>
3298 -<h3>Fields</h3>
3299 -<em>These tokens are available only if the field is added to the form</em>
3300 -<pre>$tokens</pre>
3301 -<h3>Generic tokens</h3>
3302 -<pre>{__fid}
3303 -{__subid}
3304 -{__pid}
3305 -{__ip}
3306 -{__uri}
3307 -{__url}
3308 -{__referrer}
3309 -{__lang}
3310 -{__locale}
3311 -{__created}
3312 -{__created_day}
3313 -{__created_day_month_year}
3314 -{__created_hour}
3315 -{__submitted}
3316 -{__submitted_day}
3317 -{__submitted_day_month_year}
3318 -{__submitted_hour}
3319 -{__user_agent}
3320 -{__platform}
3321 -{__tentatives}
3322 -{__submit_method}
3323 -{__submitted_txt}
3324 -{__submitted_html}
3325 -{__submitted_json}
3326 -{__autoreply}
3327 -{__autoreply_email}
3328 -{__confirmation_emails_message}</pre>
3329 -</div>
3330 -EOT;
3331 - do_action('accua_forms_print_tokens');
3332 -}
3333 -
3334 -function &accua_get_pages($args = '') {
3335 - global $wpdb;
3336 -
3337 - $defaults = array(
3338 - 'child_of' => 0, 'sort_order' => 'ASC',
3339 - 'sort_column' => 'post_title', 'hierarchical' => 1,
3340 - 'exclude' => array(), 'include' => array(),
3341 - 'meta_key' => '', 'meta_value' => '',
3342 - 'authors' => '', 'parent' => -1, 'exclude_tree' => '',
3343 - 'number' => '', 'offset' => 0,
3344 - 'post_type' => 'page', 'post_status' => 'publish',
3345 - );
3346 -
3347 - $r = wp_parse_args( $args, $defaults );
3348 - extract( $r, EXTR_SKIP );
3349 - $number = (int) $number;
3350 - $offset = (int) $offset;
3351 -
3352 - /*
3353 - // Make sure the post type is hierarchical
3354 - $hierarchical_post_types = get_post_types( array( 'hierarchical' => true ) );
3355 - if ( !in_array( $post_type, $hierarchical_post_types ) )
3356 - return false;
3357 - */
3358 -
3359 - // Make sure we have a valid post type
3360 - if ( !is_array( $post_type ) )
3361 - $post_type = explode( ',', $post_type );
3362 - if ( array_diff( $post_type, get_post_types() ) )
3363 - return false;
3364 -
3365 - // Make sure we have a valid post status
3366 - if ( !is_array( $post_status ) )
3367 - $post_status = explode( ',', $post_status );
3368 - if ( array_diff( $post_status, get_post_stati() ) )
3369 - return false;
3370 -
3371 - /*
3372 - $cache = array();
3373 - $key = md5( serialize( compact(array_keys($defaults)) ) );
3374 - if ( $cache = wp_cache_get( 'get_pages', 'posts' ) ) {
3375 - if ( is_array($cache) && isset( $cache[ $key ] ) ) {
3376 - $pages = apply_filters('get_pages', $cache[ $key ], $r );
3377 - return $pages;
3378 - }
3379 - }
3380 -
3381 - if ( !is_array($cache) )
3382 - $cache = array();
3383 - */
3384 -
3385 - $inclusions = '';
3386 - if ( !empty($include) ) {
3387 - $child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
3388 - $parent = -1;
3389 - $exclude = '';
3390 - $meta_key = '';
3391 - $meta_value = '';
3392 - $hierarchical = false;
3393 - $incpages = wp_parse_id_list( $include );
3394 - if ( ! empty( $incpages ) ) {
3395 - foreach ( $incpages as $incpage ) {
3396 - if (empty($inclusions))
3397 - $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage);
3398 - else
3399 - $inclusions .= $wpdb->prepare(' OR ID = %d ', $incpage);
3400 - }
3401 - }
3402 - }
3403 - if (!empty($inclusions))
3404 - $inclusions .= ')';
3405 -
3406 - $exclusions = '';
3407 - if ( !empty($exclude) ) {
3408 - $expages = wp_parse_id_list( $exclude );
3409 - if ( ! empty( $expages ) ) {
3410 - foreach ( $expages as $expage ) {
3411 - if (empty($exclusions))
3412 - $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage);
3413 - else
3414 - $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage);
3415 - }
3416 - }
3417 - }
3418 - if (!empty($exclusions))
3419 - $exclusions .= ')';
3420 -
3421 - $author_query = '';
3422 - if (!empty($authors)) {
3423 - $post_authors = preg_split('/[\s,]+/',$authors);
3424 -
3425 - if ( ! empty( $post_authors ) ) {
3426 - foreach ( $post_authors as $post_author ) {
3427 - //Do we have an author id or an author login?
3428 - if ( 0 == intval($post_author) ) {
3429 - $post_author = get_user_by('login', $post_author);
3430 - if ( empty($post_author) )
3431 - continue;
3432 - if ( empty($post_author->ID) )
3433 - continue;
3434 - $post_author = $post_author->ID;
3435 - }
3436 -
3437 - if ( '' == $author_query )
3438 - $author_query = $wpdb->prepare(' post_author = %d ', $post_author);
3439 - else
3440 - $author_query .= $wpdb->prepare(' OR post_author = %d ', $post_author);
3441 - }
3442 - if ( '' != $author_query )
3443 - $author_query = " AND ($author_query)";
3444 - }
3445 - }
3446 -
3447 - $join = '';
3448 - $where = "$exclusions $inclusions ";
3449 - if ( ! empty( $meta_key ) || ! empty( $meta_value ) ) {
3450 - $join = " LEFT JOIN $wpdb->postmeta ON ( $wpdb->posts.ID = $wpdb->postmeta.post_id )";
3451 -
3452 - // meta_key and meta_value might be slashed
3453 - $meta_key = stripslashes($meta_key);
3454 - $meta_value = stripslashes($meta_value);
3455 - if ( ! empty( $meta_key ) )
3456 - $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key);
3457 - if ( ! empty( $meta_value ) )
3458 - $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_value = %s", $meta_value);
3459 -
3460 - }
3461 -
3462 - if ( $parent >= 0 )
3463 - $where .= $wpdb->prepare(' AND post_parent = %d ', $parent);
3464 -
3465 -
3466 - if ( 1 == count ( $post_type ) ) {
3467 - $where_post_type = $wpdb->prepare( "post_type = %s", array_shift( $post_type ) );
3468 - } else {
3469 - $post_type = implode( "', '", $post_type );
3470 - $where_post_type = "post_type IN ('$post_type')";
3471 - }
3472 -
3473 - if ( 1 == count( $post_status ) ) {
3474 - $where_post_type .= $wpdb->prepare( " AND post_status = %s", array_shift( $post_status ) );
3475 - } else {
3476 - $post_status = implode( "', '", $post_status );
3477 - $where_post_type .= " AND post_status IN ('$post_status')";
3478 - }
3479 -
3480 - $orderby_array = array();
3481 - $allowed_keys = array('author', 'post_author', 'date', 'post_date', 'title', 'post_title', 'name', 'post_name', 'modified',
3482 - 'post_modified', 'modified_gmt', 'post_modified_gmt', 'menu_order', 'parent', 'post_parent',
3483 - 'ID', 'rand', 'comment_count');
3484 - foreach ( explode( ',', $sort_column ) as $orderby ) {
3485 - $orderby = trim( $orderby );
3486 - if ( !in_array( $orderby, $allowed_keys ) )
3487 - continue;
3488 -
3489 - switch ( $orderby ) {
3490 - case 'menu_order':
3491 - break;
3492 - case 'ID':
3493 - $orderby = "$wpdb->posts.ID";
3494 - break;
3495 - case 'rand':
3496 - $orderby = 'RAND()';
3497 - break;
3498 - case 'comment_count':
3499 - $orderby = "$wpdb->posts.comment_count";
3500 - break;
3501 - default:
3502 - if ( 0 === strpos( $orderby, 'post_' ) )
3503 - $orderby = "$wpdb->posts." . $orderby;
3504 - else
3505 - $orderby = "$wpdb->posts.post_" . $orderby;
3506 - }
3507 -
3508 - $orderby_array[] = $orderby;
3509 -
3510 - }
3511 - $sort_column = ! empty( $orderby_array ) ? implode( ',', $orderby_array ) : "$wpdb->posts.post_title";
3512 -
3513 - $sort_order = strtoupper( $sort_order );
3514 - if ( '' !== $sort_order && !in_array( $sort_order, array( 'ASC', 'DESC' ) ) )
3515 - $sort_order = 'ASC';
3516 -
3517 - $query = "SELECT * FROM $wpdb->posts $join WHERE ($where_post_type) $where ";
3518 - $query .= $author_query;
3519 - $query .= " ORDER BY " . $sort_column . " " . $sort_order ;
3520 -
3521 - if ( !empty($number) )
3522 - $query .= ' LIMIT ' . $offset . ',' . $number;
3523 -
3524 - //echo "<!-- accua_forms_query:\n$query\n-->";
3525 -
3526 - $pages = $wpdb->get_results($query);
3527 -
3528 - if ( empty($pages) ) {
3529 - $pages = apply_filters('get_pages', array(), $r);
3530 - return $pages;
3531 - }
3532 -
3533 - // Sanitize before caching so it'll only get done once
3534 - $num_pages = count($pages);
3535 - for ($i = 0; $i < $num_pages; $i++) {
3536 - $pages[$i] = sanitize_post($pages[$i], 'raw');
3537 - }
3538 -
3539 - /*
3540 - // Update cache.
3541 - update_post_cache( $pages );
3542 - */
3543 -
3544 - if ( $child_of || $hierarchical )
3545 - $pages = & get_page_children($child_of, $pages);
3546 -
3547 - if ( !empty($exclude_tree) ) {
3548 - $exclude = (int) $exclude_tree;
3549 - $children = get_page_children($exclude, $pages);
3550 - $excludes = array();
3551 - foreach ( $children as $child )
3552 - $excludes[] = $child->ID;
3553 - $excludes[] = $exclude;
3554 - $num_pages = count($pages);
3555 - for ( $i = 0; $i < $num_pages; $i++ ) {
3556 - if ( in_array($pages[$i]->ID, $excludes) )
3557 - unset($pages[$i]);
3558 - }
3559 - }
3560 -
3561 - /*
3562 - $cache[ $key ] = $pages;
3563 - wp_cache_set( 'get_pages', $cache, 'posts' );
3564 - */
3565 -
3566 - $pages = apply_filters('get_pages', $pages, $r);
3567 -
3568 - return $pages;
3569 -}
1 +<?php
2 +add_action('admin_menu', 'accua_forms_menu', -95);
3 +function accua_forms_menu(){
4 + $dashboard_admin_page=add_menu_page('Wordpress Contact Forms by Cimatti', 'Contact Forms', 'manage_options', 'accua_forms', 'accua_forms_dashboard_page', ACCUA_FORMS_DIR_URL.'img/cimatti-icon-10.png', '90.90300');
5 + add_action('load-'.$dashboard_admin_page, 'accua_forms_dashboard_page_head');
6 +
7 + add_submenu_page('accua_forms', 'Wordpress Contact Forms by Cimatti', 'Dashboard', 'manage_options', "accua_forms", 'accua_forms_dashboard_page');
8 +
9 + $form_edit_page = add_submenu_page('accua_forms', 'Forms', 'Forms', 'manage_options', "accua_forms_list", 'accua_forms_list_page');
10 + add_action('admin_head-'.$form_edit_page, 'accua_forms_edit_page_head');
11 + add_action( 'admin_print_styles-'.$form_edit_page, 'accua_forms_edit_page_head_styles');
12 + add_action( 'admin_print_scripts-'.$form_edit_page, 'accua_forms_edit_page_head_scripts');
13 +
14 + $form_add_page = add_submenu_page('accua_forms', __('Add new form', 'contact-forms'), __('Add new', 'contact-forms'), 'manage_options', "accua_forms_add", 'accua_forms_add_page');
15 + add_action('admin_head-'.$form_add_page, 'accua_forms_edit_page_head');
16 + add_action( 'admin_print_styles-'.$form_add_page, 'accua_forms_edit_page_head_styles');
17 + add_action( 'admin_print_scripts-'.$form_add_page, 'accua_forms_edit_page_head_scripts');
18 +
19 + $form_submissions_page = add_submenu_page('accua_forms', __('Forms submissions', 'contact-forms') , __('Submissions', 'contact-forms'), 'manage_options', "accua_forms_submissions_list", '__accua_forms_submissions_list_page');
20 + add_action('admin_head-'.$form_submissions_page, 'accua_forms_submissions_list_page_head');
21 + add_action( 'admin_print_styles-'.$form_submissions_page, 'accua_forms_edit_page_head_styles');
22 +
23 + $form_fields_page = add_submenu_page('accua_forms', __( 'Form fields', 'contact-forms'), __('Fields', 'contact-forms'), 'manage_options', "accua_forms_fields", 'accua_forms_fields_page');
24 + //add_action('admin_head-'.$form_fields_page, 'accua_forms_fields_page_head');
25 + add_action( 'admin_print_styles-'.$form_fields_page, 'accua_forms_edit_page_head_styles');
26 +
27 + $settings_page = add_submenu_page('accua_forms', __( 'Default Forms settings', 'contact-forms'), __('Settings', 'contact-forms'), 'manage_options', "accua_forms_settings", 'accua_forms_settings_page');
28 + add_action( 'admin_print_styles-'.$settings_page, 'accua_forms_edit_page_head_styles');
29 + add_action( 'admin_print_scripts-'.$settings_page, 'accua_forms_settings_page_head_scripts');
30 +
31 + wp_enqueue_script('jquery-form');
32 + wp_enqueue_script('jquery-color');
33 + wp_enqueue_script('jquery-ui-core');
34 + wp_enqueue_script('jquery-ui-tabs');
35 + wp_enqueue_script('jquery-ui-sortable');
36 + wp_enqueue_script('jquery-ui-draggable');
37 + wp_enqueue_script('jquery-ui-droppable');
38 + wp_enqueue_script('jquery-ui-selectable');
39 + wp_enqueue_script('jquery-ui-resizable');
40 + wp_enqueue_script('jquery-ui-dialog');
41 + wp_enqueue_style('wp-jquery-ui-dialog');
42 +}
43 +
44 +function accua_forms_report_page_head(){
45 + $column_list = array(
46 + 'month' => __( 'Month', 'contact-forms'),
47 + 'unique_submissions' => __( 'Unique submissions', 'contact-forms') ,
48 + 'submissions' => __('Total submissions', 'contact-forms'),
49 + );
50 + global $hook_suffix;
51 + register_column_headers($hook_suffix, $column_list);
52 +
53 + //$baseurl = WP_PLUGIN_URL.'/'.substr(plugin_basename(__FILE__),0,-strlen(basename(__FILE__)));
54 + //echo '<link href="'.$baseurl.'/flot/layout.css" rel="stylesheet" type="text/css">';
55 + //echo '<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="'.$baseurl.'/flot/excanvas.min.js"></script><![endif]-->';
56 + //echo '<script language="javascript" type="text/javascript" src="'.$baseurl.'/flot/jquery.flot.js"></script>';
57 +
58 +}
59 +
60 +
61 +function accua_forms_report_page() {
62 +?>
63 + <div id="accua_forms_report_page" class="accua_forms_admin_page wrap">
64 + <h2>Forms submissions report</h2>
65 +
66 +<?php
67 + global $wpdb, $hook_suffix;
68 + $months = array(1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
69 +
70 + $query = "SELECT YEAR(sub_date) AS `year`, MONTH(sub_date) AS `month`, COUNT(DISTINCT `email`) AS `unique_submissions`, COUNT(*) AS `submissions`
71 + FROM `{$wpdb->prefix}cformssubmissions`
72 + GROUP BY `year`, `month`
73 + ORDER BY `year` DESC, `month` DESC";
74 +
75 + $results = $wpdb->get_results($query);
76 +
77 + if ($results) {
78 +?>
79 + <style type="text/css">
80 + .column-submissions, .column-unique_submissions {
81 + text-align: right !important;
82 + }
83 + </style>
84 + <div id="accua-form-report-graph" style="height:300px;"></div>
85 + <table class="widefat" id="stnl_review_reviewed">
86 + <thead>
87 + <tr><?php print_column_headers($hook_suffix); ?></tr>
88 + </thead>
89 +
90 + <tfoot>
91 + <tr><?php print_column_headers($hook_suffix, false); ?></tr>
92 + </tfoot>
93 +
94 + <tbody>
95 +<?php
96 + $alternate = false;
97 + $hidden = get_hidden_columns($hook_suffix);
98 + $data = array(
99 + array( 'label' => __( 'Unique submissions', 'contact-forms'), 'data' => array()),
100 + array( 'label' => __( 'Total submissions', 'contact-forms'), 'data' => array()),
101 + );
102 + foreach ($results as $result){
103 + $month = $months[$result->month];
104 + echo "<tr class='iedit ".(($alternate = !$alternate)?'alternate':'')."'>\n";
105 + echo "<td class='column-month'".(in_array('month', $hidden)?" style='display:none;'":'').">$month {$result->year}</td>\n";
106 + echo "<td class='column-unique_submissions'".(in_array('unique_submissions', $hidden)?" style='display:none;'":'').">{$result->unique_submissions}</td>\n";
107 + echo "<td class='column-submissions'".(in_array('submissions', $hidden)?" style='display:none;'":'').">{$result->submissions}</td>\n";
108 + echo "</tr>\n";
109 + $time = mktime(0, 0, 0, $result->month, 1, $result->year) * 1000;
110 + $data[0]['data'][] = array($time, (int)$result->unique_submissions);
111 + $data[1]['data'][] = array($time, (int)$result->submissions);
112 + }
113 + /*
114 + $year = $results[0]->year;
115 + $month = $results[0]->month;
116 + while ($year <= $result->year || $month <= $result->month) {
117 +
118 + $month++;
119 + if ($month > 12) {
120 + $year++;
121 + $month = 1;
122 + }
123 + }
124 + */
125 +?>
126 + </tbody>
127 + </table>
128 +<script type="text/javascript">
129 +jQuery(function($){
130 + var data = <?php print _accua_forms_json_encode($data); ?> ;
131 + var options = {
132 + xaxis: {
133 + //autoscaleMargin: 0.005,
134 + mode: "time",
135 + timeformat: "%b %y",
136 + minTickSize: [1, "month"]
137 + },
138 + legend: {
139 + position: "nw"
140 + }
141 + };
142 + $.plot($("#accua-form-report-graph"), data, options);
143 +});
144 +</script>
145 +<?php
146 + }
147 +?>
148 +
149 + </div>
150 +<?php
151 +}
152 +
153 +function accua_forms_edit_page_head_styles() {
154 + //wp_admin_css( 'widgets' );
155 + wp_enqueue_style( 'wp-pointer' ); //for tooltips
156 + wp_enqueue_style( 'accua-forms-admin', plugins_url('accua-forms-admin.css', ACCUA_FORMS_FILE), array(), ACCUA_FORMS_CSS_VERSION); //
157 +}
158 +
159 +function accua_forms_edit_page_head_scripts() {
160 + //wp_enqueue_script('admin-widgets');
161 + /*wp_enqueue_script('jquery-ui-sortable');
162 + wp_enqueue_script('jquery-ui-draggable');
163 + wp_enqueue_script('jquery-ui-droppable');*/
164 + wp_enqueue_script( 'wp-pointer' ); //for tooltips
165 + wp_enqueue_script('accua-jqColorPicker', plugins_url('/js/jqColorPicker.min.js', ACCUA_FORMS_FILE ), array( 'jquery' ), ACCUA_FORMS_JS_VERSION);
166 +
167 + wp_enqueue_script( 'accua-form-fields', plugins_url( 'form-fields.js' , ACCUA_FORMS_FILE ), array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), ACCUA_FORMS_JS_VERSION);
168 + wp_enqueue_script( 'accua-form-settings', plugins_url('form-settings.js', ACCUA_FORMS_FILE), array('jquery'), ACCUA_FORMS_JS_VERSION);
169 +}
170 +
171 +function accua_forms_settings_page_head_scripts() {
172 + wp_enqueue_script('accua-jqColorPicker', plugins_url('/js/jqColorPicker.min.js', ACCUA_FORMS_FILE ), array( 'jquery' ), ACCUA_FORMS_JS_VERSION);
173 +}
174 +
175 +function accua_forms_edit_page_head() {
176 +if (isset($_POST['accua-form-edit-action']) || (!isset($_GET['fid']))) {
177 + _accua_forms_form_edit_action();
178 + require_once('accua-forms-list-page.php');
179 + accua_forms_list_page_table(true);
180 +}
181 +
182 +?>
183 + <style type="text/css">
184 + .container > div {
185 + padding: 0px;
186 + margin-bottom: 6px;
187 + }
188 + .widget-liquid-right .widget, #wp_inactive_widgets .widget, .widget-liquid-right .sidebar-description, .widget-placeholder {
189 + width: 95%;
190 + }
191 + .column-submissions {
192 + text-align: right !important;
193 + }
194 + </style>
195 +<?php
196 +}
197 +
198 +add_action( 'wp_ajax_accua-form-fields-order' , 'accua_forms_form_fields_order');
199 +function accua_forms_form_fields_order() {
200 + if (!current_user_can('manage_options')){
201 + wp_die( -1, 403 );
202 + }
203 + check_ajax_referer('edit_form', '_nonce_edit_form');
204 +
205 + $post = stripslashes_deep($_POST);
206 + //update_option('accua_forms_form_fields_order_post', $post);
207 +
208 + if (empty($post['sidebars'])) {
209 + die('-1');
210 + }
211 +
212 + $forms_data = get_option('accua_forms_saved_forms', array());
213 +
214 + foreach ($post['sidebars'] as $fid => $order) {
215 + if (strpos($fid, 'cimatti-accua-fields-form-area-') !== 0){
216 + die('-1');
217 + }
218 + $fid = substr($fid, 31);
219 +
220 + if (empty($forms_data[$fid]['fields'])) {
221 + die('-1');
222 + }
223 +
224 + $old_fields = $forms_data[$fid]['fields'];
225 + unset($forms_data[$fid]['fields']);
226 + $new_fields = array();
227 +
228 + $order = explode(',', $order);
229 +
230 + foreach ($order as $i) {
231 + $i = preg_replace('/^(new-)?widget-\\d+_/', '', $i);
232 + if (isset($old_fields[$i])) {
233 + $new_fields[$i] = $old_fields[$i];
234 + unset($old_fields[$i]);
235 + }
236 + }
237 +
238 + if($old_fields){
239 + $new_fields += $old_fields;
240 + }
241 + $forms_data[$fid]['fields'] = $new_fields;
242 + }
243 +
244 + update_option('accua_forms_saved_forms', $forms_data);
245 +
246 + die('1');
247 +}
248 +
249 +add_action( 'wp_ajax_accua-save-form-field', 'accua_forms_save_form_field');
250 +/* azione dove vengono salvati i campi dei un form */
251 +function accua_forms_save_form_field() {
252 + if (!current_user_can('manage_options')){
253 + wp_die( -1, 403 );
254 + }
255 + check_ajax_referer('edit_form', '_nonce_edit_form');
256 +
257 + $post = stripslashes_deep($_POST);
258 +
259 + //update_option('accua_forms_save_form_field_post', $post);
260 +
261 + $forms_data = get_option('accua_forms_saved_forms', array());
262 + $fid = $post['form-id'];
263 + if (accua_forms_validate_form_id($fid) !== '') {
264 + die('-1');
265 + }
266 + if (empty($forms_data[$fid]['fields'])) {
267 + $forms_data[$fid]['fields'] = array();
268 + }
269 +
270 + $avail_fields = get_option('accua_forms_avail_fields', array());
271 + @ $wid = (string) $post['widget-id'];
272 + if (isset($avail_fields[$wid])) {
273 + $check_ref = $wid;
274 + } else {
275 + if (preg_match('/^(__html|__fieldset-begin|__fieldset-end)-\d+$/', $wid, $matches)) {
276 + $check_ref = $matches[1];
277 + } else {
278 + die('-1');
279 + }
280 + }
281 + if (empty($post['delete_widget'])) {
282 + //$istance_id = $post['multi_number'];
283 + @ $ref = $post['id_base'];
284 + if ($ref !== $check_ref) {
285 + die('-1');
286 + }
287 + $required = !empty($post["form-field-{$wid}-required"]);
288 + $widget_number = empty($post['multi_number']) ? (empty($post['widget_number']) ? '' : (int)$post['widget_number']) : (int)$post['multi_number'];
289 +
290 + if (isset($forms_data[$fid]['fields'][$wid])) {
291 + $old_istance_data = $forms_data[$fid]['fields'][$wid];
292 + } else {
293 + $old_istance_data = array();
294 + }
295 +
296 + $forms_data[$fid]['fields'][$wid] = array (
297 + 'version' => 2,
298 + 'istance_id' => $wid,
299 + 'widget_number' => $widget_number,
300 + 'ref' => $ref,
301 + 'required' => $required,
302 + );
303 +
304 + if (!empty($post["form-field-{$wid}-override-label"])) {
305 + @ $label = (string) $post["form-field-{$wid}-label"];
306 + if (!current_user_can('unfiltered_html')) {
307 + $label = wp_kses($label, 'post');
308 + }
309 + $forms_data[$fid]['fields'][$wid]['label'] = $label;
310 + }
311 +
312 + $is_file = false;
313 + $is_date = false;
314 + if (isset($avail_fields[$wid]['type'])) {
315 + if ($avail_fields[$wid]['type'] == 'file') {
316 + $is_file = true;
317 + } else if ($avail_fields[$wid]['type'] == 'date') {
318 + $is_date = true;
319 + }
320 + }
321 +
322 + if (!empty($post["form-field-{$wid}-override-default-value"])) {
323 + @ $default_value = (string) $post["form-field-{$wid}-default-value"];
324 + if ($is_date) {
325 + $default_value = accua_forms_filter_date($default_value);
326 + } else if (!current_user_can('unfiltered_html')) {
327 + //This is filtered in any case because field type can change
328 + $default_value = wp_kses($default_value, 'post');
329 + }
330 + $forms_data[$fid]['fields'][$wid]['default_value'] = $default_value;
331 + }
332 +
333 + if (!empty($post["form-field-{$wid}-override-allowed-values"])) {
334 + @ $allowed_values = (string) $post["form-field-{$wid}-allowed-values"];
335 + if ($is_file){
336 + $forms_data[$fid]['fields'][$wid]['allowed_extensions'] = accua_forms_filter_extensions($allowed_values);
337 + } else {
338 + $forms_data[$fid]['fields'][$wid]['allowed_values'] = $allowed_values;
339 + }
340 + }
341 + if (!empty($post["form-field-{$wid}-override-datemin-values"])) {
342 + @ $mindate_values = (string) $post["form-field-{$wid}-min-of-date"];
343 + $forms_data[$fid]['fields'][$wid]['min_date'] = accua_forms_filter_date($mindate_values);
344 + }
345 + if (!empty($post["form-field-{$wid}-override-datemax-values"])) {
346 + @ $maxdate_values = (string) $post["form-field-{$wid}-max-of-date"];
347 + $forms_data[$fid]['fields'][$wid]['max_date'] = accua_forms_filter_date($maxdate_values);
348 + }
349 + } else {
350 + unset($forms_data[$fid]['fields'][$wid]);
351 + }
352 +
353 + update_option('accua_forms_saved_forms', $forms_data);
354 +
355 + die('1');
356 +}
357 +
358 +function accua_forms_filter_text($text) {
359 + if ( is_object( $text ) || is_array( $text ) ) {
360 + return '';
361 + }
362 +
363 + $text = (string) $text;
364 + $text = wp_check_invalid_utf8( $text );
365 + $text = preg_replace( '/[ \t\n\r\0\x0B]+/', ' ', $text );
366 + $text = trim( $text );
367 +
368 + return $text;
369 +}
370 +
371 +function accua_forms_filter_email($email) {
372 + $parts = explode('<', $email);
373 + if (isset($parts[1])) {
374 + $email = accua_forms_filter_text(trim($parts[1], "<> \t\n\r\0\x0B"));
375 + $display_name = accua_forms_filter_text(trim($parts[0]));
376 + return "$display_name <$email>";
377 + } else {
378 + return accua_forms_filter_text($email);
379 + }
380 +}
381 +
382 +function accua_forms_filter_emails($emails) {
383 + $split_emails = preg_split("/\s*[,;]\s*/", $emails);
384 + $emails = array();
385 + foreach ($split_emails as $email) {
386 + $emails[] = accua_forms_filter_email($email);
387 + }
388 + return implode(', ', $emails);
389 +}
390 +
391 +function accua_forms_filter_extensions($extensions) {
392 + $cleaned_extensions = array();
393 + $mimes = get_allowed_mime_types();
394 + $extensions = explode("\n", $extensions);
395 + foreach ($extensions as $extension) {
396 + $extension = trim($extension);
397 + if ($extension !== '') {
398 + foreach ( $mimes as $ext_preg => $mime_match ) {
399 + $ext_preg = '!^' . $ext_preg . '$!i';
400 + if ( preg_match( $ext_preg, $extension ) ) {
401 + $cleaned_extensions[] = $extension;
402 + break;
403 + }
404 + }
405 + }
406 + }
407 + return implode("\n", $cleaned_extensions);
408 +}
409 +
410 +function accua_forms_filter_settings($form_settings) {
411 + foreach($form_settings as $k => $v) {
412 + switch ($k) {
413 + case 'success_message_no_message':
414 + case 'error_message_no_message':
415 + case 'admin_emails_message_no_message':
416 + case 'confirmation_emails_message_no_message':
417 + case 'use_ajax':
418 + //boolean
419 + $form_settings[$k] = (bool) $v;
420 + break;
421 + case 'layout':
422 + $form_settings[$k] = ($v === 'toplabel') ? 'toplabel' : 'sidebyside';
423 + break;
424 + case 'emails_from':
425 + // single email
426 + $form_settings[$k] = accua_forms_filter_email($v);
427 + break;
428 + case 'admin_emails_to':
429 + case 'emails_bcc':
430 + //emails list
431 + $form_settings[$k] = accua_forms_filter_email($v);
432 + break;
433 + case 'success_message':
434 + case 'error_message':
435 + case 'admin_emails_message':
436 + case 'confirmation_emails_message':
437 + //HTML
438 + if (!current_user_can('unfiltered_html')) {
439 + $form_settings[$k] = wp_kses($v, 'post');
440 + }
441 + break;
442 + //case 'title':
443 + //case 'emails_from_name':
444 + //case 'admin_emails_subject':
445 + //case 'confirmation_emails_subject':
446 + //case 'style_*':
447 + default:
448 + // text field
449 + $form_settings[$k] = accua_forms_filter_text($v);
450 + }
451 + }
452 + return $form_settings;
453 +}
454 +
455 +add_action( 'wp_ajax_accua-save-form-settings', 'accua_forms_save_form_settings');
456 +function accua_forms_save_form_settings() {
457 + if (!current_user_can('manage_options')){
458 + wp_die( -1, 403 );
459 + }
460 + check_ajax_referer('edit_form', '_nonce_edit_form');
461 +
462 + $post = stripslashes_deep($_POST);
463 +
464 + $forms_data = get_option('accua_forms_saved_forms', array());
465 + $fid = $post['form-id'];
466 + if (accua_forms_validate_form_id($fid) !== '') {
467 + die('-1');
468 + }
469 +
470 + $settings = array(
471 + 'title',
472 + 'success_message',
473 + 'success_message_no_message',
474 + 'error_message',
475 + 'error_message_no_message',
476 + 'emails_from_name',
477 + 'emails_from',
478 + 'admin_emails_to',
479 + 'emails_bcc',
480 + 'admin_emails_subject',
481 + 'admin_emails_message',
482 + 'admin_emails_message_no_message',
483 + 'confirmation_emails_subject',
484 + 'confirmation_emails_message',
485 + 'confirmation_emails_message_no_message',
486 + //'use_ajax',
487 +
488 + 'layout',
489 + 'style_margin',
490 + 'style_border_color',
491 + 'style_border_width',
492 + 'style_border_radius',
493 + 'style_background_color',
494 + 'style_padding',
495 + 'style_color',
496 + 'style_font_size',
497 + 'style_field_spacing',
498 + 'style_field_border_color',
499 + 'style_field_border_width',
500 + 'style_field_border_radius',
501 + 'style_field_background_color',
502 + 'style_field_padding',
503 + 'style_field_color',
504 + 'style_submit_border_color',
505 + 'style_submit_border_width',
506 + 'style_submit_border_radius',
507 + 'style_submit_background_color',
508 + 'style_submit_padding',
509 + 'style_submit_color',
510 + 'style_submit_font_size',
511 + );
512 +
513 + // print_r($post);
514 +
515 + $new_form_settings = array();
516 + foreach($settings as $i) {
517 + if (isset($post[$i])) {
518 + $new_form_settings[$i] = $post[$i];
519 + }
520 + unset($forms_data[$fid][$i]);
521 + }
522 +
523 + $forms_data[$fid] += accua_forms_filter_settings($new_form_settings);
524 +
525 + $forms_data[$fid]['use_ajax'] = !empty($post['use_ajax']);
526 +
527 + update_option('accua_forms_saved_forms', $forms_data);
528 +
529 + //print_r($forms_data[$fid]);
530 +
531 + die('');
532 +}
533 +
534 +function accua_forms_field_settings_form_counter() {
535 + static $i = 0;
536 + $i++;
537 + return $i;
538 +}
539 +
540 +/* impostazioni dei campi */
541 +function accua_forms_field_text_settings_form($fid, $field_data=array(), $istance_data=array()){
542 + static $html_multi_number = 0;
543 + $i = accua_forms_field_settings_form_counter();
544 +
545 + $hidden = '';
546 + if (!is_array($istance_data)) {
547 + if ($istance_data === 'hidden') {
548 + $hidden = 'style="display:none"';
549 + }
550 + $istance_data = array();
551 + $empty_istance = true;
552 + } else {
553 + $empty_istance = empty($istance_data);
554 + }
555 +
556 + if (!is_array($field_data)){
557 + $field_data = array();
558 + }
559 +
560 + $field_data += array(
561 + 'version' => '1',
562 + 'id' => '__html',
563 + 'name' => __( 'Custom HTML content', 'contact-forms'),
564 + 'type' => 'html',
565 + 'description' => __('Use this special field to inject raw HTML in the form. You can use this multiple times.', 'contact-forms'),
566 + 'default_value' => '',
567 + 'allowed_values' => '',
568 + 'allowed_extensions' => '',
569 + );
570 +
571 + $override_label = isset($istance_data['label']) ? 'checked="checked"' : '';
572 + $override_default_value = isset($istance_data['default_value']) ? 'checked="checked"' : '';
573 + $override_allowed_values = isset($istance_data['allowed_values']) ? 'checked="checked"' : '';
574 + $override_allowed_extensions = '';
575 +
576 + if ($field_data['type'] == 'file') {
577 + if (isset($istance_data['version']) && $istance_data['version'] >= 2) {
578 + if (isset($istance_data['allowed_extensions'])) {
579 + $override_allowed_extensions = 'checked="checked"';
580 + }
581 + } else {
582 + if (isset($istance_data['allowed_values'])) {
583 + $istance_data['allowed_extensions'] = $istance_data['allowed_values'];
584 + $override_allowed_extensions = 'checked="checked"';
585 + }
586 + }
587 +
588 + if ($field_data['version'] < 2) {
589 + $field_data['allowed_extensions'] = $field_data['allowed_values'];
590 + }
591 +
592 + if ($field_data['allowed_extensions'] === '') {
593 + $file_data = get_option('accua_forms_default_file_field_data',array());
594 + if (isset($file_data['valid_extensions'])){
595 + $field_data['allowed_extensions'] = $file_data['valid_extensions'];
596 + }
597 + }
598 + }
599 +
600 + if ($field_data['type'] == 'date') {
601 + $override_mindate_values = isset($istance_data['min_date']) ? 'checked="checked"' : '';
602 + $override_maxdate_values = isset($istance_data['max_date']) ? 'checked="checked"' : '';
603 + //$override_default_value = isset($istance_data['default_date_value']) ? 'checked="checked"' : '';
604 +
605 + $istance_data += array(
606 + 'min_date' => $field_data['min_date'],
607 + 'max_date' => $field_data['max_date'],
608 + 'default_value' => $field_data['default_date_value'],
609 + );
610 + }
611 +
612 + $istance_data += array(
613 + //'version' => 1,
614 + 'istance_id' => $field_data['id'],
615 + 'widget_number' => '',
616 + 'ref' => $field_data['id'],
617 + 'label' => $field_data['name'],
618 + 'default_value' => $field_data['default_value'],
619 + 'allowed_values' => $field_data['allowed_values'],
620 + 'allowed_extensions' => $field_data['allowed_extensions'],
621 + 'required' => false,
622 + );
623 +
624 + foreach ($istance_data as $key => $value) {
625 + $istance_data[$key] = htmlspecialchars($istance_data[$key], ENT_QUOTES);
626 + }
627 +
628 + foreach ($field_data as $key => $value) {
629 + $field_data[$key] = htmlspecialchars($field_data[$key], ENT_QUOTES);
630 + }
631 +
632 + $multi_number = '';
633 + $add_new = '';
634 +
635 + if (in_array($istance_data['ref'], array('__html','__fieldset-begin','__fieldset-end'))) {
636 + $forceoverride_field = true;
637 + if ($empty_istance) {
638 + $add_new = 'multi';
639 + $istance_data['istance_id'] .= '-__i__';
640 + $istance_data['widget_number'] = 1;
641 + $multi_number = 1 + $html_multi_number;
642 + } else {
643 + if ($html_multi_number < $istance_data['widget_number']) {
644 + $html_multi_number = $istance_data['widget_number'];
645 + }
646 + }
647 + } else {
648 + $forceoverride_field = false;
649 + $add_new = $empty_istance ? 'single' : '';
650 + }
651 +
652 + $fid = htmlspecialchars($fid, ENT_QUOTES);
653 + $testi_eot = array (
654 + 'label' => __( 'Label', 'contact-forms'),
655 + 'override' => __( 'override', 'contact-forms'),
656 + 'default_value' => __( 'Default value', 'contact-forms'),
657 + 'default_values' => __( 'Default value(s)', 'contact-forms'),
658 + 'desc_def' => __( 'For multiple default values, use | as separator.', 'contact-forms'),
659 + 'allowed_values' => __( 'Allowed values', 'contact-forms'),
660 + 'desc_all' => __( 'The possible values this field can contain. Enter one value per line, in the format key|label. The key is the value that will be stored in the database. The label is optional, and the key will be used as the label if no label is specified.', 'contact-forms'),
661 + 'allowed_extensions' => __( 'Allowed extensions', 'contact-forms'),
662 + 'desc_all_ext' => __( 'Accepted file extensions. One per line, without dots.', 'contact-forms'),
663 + 'required' => __( 'Required', 'contact-forms'),
664 + 'custom_HTML_content' => __( 'Custom HTML content', 'contact-forms'),
665 + 'remove' => __( 'Remove', 'contact-forms'),
666 + 'close' => __( 'Close', 'contact-forms'),
667 + 'save' => __( 'Save', 'contact-forms'),
668 + 'min-of-date' => __( 'Min date', 'contact-forms'),
669 + 'max-of-date' => __( 'Max date', 'contact-forms')
670 + );
671 +
672 + if ($forceoverride_field) {
673 + $override_begin = '';
674 + $override_type = 'hidden';
675 + $override_end = '';
676 + } else {
677 + $override_begin = "({$testi_eot['override']}: ";
678 + $override_type = 'checkbox';
679 + $override_end = ')';
680 + }
681 +
682 + $content = <<<EOT
683 + <p><label for="widget-{$istance_data['istance_id']}-label">{$testi_eot['label']}:</label>
684 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-label" value="1" {$override_label} />{$override_end}<br>
685 + <input type="text" value="{$istance_data['label']}" name="form-field-{$istance_data['istance_id']}-label" id="widget-{$istance_data['istance_id']}-label" class="widefat"></p>
686 +EOT;
687 +
688 + $default_value = <<<EOT
689 + <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
690 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
691 + <input type="text" value="{$istance_data['default_value']}" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat"></p>
692 +EOT;
693 +
694 + $default_values = <<<EOT
695 + <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
696 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
697 + <input type="text" value="{$istance_data['default_value']}" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat"><br />
698 + </p>
699 +EOT;
700 +
701 + $allowed_values = <<<EOT
702 + <p><label for="widget-{$istance_data['istance_id']}-allowed-values">{$testi_eot['allowed_values']}:</label>
703 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-allowed-values" value="1" {$override_allowed_values} />{$override_end}<br>
704 + <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-allowed-values" id="widget-{$istance_data['istance_id']}-allowed-values" class="widefat">{$istance_data['allowed_values']}</textarea><br />
705 + {$testi_eot['desc_all']}</p>
706 +EOT;
707 +
708 + $allowed_ext = <<<EOT
709 + <p><label for="widget-{$istance_data['istance_id']}-allowed-values">{$testi_eot['allowed_extensions']}:</label>
710 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-allowed-values" value="1" {$override_allowed_extensions} />{$override_end}<br>
711 + <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-allowed-values" id="widget-{$istance_data['istance_id']}-allowed-values" class="widefat">{$istance_data['allowed_extensions']}</textarea><br />
712 + {$testi_eot['desc_all_ext']}</p>
713 +EOT;
714 +
715 + $required_checked = empty($istance_data['required']) ? '' : 'checked="checked"';
716 + $required = <<<EOT
717 + <p><label for="widget-{$istance_data['istance_id']}-required">{$testi_eot['required']}:</label>
718 + <input type="checkbox" value="1" {$required_checked} name="form-field-{$istance_data['istance_id']}-required" id="widget-{$istance_data['istance_id']}-required"></p>
719 +EOT;
720 +
721 + if ($field_data['type'] == 'date'){
722 + $default_date_value = <<<EOT
723 + <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
724 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
725 + <input type="date" value="{$istance_data['default_value']}" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat"></p>
726 +EOT;
727 + $min_date = <<<EOT
728 + <p><label for="widget-{$istance_data['istance_id']}-min-of-date">{$testi_eot['min-of-date']}:</label>
729 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-datemin-values" value="1" {$override_mindate_values} />{$override_end}<br>
730 + <input type="date" value="{$istance_data['min_date']}" name="form-field-{$istance_data['istance_id']}-min-of-date" id="widget-{$istance_data['istance_id']}-min-of-date"></p>
731 +EOT;
732 + $max_date = <<<EOT
733 + <p><label for="widget-{$istance_data['istance_id']}-max-of-date">{$testi_eot['max-of-date']}:</label>
734 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-datemax-values" value="1" {$override_maxdate_values} />{$override_end}<br>
735 + <input type="date" value="{$istance_data['max_date']}" name="form-field-{$istance_data['istance_id']}-max-of-date" id="widget-{$istance_data['istance_id']}-max-of-date"></p>
736 +EOT;
737 + }
738 +
739 + switch ($field_data['type']) {
740 + case 'textarea':
741 + $content .= <<<EOT
742 + <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['default_value']}:</label>
743 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
744 + <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat">{$istance_data['default_value']}</textarea></p>
745 + $required
746 +EOT;
747 + break;
748 + case 'hidden':
749 + $content = $default_value;
750 + break;
751 + case 'checkbox':
752 + $content .= $default_value . $required;
753 + break;
754 + case 'select':
755 + case 'radio':
756 + case 'post-select':
757 + $content .= $default_value . $allowed_values . $required;
758 + break;
759 + case 'multiselect':
760 + case 'multicheckbox':
761 + case 'post-multicheckbox':
762 + $content .= $default_values . $allowed_values . $required;
763 + break;
764 + case 'file':
765 + $content .= $allowed_ext . $required;
766 + case 'submit':
767 + case 'fieldset-begin':
768 + //just the label
769 + break;
770 + case 'fieldset-end':
771 + //Nothing!
772 + $content = '';
773 + break;
774 + case 'html':
775 + $content = <<<EOT
776 + <p><label for="widget-{$istance_data['istance_id']}-default-value">{$testi_eot['custom_HTML_content']}</label>
777 + {$override_begin}<input type="{$override_type}" name="form-field-{$istance_data['istance_id']}-override-default-value" value="1" {$override_default_value} />{$override_end}<br>
778 + <textarea rows="6" cols="50" name="form-field-{$istance_data['istance_id']}-default-value" id="widget-{$istance_data['istance_id']}-default-value" class="widefat">{$istance_data['default_value']}</textarea></p>
779 +EOT;
780 + break;
781 + case 'date':
782 + $content .= $default_date_value . $min_date . $max_date . $required;
783 + break;
784 + case 'email':
785 + case 'autoreply_email':
786 + case 'textfield':
787 + case 'colorpicker':
788 + case 'datepicker':
789 + case 'dateselect':
790 + default:
791 + $content .= $default_value . $required;
792 + break;
793 + }
794 + $adminurl = admin_url();
795 +
796 + return <<<EOT
797 +<div class="widget ui-draggable" id="widget-{$i}_{$istance_data['istance_id']}" $hidden> <div class="widget-top">
798 + <div class="widget-title-action">
799 + <a href="#available-widgets" class="widget-action hide-if-no-js"></a>
800 + </div>
801 + <div class="widget-title"><h4>{$field_data['name']}<span class="in-widget-title"></span></h4></div>
802 + </div>
803 +
804 + <div class="widget-inside">
805 + <form method="post" action="">
806 + <div class="widget-content">
807 + $content
808 + </div>
809 + <input type="hidden" value="{$fid}" name="form-id">
810 + <input type="hidden" value="{$istance_data['istance_id']}" class="widget-id" name="widget-id">
811 + <input type="hidden" value="{$field_data['id']}" class="id_base" name="id_base">
812 + <input type="hidden" value="250" class="widget-width" name="widget-width">
813 + <input type="hidden" value="200" class="widget-height" name="widget-height">
814 + <input type="hidden" value="{$istance_data['widget_number']}" class="widget_number" name="widget_number">
815 + <input type="hidden" value="{$multi_number}" class="multi_number" name="multi_number">
816 + <input type="hidden" value="{$add_new}" class="add_new" name="add_new">
817 +
818 + <div class="widget-control-actions">
819 + <div class="alignleft">
820 + <a href="#remove" class="widget-control-remove delete">{$testi_eot['remove']}</a> |
821 + <a href="#close" class="widget-control-close">{$testi_eot['close']}</a>
822 + </div>
823 + <div class="alignright">
824 + <img alt="" title="" class="ajax-feedback" src="{$adminurl}images/wpspin_light.gif">
825 + <input type="submit" value="{$testi_eot['save']}" class="button-primary widget-control-save" id="widget-{$istance_data['istance_id']}-savewidget" name="savewidget">
826 + </div>
827 + <br class="clear">
828 + </div>
829 + </form>
830 + </div>
831 +
832 + <!--<div class="widget-description">
833 + {$field_data['description']}
834 + </div>-->
835 +</div>
836 +
837 +EOT;
838 +}
839 +
840 +function accua_forms_add_page($message='') {
841 + $forms_data = get_option('accua_forms_saved_forms', array());
842 + $trash_data = get_option('accua_forms_trash_forms', array());
843 + if (!empty($_GET['fid'])) {
844 + $fid = htmlspecialchars(stripslashes($_GET['fid']), ENT_QUOTES);
845 + } else {
846 + if ($message === '') {
847 + $fid = 1 + ((int) get_option('accua_forms_lastid', 0));
848 + while (isset($forms_data[$fid]) || isset($trash_data[$fid])) {
849 + $fid++;
850 + }
851 + update_option('accua_forms_lastid', $fid);
852 + $message = _accua_forms_test_clonefrom($fid);
853 + if ($message === '') {
854 + return accua_forms_edit_page($fid);
855 + }
856 + } else {
857 + $fid = '';
858 + }
859 + }
860 + if (!empty($_GET['clonefrom'])) {
861 + check_admin_referer('clone_posts');
862 + $clonefrom = stripslashes($_GET['clonefrom']);
863 + } else {
864 + $clonefrom = '';
865 + }
866 +?>
867 +
868 +<div id="accua_forms_add_page" class="accua_forms_admin_page wrap">
869 +<h2><?php _e( 'Create a form', 'contact-forms'); ?> </h2>
870 +<?php if ($message !== '') {
871 + echo "<div style='border:1px solid; padding: 10px;'>$message</div>";
872 +} ?>
873 +<form action="admin.php" method="GET">
874 +<?php wp_nonce_field('edit_posts', '_wpnonce', false, true) ?>
875 +<input type="hidden" name="page" value="accua_forms_list" />
876 +<p>Form id: <input type="text" name="fid" value="<?php echo $fid; ?>" /></p>
877 +<?php
878 + if ($forms_data) {
879 + echo '<p><select name="clonefrom">
880 + <option value="">'.__( 'Empty form', 'contact-forms').'</option>
881 + <optgroup label="'.__( 'Clone form:', 'contact-forms').'">';
882 + foreach ($forms_data as $i => $formdata) {
883 + $sel = ($i == $clonefrom) ? " selected='selected'" : '';
884 + $i = htmlspecialchars($i, ENT_QUOTES);
885 + if (isset($formdata['title']) && ('' !== trim($formdata['title']))) {
886 + $formtitle = htmlspecialchars($formdata['title']);
887 + } else {
888 + $formtitle = $i;
889 + }
890 + echo "<option value='$i'$sel>$formtitle</option>\n";
891 + }
892 + echo '</optgroup></select></p>';
893 + }
894 +?>
895 +<p><input type="submit" value="<?php _e( 'Create', 'contact-forms'); ?>" /></p>
896 +</form>
897 +</div>
898 +<?php
899 +}
900 +
901 +function _accua_forms_test_clonefrom($fid){
902 + $error = '';
903 + if (isset($_GET['clonefrom'])&&$_GET['clonefrom']!=='') {
904 + $clonefrom = stripslashes($_GET['clonefrom']);
905 + $forms_data = get_option('accua_forms_saved_forms', array());
906 + if (isset($forms_data[$fid])){
907 + $error .= "<p>".__( 'Form already exists', 'contact-forms')."</p>";
908 + } else if (empty($forms_data[$clonefrom])) {
909 + $error .= "<p>".__( 'Source form doesn\'t exists.', 'contact-forms')."</p>";
910 + } else {
911 + $forms_data[$fid] = $forms_data[$clonefrom];
912 + if (!isset($forms_data[$fid]['title'])) {
913 + $forms_data[$fid]['title'] = $clonefrom ." ".__( 'clone', 'contact-forms');
914 + } else {
915 + $forms_data[$fid]['title'] .= " ". __( 'clone', 'contact-forms');
916 + }
917 + update_option('accua_forms_saved_forms', $forms_data);
918 + }
919 + }
920 + return $error;
921 +}
922 +
923 +function _accua_forms_form_edit_action() {
924 + static $message = null;
925 + if ($message === null) {
926 + $message = '';
927 + if (isset($_POST['accua-form-edit-action'])){
928 + $post = stripslashes_deep($_POST);
929 + switch ($post['accua-form-edit-action']) {
930 + case 'delete':
931 + $fid = $post['form-id'];
932 + check_admin_referer('contact-forms-delete_'.$fid);
933 + $forms_data = get_option('accua_forms_saved_forms', array());
934 + unset($forms_data[$fid]);
935 + update_option('accua_forms_saved_forms', $forms_data);
936 + $fid = htmlspecialchars($fid);
937 + $message .= sprintf( __( 'Form "%s" deleted','contact-forms' ), $fid );
938 + break;
939 + }
940 + }
941 + }
942 + return $message;
943 +}
944 +
945 +function accua_forms_validate_form_id($fid) {
946 + $error = '';
947 + if (!preg_match('/^[a-z0-9_-]+$/i', $fid)) {
948 + $error .= "<p>".__( 'Only letters, numbers, hyphen and underscores allowed in form identificative name', 'contact-forms')."</p>";
949 + }
950 + if (substr($fid,0,2) == '__') {
951 + $error .= "<p>".__( 'The identificative name can\'t start with two underscores (__)', 'contact-forms')."</p>";
952 + }
953 + if (strlen($fid) > 70) {
954 + $error .= "<p>".__( 'You cannot use more than 70 characters for the identificative name', 'contact-forms')."</p>";
955 + }
956 + return $error;
957 +}
958 +
959 +function accua_forms_list_page() {
960 + $message = '';
961 + if (isset($_POST['accua-form-edit-action'])){
962 + $message = _accua_forms_form_edit_action();
963 + } else if (isset($_GET['fid'])) {
964 + check_admin_referer('edit_posts');
965 + $fid = stripslashes($_GET['fid']);
966 + $error = accua_forms_validate_form_id($fid);
967 + if ($error === '' && (isset($_GET['clonefrom'])&&$_GET['clonefrom']!=='')) {
968 + $error .= _accua_forms_test_clonefrom($fid);
969 + }
970 + if ($error === '') {
971 + return accua_forms_edit_page($fid);
972 + } else {
973 + return accua_forms_add_page($error);
974 + }
975 + }
976 +?>
977 +<div id="accua_forms_list_page" class="accua_forms_admin_page wrap">
978 +<?php if ($message !== '') {
979 + echo "<div style='border:1px solid; padding: 10px;'>$message</div>";
980 +} ?>
981 +<h2><img src="<?php echo ACCUA_FORMS_DIR_URL.'img/cimatti-icon-20.png'; ?>"/> <?php _e( 'Contact Forms', 'contact-forms'); ?>
982 + <a class="add-new-h2" href="<?php echo get_admin_url(); ?>admin.php?page=accua_forms_add"><?php _e('Add New','contact-forms'); ?></a>
983 +</h2>
984 +<div ><?php
985 + echo strtr(__( 'Use the turquoise blue %img_c button in the TinyMCE editor to include the forms in posts, pages or other content types (shortcode and php functions also available)', 'contact-forms'),
986 + array('%img_c'=>'<img alt="C" src="' . plugins_url('img/cimatti-icon-16.png', ACCUA_FORMS_FILE ) . '" />')
987 + );
988 +?></div>
989 +<?php
990 +accua_forms_list_page_table();
991 +?>
992 +</div>
993 +<?php
994 +}
995 +
996 +function accua_forms_edit_page($fid) {
997 + wp_enqueue_script('jquery-ui-tabs','','','',true);
998 + wp_enqueue_script('contact_forms_tabs', plugins_url('accua_tabs.js', ACCUA_FORMS_FILE ), array( 'jquery' ), ACCUA_FORMS_JS_VERSION);
999 +
1000 + if (!class_exists('AccuaFormsHelp')) {
1001 + require_once('accua-forms-help.php');
1002 + }
1003 + $accuaHelp = AccuaFormsHelp::getInstance();
1004 + /*
1005 + $avail_fields = array(
1006 + 'first_name' => array (
1007 + 'id' => "first_name",
1008 + 'name' => "First Name",
1009 + 'type' => "textfield",
1010 + 'description' => 'This is the first name',
1011 + ),
1012 + 'last_name' => array (
1013 + 'id' => "last_name",
1014 + 'name' => "Last Name",
1015 + 'type' => "textfield",
1016 + 'description' => 'This is the last name',
1017 + ),
1018 + 'email' => array (
1019 + 'id' => "email",
1020 + 'name' => "Email",
1021 + 'type' => "email",
1022 + 'description' => 'This is the email',
1023 + ),
1024 + );
1025 + */
1026 +
1027 + $avail_fields = get_option('accua_forms_avail_fields', array());
1028 + $default_form_data = get_option('accua_forms_default_form_data',array());
1029 +
1030 +
1031 +
1032 + $form_data = _accua_forms_get_form_data($fid, true, !empty($_GET['restore']));
1033 + $form_overrided_data = $form_data['_overrided'];
1034 +
1035 + $fid_esc = htmlspecialchars($fid, ENT_QUOTES);
1036 +
1037 + $adminurl = admin_url();
1038 +
1039 + global $wp_version;
1040 + if (version_compare($wp_version, '4') >= 0) {
1041 +?>
1042 +<style>
1043 +#widgets-right .accua-form-widget-scroll-wrapper .widget.ui-draggable {
1044 + height: auto !important;
1045 +}
1046 +</style>
1047 +<?php
1048 + }
1049 +
1050 +?>
1051 +<div id="accua_forms_edit_page" class="accua_forms_admin_page wrap">
1052 +<h2><img src="<?php echo ACCUA_FORMS_DIR_URL.'img/cimatti-icon-20.png'; ?>"/> <?php _e('Contact Forms - Edit Form', 'contact-forms'); ?></h2>
1053 +<div class="accua_form_save_settings_status"></div>
1054 +<?php wp_nonce_field('edit_form', '_nonce_edit_form'); ?>
1055 +<div id="titlediv"><br />
1056 + <label id="title-prompt-text" class="screen-reader-text" for="title"><?php _e( 'Enter title here', 'contact-forms'); ?></label>
1057 + <input id="title" type="text" autocomplete="off" value="<?php echo htmlspecialchars($form_data['title'], ENT_QUOTES) ?>" size="30" name="post_title">
1058 + <script type="text/javascript">
1059 + jQuery(function($){
1060 + if ( jQuery('#titlediv #title').val() == '' )
1061 + jQuery('#title-prompt-text').removeClass('screen-reader-text');
1062 +
1063 + jQuery('#titlediv #title').focus(function() {
1064 + jQuery('#title-prompt-text').addClass('screen-reader-text');
1065 + });
1066 + jQuery('#titlediv #title').blur(function() {
1067 + if ( jQuery('#titlediv #title').val() == '' )
1068 + jQuery('#title-prompt-text').removeClass('screen-reader-text');
1069 + });
1070 + });
1071 + </script>
1072 +</div>
1073 + <div id="accua_tabs">
1074 + <div id="save_settings_top" class="accua_forms_save_settings_top">
1075 + <form id="delete_form" action="admin.php?page=accua_forms_list" method="POST" onsubmit="return confirm(<?php print htmlspecialchars(_accua_forms_json_encode(__('Do you really want to delete this form?', 'contact-forms')), ENT_QUOTES); ?>);">
1076 + <input type="hidden" name="accua-form-edit-action" value="delete" />
1077 + <input type="hidden" name="form-id" value="<?php echo $fid_esc; ?>" />
1078 + <input type="submit" value="<?php _e( 'Delete this form', 'contact-forms'); ?>" />
1079 + <?php wp_nonce_field( 'contact-forms-delete_'.$fid ); ?>
1080 + </form>
1081 + <?php /*<input class="button button-primary button-large accua_form_save_settings_button" id="accua_form_save_settings" type="button" value="<?php echo htmlspecialchars(__( 'Save settings', 'contact-forms'), ENT_QUOTES); ?>" /> */ ?>
1082 + </div>
1083 + <ul id="ul_accua_tabs">
1084 + <li class="tabs"><a href="#accua_tab_fields"><?php _e( 'Fields', 'contact-forms'); ?></a></li>
1085 + <li class="tabs"><a href="#accua_tab_messages"><?php _e( 'Messages', 'contact-forms'); ?></a></li>
1086 + <?php /*<li class="tabs"><a href="#accua_tab_preview"><?php _e( 'Preview/Test', 'contact-forms'); ?></a></li> */ ?>
1087 + </ul>
1088 + <div id="accua_tab_fields" class="content_tab">
1089 + <div style="width:50%; float:left;background: #f4f4f4;">
1090 + <div style="padding: 20px;">
1091 + <input class="button button-primary button-large accua_form_save_settings_button" id="accua_form_save_settings_inside" type="button" value="<?php echo htmlspecialchars(__( 'Save', 'contact-forms'), ENT_QUOTES); ?>" />
1092 + <div id="accua_tabs2">
1093 + <ul>
1094 + <li class="tabs"><a href="#accua_tab_fields2"><?php _e( 'Fields', 'contact-forms'); ?></a></li>
1095 + <li class="tabs"><a href="#accua_tab_customise"><?php _e( 'Appearance', 'contact-forms'); ?></a></li>
1096 + </ul>
1097 + <div id="accua_tab_fields2">
1098 + <h2><?php _e( 'Drag & Drop Form Fields', 'contact-forms'); ?></h2>
1099 + <?php /*<a href="admin.php?page=accua_forms_fields" target="_blank"><strong><?php _e( 'Create new fields here', 'contact-forms'); ?></strong></a></p> */ ?>
1100 + <div style="width:30%; float:left;">
1101 + <!-- Begin available fields -->
1102 +
1103 + <div class="widget-liquid-left" style="margin-right:0">
1104 + <!-- <div id="widgets-left"> -->
1105 + <div id="widgets-left" style="margin-right:5px;">
1106 + <div id="available-widgets" class="widgets-holder-wrap">
1107 + <div class="widget-holder">
1108 + <div id="widget-list">
1109 + <!-- begin fields list -->
1110 +
1111 + <?php
1112 +
1113 + //This block must be executed before the output of available fields so accua_forms_field_text_settings_form() can initialize $html_multi_number for further html and fieldset fields
1114 + $form_fields_html = '';
1115 + foreach ($form_data['fields'] as $field) {
1116 + if (empty($avail_fields[$field['ref']])) {
1117 + $ref = array();
1118 + if (!empty($field['ref'])) {
1119 + if ($field['ref'] == '__fieldset-begin') {
1120 + $ref = array(
1121 + 'id' => '__fieldset-begin',
1122 + 'name' => __('Fieldset begin', 'contact-forms'),
1123 + 'type' => 'fieldset-begin',
1124 + 'description' => '',
1125 + );
1126 + } else if ($field['ref'] == '__fieldset-end') {
1127 + $ref = array(
1128 + 'id' => '__fieldset-end',
1129 + 'name' => __('Fieldset end', 'contact-forms'),
1130 + 'type' => 'fieldset-end',
1131 + 'description' => '',
1132 + );
1133 + }
1134 + }
1135 + } else {
1136 + $ref = $avail_fields[$field['ref']];
1137 + }
1138 +
1139 + //print_r($ref);
1140 + $form_fields_html .= accua_forms_field_text_settings_form($fid, $ref, $field);
1141 + }
1142 +
1143 +
1144 + foreach ($avail_fields as $avail_field) {
1145 + $hidden = (empty($form_data['fields'][$avail_field['id']])) ? false : 'hidden';
1146 + echo accua_forms_field_text_settings_form($fid, $avail_field, $hidden);
1147 + }
1148 + //Custom HTML field
1149 + echo accua_forms_field_text_settings_form($fid);
1150 + //Fieldset begin
1151 + echo accua_forms_field_text_settings_form($fid, array(
1152 + 'id' => '__fieldset-begin',
1153 + 'name' => __( 'Fieldset begin', 'contact-forms'),
1154 + 'type' => 'fieldset-begin',
1155 + 'description' => __('You can use this field multiple times.', 'contact-forms'),
1156 + 'default_value' => '',
1157 + 'allowed_values' => '',
1158 + ));
1159 + //Fieldset end
1160 + echo accua_forms_field_text_settings_form($fid, array(
1161 + 'id' => '__fieldset-end',
1162 + 'name' => __( 'Fieldset end', 'contact-forms'),
1163 + 'type' => 'fieldset-end',
1164 + 'description' => __('You can use this field multiple times.', 'contact-forms'),
1165 + 'default_value' => '',
1166 + 'allowed_values' => '',
1167 + ));
1168 + ?>
1169 +
1170 + <!-- end fields list -->
1171 + </div>
1172 +
1173 + <br class='clear' />
1174 + </div>
1175 + <br class="clear" />
1176 + </div>
1177 +
1178 + </div>
1179 + </div>
1180 + <!-- End available fields -->
1181 + </div>
1182 +
1183 + <div style="width:70%; float:left;" class="container">
1184 + <!--
1185 + <h3>Form Fields</h3>
1186 + <div id="form_fields_container">
1187 + </div>
1188 + -->
1189 +
1190 + <div class="widget-liquid-right" style="width:100%">
1191 + <div id="widgets-right" style="width:100%">
1192 + <div class="widgets-holder-wrap dashed">
1193 + <div class="sidebar-name">
1194 + <div class="sidebar-name-arrow"><br></div>
1195 + <h3><?php _e( 'Drop fields here', 'contact-forms'); ?> <span><img alt="" title="" class="ajax-feedback" src="<?php echo $adminurl;?>images/wpspin_light.gif"></span></h3>
1196 + </div>
1197 + <div class="widgets-sortables ui-sortable" id="cimatti-accua-fields-form-area-<?php echo $fid_esc ?>">
1198 + <?php echo $form_fields_html; ?>
1199 + </div>
1200 + </div>
1201 + </div>
1202 + </div>
1203 +
1204 + </div>
1205 + </div>
1206 + <div id="accua_tab_customise">
1207 + <div style="width: 48%; float:left;">
1208 + <h3><?php _e( 'General', 'contact-forms'); ?></h3>
1209 + <p id="accua_form_use_ajax"><input class="accua_form_value" type="checkbox" value="1" <?php if (!empty($form_data['use_ajax'])) {echo 'checked="checked" ';} ?>/><?php _e('Do not reload the page on form submission', 'contact-forms'); ?></p>
1210 +
1211 + <p id="accua_form_layout"><?php _e( 'Labels', 'contact-forms'); ?> <select name="layout" class="accua_form_value">
1212 + <option value="" <?php if (isset($form_overrided_data['layout'])) { echo 'selected="selected"'; } ?>>default (<?php if($default_form_data['layout']=='sidebyside') _e( 'Labels on the left of the fields', 'contact-forms'); else _e( 'Labels on top of the fields', 'contact-forms'); ?>)</option><option value="sidebyside" <?php if ((isset($form_overrided_data['layout'])) && ($form_data['layout'] == 'sidebyside')) { echo 'selected="selected"'; } ?>><?php _e( 'Labels on the left of the fields', 'contact-forms'); ?></option><option value="toplabel" <?php if ((isset($form_overrided_data['layout'])) && ($form_data['layout'] == 'toplabel')) { echo 'selected="selected"'; } ?>><?php _e( 'Labels on top of the fields', 'contact-forms'); ?></option></select>
1213 + </p>
1214 +
1215 + <div id="accua_form_style_margin" class="label_input" class="label_container">
1216 + <input name="accua_form_style_margin" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_margin'])) {echo 'checked="checked" ';} ?>/><strong><?php _e( 'Margin', 'contact-forms'); ?></strong>
1217 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_margin']); ?></div>
1218 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_margin'], ENT_QUOTES) ?>" />
1219 +
1220 + </div>
1221 +
1222 + <div class="label_input">
1223 + <div id="accua_form_style_border_color" class="label_container">
1224 + <input name="accua_form_style_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_color'])) {echo 'checked="checked" ';} ?>/><strong><?php _e( 'Border color', 'contact-forms'); ?></strong>
1225 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_border_color']); ?></div>
1226 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_color'], ENT_QUOTES) ?>" />
1227 + </div>
1228 + <div id="accua_form_style_border_width" class="label_container">
1229 + <input name="accua_form_style_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Width', 'contact-forms'); ?>
1230 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_border_width']); ?></div>
1231 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_width'], ENT_QUOTES) ?>" />
1232 + </div>
1233 + <div id="accua_form_style_border_radius" class="label_container">
1234 + <input name="accua_form_style_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Radius', 'contact-forms'); ?>
1235 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_border_radius']); ?></div>
1236 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_radius'], ENT_QUOTES) ?>" />
1237 + </div>
1238 + </div>
1239 +
1240 + <div class="label_input">
1241 + <div id="accua_form_style_background_color" class="label_container">
1242 + <input name="accua_form_style_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_background_color'])) {echo 'checked="checked" ';} ?>/><strong><?php _e( 'Background', 'contact-forms'); ?></strong>
1243 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_background_color']); ?></div>
1244 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_background_color'], ENT_QUOTES) ?>" />
1245 + </div>
1246 +
1247 + <div id="accua_form_style_padding" class="label_container">
1248 + <input name="accua_form_style_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_padding'])) {echo 'checked="checked" ';} ?>/><strong><?php _e( 'Padding', 'contact-forms'); ?></strong>
1249 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_padding']); ?></div>
1250 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_padding'], ENT_QUOTES) ?>" />
1251 + </div>
1252 + </div>
1253 + <div class="label_input">
1254 + <div id="accua_form_style_color" class="label_container">
1255 + <input name="accua_form_style_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_color'])) {echo 'checked="checked" ';} ?>/><strong><?php _e( 'Font', 'contact-forms'); ?></strong>
1256 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_color']); ?></div>
1257 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_color'], ENT_QUOTES) ?>" />
1258 + </div>
1259 +
1260 + <div id="accua_form_style_font_size" class="label_container">
1261 + <input name="accua_form_style_font_size" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_font_size'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Size', 'contact-forms'); ?>
1262 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_font_size']); ?></div>
1263 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_font_size'], ENT_QUOTES) ?>" />
1264 + </div>
1265 + </div>
1266 + </div>
1267 + <div style="width: 48%; float:left;">
1268 +
1269 + <h3><?php _e( 'Fields', 'contact-forms'); ?></h3>
1270 +
1271 + <div id="accua_form_style_field_spacing" class="label_input">
1272 + <input name="accua_form_style_field_spacing" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_spacing'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Spacing', 'contact-forms'); ?>
1273 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_spacing']); ?></div>
1274 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_spacing'], ENT_QUOTES) ?>" />
1275 + </div>
1276 +
1277 + <div id="accua_form_style_field_border_color" class="label_input">
1278 + <input name="accua_form_style_field_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Border color', 'contact-forms'); ?>
1279 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_border_color']); ?></div>
1280 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_color'], ENT_QUOTES) ?>" />
1281 + </div>
1282 +
1283 + <div id="accua_form_style_field_border_width" class="label_input">
1284 + <input name="accua_form_style_field_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Border width', 'contact-forms'); ?>
1285 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_border_width']); ?></div>
1286 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_width'], ENT_QUOTES) ?>" />
1287 + </div>
1288 +
1289 + <div id="accua_form_style_field_border_radius" class="label_input">
1290 + <input name="accua_form_style_field_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Rounded corner radius', 'contact-forms'); ?>
1291 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_border_radius']); ?></div>
1292 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_radius'], ENT_QUOTES) ?>" />
1293 + </div>
1294 +
1295 + <div id="accua_form_style_field_background_color" class="label_input">
1296 + <input name="accua_form_style_field_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_background_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Background color', 'contact-forms'); ?>
1297 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_background_color']); ?></div>
1298 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_background_color'], ENT_QUOTES) ?>" />
1299 + </div>
1300 +
1301 + <div id="accua_form_style_field_padding" class="label_input">
1302 + <input name="accua_form_style_field_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_padding'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Padding', 'contact-forms'); ?>
1303 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_padding']); ?></div>
1304 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_padding'], ENT_QUOTES) ?>" />
1305 + </div>
1306 +
1307 + <div id="accua_form_style_field_color" class="label_input">
1308 + <input name="accua_form_style_field_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_field_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Text color', 'contact-forms'); ?>
1309 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_field_color']); ?></div>
1310 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_color'], ENT_QUOTES) ?>" />
1311 + </div>
1312 +
1313 +
1314 + <h3><?php _e( 'Submit button', 'contact-forms'); ?></h3>
1315 +
1316 + <div id="accua_form_style_submit_border_color" class="label_input">
1317 + <input name="accua_form_style_submit_border_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Border color', 'contact-forms'); ?>
1318 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_border_color']); ?></div>
1319 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_color'], ENT_QUOTES) ?>" />
1320 + <?php _e( 'Customize', 'contact-forms'); ?>
1321 + </div>
1322 +
1323 + <div id="accua_form_style_submit_border_width" class="label_input">
1324 + <input name="accua_form_style_submit_border_width" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_width'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Border width', 'contact-forms'); ?>
1325 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_border_width']); ?></div>
1326 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_width'], ENT_QUOTES) ?>" />
1327 + </div>
1328 +
1329 + <div id="accua_form_style_submit_border_radius" class="label_input">
1330 + <input name="accua_form_style_submit_border_radius" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_border_radius'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Rounded corner radius', 'contact-forms'); ?>
1331 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_border_radius']); ?></div>
1332 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_radius'], ENT_QUOTES) ?>" />
1333 + </div>
1334 +
1335 + <div id="accua_form_style_submit_background_color" class="label_input">
1336 + <input name="accua_form_style_submit_background_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_background_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Background color', 'contact-forms'); ?>
1337 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_background_color']); ?></div>
1338 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_background_color'], ENT_QUOTES) ?>" />
1339 + </div>
1340 +
1341 + <div id="accua_form_style_submit_padding" class="label_input">
1342 + <input name="accua_form_style_submit_padding" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_padding'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Padding', 'contact-forms'); ?>
1343 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_padding']); ?></div>
1344 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_padding'], ENT_QUOTES) ?>" />
1345 + </div>
1346 +
1347 + <div id="accua_form_style_submit_color" class="label_input">
1348 + <input name="accua_form_style_submit_color" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_color'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Text color', 'contact-forms'); ?>
1349 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_color']); ?></div>
1350 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_color'], ENT_QUOTES) ?>" />
1351 + </div>
1352 +
1353 + <div id="accua_form_style_submit_font_size" class="label_input">
1354 + <input name="accua_form_style_submit_font_size" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['style_submit_font_size'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Font size', 'contact-forms'); ?>
1355 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['style_submit_font_size']); ?></div>
1356 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_font_size'], ENT_QUOTES) ?>" />
1357 + </div>
1358 +
1359 + <br clear="all"/>
1360 + </div>
1361 + </div>
1362 + </div>
1363 +
1364 +
1365 +
1366 + </div>
1367 + </div>
1368 + <div style="width:50%; float:right;">
1369 + <div style="padding: 15px;">
1370 + <h2><?php _e('Preview', 'contact-forms'); ?>
1371 + <?php echo $accuaHelp->add_pointer('form_edit_preview'); ?>
1372 + </h2>
1373 + <div id="accua_form_preview_area_wrapper">
1374 + <?php
1375 + echo "<script>
1376 + function resizeIframe(obj) {
1377 + altezza = obj.contentWindow.document.documentElement.scrollHeight + 200;
1378 + obj.style.height = altezza + 'px';
1379 + }
1380 + </script>";
1381 +
1382 + ?>
1383 + <iframe id="accua_form_preview_area" src="admin-ajax.php?action=accua_forms_preview&fid=<?php echo htmlspecialchars($fid,ENT_QUOTES);?>" frameborder="0" scrolling="no" onload="resizeIframe(this)" ></iframe>
1384 + <?php //todo: posso usare lo stile del sito? font ecc ?>
1385 + </div>
1386 +
1387 + </div>
1388 + </div>
1389 +
1390 + <div style="clear:both;">&nbsp;</div>
1391 +
1392 + <?php /* * / ?>
1393 + <pre>
1394 + accua_forms_form_fields_order_post: <?php echo htmlspecialchars(print_r(get_option('accua_forms_form_fields_order_post'), true)); ?>
1395 +
1396 + accua_forms_save_form_field_post: <?php echo htmlspecialchars(print_r(get_option('accua_forms_save_form_field_post'), true)); ?>
1397 +
1398 + accua_forms_saved_form_data: <?php echo htmlspecialchars(print_r($form_data, true)); ?>
1399 +
1400 + </pre>
1401 + <?php /* */ ?>
1402 +</div>
1403 + <div id="accua_tab_messages" class="content_tab">
1404 + <?php
1405 + $settings_editor = array(
1406 + 'teeny' => true,
1407 + 'editor_class' => 'accua_form_value',
1408 + 'tinymce' => array(
1409 + 'theme_advanced_buttons1' => 'bold,italic,underline,|,bullist,numlist,'));
1410 + ?>
1411 +
1412 + <div class="metabox-holder accua-forms-metabox-holder">
1413 + <div class="postbox ">
1414 + <h3 class="hndle"><span><?php _e('1. On-screen success message', 'contact-forms'); ?></span></h3>
1415 + <div class="inside" id="dashboard_right_now">
1416 + <div id="accua_form_success_message">
1417 + <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="0" <?php if (!isset($form_overrided_data['success_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'contact-forms'); ?>
1418 + <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="1" <?php if (isset($form_overrided_data['success_message']) && !isset($form_overrided_data['success_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'contact-forms'); ?>
1419 + <input class="accua_form_check_override" name="accua_form_success_message" type="radio" value="-1" <?php if (isset($form_overrided_data['success_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'contact-forms'); ?><br />
1420 + <div class="defalut_message">
1421 + <?php _e( 'Default Success message', 'contact-forms'); ?>
1422 + <div class="defalut_content_message"><?php echo wpautop($default_form_data['success_message']); ?></div>
1423 + </div>
1424 + <?php wp_editor( $form_data['success_message'] , 'accua_form_success_message_textarea' , $settings_editor); ?>
1425 + <!-- <textarea class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['success_message'], ENT_QUOTES) ?></textarea> -->
1426 + </div>
1427 + </div>
1428 + </div>
1429 + </div>
1430 +
1431 + <div class="metabox-holder accua-forms-metabox-holder">
1432 + <div class="postbox ">
1433 + <h3 class="hndle"><span><?php _e('2. On-screen error message', 'contact-forms'); ?></span></h3>
1434 + <div class="inside" id="dashboard_right_now">
1435 + <div id="accua_form_error_message">
1436 + <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="0" <?php if (!isset($form_overrided_data['error_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'contact-forms'); ?>
1437 + <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="1" <?php if (isset($form_overrided_data['error_message']) && !isset($form_overrided_data['error_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'contact-forms'); ?>
1438 + <input class="accua_form_check_override" name="accua_form_error_message" type="radio" value="-1" <?php if (isset($form_overrided_data['error_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'contact-forms'); ?><br />
1439 + <div class="defalut_message">
1440 + <?php _e( 'Default error message', 'contact-forms'); ?> <br />
1441 + <div class="defalut_content_message" ><?php echo wpautop($default_form_data['error_message']); ?></div>
1442 + </div>
1443 + <?php wp_editor( $form_data['error_message'] , 'accua_form_error_message_textarea' , $settings_editor); ?>
1444 + </div>
1445 + </div>
1446 + </div>
1447 + </div>
1448 + <br clear="all"/>
1449 + <div class="metabox-holder accua-forms-metabox-holder">
1450 + <div class="postbox ">
1451 + <h3 class="hndle"><span><?php _e('3. Email to notify administrator', 'contact-forms'); ?></span></h3>
1452 + <div class="inside" id="dashboard_right_now">
1453 + <div id="accua_form_admin_emails_to" class="label_input">
1454 + <label><?php _e('To', 'contact-forms'); ?></label>
1455 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['admin_emails_to']); ?></div>
1456 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" />
1457 + <input name="accua_form_admin_emails_to" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['admin_emails_to'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1458 + </div>
1459 + <div id="accua_form_emails_bcc" class="label_input">
1460 + <label><?php _e('Bcc', 'contact-forms'); ?></label>
1461 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['emails_bcc']); ?></div>
1462 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" />
1463 + <input name ="accua_form_emails_bcc" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['emails_bcc'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1464 + </div>
1465 +
1466 + <div id="accua_form_admin_emails_subject" class="label_input">
1467 + <label><?php _e( 'Subject', 'contact-forms'); ?></label>
1468 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['admin_emails_subject']); ?></div>
1469 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" />
1470 + <input name="accua_form_admin_emails_subject" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['admin_emails_subject'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1471 + </div>
1472 +
1473 + <div id="accua_form_admin_emails_message">
1474 + <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="0" <?php if (!isset($form_overrided_data['admin_emails_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'contact-forms'); ?>
1475 + <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="1" <?php if (isset($form_overrided_data['admin_emails_message']) && !isset($form_overrided_data['admin_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'contact-forms'); ?>
1476 + <input class="accua_form_check_override" name="accua_form_admin_emails_message" type="radio" value="-1" <?php if (isset($form_overrided_data['admin_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'contact-forms'); ?><br />
1477 + <div class="defalut_message">
1478 + <?php _e( 'Default message', 'contact-forms'); ?>
1479 + <div class="defalut_content_message"><?php echo wpautop($default_form_data['admin_emails_message']); ?></div>
1480 + </div>
1481 + <?php wp_editor( $form_data['admin_emails_message'] , 'accua_form_admin_emails_message_textarea' , $settings_editor); ?>
1482 + </div>
1483 +
1484 + </div>
1485 + </div>
1486 + </div>
1487 +
1488 + <div class="metabox-holder accua-forms-metabox-holder">
1489 + <div class="postbox ">
1490 + <h3 class="hndle"><span><?php _e('4. Email confirmation to the person who completed the form', 'contact-forms'); ?></span></h3>
1491 + <div class="inside" id="dashboard_right_now">
1492 + <div id="accua_form_emails_from_name" class="label_input">
1493 + <label><?php _e( 'From name', 'contact-forms'); ?></label>
1494 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['emails_from_name']); ?></div>
1495 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_from_name'], ENT_QUOTES) ?>" />
1496 + <input name="accua_form_emails_from_name" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['emails_from_name'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1497 + </div>
1498 + <div id="accua_form_emails_from" class="label_input">
1499 + <label><?php _e( 'From email', 'contact-forms'); ?></label>
1500 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['emails_from']); ?></div>
1501 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" />
1502 + <input name="accua_form_emails_from" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['emails_from'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1503 + </div>
1504 + <div id="accua_form_confirmation_emails_subject" class="label_input">
1505 + <label><?php _e( 'Subject', 'contact-forms'); ?></label>
1506 + <div class="default_value"><?php echo htmlspecialchars($default_form_data['confirmation_emails_subject']); ?></div>
1507 + <input class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" />
1508 + <input name="accua_form_confirmation_emails_subject" class="accua_form_check_override" type="checkbox" value="1" <?php if (isset($form_overrided_data['confirmation_emails_subject'])) {echo 'checked="checked" ';} ?>/><?php _e( 'Customize', 'contact-forms'); ?>
1509 + </div>
1510 +
1511 + <div id="accua_form_confirmation_emails_message">
1512 + <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="0" <?php if (!isset($form_overrided_data['confirmation_emails_message'])) {echo ' checked ';} ?>> <?php _e( 'Use the default message', 'contact-forms'); ?>
1513 + <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="1" <?php if (isset($form_overrided_data['confirmation_emails_message']) && !isset($form_overrided_data['confirmation_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Customize', 'contact-forms'); ?>
1514 + <input class="accua_form_check_override" name="accua_form_confirmation_emails_message" type="radio" value="-1" <?php if (isset($form_overrided_data['confirmation_emails_message_no_message'])) {echo ' checked ';} ?>/> <?php _e( 'Don\'t show any messages', 'contact-forms'); ?><br />
1515 + <div class="defalut_message">
1516 + <?php _e( 'Default message', 'contact-forms'); ?>
1517 + <div class="defalut_content_message"><?php echo wpautop($default_form_data['confirmation_emails_message']); ?></div>
1518 + </div>
1519 + <?php wp_editor( $form_data['confirmation_emails_message'] , 'accua_form_confirmation_emails_message_textarea' , $settings_editor); ?>
1520 + </div>
1521 + </div>
1522 + </div>
1523 + </div>
1524 + <br clear="all"/>
1525 +
1526 +<?php accua_forms_print_tokens(); ?>
1527 +
1528 +<input type="hidden" id="accua_form_save_settings_id" value="<?php echo $fid_esc; ?>" />
1529 +</div>
1530 +<?php /*
1531 +<div id="accua_tab_preview" class="content_tab">
1532 +</div> */?>
1533 +<p></p>
1534 +<input class="button button-primary button-large accua_form_save_settings_button" id="accua_form_save_settings_2" type="button" value="<?php _e( 'Save settings', 'contact-forms'); ?>" /> <span class="accua_form_save_settings_status"></span>
1535 +
1536 +</div>
1537 +<script>
1538 +jQuery('input[type=radio]').change(function() {
1539 + var name = jQuery(this).attr('name');
1540 + if (jQuery(this).val() == '1') {
1541 + jQuery('#'+name+' .defalut_message').hide();
1542 + jQuery('#'+name+' .wp-editor-wrap').show();
1543 + }
1544 + else {
1545 + if(jQuery(this).val() != '-1')
1546 + jQuery('#'+name+' .defalut_message').show();
1547 + else
1548 + jQuery('#'+name+' .defalut_message').hide();
1549 + jQuery('#'+name+' .wp-editor-wrap').hide();
1550 + }
1551 +});
1552 +
1553 +jQuery('input[type=checkbox]').click(function() {
1554 + var name = jQuery(this).attr('name');
1555 + if (!this.checked) {
1556 + jQuery('#'+name+' .default_value').show();
1557 + jQuery('#'+name+' .accua_form_value, #'+name+' .cp-color-picker').hide();
1558 + }
1559 + else {
1560 + jQuery('#'+name+' .default_value').hide();
1561 + jQuery('#'+name+' .accua_form_value, #'+name+' .cp-color-picker').show();
1562 + //cp-color-picker
1563 + }
1564 +});
1565 +
1566 +jQuery(".token_link").click(function() {
1567 + jQuery("#dialog_token").dialog("open");
1568 + return false;
1569 +});
1570 +
1571 +//inizializzazione
1572 +jQuery(document).ready(function($){
1573 + $('#accua_form_preview_area_wrapper').resizable({handles: 's'});
1574 + $('#accua_form_preview_area').css({
1575 + 'width': '100%',
1576 + 'height': '100%'
1577 + });
1578 + $.each(
1579 + ['success_message','error_message','admin_emails_message','confirmation_emails_message'],
1580 + function(i,key){
1581 + var value = $('#accua_form_'+key+' .accua_form_check_override:checked').val();
1582 + if(value!=undefined && value!=0) {
1583 + if(value!=-1)
1584 + jQuery('#accua_form_'+key+' .wp-editor-wrap').show();
1585 + else
1586 + jQuery('#accua_form_'+key+' .wp-editor-wrap').hide();
1587 + jQuery('#accua_form_'+key+' .defalut_message').hide();
1588 +
1589 + }
1590 + else {
1591 + jQuery('#accua_form_'+key+' .wp-editor-wrap').hide();
1592 + jQuery('#accua_form_'+key+' .defalut_message').show();
1593 + }
1594 + }
1595 + );
1596 + $.each(
1597 + ['emails_from_name','emails_from','admin_emails_to','emails_bcc','admin_emails_subject','confirmation_emails_subject','style_margin','style_border_color','style_border_width','style_border_radius','style_background_color','style_padding','style_color','style_font_size','style_field_spacing','style_field_border_color','style_field_border_width','style_field_border_radius','style_field_background_color','style_field_padding','style_field_color','style_submit_border_color','style_submit_border_width','style_submit_border_radius','style_submit_background_color','style_submit_padding','style_submit_color','style_submit_font_size'],
1598 + function(i,key){
1599 + if(!$('#accua_form_'+key+' .accua_form_check_override').is(':checked')) {
1600 + jQuery('#accua_form_'+key+' .default_value').show();
1601 + jQuery('#accua_form_'+key+' .accua_form_value, #accua_form_'+key+' .wp-picker-container').hide();
1602 + }
1603 + else {
1604 + jQuery('#accua_form_'+key+' .default_value').hide();
1605 + jQuery('#accua_form_'+key+' .accua_form_value, #accua_form_'+key+' .wp-picker-container').show();
1606 + }
1607 + });
1608 + $("#dialog_token").dialog({ dialogClass:'wp-dialog' ,autoOpen : false, modal : true, show : "blind", hide : "blind"});
1609 +
1610 + $('#accua_token a').appendTo('.wp-media-buttons');
1611 +
1612 +});
1613 +
1614 +jQuery(document).ready(function($){
1615 +
1616 + var originalWidth = $(document).width();
1617 + if(originalWidth <= 883) { //iphone
1618 + $(".metabox-holder").width('98%');
1619 + }
1620 +
1621 + $(window).resize(function (e) {
1622 + var newWidth = $(document).width();
1623 + if(newWidth <= 883) {
1624 + if (originalWidth > 883) {
1625 + $(".metabox-holder").width('98%');
1626 + }
1627 + } else if (originalWidth<=883) {
1628 + $(".metabox-holder").width('47%');
1629 + }
1630 + originalWidth = newWidth;
1631 + });
1632 +});
1633 +
1634 +</script>
1635 +
1636 +<?php
1637 + $accuaHelp->finished();
1638 +}
1639 +
1640 +function accua_forms_fields_page_head() {
1641 +/*
1642 + $baseurl = WP_PLUGIN_URL.'/'.substr(plugin_basename(__FILE__),0,-strlen(basename(__FILE__)));
1643 +?>
1644 + <script type="text/javascript" src="<?php echo $baseurl.'/qtip/jquery.qtip-1.0.0-rc3.js'; ?>"></script>
1645 + <script type="text/javascript">
1646 + var avail_fields = {
1647 + first_name: {
1648 + id: "first_name",
1649 + name: "First Name",
1650 + type: "textfield"
1651 + },
1652 + last_name: {
1653 + id: "last_name",
1654 + name: "Last Name",
1655 + type: "textfield"
1656 + },
1657 + email: {
1658 + id: "email",
1659 + name: "Email",
1660 + type: "email"
1661 + }
1662 + };
1663 +
1664 + jQuery(function($){
1665 + $avail = $('#available_fields_container');
1666 + for(var id in avail_fields) {
1667 + var field = avail_fields[id];
1668 + var el = $('<div></div>').text(field.name);
1669 + el.prepend('<input type="checkbox" />');
1670 + var content = $('<div><span>Id: </span></div>');
1671 + content.append($('<input type="text" />').val(field.id));
1672 + content.append($('<br /><span>Name: </span>'));
1673 + content.append($('<input type="text" />').val(field.name));
1674 + content.append($('<br /><span>Type: </span>'));
1675 + content.append($('<select><option value="textfield">Textfield</option><option value="textarea">Textarea</option><option value="email">Email</option></select>').val(field.type));
1676 + el.qtip({
1677 + content: {
1678 + text: content
1679 + },
1680 + position: {
1681 + target: 'mouse',
1682 + corner: {
1683 + target: 'bottomRight',
1684 + tooltip: 'topLeft'
1685 + },
1686 + adjust: {
1687 + mouse: false
1688 + }
1689 + },
1690 + show: {
1691 + when: {
1692 + event: 'mouseover'
1693 + },
1694 + solo: true
1695 + },
1696 + hide: {
1697 + when: {
1698 + event: 'unfocus'
1699 + }
1700 + }
1701 + });
1702 + $avail.append(el);
1703 + }
1704 + });
1705 + </script>
1706 + <style type="text/css">
1707 + .container > div {
1708 + padding: 0px;
1709 + margin-bottom: 6px;
1710 + }
1711 + </style>
1712 +<?php
1713 +*/
1714 +}
1715 +
1716 +function accua_forms_fields_get_types() {
1717 + return array(
1718 + 'textfield' => __( 'Text Field', 'contact-forms'),
1719 + 'textarea' => __( 'Text Area', 'contact-forms'),
1720 + 'email' => __( 'Email', 'contact-forms'),
1721 + 'autoreply_email' => __( 'Autoreply Email', 'contact-forms'),
1722 + 'checkbox' => __( 'Checkbox','contact-forms'),
1723 + 'select' => __('Select', 'contact-forms'),
1724 + 'radio' => __( 'Radio buttons', 'contact-forms'),
1725 + 'multiselect' => __( 'Multiple selections area', 'contact-forms'),
1726 + 'multicheckbox' => __( 'Multiple checkboxes', 'contact-forms'),
1727 + 'post-select' => __( 'Post select', 'contact-forms'),
1728 + 'post-multicheckbox' => __( 'Multiple post checkboxes', 'contact-forms'),
1729 + 'colorpicker' => __( 'Color picker', 'contact-forms'),
1730 + 'hidden' => __('Hidden value', 'contact-forms'),
1731 + 'file' => __('File upload', 'contact-forms'),
1732 + 'submit' => __( 'Submit button', 'contact-forms'),
1733 + 'html' => __( 'Custom HTML', 'contact-forms'),
1734 + 'captcha' => __( 'Captcha', 'contact-forms'),
1735 + 'password' => 'Password',
1736 + 'password-and-confirm' => __( 'Password and password confirmation','contact-forms'),
1737 + 'date' => __( 'Date','contact-forms'),
1738 + );
1739 +}
1740 +
1741 +function accua_forms_filter_date($value){
1742 + if (($value !== '') && preg_match('/^\d{4}-\d{2}-\d{2}$/', $value)) {
1743 + try {
1744 + $date = new DateTime($value);
1745 + if ($date) {
1746 + return $value;
1747 + }
1748 + } catch (Exception $e) {
1749 + }
1750 + }
1751 + return '';
1752 +}
1753 +
1754 +function accua_forms_fields_filter_values($post, $old_data = array()) {
1755 + //TODO: funzione di validazione dei field
1756 + $data = array(
1757 + 'version' => 2,
1758 + 'id' => $post['form-field-id'],
1759 + 'name' => $post['form-field-name'],
1760 + 'type' => $post['form-field-type'],
1761 + 'description' => $post['form-field-description'],
1762 + 'default_value' => $post['form-field-default-value'],
1763 + 'default_date_value' => $post['form-field-default-date-value'],
1764 + 'allowed_values' => $post['form-field-allowed-values'],
1765 + 'allowed_extensions' => '',
1766 + 'min_date' => $post['form-field-min-of-date'],
1767 + 'max_date' => $post['form-field-max-of-date'],
1768 + );
1769 + $valid = true;
1770 + $message = '';
1771 +
1772 + $types = accua_forms_fields_get_types();
1773 + if (!isset($types[$data['type']])) {
1774 + $message .= "<p>".__('Invalid type', 'contact-forms')."</p>";
1775 + $valid = false;
1776 + $data['type'] = 'textfield';
1777 + }
1778 +
1779 + if (!current_user_can('unfiltered_html')) {
1780 + $filter_fields = array('name', 'description', 'default_value', 'allowed_values');
1781 + foreach ($filter_fields as $k) {
1782 + $data[$k] = wp_kses($data[$k], 'post');
1783 + }
1784 + }
1785 +
1786 + if ($data['type'] == 'file') {
1787 + $data['allowed_extensions'] = accua_forms_filter_extensions($data['allowed_values']);
1788 + }
1789 +
1790 + $dates = array(
1791 + 'default_date_value' => __('Invalid default date', 'contact-forms'),
1792 + 'min_date' => __('Invalid min date', 'contact-forms'),
1793 + 'max_date' => __('Invalid max date', 'contact-forms'),
1794 + );
1795 + foreach ($dates as $k => $errormsg) {
1796 + if ($data[$k] !== '') {
1797 + $data[$k] = accua_forms_filter_date($data[$k]);
1798 + if ($data[$k] === '') {
1799 + $message .= "<p>".$errormsg."</p>";
1800 + $valid = false;
1801 + }
1802 + }
1803 + }
1804 +
1805 + return array(
1806 + 'data' => $data,
1807 + 'valid' => $valid,
1808 + 'message' => $message,
1809 + );
1810 +}
1811 +
1812 +function accua_forms_fields_page() {
1813 +/*
1814 +?>
1815 +<div class="wrap"><h2>Edit Form Fields</h2>
1816 + <div id="available_fields_container" class="container"></div>
1817 +</div>
1818 +<?php
1819 +*/
1820 + $message = '';
1821 + $taxonomy = '';
1822 + $post_type = '';
1823 +
1824 + /*
1825 + $avail_fields = array(
1826 + 'first_name' => array (
1827 + 'id' => "first_name",
1828 + 'name' => "First Name",
1829 + 'type' => "textfield",
1830 + 'description' => 'This is the first name',
1831 + ),
1832 + 'last_name' => array (
1833 + 'id' => "last_name",
1834 + 'name' => "Last Name",
1835 + 'type' => "textfield",
1836 + 'description' => 'This is the last name',
1837 + ),
1838 + 'email' => array (
1839 + 'id' => "email",
1840 + 'name' => "Email",
1841 + 'type' => "email",
1842 + 'description' => 'This is the email',
1843 + ),
1844 + );
1845 + */
1846 +
1847 + $avail_fields = get_option('accua_forms_avail_fields', array());
1848 +
1849 + $default_form_values = array(
1850 + 'version' => 1,
1851 + 'id' => '',
1852 + 'name' => '',
1853 + 'type' => 'textfield',
1854 + 'description' => '',
1855 + 'default_value' => '',
1856 + 'default_date_value' => '',
1857 + 'allowed_values' => '',
1858 + 'allowed_extensions' => '',
1859 + 'min_date' => '',
1860 + 'max_date' => '',
1861 + );
1862 +
1863 + $editing = false;
1864 + $adding = true;
1865 +
1866 + if (!empty($_POST['action'])) {
1867 + check_admin_referer('edit_form_field', '_wpnonce_edit_form_field');
1868 + $post = stripslashes_deep($_POST) + $default_form_values;
1869 + switch($post['action']) {
1870 + case 'edit-form-field':
1871 + if (empty($avail_fields[$post['form-field-id']])) {
1872 + $message .= 'Field "'.htmlspecialchars(sanitize_text_field($post['form-field-id'])).'" doesn\'t exists';
1873 + } else {
1874 + if (empty($post['delete-field'])) {
1875 + $filtered_data = accua_forms_fields_filter_values($post, $avail_fields[$post['form-field-id']]);
1876 + $avail_fields[$post['form-field-id']] = $filtered_data['data'];
1877 + $message .= sprintf( __( 'Field "%s" updated', 'contact-forms'), htmlspecialchars($post['form-field-id']) );
1878 + do_action('accua_forms_field_updated', $avail_fields[$post['form-field-id']]);
1879 + } else {
1880 + $deleting_field = $avail_fields[$post['form-field-id']];
1881 + unset ($avail_fields[$post['form-field-id']]);
1882 + $message .= sprintf( __( 'Field "%s" deleted', 'contact-forms'), htmlspecialchars($post['form-field-id']) );
1883 + do_action('accua_forms_field_deleted', $deleting_field);
1884 + }
1885 + update_option('accua_forms_avail_fields', $avail_fields);
1886 + }
1887 + break;
1888 + case 'add-form-field':
1889 + $fill_form_fields = true;
1890 + $valid = true;
1891 + if (empty($post['form-field-id']) || !preg_match('/^[a-z0-9_-]+$/i', $post['form-field-id'])) {
1892 + $message .= "<p>".__( 'Only letters, numbers, hyphen and underscores allowed in field identificative slug', 'contact-forms')."</p>";
1893 + $valid = false;
1894 + }
1895 + if(substr($post['form-field-id'], 0, 2) == '__') {
1896 + $message .= "<p>".__( 'The field identificative slug can\'t start with two underscores (__)', 'contact-forms')."</p>";
1897 + $valid = false;
1898 + }
1899 + if (!empty($avail_fields[$post['form-field-id']])) {
1900 + $message .= sprintf( __( '<p>A field with identificative slug "%s" already exists</p> Field "%s" deleted', 'contact-forms'), htmlspecialchars($post['form-field-id']) );
1901 + $valid = false;
1902 + }
1903 + if (strlen($post['form-field-id']) > 70) {
1904 + $message .= "<p>".__( 'The identificative slug cannot be longer than 70 characters', 'contact-forms')."</p>";
1905 + $valid = false;
1906 + }
1907 + $filtered_data = accua_forms_fields_filter_values($post);
1908 + $message .= $filtered_data['message'];
1909 + $valid = $valid && $filtered_data['valid'];
1910 + if ($valid) {
1911 + $fill_form_fields = false;
1912 + $avail_fields[$post['form-field-id']] = $filtered_data['data'];
1913 + update_option('accua_forms_avail_fields', $avail_fields);
1914 + $message .= sprintf( __( 'Field "%s" created', 'contact-forms'), htmlspecialchars($post['form-field-id']) );
1915 + do_action('accua_forms_field_added', $avail_fields[$post['form-field-id']]);
1916 + }
1917 + if ($fill_form_fields) {
1918 + $editing = true;
1919 + $default_form_values = $filtered_data['data'];
1920 + }
1921 + break;
1922 + }
1923 + } else if (!empty($_GET['edit-fid'])) {
1924 + $fid = stripslashes($_GET['edit-fid']);
1925 + if (empty($avail_fields[$fid])) {
1926 + $message .= sprintf( __( 'Field "%s" doesn\'t exists', 'contact-forms'), htmlspecialchars($fid) );
1927 + } else {
1928 + $adding = false;
1929 + $editing = true;
1930 + $default_form_values = $avail_fields[$fid] + $default_form_values;
1931 + }
1932 + }
1933 + if ($default_form_values['version'] >= 2 && $default_form_values['type'] == 'file') {
1934 + //Show allowed_extensions value in allowed_values field
1935 + $default_form_values['allowed_values'] = $default_form_values['allowed_extensions'];
1936 + }
1937 +
1938 +?>
1939 +<div id="accua_forms_fields_page" class="accua_forms_admin_page wrap nosubsub">
1940 +<h2><img src="<?php echo ACCUA_FORMS_DIR_URL.'img/cimatti-icon-20.png'; ?>"/> <?php _e('Contact Forms - Fields', 'contact-forms'); ?></h2>
1941 +<?php /* screen_icon(); ?>
1942 +<h2><?php echo esc_html( $title );
1943 +if ( !empty($_REQUEST['s']) )
1944 + printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?>
1945 +</h2>
1946 +
1947 +<?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?>
1948 +<div id="message" class="updated"><p><?php echo $messages[$msg]; ?></p></div>
1949 +<?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
1950 +endif; */ ?>
1951 +<div id="ajax-response"><?php echo $message?></div>
1952 +
1953 +<?php /*
1954 +<form class="search-form" action="" method="get">
1955 +<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
1956 +<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
1957 +
1958 +<?php $wp_list_table->search_box( $tax->labels->search_items, 'tag' ); ?>
1959 +
1960 +</form>
1961 +*/ ?>
1962 +
1963 +<br class="clear" />
1964 +
1965 +<div id="col-container">
1966 +
1967 +<div id="col-right">
1968 +<div class="col-wrap">
1969 +<?php if (!$editing) { ?>
1970 +<form id="posts-filter" action="" method="post">
1971 +<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); /* TODO: Is this needed? */ ?>" />
1972 +<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); /* TODO: Is this needed? */ ?>" />
1973 +
1974 +<?php /* $wp_list_table->display(); */ ?>
1975 +
1976 +<table cellspacing="0" class="wp-list-table widefat fixed tags">
1977 + <thead>
1978 + <tr>
1979 + <th style="" class="manage-column column-cb check-column" id="cb" scope="col"><input type="checkbox" /></th>
1980 + <th style="" class="manage-column column-name" id="name" scope="col"><?php _e( 'Label', 'contact-forms'); ?></th>
1981 + <th style="" class="manage-column column-description" id="description" scope="col"><?php _e( 'Description', 'contact-forms'); ?></th>
1982 + <th style="" class="manage-column column-slug" id="slug" scope="col"><?php _e( 'Slug', 'contact-forms'); ?></th>
1983 + <th style="" class="manage-column column-type" id="type" scope="col"><?php _e( 'Type', 'contact-forms'); ?></th>
1984 + </tr>
1985 + </thead>
1986 +
1987 + <tfoot>
1988 + <tr>
1989 + <th style="" class="manage-column column-cb check-column" scope="col"><input type="checkbox" /></th>
1990 + <th style="" class="manage-column column-name" scope="col"><?php _e( 'Label', 'contact-forms'); ?></th>
1991 + <th style="" class="manage-column column-description" scope="col"><?php _e( 'Description', 'contact-forms'); ?></th>
1992 + <th style="" class="manage-column column-slug" scope="col"><?php _e( 'Slug', 'contact-forms'); ?></th>
1993 + <th style="" class="manage-column column-type" scope="col"><?php _e( 'Type', 'contact-forms'); ?></th>
1994 + </tr>
1995 + </tfoot>
1996 +
1997 + <tbody class="list:tag" id="the-list">
1998 +<?php
1999 + foreach ($avail_fields as $id => $field) {
2000 + foreach (array('id', 'name', 'type', 'description') as $i) {
2001 + $field[$i] = htmlspecialchars($field[$i], ENT_QUOTES);
2002 + $field[$i] = sanitize_text_field($field[$i]);
2003 + }
2004 + echo <<<END_OF_ROW
2005 + <tr id="field-{$field['id']}">
2006 + <th class="check-column" scope="row"><input type="checkbox" /></th>
2007 + <td class="name column-name"><strong><a title="Edit “{$field['name']}”" href="admin.php?page=accua_forms_fields&amp;edit-fid={$field['id']}" class="row-title">{$field['name']}</a></strong><br><div class="row-actions"><span class="edit"><a href="admin.php?page=accua_forms_fields&amp;edit-fid={$field['id']}">Edit</a></span></div></td>
2008 + <td class="description column-description">{$field['description']}</td>
2009 + <td class="slug column-slug">{$field['id']}</td>
2010 + <td class="type column-type">{$field['type']}</td>
2011 + </tr>
2012 +END_OF_ROW;
2013 + }
2014 +?>
2015 + </tbody>
2016 +</table>
2017 +
2018 +<br class="clear" />
2019 +</form>
2020 +<?php } ?>
2021 +<?php /* if ( 'category' == $taxonomy ) : ?>
2022 +<div class="form-wrap">
2023 +<p><?php printf(__('<strong>Note:</strong><br />Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the category <strong>%s</strong>.'), apply_filters('the_category', get_cat_name(get_option('default_category')))) ?></p>
2024 +<?php if ( current_user_can( 'import' ) ) : ?>
2025 +<p><?php printf(__('Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.'), 'import.php') ?></p>
2026 +<?php endif; ?>
2027 +</div>
2028 +<?php elseif ( 'post_tag' == $taxonomy && current_user_can( 'import' ) ) : ?>
2029 +<div class="form-wrap">
2030 +<p><?php printf(__('Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>'), 'import.php') ;?>.</p>
2031 +</div>
2032 +<?php endif;
2033 +do_action('after-' . $taxonomy . '-table', $taxonomy);
2034 +*/ ?>
2035 +
2036 +</div>
2037 +</div><!-- /col-right -->
2038 +
2039 +<div id="col-left">
2040 +<div class="col-wrap">
2041 +
2042 +<?php
2043 +/*
2044 +if ( !is_null( $tax->labels->popular_items ) ) {
2045 + if ( current_user_can( $tax->cap->edit_terms ) )
2046 + $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false, 'link' => 'edit' ) );
2047 + else
2048 + $tag_cloud = wp_tag_cloud( array( 'taxonomy' => $taxonomy, 'echo' => false ) );
2049 +
2050 + if ( $tag_cloud ) :
2051 + ?>
2052 +<div class="tagcloud">
2053 +<h3><?php echo $tax->labels->popular_items; ?></h3>
2054 +<?php echo $tag_cloud; unset( $tag_cloud ); ?>
2055 +</div>
2056 +<?php
2057 +endif;
2058 +}
2059 +*/
2060 +
2061 +/*
2062 +if ( current_user_can($tax->cap->edit_terms) ) {
2063 + // Back compat hooks. Deprecated in preference to {$taxonomy}_pre_add_form
2064 + if ( 'category' == $taxonomy )
2065 + do_action('add_category_form_pre', (object)array('parent' => 0) );
2066 + elseif ( 'link_category' == $taxonomy )
2067 + do_action('add_link_category_form_pre', (object)array('parent' => 0) );
2068 + else
2069 + do_action('add_tag_form_pre', $taxonomy);
2070 +
2071 + do_action($taxonomy . '_pre_add_form', $taxonomy);
2072 +*/
2073 +
2074 +$types = accua_forms_fields_get_types();
2075 +?>
2076 +<div class="form-wrap">
2077 +<h3><?php echo $adding? __( 'Add new field','contact-forms'): __( 'Edit field','contact-forms') ; ?></h3>
2078 +<form id="addtag" method="post" action="admin.php?page=accua_forms_fields" class="validate">
2079 +<input type="hidden" name="action" value="<?php echo $adding?'add':'edit'; ?>-form-field" />
2080 +<?php /*
2081 +<input type="hidden" name="screen" value="<?php echo esc_attr($current_screen->id); ?>" />
2082 +<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
2083 +<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
2084 +*/ ?>
2085 +<?php wp_nonce_field('edit_form_field', '_wpnonce_edit_form_field'); ?>
2086 +
2087 +<div class="form-field form-required">
2088 + <label for="tag-name"><?php _e( 'Field label', 'contact-forms'); ?></label>
2089 + <input name="form-field-name" id="tag-name" type="text" value="<?php echo htmlspecialchars($default_form_values['name'], ENT_QUOTES) ?>" size="40" aria-required="true" />
2090 + <p><?php _e('The name is how it appears on your site.', 'contact-forms'); ?></p>
2091 +</div>
2092 +<?php /* if ( ! global_terms_enabled() ) : */ ?>
2093 +<div class="form-field">
2094 + <label for="tag-slug"><?php _e( 'Field slug (identificative)', 'contact-forms'); ?></label>
2095 + <input name="form-field-id" id="tag-slug" type="text" value="<?php echo htmlspecialchars($default_form_values['id'], ENT_QUOTES) ?>" <?php if (!$adding) { echo 'disabled="disabled"'; } ?> size="40" />
2096 + <?php if (!$adding) { echo '<input type="hidden" name="form-field-id" value="'.htmlspecialchars($default_form_values['id'], ENT_QUOTES).'" />'; } ?>
2097 + <p><?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is used as an identificator, and is unchangeable. It is usually all lowercase and it must contains only letters, numbers, and underscores.', 'contact-forms'); ?></p>
2098 +</div>
2099 +<div class="form-field">
2100 + <label for="parent"><?php _e( 'Field type', 'contact-forms'); ?></label>
2101 + <select class="postform" id="parent" name="form-field-type">
2102 + <?php /*
2103 + <option value="textfield" class="level-0" <?php echo ($default_form_values['type'] == 'textfield')?'selected="selected"':'';?> >Text Field</option>
2104 + <option value="textarea" class="level-0" <?php echo ($default_form_values['type'] == 'textarea')?'selected="selected"':'';?> >Text Area</option>
2105 + <option value="email" class="level-0" <?php echo ($default_form_values['type'] == 'email')?'selected="selected"':'';?> >Email</option>
2106 + <option value="checkbox" class="level-0" <?php echo ($default_form_values['type'] == 'checkbox')?'selected="selected"':'';?> >Checkbox</option>
2107 + <option value="select" class="level-0" <?php echo ($default_form_values['type'] == 'select')?'selected="selected"':'';?> >Select</option>
2108 + */
2109 + foreach ($types as $typeid => $typename) {
2110 + $selected = ($default_form_values['type'] == $typeid)?'selected="selected"':'';
2111 + echo <<<EOT
2112 +<option value="{$typeid}" class="level-0" {$selected} >{$typename}</option>
2113 +EOT;
2114 + }
2115 +
2116 + ?>
2117 + </select>
2118 +</div>
2119 +<?php /* endif; // global_terms_enabled() */ ?>
2120 +<?php /* if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
2121 +<div class="form-field">
2122 + <label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label>
2123 + <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'taxonomy' => $taxonomy, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => true, 'show_option_none' => __('None'))); ?>
2124 + <?php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
2125 + <p><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
2126 + <?php endif; ?>
2127 +</div>
2128 +<?php endif; // is_taxonomy_hierarchical() */ ?>
2129 +<div class="form-field">
2130 + <label for="tag-description"><?php _e( 'Field description', 'contact-forms'); ?></label>
2131 + <textarea name="form-field-description" id="tag-description" rows="5" cols="40"><?php echo htmlspecialchars($default_form_values['description'], ENT_QUOTES) ?></textarea>
2132 + <p><?php _e('The description is not prominent by default; however, some themes may show it.', 'contact-forms'); ?></p>
2133 +</div>
2134 +
2135 +<div class="form-field">
2136 + <label for="form-field-default-value"><?php _e( 'Default value(s)', 'contact-forms'); ?>:</label>
2137 + <textarea name="form-field-default-value" id="form-field-default-value" rows="5" cols="40"><?php echo htmlspecialchars($default_form_values['default_value'], ENT_QUOTES) ?></textarea>
2138 + <p><?php _e( 'For multiple default values in multiple select and multiple checkboxes, use | as separator.', 'contact-forms'); ?></p>
2139 +</div>
2140 +
2141 +<div class="form-field">
2142 + <label for="form-field-allowed-values"><?php _e( 'Allowed values', 'contact-forms'); ?>:</label>
2143 + <textarea rows="5" cols="40" name="form-field-allowed-values" id=form-field-allowed-values"><?php echo htmlspecialchars($default_form_values['allowed_values'], ENT_QUOTES) ?></textarea>
2144 + <p><?php _e( 'Options used in select, radio and multiple checkboxes. Enter one value per line, in the format key|label. The key is the value that will be stored in the database. The label is optional, and the key will be used as the label if no label is specified. For file fields, this indicates allowed extensions (one per line without dot)', 'contact-forms'); ?></p>
2145 +</div>
2146 +
2147 +<div class="form-field">
2148 +<?php _e( 'Settings for date fields', 'contact-forms'); ?>
2149 +<div class="form-field">
2150 + <label for="form-field-default-date-value"><?php _e( 'Default value', 'contact-forms'); ?>:</label>
2151 + <input type="date" name="form-field-default-date-value" id="form-field-default-date-value" value="<?php echo htmlspecialchars($default_form_values['default_date_value'], ENT_QUOTES) ?>">
2152 +</div>
2153 +
2154 +
2155 +<label for="form-field-min-of-date"><?php _e( 'Min date', 'contact-forms'); ?>:</label>
2156 +<input type="date" id="form-field-min-of-date" name="form-field-min-of-date" value="<?php echo htmlspecialchars($default_form_values['min_date'], ENT_QUOTES) ?>">
2157 +
2158 +<label for="form-field-max-of-date"><?php _e( 'Max date', 'contact-forms'); ?>:</label>
2159 +<input type="date" id="form-field-max-of-date" name="form-field-max-of-date" value="<?php echo htmlspecialchars($default_form_values['max_date'], ENT_QUOTES) ?>">
2160 +
2161 +</div>
2162 +
2163 +
2164 +<?php
2165 +/*
2166 +if ( ! is_taxonomy_hierarchical($taxonomy) )
2167 + do_action('add_tag_form_fields', $taxonomy);
2168 +do_action($taxonomy . '_add_form_fields', $taxonomy);
2169 +*/
2170 +
2171 +if ($adding) {
2172 + submit_button( __( 'Add new field', 'contact-forms'), 'button' );
2173 +} else {
2174 + submit_button( __( 'Save changes', 'contact-forms'), 'button' );
2175 + submit_button( __( 'Delete field', 'contact-forms'), 'button', 'delete-field');
2176 +}
2177 +
2178 +/*
2179 +// Back compat hooks. Deprecated in preference to {$taxonomy}_add_form
2180 +if ( 'category' == $taxonomy )
2181 + do_action('edit_category_form', (object)array('parent' => 0) );
2182 +elseif ( 'link_category' == $taxonomy )
2183 + do_action('edit_link_category_form', (object)array('parent' => 0) );
2184 +else
2185 + do_action('add_tag_form', $taxonomy);
2186 +
2187 +do_action($taxonomy . '_add_form', $taxonomy);
2188 +*/
2189 +?>
2190 +</form></div>
2191 +<?php /* } */ ?>
2192 +
2193 +</div>
2194 +</div><!-- /col-left -->
2195 +
2196 +</div><!-- /col-container -->
2197 +</div><!-- /wrap -->
2198 +<?php
2199 + /* echo '<pre>accua_forms_avail_fields:', htmlspecialchars(print_r($avail_fields, true)), '</pre>'; */
2200 +}
2201 +
2202 +function accua_forms_settings_page() {
2203 +?>
2204 +<div id="accua_forms_settings_page" class="accua_forms_admin_page wrap">
2205 +<h2><img src="<?php echo ACCUA_FORMS_DIR_URL.'img/cimatti-icon-20.png'; ?>"/> <?php _e('Contact Forms - Default Settings', 'contact-forms'); ?></h2>
2206 +<?php
2207 + $empty_form_data = array(
2208 + 'success_message' => '',
2209 + 'error_message' => '',
2210 + 'emails_from_name' => '',
2211 + 'emails_from' => '',
2212 + 'admin_emails_to' => '',
2213 + 'emails_bcc' => '',
2214 + 'admin_emails_subject' => '',
2215 + 'admin_emails_message' => '',
2216 + 'confirmation_emails_subject' => '',
2217 + 'confirmation_emails_message' => '',
2218 + 'layout' => 'sidebyside',
2219 + 'style_margin' => '',
2220 + 'style_border_color' => '',
2221 + 'style_border_width' => '',
2222 + 'style_border_radius' => '',
2223 + 'style_background_color' => '',
2224 + 'style_padding' => '',
2225 + 'style_color' => '',
2226 + 'style_font_size' => '',
2227 + 'style_field_spacing' => '',
2228 + 'style_field_border_color' => '',
2229 + 'style_field_border_width' => '',
2230 + 'style_field_border_radius' => '',
2231 + 'style_field_background_color' => '',
2232 + 'style_field_padding' => '',
2233 + 'style_field_color' => '',
2234 + 'style_submit_border_color' => '',
2235 + 'style_submit_border_width' => '',
2236 + 'style_submit_border_radius' => '',
2237 + 'style_submit_background_color' => '',
2238 + 'style_submit_padding' => '',
2239 + 'style_submit_color' => '',
2240 + 'style_submit_font_size' => '',
2241 + );
2242 +
2243 + $empty_file_data = array(
2244 + 'valid_extensions' => '',
2245 + 'max_size' => '',
2246 + 'dest_path' => '',
2247 + );
2248 +
2249 + $empty_captcha_data = array(
2250 + 'recaptcha_force_v1' => '',
2251 + 'recaptcha_public_key' => '',
2252 + 'recaptcha_private_key' => '',
2253 + );
2254 +
2255 + $empty_analytics_data = array(
2256 + 'analytics_track_submit' => false,
2257 + 'analytics_track_fields' => false,
2258 + );
2259 +
2260 + $empty_anonymize_ip_data = array(
2261 + 'anonymize_ip_bytes' => 0,
2262 + );
2263 +
2264 + if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['accua_form_save_form_settings'])) {
2265 + check_admin_referer('accua_form_save_settings', '_nonce_accua_form_save_settings');
2266 + $post = stripslashes_deep($_POST);
2267 + $post += $empty_form_data;
2268 + $post += $empty_file_data;
2269 + $post += $empty_captcha_data;
2270 + $post += $empty_analytics_data;
2271 + $post += $empty_anonymize_ip_data;
2272 + $form_data = array();
2273 + $file_data = array();
2274 + $captcha_data = array();
2275 + $analytics_data = array();
2276 + $anonymize_ip_data = array();
2277 + foreach($empty_form_data as $key=>$val){
2278 + $form_data[$key] = $post[$key];
2279 + }
2280 + $form_data = accua_forms_filter_settings($form_data);
2281 +
2282 + $file_data['valid_extensions'] = accua_forms_filter_extensions($post['valid_extensions']);
2283 + $file_data['max_size'] = $post['max_size'];
2284 + if (current_user_can('edit_files') || current_user_can('install_plugins')) {
2285 + $file_data['dest_path'] = $post['dest_path'];
2286 + } else {
2287 + $old_file_data = get_option('accua_forms_default_file_field_data',array());
2288 + $file_data['dest_path'] = isset($old_file_data['dest_path']) ? $old_file_data['dest_path'] : '';
2289 + }
2290 +
2291 + $captcha_data['recaptcha_force_v1'] = (bool) $post['recaptcha_force_v1'];
2292 + $captcha_data['recaptcha_public_key'] = sanitize_text_field($post['recaptcha_public_key']);
2293 + $captcha_data['recaptcha_private_key'] = sanitize_text_field($post['recaptcha_private_key']);
2294 +
2295 + foreach($empty_analytics_data as $key=>$val){
2296 + $analytics_data[$key] = (bool) $post[$key];
2297 + }
2298 +
2299 + /* foreach($empty_anonymize_ip_data as $key=>$val){
2300 + $anonymize_ip_data[$key] = $post[$key];
2301 + } */
2302 + $anonymize_ip_bytes = (int) $post['anonymize_ip_bytes'];
2303 + if ($anonymize_ip_bytes < 0) {
2304 + $anonymize_ip_bytes = 0;
2305 + } else if ($anonymize_ip_bytes > 4) {
2306 + $anonymize_ip_bytes = 4;
2307 + }
2308 + $anonymize_ip_data['anonymize_ip_bytes'] = $anonymize_ip_bytes;
2309 +
2310 + update_option('accua_forms_default_form_data', $form_data);
2311 + update_option('accua_forms_default_file_field_data', $file_data);
2312 + update_option('accua_forms_default_captcha_field_data', $captcha_data);
2313 + update_option('accua_forms_default_analytics_data', $analytics_data);
2314 + update_option('accua_forms_anonymize_ip_data', $anonymize_ip_data);
2315 +
2316 + if (!empty($post['delete_previous_ip_values'])) {
2317 + global $wpdb;
2318 + $wpdb->query("UPDATE `{$wpdb->prefix}accua_forms_submissions` SET afs_ip = ''");
2319 + }
2320 + } else {
2321 + $form_data = get_option('accua_forms_default_form_data',array()) + $empty_form_data;
2322 + $file_data = get_option('accua_forms_default_file_field_data',array()) + $empty_file_data;
2323 + $captcha_data = get_option('accua_forms_default_captcha_field_data',array()) + $empty_captcha_data;
2324 + $analytics_data = get_option('accua_forms_default_analytics_data',array()) + $empty_analytics_data;
2325 + $anonymize_ip_data = get_option('accua_forms_anonymize_ip_data',array()) + $empty_anonymize_ip_data;
2326 + }
2327 + if ($captcha_data['recaptcha_force_v1']) {
2328 + $captcha_data = $empty_captcha_data;
2329 + }
2330 +?>
2331 +<form method="post">
2332 +<?php wp_nonce_field('accua_form_save_settings', '_nonce_accua_form_save_settings'); ?>
2333 +<input type="hidden" name="accua_form_save_form_settings" value="1" />
2334 +<?php /*
2335 +<p id="accua_form_layout"><?php _e( 'Layout', 'contact-forms'); ?>: <select name="layout" class="accua_form_value"><option value="sidebyside" <?php if ($form_data['layout'] == 'sidebyside') { echo 'selected="selected"'; } ?>>Labels on the left of the fields</option><option value="toplabel" <?php if ($form_data['layout'] == 'toplabel') { echo 'selected="selected"'; } ?>>Labels on top of the fields</option></select></p>
2336 +<p id="accua_form_success_message"><?php _e( 'Success message', 'contact-forms'); ?>:<br /><textarea name="success_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['success_message'], ENT_QUOTES) ?></textarea></p>
2337 +<p id="accua_form_error_message"><?php _e( 'Error message', 'contact-forms'); ?>:<br /><textarea name="error_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['error_message'], ENT_QUOTES) ?></textarea></p>
2338 +<p id="accua_form_emails_from"><?php _e( 'Emails from', 'contact-forms'); ?>: <input name="emails_from" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" /></p>
2339 +<p id="accua_form_admin_emails_to"><?php _e( 'Admin emails to', 'contact-forms'); ?>: <input name="admin_emails_to" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" /></p>
2340 +<p id="accua_form_emails_bcc"><?php _e( 'Emails bcc', 'contact-forms'); ?>: <input name="emails_bcc" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" /></p>
2341 +<p id="accua_form_admin_emails_subject"><?php _e( 'Admin email subject', 'contact-forms'); ?>: <input name="admin_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" /></p>
2342 +<p id="accua_form_admin_emails_message"><?php _e( 'Admin email message', 'contact-forms'); ?>:<br /><textarea name="admin_emails_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['admin_emails_message'], ENT_QUOTES) ?></textarea></p>
2343 +<p id="accua_form_confirmation_emails_subject"><?php _e( 'Confirmation email subject', 'contact-forms'); ?>: <input name="confirmation_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" /></p>
2344 +<p id="accua_form_confirmation_emails_message"><?php _e( 'Confirmation email message', 'contact-forms'); ?>:<br /><textarea name="confirmation_emails_message" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($form_data['confirmation_emails_message'], ENT_QUOTES) ?></textarea></p>
2345 +*/ ?>
2346 +<div id="accua_tab_messages" class="content_tab">
2347 + <?php
2348 + $settings_editor = array(
2349 + 'teeny' => true,
2350 + 'editor_class' => 'accua_form_value',
2351 + 'tinymce' => array(
2352 + 'theme_advanced_buttons1' => 'bold,italic,underline,|,bullist,numlist,'));
2353 + ?>
2354 + <div class="metabox-holder accua-forms-metabox-holder">
2355 + <div class="postbox ">
2356 + <h3 class="hndle"><span><?php _e('1. On-screen success message', 'contact-forms'); ?></span></h3>
2357 + <div class="inside" id="dashboard_right_now">
2358 + <div id="accua_form_success_message">
2359 + <?php wp_editor( $form_data['success_message'] , 'success_message' , $settings_editor); ?>
2360 + </div>
2361 + </div>
2362 + </div>
2363 + </div>
2364 +
2365 + <div class="metabox-holder accua-forms-metabox-holder">
2366 + <div class="postbox ">
2367 + <h3 class="hndle"><span><?php _e('2. On-screen error message', 'contact-forms'); ?></span></h3>
2368 + <div class="inside" id="dashboard_right_now">
2369 + <div id="accua_form_error_message">
2370 + <?php wp_editor( $form_data['error_message'] , 'error_message' , $settings_editor); ?>
2371 + </div>
2372 + </div>
2373 + </div>
2374 + </div>
2375 + <br clear="all"/>
2376 + <div class="metabox-holder accua-forms-metabox-holder">
2377 + <div class="postbox ">
2378 + <h3 class="hndle"><span><?php _e('3. Email to notify administrator', 'contact-forms'); ?></span></h3>
2379 + <div class="inside" id="dashboard_right_now">
2380 + <div id="accua_form_admin_emails_to" class="label_input">
2381 + <label><?php _e( 'To', 'contact-forms'); ?></label>
2382 + <input name="admin_emails_to" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_to'], ENT_QUOTES) ?>" />
2383 + </div>
2384 + <br clear="all" />
2385 + <div id="accua_form_emails_bcc" class="label_input">
2386 + <label><?php _e( 'Bcc', 'contact-forms'); ?></label>
2387 + <input name="emails_bcc" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['emails_bcc'], ENT_QUOTES) ?>" />
2388 + </div>
2389 + <br clear="all" />
2390 + <div id="accua_form_admin_emails_subject" class="label_input">
2391 + <label><?php _e( 'Subject', 'contact-forms'); ?></label>
2392 + <input name="admin_emails_subject" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['admin_emails_subject'], ENT_QUOTES) ?>" />
2393 + </div>
2394 + <br clear="all" />
2395 + <div id="accua_form_admin_emails_message">
2396 + <?php wp_editor( $form_data['admin_emails_message'] , 'admin_emails_message' , $settings_editor); ?>
2397 + </div>
2398 +
2399 + </div>
2400 + </div>
2401 + </div>
2402 +
2403 + <div class="metabox-holder accua-forms-metabox-holder">
2404 + <div class="postbox ">
2405 + <h3 class="hndle"><span><?php _e('4. Email confirmation to the person who completed the form', 'contact-forms'); ?></span></h3>
2406 + <div class="inside" id="dashboard_right_now">
2407 + <div id="accua_form_emails_from_name" class="label_input">
2408 + <label><?php _e( 'From name', 'contact-forms'); ?></label>
2409 + <input class="accua_form_value" name="emails_from_name" type="text" value="<?php echo htmlspecialchars($form_data['emails_from_name'], ENT_QUOTES) ?>" />
2410 + </div>
2411 + <div id="accua_form_emails_from" class="label_input">
2412 + <label><?php _e( 'From email', 'contact-forms'); ?></label>
2413 + <input class="accua_form_value" name="emails_from" type="text" value="<?php echo htmlspecialchars($form_data['emails_from'], ENT_QUOTES) ?>" />
2414 + </div>
2415 + <br clear="all" />
2416 + <div id="accua_form_confirmation_emails_subject" class="label_input">
2417 + <label><?php _e( 'Subject', 'contact-forms'); ?></label>
2418 + <input class="accua_form_value" type="text" name="confirmation_emails_subject" value="<?php echo htmlspecialchars($form_data['confirmation_emails_subject'], ENT_QUOTES) ?>" />
2419 + </div>
2420 + <br clear="all" />
2421 + <div id="accua_form_confirmation_emails_message">
2422 + <?php wp_editor( $form_data['confirmation_emails_message'] , 'confirmation_emails_message' , $settings_editor); ?>
2423 + </div>
2424 + </div>
2425 + </div>
2426 + </div>
2427 + <br clear="all"/>
2428 +
2429 + <div class="metabox-holder accua-forms-metabox-holder">
2430 + <div class="postbox ">
2431 + <h3 class="hndle"><span><?php _e( 'File upload default settings', 'contact-forms'); ?></span></h3>
2432 + <div class="inside" id="dashboard_right_now">
2433 + <div id="accua_form_valid_extensions"><?php _e( 'Valid extensions', 'contact-forms'); ?> <br /><textarea name="valid_extensions" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($file_data['valid_extensions'], ENT_QUOTES) ?></textarea>
2434 + <small><?php _e( 'List of valid extensions, without dot, one per line.', 'contact-forms'); ?></small>
2435 + </div>
2436 + <div id="accua_form_max_size"><?php _e( 'Maximum file size:', 'contact-forms'); ?> <input name="max_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['max_size'], ENT_QUOTES) ?>" /><br />
2437 + <small><?php _e( 'You can use suffix K, M or G for kilobyte, megabyte or gigabyte.', 'contact-forms'); ?>
2438 + <?php
2439 + $server_max_size = AccuaForm_Element_File::file_upload_max_size();
2440 + if ($server_max_size > 0) {
2441 + _e( 'This value is limited by server upload limits of ', 'contact-forms');
2442 + echo AccuaForm_Element_File::format_size($server_max_size).". ";
2443 + _e( 'If you need a greater limit you should ask to the server administrator.', 'contact-forms');
2444 + }
2445 + ?>
2446 + </small>
2447 + </div>
2448 + <?php if (current_user_can('edit_files') || current_user_can('install_plugins')) { ?>
2449 + <div id="accua_form_dest_path"><?php _e( 'Upload path', 'contact-forms');?> : <input name="dest_path" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['dest_path'], ENT_QUOTES) ?>" />
2450 + <small><?php _e( 'If it stars with \'/\' an absolute path is used, otherwise a path relative to the WordPress installation directory. Default value is "wp-content/uploads/accua-forms"', 'contact-forms');?>.</small>
2451 + </div>
2452 + <?php } ?>
2453 + </div>
2454 + </div>
2455 +
2456 + <div class="postbox ">
2457 + <h3 class="hndle"><span><?php _e( 'reCaptcha settings', 'contact-forms'); ?></span></h3>
2458 + <div class="inside" id="dashboard_right_now">
2459 + <p><?php _e( 'As reCAPTCHA v1 is discontinued, only reCAPTCHA v2 is supported', 'contact-forms');?></p>
2460 + <p><?php echo strtr(__('Please register this site for reCAPTCHA v2 on %REGISTERURL%, then enter the keys for this site in the following fields', 'contact-forms'), array('%REGISTERURL%' => '<a href="https://www.google.com/recaptcha" target="_blank">google.com/recaptcha</a>'));?></p>
2461 + <div id="accua_form_recaptcha_public_key"><?php _e('Site key', 'contact-forms');?> : <input name="recaptcha_public_key" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($captcha_data['recaptcha_public_key'], ENT_QUOTES) ?>" />
2462 + </div>
2463 + <div id="accua_form_recaptcha_private_key"><?php _e('Secret key', 'contact-forms');?> : <input name="recaptcha_private_key" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($captcha_data['recaptcha_private_key'], ENT_QUOTES) ?>" />
2464 + </div>
2465 + </div>
2466 + </div>
2467 +
2468 + <div class="postbox ">
2469 + <h3 class="hndle"><span><?php _e( 'IP address tracking', 'contact-forms'); ?></span></h3>
2470 + <div class="inside" id="dashboard_accua_form_anonymize_ip_addresses">
2471 + <p>
2472 + <?php _e("Select how many bytes of the visitor's IPs should be masked.", 'contact-forms');?>
2473 + </p>
2474 + <p>
2475 + <input type="radio" name="anonymize_ip_bytes" id="anonymize_ip_bytes_0" value="0" <?php if($anonymize_ip_data['anonymize_ip_bytes'] == 0) { echo 'checked="checked"'; } ?> />
2476 + <label for="anonymize_ip_bytes_0"><?php _e('No mask - e.g. 192.168.1.1', 'contact-forms');?></label><br />
2477 + </p>
2478 + <p>
2479 + <input type="radio" name="anonymize_ip_bytes" id="anonymize_ip_bytes_1" value="1" <?php if($anonymize_ip_data['anonymize_ip_bytes'] == 1) { echo 'checked="checked"'; } ?> />
2480 + <label for="anonymize_ip_bytes_1"><?php _e('1 byte - e.g. 192.168.1.xxx', 'contact-forms');?></label><br />
2481 + </p>
2482 + <p>
2483 + <input type="radio" name="anonymize_ip_bytes" id="anonymize_ip_bytes_2" value="2" <?php if($anonymize_ip_data['anonymize_ip_bytes'] == 2) { echo 'checked="checked"'; } ?> />
2484 + <label for="anonymize_ip_bytes_2"><?php _e('2 byte - e.g. 192.168.xxx.xxx', 'contact-forms');?></label><br />
2485 + </p>
2486 + <p>
2487 + <input type="radio" name="anonymize_ip_bytes" id="anonymize_ip_bytes_3" value="3" <?php if($anonymize_ip_data['anonymize_ip_bytes'] == 3) { echo 'checked="checked"'; } ?> />
2488 + <label for="anonymize_ip_bytes_3"><?php _e('3 byte - e.g. 192.xxx.xxx.xxx', 'contact-forms');?></label><br />
2489 + </p>
2490 + <p>
2491 + <input type="radio" name="anonymize_ip_bytes" id="anonymize_ip_bytes_4" value="4" <?php if($anonymize_ip_data['anonymize_ip_bytes'] == 4) { echo 'checked="checked"'; } ?> />
2492 + <label for="anonymize_ip_bytes_4"><?php _e('Fully mask IP address', 'contact-forms');?></label><br />
2493 + </p>
2494 + <h4><?php _e( 'Delete IP addresses', 'contact-forms'); ?></h4>
2495 + <p>
2496 + <input type="checkbox" id="delete_previous_ip_values" name="delete_previous_ip_values" class="accua_form_value" value="1" />
2497 + <label for="delete_previous_ip_values"><?php _e('Delete all previous IP values', 'contact-forms');?></label><br />
2498 + </p>
2499 + <br clear="all">
2500 + </div>
2501 + </div>
2502 +
2503 + <div class="postbox ">
2504 + <h3 class="hndle"><span><?php _e( 'Track actions with Google Analytics', 'contact-forms'); ?></span></h3>
2505 + <div class="inside" id="dashboard_right_now">
2506 + <p>
2507 + <input type="checkbox" id="accua_form_analytics_track_submit" name="analytics_track_submit" class="accua_form_value" value="1" <?php if($analytics_data['analytics_track_submit']) { echo 'checked="checked"'; } ?> />
2508 + <label for="accua_form_analytics_track_submit"><?php _e('Track submissions', 'contact-forms');?></label>
2509 + </p>
2510 + <p>
2511 + <input type="checkbox" id="accua_form_analytics_track_fields" name="analytics_track_fields" class="accua_form_value" value="1" <?php if($analytics_data['analytics_track_fields']) { echo 'checked="checked"'; } ?> />
2512 + <label for="accua_form_analytics_track_fields"><?php _e('Track fields filled in', 'contact-forms');?></label>
2513 + </p>
2514 + </div>
2515 + </div>
2516 +
2517 + </div>
2518 +
2519 + <div class="metabox-holder accua-forms-metabox-holder">
2520 + <div class="postbox ">
2521 + <h3 class="hndle"><span><?php _e( 'Layout &amp; Styling', 'contact-forms'); ?></span></h3>
2522 + <div class="inside" id="dashboard_right_now">
2523 + <p><?php _e( 'Customize the look and feel of your forms. Leave fields empty if you wish to use the native styles of your WordPress Theme.', 'contact-forms'); ?><p>
2524 + <h4><?php _e( 'Forms', 'contact-forms'); ?></h4>
2525 + <div id="accua_form_layout"> <?php _e( 'Layout', 'contact-forms'); ?>
2526 + <select name="layout" class="accua_form_value"><option value="sidebyside" <?php if ($form_data['layout'] == 'sidebyside') { echo 'selected="selected"'; } ?>>Labels on the left of the fields</option><option value="toplabel" <?php if ($form_data['layout'] == 'toplabel') { echo 'selected="selected"'; } ?>>Labels on top of the fields</option></select>
2527 + </div>
2528 + <div id="accua_form_style_margin" class="label_input">
2529 + <label><?php _e( 'Margin', 'contact-forms'); ?></label>
2530 + <input name="style_margin" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_margin'], ENT_QUOTES) ?>" />
2531 + </div>
2532 + <div id="accua_form_style_border_color" class="label_input">
2533 + <label><?php _e( 'Border color', 'contact-forms'); ?></label>
2534 + <input name="style_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_color'], ENT_QUOTES) ?>" />
2535 + </div>
2536 + <div id="accua_form_style_border_width" class="label_input">
2537 + <label><?php _e( 'Border width', 'contact-forms'); ?></label>
2538 + <input name="style_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_width'], ENT_QUOTES) ?>" />
2539 + </div>
2540 + <div id="accua_form_style_border_radius" class="label_input">
2541 + <label><?php _e( 'Rounded corner radius', 'contact-forms'); ?></label>
2542 + <input name="style_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_border_radius'], ENT_QUOTES) ?>" />
2543 + </div>
2544 + <div id="accua_form_style_background_color" class="label_input">
2545 + <label><?php _e( 'Background color', 'contact-forms'); ?></label>
2546 + <input name="style_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_background_color'], ENT_QUOTES) ?>" />
2547 + </div>
2548 + <div id="accua_form_style_padding" class="label_input">
2549 + <label><?php _e( 'Padding', 'contact-forms'); ?></label>
2550 + <input name="style_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_padding'], ENT_QUOTES) ?>" />
2551 + </div>
2552 + <div id="accua_form_style_color" class="label_input">
2553 + <label><?php _e( 'Text color', 'contact-forms'); ?></label>
2554 + <input name="style_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_color'], ENT_QUOTES) ?>" />
2555 + </div>
2556 + <div id="accua_form_style_font_size" class="label_input">
2557 + <label><?php _e( 'Font size', 'contact-forms'); ?></label>
2558 + <input name="style_font_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_font_size'], ENT_QUOTES) ?>" />
2559 + </div>
2560 +
2561 + <h4><?php _e( 'Fields', 'contact-forms'); ?></h4>
2562 + <div id="accua_form_style_field_spacing" class="label_input">
2563 + <label><?php _e( 'Spacing', 'contact-forms'); ?></label>
2564 + <input name="style_field_spacing" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_spacing'], ENT_QUOTES) ?>" />
2565 + </div>
2566 + <div id="accua_form_style_field_border_color" class="label_input">
2567 + <label><?php _e( 'Border color', 'contact-forms'); ?></label>
2568 + <input name="style_field_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_color'], ENT_QUOTES) ?>" />
2569 + </div>
2570 + <div id="accua_form_style_field_border_width" class="label_input">
2571 + <label><?php _e( 'Border width', 'contact-forms'); ?></label>
2572 + <input name="style_field_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_width'], ENT_QUOTES) ?>" />
2573 + </div>
2574 + <div id="accua_form_style_field_border_radius" class="label_input">
2575 + <label><?php _e( 'Rounded corner radius', 'contact-forms'); ?></label>
2576 + <input name="style_field_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_border_radius'], ENT_QUOTES) ?>" />
2577 + </div>
2578 + <div id="accua_form_style_field_background_color" class="label_input">
2579 + <label><?php _e( 'Background color', 'contact-forms'); ?></label>
2580 + <input name="style_field_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_background_color'], ENT_QUOTES) ?>" />
2581 + </div>
2582 + <div id="accua_form_style_field_padding" class="label_input">
2583 + <label><?php _e( 'Padding', 'contact-forms'); ?></label>
2584 + <input name="style_field_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_padding'], ENT_QUOTES) ?>" />
2585 + </div>
2586 + <div id="accua_form_style_field_color" class="label_input">
2587 + <label><?php _e( 'Text color', 'contact-forms'); ?></label>
2588 + <input name="style_field_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_field_color'], ENT_QUOTES) ?>" />
2589 + </div>
2590 +
2591 + <h4><?php _e( 'Submit button', 'contact-forms'); ?></h4>
2592 + <div id="accua_form_style_submit_border_color" class="label_input">
2593 + <label><?php _e( 'Border color', 'contact-forms'); ?></label>
2594 + <input name="style_submit_border_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_color'], ENT_QUOTES) ?>" />
2595 + </div>
2596 + <div id="accua_form_style_submit_border_width" class="label_input">
2597 + <label><?php _e( 'Border width', 'contact-forms'); ?></label>
2598 + <input name="style_submit_border_width" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_width'], ENT_QUOTES) ?>" />
2599 + </div>
2600 + <div id="accua_form_style_submit_border_radius" class="label_input">
2601 + <label><?php _e( 'Rounded corner radius', 'contact-forms'); ?></label>
2602 + <input name="style_submit_border_radius" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_border_radius'], ENT_QUOTES) ?>" />
2603 + </div>
2604 + <div id="accua_form_style_submit_background_color" class="label_input">
2605 + <label><?php _e( 'Background color', 'contact-forms'); ?></label>
2606 + <input name="style_submit_background_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_background_color'], ENT_QUOTES) ?>" />
2607 + </div>
2608 + <div id="accua_form_style_submit_padding" class="label_input">
2609 + <label><?php _e( 'Padding', 'contact-forms'); ?></label>
2610 + <input name="style_submit_padding" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_padding'], ENT_QUOTES) ?>" />
2611 + </div>
2612 + <div id="accua_form_style_submit_color" class="label_input">
2613 + <label><?php _e( 'Text color', 'contact-forms'); ?></label>
2614 + <input name="style_submit_color" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_color'], ENT_QUOTES) ?>" />
2615 + </div>
2616 + <div id="accua_form_style_submit_font_size" class="label_input">
2617 + <label><?php _e( 'Font size', 'contact-forms'); ?></label>
2618 + <input name="style_submit_font_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($form_data['style_submit_font_size'], ENT_QUOTES) ?>" />
2619 + </div>
2620 + <br clear="all" />
2621 + </div>
2622 + </div>
2623 + </div>
2624 +
2625 +
2626 + <br clear="all"/>
2627 +
2628 +</div>
2629 +
2630 +<?php /*
2631 +<h3><?php _e( 'File upload default settings', 'contact-forms'); ?></h3>
2632 +<p id="accua_form_valid_extensions"><?php _e( 'Valid extensions', 'contact-forms'); ?> <br /><textarea name="valid_extensions" class="accua_form_value" style="width:95%"; cols="80" rows="8"><?php echo htmlspecialchars($file_data['valid_extensions'], ENT_QUOTES) ?></textarea>
2633 + <small><?php _e( 'List of valid extensions, without dot, one per line.', 'contact-forms'); ?></small>
2634 +</p>
2635 +<p id="accua_form_max_size"><?php _e( 'Maximum file size:', 'contact-forms'); ?> <input name="max_size" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['max_size'], ENT_QUOTES) ?>" /><br />
2636 + <small><?php _e( 'You can use suffix K, M or G for kilobyte, megabyte or gigabyte.', 'contact-forms'); ?>
2637 +<?php
2638 + $server_max_size = AccuaForm_Element_File::file_upload_max_size();
2639 + if ($server_max_size > 0) {
2640 + _e( 'This value is limited by server upload limits of ', 'contact-forms');
2641 + echo AccuaForm_Element_File::format_size($server_max_size).". ";
2642 + _e( 'If you need a greater limit you should ask to the server administrator.', 'contact-forms');
2643 + }
2644 +?>
2645 + </small></p>
2646 +<p id="accua_form_dest_path"><?php _e( 'Upload path', 'contact-forms');?> : <input name="dest_path" class="accua_form_value" type="text" value="<?php echo htmlspecialchars($file_data['dest_path'], ENT_QUOTES) ?>" />
2647 + <small><?php _e( 'If it stars with \'/\' an absolute path is used, otherwise a path relative to the WordPress installation directory. Default value is "wp-content/uploads/accua-forms"', 'contact-forms');?>.</small>
2648 +</p> */ ?>
2649 +<p><input class="button button-primary button-large" id="accua_form_save_settings" type="submit" value="Save settings" /></p>
2650 +
2651 +<?php accua_forms_print_tokens(); ?>
2652 +
2653 +</form>
2654 +</div>
2655 +
2656 +<script type='text/javascript'>
2657 +jQuery(function($) {
2658 + $('#accua_form_style_border_color .accua_form_value').colorPicker();
2659 + $('#accua_form_style_background_color .accua_form_value').colorPicker();
2660 + $('#accua_form_style_color .accua_form_value').colorPicker();
2661 + $('#accua_form_style_field_border_color .accua_form_value').colorPicker();
2662 + $('#accua_form_style_field_background_color .accua_form_value').colorPicker();
2663 + $('#accua_form_style_field_color .accua_form_value').colorPicker();
2664 + $('#accua_form_style_submit_border_color .accua_form_value').colorPicker();
2665 + $('#accua_form_style_submit_background_color .accua_form_value').colorPicker();
2666 + $('#accua_form_style_submit_color .accua_form_value').colorPicker();
2667 +});
2668 +</script>
2669 +
2670 +<?php
2671 +}
2672 +
2673 +function _accua_forms_get_abs_dest_path($dest_path = '') {
2674 + if ($dest_path === '') {
2675 + return realpath(ABSPATH) . '/wp-content/uploads/accua-forms';
2676 + } else if (substr($dest_path,0,1) === '/') {
2677 + return $dest_path;
2678 + } else {
2679 + return realpath(ABSPATH) . '/' . $dest_path;
2680 + }
2681 +}
2682 +
2683 +function _accua_forms_get_form_data($fid = false, $return_empty = true, $restore_trash = false){
2684 + $empty_form_data = array(
2685 + 'fields' => array(),
2686 + 'title' => '',
2687 + 'success_message' => '',
2688 + 'error_message' => '',
2689 + 'emails_from_name' => '',
2690 + 'emails_from' => '',
2691 + 'admin_emails_to' => '',
2692 + 'emails_bcc' => '',
2693 + 'admin_emails_subject' => '',
2694 + 'admin_emails_message' => '',
2695 + 'confirmation_emails_subject' => '',
2696 + 'confirmation_emails_message' => '',
2697 + 'use_ajax' => true,
2698 + 'layout' => 'sidebyside',
2699 + 'style_margin' => '',
2700 + 'style_border_color' => '',
2701 + 'style_border_width' => '',
2702 + 'style_border_radius' => '',
2703 + 'style_background_color' => '',
2704 + 'style_padding' => '',
2705 + 'style_color' => '',
2706 + 'style_font_size' => '',
2707 + 'style_field_spacing' => '',
2708 + 'style_field_border_color' => '',
2709 + 'style_field_border_width' => '',
2710 + 'style_field_border_radius' => '',
2711 + 'style_field_background_color' => '',
2712 + 'style_field_padding' => '',
2713 + 'style_field_color' => '',
2714 + 'style_submit_border_color' => '',
2715 + 'style_submit_border_width' => '',
2716 + 'style_submit_border_radius' => '',
2717 + 'style_submit_background_color' => '',
2718 + 'style_submit_padding' => '',
2719 + 'style_submit_color' => '',
2720 + 'style_submit_font_size' => '',
2721 + );
2722 +
2723 + if ($fid === false) {
2724 + return $empty_form_data;
2725 + }
2726 +
2727 + $default_form_data = get_option('accua_forms_default_form_data',array());
2728 +
2729 + if ($fid === null) {
2730 + return $default_form_data + $empty_form_data;
2731 + }
2732 +
2733 + $forms_data = get_option('accua_forms_saved_forms', array());
2734 + if ($restore_trash) {
2735 + $trash_data = get_option('accua_forms_trash_forms', array());
2736 + if (isset($trash_data[$fid])) {
2737 + $forms_data[$fid] = $trash_data[$fid];
2738 + update_option('accua_forms_saved_forms', $forms_data);
2739 + unset($trash_data[$fid]);
2740 + update_option('accua_forms_trash_forms', $trash_data);
2741 + }
2742 + }
2743 +
2744 + if (isset($forms_data[$fid])) {
2745 + $form_data = array(
2746 + '_overrided' => $forms_data[$fid]
2747 + ) + $forms_data[$fid] + $default_form_data + $empty_form_data;
2748 + /*
2749 + if ($form_data['fields']) {
2750 + foreach ($form_data['fields'] as $i => $istance_data) {
2751 + // TODO: popuplate default fields data?
2752 + }
2753 + }
2754 + */
2755 + return $form_data;
2756 + } else if ($return_empty) {
2757 + return array(
2758 + '_overrided' => array()
2759 + ) + $default_form_data + $empty_form_data;
2760 + } else {
2761 + return null;
2762 + }
2763 +
2764 +}
2765 +
2766 +function _accua_forms_style_parameters($params) {
2767 + $ret = '';
2768 + foreach ($params as $key => $value) {
2769 + $value = trim($value);
2770 + if ($value !== '') {
2771 + if (is_numeric($value)) {
2772 + $ret .= "{$key}:{$value}px;";
2773 + } else {
2774 + $ret .= "{$key}:{$value};";
2775 + }
2776 + if ($key == 'border-width') {
2777 + $ret .= "border-style:solid;";
2778 + }
2779 + }
2780 + }
2781 + return $ret;
2782 +}
2783 +
2784 +/*
2785 + * generazione del form (e della preview)
2786 + * */
2787 +add_action('accua_form_alter', 'accua_forms_form_generate', -999, 2);
2788 +function accua_forms_form_generate($baseid, $form) {
2789 + if (substr($baseid, 0, 14) == '__accua-form__') {
2790 + $fid = substr($baseid,14);
2791 + $form_data = _accua_forms_get_form_data($fid, false);
2792 + /*
2793 + echo '<!-- fid = ';
2794 + print_r($fid);
2795 + echo "\n\nform_data = ";
2796 + print_r($form_data);
2797 + echo "\n-->";
2798 + */
2799 + if ($form_data) {
2800 + $form_style = _accua_forms_style_parameters(array(
2801 + 'margin' => $form_data['style_margin'],
2802 + 'border-color' => $form_data['style_border_color'],
2803 + 'border-width' => $form_data['style_border_width'],
2804 + 'border-radius' => $form_data['style_border_radius'],
2805 + 'background' => $form_data['style_background_color'],
2806 + 'padding' => $form_data['style_padding'],
2807 + 'color' => $form_data['style_color'],
2808 + 'font-size' => $form_data['style_font_size'],
2809 + ));
2810 +
2811 + $field_style = _accua_forms_style_parameters(array(
2812 + 'margin-bottom' => $form_data['style_field_spacing'],
2813 + 'border-color' => $form_data['style_field_border_color'],
2814 + 'border-width' => $form_data['style_field_border_width'],
2815 + 'border-radius' => $form_data['style_field_border_radius'],
2816 + 'background' => (trim($form_data['style_field_background_color']) === '')?'transparent':$form_data['style_field_background_color'],
2817 + 'padding' => $form_data['style_field_padding'],
2818 + 'color' => (trim($form_data['style_field_color']) === '')?$form_data['style_color']:$form_data['style_field_color'],
2819 + 'font-size' => $form_data['style_font_size'],
2820 + ));
2821 + $field_properties = array();
2822 + if ($field_style !== '') {
2823 + $field_properties['style'] = $field_style;
2824 + }
2825 +
2826 + $submit_style = _accua_forms_style_parameters(array(
2827 + 'border-color' => $form_data['style_submit_border_color'],
2828 + 'border-width' => $form_data['style_submit_border_width'],
2829 + 'border-radius' => $form_data['style_submit_border_radius'],
2830 + 'background' => $form_data['style_submit_background_color'],
2831 + 'padding' => $form_data['style_submit_padding'],
2832 + 'color' => $form_data['style_submit_color'],
2833 + 'font-size' => $form_data['style_submit_font_size'],
2834 + ));
2835 + $submit_properties = array();
2836 + if ($submit_style !== '') {
2837 + $submit_properties['style'] = $submit_style;
2838 + }
2839 +
2840 + if ($form_style !== '') {
2841 + $form->configure(array('style' => $form_style));
2842 + }
2843 +
2844 + if (!empty($form_data['use_ajax'])){
2845 + $form->configure(array(
2846 + "accua_ajax" => 1,
2847 + ));
2848 + }
2849 +
2850 + $add_submit = true;
2851 + $fieldset_open = false;
2852 + $avail_fields = get_option('accua_forms_avail_fields', array());
2853 +
2854 + foreach ($form_data['fields'] as $istance_data) {
2855 + if (empty($avail_fields[$istance_data['ref']])) {
2856 + $field_data = array();
2857 + if (!empty($istance_data['ref'])) {
2858 + if ($istance_data['ref'] == '__fieldset-begin') {
2859 + $field_data = array(
2860 + 'id' => '__fieldset-begin',
2861 + 'name' => __('Fieldset begin', 'contact-forms'),
2862 + 'type' => 'fieldset-begin',
2863 + 'description' => '',
2864 + );
2865 + } else if ($istance_data['ref'] == '__fieldset-end') {
2866 + $field_data = array(
2867 + 'id' => '__fieldset-end',
2868 + 'name' => __('Fieldset end', 'contact-forms'),
2869 + 'type' => 'fieldset-end',
2870 + 'description' => '',
2871 + );
2872 + }
2873 + }
2874 + } else {
2875 + $field_data = $avail_fields[$istance_data['ref']];
2876 + }
2877 +
2878 + $field_data += array(
2879 + 'version' => 1,
2880 + 'id' => '__html',
2881 + 'name' => __( 'Custom HTML content', 'contact-forms'),
2882 + 'type' => 'html',
2883 + 'description' => __('Use this special field to inject raw HTML in the form. You can use this multiple times.', 'contact-forms'),
2884 + 'default_value' => '',
2885 + 'allowed_values' => '',
2886 + 'allowed_extensions' => '',
2887 + );
2888 +
2889 + $istance_data += array(
2890 + 'version' => 1,
2891 + );
2892 +
2893 + if ($field_data['type'] == 'file') {
2894 + if ($field_data['version'] < 2) {
2895 + $field_data['allowed_extensions'] = $field_data['allowed_values'];
2896 + }
2897 + if ($istance_data['version'] < 2 && isset($istance_data['allowed_values'])) {
2898 + $istance_data['allowed_extensions'] = $istance_data['allowed_values'];
2899 + }
2900 + }
2901 +
2902 + /* prendo i dati relativi ai campi di tipo date
2903 + lo faccio prima, così default value in questo modo viene sovrascritto se un campo è di un tipo diverso
2904 +
2905 + NB: se i campi sono già sovrascritti, si trovano già in istance_data */
2906 + if ($field_data['type'] == 'date'){
2907 + $istance_data += array(
2908 + 'default_value' => $field_data['default_date_value'],
2909 + 'min_date' => $field_data['min_date'],
2910 + 'max_date' => $field_data['max_date'],
2911 + );
2912 + }
2913 +
2914 + $istance_data += array(
2915 + 'istance_id' => $field_data['id'],
2916 + 'widget_number' => '',
2917 + 'ref' => $field_data['id'],
2918 + 'label' => $field_data['name'],
2919 + 'default_value' => $field_data['default_value'], /* viene impostato il valore di defualt se non è un campo data */
2920 + 'allowed_values' => $field_data['allowed_values'],
2921 + 'allowed_extensions' => $field_data['allowed_extensions'],
2922 + );
2923 +
2924 + $element = NULL;
2925 + $element_conf = NULL;
2926 +
2927 + $allowed_val = trim($istance_data['allowed_values']);
2928 +
2929 + if ($field_data['type'] == 'post-multicheckbox' || $field_data['type'] == 'post-select') {
2930 + $posts = accua_get_pages($allowed_val);
2931 + $allowed_values = array();
2932 + foreach ($posts as $p) {
2933 + //$allowed_values[$p->ID] = apply_filters( 'the_title', $p->post_title, $p->ID );
2934 + $allowed_values[$p->ID] = $p->post_title;
2935 + }
2936 + } else {
2937 + if ($field_data['type'] == 'file') {
2938 + $filedata = get_option('accua_forms_default_file_field_data',array());
2939 + $filedata += array(
2940 + 'valid_extensions' => '',
2941 + 'max_filesize' => '',
2942 + 'dest_path' => '',
2943 + );
2944 + $allowed_val = accua_forms_filter_extensions($istance_data['allowed_extensions']);
2945 + if ($allowed_val == '') {
2946 + $allowed_val = accua_forms_filter_extensions($filedata['valid_extensions']);
2947 + }
2948 + }
2949 +
2950 + $allowed_val = explode("\n",$allowed_val);
2951 + $allowed_values = array();
2952 + foreach ($allowed_val as $val) {
2953 + $val = explode('|',$val,2);
2954 + $val[0] = trim($val[0]);
2955 + /*
2956 + if (empty($val[0])) {
2957 + continue;
2958 + }
2959 + */
2960 + if ((!isset($val[1])) || (trim($val[1])==='')) {
2961 + if ($val[0] === '') {
2962 + continue;
2963 + } else {
2964 + $val[1] = $val[0];
2965 + }
2966 + }
2967 + $allowed_values[$val[0]] = $val[1];
2968 + }
2969 + }
2970 +
2971 + switch ($field_data['type']) {
2972 + case 'textarea':
2973 + $element = new Element_Textarea($istance_data['label'], $istance_data['istance_id'], $field_properties+array('cols' => '50', 'value'=>$istance_data['default_value']));
2974 + break;
2975 + case 'hidden':
2976 + $element = new Element_Hidden($istance_data['istance_id'], $istance_data['default_value']);
2977 + break;
2978 + case 'checkbox':
2979 + $lab = $istance_data['label'];
2980 + if (!empty($istance_data['required'])) {
2981 + $lab .= ' <strong>*</strong>';
2982 + }
2983 + if ($allowed_values) {
2984 + reset($allowed_values);
2985 + $val = (string) key($allowed_values);
2986 + $defval = trim($istance_data['default_value']);
2987 + } else if ($istance_data['default_value'] == '1') {
2988 + $defval = $val = '1';
2989 + } else {
2990 + $val = empty($istance_data['default_value'])?'1':$istance_data['default_value'];
2991 + $defval = '';
2992 + }
2993 + $element = new AccuaForm_Element_Checkbox('', $istance_data['istance_id'], array($val => $lab), array('value' => $defval));
2994 + break;
2995 + case 'select':
2996 + case 'post-select':
2997 + if (!isset($allowed_values[''])) {
2998 + $allowed_values = array('' => '') + $allowed_values;
2999 + }
3000 + $defval = trim($istance_data['default_value']);
3001 + $element = new AccuaForm_Element_Select($istance_data['label'], $istance_data['istance_id'], $allowed_values, $field_properties+array('value'=>$defval));
3002 + break;
3003 + case 'radio':
3004 + $defval = trim($istance_data['default_value']);
3005 + $element = new AccuaForm_Element_Radio($istance_data['label'], $istance_data['istance_id'], $allowed_values, array('value'=>$defval));
3006 + break;
3007 + case 'multiselect':
3008 + $defval = explode('|', $istance_data['default_value']);
3009 + foreach ($defval as $k => $v) {
3010 + $defval[$k] = trim($v);
3011 + }
3012 + $element = new AccuaForm_Element_Select($istance_data['label'], $istance_data['istance_id'], $allowed_values, $field_properties+array('multiple' => true, 'value'=>$defval));
3013 + break;
3014 + case 'multicheckbox':
3015 + case 'post-multicheckbox':
3016 + $defval = explode('|', $istance_data['default_value']);
3017 + foreach ($defval as $k => $v) {
3018 + $defval[$k] = trim($v);
3019 + }
3020 + $element = new AccuaForm_Element_Checkbox($istance_data['label'], $istance_data['istance_id'], $allowed_values, array('value'=>$defval));
3021 + break;
3022 + case 'file':
3023 + $fdata = array();
3024 +
3025 + if ($allowed_values) {
3026 + $fdata['validExtensions'] = array_keys($allowed_values);
3027 + }
3028 +
3029 + if (!empty($filedata['max_size'])){
3030 + $fdata['maxSize'] = $filedata['max_size'];
3031 + }
3032 +
3033 + $fdata['destPath'] = _accua_forms_get_abs_dest_path($filedata['dest_path']);
3034 +
3035 + $element = new AccuaForm_Element_File($istance_data['label'], $istance_data['istance_id'], $field_properties+$fdata);
3036 + break;
3037 + case 'html':
3038 + $element = new Element_HTML($istance_data['default_value']);
3039 + break;
3040 + case 'email':
3041 + case 'autoreply_email':
3042 + $element = new AccuaForm_Element_Email($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
3043 + $element->setValidation(new Validation_Email(
3044 + str_replace('%element%', $istance_data['label'], __("Attention: '%element%' must contain an email address.", 'contact-forms'))
3045 + ));
3046 + //"Errore: '{$istance_data['label']}' deve contenere un indirizzo email valido."
3047 + break;
3048 + case 'colorpicker':
3049 + $element = new AccuaForm_Element_ColorPicker($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
3050 + break;
3051 + case 'fieldset-begin':
3052 + if ($fieldset_open) {
3053 + $form->addElement(new AccuaForm_Element_FieldsetEnd());
3054 + } else {
3055 + $fieldset_open = true;
3056 + }
3057 + $element = new AccuaForm_Element_FieldsetBegin($istance_data['label'], $istance_data['istance_id']);
3058 + break;
3059 + case 'fieldset-end':
3060 + if ($fieldset_open) {
3061 + $element = new AccuaForm_Element_FieldsetEnd();
3062 + $fieldset_open = false;
3063 + }
3064 + break;
3065 + case 'submit':
3066 + $add_submit = false;
3067 + $element = new Element_Button($istance_data['label'], 'submit', $submit_properties+array('name' => $istance_data['istance_id'], 'value' => $istance_data['default_value']));
3068 + break;
3069 + case 'captcha':
3070 + $empty_captcha_data = array(
3071 + 'recaptcha_force_v1' => '',
3072 + 'recaptcha_public_key' => '',
3073 + 'recaptcha_private_key' => '',
3074 + );
3075 + $captcha_data = get_option('accua_forms_default_captcha_field_data',array()) + $empty_captcha_data;
3076 + $captcha_properties = array("description" => "");
3077 + $captcha_use_v1 = true;
3078 + if (($captcha_data['recaptcha_public_key'] !== '') && ($captcha_data['recaptcha_private_key'] !== '')) {
3079 + $captcha_properties['privateKey'] = $captcha_data['recaptcha_private_key'];
3080 + $captcha_properties['publicKey'] = $captcha_data['recaptcha_public_key'];
3081 + $captcha_use_v1 = $captcha_data['recaptcha_force_v1'];
3082 + }
3083 + if ($captcha_use_v1) {
3084 + $element = new Element_HTML("\n\n<!-- ReCaptcha 1 is discontinued, please go to Contact Forms settings page and set reCaptcha v2 keys -->\n\n");
3085 + } else {
3086 + $element = new AccuaForm_Element_Captcha2 ($istance_data['label'], '', $captcha_properties);
3087 + }
3088 + break;
3089 + case 'password':
3090 + $element = new Element_Password($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
3091 + break;
3092 + case 'password-and-confirm':
3093 + $id_2 = "___{$istance_data['istance_id']}___confirmpass";
3094 + $element = new Element_Password(__("Password", 'contact-forms'), $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
3095 + $element_conf = new Element_Password(__("Confirm password", 'contact-forms'), $id_2, $field_properties+array('value'=>$istance_data['default_value']));
3096 + $element_conf_validator = new AccuaForm_Validation_Password();
3097 + $element_conf_validator->configure(array('otherPasswordFieldName'=>$istance_data['istance_id']));
3098 + $element_conf->setValidation($element_conf_validator);
3099 + break;
3100 + case 'date':
3101 + $element = new AccuaForm_Element_Date($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value'], 'minDate'=>$istance_data['min_date'], 'maxDate'=>$istance_data['max_date']));
3102 + break;
3103 + //case 'textfield':
3104 + default:
3105 + $element = new Element_Textbox($istance_data['label'], $istance_data['istance_id'], $field_properties+array('value'=>$istance_data['default_value']));
3106 + break;
3107 + }
3108 + if ($element) {
3109 + if (!empty($istance_data['required'])) {
3110 + $element->setClass('accuaforms-field-required');
3111 + if($field_data['type'] == 'captcha' && empty($captcha_use_v1)) {
3112 + //nothing
3113 + } else if($field_data['type'] == 'password-and-confirm') {
3114 + $element->setValidation(new Validation_Required(
3115 + str_replace('%element%', $istance_data['label'], __("Attention: Passwords are required fields.", 'contact-forms'))
3116 + ));
3117 + } else {
3118 + $element->setValidation(new Validation_Required(
3119 + str_replace('%element%', $istance_data['label'], __("Attention: '%element%' is a required field.", 'contact-forms'))
3120 + ));
3121 + }
3122 + }
3123 +
3124 + if ($elementName = $element->getName()) {
3125 + $element->setClass('accuaform-fieldname-'.$elementName);
3126 + }
3127 +
3128 + if ($field_data['type']) {
3129 + $element->setClass('accuaform-fieldtype-'.$field_data['type']);
3130 + }
3131 +
3132 + $form->addElement($element);
3133 + if($element_conf!=NULL) {
3134 + $form->addElement($element_conf);
3135 + $element_conf=NULL;
3136 + }
3137 + }
3138 + }
3139 + if ($fieldset_open) {
3140 + $form->addElement(new AccuaForm_Element_FieldsetEnd());
3141 + $fieldset_open = false;
3142 + }
3143 + if ($add_submit) {
3144 + $form->addElement(new Element_Button(__('Submit', 'contact-forms'), 'submit', $submit_properties));
3145 + }
3146 + }
3147 +
3148 + }
3149 +}
3150 +
3151 +function accua_forms_aggregate_submitted_data(&$replace_map, $params = array()) {
3152 + if (empty($params['txt']) && empty($params['html']) && empty($params['json']) && empty($params['email'])) {
3153 + $params += array(
3154 + 'txt' => true,
3155 + 'html' => true,
3156 + 'json' => true,
3157 + 'email' => true,
3158 + );
3159 + }
3160 +
3161 + if (!empty($params['txt'])) {
3162 + $replace_map['__submitted_txt'] = implode("\n",$replace_map['__submitted_txt_raw']);
3163 + }
3164 + if (!empty($params['html'])) {
3165 + $replace_map['__submitted_html'] = implode('</td></tr><tr><td>',$replace_map['__submitted_html_raw']);
3166 + }
3167 + if (!empty($params['json'])) {
3168 + $replace_map['__submitted_json'] = _accua_forms_json_encode($replace_map['__submitted_json_raw']);
3169 + }
3170 + if (!empty($params['email'])) {
3171 + $replace_map['__autoreply_email'] = implode('; ', $replace_map['__autoreply_email_raw']);
3172 + }
3173 +
3174 +}
3175 +
3176 +add_filter('accua_form_validate', 'accua_forms_validation_handler', 10, 4);
3177 +function accua_forms_validation_handler($valid, $submittedID, $submittedData, $form){
3178 + if (substr($submittedID, 0, 14) == '__accua-form__') {
3179 + $fid = substr($submittedID,14);
3180 + $form_data = _accua_forms_get_form_data($fid, false);
3181 + if ($form_data) {
3182 + return apply_filters('accua_forms_validation', $valid, $fid, $submittedData, $form);
3183 + }
3184 + }
3185 + return $valid;
3186 +}
3187 +
3188 +function accua_forms_anonymize_ip($ip) {
3189 + $ip = (string) $ip;
3190 + $anonymize_ip_data = get_option('accua_forms_anonymize_ip_data',array());
3191 + if (empty($anonymize_ip_data['anonymize_ip_bytes'])) {
3192 + return $ip;
3193 + }
3194 + switch ($anonymize_ip_data['anonymize_ip_bytes']) {
3195 + case 1:
3196 + $ip = preg_replace('/\.[^.]+$/', '.xxx', $ip);
3197 + break;
3198 + case 2:
3199 + $ip = preg_replace('/\.[^.]+\.[^.]+$/', '.xxx.xxx', $ip);
3200 + break;
3201 + case 3:
3202 + $ip = preg_replace('/\.[^.]+\.[^.]+\.[^.]+$/', '.xxx.xxx.xxx', $ip);
3203 + break;
3204 + case 4:
3205 + $ip = '';
3206 + }
3207 + return $ip;
3208 +}
3209 +
3210 +add_action('accua_form_submit', 'accua_forms_form_submission_handler', -10, 3);
3211 +function accua_forms_form_submission_handler($submittedID, $submittedData, $form) {
3212 + if (empty($GLOBALS['wp_rewrite'])) {
3213 + $GLOBALS['wp_rewrite'] = new WP_Rewrite();
3214 + }
3215 +
3216 + if (!class_exists('AccuaConditionalReplacer')){
3217 + require_once('AccuaConditionalReplacer.php');
3218 + }
3219 +
3220 + if (substr($submittedID, 0, 14) == '__accua-form__') {
3221 + $fid = substr($submittedID,14);
3222 + $form_data = _accua_forms_get_form_data($fid, false);
3223 + if ($form_data) {
3224 + global $wpdb;
3225 +
3226 + $time = time();
3227 +
3228 + $afs_stats = _accua_forms_json_encode(array(
3229 + 'user_agent' => $form->stats['user_agent'],
3230 + 'platform' => $form->stats['platform'],
3231 + 'tentatives' => $form->stats['tentatives'],
3232 + 'submit_method' => $form->stats['submit_method'],
3233 + ));
3234 +
3235 + $anonymized_ip = accua_forms_anonymize_ip($form->stats['ip']);
3236 +
3237 + $insert_ret = $wpdb->insert(
3238 + $wpdb->prefix . 'accua_forms_submissions',
3239 + array (
3240 + 'afs_form_id' => (string) $fid,
3241 + 'afs_post_id' => (string) $form->stats['pid'],
3242 + 'afs_ip' => $anonymized_ip,
3243 + 'afs_uri' => (string) $form->stats['uri'],
3244 + 'afs_referrer' => (string) $form->stats['referrer'],
3245 + 'afs_lang' => (string) $form->stats['lang'],
3246 + 'afs_created' => (string) gmdate('Y-m-d H:i:s', $form->stats['created']),
3247 + 'afs_submitted' => (string) gmdate('Y-m-d H:i:s', $time),
3248 + 'afs_stats' => (string) $afs_stats,
3249 + )
3250 + );
3251 +
3252 + if ($insert_ret) {
3253 + $submission_id = $form->stats['submission_id'] = $wpdb->insert_id;
3254 + } else {
3255 + $submission_id = $form->stats['submission_id'] = 0;
3256 + error_log("[WordPress Contact Forms] unable to save submitted form data");
3257 + }
3258 +
3259 + $review_submission_url = admin_url('admin.php').'?page=accua_forms_submissions_list&sid='.$submission_id;
3260 +
3261 + $replace_map = array(
3262 + '__fid' => $fid,
3263 + '__subid' => $submission_id,
3264 + '__pid' => $form->stats['pid'],
3265 + '__ip' => $form->stats['ip'],
3266 + '__anonymized_ip' => $anonymized_ip,
3267 + '__uri' => $form->stats['uri'],
3268 + '__url' => $form->stats['url'],
3269 + '__referrer' => $form->stats['referrer'],
3270 + '__lang' => $form->stats['lang'],
3271 + '__locale' => $form->stats['locale'],
3272 + '__created' => $form->stats['created'],
3273 + '__created_day' => date('l j F Y', $form->stats['created']),
3274 + '__created_day_month_year' => date('j F Y', $form->stats['created']),
3275 + '__created_hour' => date('G:i', $form->stats['created']),
3276 + '__submitted' => $time,
3277 + '__submitted_day' => date('l j F Y', $time),
3278 + '__submitted_day_month_year' => date('j F Y', $time),
3279 + '__submitted_hour' => date('G:i', $time),
3280 + '__confirmation_emails_message' => $form_data['confirmation_emails_message'],
3281 + '__user_agent' => $form->stats['user_agent'],
3282 + '__platform' => $form->stats['platform'],
3283 + '__tentatives' => $form->stats['tentatives'],
3284 + '__submit_method' => $form->stats['submit_method'],
3285 + '__review_submission_url' => $review_submission_url,
3286 + );
3287 +
3288 + $avail_fields = get_option('accua_forms_avail_fields', array());
3289 +
3290 + $replace_map['__autoreply_email_raw'] = array();
3291 + $replace_map['__submitted_txt_raw'] = array();
3292 + $replace_map['__submitted_html_raw'] = array();
3293 + $replace_map['__submitted_json_raw'] = array();
3294 +
3295 + $_field_data = array();
3296 + $_istance_data = array();
3297 + $field_data = array();
3298 +
3299 + foreach ($submittedData as $istance_id => $value) {
3300 + if (empty($form_data['fields'][$istance_id])) {
3301 + continue;
3302 + }
3303 + $istance_data = $form_data['fields'][$istance_id];
3304 +
3305 + if (empty($avail_fields[$istance_data['ref']])) {
3306 + $fieldset_data = array();
3307 + if (!empty($istance_data['ref'])) {
3308 + if ($istance_data['ref'] == '__fieldset-begin') {
3309 + $field_data = array(
3310 + 'id' => '__fieldset-begin',
3311 + 'name' => __('Fieldset begin', 'contact-forms'),
3312 + 'type' => 'fieldset-begin',
3313 + 'description' => '',
3314 + );
3315 + } else if ($istance_data['ref'] == '__fieldset-end') {
3316 + $field_data = array(
3317 + 'id' => '__fieldset-end',
3318 + 'name' => __('Fieldset end', 'contact-forms'),
3319 + 'type' => 'fieldset-end',
3320 + 'description' => '',
3321 + );
3322 + }
3323 + }
3324 + } else {
3325 + $field_data = $avail_fields[$istance_data['ref']];
3326 + }
3327 +
3328 + $field_data += array(
3329 + 'id' => '__html',
3330 + 'name' => __( 'Custom HTML content', 'contact-forms'),
3331 + 'type' => 'html',
3332 + 'description' => __( 'Use this special field to inject raw HTML in the form. You can use this multiple times.', 'contact-forms'),
3333 + 'default_value' => '',
3334 + 'allowed_values' => '',
3335 + );
3336 +
3337 + /*
3338 + echo "<!-- istance_data: "
3339 + , print_r($istance_data, true)
3340 + , "\nfield_data: "
3341 + , print_r($field_data, true)
3342 + , "\nvalue: "
3343 + , print_r($value, true)
3344 + , "\n-->\n";
3345 + */
3346 +
3347 + $istance_data += array(
3348 + 'istance_id' => $field_data['id'],
3349 + 'widget_number' => '',
3350 + 'ref' => $field_data['id'],
3351 + 'label' => $field_data['name'],
3352 + 'default_value' => $field_data['default_value'],
3353 + 'allowed_values' => $field_data['allowed_values'],
3354 + );
3355 +
3356 + $type = $field_data['type'];
3357 + $file_download_url = '';
3358 +
3359 + switch ($field_data['type']) {
3360 + case 'checkbox':
3361 + case 'submit':
3362 + if (empty($value)) {
3363 + $replace_map[$istance_data['istance_id']] = $value = '';
3364 + } else {
3365 + if (empty($istance_data['default_value'])) {
3366 + $replace_map[$istance_data['istance_id']] = 'Checked';
3367 + $value = '1';
3368 + } else {
3369 + $replace_map[$istance_data['istance_id']] = $value = $istance_data['default_value'];
3370 + }
3371 + }
3372 + break;
3373 + case 'multiselect':
3374 + case 'multicheckbox':
3375 + case 'select':
3376 + case 'radio':
3377 + $el = $form->getElementByName($istance_id);
3378 + $opts = $el->getOptions();
3379 + if (!is_array($value)) {
3380 + $value = array($value);
3381 + }
3382 + $label = array();
3383 + foreach ($value as $val) {
3384 + if (isset($opts[$val])) {
3385 + $label[] = $opts[$val];
3386 + }
3387 + }
3388 + $replace_map['__label_'.$istance_data['istance_id']] = implode(", ", $label);
3389 + $replace_map[$istance_data['istance_id']] = implode(', ',$value);
3390 + $value = implode('|',$value);
3391 + break;
3392 + case 'post-multicheckbox':
3393 + if (is_array($value) && $value) {
3394 + $el = $form->getElementByName($istance_id);
3395 + $opts = $el->getOptions();
3396 + $value2 = array();
3397 + $titles = array();
3398 + $ids = array();
3399 + $urls = array();
3400 + foreach ($value as $val) {
3401 + if (isset($opts[$val])) {
3402 + $titles[] = $opts[$val];
3403 + $ids[] = $value;
3404 + $urls[] = get_permalink($value);
3405 + $value2[] = $val . ': ' . trim(preg_replace('/[\s\n\r]+/', ' ', $opts[$val]));
3406 + }
3407 + }
3408 + $replace_map['__label_'.$istance_data['istance_id']] = $replace_map['__post_title_'.$istance_data['istance_id']] = implode("\n", $titles);
3409 + $replace_map['__post_id_'.$istance_data['istance_id']] = implode("\n", $ids);
3410 + $replace_map['__post_url_'.$istance_data['istance_id']] = implode("\n", $urls);
3411 + $replace_map[$istance_data['istance_id']] = $value = implode("\n", $value2);
3412 + } else {
3413 + $replace_map['__label_'.$istance_data['istance_id']] = $replace_map['__post_title_'.$istance_data['istance_id']] = '';
3414 + $replace_map['__post_id_'.$istance_data['istance_id']] = '';
3415 + $replace_map['__post_url_'.$istance_data['istance_id']] = '';
3416 + $replace_map[$istance_data['istance_id']] = $value = '';
3417 + }
3418 + break;
3419 + case 'post-select':
3420 + if ($value !== '') {
3421 + $el = $form->getElementByName($istance_id);
3422 + $opts = $el->getOptions();
3423 + if (isset($opts[$value])) {
3424 + $replace_map['__label_'.$istance_data['istance_id']] = $replace_map['__post_title_'.$istance_data['istance_id']] = $opts[$value];
3425 + $replace_map['__post_id_'.$istance_data['istance_id']] = $value;
3426 + $replace_map['__post_url_'.$istance_data['istance_id']] = get_permalink($value);
3427 + $value = $value . ': ' . trim(preg_replace('/[\s\n\r]+/', ' ', $opts[$value]));
3428 + } else {
3429 + $replace_map['__label_'.$istance_data['istance_id']] = $replace_map['__post_title_'.$istance_data['istance_id']] = '';
3430 + $replace_map['__post_id_'.$istance_data['istance_id']] = '';
3431 + $replace_map['__post_url_'.$istance_data['istance_id']] = '';
3432 + $value = '';
3433 + }
3434 + }
3435 + $replace_map[$istance_data['istance_id']] = $value;
3436 + break;
3437 + case 'autoreply_email':
3438 + if ($value !== '') {
3439 + $replace_map['__autoreply_email_raw'][] = $value;
3440 + }
3441 + $replace_map[$istance_data['istance_id']] = $value;
3442 + break;
3443 + case 'file':
3444 + //TODO: move temp file to "{$submission_id}_{$field_data['id']}_{$file['name']}"; value is $file['name']
3445 + $buildid = $submittedData['_AccuaForm_buildID'];
3446 + $file = $form->getFile($istance_id);
3447 + if ($value !== null && $value !== '' && $file) {
3448 + if ($form->renameFile($istance_id, "{$submission_id}_{$field_data['id']}_{$file['name']}")) {
3449 + $urlfield = rawurlencode($istance_data['istance_id']);
3450 + $urlfile = rawurlencode($value);
3451 + $file_download_url = admin_url('admin-ajax.php') . "?action=accua_forms_download_submitted_file&subid={$submission_id}&field={$urlfield}&file={$urlfile}";
3452 + }
3453 + }
3454 + $replace_map[$istance_data['istance_id']] = $value;
3455 + $replace_map['__download_'.$istance_data['istance_id']] = $file_download_url;
3456 + break;
3457 + case 'password':
3458 + case 'password-and-confirm':
3459 + $value = trim($value);
3460 + $replace_map[$istance_data['istance_id']] = $value;
3461 + $type = 'hashed-password';
3462 + if ($value !== '') {
3463 + $value = wp_hash_password($value);
3464 + }
3465 + $replace_map['__hashed_'.$istance_data['istance_id']] = $value;
3466 + break;
3467 + default:
3468 + $replace_map[$istance_data['istance_id']] = $value;
3469 + }
3470 +
3471 + switch ($field_data['type']) {
3472 + case 'file':
3473 + $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value\t$file_download_url";
3474 + $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = "$value\t$file_download_url";
3475 + $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'><a href='".htmlspecialchars($file_download_url,ENT_QUOTES)."'>".htmlspecialchars($value)."</a>";
3476 + break;
3477 +
3478 + case 'email':
3479 + case 'autoreply_email':
3480 + $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
3481 + $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
3482 + $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'><a href='mailto:".htmlspecialchars($value,ENT_QUOTES)."'>".htmlspecialchars($value)."</a>";
3483 + break;
3484 + case 'submit':
3485 + break;
3486 + case 'colorpicker':
3487 + $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
3488 + $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
3489 + if ($value === '') {
3490 + $value_html = '';
3491 + } else {
3492 + $value_esc = htmlspecialchars($value, ENT_QUOTES);
3493 + $value_html = "<span style='color: $value_esc'><font color='$value_esc'>&#9608;</font></span> $value_esc";
3494 + }
3495 + $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'>$value_html";
3496 + break;
3497 + case 'password':
3498 + case 'password-and-confirm':
3499 + break;
3500 + default:
3501 + $replace_map['__submitted_txt_raw'][$istance_data['istance_id']] = "{$istance_data['istance_id']}\t$value";
3502 + $replace_map['__submitted_json_raw'][$istance_data['istance_id']] = $value;
3503 + $replace_map['__submitted_html_raw'][$istance_data['istance_id']] = "<strong>{$istance_data['istance_id']}</strong></td><td class='valori_submitted'>".htmlspecialchars($value);
3504 + }
3505 +
3506 + if ($submission_id) {
3507 + $wpdb->insert(
3508 + $wpdb->prefix . 'accua_forms_submissions_values',
3509 + array (
3510 + 'afsv_sub_id' => $submission_id,
3511 + 'afsv_field_id' => $istance_data['istance_id'],
3512 + 'afsv_type' => $type,
3513 + 'afsv_value' => $value,
3514 + ),
3515 + array('%d','%s','%s','%s')
3516 + );
3517 + }
3518 +
3519 + $_field_data[$istance_data['istance_id']] = $field_data;
3520 + $_istance_data[$istance_data['istance_id']] = $istance_data;
3521 +
3522 + }
3523 +
3524 + $replace_map['__autoreply'] = (bool) ($replace_map['__autoreply_email_raw']
3525 + && $form_data['confirmation_emails_subject']
3526 + && $form_data['confirmation_emails_message']);
3527 +
3528 + accua_forms_aggregate_submitted_data($replace_map);
3529 +
3530 + //Older undocumented filter, maintained for backward compatibility. In fact filter accua_forms_form_submission_handler is called before accua_forms_submission, but for the rest they are the same
3531 + $replace_map = apply_filters('accua_forms_form_submission_handler', $replace_map, $fid, $submittedData, $form, $_field_data, $_istance_data);
3532 +
3533 + //Newer filter, with an easier name
3534 + $replace_map = apply_filters('accua_forms_submission', $replace_map, $fid, $submittedData, $form, $_field_data, $_istance_data);
3535 +
3536 + $submitted_html = '<table><tr><td>' . $replace_map['__submitted_html'] . '</td></tr></table>';
3537 + $confirmation_emails_message = $replace_map['__confirmation_emails_message'];
3538 + unset($replace_map['__submitted_html'], $replace_map['__confirmation_emails_message'], $replace_map['__submitted_txt_raw'], $replace_map['__submitted_html_raw'], $replace_map['__submitted_json_raw'], $replace_map['__autoreply_email_raw']);
3539 +
3540 + $replace_map_html = array();
3541 + foreach($replace_map as $key => $value) {
3542 + $replace_map_html["!$key"] = wp_kses($value, 'post');
3543 + $replace_map_html[$key] = htmlspecialchars($value, ENT_QUOTES);
3544 + }
3545 +
3546 + $replace_map['__submitted_html'] = $replace_map_html['__submitted_html'] = $replace_map_html['!__submitted_html'] = $submitted_html;
3547 + $replacer_html = new AccuaConditionalReplacer($replace_map_html);
3548 +
3549 + $confirmation_emails_message = $replace_map['__confirmation_emails_message'] = $replacer_html->doReplace($confirmation_emails_message);
3550 + $replacer_html->appendPattern(array('__confirmation_emails_message' => $confirmation_emails_message, '!__confirmation_emails_message' => $confirmation_emails_message));
3551 + $replacer = new AccuaConditionalReplacer($replace_map);
3552 +
3553 + $form_data_replaced = array();
3554 +
3555 + $settings = array(
3556 + 'emails_from_name',
3557 + 'emails_from',
3558 + 'admin_emails_to',
3559 + 'emails_bcc',
3560 + 'admin_emails_subject',
3561 + 'confirmation_emails_subject',
3562 + );
3563 +
3564 + foreach($settings as $i) {
3565 + $form_data_replaced[$i] = $replacer->doReplace($form_data[$i]);
3566 + }
3567 +
3568 + $settings_html = array(
3569 + 'success_message',
3570 + 'admin_emails_message',
3571 + );
3572 +
3573 + foreach($settings_html as $i) {
3574 + $form_data_replaced[$i] = $replacer_html->doReplace($form_data[$i]);
3575 + }
3576 +
3577 + AccuaForm::appendSubmittedMessages(wpautop($form_data_replaced['success_message']));
3578 +
3579 + $header = array("Content-Type: text/html; charset=".get_option('blog_charset'));
3580 +
3581 + $emails_from = trim($form_data_replaced['emails_from']);
3582 + if (strpos($emails_from, '@') !== false) {
3583 + if ((strpos($emails_from, '<') === false) && is_email($emails_from)) {
3584 + $emails_from_name = trim($form_data_replaced['emails_from_name']);
3585 + if ($emails_from_name !== '') {
3586 + $emails_from = "=?" . get_bloginfo('charset') . "?B?" . base64_encode($emails_from_name) . "?= <$emails_from>";
3587 + }
3588 + }
3589 + $header[] = 'From: '.$emails_from;
3590 + }
3591 +
3592 + if ($form_data_replaced['emails_bcc']) {
3593 + $header[] = 'Bcc: '.$form_data_replaced['emails_bcc'];
3594 + }
3595 +
3596 + if ($form_data_replaced['admin_emails_to']
3597 + && $form_data_replaced['admin_emails_subject']) {
3598 + /*
3599 + $admin_tos = explode(',', strtr($form_data_replaced['admin_emails_to'], "\n\t\r;", ',,,,'));
3600 + foreach ($admin_tos as $admin_to) {
3601 + $mail1 = wp_mail(trim($admin_to), $form_data_replaced['admin_emails_subject'], $form_data_replaced['admin_emails_message'], $header);
3602 + }
3603 + */
3604 + $mail1 = wp_mail($form_data_replaced['admin_emails_to'], $form_data_replaced['admin_emails_subject'],'<html><head></head><body style="background:#f9f8f8;font-size: 12px;font-family: "Lucida Sans","Lucida Grande", Verdana, Arial, Sans-Serif;"">'.wpautop($form_data_replaced['admin_emails_message']).'</body></html>', $header);
3605 + }
3606 +
3607 + if ($replace_map['__autoreply'] && $replace_map['__autoreply_email']
3608 + && $form_data_replaced['confirmation_emails_subject']
3609 + && $confirmation_emails_message) {
3610 + $mail2 = wp_mail($replace_map['__autoreply_email'], $form_data_replaced['confirmation_emails_subject'], '<html><head></head><body>'.wpautop($confirmation_emails_message).'</body></html>', $header);
3611 + }
3612 +
3613 + /*
3614 + echo "<!-- replace_map: "
3615 + , print_r($replace_map, true)
3616 + , "\nreplace_map: "
3617 + , print_r($replace_map, true)
3618 + , "\nform_data_replaced: "
3619 + , print_r($form_data_replaced, true)
3620 + , "\nautoreply_email: "
3621 + , print_r($autoreply_email, true)
3622 + , "\nmail1: "
3623 + , print_r($mail1, true)
3624 + , "\nmail2: "
3625 + , print_r($mail2, true)
3626 + ,"\n-->";
3627 + */
3628 + }
3629 + }
3630 +}
3631 +
3632 +function accua_forms_get_submission_data($subid, $options = array()){
3633 + //TODO: Completa e usa per sostituire i campi
3634 + global $wpdb;
3635 + $subid = (int) $subid;
3636 + $options += array(
3637 + 'extra' => true,
3638 + 'file_format' => 'name',
3639 + );
3640 + $ret = array();
3641 + if ($options['extra']) {
3642 + $query1 = "SELECT *
3643 + FROM `{$wpdb->prefix}accua_forms_submissions`
3644 + WHERE afs_id = $subid";
3645 + $data = $wpdb->get_row($query1);
3646 + if (!empty($data)) {
3647 + $created = $data->afs_created;
3648 + $created[10] = 'T';
3649 + $created.='.00+00:00';
3650 + $created = strtotime($created);
3651 + $submitted = $data->afs_submitted;
3652 + $submitted[10] = 'T';
3653 + $submitted.='.00+00:00';
3654 + $submitted = strtotime($submitted);
3655 + if ($data->afs_stats) {
3656 + $stats = json_decode($data->afs_stats, true);
3657 + if (!$stats) {
3658 + $stats = array();
3659 + }
3660 + } else {
3661 + $stats = array();
3662 + }
3663 + $stats += array(
3664 + 'user_agent' => '',
3665 + 'platform' => '',
3666 + 'tentatives' => '',
3667 + 'submit_method' => '',
3668 + );
3669 + $ret += array(
3670 + '__fid' => $data->afs_form_id,
3671 + '__subid' => $subid,
3672 + '__pid' => $data->afs_post_id,
3673 + '__ip' => $data->afs_ip,
3674 + '__anonymized_ip' => accua_forms_anonymize_ip($data->afs_ip),
3675 + '__uri' => $data->afs_uri,
3676 + '__referrer' => $data->afs_referrer,
3677 + '__lang' => $data->afs_lang,
3678 + '__created' => $created,
3679 + '__created_day' => date('l j F Y', $created),
3680 + '__created_hour' => date('G:i', $created),
3681 + '__submitted' => $submitted,
3682 + '__submitted_day' => date('l j F Y', $submitted),
3683 + '__submitted_hour' => date('G:i', $submitted),
3684 + '__user_agent' => $stats['user_agent'],
3685 + '__platform' => $stats['platform'],
3686 + '__tentatives' => $stats['tentatives'],
3687 + '__submit_method' => $stats['submit_method'],
3688 + );
3689 + }
3690 + }
3691 +
3692 + $query2 = "SELECT *
3693 + FROM `{$wpdb->prefix}accua_forms_submissions_values`
3694 + WHERE afsv_sub_id = $subid";
3695 +
3696 + $data2 = $wpdb->get_results($query2, OBJECT);
3697 +
3698 + foreach ($data2 as $row) {
3699 + switch ($row->afsv_type) {
3700 + case 'file' :
3701 + if ($options['file_format'] == 'url' || $options['file_format'] == 'link') {
3702 + $fieldid = rawurlencode($row->afsv_field_id);
3703 + $filename = rawurlencode($row->afsv_value);
3704 + $url = admin_url('admin-ajax.php') . "?action=accua_forms_download_submitted_file&subid={$row->afsv_sub_id}&field={$fieldid}&file={$filename}";
3705 + if ($options['file_format'] == 'link'){
3706 + $url = htmlspecialchars($url,ENT_QUOTES);
3707 + $filename = htmlspecialchars($row->afsv_value,ENT_QUOTES);
3708 + $fielddata = "<a href='{$url}' target='_blank'>{$filename}</a>";
3709 + } else {
3710 + $fielddata = $url;
3711 + }
3712 + } else { // $options['file_format'] == 'name'
3713 + $fielddata = $row->afsv_value;
3714 + }
3715 + break;
3716 + default:
3717 + $fielddata = $row->afsv_value;
3718 + }
3719 + $ret[$row->afsv_field_id] = $fielddata;
3720 + }
3721 + return $ret;
3722 +}
3723 +
3724 +add_shortcode( 'accua-form', 'accua_forms_shortcode_handler' );
3725 +function accua_forms_shortcode_handler($atts, $content = '', $code = '') {
3726 + if (empty($atts['fid'])) {
3727 + return '';
3728 + }
3729 +
3730 + $fid = $atts['fid'];
3731 + $form_data = _accua_forms_get_form_data($fid, false);
3732 +
3733 + if (! $form_data) {
3734 + return '';
3735 + }
3736 +
3737 + $fid = '__accua-form__'.$fid;
3738 +
3739 + $out = '';
3740 +
3741 + if (AccuaForm::getSubmittedID() == $fid) {
3742 + /* return "<pre>Form submitted.\n\nData: " . print_r(AccuaForm::getSubmittedData(), true) . '</pre>'; */
3743 + $messages = AccuaForm::getSubmittedMessages();
3744 + if ($messages) {
3745 + $out .= '<div id="_response_messages_'.$fid.'" class="accua-form-messages">'.$messages.'</div>';
3746 + }
3747 + if (AccuaForm::isValid()) {
3748 + return $out;
3749 + }
3750 + $form = AccuaForm::getSubmittedForm();
3751 + } else {
3752 + $analytics_data = get_option('accua_forms_default_analytics_data',array());
3753 + $params = array(
3754 + 'layout' => $form_data['layout'],
3755 + 'title' => $form_data['title'],
3756 + 'track_submit' => !empty($analytics_data['analytics_track_submit']),
3757 + 'track_fields' => !empty($analytics_data['analytics_track_fields']),
3758 + );
3759 + $form = AccuaForm::create($fid, $params);
3760 + }
3761 +
3762 + $out .= $form->render(true);
3763 +
3764 + $doing_ajax = function_exists('wp_doing_ajax') ? wp_doing_ajax() : (defined( 'DOING_AJAX' ) && DOING_AJAX);
3765 + if ($doing_ajax && ($_REQUEST['action'] === 'wpseo_filter_shortcodes')) {
3766 + $strip_regexp = '/(<iframe[^>]*>(.*?)<\/iframe>|<script[^>]*>(.*?)<\/script>|<input([^>]*)type="hidden"[^>]*>)/is';
3767 + $out = preg_replace($strip_regexp, '', $out);
3768 + }
3769 +
3770 + return $out;
3771 +
3772 +}
3773 +
3774 +function accua_forms_include($fid, $atts=array(), $content = '', $code = '') {
3775 + $atts['fid'] = $fid;
3776 + echo accua_forms_shortcode_handler($atts, $content, $code);
3777 +}
3778 +
3779 +function __accua_forms_submissions_list_page(){
3780 + if(isset($_GET['sid'])) {
3781 + accua_forms_single_submission();
3782 + } else {
3783 + accua_forms_submissions_list_page();
3784 + }
3785 +}
3786 +function accua_forms_submissions_list_page_head(){
3787 + if(isset($_GET['sid'])) {
3788 + require_once('accua-forms-single-submission.php');
3789 + accua_forms_single_submission(true);
3790 + } else {
3791 + require_once('accua-forms-submissions-page.php');
3792 + accua_forms_submissions_list_page(true);
3793 + }
3794 +
3795 +}
3796 +
3797 +add_action('wp_ajax_accua_forms_download_submitted_file', 'accua_forms_download_submitted_file');
3798 +add_action('wp_ajax_nopriv_accua_forms_download_submitted_file', 'accua_forms_download_submitted_file');
3799 +function accua_forms_download_submitted_file(){
3800 + $get = stripslashes_deep($_GET);
3801 + if (isset($get['subid'],$get['field'],$get['file'])) {
3802 + if (!empty($get['html'])) {
3803 + header("Content-type: text/html");
3804 + $subid = rawurlencode($get['subid']);
3805 + $fieldid = rawurlencode($get['field']);
3806 + $filename = rawurlencode($get['file']);
3807 + $url = admin_url('admin-ajax.php') . "?action=accua_forms_download_submitted_file&subid={$subid}&field={$fieldid}&file={$filename}";
3808 + $url = htmlspecialchars($url,ENT_QUOTES);
3809 + $filename = htmlspecialchars($get['file'],ENT_QUOTES);
3810 + die("<html><head><title>{$filename}</title><meta http-equiv='refresh' content='0;URL={$url}'></head><body><a href='{$url}'>{$filename}</a></body></html>");
3811 + }
3812 + global $wpdb;
3813 + $subid = (int) $get['subid'];
3814 + $field = $get['field'];
3815 + $file = $get['file'];
3816 + $query = "SELECT *
3817 + FROM `{$wpdb->prefix}accua_forms_submissions_values`
3818 + WHERE afsv_sub_id = %d
3819 + AND afsv_field_id = %s
3820 + AND afsv_value = %s
3821 + ";
3822 + $query = $wpdb->prepare($query, $subid, $field, $file);
3823 + $subval = $wpdb->get_results($query, OBJECT);
3824 + if ($subval) {
3825 + $file_data = get_option('accua_forms_default_file_field_data',array()) + array('dest_path' => '');
3826 + $dest_path = _accua_forms_get_abs_dest_path($file_data['dest_path']);
3827 + $filename = "{$dest_path}/{$subid}_{$field}_{$file}";
3828 + if (is_file($filename) && is_readable($filename)){
3829 + if (function_exists('finfo_open')){
3830 + @ $finfo = finfo_open(FILEINFO_MIME);
3831 + if ($finfo) {
3832 + @ $filetype = finfo_file($finfo, $filename);
3833 + @ finfo_close($finfo);
3834 + }
3835 + }
3836 + if (empty($filetype) && function_exists('mime_content_type')){
3837 + @ $filetype = mime_content_type($filename);
3838 + }
3839 + if (empty($filetype)) {
3840 + $filetype = "application/octet-stream";
3841 + }
3842 + header("Content-type: $filetype");
3843 + header("Content-length: ".filesize($filename));
3844 + if (empty($_GET['view'])) {
3845 + header("Content-disposition: attachment; filename=\"$file\"");
3846 + }
3847 + readfile($filename);
3848 + die('');
3849 + }
3850 + }
3851 + }
3852 + header("HTTP/1.0 404 Not Found");
3853 + //header("Status: 404 Not Found");
3854 + die('File not found');
3855 +}
3856 +
3857 +function accua_forms_buildConditionalReplacer($map = array()) {
3858 + if (!class_exists('AccuaConditionalReplacer')){
3859 + require_once('AccuaConditionalReplacer.php');
3860 + }
3861 + return new AccuaConditionalReplacer($map);
3862 +}
3863 +
3864 +
3865 +add_action('wp_ajax_accua_forms_preview', 'accua_forms_preview');
3866 +function accua_forms_preview() {
3867 + if (!current_user_can('manage_options')){
3868 + die ('');
3869 + }
3870 +
3871 + echo '<html><head>
3872 + <style>
3873 + body {font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
3874 + </style>';
3875 + wp_print_styles();
3876 + wp_print_head_scripts();
3877 + echo '</head><body>';
3878 + echo accua_forms_shortcode_handler(array('fid'=>$_REQUEST['fid']));
3879 + wp_print_footer_scripts();
3880 + echo '</body></html>';
3881 + die('');
3882 +}
3883 +
3884 +//salvataggio file excel
3885 +add_action('wp_ajax_accua_forms_submission_page_save_excel', 'accua_forms_submission_page_save_excel');
3886 +//add_action('wp_ajax_nopriv_accua_forms_submission_page_save_excel', 'accua_forms_submission_page_save_excel');
3887 +
3888 +function accua_forms_submission_page_save_excel() {
3889 + if (!current_user_can('manage_options')){
3890 + header("HTTP/1.0 401 Access Denied");
3891 + //header("Status: 401 Access Denied");
3892 + die('You are not authorized to access this page.');
3893 + }
3894 +
3895 + require_once('accua-forms-submissions-page.php');
3896 + $listTable = new Accua_Forms_Submissions_List_Table();
3897 + $listTable->export_xls = true;
3898 + $listTable->prepare_items(true);
3899 + $show_col = explode( ',', $_GET['accua_show_field']);
3900 + $show_col = array_diff($show_col, array('singlesub'));
3901 + header("Content-disposition: attachment; filename=downloads-report.xls");
3902 + header("Content-type: application/vnd.ms-excel");
3903 + accua_forms_submission_page_save_excel_general($listTable,$show_col);
3904 + die('');
3905 +}
3906 +
3907 +
3908 +
3909 +function accua_forms_submission_page_save_excel_general(Accua_Forms_Submissions_List_Table $listTable,array $show_col,array $options=array()) {
3910 + global $wpdb;
3911 +
3912 + $content_type = 'text/html; charset=' . get_option('blog_charset');
3913 +
3914 + //creo il file excel
3915 + ?><html xmlns:o="urn:schemas-microsoft-com:office:office"
3916 + xmlns:x="urn:schemas-microsoft-com:office:excel"
3917 + xmlns="http://www.w3.org/TR/REC-html40">
3918 + <head>
3919 + <meta http-equiv=Content-Type content="<?php echo $content_type; ?>" />
3920 + <meta name=ProgId content=Excel.Sheet />
3921 + <style>
3922 + <!--
3923 + td {vertical-align:top;}
3924 + .head_row {font-weight:bold;}
3925 + .column-date { mso-number-format:"Short Date"; }
3926 + .datetime_cell { mso-number-format:"yyyy\\-mm\\-dd\\ hh\:mm\:ss"; }
3927 + -->
3928 + </style>
3929 + <!--[if gte mso 9]><xml>
3930 + <x:ExcelWorkbook>
3931 + <x:ExcelWorksheets>
3932 + <x:ExcelWorksheet>
3933 + <x:WorksheetOptions>
3934 + <x:FreezePanes/>
3935 + <x:FilterOn/>
3936 + <x:SplitHorizontal>1</x:SplitHorizontal>
3937 + <x:TopRowBottomPane>1</x:TopRowBottomPane>
3938 + <x:ActivePane>2</x:ActivePane>
3939 + <x:Panes>
3940 + <x:Pane>
3941 + <x:Number>3</x:Number>
3942 + </x:Pane>
3943 + <x:Pane>
3944 + <x:Number>2</x:Number>
3945 + </x:Pane>
3946 + </x:Panes>
3947 + </x:WorksheetOptions>
3948 + </x:ExcelWorksheet>
3949 + </x:ExcelWorksheets>
3950 + </x:ExcelWorkbook>
3951 + </xml><![endif]-->
3952 + </head>
3953 + <body>
3954 + <table x:str border=1 >
3955 + <tr class='head-row'>
3956 + <?php
3957 + $cols = $listTable->get_columns();
3958 + foreach($cols as $col_key=>$col_value) {
3959 + if(in_array($col_key, $show_col)) { ?>
3960 + <td x:autofilter="all"><?php echo $col_value; ?></td>
3961 + <?php }
3962 + } ?>
3963 + </tr>
3964 +
3965 + <?php
3966 + $lead_statuses = accua_forms_get_lead_statuses();
3967 +
3968 + foreach($listTable->items as $id_submission=>$single_submission) {
3969 + @ set_time_limit(10);
3970 + echo "<tr>";
3971 + foreach($cols as $col_key=>$col_value) {
3972 + if(in_array($col_key, $show_col)) {
3973 + echo "<td class='.$col_key.'>";
3974 + if ($col_key == 'lead_status') {
3975 + if (isset($lead_statuses[$single_submission['lead_status']])) {
3976 + echo htmlspecialchars($lead_statuses[$single_submission['lead_status']]);
3977 + }
3978 + } else if(isset($single_submission[$col_key])) {
3979 + if ( method_exists( $listTable, 'column_' . $col_key ) ) {
3980 + echo call_user_func( array( &$listTable, 'column_' . $col_key ), $single_submission );
3981 + }
3982 + else {
3983 + echo $listTable->column_default( $single_submission, $col_key );
3984 + }
3985 + }
3986 + echo "</td>";
3987 + }
3988 +
3989 + }
3990 + echo "</tr>";
3991 + }
3992 +
3993 + ?>
3994 + </table>
3995 + </body>
3996 + </html>
3997 + <?php
3998 +}
3999 +
4000 +function accua_forms_print_tokens() {
4001 + $avail_fields = get_option('accua_forms_avail_fields', array());
4002 + $tokens = '';
4003 + foreach($avail_fields as $key=>$value) {
4004 + $tokens .= $value['name'] . ": {" . $key . "}\n";
4005 + switch ($value['type']) {
4006 + case 'file':
4007 + $tokens .= $value['name'] . " (download link): {__download_" . $key . "}\n";
4008 + break;
4009 + case 'multiselect':
4010 + case 'multicheckbox':
4011 + $tokens .= $value['name'] . " (labels): {__label_" . $key . "}\n";
4012 + break;
4013 + case 'select':
4014 + case 'radio':
4015 + $tokens .= $value['name'] . " (label): {__label_" . $key . "}\n";
4016 + break;
4017 + case 'post-multicheckbox':
4018 + $tokens .= $value['name'] . " (posts titles): {__label_" . $key . "}\n";
4019 + $tokens .= $value['name'] . " (posts ids): {__post_id_" . $key . "}\n";
4020 + $tokens .= $value['name'] . " (posts urls): {__post_url_" . $key . "}\n";
4021 + break;
4022 + case 'post-select':
4023 + $tokens .= $value['name'] . " (post title): {__label_" . $key . "}\n";
4024 + $tokens .= $value['name'] . " (post id): {__post_id_" . $key . "}\n";
4025 + $tokens .= $value['name'] . " (post url): {__post_url_" . $key . "}\n";
4026 + break;
4027 + }
4028 + }
4029 +
4030 + echo <<<EOT
4031 +<div class="accua_forms_token_list">
4032 +<h2>Tokens</h2>
4033 +<em>In HTML text, use {!token_name} to insert unfiltered token value</em>
4034 +<h3>Fields</h3>
4035 +<em>These tokens are available only if the field is added to the form</em>
4036 +<pre>$tokens</pre>
4037 +<h3>Generic tokens</h3>
4038 +<pre>{__fid}
4039 +{__subid}
4040 +{__pid}
4041 +{__ip}
4042 +{__anonymized_ip}
4043 +{__uri}
4044 +{__url}
4045 +{__referrer}
4046 +{__lang}
4047 +{__locale}
4048 +{__created}
4049 +{__created_day}
4050 +{__created_day_month_year}
4051 +{__created_hour}
4052 +{__submitted}
4053 +{__submitted_day}
4054 +{__submitted_day_month_year}
4055 +{__submitted_hour}
4056 +{__user_agent}
4057 +{__platform}
4058 +{__tentatives}
4059 +{__submit_method}
4060 +{__submitted_txt}
4061 +{__submitted_html}
4062 +{__submitted_json}
4063 +{__autoreply}
4064 +{__autoreply_email}
4065 +{__confirmation_emails_message}
4066 +{__review_submission_url}</pre>
4067 +</div>
4068 +EOT;
4069 + do_action('accua_forms_print_tokens');
4070 +}
4071 +
4072 +function accua_get_pages($args = '') {
4073 + global $wpdb;
4074 +
4075 + $defaults = array(
4076 + 'child_of' => 0,
4077 + 'sort_order' => 'ASC',
4078 + 'sort_column' => 'post_title',
4079 + 'hierarchical' => 1,
4080 + 'exclude' => array(),
4081 + 'include' => array(),
4082 + 'meta_key' => '',
4083 + 'meta_value' => '',
4084 + 'meta_value_lt' => '',
4085 + 'meta_value_gt' => '',
4086 + 'meta_value_le' => '',
4087 + 'meta_value_ge' => '',
4088 + 'meta_value_like' => '',
4089 + 'meta_value_format' => 'string',
4090 + 'authors' => '',
4091 + 'parent' => -1,
4092 + 'exclude_tree' => '',
4093 + 'number' => '',
4094 + 'offset' => 0,
4095 + 'post_type' => 'page',
4096 + 'post_status' => 'publish',
4097 + );
4098 +
4099 + $r = wp_parse_args( $args, $defaults );
4100 + $child_of = (int) $r['child_of'];
4101 + $sort_order = $r['sort_order'];
4102 + $sort_column = $r['sort_column'];
4103 + $hierarchical = $r['hierarchical'];
4104 + $exclude = $r['exclude'];
4105 + $include = $r['include'];
4106 + $meta_key = $r['meta_key'];
4107 + $meta_value = $r['meta_value'];
4108 + $meta_value_lt = $r['meta_value_lt'];
4109 + $meta_value_gt = $r['meta_value_gt'];
4110 + $meta_value_le = $r['meta_value_le'];
4111 + $meta_value_ge = $r['meta_value_ge'];
4112 + $meta_value_like = $r['meta_value_like'];
4113 + $meta_value_format = $r['meta_value_format'];
4114 + $authors = $r['authors'];
4115 + $parent = $r['parent'];
4116 + $exclude_tree = $r['exclude_tree'];
4117 + $number = (int) $r['number'];
4118 + $offset = (int) $r['offset'];
4119 + $post_type = $r['post_type'];
4120 + $post_status = $r['post_status'];
4121 +
4122 + /*
4123 + // Make sure the post type is hierarchical
4124 + $hierarchical_post_types = get_post_types( array( 'hierarchical' => true ) );
4125 + if ( !in_array( $post_type, $hierarchical_post_types ) )
4126 + return false;
4127 + */
4128 +
4129 + // Make sure we have a valid post type
4130 + if ( !is_array( $post_type ) )
4131 + $post_type = explode( ',', $post_type );
4132 + if ( array_diff( $post_type, get_post_types() ) )
4133 + return false;
4134 +
4135 + // Make sure we have a valid post status
4136 + if ( !is_array( $post_status ) )
4137 + $post_status = explode( ',', $post_status );
4138 + if ( array_diff( $post_status, get_post_stati() ) )
4139 + return false;
4140 +
4141 + /*
4142 + $cache = array();
4143 + $key = md5( serialize( compact(array_keys($defaults)) ) );
4144 + if ( $cache = wp_cache_get( 'get_pages', 'posts' ) ) {
4145 + if ( is_array($cache) && isset( $cache[ $key ] ) ) {
4146 + $pages = apply_filters('get_pages', $cache[ $key ], $r );
4147 + return $pages;
4148 + }
4149 + }
4150 +
4151 + if ( !is_array($cache) )
4152 + $cache = array();
4153 + */
4154 +
4155 + $inclusions = '';
4156 + if ( !empty($include) ) {
4157 + $child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
4158 + $parent = -1;
4159 + $exclude = '';
4160 + $meta_key = '';
4161 + $meta_value = '';
4162 + $meta_value_lt = '';
4163 + $meta_value_gt = '';
4164 + $meta_value_le = '';
4165 + $meta_value_ge = '';
4166 + $meta_value_like = '';
4167 + $hierarchical = false;
4168 + $incpages = wp_parse_id_list( $include );
4169 + if ( ! empty( $incpages ) ) {
4170 + foreach ( $incpages as $incpage ) {
4171 + if (empty($inclusions))
4172 + $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage);
4173 + else
4174 + $inclusions .= $wpdb->prepare(' OR ID = %d ', $incpage);
4175 + }
4176 + }
4177 + }
4178 + if (!empty($inclusions))
4179 + $inclusions .= ')';
4180 +
4181 + $exclusions = '';
4182 + if ( !empty($exclude) ) {
4183 + $expages = wp_parse_id_list( $exclude );
4184 + if ( ! empty( $expages ) ) {
4185 + foreach ( $expages as $expage ) {
4186 + if (empty($exclusions))
4187 + $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage);
4188 + else
4189 + $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage);
4190 + }
4191 + }
4192 + }
4193 + if (!empty($exclusions))
4194 + $exclusions .= ')';
4195 +
4196 + $author_query = '';
4197 + if (!empty($authors)) {
4198 + $post_authors = preg_split('/[\s,]+/',$authors);
4199 +
4200 + if ( ! empty( $post_authors ) ) {
4201 + foreach ( $post_authors as $post_author ) {
4202 + //Do we have an author id or an author login?
4203 + if ( 0 == intval($post_author) ) {
4204 + $post_author = get_user_by('login', $post_author);
4205 + if ( empty($post_author) )
4206 + continue;
4207 + if ( empty($post_author->ID) )
4208 + continue;
4209 + $post_author = $post_author->ID;
4210 + }
4211 +
4212 + if ( '' == $author_query )
4213 + $author_query = $wpdb->prepare(' post_author = %d ', $post_author);
4214 + else
4215 + $author_query .= $wpdb->prepare(' OR post_author = %d ', $post_author);
4216 + }
4217 + if ( '' != $author_query )
4218 + $author_query = " AND ($author_query)";
4219 + }
4220 + }
4221 +
4222 + $allowed_keys = array('author', 'post_author', 'date', 'post_date', 'title', 'post_title', 'name', 'post_name', 'modified',
4223 + 'post_modified', 'modified_gmt', 'post_modified_gmt', 'menu_order', 'parent', 'post_parent',
4224 + 'ID', 'rand', 'comment_count');
4225 +
4226 + $join = '';
4227 + $where = "$exclusions $inclusions ";
4228 + if ( ! ( empty( $meta_key ) && empty( $meta_value )
4229 + && empty( $meta_value_lt ) && empty( $meta_value_gt )
4230 + && empty( $meta_value_le ) && empty( $meta_value_ge )
4231 + && empty( $meta_value_like ) ) ) {
4232 + $join = " LEFT JOIN $wpdb->postmeta ON ( $wpdb->posts.ID = $wpdb->postmeta.post_id )";
4233 + $allowed_keys[] = 'meta_key';
4234 + $allowed_keys[] = 'meta_value';
4235 +
4236 + // meta_key and meta_value might be slashed
4237 + $meta_key = stripslashes($meta_key);
4238 + $meta_value = stripslashes($meta_value);
4239 + $meta_value_lt = stripslashes($meta_value_lt);
4240 + $meta_value_gt = stripslashes($meta_value_gt);
4241 + $meta_value_le = stripslashes($meta_value_le);
4242 + $meta_value_ge = stripslashes($meta_value_ge);
4243 + $meta_value_like = stripslashes($meta_value_like);
4244 +
4245 + if ( ! empty( $meta_key ) ) {
4246 + $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key);
4247 + }
4248 +
4249 + $meta_value_field = "$wpdb->postmeta.meta_value";
4250 + $meta_value_timestamp = false;
4251 + switch($meta_value_format) {
4252 + case 'timestamp':
4253 + $meta_value_field = "TIMESTAMP( $meta_value_field )";
4254 + $meta_value_param = "FROM_UNIXTIME( %s )";
4255 + $meta_value_timestamp = true;
4256 + break;
4257 + case 'int':
4258 + $meta_value_param = "%d";
4259 + break;
4260 + case 'float':
4261 + $meta_value_param = "%f";
4262 + break;
4263 + //case 'string':
4264 + default:
4265 + $meta_value_param = "%s";
4266 + }
4267 +
4268 + if ( ! empty( $meta_value ) ) {
4269 + if ($meta_value_timestamp) {
4270 + $meta_value = strtotime($meta_value);
4271 + }
4272 + $where .= $wpdb->prepare(" AND $meta_value_field = $meta_value_param", $meta_value);
4273 + }
4274 + if ( ! empty( $meta_value_lt ) ) {
4275 + if ($meta_value_timestamp) {
4276 + $meta_value_lt = strtotime($meta_value_lt);
4277 + }
4278 + $where .= $wpdb->prepare(" AND $meta_value_field < $meta_value_param", $meta_value_lt);
4279 + }
4280 + if ( ! empty( $meta_value_gt ) ) {
4281 + if ($meta_value_timestamp) {
4282 + $meta_value_gt = strtotime($meta_value_gt);
4283 + }
4284 + $where .= $wpdb->prepare(" AND $meta_value_field > $meta_value_param", $meta_value_gt);
4285 + }
4286 + if ( ! empty( $meta_value_le ) ) {
4287 + if ($meta_value_timestamp) {
4288 + $meta_value_le = strtotime($meta_value_le);
4289 + }
4290 + $where .= $wpdb->prepare(" AND $meta_value_field <= $meta_value_param", $meta_value_le);
4291 + }
4292 + if ( ! empty( $meta_value_ge ) ) {
4293 + if ($meta_value_timestamp) {
4294 + $meta_value_ge = strtotime($meta_value_ge);
4295 + }
4296 + $where .= $wpdb->prepare(" AND $meta_value_field >= $meta_value_param", $meta_value_ge);
4297 + }
4298 + if ( ! empty( $meta_value_like ) ) {
4299 + if ($meta_value_timestamp) {
4300 + $meta_value_like = strtotime($meta_value_like);
4301 + }
4302 + $where .= $wpdb->prepare(" AND $meta_value_field like $meta_value_param", $meta_value_like);
4303 + }
4304 + }
4305 +
4306 + if ( $parent >= 0 )
4307 + $where .= $wpdb->prepare(' AND post_parent = %d ', $parent);
4308 +
4309 +
4310 + if ( 1 == count ( $post_type ) ) {
4311 + $where_post_type = $wpdb->prepare( "post_type = %s", array_shift( $post_type ) );
4312 + } else {
4313 + $post_type = implode( "', '", $post_type );
4314 + $where_post_type = "post_type IN ('$post_type')";
4315 + }
4316 +
4317 + if ( 1 == count( $post_status ) ) {
4318 + $where_post_type .= $wpdb->prepare( " AND post_status = %s", array_shift( $post_status ) );
4319 + } else {
4320 + $post_status = implode( "', '", $post_status );
4321 + $where_post_type .= " AND post_status IN ('$post_status')";
4322 + }
4323 +
4324 + $orderby_array = array();
4325 + foreach ( explode( ',', $sort_column ) as $orderby ) {
4326 + $orderby = trim( $orderby );
4327 + if ( !in_array( $orderby, $allowed_keys ) )
4328 + continue;
4329 +
4330 + switch ( $orderby ) {
4331 + case 'menu_order':
4332 + break;
4333 + case 'ID':
4334 + $orderby = "$wpdb->posts.ID";
4335 + break;
4336 + case 'rand':
4337 + $orderby = 'RAND()';
4338 + break;
4339 + case 'comment_count':
4340 + $orderby = "$wpdb->posts.comment_count";
4341 + break;
4342 + case 'meta_key':
4343 + case 'meta_value':
4344 + $orderby = "$wpdb->postmeta.$orderby";
4345 + break;
4346 + default:
4347 + if ( 0 === strpos( $orderby, 'post_' ) )
4348 + $orderby = "$wpdb->posts." . $orderby;
4349 + else
4350 + $orderby = "$wpdb->posts.post_" . $orderby;
4351 + }
4352 +
4353 + $orderby_array[] = $orderby;
4354 +
4355 + }
4356 + $sort_column = ! empty( $orderby_array ) ? implode( ',', $orderby_array ) : "$wpdb->posts.post_title";
4357 +
4358 + $sort_order = strtoupper( $sort_order );
4359 + if ( '' !== $sort_order && !in_array( $sort_order, array( 'ASC', 'DESC' ) ) )
4360 + $sort_order = 'ASC';
4361 +
4362 + $query = "SELECT * FROM $wpdb->posts $join WHERE ($where_post_type) $where ";
4363 + $query .= $author_query;
4364 + $query .= " ORDER BY " . $sort_column . " " . $sort_order ;
4365 +
4366 + if ( !empty($number) && !empty($offset) ) {
4367 + $query .= $wpdb->prepare(' LIMIT %d, %d', $offset, $number);
4368 + }
4369 +
4370 + //echo "<!-- accua_forms_query:\n$query\n-->";
4371 +
4372 + $pages = $wpdb->get_results($query);
4373 +
4374 + if ( empty($pages) ) {
4375 + $pages = apply_filters('get_pages', array(), $r);
4376 + return $pages;
4377 + }
4378 +
4379 + // Sanitize before caching so it'll only get done once
4380 + $num_pages = count($pages);
4381 + for ($i = 0; $i < $num_pages; $i++) {
4382 + $pages[$i] = sanitize_post($pages[$i], 'raw');
4383 + }
4384 +
4385 + /*
4386 + // Update cache.
4387 + update_post_cache( $pages );
4388 + */
4389 +
4390 + if ( $child_of || $hierarchical )
4391 + $pages = get_page_children($child_of, $pages);
4392 +
4393 + if ( !empty($exclude_tree) ) {
4394 + $exclude = (int) $exclude_tree;
4395 + $children = get_page_children($exclude, $pages);
4396 + $excludes = array();
4397 + foreach ( $children as $child )
4398 + $excludes[] = $child->ID;
4399 + $excludes[] = $exclude;
4400 + $num_pages = count($pages);
4401 + for ( $i = 0; $i < $num_pages; $i++ ) {
4402 + if ( in_array($pages[$i]->ID, $excludes) )
4403 + unset($pages[$i]);
4404 + }
4405 + }
4406 +
4407 + $pages = apply_filters('get_pages', $pages, $r);
4408 +
4409 + return $pages;
4410 +}
4411 +
4412 +function accua_forms_trash_submission($id_sub){
4413 + global $wpdb;
4414 + return $wpdb->query($wpdb->prepare("UPDATE `{$wpdb->prefix}accua_forms_submissions` SET afs_status = -1 WHERE afs_id = %d", $id_sub)) !== FALSE;
4415 +}
4416 +
4417 +function accua_forms_get_lead_statuses() {
4418 + static $statuses = NULL;
4419 + if ($statuses === NULL) {
4420 + $statuses = array(
4421 + 0 => __('Undefined', 'contact-forms'),
4422 + -1 => __('Spam', 'contact-forms'),
4423 + 1 => __('Job Candidate', 'contact-forms'),
4424 + 2 => __('Lead', 'contact-forms'),
4425 + 3 => __('Prospect', 'contact-forms'),
4426 + 4 => __('Opportunity', 'contact-forms'),
4427 + 5 => __('Customer', 'contact-forms'),
4428 + 6 => __('Supplier', 'contact-forms'),
4429 + 7 => __('Other', 'contact-forms'),
4430 + );
4431 + }
4432 + return $statuses;
4433 +}
4434 +
4435 +function accua_forms_select_lead_status($subid, $original_lead_status) {
4436 + static $accuaHelp = NULL;
4437 + if ($accuaHelp === NULL) {
4438 + if (!class_exists('AccuaFormsHelp')) {
4439 + require_once('accua-forms-help.php');
4440 + }
4441 + $accuaHelp = AccuaFormsHelp::getInstance();
4442 + }
4443 + $nonce = htmlspecialchars(_accua_forms_json_encode(wp_create_nonce( "set_lead_status_$subid" )),ENT_QUOTES);
4444 + $ret = "<select onchange=\"accua_forms_set_lead_status(this, $subid, $nonce, $original_lead_status)\">";
4445 + $statuses = accua_forms_get_lead_statuses();
4446 + foreach ($statuses as $k => $l) {
4447 + $selected = ($k == $original_lead_status) ? ' selected="selected" ' : '';
4448 + $ret .= "<option value=\"$k\"$selected>" . htmlspecialchars($l) . "</option>";
4449 + }
4450 + $ret .= "</select>" . $accuaHelp->add_pointer('contact_forms_lead_statuses') . "<span class='accua-forms-select-lead-status-progress'></span>";
4451 + return $ret;
4452 +}
4453 +
4454 +add_action( 'wp_ajax_accua-forms-set-lead-status' , 'accua_forms_set_lead_status');
4455 +function accua_forms_set_lead_status() {
4456 + if (!current_user_can('manage_options')){
4457 + wp_die(0, 403);
4458 + }
4459 + $post = $_POST + array(
4460 + 'subid' => 0,
4461 + 'lead_status' => 0,
4462 + );
4463 + $subid = (int) $post['subid'];
4464 +
4465 + if ($subid) {
4466 + check_ajax_referer("set_lead_status_$subid", '_nonce_set_lead_status');
4467 + $lead_status = (int) $post['lead_status'];
4468 + $statuses = accua_forms_get_lead_statuses();
4469 + if (isset($statuses[$lead_status])) {
4470 + global $wpdb;
4471 + $ret = $wpdb->update("{$wpdb->prefix}accua_forms_submissions",
4472 + array('afs_lead_status' => $lead_status),
4473 + array('afs_id' => $subid),
4474 + '%d', '%d'
4475 + );
4476 + if ($ret !== FALSE) {
4477 + wp_die(1, 200);
4478 + }
4479 + }
4480 + }
4481 + wp_die(0, 500);
4482 +}