Version Description
- Improved: Email functionality.
- Fixed: Multiple choice and single choice with long labels.
- Fixed: Submissions CSV export with UTF-8 encoding.
- Fixed: Form preview for not embedded forms.
Download this release
Release Info
Developer | webdorado |
Plugin | Contact Form by WD – responsive drag & drop contact form builder tool |
Version | 1.12.16 |
Comparing to | |
See all releases |
Code changes from version 1.12.15 to 1.12.16
- admin/controllers/Checkpaypal.php +13 -9
- admin/controllers/Generete_csv.php +6 -2
- admin/controllers/Manage_fm.php +18 -12
- admin/views/Manage_fm.php +38 -5
- admin/views/Submissions_fm.php +6 -1
- contact-form-maker.php +4 -4
- css/form_maker_frontend.css +1 -0
- css/form_maker_tables.css +7 -0
- featured/admin.css +6 -2
- featured/featured.php +116 -107
- framework/WDW_FM_Library.php +112 -4
- frontend/controllers/form_maker.php +1 -1
- frontend/models/form_maker.php +54 -79
- frontend/views/form_maker.php +24 -4
- js/add_field.js +61 -49
- js/form_maker_form_options.js +2 -2
- js/form_maker_manage_edit.js +11 -5
- js/form_maker_submissions.js +0 -1
- js/formmaker_div.js +9 -8
- js/main_div_front_end.js +21 -16
- readme.txt +201 -248
admin/controllers/Checkpaypal.php
CHANGED
@@ -161,15 +161,19 @@ class FMControllerCheckpaypal {
|
|
161 |
}
|
162 |
// Get form session by group id.
|
163 |
$form_session = $this->model->get_form_session_by_group_id($group_id);
|
164 |
-
// Send mail to payer
|
165 |
-
if (
|
166 |
-
$
|
167 |
-
$
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
|
175 |
return 0;
|
161 |
}
|
162 |
// Get form session by group id.
|
163 |
$form_session = $this->model->get_form_session_by_group_id($group_id);
|
164 |
+
// Send mail to payer.
|
165 |
+
if ( !empty($form_session) ) {
|
166 |
+
$recipient = $form->mail ? $form->mail : '';
|
167 |
+
if ( $recipient ) {
|
168 |
+
$subject = __("Payment information", WDCFM()->prefix);
|
169 |
+
// Get template for payment information.
|
170 |
+
$template_params = array( 'form_session' => $form_session, 'data' => $post );
|
171 |
+
$message = $this->view->payment_information_template($template_params);
|
172 |
+
$header_arr = array();
|
173 |
+
$header_arr['content_type'] = "text/html";
|
174 |
+
$header_arr['charset'] = 'charset=UTF-8';
|
175 |
+
WDW_FMC_Library::mail($recipient, $subject, $message, $header_arr);
|
176 |
+
}
|
177 |
}
|
178 |
|
179 |
return 0;
|
admin/controllers/Generete_csv.php
CHANGED
@@ -60,9 +60,13 @@ class FMControllerGenerete_csv_fmc {
|
|
60 |
$txtfilecontent = fread($txtfile, filesize($tempfile));
|
61 |
fclose($txtfile);
|
62 |
$filename = $title . "_" . date('Ymd') . ".csv";
|
63 |
-
header('Content-Encoding:
|
64 |
-
|
|
|
|
|
65 |
header("Content-Disposition: attachment; filename=\"$filename\"");
|
|
|
|
|
66 |
echo $txtfilecontent;
|
67 |
unlink($tempfile);
|
68 |
}
|
60 |
$txtfilecontent = fread($txtfile, filesize($tempfile));
|
61 |
fclose($txtfile);
|
62 |
$filename = $title . "_" . date('Ymd') . ".csv";
|
63 |
+
header('Content-Encoding: UTF-8');
|
64 |
+
header('content-type: application/csv; charset=UTF-8');
|
65 |
+
// header('Content-Encoding: Windows-1252');
|
66 |
+
// header('Content-type: text/csv; charset=Windows-1252');
|
67 |
header("Content-Disposition: attachment; filename=\"$filename\"");
|
68 |
+
// Set UTF-8 BOM.
|
69 |
+
echo "\xEF\xBB\xBF";
|
70 |
echo $txtfilecontent;
|
71 |
unlink($tempfile);
|
72 |
}
|
admin/controllers/Manage_fm.php
CHANGED
@@ -124,7 +124,7 @@ class FMControllerManage_fmc {
|
|
124 |
|
125 |
$params['actions'] = $this->actions;
|
126 |
$params['page'] = $this->page;
|
127 |
-
|
128 |
|
129 |
$this->view->display($params);
|
130 |
}
|
@@ -312,12 +312,12 @@ class FMControllerManage_fmc {
|
|
312 |
$params['id'] = $backup_id;
|
313 |
$params['row'] = $this->model->get_row_data_new($backup_id);
|
314 |
$params['page_url'] = $this->page_url;
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
$params['stripe_addon'] = $stripe_addon;
|
322 |
|
323 |
$params['themes'] = $this->model->get_theme_rows_data();
|
@@ -377,10 +377,10 @@ class FMControllerManage_fmc {
|
|
377 |
|
378 |
$params = array();
|
379 |
$params['id'] = $id;
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
|
385 |
// Check stripe add-on is active.
|
386 |
$stripe_addon = array( 'enable' => 0 );
|
@@ -646,6 +646,9 @@ function before_reset() {
|
|
646 |
$reply_to = stripslashes(WDW_FMC_Library::get('reply_to_other', ''));
|
647 |
}
|
648 |
$script_mail = WDW_FMC_Library::get('script_mail', '%all%', FALSE);
|
|
|
|
|
|
|
649 |
$mail_from_user = WDW_FMC_Library::get('mail_from_user', '');
|
650 |
$mail_from_name_user = WDW_FMC_Library::get('mail_from_name_user', '');
|
651 |
$reply_to_user = WDW_FMC_Library::get('reply_to_user', '');
|
@@ -661,6 +664,9 @@ function before_reset() {
|
|
661 |
$mail_attachment = WDW_FMC_Library::get('mail_attachment', '');
|
662 |
$mail_attachment_user = WDW_FMC_Library::get('mail_attachment_user', '');
|
663 |
$script_mail_user = WDW_FMC_Library::get('script_mail_user', '%all%', FALSE);
|
|
|
|
|
|
|
664 |
$submit_text = WDW_FMC_Library::get('submit_text', '', FALSE);
|
665 |
$url = WDW_FMC_Library::get('url', '');
|
666 |
$tax = WDW_FMC_Library::get('tax', 0);
|
@@ -752,7 +758,7 @@ function before_reset() {
|
|
752 |
'payment_currency' => $payment_currency,
|
753 |
'paypal_email' => $paypal_email,
|
754 |
'checkout_mode' => $checkout_mode,
|
755 |
-
|
756 |
'javascript' => $javascript,
|
757 |
'user_id_wd' => $user_id_wd,
|
758 |
'send_to' => $send_to,
|
124 |
|
125 |
$params['actions'] = $this->actions;
|
126 |
$params['page'] = $this->page;
|
127 |
+
$params['form_preview_link'] = $this->model->get_form_preview_post();
|
128 |
|
129 |
$this->view->display($params);
|
130 |
}
|
312 |
$params['id'] = $backup_id;
|
313 |
$params['row'] = $this->model->get_row_data_new($backup_id);
|
314 |
$params['page_url'] = $this->page_url;
|
315 |
+
// Check if Stripe add-on is active.
|
316 |
+
$stripe_addon = array('enable' => 0);
|
317 |
+
$addon_stripe = $this->get_stripe_addon(0);
|
318 |
+
if( !empty($addon_stripe['html']) ) {
|
319 |
+
$stripe_addon = $addon_stripe;
|
320 |
+
}
|
321 |
$params['stripe_addon'] = $stripe_addon;
|
322 |
|
323 |
$params['themes'] = $this->model->get_theme_rows_data();
|
377 |
|
378 |
$params = array();
|
379 |
$params['id'] = $id;
|
380 |
+
$params['row'] = $this->model->get_row_data_new($backup_id);
|
381 |
+
if ( empty($params['row']) ) {
|
382 |
+
WDW_FMC_Library::fm_redirect( add_query_arg( array('page' => $this->page, 'task' => 'display'), admin_url('admin.php') ) );
|
383 |
+
}
|
384 |
|
385 |
// Check stripe add-on is active.
|
386 |
$stripe_addon = array( 'enable' => 0 );
|
646 |
$reply_to = stripslashes(WDW_FMC_Library::get('reply_to_other', ''));
|
647 |
}
|
648 |
$script_mail = WDW_FMC_Library::get('script_mail', '%all%', FALSE);
|
649 |
+
if ( $script_mail == '' ) {
|
650 |
+
$script_mail = '%all%';
|
651 |
+
}
|
652 |
$mail_from_user = WDW_FMC_Library::get('mail_from_user', '');
|
653 |
$mail_from_name_user = WDW_FMC_Library::get('mail_from_name_user', '');
|
654 |
$reply_to_user = WDW_FMC_Library::get('reply_to_user', '');
|
664 |
$mail_attachment = WDW_FMC_Library::get('mail_attachment', '');
|
665 |
$mail_attachment_user = WDW_FMC_Library::get('mail_attachment_user', '');
|
666 |
$script_mail_user = WDW_FMC_Library::get('script_mail_user', '%all%', FALSE);
|
667 |
+
if ( $script_mail_user == '' ) {
|
668 |
+
$script_mail_user = '%all%';
|
669 |
+
}
|
670 |
$submit_text = WDW_FMC_Library::get('submit_text', '', FALSE);
|
671 |
$url = WDW_FMC_Library::get('url', '');
|
672 |
$tax = WDW_FMC_Library::get('tax', 0);
|
758 |
'payment_currency' => $payment_currency,
|
759 |
'paypal_email' => $paypal_email,
|
760 |
'checkout_mode' => $checkout_mode,
|
761 |
+
'paypal_mode' => $paypal_mode,
|
762 |
'javascript' => $javascript,
|
763 |
'user_id_wd' => $user_id_wd,
|
764 |
'send_to' => $send_to,
|
admin/views/Manage_fm.php
CHANGED
@@ -228,7 +228,12 @@ class FMViewManage_fmc extends FMAdminView_fmc {
|
|
228 |
wp_enqueue_script('jquery-ui-slider');
|
229 |
wp_enqueue_script('jquery-ui-spinner');
|
230 |
wp_enqueue_script('jquery-ui-datepicker');
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
232 |
wp_enqueue_media();
|
233 |
wp_enqueue_script('google-maps');
|
234 |
wp_enqueue_script('fm-gmap_form');
|
@@ -666,7 +671,12 @@ class FMViewManage_fmc extends FMAdminView_fmc {
|
|
666 |
wp_enqueue_script('jquery-ui-slider');
|
667 |
wp_enqueue_script('jquery-ui-spinner');
|
668 |
wp_enqueue_script('jquery-ui-datepicker');
|
669 |
-
|
|
|
|
|
|
|
|
|
|
|
670 |
wp_enqueue_media();
|
671 |
wp_enqueue_script('google-maps');
|
672 |
wp_enqueue_script('fm-form-options');
|
@@ -922,7 +932,6 @@ $stats_labels = $params['stats_labels'];
|
|
922 |
</div>
|
923 |
</div>
|
924 |
</div>
|
925 |
-
|
926 |
<div id="emailTab_fieldset" class="adminform fm_fieldset_deactive js">
|
927 |
<div class="wd-table">
|
928 |
<div class="wd-table-col wd-table-col-100">
|
@@ -934,13 +943,15 @@ $stats_labels = $params['stats_labels'];
|
|
934 |
<label class="wd-label-radio" for="fm_sendemail-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
935 |
<input type="radio" name="sendemail" <?php echo $row->sendemail == 0 ? 'checked="checked"' : '' ?> id="fm_sendemail-0" class="wd-radio" value="0" onchange="fm_toggle_email_options(false)" />
|
936 |
<label class="wd-label-radio" for="fm_sendemail-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
|
|
937 |
</div>
|
938 |
</div>
|
939 |
</div>
|
940 |
</div>
|
941 |
</div>
|
942 |
<div class="fm-clear"></div>
|
943 |
-
<div class="wd-table meta-box-sortables" id="fm_email_options">
|
944 |
<div class="wd-table-col wd-table-col-50 wd-table-col-left">
|
945 |
<div class="wd-box-section">
|
946 |
<div class="wd-box-title">
|
@@ -966,6 +977,7 @@ $stats_labels = $params['stats_labels'];
|
|
966 |
}
|
967 |
?>
|
968 |
</div>
|
|
|
969 |
</div>
|
970 |
<div class="wd-group">
|
971 |
<label class="wd-label" for="mail_subject"><?php _e('Subject', WDCFM()->prefix); ?></label>
|
@@ -991,6 +1003,7 @@ $stats_labels = $params['stats_labels'];
|
|
991 |
echo "<a onClick=\"insertAtCursor(" . $choise . ",'username'); document.getElementById('mail_from_name_user_labels').style.display='none';\" style=\"display:block; text-decoration:none;\">Username</a>";
|
992 |
echo '</div></div>';
|
993 |
?>
|
|
|
994 |
</div>
|
995 |
<div class="wd-group">
|
996 |
<label class="wd-label" for="script_mail"><?php _e('Custom Text in Email For Administrator', WDCFM()->prefix); ?></label>
|
@@ -1042,6 +1055,7 @@ $stats_labels = $params['stats_labels'];
|
|
1042 |
<?php
|
1043 |
}
|
1044 |
?>
|
|
|
1045 |
</div>
|
1046 |
<div class="postbox closed">
|
1047 |
<button class="button-link handlediv" type="button" aria-expanded="true">
|
@@ -1078,6 +1092,7 @@ $stats_labels = $params['stats_labels'];
|
|
1078 |
<p style="display: <?php echo ($is_other) ? 'block;' : 'none;'; ?>" id="mail_from_other_wrap">
|
1079 |
<input type="text" name="mail_from_other" id="mail_from_other" value="<?php echo ($is_other) ? $row->from_mail : ''; ?>" />
|
1080 |
</p>
|
|
|
1081 |
</div>
|
1082 |
<div class="wd-group">
|
1083 |
<label class="wd-label" for="from_name"><?php _e('From Name', WDCFM()->prefix); ?></label>
|
@@ -1106,6 +1121,7 @@ $stats_labels = $params['stats_labels'];
|
|
1106 |
?>
|
1107 |
</div>
|
1108 |
</div>
|
|
|
1109 |
</div>
|
1110 |
<div class="wd-group">
|
1111 |
<label class="wd-label" for="from_name"><?php _e('Reply to (if different from "Email From")', WDCFM()->prefix); ?></label>
|
@@ -1133,14 +1149,17 @@ $stats_labels = $params['stats_labels'];
|
|
1133 |
<p style="display: <?php echo ($is_other) ? 'block;' : 'none;'; ?>" id="reply_to_other_wrap">
|
1134 |
<input type="text" name="reply_to_other" value="<?php echo ($is_other && $row->reply_to) ? $row->reply_to : ''; ?>" id="reply_to_other" />
|
1135 |
</p>
|
|
|
1136 |
</div>
|
1137 |
<div class="wd-group">
|
1138 |
<label class="wd-label" for="mail_cc"><?php _e('CC', WDCFM()->prefix); ?></label>
|
1139 |
<input type="text" id="mail_cc" name="mail_cc" value="<?php echo $row->mail_cc ?>" />
|
|
|
1140 |
</div>
|
1141 |
<div class="wd-group">
|
1142 |
<label class="wd-label" for="mail_bcc"><?php _e('BCC', WDCFM()->prefix); ?></label>
|
1143 |
<input type="text" id="mail_bcc" name="mail_bcc" value="<?php echo $row->mail_bcc ?>" />
|
|
|
1144 |
</div>
|
1145 |
<div class="wd-group">
|
1146 |
<label class="wd-label"><?php _e('Mode', WDCFM()->prefix); ?></label>
|
@@ -1148,6 +1167,7 @@ $stats_labels = $params['stats_labels'];
|
|
1148 |
<label class="wd-label-radio" for="fm_mo_mail_mode-1"><?php _e('HTML', WDCFM()->prefix); ?></label>
|
1149 |
<input type="radio" name="mail_mode" <?php echo $row->mail_mode == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_mode-0" class="wd-radio" value="0">
|
1150 |
<label class="wd-label-radio" for="fm_mo_mail_mode-0"><?php _e('Text', WDCFM()->prefix); ?></label>
|
|
|
1151 |
</div>
|
1152 |
<div class="wd-group">
|
1153 |
<label class="wd-label"><?php _e('Attach File', WDCFM()->prefix); ?></label>
|
@@ -1155,6 +1175,7 @@ $stats_labels = $params['stats_labels'];
|
|
1155 |
<label class="wd-label-radio" for="fm_mo_mail_attachment-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1156 |
<input type="radio" name="mail_attachment" <?php echo $row->mail_attachment == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_attachment-0" class="wd-radio" value="0">
|
1157 |
<label class="wd-label-radio" for="fm_mo_mail_attachment-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
1158 |
</div>
|
1159 |
<div class="wd-group">
|
1160 |
<label class="wd-label"><?php _e('Email empty fields', WDCFM()->prefix); ?></label>
|
@@ -1162,6 +1183,7 @@ $stats_labels = $params['stats_labels'];
|
|
1162 |
<label class="wd-label-radio" for="fm_mo_mail_emptyfields-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1163 |
<input type="radio" name="mail_emptyfields" <?php echo $row->mail_emptyfields == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_emptyfields-0" class="wd-radio" value="0">
|
1164 |
<label class="wd-label-radio" for="fm_mo_mail_emptyfields-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
1165 |
</div>
|
1166 |
</div>
|
1167 |
</div>
|
@@ -1193,6 +1215,7 @@ $stats_labels = $params['stats_labels'];
|
|
1193 |
}
|
1194 |
}
|
1195 |
?>
|
|
|
1196 |
</div>
|
1197 |
<div class="wd-group">
|
1198 |
<label class="wd-label" for="mail_subject_user"><?php _e('Subject', WDCFM()->prefix); ?></label>
|
@@ -1220,6 +1243,7 @@ $stats_labels = $params['stats_labels'];
|
|
1220 |
?>
|
1221 |
</div>
|
1222 |
</div>
|
|
|
1223 |
</div>
|
1224 |
<div class="wd-group">
|
1225 |
<label class="wd-label" for="script_mail_user"><?php _e('Custom Text in Email For User', WDCFM()->prefix); ?></label>
|
@@ -1272,6 +1296,7 @@ $stats_labels = $params['stats_labels'];
|
|
1272 |
<?php
|
1273 |
}
|
1274 |
?>
|
|
|
1275 |
</div>
|
1276 |
<div class="postbox closed">
|
1277 |
<button class="button-link handlediv" type="button" aria-expanded="true">
|
@@ -1285,6 +1310,7 @@ $stats_labels = $params['stats_labels'];
|
|
1285 |
<div class="wd-group">
|
1286 |
<label class="wd-label" for="mail_from_user"><?php _e('Email From', WDCFM()->prefix); ?></label>
|
1287 |
<input type="text" id="mail_from_user" name="mail_from_user" value="<?php echo $row->mail_from_user; ?>" />
|
|
|
1288 |
</div>
|
1289 |
<div class="wd-group">
|
1290 |
<label class="wd-label" for="mail_from_name_user"><?php _e('From Name', WDCFM()->prefix); ?></label>
|
@@ -1312,18 +1338,22 @@ $stats_labels = $params['stats_labels'];
|
|
1312 |
?>
|
1313 |
</div>
|
1314 |
</div>
|
|
|
1315 |
</div>
|
1316 |
<div class="wd-group">
|
1317 |
<label class="wd-label" for="reply_to_user"><?php _e('Reply to (if different from "Email From")', WDCFM()->prefix); ?></label>
|
1318 |
<input type="text" name="reply_to_user" value="<?php echo $row->reply_to_user; ?>" id="reply_to_user" />
|
|
|
1319 |
</div>
|
1320 |
<div class="wd-group">
|
1321 |
<label class="wd-label" for="mail_cc_user"><?php _e('CC', WDCFM()->prefix); ?></label>
|
1322 |
<input type="text" name="mail_cc_user" value="<?php echo $row->mail_cc_user ?>" id="mail_cc_user" />
|
|
|
1323 |
</div>
|
1324 |
<div class="wd-group">
|
1325 |
<label class="wd-label" for="mail_bcc_user"><?php _e('BCC', WDCFM()->prefix); ?></label>
|
1326 |
<input type="text" name="mail_bcc_user" value="<?php echo $row->mail_bcc_user ?>" id="mail_bcc_user" />
|
|
|
1327 |
</div>
|
1328 |
<div class="wd-group">
|
1329 |
<label class="wd-label"><?php _e('Mode', WDCFM()->prefix); ?></label>
|
@@ -1331,6 +1361,7 @@ $stats_labels = $params['stats_labels'];
|
|
1331 |
<label class="wd-label-radio" for="fm_mo_mail_mode_user-1"><?php _e('HTML', WDCFM()->prefix); ?></label>
|
1332 |
<input type="radio" name="mail_mode_user" <?php echo $row->mail_mode_user == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_mode_user-0" class="wd-radio" value="0">
|
1333 |
<label class="wd-label-radio" for="fm_mo_mail_mode_user-0"><?php _e('Text', WDCFM()->prefix); ?></label>
|
|
|
1334 |
</div>
|
1335 |
<div class="wd-group">
|
1336 |
<label class="wd-label"><?php _e('Attach File', WDCFM()->prefix); ?></label>
|
@@ -1338,6 +1369,7 @@ $stats_labels = $params['stats_labels'];
|
|
1338 |
<label class="wd-label-radio" for="fm_mo_mail_attachment_user-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1339 |
<input type="radio" name="mail_attachment_user" <?php echo $row->mail_attachment_user == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_attachment_user-0" class="wd-radio" value="0">
|
1340 |
<label class="wd-label-radio" for="fm_mo_mail_attachment_user-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
1341 |
</div>
|
1342 |
<div class="wd-group">
|
1343 |
<label class="wd-label"><?php _e('Email verification', WDCFM()->prefix); ?></label>
|
@@ -1345,6 +1377,7 @@ $stats_labels = $params['stats_labels'];
|
|
1345 |
<label class="wd-label-radio" for="fm_mo_mail_verify-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1346 |
<input type="radio" name="mail_verify" <?php echo $row->mail_verify == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_verify-0" onclick="wdhide('expire_link')" class="wd-radio" value="0">
|
1347 |
<label class="wd-label-radio" for="fm_mo_mail_verify-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
1348 |
</div>
|
1349 |
<div class="wd-group" <?php echo($row->mail_verify == 0 ? 'style="display:none;"' : '') ?> id="expire_link">
|
1350 |
<label class="wd-label" for="mail_verify_expiretime"><?php _e('Verification link expires in', WDCFM()->prefix); ?></label>
|
@@ -1354,6 +1387,7 @@ $stats_labels = $params['stats_labels'];
|
|
1354 |
'post' => $params["mail_ver_id"],
|
1355 |
'action' => 'edit',
|
1356 |
), admin_url('post.php')); ?>"><?php _e('Edit post', WDCFM()->prefix); ?></a>
|
|
|
1357 |
</div>
|
1358 |
</div>
|
1359 |
</div>
|
@@ -1362,7 +1396,6 @@ $stats_labels = $params['stats_labels'];
|
|
1362 |
</div>
|
1363 |
</div>
|
1364 |
</div>
|
1365 |
-
|
1366 |
<div id="actions_fieldset" class="adminform fm_fieldset_deactive">
|
1367 |
<div class="wd-table">
|
1368 |
<div class="wd-table-col-70">
|
228 |
wp_enqueue_script('jquery-ui-slider');
|
229 |
wp_enqueue_script('jquery-ui-spinner');
|
230 |
wp_enqueue_script('jquery-ui-datepicker');
|
231 |
+
if ( function_exists('wp_add_inline_script') ) { // Since Wordpress 4.5.0
|
232 |
+
wp_add_inline_script('jquery-ui-datepicker', WDW_FMC_Library::localize_ui_datepicker());
|
233 |
+
}
|
234 |
+
else {
|
235 |
+
echo '<script>' . WDW_FMC_Library::localize_ui_datepicker() . '</script>';
|
236 |
+
}
|
237 |
wp_enqueue_media();
|
238 |
wp_enqueue_script('google-maps');
|
239 |
wp_enqueue_script('fm-gmap_form');
|
671 |
wp_enqueue_script('jquery-ui-slider');
|
672 |
wp_enqueue_script('jquery-ui-spinner');
|
673 |
wp_enqueue_script('jquery-ui-datepicker');
|
674 |
+
if ( function_exists('wp_add_inline_script') ) { // Since Wordpress 4.5.0
|
675 |
+
wp_add_inline_script('jquery-ui-datepicker', WDW_FMC_Library::localize_ui_datepicker());
|
676 |
+
}
|
677 |
+
else {
|
678 |
+
echo '<script>' . WDW_FMC_Library::localize_ui_datepicker() . '</script>';
|
679 |
+
}
|
680 |
wp_enqueue_media();
|
681 |
wp_enqueue_script('google-maps');
|
682 |
wp_enqueue_script('fm-form-options');
|
932 |
</div>
|
933 |
</div>
|
934 |
</div>
|
|
|
935 |
<div id="emailTab_fieldset" class="adminform fm_fieldset_deactive js">
|
936 |
<div class="wd-table">
|
937 |
<div class="wd-table-col wd-table-col-100">
|
943 |
<label class="wd-label-radio" for="fm_sendemail-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
944 |
<input type="radio" name="sendemail" <?php echo $row->sendemail == 0 ? 'checked="checked"' : '' ?> id="fm_sendemail-0" class="wd-radio" value="0" onchange="fm_toggle_email_options(false)" />
|
945 |
<label class="wd-label-radio" for="fm_sendemail-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
946 |
+
<p class="description"><?php _e('Enable this setting to send submitted information to administrators, as well as the submitter.', WDCFM()->prefix); ?></p>
|
947 |
+
<p class="description fm_email_options"><?php _e('In case you cannot find the submission email in your Inbox, make sure to check the Spam folder as well.', WDCFM()->prefix); ?></p>
|
948 |
</div>
|
949 |
</div>
|
950 |
</div>
|
951 |
</div>
|
952 |
</div>
|
953 |
<div class="fm-clear"></div>
|
954 |
+
<div class="wd-table meta-box-sortables fm_email_options" id="fm_email_options">
|
955 |
<div class="wd-table-col wd-table-col-50 wd-table-col-left">
|
956 |
<div class="wd-box-section">
|
957 |
<div class="wd-box-title">
|
977 |
}
|
978 |
?>
|
979 |
</div>
|
980 |
+
<p class="description"><?php _e('Specify all email addresses, to which submitted form information will be sent. If this field is left blank, the submission email will be sent to the address provided in WordPress General Settings.', WDCFM()->prefix); ?></p>
|
981 |
</div>
|
982 |
<div class="wd-group">
|
983 |
<label class="wd-label" for="mail_subject"><?php _e('Subject', WDCFM()->prefix); ?></label>
|
1003 |
echo "<a onClick=\"insertAtCursor(" . $choise . ",'username'); document.getElementById('mail_from_name_user_labels').style.display='none';\" style=\"display:block; text-decoration:none;\">Username</a>";
|
1004 |
echo '</div></div>';
|
1005 |
?>
|
1006 |
+
<p class="description"><?php _e('Add a custom subject for the submission email. Click the Plus (+) button to select a form field, the value of which will be set as the subject. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDCFM()->prefix); ?></p>
|
1007 |
</div>
|
1008 |
<div class="wd-group">
|
1009 |
<label class="wd-label" for="script_mail"><?php _e('Custom Text in Email For Administrator', WDCFM()->prefix); ?></label>
|
1055 |
<?php
|
1056 |
}
|
1057 |
?>
|
1058 |
+
<p class="description"><?php _e('Write custom content to the email message which is sent to administrator. Include All Fields List to forward all submitted information, or click on fields buttons to use individual field values in the content.', WDCFM()->prefix); ?></p>
|
1059 |
</div>
|
1060 |
<div class="postbox closed">
|
1061 |
<button class="button-link handlediv" type="button" aria-expanded="true">
|
1092 |
<p style="display: <?php echo ($is_other) ? 'block;' : 'none;'; ?>" id="mail_from_other_wrap">
|
1093 |
<input type="text" name="mail_from_other" id="mail_from_other" value="<?php echo ($is_other) ? $row->from_mail : ''; ?>" />
|
1094 |
</p>
|
1095 |
+
<p class="description"><?php _e('Specify the email address from which the administrator will receive the email.', WDCFM()->prefix); ?></p>
|
1096 |
</div>
|
1097 |
<div class="wd-group">
|
1098 |
<label class="wd-label" for="from_name"><?php _e('From Name', WDCFM()->prefix); ?></label>
|
1121 |
?>
|
1122 |
</div>
|
1123 |
</div>
|
1124 |
+
<p class="description"><?php _e('Set the name which is shown as the sender’s name in submission or confirmation emails. Press the Plus (+) button to select a field value.', WDCFM()->prefix); ?></p>
|
1125 |
</div>
|
1126 |
<div class="wd-group">
|
1127 |
<label class="wd-label" for="from_name"><?php _e('Reply to (if different from "Email From")', WDCFM()->prefix); ?></label>
|
1149 |
<p style="display: <?php echo ($is_other) ? 'block;' : 'none;'; ?>" id="reply_to_other_wrap">
|
1150 |
<input type="text" name="reply_to_other" value="<?php echo ($is_other && $row->reply_to) ? $row->reply_to : ''; ?>" id="reply_to_other" />
|
1151 |
</p>
|
1152 |
+
<p class="description"><?php _e('Specify an alternative email address, to which the administrator will be able to reply upon receiving the message.', WDCFM()->prefix); ?></p>
|
1153 |
</div>
|
1154 |
<div class="wd-group">
|
1155 |
<label class="wd-label" for="mail_cc"><?php _e('CC', WDCFM()->prefix); ?></label>
|
1156 |
<input type="text" id="mail_cc" name="mail_cc" value="<?php echo $row->mail_cc ?>" />
|
1157 |
+
<p class="description"><?php _e('Provide additional email addresses to send the submission or confirmation email to. The receiver will be able to view all other recipients.', WDCFM()->prefix); ?></p>
|
1158 |
</div>
|
1159 |
<div class="wd-group">
|
1160 |
<label class="wd-label" for="mail_bcc"><?php _e('BCC', WDCFM()->prefix); ?></label>
|
1161 |
<input type="text" id="mail_bcc" name="mail_bcc" value="<?php echo $row->mail_bcc ?>" />
|
1162 |
+
<p class="description"><?php _e('Write additional email addresses to send the submission or confirmation email to. The receiver will not be able to view other recipients.', WDCFM()->prefix); ?></p>
|
1163 |
</div>
|
1164 |
<div class="wd-group">
|
1165 |
<label class="wd-label"><?php _e('Mode', WDCFM()->prefix); ?></label>
|
1167 |
<label class="wd-label-radio" for="fm_mo_mail_mode-1"><?php _e('HTML', WDCFM()->prefix); ?></label>
|
1168 |
<input type="radio" name="mail_mode" <?php echo $row->mail_mode == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_mode-0" class="wd-radio" value="0">
|
1169 |
<label class="wd-label-radio" for="fm_mo_mail_mode-0"><?php _e('Text', WDCFM()->prefix); ?></label>
|
1170 |
+
<p class="description"><?php _e('Select the layout of the submission email, Text or HTML.', WDCFM()->prefix); ?></p>
|
1171 |
</div>
|
1172 |
<div class="wd-group">
|
1173 |
<label class="wd-label"><?php _e('Attach File', WDCFM()->prefix); ?></label>
|
1175 |
<label class="wd-label-radio" for="fm_mo_mail_attachment-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1176 |
<input type="radio" name="mail_attachment" <?php echo $row->mail_attachment == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_attachment-0" class="wd-radio" value="0">
|
1177 |
<label class="wd-label-radio" for="fm_mo_mail_attachment-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
1178 |
+
<p class="description"><?php _e('If you have File Upload fields on your form, enable this setting to attach uploaded files to submission or confirmation email.', WDCFM()->prefix); ?></p>
|
1179 |
</div>
|
1180 |
<div class="wd-group">
|
1181 |
<label class="wd-label"><?php _e('Email empty fields', WDCFM()->prefix); ?></label>
|
1183 |
<label class="wd-label-radio" for="fm_mo_mail_emptyfields-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1184 |
<input type="radio" name="mail_emptyfields" <?php echo $row->mail_emptyfields == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_emptyfields-0" class="wd-radio" value="0">
|
1185 |
<label class="wd-label-radio" for="fm_mo_mail_emptyfields-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
1186 |
+
<p class="description"><?php _e('Disable this setting, in case you do not want to include form fields, which are left empty by the submitter.', WDCFM()->prefix); ?></p>
|
1187 |
</div>
|
1188 |
</div>
|
1189 |
</div>
|
1215 |
}
|
1216 |
}
|
1217 |
?>
|
1218 |
+
<p class="description"><?php _e('Use this setting to select the email field of your form, to which the submissions will be sent.', WDCFM()->prefix); ?></p>
|
1219 |
</div>
|
1220 |
<div class="wd-group">
|
1221 |
<label class="wd-label" for="mail_subject_user"><?php _e('Subject', WDCFM()->prefix); ?></label>
|
1243 |
?>
|
1244 |
</div>
|
1245 |
</div>
|
1246 |
+
<p class="description"><?php _e('Add a custom subject for the submission email. Click the Plus (+) button to select a form field, the value of which will be set as the subject. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDCFM()->prefix); ?></p>
|
1247 |
</div>
|
1248 |
<div class="wd-group">
|
1249 |
<label class="wd-label" for="script_mail_user"><?php _e('Custom Text in Email For User', WDCFM()->prefix); ?></label>
|
1296 |
<?php
|
1297 |
}
|
1298 |
?>
|
1299 |
+
<p class="description"><?php _e('Write custom content to the email message which is sent to submitter. Include All Fields List to forward all submitted information, or click on fields buttons to use individual field values in the content.', WDCFM()->prefix); ?></p>
|
1300 |
</div>
|
1301 |
<div class="postbox closed">
|
1302 |
<button class="button-link handlediv" type="button" aria-expanded="true">
|
1310 |
<div class="wd-group">
|
1311 |
<label class="wd-label" for="mail_from_user"><?php _e('Email From', WDCFM()->prefix); ?></label>
|
1312 |
<input type="text" id="mail_from_user" name="mail_from_user" value="<?php echo $row->mail_from_user; ?>" />
|
1313 |
+
<p class="description"><?php _e('Specify the email address from which the submitter will receive the email.', WDCFM()->prefix); ?></p>
|
1314 |
</div>
|
1315 |
<div class="wd-group">
|
1316 |
<label class="wd-label" for="mail_from_name_user"><?php _e('From Name', WDCFM()->prefix); ?></label>
|
1338 |
?>
|
1339 |
</div>
|
1340 |
</div>
|
1341 |
+
<p class="description"><?php _e('Set the name which is shown as the sender’s name in submission or confirmation emails. Press the Plus (+) button to select a field value.', WDCFM()->prefix); ?></p>
|
1342 |
</div>
|
1343 |
<div class="wd-group">
|
1344 |
<label class="wd-label" for="reply_to_user"><?php _e('Reply to (if different from "Email From")', WDCFM()->prefix); ?></label>
|
1345 |
<input type="text" name="reply_to_user" value="<?php echo $row->reply_to_user; ?>" id="reply_to_user" />
|
1346 |
+
<p class="description"><?php _e('Specify an alternative email address, to which the submitter will be able to reply upon receiving the message.', WDCFM()->prefix); ?></p>
|
1347 |
</div>
|
1348 |
<div class="wd-group">
|
1349 |
<label class="wd-label" for="mail_cc_user"><?php _e('CC', WDCFM()->prefix); ?></label>
|
1350 |
<input type="text" name="mail_cc_user" value="<?php echo $row->mail_cc_user ?>" id="mail_cc_user" />
|
1351 |
+
<p class="description"><?php _e('Provide additional email addresses to send the submission or confirmation email to. The receiver will be able to view all other recipients.', WDCFM()->prefix); ?></p>
|
1352 |
</div>
|
1353 |
<div class="wd-group">
|
1354 |
<label class="wd-label" for="mail_bcc_user"><?php _e('BCC', WDCFM()->prefix); ?></label>
|
1355 |
<input type="text" name="mail_bcc_user" value="<?php echo $row->mail_bcc_user ?>" id="mail_bcc_user" />
|
1356 |
+
<p class="description"><?php _e('Write additional email addresses to send the submission or confirmation email to. The receiver will not be able to view other recipients.', WDCFM()->prefix); ?></p>
|
1357 |
</div>
|
1358 |
<div class="wd-group">
|
1359 |
<label class="wd-label"><?php _e('Mode', WDCFM()->prefix); ?></label>
|
1361 |
<label class="wd-label-radio" for="fm_mo_mail_mode_user-1"><?php _e('HTML', WDCFM()->prefix); ?></label>
|
1362 |
<input type="radio" name="mail_mode_user" <?php echo $row->mail_mode_user == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_mode_user-0" class="wd-radio" value="0">
|
1363 |
<label class="wd-label-radio" for="fm_mo_mail_mode_user-0"><?php _e('Text', WDCFM()->prefix); ?></label>
|
1364 |
+
<p class="description"><?php _e('Select the layout of the submission email, Text or HTML.', WDCFM()->prefix); ?></p>
|
1365 |
</div>
|
1366 |
<div class="wd-group">
|
1367 |
<label class="wd-label"><?php _e('Attach File', WDCFM()->prefix); ?></label>
|
1369 |
<label class="wd-label-radio" for="fm_mo_mail_attachment_user-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1370 |
<input type="radio" name="mail_attachment_user" <?php echo $row->mail_attachment_user == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_attachment_user-0" class="wd-radio" value="0">
|
1371 |
<label class="wd-label-radio" for="fm_mo_mail_attachment_user-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
1372 |
+
<p class="description"><?php _e('If you have File Upload fields on your form, enable this setting to attach uploaded files to submission or confirmation email.', WDCFM()->prefix); ?></p>
|
1373 |
</div>
|
1374 |
<div class="wd-group">
|
1375 |
<label class="wd-label"><?php _e('Email verification', WDCFM()->prefix); ?></label>
|
1377 |
<label class="wd-label-radio" for="fm_mo_mail_verify-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
1378 |
<input type="radio" name="mail_verify" <?php echo $row->mail_verify == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_verify-0" onclick="wdhide('expire_link')" class="wd-radio" value="0">
|
1379 |
<label class="wd-label-radio" for="fm_mo_mail_verify-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
1380 |
+
<p class="description"><?php _e('Activate this option, in case you would like the users to verify their email addresses. If it’s enabled, the user email will contain a verification link.', WDCFM()->prefix); ?></p>
|
1381 |
</div>
|
1382 |
<div class="wd-group" <?php echo($row->mail_verify == 0 ? 'style="display:none;"' : '') ?> id="expire_link">
|
1383 |
<label class="wd-label" for="mail_verify_expiretime"><?php _e('Verification link expires in', WDCFM()->prefix); ?></label>
|
1387 |
'post' => $params["mail_ver_id"],
|
1388 |
'action' => 'edit',
|
1389 |
), admin_url('post.php')); ?>"><?php _e('Edit post', WDCFM()->prefix); ?></a>
|
1390 |
+
<p class="description"><?php _e('Use this option to specify a time period (hours), during which the user will be able to verify their email address.', WDCFM()->prefix); ?></p>
|
1391 |
</div>
|
1392 |
</div>
|
1393 |
</div>
|
1396 |
</div>
|
1397 |
</div>
|
1398 |
</div>
|
|
|
1399 |
<div id="actions_fieldset" class="adminform fm_fieldset_deactive">
|
1400 |
<div class="wd-table">
|
1401 |
<div class="wd-table-col-70">
|
admin/views/Submissions_fm.php
CHANGED
@@ -23,7 +23,12 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
23 |
wp_enqueue_script('jquery-ui-mouse');
|
24 |
wp_enqueue_script('jquery-ui-core');
|
25 |
wp_enqueue_script('jquery-ui-datepicker');
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
wp_enqueue_script('fmc-admin');
|
28 |
wp_enqueue_script('fm-manage');
|
29 |
wp_enqueue_script('fm-submissions');
|
23 |
wp_enqueue_script('jquery-ui-mouse');
|
24 |
wp_enqueue_script('jquery-ui-core');
|
25 |
wp_enqueue_script('jquery-ui-datepicker');
|
26 |
+
if ( function_exists('wp_add_inline_script') ) { // Since Wordpress 4.5.0
|
27 |
+
wp_add_inline_script('jquery-ui-datepicker', WDW_FMC_Library::localize_ui_datepicker());
|
28 |
+
}
|
29 |
+
else {
|
30 |
+
echo '<script>' . WDW_FMC_Library::localize_ui_datepicker() . '</script>';
|
31 |
+
}
|
32 |
wp_enqueue_script('fmc-admin');
|
33 |
wp_enqueue_script('fm-manage');
|
34 |
wp_enqueue_script('fm-submissions');
|
contact-form-maker.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Contact Form Maker
|
4 |
* Plugin URI: https://web-dorado.com/products/form-maker-wordpress.html
|
5 |
* Description: WordPress Contact Form Maker is a simple contact form builder, which allows the user with almost no knowledge of programming to create and edit different type of contact forms.
|
6 |
-
* Version: 1.12.
|
7 |
* Author: WebDorado Form Builder Team
|
8 |
* Author URI: https://web-dorado.com/wordpress-plugins-bundle.html
|
9 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -89,8 +89,8 @@ final class WDCFM {
|
|
89 |
$this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
|
90 |
$this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
|
91 |
$this->main_file = plugin_basename(__FILE__);
|
92 |
-
$this->plugin_version = '1.12.
|
93 |
-
$this->db_version = '2.12.
|
94 |
$this->menu_slug = 'manage_fmc';
|
95 |
$this->prefix = 'form_maker_fmc';
|
96 |
$this->css_prefix = 'fmc_';
|
@@ -1095,7 +1095,7 @@ final class WDCFM {
|
|
1095 |
$add_ons = array(
|
1096 |
'form-maker-export-import' => array('version' => '2.0.7', 'file' => 'fm_exp_imp.php'),
|
1097 |
'form-maker-save-progress' => array('version' => '1.0.1', 'file' => 'fm_save.php'),
|
1098 |
-
'form-maker-conditional-emails' => array('version' => '1.
|
1099 |
'form-maker-pushover' => array('version' => '1.0.1', 'file' => 'fm_pushover.php'),
|
1100 |
'form-maker-mailchimp' => array('version' => '1.0.1', 'file' => 'fm_mailchimp.php'),
|
1101 |
'form-maker-reg' => array('version' => '1.1.0', 'file' => 'fm_reg.php'),
|
3 |
* Plugin Name: Contact Form Maker
|
4 |
* Plugin URI: https://web-dorado.com/products/form-maker-wordpress.html
|
5 |
* Description: WordPress Contact Form Maker is a simple contact form builder, which allows the user with almost no knowledge of programming to create and edit different type of contact forms.
|
6 |
+
* Version: 1.12.16
|
7 |
* Author: WebDorado Form Builder Team
|
8 |
* Author URI: https://web-dorado.com/wordpress-plugins-bundle.html
|
9 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
89 |
$this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
|
90 |
$this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
|
91 |
$this->main_file = plugin_basename(__FILE__);
|
92 |
+
$this->plugin_version = '1.12.16';
|
93 |
+
$this->db_version = '2.12.16';
|
94 |
$this->menu_slug = 'manage_fmc';
|
95 |
$this->prefix = 'form_maker_fmc';
|
96 |
$this->css_prefix = 'fmc_';
|
1095 |
$add_ons = array(
|
1096 |
'form-maker-export-import' => array('version' => '2.0.7', 'file' => 'fm_exp_imp.php'),
|
1097 |
'form-maker-save-progress' => array('version' => '1.0.1', 'file' => 'fm_save.php'),
|
1098 |
+
'form-maker-conditional-emails' => array('version' => '1.1.2', 'file' => 'fm_conditional_emails.php'),
|
1099 |
'form-maker-pushover' => array('version' => '1.0.1', 'file' => 'fm_pushover.php'),
|
1100 |
'form-maker-mailchimp' => array('version' => '1.0.1', 'file' => 'fm_mailchimp.php'),
|
1101 |
'form-maker-reg' => array('version' => '1.1.0', 'file' => 'fm_reg.php'),
|
css/form_maker_frontend.css
CHANGED
@@ -977,6 +977,7 @@ input[type=number].wd-type-number {
|
|
977 |
.fm-form .wd-choice label {
|
978 |
cursor: pointer;
|
979 |
margin: 0 5px;
|
|
|
980 |
}
|
981 |
|
982 |
.fm-form div[type='type_date_new'] .wdform-element-section,
|
977 |
.fm-form .wd-choice label {
|
978 |
cursor: pointer;
|
979 |
margin: 0 5px;
|
980 |
+
word-break: break-all;
|
981 |
}
|
982 |
|
983 |
.fm-form div[type='type_date_new'] .wdform-element-section,
|
css/form_maker_tables.css
CHANGED
@@ -2452,4 +2452,11 @@ button:focus {
|
|
2452 |
}
|
2453 |
.fm-page-header .wp-heading-inline {
|
2454 |
display: inline-block;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2455 |
}
|
2452 |
}
|
2453 |
.fm-page-header .wp-heading-inline {
|
2454 |
display: inline-block;
|
2455 |
+
}
|
2456 |
+
|
2457 |
+
.ch-rad-label {
|
2458 |
+
width: calc(100% - 50px);
|
2459 |
+
word-break: break-all;
|
2460 |
+
display: -webkit-inline-box;
|
2461 |
+
min-width:100px;
|
2462 |
}
|
featured/admin.css
CHANGED
@@ -583,6 +583,7 @@ span.fm_error{
|
|
583 |
box-sizing: border-box;
|
584 |
-webkit-box-sizing: border-box;
|
585 |
-moz-box-sizing: border-box;
|
|
|
586 |
}
|
587 |
#fm-settings-content .fm-addon-price{
|
588 |
background: #FFFFFF;
|
@@ -595,6 +596,7 @@ span.fm_error{
|
|
595 |
color: #DDECF1;
|
596 |
}
|
597 |
#fm-settings-content .fm-add-on:hover .fm-addon,
|
|
|
598 |
#fm-settings-content .fm-addon:hover{
|
599 |
background: #23282D url(../images/Add_Ons_hover.jpg) no-repeat 6px center;
|
600 |
color: #DDDEDE;
|
@@ -646,13 +648,15 @@ span.fm_error{
|
|
646 |
-moz-transition: -moz-transform 0.4s;
|
647 |
transition: transform 0.4s;
|
648 |
}
|
649 |
-
#fm-settings-content .fm-figure:hover img
|
|
|
650 |
-webkit-transform: translateX(25%);
|
651 |
-moz-transform: translateX(25%);
|
652 |
-ms-transform: translateX(25%);
|
653 |
transform: translateX(25%);
|
654 |
}
|
655 |
-
#fm-settings-content .fm-figure:hover figcaption
|
|
|
656 |
opacity: 1;
|
657 |
-webkit-transform: rotateY(0deg);
|
658 |
-moz-transform: rotateY(0deg);
|
583 |
box-sizing: border-box;
|
584 |
-webkit-box-sizing: border-box;
|
585 |
-moz-box-sizing: border-box;
|
586 |
+
text-transform: uppercase;
|
587 |
}
|
588 |
#fm-settings-content .fm-addon-price{
|
589 |
background: #FFFFFF;
|
596 |
color: #DDECF1;
|
597 |
}
|
598 |
#fm-settings-content .fm-add-on:hover .fm-addon,
|
599 |
+
#fm-settings-content .fm-addon.activated,
|
600 |
#fm-settings-content .fm-addon:hover{
|
601 |
background: #23282D url(../images/Add_Ons_hover.jpg) no-repeat 6px center;
|
602 |
color: #DDDEDE;
|
648 |
-moz-transition: -moz-transform 0.4s;
|
649 |
transition: transform 0.4s;
|
650 |
}
|
651 |
+
#fm-settings-content .fm-figure:hover img,
|
652 |
+
#fm-settings-content .fm-figure.activated img {
|
653 |
-webkit-transform: translateX(25%);
|
654 |
-moz-transform: translateX(25%);
|
655 |
-ms-transform: translateX(25%);
|
656 |
transform: translateX(25%);
|
657 |
}
|
658 |
+
#fm-settings-content .fm-figure:hover figcaption,
|
659 |
+
#fm-settings-content .fm-figure.activated figcaption {
|
660 |
opacity: 1;
|
661 |
-webkit-transform: rotateY(0deg);
|
662 |
-moz-transform: rotateY(0deg);
|
featured/featured.php
CHANGED
@@ -2,97 +2,106 @@
|
|
2 |
function fm_extensions_page($current_plugin = '') {
|
3 |
wp_enqueue_style('fm-featured');
|
4 |
wp_enqueue_style('fm-featured-admin');
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
),
|
21 |
-
'
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
'
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
'
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
'
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
'
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
'
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
),
|
77 |
-
'
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
'
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
)
|
92 |
-
)
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
?>
|
97 |
<div class="wrap">
|
98 |
<?php settings_errors(); ?>
|
@@ -101,16 +110,16 @@ function fm_extensions_page($current_plugin = '') {
|
|
101 |
<h2 id="add_on_title"><?php echo esc_html(get_admin_page_title()); ?></h2>
|
102 |
<?php
|
103 |
if($addons){
|
104 |
-
foreach ($addons as $name
|
105 |
-
?>
|
106 |
-
|
107 |
-
<!-- <div style="clear: both; margin-top: 15px;"> <h3 class="fm-addon-subtitle"><?php echo $name?> </h3></div> -->
|
108 |
-
<?php
|
109 |
foreach ( $cat as $addon ) {
|
|
|
|
|
|
|
|
|
110 |
?>
|
111 |
<div class="fm-add-on">
|
112 |
<h2><?php echo $addon['name'] ?></h2>
|
113 |
-
<figure class="fm-figure">
|
114 |
<div class="fm-figure-img">
|
115 |
<a href="<?php echo $addon['url'] ?>" target="_blank">
|
116 |
<?php if ( $addon['image'] ) { ?>
|
@@ -118,23 +127,25 @@ function fm_extensions_page($current_plugin = '') {
|
|
118 |
<?php } ?>
|
119 |
</a>
|
120 |
</div>
|
121 |
-
|
122 |
<figcaption class="fm-addon-descr fm-figcaption">
|
123 |
-
|
124 |
<?php if ( $addon['icon'] ) { ?>
|
125 |
<img src="<?php echo $addon['icon'] ?>"/>
|
126 |
<?php } ?>
|
127 |
<?php echo $addon['description'] ?>
|
128 |
</figcaption>
|
129 |
</figure>
|
130 |
-
<?php
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
|
|
|
|
|
|
|
|
|
|
135 |
<div class="fm_coming_soon">
|
136 |
-
<img
|
137 |
-
src="<?php echo plugins_url( '../../assets/coming_soon.png', __FILE__ ); ?>"/>
|
138 |
</div>
|
139 |
<?php } ?>
|
140 |
</div>
|
@@ -143,12 +154,10 @@ function fm_extensions_page($current_plugin = '') {
|
|
143 |
}
|
144 |
}
|
145 |
?>
|
146 |
-
|
147 |
</div>
|
148 |
<!-- #fm-settings-content -->
|
149 |
</div>
|
150 |
<!-- #fm-settings -->
|
151 |
</div><!-- .wrap -->
|
152 |
-
|
153 |
<?php
|
154 |
}
|
2 |
function fm_extensions_page($current_plugin = '') {
|
3 |
wp_enqueue_style('fm-featured');
|
4 |
wp_enqueue_style('fm-featured-admin');
|
5 |
+
$addons = array(
|
6 |
+
'Form Maker Add-ons' => array(
|
7 |
+
'imp_exp' => array(
|
8 |
+
'name' => 'Import/Export',
|
9 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/export-import.html',
|
10 |
+
'description' => 'Form Maker Export/Import WordPress plugin allows exporting and importing forms with/without submissions.',
|
11 |
+
'icon' => '',
|
12 |
+
'image' => plugins_url( '../assets/import_export.png', __FILE__ ),
|
13 |
+
'file_dir' => 'form-maker-export-import/fm_exp_imp.php'
|
14 |
+
),
|
15 |
+
'mailchimp' => array(
|
16 |
+
'name' => 'MailChimp',
|
17 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/mailchimp.html',
|
18 |
+
'description' => 'This add-on is an integration of the Form Maker with MailChimp which allows to add contacts to your subscription lists just from submitted forms.',
|
19 |
+
'icon' => '',
|
20 |
+
'image' => plugins_url( '../assets/mailchimp.png', __FILE__ ),
|
21 |
+
'file_dir' => 'form-maker-mailchimp/fm_mailchimp.php'
|
22 |
+
),
|
23 |
+
'reg' => array(
|
24 |
+
'name' => 'Registration',
|
25 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/registration.html',
|
26 |
+
'description' => 'User Registration add-on integrates with Form maker forms allowing users to create accounts at your website.',
|
27 |
+
'icon' => '',
|
28 |
+
'image' => plugins_url( '../assets/reg.png', __FILE__ ),
|
29 |
+
'file_dir' => 'form-maker-reg/fm_reg.php'
|
30 |
+
),
|
31 |
+
'post_generation' => array(
|
32 |
+
'name' => 'Post Generation',
|
33 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/post-generation.html',
|
34 |
+
'description' => 'Post Generation add-on allows creating a post, page or custom post based on the submitted data.',
|
35 |
+
'icon' => '',
|
36 |
+
'image' => plugins_url( '../assets/post-generation-update.png', __FILE__ ),
|
37 |
+
'file_dir' => 'form-maker-post-generation/fm_post_generation.php'
|
38 |
+
),
|
39 |
+
'conditional_emails' => array(
|
40 |
+
'name' => 'Conditional Emails',
|
41 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/conditional-emails.html',
|
42 |
+
'description' => 'Conditional Emails add-on allows to send emails to different recipients depending on the submitted data .',
|
43 |
+
'icon' => '',
|
44 |
+
'image' => plugins_url( '../assets/conditional-emails-update.png', __FILE__ ),
|
45 |
+
'file_dir' => 'form-maker-conditional-emails/fm_conditional_emails.php'
|
46 |
+
),
|
47 |
+
'dropbox_integration' => array(
|
48 |
+
'name' => 'Dropbox Integration',
|
49 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/dropbox.html',
|
50 |
+
'description' => 'The Form Maker Dropbox Integration addon is extending the Form Maker capabilities allowing to store the form attachments straight to your Dropbox account.',
|
51 |
+
'icon' => '',
|
52 |
+
'image' => plugins_url( '../assets/dropbox-integration-update.png', __FILE__ ),
|
53 |
+
'file_dir' => 'form-maker-dropbox-integration/fm_dropbox_integration.php'
|
54 |
+
),
|
55 |
+
'gdrive_integration' => array(
|
56 |
+
'name' => 'Google Drive Integration',
|
57 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/google-drive.html',
|
58 |
+
'description' => 'The Google Drive Integration add-on integrates Form Maker with Google Drive and allows you to send the file uploads to the Google Drive',
|
59 |
+
'icon' => '',
|
60 |
+
'image' => plugins_url( '../assets/google_drive_integration.png', __FILE__ ),
|
61 |
+
'file_dir' => 'form-maker-gdrive-integration/fm_gdrive_integration.php'
|
62 |
+
),
|
63 |
+
'pdf_integration' => array(
|
64 |
+
'name' => 'PDF Integration',
|
65 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/pdf.html',
|
66 |
+
'description' => 'The Form Maker PDF Integration add-on allows sending submitted forms in PDF format.',
|
67 |
+
'icon' => '',
|
68 |
+
'image' => plugins_url( '../assets/pdf-integration.png', __FILE__ ),
|
69 |
+
'file_dir' => 'form-maker-pdf-integration/fm_pdf_integration.php'
|
70 |
+
),
|
71 |
+
'pushover' => array(
|
72 |
+
'name' => 'Pushover',
|
73 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/pushover.html',
|
74 |
+
'description' => 'Form Maker Pushover integration allows to receive real-time notifications when a user submits a new form. This means messages can be pushed to Android and Apple devices, as well as desktop notification board.',
|
75 |
+
'icon' => '',
|
76 |
+
'image' => plugins_url( '../assets/pushover.png', __FILE__ ),
|
77 |
+
'file_dir' => 'form-maker-pushover/fm_pushover.php'
|
78 |
+
),
|
79 |
+
'form-maker-save-progress' => array(
|
80 |
+
'name' => 'Save Progress',
|
81 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/save-progress.html',
|
82 |
+
'description' => 'The add-on allows to save filled in forms as draft and continue editing them subsequently.',
|
83 |
+
'icon' => '',
|
84 |
+
'image' => plugins_url( '../assets/save-progress.png', __FILE__ ),
|
85 |
+
'file_dir' => 'form-maker-save-progress/fm_save.php'
|
86 |
+
),
|
87 |
+
'stripe' => array(
|
88 |
+
'name' => 'Stripe',
|
89 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/stripe.html',
|
90 |
+
'description' => 'Form Maker Stripe Integration Add-on allows to accept direct payments made by Credit Cards. Users will remain on your website during the entire process.',
|
91 |
+
'icon' => '',
|
92 |
+
'image' => plugins_url( '../assets/stripe-integration-update.png', __FILE__ ),
|
93 |
+
'file_dir' => 'form-maker-stripe/fm_stripe.php'
|
94 |
+
),
|
95 |
+
'calculator' => array(
|
96 |
+
'name' => 'Calculator',
|
97 |
+
'url' => 'https://web-dorado.com/products/wordpress-form/add-ons/calculator.html',
|
98 |
+
'description' => 'The Form Maker Calculator add-on allows creating forms with dynamically calculated fields.',
|
99 |
+
'icon' => '',
|
100 |
+
'image' => plugins_url( '../assets/calculator.png', __FILE__ ),
|
101 |
+
'file_dir' => 'form-maker-calculator/fm_calculator.php'
|
102 |
)
|
103 |
+
)
|
104 |
+
);
|
|
|
|
|
105 |
?>
|
106 |
<div class="wrap">
|
107 |
<?php settings_errors(); ?>
|
110 |
<h2 id="add_on_title"><?php echo esc_html(get_admin_page_title()); ?></h2>
|
111 |
<?php
|
112 |
if($addons){
|
113 |
+
foreach ($addons as $name => $cat) {
|
|
|
|
|
|
|
|
|
114 |
foreach ( $cat as $addon ) {
|
115 |
+
$activated = '';
|
116 |
+
if ( is_plugin_active( $addon['file_dir'] ) ) {
|
117 |
+
$activated = 'activated';
|
118 |
+
}
|
119 |
?>
|
120 |
<div class="fm-add-on">
|
121 |
<h2><?php echo $addon['name'] ?></h2>
|
122 |
+
<figure class="fm-figure <?php echo $activated; ?>">
|
123 |
<div class="fm-figure-img">
|
124 |
<a href="<?php echo $addon['url'] ?>" target="_blank">
|
125 |
<?php if ( $addon['image'] ) { ?>
|
127 |
<?php } ?>
|
128 |
</a>
|
129 |
</div>
|
|
|
130 |
<figcaption class="fm-addon-descr fm-figcaption">
|
|
|
131 |
<?php if ( $addon['icon'] ) { ?>
|
132 |
<img src="<?php echo $addon['icon'] ?>"/>
|
133 |
<?php } ?>
|
134 |
<?php echo $addon['description'] ?>
|
135 |
</figcaption>
|
136 |
</figure>
|
137 |
+
<?php
|
138 |
+
if ( $addon['url'] !== '#' ) {
|
139 |
+
if ( !empty($activated) ) {
|
140 |
+
?>
|
141 |
+
<span class="fm-addon activated"><span><?php _e('Add on activated', WDCFM()->prefix); ?></span></span>
|
142 |
+
<?php }
|
143 |
+
else { ?>
|
144 |
+
<a href="<?php echo $addon['url'] ?>" target="_blank" class="fm-addon"><span><?php _e('Get this add on', WDCFM()->prefix); ?></span></a>
|
145 |
+
<?php }
|
146 |
+
} else { ?>
|
147 |
<div class="fm_coming_soon">
|
148 |
+
<img src="<?php echo plugins_url( '../../assets/coming_soon.png', __FILE__ ); ?>"/>
|
|
|
149 |
</div>
|
150 |
<?php } ?>
|
151 |
</div>
|
154 |
}
|
155 |
}
|
156 |
?>
|
|
|
157 |
</div>
|
158 |
<!-- #fm-settings-content -->
|
159 |
</div>
|
160 |
<!-- #fm-settings -->
|
161 |
</div><!-- .wrap -->
|
|
|
162 |
<?php
|
163 |
}
|
framework/WDW_FM_Library.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
|
3 |
class WDW_FMC_Library {
|
|
|
|
|
4 |
/**
|
5 |
* Get request value.
|
6 |
*
|
@@ -3335,7 +3337,8 @@ class WDW_FMC_Library {
|
|
3335 |
$onload_js .= '
|
3336 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '")[0].spin = null;
|
3337 |
spinner = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner();
|
3338 |
-
' .
|
|
|
3339 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ max: "' . $param['w_field_max_value'] . '"});
|
3340 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: "' . $param['w_field_step'] . '"});';
|
3341 |
if ( $required ) {
|
@@ -3429,10 +3432,10 @@ class WDW_FMC_Library {
|
|
3429 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '0")[0].spin = null;
|
3430 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '1")[0].spin = null;
|
3431 |
spinner0 = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '0").spinner();
|
3432 |
-
' .
|
3433 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: ' . $param['w_field_range_step'] . '});
|
3434 |
spinner1 = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '1").spinner();
|
3435 |
-
' .
|
3436 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: ' . $param['w_field_range_step'] . '});';
|
3437 |
if ( $required ) {
|
3438 |
array_push($req_fields, $id1);
|
@@ -3540,7 +3543,7 @@ class WDW_FMC_Library {
|
|
3540 |
}
|
3541 |
$onsubmit_js .= '
|
3542 |
var disabled_fields = "";
|
3543 |
-
jQuery("div[wdid]").each(function() {
|
3544 |
if(jQuery(this).css("display") == "none") {
|
3545 |
disabled_fields += jQuery(this).attr("wdid");
|
3546 |
disabled_fields += ",";
|
@@ -3600,6 +3603,7 @@ class WDW_FMC_Library {
|
|
3600 |
});
|
3601 |
<?php
|
3602 |
$js_content = ob_get_clean();
|
|
|
3603 |
fwrite($jsfile, $js_content);
|
3604 |
fclose($jsfile);
|
3605 |
clearstatcache();
|
@@ -4263,6 +4267,110 @@ class WDW_FMC_Library {
|
|
4263 |
</body>
|
4264 |
</html>';
|
4265 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4266 |
}
|
4267 |
|
4268 |
/*
|
1 |
<?php
|
2 |
|
3 |
class WDW_FMC_Library {
|
4 |
+
|
5 |
+
public static $fm_js_content;
|
6 |
/**
|
7 |
* Get request value.
|
8 |
*
|
3337 |
$onload_js .= '
|
3338 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '")[0].spin = null;
|
3339 |
spinner = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner();
|
3340 |
+
if ("' . $param['w_field_value'] . '" == "null") { spinner.spinner("value", ""); }
|
3341 |
+
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ min: "' . $param['w_field_min_value'] . '"});
|
3342 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ max: "' . $param['w_field_max_value'] . '"});
|
3343 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: "' . $param['w_field_step'] . '"});';
|
3344 |
if ( $required ) {
|
3432 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '0")[0].spin = null;
|
3433 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '1")[0].spin = null;
|
3434 |
spinner0 = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '0").spinner();
|
3435 |
+
if ("' . $param['w_field_value1'] . '" == "null") { spinner0.spinner("value", ""); }
|
3436 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: ' . $param['w_field_range_step'] . '});
|
3437 |
spinner1 = jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '1").spinner();
|
3438 |
+
if ("' . $param['w_field_value2'] . '" == "null") { spinner1.spinner("value", ""); }
|
3439 |
jQuery("#form' . $form_id . ' #wdform_' . $id1 . '_element' . $form_id . '").spinner({ step: ' . $param['w_field_range_step'] . '});';
|
3440 |
if ( $required ) {
|
3441 |
array_push($req_fields, $id1);
|
3543 |
}
|
3544 |
$onsubmit_js .= '
|
3545 |
var disabled_fields = "";
|
3546 |
+
jQuery("#form' . $form_id . ' div[wdid]").each(function() {
|
3547 |
if(jQuery(this).css("display") == "none") {
|
3548 |
disabled_fields += jQuery(this).attr("wdid");
|
3549 |
disabled_fields += ",";
|
3603 |
});
|
3604 |
<?php
|
3605 |
$js_content = ob_get_clean();
|
3606 |
+
WDW_FMC_Library::$fm_js_content = $js_content;
|
3607 |
fwrite($jsfile, $js_content);
|
3608 |
fclose($jsfile);
|
3609 |
clearstatcache();
|
4267 |
</body>
|
4268 |
</html>';
|
4269 |
}
|
4270 |
+
|
4271 |
+
/**
|
4272 |
+
* Sanitize parameters and send email.
|
4273 |
+
*
|
4274 |
+
* @param string $recipient
|
4275 |
+
* @param string $subject
|
4276 |
+
* @param string $message
|
4277 |
+
* @param array $header_arr
|
4278 |
+
* @param array $attachment
|
4279 |
+
*
|
4280 |
+
* @return bool
|
4281 |
+
*/
|
4282 |
+
public static function mail($recipient, $subject, $message = '', $header_arr = array(), $attachment = array()) {
|
4283 |
+
$recipient = trim($recipient, ',');
|
4284 |
+
$recipient = explode(',', $recipient);
|
4285 |
+
$recipient = array_map('trim', $recipient);
|
4286 |
+
if ( empty($recipient) ) {
|
4287 |
+
return FALSE;
|
4288 |
+
}
|
4289 |
+
|
4290 |
+
$subject = html_entity_decode($subject, ENT_QUOTES);
|
4291 |
+
$subject = stripslashes($subject);
|
4292 |
+
|
4293 |
+
$message = stripslashes($message);
|
4294 |
+
|
4295 |
+
$headers = array();
|
4296 |
+
|
4297 |
+
if ( isset($header_arr['from']) && $header_arr['from'] ) {
|
4298 |
+
$from = $header_arr['from'];
|
4299 |
+
$from = trim($from);
|
4300 |
+
$from = trim($from, ',');
|
4301 |
+
// $from_str = "From: ";
|
4302 |
+
if ( isset($header_arr['from_name']) && $header_arr['from_name'] ) {
|
4303 |
+
$from_name = $header_arr['from_name'];
|
4304 |
+
$from_name = html_entity_decode($from_name, ENT_QUOTES);
|
4305 |
+
$from_name = stripslashes($from_name);
|
4306 |
+
// $from_str .= "'" . $from_name . "' ";
|
4307 |
+
self::$email_from_name = $from_name;
|
4308 |
+
add_filter('wp_mail_from_name', array('WDW_FMC_Library', 'mail_from_name'));
|
4309 |
+
}
|
4310 |
+
// $from_str .= "<" . $from . ">";
|
4311 |
+
// $headers[] = $from_str;
|
4312 |
+
self::$email_from = $from;
|
4313 |
+
add_filter('wp_mail_from', array('WDW_FMC_Library', 'mail_from'));
|
4314 |
+
}
|
4315 |
+
|
4316 |
+
if ( isset($header_arr['content_type']) && $header_arr['content_type'] ) {
|
4317 |
+
// $headers[] = "Content-Type: " . $header_arr['content_type'];
|
4318 |
+
self::$email_content_type = $header_arr['content_type'];
|
4319 |
+
add_filter('wp_mail_content_type', array('WDW_FMC_Library', 'mail_content_type'));
|
4320 |
+
}
|
4321 |
+
|
4322 |
+
if ( isset($header_arr['charset']) && $header_arr['charset'] ) {
|
4323 |
+
// $headers[] = $header_arr['charset'];
|
4324 |
+
self::$email_charset = $header_arr['charset'];
|
4325 |
+
add_filter('wp_mail_charset', array('WDW_FMC_Library', 'mail_charset'));
|
4326 |
+
}
|
4327 |
+
|
4328 |
+
if ( isset($header_arr['reply_to']) && $header_arr['reply_to'] ) {
|
4329 |
+
$reply_to = $header_arr['reply_to'];
|
4330 |
+
$reply_to = trim($reply_to);
|
4331 |
+
$reply_to = trim($reply_to, ',');
|
4332 |
+
$headers[] = "Reply-To: <" . $reply_to . ">";
|
4333 |
+
}
|
4334 |
+
|
4335 |
+
if ( isset($header_arr['cc']) && $header_arr['cc'] ) {
|
4336 |
+
$cc = $header_arr['cc'];
|
4337 |
+
$cc = trim($cc);
|
4338 |
+
$cc = trim($cc, ',');
|
4339 |
+
$headers[] = "Cc: " . $cc;
|
4340 |
+
}
|
4341 |
+
|
4342 |
+
if ( isset($header_arr['bcc']) && $header_arr['bcc'] ) {
|
4343 |
+
$bcc = $header_arr['bcc'];
|
4344 |
+
$bcc = trim($bcc);
|
4345 |
+
$bcc = trim($bcc, ',');
|
4346 |
+
$headers[] = "Bcc: " . $bcc;
|
4347 |
+
}
|
4348 |
+
|
4349 |
+
$sent = wp_mail($recipient, $subject, $message, $headers, $attachment);
|
4350 |
+
|
4351 |
+
remove_filter('wp_mail_content_type', array('WDW_FMC_Library', 'mail_content_type'));
|
4352 |
+
remove_filter('wp_mail_charset', array('WDW_FMC_Library', 'mail_charset'));
|
4353 |
+
remove_filter('wp_mail_from', array('WDW_FMC_Library', 'mail_from'));
|
4354 |
+
remove_filter('wp_mail_from_name', array('WDW_FMC_Library', 'mail_from_name'));
|
4355 |
+
|
4356 |
+
return $sent;
|
4357 |
+
}
|
4358 |
+
public static $email_content_type;
|
4359 |
+
public static $email_charset;
|
4360 |
+
public static $email_from;
|
4361 |
+
public static $email_from_name;
|
4362 |
+
public static function mail_content_type() {
|
4363 |
+
return self::$email_content_type;
|
4364 |
+
}
|
4365 |
+
public static function mail_charset() {
|
4366 |
+
return self::$email_charset;
|
4367 |
+
}
|
4368 |
+
public static function mail_from() {
|
4369 |
+
return self::$email_from;
|
4370 |
+
}
|
4371 |
+
public static function mail_from_name() {
|
4372 |
+
return self::$email_from_name;
|
4373 |
+
}
|
4374 |
}
|
4375 |
|
4376 |
/*
|
frontend/controllers/form_maker.php
CHANGED
@@ -14,7 +14,7 @@ class FMControllerForm_maker_fmc {
|
|
14 |
public function __construct() {
|
15 |
$queried_obj = get_queried_object();
|
16 |
// check is custom post type in review page.
|
17 |
-
if ($queried_obj && isset($queried_obj->post_type) && $queried_obj->post_type == 'form-
|
18 |
$this->form_preview = true;
|
19 |
}
|
20 |
|
14 |
public function __construct() {
|
15 |
$queried_obj = get_queried_object();
|
16 |
// check is custom post type in review page.
|
17 |
+
if ($queried_obj && isset($queried_obj->post_type) && $queried_obj->post_type == 'form-maker_fmc' && $queried_obj->post_name == 'preview') {
|
18 |
$this->form_preview = true;
|
19 |
}
|
20 |
|
frontend/models/form_maker.php
CHANGED
@@ -4,6 +4,8 @@
|
|
4 |
* Class FMModelForm_maker_fmc
|
5 |
*/
|
6 |
class FMModelForm_maker_fmc {
|
|
|
|
|
7 |
/**
|
8 |
* @param $id
|
9 |
* @param string $type
|
@@ -56,8 +58,19 @@ class FMModelForm_maker_fmc {
|
|
56 |
$wp_upload_dir = wp_upload_dir();
|
57 |
$frontend_dir ='/form-maker-frontend/';
|
58 |
$fm_style = $wp_upload_dir['baseurl'] . $frontend_dir . 'css/fm-style-' . $theme_id . '.css';
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
$label_id = array();
|
62 |
$label_type = array();
|
63 |
$label_all = explode('#****#', $row->label_order);
|
@@ -702,6 +715,7 @@ class FMModelForm_maker_fmc {
|
|
702 |
( !empty($form_theme['SCPBGColor']) ? 'background-color:' . $form_theme['SCPBGColor'] . ';' : '').
|
703 |
( !empty($form_theme['SCPBoxShadow']) ? 'box-shadow:' . $form_theme['SCPBoxShadow'] . ';' : '').
|
704 |
( (isset($form_theme['SCPBorderRadius']) && $form_theme['SCPBorderRadius'] !== '') ? 'border-radius:' . $form_theme['SCPBorderRadius'] . 'px;' : '').
|
|
|
705 |
'}';
|
706 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .radio-div input[type="radio"]:checked + label span:after {'.
|
707 |
( !empty($form_theme['SCCPWidth']) ? 'content:""; display: block;' : '').
|
@@ -735,6 +749,7 @@ class FMModelForm_maker_fmc {
|
|
735 |
( !empty($form_theme['MCPBGColor']) ? 'background-color:' . $form_theme['MCPBGColor'] . ';' : '').
|
736 |
( !empty($form_theme['MCPBoxShadow']) ? 'box-shadow:' . $form_theme['MCPBoxShadow'] . ';' : '').
|
737 |
( (isset($form_theme['MCPBorderRadius']) && $form_theme['MCPBorderRadius'] !== '') ? 'border-radius:' . $form_theme['MCPBorderRadius'] . 'px;' : '').
|
|
|
738 |
'}';
|
739 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .checkbox-div input[type="checkbox"]:checked + label span:after {'.
|
740 |
( (!empty($form_theme['MCCPBackground']) || !empty($form_theme['MCCPBGColor'])) ? 'content:""; display: block;' : '').
|
@@ -1059,6 +1074,7 @@ class FMModelForm_maker_fmc {
|
|
1059 |
$theme = preg_replace($pattern, ' ', $theme);
|
1060 |
$css_content .= str_replace('[SITE_ROOT]', WDCFM()->plugin_url, $theme);
|
1061 |
}
|
|
|
1062 |
file_put_contents($frontend_css, $css_content);
|
1063 |
}
|
1064 |
|
@@ -1998,6 +2014,7 @@ class FMModelForm_maker_fmc {
|
|
1998 |
"***grading***",
|
1999 |
"***br***",
|
2000 |
), array( " ", "", " ", " ", " ", ", " ), addslashes($value));
|
|
|
2001 |
if( $type == 'type_checkbox' ) {
|
2002 |
$fvals['{' . $i . '}'] = rtrim( $fvals['{' . $i . '}'], ', ' );
|
2003 |
}
|
@@ -2395,7 +2412,6 @@ class FMModelForm_maker_fmc {
|
|
2395 |
}
|
2396 |
}
|
2397 |
$ip = $_SERVER['REMOTE_ADDR'];
|
2398 |
-
$replyto = '';
|
2399 |
global $wpdb;
|
2400 |
$row = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "formmaker WHERE id=%d", $id));
|
2401 |
if ( !$row->form_front ) {
|
@@ -2989,9 +3005,6 @@ class FMModelForm_maker_fmc {
|
|
2989 |
else {
|
2990 |
$subject = $row->title;
|
2991 |
}
|
2992 |
-
if ( $row->reply_to_user ) {
|
2993 |
-
$replyto = $row->reply_to_user;
|
2994 |
-
}
|
2995 |
$attachment_user = array();
|
2996 |
if ( !WDCFM()->is_demo ) {
|
2997 |
for ( $k = 0; $k < count($all_files); $k++ ) {
|
@@ -3043,30 +3056,19 @@ class FMModelForm_maker_fmc {
|
|
3043 |
$subject = str_replace("%" . $label_each . "%", $new_value, $subject);
|
3044 |
}
|
3045 |
}
|
3046 |
-
|
3047 |
-
$
|
3048 |
-
|
3049 |
if ( $row->mail_from_user != '' ) {
|
3050 |
-
|
3051 |
-
|
3052 |
-
|
3053 |
-
|
3054 |
-
|
3055 |
-
|
3056 |
-
|
3057 |
-
|
3058 |
-
|
3059 |
-
}
|
3060 |
-
$headers = $from . " Content-Type: " . $content_type . "; charset=\"" . get_option('blog_charset') . "\"\n";
|
3061 |
-
if ( $replyto ) {
|
3062 |
-
$headers .= "Reply-To: <" . $replyto . ">\r\n";
|
3063 |
-
}
|
3064 |
-
if ( $cca ) {
|
3065 |
-
$headers .= "Cc: " . $cca . "\r\n";
|
3066 |
-
}
|
3067 |
-
if ( $bcc ) {
|
3068 |
-
$headers .= "Bcc: " . $bcc . "\r\n";
|
3069 |
-
}
|
3070 |
$custom_fields_value = array( $ip, $useremail, $username, $subid, $list_user );
|
3071 |
foreach ( $custom_fields as $key => $custom_field ) {
|
3072 |
if ( strpos($new_script, "%" . $custom_field . "%") > -1 ) {
|
@@ -3100,20 +3102,22 @@ class FMModelForm_maker_fmc {
|
|
3100 |
$mail_verification_post_id = (int) $wpdb->get_var($wpdb->prepare('SELECT mail_verification_post_id FROM ' . $wpdb->prefix . 'formmaker WHERE id="%d"', $id));
|
3101 |
$verification_link = get_post($mail_verification_post_id);
|
3102 |
foreach ( $send_tos as $index => $send_to ) {
|
3103 |
-
$
|
3104 |
if ( strpos($new_script, "%Verification link%") > -1 && $verification_link !== NULL ) {
|
3105 |
$ver_link = $row->mail_mode_user ? "<a href =" . add_query_arg(array(
|
3106 |
'gid' => $_SESSION['gid'],
|
3107 |
-
'h' => $_SESSION['hash'][$index] . '@' .
|
3108 |
), get_post_permalink($mail_verification_post_id)) . ">" . add_query_arg(array(
|
3109 |
'gid' => $_SESSION['gid'],
|
3110 |
-
'h' => $_SESSION['hash'][$index] . '@' .
|
3111 |
), get_post_permalink($mail_verification_post_id)) . "</a><br/>" : add_query_arg(array(
|
3112 |
'gid' => $_SESSION['gid'],
|
3113 |
-
'h' => $_SESSION['hash'][$index] . '@' .
|
3114 |
), get_post_permalink($mail_verification_post_id));
|
3115 |
$body = $row->mail_verify ? str_replace("%Verification link%", $ver_link, $new_script) : str_replace("%Verification link%", '', $new_script);
|
3116 |
}
|
|
|
|
|
3117 |
if ( $recipient ) {
|
3118 |
if ( $row->mail_attachment_user ) {
|
3119 |
$remove_parrent_array_user = new RecursiveIteratorIterator(new RecursiveArrayIterator($attachment_user));
|
@@ -3122,7 +3126,7 @@ class FMModelForm_maker_fmc {
|
|
3122 |
else {
|
3123 |
$attachment_user = array();
|
3124 |
}
|
3125 |
-
|
3126 |
}
|
3127 |
}
|
3128 |
}
|
@@ -3130,19 +3134,10 @@ class FMModelForm_maker_fmc {
|
|
3130 |
}
|
3131 |
|
3132 |
if ( $row->sendemail ) {
|
3133 |
-
|
3134 |
-
|
3135 |
-
|
3136 |
-
|
3137 |
-
}
|
3138 |
-
}
|
3139 |
-
$recipient = $row->mail;
|
3140 |
-
if ( $row->mail_subject ) {
|
3141 |
-
$subject = $row->mail_subject;
|
3142 |
-
}
|
3143 |
-
else {
|
3144 |
-
$subject = $row->title;
|
3145 |
-
}
|
3146 |
$fromname = $row->from_name;
|
3147 |
$attachment = array();
|
3148 |
if ( !WDCFM()->is_demo ) {
|
@@ -3172,6 +3167,7 @@ class FMModelForm_maker_fmc {
|
|
3172 |
$list = wordwrap($list, 1000, "\n", TRUE);
|
3173 |
$new_script = str_replace(array( '<p>', '</p>' ), '', $row->script_mail);
|
3174 |
}
|
|
|
3175 |
foreach ( $label_order_original as $key => $label_each ) {
|
3176 |
$type = $label_type[$key];
|
3177 |
$key1 = $type == 'type_hidden' ? $label_each : $key;
|
@@ -3203,32 +3199,14 @@ class FMModelForm_maker_fmc {
|
|
3203 |
}
|
3204 |
}
|
3205 |
if ( $row->from_mail ) {
|
3206 |
-
$from = isset($_POST['wdform_' . $row->from_mail . "_element" . $id]) ? $_POST['wdform_' . $row->from_mail . "_element" . $id] :
|
3207 |
-
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
-
|
3213 |
-
|
3214 |
-
$from = "From: '' <" . $from . ">" . "\r\n";
|
3215 |
-
}
|
3216 |
-
}
|
3217 |
-
else {
|
3218 |
-
$from = "";
|
3219 |
-
}
|
3220 |
-
$cca = $row->mail_cc;
|
3221 |
-
$bcc = $row->mail_bcc;
|
3222 |
-
$headers = $from . " Content-Type: " . $content_type . "; charset=\"" . get_option('blog_charset') . "\"\n";
|
3223 |
-
if ( $replyto ) {
|
3224 |
-
$headers .= "Reply-To: <" . $replyto . ">\r\n";
|
3225 |
-
}
|
3226 |
-
if ( $cca ) {
|
3227 |
-
$headers .= "Cc: " . $cca . "\r\n";
|
3228 |
-
}
|
3229 |
-
if ( $bcc ) {
|
3230 |
-
$headers .= "Bcc: " . $bcc . "\r\n";
|
3231 |
-
}
|
3232 |
$custom_fields_value = array( $ip, $useremail, $username, $subid, $list );
|
3233 |
foreach ( $custom_fields as $key => $custom_field ) {
|
3234 |
if ( strpos($new_script, "%" . $custom_field . "%") > -1 ) {
|
@@ -3251,20 +3229,17 @@ class FMModelForm_maker_fmc {
|
|
3251 |
else {
|
3252 |
$attachment = array();
|
3253 |
}
|
3254 |
-
|
3255 |
-
|
3256 |
-
}
|
3257 |
}
|
3258 |
$_SESSION['error_or_no' . $id] = 0;
|
3259 |
$msg = addslashes(__('Your form was successfully submitted.', WDCFM()->prefix));
|
3260 |
-
$succes = 1;
|
3261 |
if ( $row->sendemail ) {
|
3262 |
if ( $row->mail || $row->send_to ) {
|
3263 |
if ( $send ) {
|
3264 |
if ( $send !== TRUE ) {
|
3265 |
$_SESSION['error_or_no' . $id] = 1;
|
3266 |
$msg = addslashes(__('Error, email was not sent.', WDCFM()->prefix));
|
3267 |
-
$succes = 0;
|
3268 |
}
|
3269 |
else {
|
3270 |
$_SESSION['error_or_no' . $id] = 0;
|
@@ -3279,7 +3254,7 @@ class FMModelForm_maker_fmc {
|
|
3279 |
'admin_body' => $admin_body,
|
3280 |
'body' => $body,
|
3281 |
'subject' => $subject,
|
3282 |
-
'headers' => $
|
3283 |
'attachment' => $attachment,
|
3284 |
'attachment_user' => $attachment_user,
|
3285 |
) : array();
|
4 |
* Class FMModelForm_maker_fmc
|
5 |
*/
|
6 |
class FMModelForm_maker_fmc {
|
7 |
+
|
8 |
+
public $fm_css_content;
|
9 |
/**
|
10 |
* @param $id
|
11 |
* @param string $type
|
58 |
$wp_upload_dir = wp_upload_dir();
|
59 |
$frontend_dir ='/form-maker-frontend/';
|
60 |
$fm_style = $wp_upload_dir['baseurl'] . $frontend_dir . 'css/fm-style-' . $theme_id . '.css';
|
61 |
+
$fm_style_dir = $wp_upload_dir['basedir'] . $frontend_dir . 'css/fm-style-' . $theme_id . '.css';
|
62 |
+
|
63 |
+
if( !file_exists( $fm_style_dir ) ) {
|
64 |
+
if( function_exists('wp_add_inline_style') ) {
|
65 |
+
wp_add_inline_style( 'fm-frontend', $this->fm_css_content );
|
66 |
+
} else {
|
67 |
+
echo '<style>'.$this->fm_css_content.'</style>';
|
68 |
+
}
|
69 |
+
} else {
|
70 |
+
wp_register_style('fm-style-' . $theme_id, $fm_style, array(), $cssver);
|
71 |
+
wp_enqueue_style('fm-style-' . $theme_id);
|
72 |
+
}
|
73 |
+
|
74 |
$label_id = array();
|
75 |
$label_type = array();
|
76 |
$label_all = explode('#****#', $row->label_order);
|
715 |
( !empty($form_theme['SCPBGColor']) ? 'background-color:' . $form_theme['SCPBGColor'] . ';' : '').
|
716 |
( !empty($form_theme['SCPBoxShadow']) ? 'box-shadow:' . $form_theme['SCPBoxShadow'] . ';' : '').
|
717 |
( (isset($form_theme['SCPBorderRadius']) && $form_theme['SCPBorderRadius'] !== '') ? 'border-radius:' . $form_theme['SCPBorderRadius'] . 'px;' : '').
|
718 |
+
( !empty($form_theme['SCPWidth']) ? 'min-width:' . $form_theme['SCPWidth'] . 'px;' : '').
|
719 |
'}';
|
720 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .radio-div input[type="radio"]:checked + label span:after {'.
|
721 |
( !empty($form_theme['SCCPWidth']) ? 'content:""; display: block;' : '').
|
749 |
( !empty($form_theme['MCPBGColor']) ? 'background-color:' . $form_theme['MCPBGColor'] . ';' : '').
|
750 |
( !empty($form_theme['MCPBoxShadow']) ? 'box-shadow:' . $form_theme['MCPBoxShadow'] . ';' : '').
|
751 |
( (isset($form_theme['MCPBorderRadius']) && $form_theme['MCPBorderRadius'] !== '') ? 'border-radius:' . $form_theme['MCPBorderRadius'] . 'px;' : '').
|
752 |
+
( !empty($form_theme['MCPWidth']) ? 'min-width:' . $form_theme['MCPWidth'] . 'px;' : '').
|
753 |
'}';
|
754 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .checkbox-div input[type="checkbox"]:checked + label span:after {'.
|
755 |
( (!empty($form_theme['MCCPBackground']) || !empty($form_theme['MCCPBGColor'])) ? 'content:""; display: block;' : '').
|
1074 |
$theme = preg_replace($pattern, ' ', $theme);
|
1075 |
$css_content .= str_replace('[SITE_ROOT]', WDCFM()->plugin_url, $theme);
|
1076 |
}
|
1077 |
+
$this->fm_css_content = $css_content;
|
1078 |
file_put_contents($frontend_css, $css_content);
|
1079 |
}
|
1080 |
|
2014 |
"***grading***",
|
2015 |
"***br***",
|
2016 |
), array( " ", "", " ", " ", " ", ", " ), addslashes($value));
|
2017 |
+
|
2018 |
if( $type == 'type_checkbox' ) {
|
2019 |
$fvals['{' . $i . '}'] = rtrim( $fvals['{' . $i . '}'], ', ' );
|
2020 |
}
|
2412 |
}
|
2413 |
}
|
2414 |
$ip = $_SERVER['REMOTE_ADDR'];
|
|
|
2415 |
global $wpdb;
|
2416 |
$row = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "formmaker WHERE id=%d", $id));
|
2417 |
if ( !$row->form_front ) {
|
3005 |
else {
|
3006 |
$subject = $row->title;
|
3007 |
}
|
|
|
|
|
|
|
3008 |
$attachment_user = array();
|
3009 |
if ( !WDCFM()->is_demo ) {
|
3010 |
for ( $k = 0; $k < count($all_files); $k++ ) {
|
3056 |
$subject = str_replace("%" . $label_each . "%", $new_value, $subject);
|
3057 |
}
|
3058 |
}
|
3059 |
+
|
3060 |
+
$header_arr = array();
|
3061 |
+
|
3062 |
if ( $row->mail_from_user != '' ) {
|
3063 |
+
$header_arr['from'] = $row->mail_from_user;
|
3064 |
+
$header_arr['from_name'] = $fromname;
|
3065 |
+
}
|
3066 |
+
$header_arr['content_type'] = $content_type;
|
3067 |
+
$header_arr['charset'] = 'charset=UTF-8';
|
3068 |
+
$header_arr['reply_to'] = $row->reply_to_user;
|
3069 |
+
$header_arr['cc'] = $row->mail_cc_user;
|
3070 |
+
$header_arr['bcc'] = $row->mail_bcc_user;
|
3071 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3072 |
$custom_fields_value = array( $ip, $useremail, $username, $subid, $list_user );
|
3073 |
foreach ( $custom_fields as $key => $custom_field ) {
|
3074 |
if ( strpos($new_script, "%" . $custom_field . "%") > -1 ) {
|
3102 |
$mail_verification_post_id = (int) $wpdb->get_var($wpdb->prepare('SELECT mail_verification_post_id FROM ' . $wpdb->prefix . 'formmaker WHERE id="%d"', $id));
|
3103 |
$verification_link = get_post($mail_verification_post_id);
|
3104 |
foreach ( $send_tos as $index => $send_to ) {
|
3105 |
+
$send_to = str_replace('*', '', $send_to);
|
3106 |
if ( strpos($new_script, "%Verification link%") > -1 && $verification_link !== NULL ) {
|
3107 |
$ver_link = $row->mail_mode_user ? "<a href =" . add_query_arg(array(
|
3108 |
'gid' => $_SESSION['gid'],
|
3109 |
+
'h' => $_SESSION['hash'][$index] . '@' . $send_to,
|
3110 |
), get_post_permalink($mail_verification_post_id)) . ">" . add_query_arg(array(
|
3111 |
'gid' => $_SESSION['gid'],
|
3112 |
+
'h' => $_SESSION['hash'][$index] . '@' . $send_to,
|
3113 |
), get_post_permalink($mail_verification_post_id)) . "</a><br/>" : add_query_arg(array(
|
3114 |
'gid' => $_SESSION['gid'],
|
3115 |
+
'h' => $_SESSION['hash'][$index] . '@' . $send_to,
|
3116 |
), get_post_permalink($mail_verification_post_id));
|
3117 |
$body = $row->mail_verify ? str_replace("%Verification link%", $ver_link, $new_script) : str_replace("%Verification link%", '', $new_script);
|
3118 |
}
|
3119 |
+
|
3120 |
+
$recipient = isset($_POST['wdform_' . str_replace('*', '', $send_to) . "_element" . $id]) ? $_POST['wdform_' . $send_to . "_element" . $id] : NULL;
|
3121 |
if ( $recipient ) {
|
3122 |
if ( $row->mail_attachment_user ) {
|
3123 |
$remove_parrent_array_user = new RecursiveIteratorIterator(new RecursiveArrayIterator($attachment_user));
|
3126 |
else {
|
3127 |
$attachment_user = array();
|
3128 |
}
|
3129 |
+
WDW_FMC_Library::mail($recipient, $subject, $body, $header_arr, $attachment_user);
|
3130 |
}
|
3131 |
}
|
3132 |
}
|
3134 |
}
|
3135 |
|
3136 |
if ( $row->sendemail ) {
|
3137 |
+
$recipient = $row->mail ? $row->mail : '';
|
3138 |
+
|
3139 |
+
$subject = $row->mail_subject ? $row->mail_subject : $row->title;
|
3140 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3141 |
$fromname = $row->from_name;
|
3142 |
$attachment = array();
|
3143 |
if ( !WDCFM()->is_demo ) {
|
3167 |
$list = wordwrap($list, 1000, "\n", TRUE);
|
3168 |
$new_script = str_replace(array( '<p>', '</p>' ), '', $row->script_mail);
|
3169 |
}
|
3170 |
+
$header_arr = array();
|
3171 |
foreach ( $label_order_original as $key => $label_each ) {
|
3172 |
$type = $label_type[$key];
|
3173 |
$key1 = $type == 'type_hidden' ? $label_each : $key;
|
3199 |
}
|
3200 |
}
|
3201 |
if ( $row->from_mail ) {
|
3202 |
+
$header_arr['from'] = isset($_POST['wdform_' . $row->from_mail . "_element" . $id]) ? $_POST['wdform_' . $row->from_mail . "_element" . $id] : $row->from_mail;
|
3203 |
+
$header_arr['from_name'] = $fromname;
|
3204 |
+
}
|
3205 |
+
$header_arr['content_type'] = $content_type;
|
3206 |
+
$header_arr['charset'] = 'charset=UTF-8';
|
3207 |
+
$header_arr['reply_to'] = isset($_POST['wdform_' . $row->reply_to . "_element" . $id]) ? $_POST['wdform_' . $row->reply_to . "_element" . $id] : $row->reply_to;
|
3208 |
+
$header_arr['cc'] = $row->mail_cc;
|
3209 |
+
$header_arr['bcc'] = $row->mail_bcc;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3210 |
$custom_fields_value = array( $ip, $useremail, $username, $subid, $list );
|
3211 |
foreach ( $custom_fields as $key => $custom_field ) {
|
3212 |
if ( strpos($new_script, "%" . $custom_field . "%") > -1 ) {
|
3229 |
else {
|
3230 |
$attachment = array();
|
3231 |
}
|
3232 |
+
|
3233 |
+
$send = WDW_FMC_Library::mail($recipient, $subject, $admin_body, $header_arr, $attachment);
|
|
|
3234 |
}
|
3235 |
$_SESSION['error_or_no' . $id] = 0;
|
3236 |
$msg = addslashes(__('Your form was successfully submitted.', WDCFM()->prefix));
|
|
|
3237 |
if ( $row->sendemail ) {
|
3238 |
if ( $row->mail || $row->send_to ) {
|
3239 |
if ( $send ) {
|
3240 |
if ( $send !== TRUE ) {
|
3241 |
$_SESSION['error_or_no' . $id] = 1;
|
3242 |
$msg = addslashes(__('Error, email was not sent.', WDCFM()->prefix));
|
|
|
3243 |
}
|
3244 |
else {
|
3245 |
$_SESSION['error_or_no' . $id] = 0;
|
3254 |
'admin_body' => $admin_body,
|
3255 |
'body' => $body,
|
3256 |
'subject' => $subject,
|
3257 |
+
'headers' => $header_arr,
|
3258 |
'attachment' => $attachment,
|
3259 |
'attachment_user' => $attachment_user,
|
3260 |
) : array();
|
frontend/views/form_maker.php
CHANGED
@@ -1099,7 +1099,12 @@ class FMViewForm_maker_fmc {
|
|
1099 |
}
|
1100 |
case 'type_date': { //Todo: Depricated.
|
1101 |
wp_enqueue_script('jquery-ui-datepicker');
|
1102 |
-
|
|
|
|
|
|
|
|
|
|
|
1103 |
|
1104 |
$params_names = array(
|
1105 |
'w_field_label_size',
|
@@ -1672,10 +1677,20 @@ class FMViewForm_maker_fmc {
|
|
1672 |
$form_maker_front_end .= '</form>';
|
1673 |
$jsversion = $row->jsversion ? $row->jsversion : 1;
|
1674 |
$wp_upload_dir = wp_upload_dir();
|
|
|
|
|
1675 |
|
1676 |
WDW_FMC_Library::create_js($form_id);
|
1677 |
-
|
1678 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1679 |
|
1680 |
$_GET['addon_view'] = 'frontend';
|
1681 |
$_GET['form_id'] = $form_id;
|
@@ -1917,7 +1932,12 @@ class FMViewForm_maker_fmc {
|
|
1917 |
if ( $onload_js ) {
|
1918 |
$onload_js = 'jQuery(document).ready(function () {' . $onload_js . '})';
|
1919 |
}
|
1920 |
-
|
|
|
|
|
|
|
|
|
|
|
1921 |
|
1922 |
return WDW_FMC_Library::fm_container($form->theme, $fm_form);
|
1923 |
}
|
1099 |
}
|
1100 |
case 'type_date': { //Todo: Depricated.
|
1101 |
wp_enqueue_script('jquery-ui-datepicker');
|
1102 |
+
if ( function_exists('wp_add_inline_script') ) { // Since Wordpress 4.5.0
|
1103 |
+
wp_add_inline_script('jquery-ui-datepicker', WDW_FMC_Library::localize_ui_datepicker());
|
1104 |
+
}
|
1105 |
+
else {
|
1106 |
+
echo '<script>' . WDW_FMC_Library::localize_ui_datepicker() . '</script>';
|
1107 |
+
}
|
1108 |
|
1109 |
$params_names = array(
|
1110 |
'w_field_label_size',
|
1677 |
$form_maker_front_end .= '</form>';
|
1678 |
$jsversion = $row->jsversion ? $row->jsversion : 1;
|
1679 |
$wp_upload_dir = wp_upload_dir();
|
1680 |
+
$fm_script = $wp_upload_dir['baseurl'] . '/form-maker-frontend/js/fm-script-' . $form_id . '.js';
|
1681 |
+
$fm_script_dir = $wp_upload_dir['basedir'] . '/form-maker-frontend/js/fm-script-' . $form_id . '.js';
|
1682 |
|
1683 |
WDW_FMC_Library::create_js($form_id);
|
1684 |
+
if ( !file_exists($fm_script_dir) ) {
|
1685 |
+
if ( function_exists('wp_add_inline_script') ) {
|
1686 |
+
wp_add_inline_script('fm-frontend', WDW_FMC_Library::$fm_js_content);
|
1687 |
+
} else {
|
1688 |
+
echo '<script>' . WDW_FMC_Library::$fm_js_content . '</script>';
|
1689 |
+
}
|
1690 |
+
} else {
|
1691 |
+
wp_register_script('fm-script-' . $form_id, $fm_script, array(), $jsversion);
|
1692 |
+
wp_enqueue_script('fm-script-' . $form_id);
|
1693 |
+
}
|
1694 |
|
1695 |
$_GET['addon_view'] = 'frontend';
|
1696 |
$_GET['form_id'] = $form_id;
|
1932 |
if ( $onload_js ) {
|
1933 |
$onload_js = 'jQuery(document).ready(function () {' . $onload_js . '})';
|
1934 |
}
|
1935 |
+
if ( function_exists('wp_add_inline_script') ) { // Since Wordpress 4.5.0
|
1936 |
+
wp_add_inline_script('fm-script-' . $id, $onload_js);
|
1937 |
+
}
|
1938 |
+
else {
|
1939 |
+
echo '<script>' . $onload_js . '</script>';
|
1940 |
+
}
|
1941 |
|
1942 |
return WDW_FMC_Library::fm_container($form->theme, $fm_form);
|
1943 |
}
|
js/add_field.js
CHANGED
@@ -942,7 +942,7 @@ function edit(id) {
|
|
942 |
w_field_range_step = document.getElementById(id + "_range_stepform_id_temp").value;
|
943 |
w_field_value1 = document.getElementById(id + "_elementform_id_temp0").getAttribute("aria-valuenow");
|
944 |
w_field_value2 = document.getElementById(id + "_elementform_id_temp1").getAttribute("aria-valuenow");
|
945 |
-
atrs = return_attributes(id + '
|
946 |
w_attr_name = atrs[0];
|
947 |
w_attr_value = atrs[1];
|
948 |
w_mini_labels = [document.getElementById(id + "_mini_label_from").innerHTML, document.getElementById(id + "_mini_label_to").innerHTML];
|
@@ -2723,16 +2723,16 @@ function change_regExpAlert(regAlert, id) {
|
|
2723 |
document.getElementById(id).value = regAlert;
|
2724 |
}
|
2725 |
|
2726 |
-
function create_additional_attributes(i, w_attr_name) {
|
2727 |
var label = jQuery('<label class="fm-field-label">Additional Attributes</label>');
|
2728 |
-
var button = jQuery('<span class="fm-add-attribute dashicons dashicons-plus-alt" onClick="add_attr(' + i + ', \'
|
2729 |
var attr_table = jQuery('<div id="attributes" class="fm-width-100"></div>');
|
2730 |
var attr_header = jQuery('<div idi="0" class="fm-width-100"><div class="fm-header-label fm-width-45">Name</div><div class="fm-header-label fm-width-45">Value</div><div></div></div>');
|
2731 |
attr_table.append(attr_header);
|
2732 |
attr_table.hide();
|
2733 |
n = w_attr_name.length;
|
2734 |
for (j = 1; j <= n; j++) {
|
2735 |
-
var attr = jQuery('<div idi="' + j + '" id="attr_row_' + j + '" class="fm-width-100"><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_name' + j + '" value="' + w_attr_name[j - 1] + '" onChange="change_attribute_name(\'' + i + '\', this, \'
|
2736 |
attr_table.append(attr);
|
2737 |
attr_table.show();
|
2738 |
}
|
@@ -2749,7 +2749,7 @@ function add_attr(i, type) {
|
|
2749 |
j = parseInt(el_attr_table.children().last().attr('idi')) + 1;
|
2750 |
w_attr_name = "attribute";
|
2751 |
w_attr_value = "value";
|
2752 |
-
var attr = jQuery('<div idi="' + j + '" id="attr_row_' + j + '" class="fm-width-100"><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_name' + j + '" value="' + w_attr_name + '" onChange="change_attribute_name(\'' + i + '\', this, \'
|
2753 |
el_attr_table.append(attr);
|
2754 |
refresh_attr(i, type);
|
2755 |
|
@@ -2998,7 +2998,7 @@ function type_text(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
2998 |
advanced_options_container.append(create_custom_regexp(i, w_regExp_status, w_regExp_value));
|
2999 |
advanced_options_container.append(create_case_sensitive(i, w_regExp_status, w_regExp_arg));
|
3000 |
advanced_options_container.append(create_alert_message(i, w_regExp_status, w_regExp_alert));
|
3001 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
3002 |
|
3003 |
// Preview
|
3004 |
element = 'input';
|
@@ -3224,7 +3224,7 @@ function type_file_upload(i, w_field_label, w_field_label_size, w_field_label_po
|
|
3224 |
|
3225 |
advanced_options_container.append(create_class(i, w_class));
|
3226 |
advanced_options_container.append(create_multiple_upload(i, w_multiple));
|
3227 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
3228 |
|
3229 |
// Preview
|
3230 |
element = 'input';
|
@@ -3449,7 +3449,7 @@ function type_textarea(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
3449 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3450 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
3451 |
advanced_options_container.append(create_class(i, w_class));
|
3452 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
3453 |
|
3454 |
// Preview
|
3455 |
element = 'textarea';
|
@@ -3616,7 +3616,7 @@ function type_spinner(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
3616 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
3617 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3618 |
advanced_options_container.append(create_class(i, w_class));
|
3619 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
3620 |
|
3621 |
// Preview
|
3622 |
var adding_type = document.createElement("input");
|
@@ -3727,7 +3727,10 @@ function type_spinner(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
3727 |
|
3728 |
jQuery("#" + i + "_elementform_id_temp").spinner();
|
3729 |
var spinner = jQuery("#" + i + "_elementform_id_temp").spinner();
|
3730 |
-
|
|
|
|
|
|
|
3731 |
jQuery("#" + i + "_elementform_id_temp").spinner({min: w_field_min_value});
|
3732 |
jQuery("#" + i + "_elementform_id_temp").spinner({max: w_field_max_value});
|
3733 |
jQuery("#" + i + "_elementform_id_temp").spinner({step: w_field_step});
|
@@ -3984,7 +3987,7 @@ function type_date_new(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
3984 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3985 |
advanced_options_container.append(create_class(i, w_class));
|
3986 |
advanced_options_container.append(create_show_date_picker_button(i, w_show_image, 'new_date'));
|
3987 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
3988 |
|
3989 |
// Preview.
|
3990 |
var adding_type = document.createElement("input");
|
@@ -4622,7 +4625,7 @@ function type_own_select(i, w_field_label, w_field_label_size, w_field_label_pos
|
|
4622 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
4623 |
advanced_options_container.append(create_class(i, w_class));
|
4624 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'select'));
|
4625 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
4626 |
|
4627 |
// Preview.
|
4628 |
n = w_choices.length;
|
@@ -5164,7 +5167,7 @@ function type_radio(i, w_field_label, w_field_label_size, w_field_label_pos, w_f
|
|
5164 |
advanced_options_container.append(create_randomize(i, w_randomize));
|
5165 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'radio'));
|
5166 |
advanced_options_container.append(create_allow_other(i, w_allow_other, 'radio'));
|
5167 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
5168 |
|
5169 |
// Preview.
|
5170 |
element = 'input';
|
@@ -5346,7 +5349,7 @@ function type_checkbox(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
5346 |
advanced_options_container.append(create_randomize(i, w_randomize));
|
5347 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'checkbox'));
|
5348 |
advanced_options_container.append(create_allow_other(i, w_allow_other, 'checkbox'));
|
5349 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
5350 |
|
5351 |
// Preview.
|
5352 |
element = 'input';
|
@@ -5708,7 +5711,7 @@ function type_submit_reset(i, w_submit_title , w_reset_title , w_class, w_act, w
|
|
5708 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
5709 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
5710 |
advanced_options_container.append(create_class(i, w_class));
|
5711 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
5712 |
|
5713 |
// Preview.
|
5714 |
var br = document.createElement('br');
|
@@ -6052,7 +6055,7 @@ function type_page_break(i,w_page_title, w_title , w_type , w_class, w_check, w_
|
|
6052 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
6053 |
advanced_options_container.append(create_next_class(i, w_class));
|
6054 |
advanced_options_container.append(create_previous_class(i, w_class));
|
6055 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
6056 |
|
6057 |
// Preview.
|
6058 |
var br = document.createElement('br');
|
@@ -6360,7 +6363,7 @@ function type_name(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
6360 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6361 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
6362 |
advanced_options_container.append(create_class(i, w_class));
|
6363 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
6364 |
|
6365 |
// Preview.
|
6366 |
var br = document.createElement('br');
|
@@ -6646,7 +6649,7 @@ function type_submitter_mail(i, w_field_label, w_field_label_size, w_field_label
|
|
6646 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6647 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size, '\'' + i + '_label_sectionform_id_temp\'', '\'' + i + '_1_label_sectionform_id_temp\''));
|
6648 |
advanced_options_container.append(create_class(i, w_class));
|
6649 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
6650 |
|
6651 |
// Preview.
|
6652 |
element = 'input';
|
@@ -6835,7 +6838,7 @@ function type_phone_new(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
6835 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6836 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
6837 |
advanced_options_container.append(create_class(i, w_class));
|
6838 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
6839 |
|
6840 |
// Preview.
|
6841 |
var br = document.createElement('br');
|
@@ -6938,7 +6941,7 @@ function type_phone_new(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
6938 |
label_top(i);
|
6939 |
|
6940 |
change_class(w_class, i);
|
6941 |
-
refresh_attr(i, '
|
6942 |
|
6943 |
jQuery("#" + i + "_elementform_id_temp").intlTelInput({
|
6944 |
nationalMode: false,
|
@@ -7264,7 +7267,7 @@ function type_address(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
7264 |
advanced_options_container.append(create_disable_address_fields(i, w_disabled_fields, w_mini_labels));
|
7265 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7266 |
advanced_options_container.append(create_class(i, w_class));
|
7267 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
7268 |
|
7269 |
// Preview.
|
7270 |
var adding_type = document.createElement("input");
|
@@ -7643,7 +7646,7 @@ function type_mark_map(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
7643 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
7644 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7645 |
advanced_options_container.append(create_class(i, w_class));
|
7646 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
7647 |
|
7648 |
// Preview.
|
7649 |
element = 'div';
|
@@ -7751,7 +7754,7 @@ function type_country(i, w_field_label, w_field_label_size, w_hide_label, w_coun
|
|
7751 |
advanced_options_container.append(create_edit_country_list(i));
|
7752 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7753 |
advanced_options_container.append(create_class(i, w_class));
|
7754 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
7755 |
|
7756 |
// Preview.
|
7757 |
var br = document.createElement('br');
|
@@ -8163,7 +8166,7 @@ function type_date_fields(i, w_field_label, w_field_label_size, w_field_label_po
|
|
8163 |
advanced_options_container.append(jQuery('<div class="notice notice-info"><p>Leave the second field empty and the current year will be used automatically. For a specific year (other than current) fill out both the start and finish points of the range.</p></div>'));
|
8164 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
8165 |
advanced_options_container.append(create_class(i, w_class));
|
8166 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
8167 |
|
8168 |
// Preview.
|
8169 |
var br = document.createElement('br');
|
@@ -8470,7 +8473,7 @@ function type_paypal_price_new(i, w_field_label, w_field_label_size, w_field_lab
|
|
8470 |
advanced_options_container.append(create_hide_payment_currency(i, w_currency));
|
8471 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
8472 |
advanced_options_container.append(create_class(i, w_class));
|
8473 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
8474 |
|
8475 |
// Preview
|
8476 |
var adding_type = document.createElement("input");
|
@@ -9004,7 +9007,7 @@ function type_paypal_select(i, w_field_label, w_field_label_size, w_field_label_
|
|
9004 |
advanced_options_container.append(create_payment_property(i));
|
9005 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9006 |
advanced_options_container.append(create_class(i, w_class));
|
9007 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
9008 |
|
9009 |
// Preview.
|
9010 |
var adding_type = document.createElement("input");
|
@@ -9353,7 +9356,7 @@ function type_paypal_radio(i, w_field_label, w_field_label_size, w_field_label_p
|
|
9353 |
advanced_options_container.append(create_payment_property(i));
|
9354 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9355 |
advanced_options_container.append(create_class(i, w_class));
|
9356 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
9357 |
|
9358 |
// Preview.
|
9359 |
var br3 = document.createElement('br');
|
@@ -9583,7 +9586,7 @@ function type_paypal_checkbox(i, w_field_label, w_field_label_size, w_field_labe
|
|
9583 |
advanced_options_container.append(create_payment_property(i));
|
9584 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9585 |
advanced_options_container.append(create_class(i, w_class));
|
9586 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
9587 |
|
9588 |
// Preview.
|
9589 |
element = 'input';
|
@@ -9810,7 +9813,7 @@ function type_paypal_shipping(i, w_field_label, w_field_label_size, w_field_labe
|
|
9810 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
9811 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9812 |
advanced_options_container.append(create_class(i, w_class));
|
9813 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
9814 |
|
9815 |
// Preview.
|
9816 |
element = 'input';
|
@@ -10215,7 +10218,7 @@ function type_map(i, w_center_x, w_center_y, w_long, w_lat, w_zoom, w_width, w_h
|
|
10215 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
10216 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10217 |
advanced_options_container.append(create_class(i, w_class));
|
10218 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
10219 |
|
10220 |
// Preview.
|
10221 |
var br2 = document.createElement('br');
|
@@ -10494,7 +10497,7 @@ function type_time(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
10494 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10495 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
10496 |
advanced_options_container.append(create_class(i, w_class));
|
10497 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
10498 |
|
10499 |
// Preview.
|
10500 |
var adding_type = document.createElement("input");
|
@@ -10779,7 +10782,7 @@ function type_send_copy(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
10779 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
10780 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10781 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
10782 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
10783 |
|
10784 |
// Preview.
|
10785 |
element = 'input';
|
@@ -11066,7 +11069,7 @@ function type_date_range(i, w_field_label, w_field_label_size, w_field_label_pos
|
|
11066 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11067 |
advanced_options_container.append(create_class(i, w_class));
|
11068 |
advanced_options_container.append(create_show_date_picker_button(i, w_show_image, 'date_range'));
|
11069 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
11070 |
|
11071 |
// Preview.
|
11072 |
var adding_type = document.createElement("input");
|
@@ -11636,7 +11639,7 @@ function type_star_rating(i, w_field_label, w_field_label_size, w_field_label_po
|
|
11636 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
11637 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11638 |
advanced_options_container.append(create_class(i, w_class));
|
11639 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
11640 |
|
11641 |
// Preview
|
11642 |
var adding_type = document.createElement("input");
|
@@ -11812,7 +11815,7 @@ function type_scale_rating(i, w_field_label, w_field_label_size, w_field_label_p
|
|
11812 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
11813 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11814 |
advanced_options_container.append(create_class(i, w_class));
|
11815 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
11816 |
|
11817 |
// Preview
|
11818 |
var adding_type = document.createElement("input");
|
@@ -12096,7 +12099,7 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12096 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12097 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12098 |
advanced_options_container.append(create_class(i, w_class));
|
12099 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
12100 |
|
12101 |
// Preview
|
12102 |
var adding_type = document.createElement("input");
|
@@ -12318,7 +12321,7 @@ function type_range(i, w_field_label, w_field_label_size, w_field_label_pos, w_h
|
|
12318 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12319 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12320 |
advanced_options_container.append(create_class(i, w_class));
|
12321 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
12322 |
|
12323 |
// Preview
|
12324 |
var adding_type = document.createElement("input");
|
@@ -12482,12 +12485,12 @@ function type_range(i, w_field_label, w_field_label_size, w_field_label_pos, w_h
|
|
12482 |
|
12483 |
jQuery("#" + i + "_elementform_id_temp0").spinner();
|
12484 |
var spinner1 = jQuery("#" + i + "_elementform_id_temp0").spinner();
|
12485 |
-
spinner1.spinner("value", w_field_value1)
|
12486 |
jQuery("#" + i + "_elementform_id_temp0").spinner({step: w_field_range_step});
|
12487 |
|
12488 |
jQuery("#" + i + "_elementform_id_temp1").spinner();
|
12489 |
var spinner2 = jQuery("#" + i + "_elementform_id_temp1").spinner();
|
12490 |
-
spinner2.spinner("value", w_field_value2)
|
12491 |
jQuery("#" + i + "_elementform_id_temp1").spinner({step: w_field_range_step});
|
12492 |
|
12493 |
jQuery(document).ready(function () {
|
@@ -12576,7 +12579,7 @@ function type_hidden(i, w_name, w_value, w_attr_name, w_attr_value) {
|
|
12576 |
|
12577 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
12578 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12579 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
12580 |
|
12581 |
// Preview
|
12582 |
element = 'input';
|
@@ -12708,7 +12711,7 @@ function type_captcha(i,w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12708 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12709 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12710 |
advanced_options_container.append(create_class(i, w_class));
|
12711 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
12712 |
|
12713 |
// Preview
|
12714 |
element = 'img';
|
@@ -12905,7 +12908,7 @@ function type_arithmetic_captcha(i,w_field_label, w_field_label_size, w_field_la
|
|
12905 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12906 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12907 |
advanced_options_container.append(create_class(i, w_class));
|
12908 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
12909 |
|
12910 |
// Preview
|
12911 |
var adding_type = document.createElement("input");
|
@@ -13058,7 +13061,7 @@ function type_phone(i, w_field_label, w_field_label_size, w_field_label_pos, w_h
|
|
13058 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
13059 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
13060 |
advanced_options_container.append(create_class(i, w_class));
|
13061 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
13062 |
|
13063 |
// Preview.
|
13064 |
var br1 = document.createElement('br');
|
@@ -13306,7 +13309,7 @@ function type_password(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
13306 |
advanced_options_container.append(create_confirmation_password_label(i, w_verification, w_verification_label));
|
13307 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size, '\'' + i + '_label_sectionform_id_temp\'', '\'' + i + '_1_label_sectionform_id_temp\''));
|
13308 |
advanced_options_container.append(create_class(i, w_class));
|
13309 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
13310 |
|
13311 |
// Preview.
|
13312 |
element = 'input';
|
@@ -13547,7 +13550,7 @@ function type_button(i, w_title , w_func , w_class, w_attr_name, w_attr_value) {
|
|
13547 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
13548 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
13549 |
advanced_options_container.append(create_class(i, w_class));
|
13550 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
13551 |
|
13552 |
// Preview.
|
13553 |
element = 'button';
|
@@ -13620,7 +13623,7 @@ function create_grading_total(i, w_total) {
|
|
13620 |
}
|
13621 |
|
13622 |
function check_isnum_or_minus(e) {
|
13623 |
-
var chCode1 = e.which || e.keyCode;
|
13624 |
if (chCode1 != 45) {
|
13625 |
if (chCode1 > 31 && (chCode1 < 48 || chCode1 > 57))
|
13626 |
return false;
|
@@ -13628,6 +13631,15 @@ function check_isnum_or_minus(e) {
|
|
13628 |
else if(e.target.selectionStart != 0 || e.target.value[0] == '-') {
|
13629 |
return false;
|
13630 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13631 |
return true;
|
13632 |
}
|
13633 |
|
@@ -13821,7 +13833,7 @@ function type_grading(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
13821 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
13822 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
13823 |
advanced_options_container.append(create_class(i, w_class));
|
13824 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
13825 |
|
13826 |
// Preview.
|
13827 |
element = 'input';
|
@@ -14202,7 +14214,7 @@ function type_matrix(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
14202 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
14203 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
14204 |
advanced_options_container.append(create_class(i, w_class));
|
14205 |
-
advanced_options_container.append(create_additional_attributes(i, w_attr_name));
|
14206 |
|
14207 |
// Preview.
|
14208 |
element = 'input';
|
@@ -15702,7 +15714,7 @@ function gen_form_fields() {
|
|
15702 |
w_field_value1 = document.getElementById(id + "_elementform_id_temp0").getAttribute("aria-valuenow");
|
15703 |
w_field_value2 = document.getElementById(id + "_elementform_id_temp1").getAttribute("aria-valuenow");
|
15704 |
|
15705 |
-
atrs = return_attributes(id + '
|
15706 |
w_attr_name = atrs[0];
|
15707 |
w_attr_value = atrs[1];
|
15708 |
|
942 |
w_field_range_step = document.getElementById(id + "_range_stepform_id_temp").value;
|
943 |
w_field_value1 = document.getElementById(id + "_elementform_id_temp0").getAttribute("aria-valuenow");
|
944 |
w_field_value2 = document.getElementById(id + "_elementform_id_temp1").getAttribute("aria-valuenow");
|
945 |
+
atrs = return_attributes(id + '_elementform_id_temp0');
|
946 |
w_attr_name = atrs[0];
|
947 |
w_attr_value = atrs[1];
|
948 |
w_mini_labels = [document.getElementById(id + "_mini_label_from").innerHTML, document.getElementById(id + "_mini_label_to").innerHTML];
|
2723 |
document.getElementById(id).value = regAlert;
|
2724 |
}
|
2725 |
|
2726 |
+
function create_additional_attributes(i, w_attr_name, type) {
|
2727 |
var label = jQuery('<label class="fm-field-label">Additional Attributes</label>');
|
2728 |
+
var button = jQuery('<span class="fm-add-attribute dashicons dashicons-plus-alt" onClick="add_attr(' + i + ', \'' + type + '\')" title="Add"></span>');
|
2729 |
var attr_table = jQuery('<div id="attributes" class="fm-width-100"></div>');
|
2730 |
var attr_header = jQuery('<div idi="0" class="fm-width-100"><div class="fm-header-label fm-width-45">Name</div><div class="fm-header-label fm-width-45">Value</div><div></div></div>');
|
2731 |
attr_table.append(attr_header);
|
2732 |
attr_table.hide();
|
2733 |
n = w_attr_name.length;
|
2734 |
for (j = 1; j <= n; j++) {
|
2735 |
+
var attr = jQuery('<div idi="' + j + '" id="attr_row_' + j + '" class="fm-width-100"><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_name' + j + '" value="' + w_attr_name[j - 1] + '" onChange="change_attribute_name(\'' + i + '\', this, \'' + type + '\')" /></div><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_value' + j + '" value="' + w_attr_value[j - 1] + '" onChange="change_attribute_value(' + i + ', ' + j + ', \'' + type + '\')" /></div><div class="fm-table-col"><span class="fm-remove-attribute dashicons dashicons-dismiss" id="el_choices' + j + '_remove" onClick="remove_attr(' + j + ', ' + i + ', \'' + type + '\')"></span></div></div>');
|
2736 |
attr_table.append(attr);
|
2737 |
attr_table.show();
|
2738 |
}
|
2749 |
j = parseInt(el_attr_table.children().last().attr('idi')) + 1;
|
2750 |
w_attr_name = "attribute";
|
2751 |
w_attr_value = "value";
|
2752 |
+
var attr = jQuery('<div idi="' + j + '" id="attr_row_' + j + '" class="fm-width-100"><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_name' + j + '" value="' + w_attr_name + '" onChange="change_attribute_name(\'' + i + '\', this, \'' + type + '\')" /></div><div class="fm-table-col fm-width-45"><input type="text" class="fm-field-choice" id="attr_value' + j + '" value="' + w_attr_value + '" onChange="change_attribute_value(' + i + ', ' + j + ', \'' + type + '\')" /></div><div class="fm-table-col"><span class="fm-remove-attribute dashicons dashicons-dismiss" id="el_choices' + j + '_remove" onClick="remove_attr(' + j + ', ' + i + ', \'' + type + '\')"></span></div></div>');
|
2753 |
el_attr_table.append(attr);
|
2754 |
refresh_attr(i, type);
|
2755 |
|
2998 |
advanced_options_container.append(create_custom_regexp(i, w_regExp_status, w_regExp_value));
|
2999 |
advanced_options_container.append(create_case_sensitive(i, w_regExp_status, w_regExp_arg));
|
3000 |
advanced_options_container.append(create_alert_message(i, w_regExp_status, w_regExp_alert));
|
3001 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_text'));
|
3002 |
|
3003 |
// Preview
|
3004 |
element = 'input';
|
3224 |
|
3225 |
advanced_options_container.append(create_class(i, w_class));
|
3226 |
advanced_options_container.append(create_multiple_upload(i, w_multiple));
|
3227 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_file_upload'));
|
3228 |
|
3229 |
// Preview
|
3230 |
element = 'input';
|
3449 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3450 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
3451 |
advanced_options_container.append(create_class(i, w_class));
|
3452 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_textarea'));
|
3453 |
|
3454 |
// Preview
|
3455 |
element = 'textarea';
|
3616 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
3617 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3618 |
advanced_options_container.append(create_class(i, w_class));
|
3619 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_spinner'));
|
3620 |
|
3621 |
// Preview
|
3622 |
var adding_type = document.createElement("input");
|
3727 |
|
3728 |
jQuery("#" + i + "_elementform_id_temp").spinner();
|
3729 |
var spinner = jQuery("#" + i + "_elementform_id_temp").spinner();
|
3730 |
+
if ( w_field_value == null ) {
|
3731 |
+
spinner.spinner("value", "");
|
3732 |
+
}
|
3733 |
+
|
3734 |
jQuery("#" + i + "_elementform_id_temp").spinner({min: w_field_min_value});
|
3735 |
jQuery("#" + i + "_elementform_id_temp").spinner({max: w_field_max_value});
|
3736 |
jQuery("#" + i + "_elementform_id_temp").spinner({step: w_field_step});
|
3987 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
3988 |
advanced_options_container.append(create_class(i, w_class));
|
3989 |
advanced_options_container.append(create_show_date_picker_button(i, w_show_image, 'new_date'));
|
3990 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_date_new'));
|
3991 |
|
3992 |
// Preview.
|
3993 |
var adding_type = document.createElement("input");
|
4625 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
4626 |
advanced_options_container.append(create_class(i, w_class));
|
4627 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'select'));
|
4628 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_own_select'));
|
4629 |
|
4630 |
// Preview.
|
4631 |
n = w_choices.length;
|
5167 |
advanced_options_container.append(create_randomize(i, w_randomize));
|
5168 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'radio'));
|
5169 |
advanced_options_container.append(create_allow_other(i, w_allow_other, 'radio'));
|
5170 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_radio'));
|
5171 |
|
5172 |
// Preview.
|
5173 |
element = 'input';
|
5349 |
advanced_options_container.append(create_randomize(i, w_randomize));
|
5350 |
advanced_options_container.append(create_enable_options_value(i, w_value_disabled, 'checkbox'));
|
5351 |
advanced_options_container.append(create_allow_other(i, w_allow_other, 'checkbox'));
|
5352 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_checkbox'));
|
5353 |
|
5354 |
// Preview.
|
5355 |
element = 'input';
|
5711 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
5712 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
5713 |
advanced_options_container.append(create_class(i, w_class));
|
5714 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_submit_reset'));
|
5715 |
|
5716 |
// Preview.
|
5717 |
var br = document.createElement('br');
|
6055 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
6056 |
advanced_options_container.append(create_next_class(i, w_class));
|
6057 |
advanced_options_container.append(create_previous_class(i, w_class));
|
6058 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_page_break'));
|
6059 |
|
6060 |
// Preview.
|
6061 |
var br = document.createElement('br');
|
6363 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6364 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
6365 |
advanced_options_container.append(create_class(i, w_class));
|
6366 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_name'));
|
6367 |
|
6368 |
// Preview.
|
6369 |
var br = document.createElement('br');
|
6649 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6650 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size, '\'' + i + '_label_sectionform_id_temp\'', '\'' + i + '_1_label_sectionform_id_temp\''));
|
6651 |
advanced_options_container.append(create_class(i, w_class));
|
6652 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_submitter_mail'));
|
6653 |
|
6654 |
// Preview.
|
6655 |
element = 'input';
|
6838 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
6839 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
6840 |
advanced_options_container.append(create_class(i, w_class));
|
6841 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_phone_new'));
|
6842 |
|
6843 |
// Preview.
|
6844 |
var br = document.createElement('br');
|
6941 |
label_top(i);
|
6942 |
|
6943 |
change_class(w_class, i);
|
6944 |
+
refresh_attr(i, 'type_text');
|
6945 |
|
6946 |
jQuery("#" + i + "_elementform_id_temp").intlTelInput({
|
6947 |
nationalMode: false,
|
7267 |
advanced_options_container.append(create_disable_address_fields(i, w_disabled_fields, w_mini_labels));
|
7268 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7269 |
advanced_options_container.append(create_class(i, w_class));
|
7270 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_address'));
|
7271 |
|
7272 |
// Preview.
|
7273 |
var adding_type = document.createElement("input");
|
7646 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
7647 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7648 |
advanced_options_container.append(create_class(i, w_class));
|
7649 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_mark_map'));
|
7650 |
|
7651 |
// Preview.
|
7652 |
element = 'div';
|
7754 |
advanced_options_container.append(create_edit_country_list(i));
|
7755 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
7756 |
advanced_options_container.append(create_class(i, w_class));
|
7757 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_country'));
|
7758 |
|
7759 |
// Preview.
|
7760 |
var br = document.createElement('br');
|
8166 |
advanced_options_container.append(jQuery('<div class="notice notice-info"><p>Leave the second field empty and the current year will be used automatically. For a specific year (other than current) fill out both the start and finish points of the range.</p></div>'));
|
8167 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
8168 |
advanced_options_container.append(create_class(i, w_class));
|
8169 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_date_fields'));
|
8170 |
|
8171 |
// Preview.
|
8172 |
var br = document.createElement('br');
|
8473 |
advanced_options_container.append(create_hide_payment_currency(i, w_currency));
|
8474 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
8475 |
advanced_options_container.append(create_class(i, w_class));
|
8476 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_paypal_price_new'));
|
8477 |
|
8478 |
// Preview
|
8479 |
var adding_type = document.createElement("input");
|
9007 |
advanced_options_container.append(create_payment_property(i));
|
9008 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9009 |
advanced_options_container.append(create_class(i, w_class));
|
9010 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_paypal_select'));
|
9011 |
|
9012 |
// Preview.
|
9013 |
var adding_type = document.createElement("input");
|
9356 |
advanced_options_container.append(create_payment_property(i));
|
9357 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9358 |
advanced_options_container.append(create_class(i, w_class));
|
9359 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_paypal_radio'));
|
9360 |
|
9361 |
// Preview.
|
9362 |
var br3 = document.createElement('br');
|
9586 |
advanced_options_container.append(create_payment_property(i));
|
9587 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9588 |
advanced_options_container.append(create_class(i, w_class));
|
9589 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_paypal_checkbox'));
|
9590 |
|
9591 |
// Preview.
|
9592 |
element = 'input';
|
9813 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
9814 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
9815 |
advanced_options_container.append(create_class(i, w_class));
|
9816 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_paypal_shipping'));
|
9817 |
|
9818 |
// Preview.
|
9819 |
element = 'input';
|
10218 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
10219 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10220 |
advanced_options_container.append(create_class(i, w_class));
|
10221 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_map'));
|
10222 |
|
10223 |
// Preview.
|
10224 |
var br2 = document.createElement('br');
|
10497 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10498 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
10499 |
advanced_options_container.append(create_class(i, w_class));
|
10500 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_time'));
|
10501 |
|
10502 |
// Preview.
|
10503 |
var adding_type = document.createElement("input");
|
10782 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
10783 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
10784 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
10785 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_send_copy'));
|
10786 |
|
10787 |
// Preview.
|
10788 |
element = 'input';
|
11069 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11070 |
advanced_options_container.append(create_class(i, w_class));
|
11071 |
advanced_options_container.append(create_show_date_picker_button(i, w_show_image, 'date_range'));
|
11072 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_date_range'));
|
11073 |
|
11074 |
// Preview.
|
11075 |
var adding_type = document.createElement("input");
|
11639 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
11640 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11641 |
advanced_options_container.append(create_class(i, w_class));
|
11642 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_star_rating'));
|
11643 |
|
11644 |
// Preview
|
11645 |
var adding_type = document.createElement("input");
|
11815 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
11816 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
11817 |
advanced_options_container.append(create_class(i, w_class));
|
11818 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_scale_rating'));
|
11819 |
|
11820 |
// Preview
|
11821 |
var adding_type = document.createElement("input");
|
12099 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12100 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12101 |
advanced_options_container.append(create_class(i, w_class));
|
12102 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_slider'));
|
12103 |
|
12104 |
// Preview
|
12105 |
var adding_type = document.createElement("input");
|
12321 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12322 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12323 |
advanced_options_container.append(create_class(i, w_class));
|
12324 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_range'));
|
12325 |
|
12326 |
// Preview
|
12327 |
var adding_type = document.createElement("input");
|
12485 |
|
12486 |
jQuery("#" + i + "_elementform_id_temp0").spinner();
|
12487 |
var spinner1 = jQuery("#" + i + "_elementform_id_temp0").spinner();
|
12488 |
+
/*spinner1.spinner("value", w_field_value1);*/
|
12489 |
jQuery("#" + i + "_elementform_id_temp0").spinner({step: w_field_range_step});
|
12490 |
|
12491 |
jQuery("#" + i + "_elementform_id_temp1").spinner();
|
12492 |
var spinner2 = jQuery("#" + i + "_elementform_id_temp1").spinner();
|
12493 |
+
/*spinner2.spinner("value", w_field_value2);*/
|
12494 |
jQuery("#" + i + "_elementform_id_temp1").spinner({step: w_field_range_step});
|
12495 |
|
12496 |
jQuery(document).ready(function () {
|
12579 |
|
12580 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
12581 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12582 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_hidden'));
|
12583 |
|
12584 |
// Preview
|
12585 |
element = 'input';
|
12711 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12712 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12713 |
advanced_options_container.append(create_class(i, w_class));
|
12714 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_captcha'));
|
12715 |
|
12716 |
// Preview
|
12717 |
element = 'img';
|
12908 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
12909 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
12910 |
advanced_options_container.append(create_class(i, w_class));
|
12911 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_arithmetic_captcha'));
|
12912 |
|
12913 |
// Preview
|
12914 |
var adding_type = document.createElement("input");
|
13061 |
advanced_options_container.append(create_unique_values(i, w_unique));
|
13062 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
13063 |
advanced_options_container.append(create_class(i, w_class));
|
13064 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_phone'));
|
13065 |
|
13066 |
// Preview.
|
13067 |
var br1 = document.createElement('br');
|
13309 |
advanced_options_container.append(create_confirmation_password_label(i, w_verification, w_verification_label));
|
13310 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size, '\'' + i + '_label_sectionform_id_temp\'', '\'' + i + '_1_label_sectionform_id_temp\''));
|
13311 |
advanced_options_container.append(create_class(i, w_class));
|
13312 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_password'));
|
13313 |
|
13314 |
// Preview.
|
13315 |
element = 'input';
|
13550 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
13551 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
13552 |
advanced_options_container.append(create_class(i, w_class));
|
13553 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_button'));
|
13554 |
|
13555 |
// Preview.
|
13556 |
element = 'button';
|
13623 |
}
|
13624 |
|
13625 |
function check_isnum_or_minus(e) {
|
13626 |
+
/*var chCode1 = e.which || e.keyCode;
|
13627 |
if (chCode1 != 45) {
|
13628 |
if (chCode1 > 31 && (chCode1 < 48 || chCode1 > 57))
|
13629 |
return false;
|
13631 |
else if(e.target.selectionStart != 0 || e.target.value[0] == '-') {
|
13632 |
return false;
|
13633 |
}
|
13634 |
+
return true;*/
|
13635 |
+
var chCode1 = e.which || e.keyCode;
|
13636 |
+
if ( chCode1 > 31
|
13637 |
+
&& (chCode1 < 48 || chCode1 > 57)
|
13638 |
+
&& (chCode1 != 46)
|
13639 |
+
&& (chCode1 != 45)
|
13640 |
+
&& (chCode1 < 35 || chCode1 > 40) ) {
|
13641 |
+
return false;
|
13642 |
+
}
|
13643 |
return true;
|
13644 |
}
|
13645 |
|
13833 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
13834 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
13835 |
advanced_options_container.append(create_class(i, w_class));
|
13836 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_grading'));
|
13837 |
|
13838 |
// Preview.
|
13839 |
element = 'input';
|
14214 |
edit_main_table.append(create_advanced_options_container(advanced_options_container));
|
14215 |
advanced_options_container.append(create_field_label_size(i, w_field_label_size));
|
14216 |
advanced_options_container.append(create_class(i, w_class));
|
14217 |
+
advanced_options_container.append(create_additional_attributes(i, w_attr_name, 'type_matrix'));
|
14218 |
|
14219 |
// Preview.
|
14220 |
element = 'input';
|
15714 |
w_field_value1 = document.getElementById(id + "_elementform_id_temp0").getAttribute("aria-valuenow");
|
15715 |
w_field_value2 = document.getElementById(id + "_elementform_id_temp1").getAttribute("aria-valuenow");
|
15716 |
|
15717 |
+
atrs = return_attributes(id + '_elementform_id_temp0');
|
15718 |
w_attr_name = atrs[0];
|
15719 |
w_attr_value = atrs[1];
|
15720 |
|
js/form_maker_form_options.js
CHANGED
@@ -191,9 +191,9 @@ function codemirror_for_javascript() {
|
|
191 |
|
192 |
function fm_toggle_email_options(show) {
|
193 |
if (show) {
|
194 |
-
jQuery('
|
195 |
}
|
196 |
else {
|
197 |
-
jQuery('
|
198 |
}
|
199 |
}
|
191 |
|
192 |
function fm_toggle_email_options(show) {
|
193 |
if (show) {
|
194 |
+
jQuery('.fm_email_options').show();
|
195 |
}
|
196 |
else {
|
197 |
+
jQuery('.fm_email_options').hide();
|
198 |
}
|
199 |
}
|
js/form_maker_manage_edit.js
CHANGED
@@ -583,7 +583,9 @@ function formOnload(rows) {
|
|
583 |
var spinner_step = document.getElementById(t + "_stepform_id_temp").value;
|
584 |
jQuery("#" + t + "_elementform_id_temp")[0].spin = null;
|
585 |
spinner = jQuery("#" + t + "_elementform_id_temp").spinner();
|
586 |
-
|
|
|
|
|
587 |
jQuery("#" + t + "_elementform_id_temp").spinner({ min:spinner_min_value});
|
588 |
jQuery("#" + t + "_elementform_id_temp").spinner({ max:spinner_max_value});
|
589 |
jQuery("#" + t + "_elementform_id_temp").spinner({ step:spinner_step});
|
@@ -614,11 +616,15 @@ function formOnload(rows) {
|
|
614 |
jQuery("#" + t + "_elementform_id_temp0")[0].spin = null;
|
615 |
jQuery("#" + t + "_elementform_id_temp1")[0].spin = null;
|
616 |
spinner0 = jQuery("#" + t + "_elementform_id_temp0").spinner();
|
617 |
-
|
|
|
|
|
618 |
jQuery("#" + t + "_elementform_id_temp0").spinner({ step:spinner_step});
|
619 |
var spinner_value1 = document.getElementById(t + "_elementform_id_temp1").value;
|
620 |
spinner1 = jQuery("#" + t + "_elementform_id_temp1").spinner();
|
621 |
-
|
|
|
|
|
622 |
jQuery("#" + t + "_elementform_id_temp1").spinner({ step:spinner_step});
|
623 |
var myu = t;
|
624 |
jQuery(document).ready(function () {
|
@@ -711,8 +717,8 @@ function formOnload(rows) {
|
|
711 |
remove_whitespace(document.getElementById('take'));
|
712 |
form_view = 1;
|
713 |
form_view_count = 0;
|
714 |
-
|
715 |
-
for (i = 1; i <=
|
716 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
717 |
form_view_count++;
|
718 |
form_view_max = i;
|
583 |
var spinner_step = document.getElementById(t + "_stepform_id_temp").value;
|
584 |
jQuery("#" + t + "_elementform_id_temp")[0].spin = null;
|
585 |
spinner = jQuery("#" + t + "_elementform_id_temp").spinner();
|
586 |
+
if ( spinner_value == null ) {
|
587 |
+
spinner.spinner("value", "");
|
588 |
+
}
|
589 |
jQuery("#" + t + "_elementform_id_temp").spinner({ min:spinner_min_value});
|
590 |
jQuery("#" + t + "_elementform_id_temp").spinner({ max:spinner_max_value});
|
591 |
jQuery("#" + t + "_elementform_id_temp").spinner({ step:spinner_step});
|
616 |
jQuery("#" + t + "_elementform_id_temp0")[0].spin = null;
|
617 |
jQuery("#" + t + "_elementform_id_temp1")[0].spin = null;
|
618 |
spinner0 = jQuery("#" + t + "_elementform_id_temp0").spinner();
|
619 |
+
if ( spinner_value0 == null ) {
|
620 |
+
spinner0.spinner("value", "");
|
621 |
+
}
|
622 |
jQuery("#" + t + "_elementform_id_temp0").spinner({ step:spinner_step});
|
623 |
var spinner_value1 = document.getElementById(t + "_elementform_id_temp1").value;
|
624 |
spinner1 = jQuery("#" + t + "_elementform_id_temp1").spinner();
|
625 |
+
if ( spinner_value1 == null ) {
|
626 |
+
spinner1.spinner("value", "");
|
627 |
+
}
|
628 |
jQuery("#" + t + "_elementform_id_temp1").spinner({ step:spinner_step});
|
629 |
var myu = t;
|
630 |
jQuery(document).ready(function () {
|
717 |
remove_whitespace(document.getElementById('take'));
|
718 |
form_view = 1;
|
719 |
form_view_count = 0;
|
720 |
+
var pagebreak_count = jQuery('.wdform-page-and-images').length;
|
721 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
722 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
723 |
form_view_count++;
|
724 |
form_view_max = i;
|
js/form_maker_submissions.js
CHANGED
@@ -264,4 +264,3 @@ function change_option_values(a,id,rows_count,columns_count){
|
|
264 |
document.getElementById('submission_'+id).value=element+'***matrix***';
|
265 |
document.getElementById(id+'_matrixform_id_temp').value=element;
|
266 |
}
|
267 |
-
|
264 |
document.getElementById('submission_'+id).value=element+'***matrix***';
|
265 |
document.getElementById(id+'_matrixform_id_temp').value=element;
|
266 |
}
|
|
js/formmaker_div.js
CHANGED
@@ -2999,8 +2999,8 @@ function remove_page_all(id) {
|
|
2999 |
if (confirm('Do you want to delete the all fields in this page?')) {
|
3000 |
form_view_elemet = document.getElementById("form_id_tempform_view" + id);
|
3001 |
form_view_count = 0;
|
3002 |
-
|
3003 |
-
for (i = 1; i <=
|
3004 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3005 |
form_view_count++;
|
3006 |
}
|
@@ -3059,13 +3059,14 @@ function refresh_pages(id) {
|
|
3059 |
temp = 1;
|
3060 |
form_view_count = 0;
|
3061 |
destroyChildren(document.getElementById("pages"));
|
3062 |
-
|
|
|
3063 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3064 |
form_view_count++;
|
3065 |
}
|
3066 |
}
|
3067 |
if (form_view_count > 1) {
|
3068 |
-
for (i = 1; i <=
|
3069 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3070 |
page_number = document.createElement('span');
|
3071 |
page_number.setAttribute('id', 'page_' + i);
|
@@ -3078,7 +3079,7 @@ function refresh_pages(id) {
|
|
3078 |
}
|
3079 |
else {
|
3080 |
destroyChildren(document.getElementById("edit_page_navigation"));
|
3081 |
-
for (i = 1; i <=
|
3082 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3083 |
document.getElementById('form_id_tempform_view' + i).parentNode.style.borderWidth = "0px";
|
3084 |
document.getElementById('form_id_tempform_view' + i).style.display = "block";
|
@@ -3088,7 +3089,7 @@ function refresh_pages(id) {
|
|
3088 |
}
|
3089 |
}
|
3090 |
}
|
3091 |
-
for (i = parseInt(id) + 1; i <=
|
3092 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3093 |
generate_page_nav(i);
|
3094 |
return;
|
@@ -3106,8 +3107,8 @@ function refresh_pages_without_deleting(id) {
|
|
3106 |
form_view_count = 0;
|
3107 |
form_view_elemet = document.getElementById("form_id_tempform_view" + id);
|
3108 |
wdform_row = form_view_elemet.getElementsByClassName('wdform_row');
|
3109 |
-
|
3110 |
-
for (i = 1; i <=
|
3111 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3112 |
form_view_count++;
|
3113 |
}
|
2999 |
if (confirm('Do you want to delete the all fields in this page?')) {
|
3000 |
form_view_elemet = document.getElementById("form_id_tempform_view" + id);
|
3001 |
form_view_count = 0;
|
3002 |
+
var pagebreak_count = jQuery(".wdform-page-and-images").length;
|
3003 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
3004 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3005 |
form_view_count++;
|
3006 |
}
|
3059 |
temp = 1;
|
3060 |
form_view_count = 0;
|
3061 |
destroyChildren(document.getElementById("pages"));
|
3062 |
+
var pagebreak_count = jQuery(".wdform-page-and-images").length;
|
3063 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
3064 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3065 |
form_view_count++;
|
3066 |
}
|
3067 |
}
|
3068 |
if (form_view_count > 1) {
|
3069 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
3070 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3071 |
page_number = document.createElement('span');
|
3072 |
page_number.setAttribute('id', 'page_' + i);
|
3079 |
}
|
3080 |
else {
|
3081 |
destroyChildren(document.getElementById("edit_page_navigation"));
|
3082 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
3083 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3084 |
document.getElementById('form_id_tempform_view' + i).parentNode.style.borderWidth = "0px";
|
3085 |
document.getElementById('form_id_tempform_view' + i).style.display = "block";
|
3089 |
}
|
3090 |
}
|
3091 |
}
|
3092 |
+
for (i = parseInt(id) + 1; i <= pagebreak_count; i++) {
|
3093 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3094 |
generate_page_nav(i);
|
3095 |
return;
|
3107 |
form_view_count = 0;
|
3108 |
form_view_elemet = document.getElementById("form_id_tempform_view" + id);
|
3109 |
wdform_row = form_view_elemet.getElementsByClassName('wdform_row');
|
3110 |
+
var pagebreak_count = jQuery(".wdform-page-and-images").length;
|
3111 |
+
for (i = 1; i <= pagebreak_count; i++) {
|
3112 |
if (document.getElementById('form_id_tempform_view' + i)) {
|
3113 |
form_view_count++;
|
3114 |
}
|
js/main_div_front_end.js
CHANGED
@@ -246,7 +246,6 @@ function add_0(that) {
|
|
246 |
* @returns {boolean}
|
247 |
*/
|
248 |
function wd_validate(that, ids) {
|
249 |
-
//console.log();
|
250 |
if ( !jQuery(that).is("input") ) {
|
251 |
return true;
|
252 |
}
|
@@ -285,7 +284,7 @@ function wd_validate(that, ids) {
|
|
285 |
}
|
286 |
case "number": {
|
287 |
error_message = fm_objectL10n.number_validation;
|
288 |
-
reg_exp =
|
289 |
break;
|
290 |
}
|
291 |
case "day": {
|
@@ -306,20 +305,24 @@ function wd_validate(that, ids) {
|
|
306 |
}
|
307 |
|
308 |
// To differ empty string value from invalid value.
|
309 |
-
var isValid = document.getElementById(id).validity.valid;
|
310 |
|
311 |
-
if ( isValid ) {
|
312 |
-
|
313 |
-
}
|
314 |
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
|
|
|
|
|
|
|
|
323 |
|
324 |
jQuery("#check_email_" + wdid + "_" + form_id).remove();
|
325 |
if ( !isValid ) {
|
@@ -548,7 +551,8 @@ function fm_initilize_form(form_id) {
|
|
548 |
}
|
549 |
|
550 |
function display_none_form_views_all(form_id) {
|
551 |
-
|
|
|
552 |
if(document.getElementById(form_id+'form_view'+t)) {
|
553 |
document.getElementById(form_id+'form_view'+t).parentNode.style.display="none";
|
554 |
}
|
@@ -1988,7 +1992,8 @@ function formOnload(form_id) {
|
|
1988 |
}
|
1989 |
|
1990 |
function fm_document_ready(form_id) {
|
1991 |
-
|
|
|
1992 |
if (document.getElementById(form_id + 'form_view' + i)) {
|
1993 |
window['form_view_count' + form_id]++;
|
1994 |
window['form_view_max' + form_id] = i;
|
246 |
* @returns {boolean}
|
247 |
*/
|
248 |
function wd_validate(that, ids) {
|
|
|
249 |
if ( !jQuery(that).is("input") ) {
|
250 |
return true;
|
251 |
}
|
284 |
}
|
285 |
case "number": {
|
286 |
error_message = fm_objectL10n.number_validation;
|
287 |
+
reg_exp = /^\-{0,1}\d+(.\d+){0,1}$/;
|
288 |
break;
|
289 |
}
|
290 |
case "day": {
|
305 |
}
|
306 |
|
307 |
// To differ empty string value from invalid value.
|
308 |
+
//var isValid = document.getElementById(id).validity.valid;
|
309 |
|
310 |
+
//if ( isValid ) {
|
311 |
+
// isValid = reg_exp.test(value);
|
312 |
+
//}
|
313 |
|
314 |
+
isValid = reg_exp.test(value);
|
315 |
+
if ( value == '' ) {
|
316 |
+
isValid = true;
|
317 |
+
}
|
318 |
+
if ( isValid ) {
|
319 |
+
for ( var i in ids ) {
|
320 |
+
isValid = wd_validate("#" + ids[i], '');
|
321 |
+
if ( !isValid ) {
|
322 |
+
break;
|
323 |
+
}
|
324 |
+
}
|
325 |
+
}
|
326 |
|
327 |
jQuery("#check_email_" + wdid + "_" + form_id).remove();
|
328 |
if ( !isValid ) {
|
551 |
}
|
552 |
|
553 |
function display_none_form_views_all(form_id) {
|
554 |
+
var pagebreak_count = jQuery(".wdform-page-and-images").length;
|
555 |
+
for( t = 1; t <= pagebreak_count; t++ ) {
|
556 |
if(document.getElementById(form_id+'form_view'+t)) {
|
557 |
document.getElementById(form_id+'form_view'+t).parentNode.style.display="none";
|
558 |
}
|
1992 |
}
|
1993 |
|
1994 |
function fm_document_ready(form_id) {
|
1995 |
+
var pagebreak_count = jQuery(".wdform-page-and-images").length;
|
1996 |
+
for( i = 1; i <= pagebreak_count; i++ ) {
|
1997 |
if (document.getElementById(form_id + 'form_view' + i)) {
|
1998 |
window['form_view_count' + form_id]++;
|
1999 |
window['form_view_max' + form_id] = i;
|
readme.txt
CHANGED
@@ -3,28 +3,24 @@ Contributors: webdorado,10web
|
|
3 |
Tags: contact, contact form, email, forms, contact forms, custom form, feedback, form builder, form manager, form maker, forms builder, form builder wordpress
|
4 |
Requires at least: 3.4
|
5 |
Tested up to: 4.9
|
6 |
-
Stable tag: 1.12.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
Contact Form by WD plugin is a simple contact form builder tool, which allows the user to create and edit different types of contact forms.
|
11 |
|
12 |
== Description ==
|
13 |
-
|
14 |
-
|
15 |
-
[Try Contact Form premium and 60 other plugins for free at 10Web](https://10web.io/plugins/wordpress-form-maker/)
|
16 |
-
|
17 |
-
10Web is a new platform from WebDorado
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
Create simple contact forms or complex applications forms with this FREE and intuitive WordPress plugin. No coding knowledge is required.
|
22 |
|
|
|
|
|
|
|
23 |
[WordPress Contact Form Maker](http://web-dorado.com/products/wordpress-contact-form-maker-plugin.html)
|
24 |
|
25 |
-
WordPress Contact Form Maker is a simple
|
26 |
|
27 |
-
The number of fields for the WordPress forms builder plugin is unlimited and having large amount of fields will not cause any malfunctioning of the contact form. You can add different types of
|
28 |
|
29 |
The WordPress free form builder uses simple and easy to manage backend interface, thus the users who are not able to make code-level changes, will be able to make customization and changes using parameters. The drag and drop form builder allows you to choose from a number of form options to get just the form you need. From simple one line form to a more complex email form for the site or conditional mailing form - the free responsive form builder is a perfect solution for every website.
|
30 |
|
@@ -32,126 +28,37 @@ The dynamic web form builder allows you to view and manage all form submissions.
|
|
32 |
|
33 |
This contact form builder will equally fit the needs of the novice and experienced developers and designers.
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
Contact Form Maker WordPress plugin comes with pre-built templates, but in case you need custom forms, feel free to create your own advanced forms. The form creation process with the plugin is quick and easy.
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
###IMPORTANT: If you think you found a bug in the
|
42 |
-
|
43 |
-
|
44 |
-
###Features of the Contact Form Maker
|
45 |
-
|
46 |
-
* WordPress 3.0+
|
47 |
-
* 7 field types of the Contact Form Maker.
|
48 |
-
* Custom HTML
|
49 |
-
* Text Input (10 sub-types)
|
50 |
-
* Captcha
|
51 |
-
* Page break
|
52 |
-
* Section break
|
53 |
-
* Map
|
54 |
-
* Button
|
55 |
-
* Possibility to add Custom HTML between the fields.
|
56 |
-
* Possibility to re-order fields with drag and drop forms functionality.
|
57 |
-
* Pagination.
|
58 |
-
* Support for section break.
|
59 |
-
* Possibility of add custom CSS and Javascript to create custom contact forms.
|
60 |
-
* Additional attributes for each field to add certain properties using Java Script.
|
61 |
-
* Submissions are send to the provided admin address(es) and submitter (optional).
|
62 |
-
* Custom text for admin and users
|
63 |
-
* Shortcode for easier input of the created contact form into Pages/Posts.
|
64 |
-
* Chance to add custom HTML.
|
65 |
-
* Detailed parameters for each field type.
|
66 |
-
* Data validation before the submission of the contact form.
|
67 |
-
* Detailed Submissions field including the submissions of all contact forms.
|
68 |
-
* 10 built-in templates.
|
69 |
-
* Intuitive form editor.
|
70 |
-
* Required and hidden fields for advanced contact forms.
|
71 |
-
* Conditional fields
|
72 |
-
|
73 |
-
|
74 |
-
Please note that if you’re looking to add more complex, custom online forms, like Stripe form, PayPal form, online application form, order forms, as well as other online custom forms, you can use the Form Maker plugin, which is a more advanced form builder tool.
|
75 |
-
|
76 |
-
### Supported languages Of the Contact Form Maker
|
77 |
-
|
78 |
-
*If you need language of the Contact Form Maker which is not included in this list, please contact us and we will do the translation of Contact Form Maker within 3 days. If you find any mistakes in the translation of the Contact Form Maker, please contact us and we will make relevant corrections within 3 days.*
|
79 |
-
|
80 |
-
Afrikaans (af)
|
81 |
-
Albanian (sq)
|
82 |
-
Arabic (ar)
|
83 |
-
Armenian (hy_AM)
|
84 |
-
Belarusian (be_BY)
|
85 |
-
Bulgarian (bg_BG)
|
86 |
-
Catalan (ca)
|
87 |
-
Chinese, Simplified (zh_CN)
|
88 |
-
Croatian (hr)
|
89 |
-
Czech (cs_CZ)
|
90 |
-
Danish (da_DK)
|
91 |
-
Dutch (nl_NL)
|
92 |
-
Esperanto (eo_EO)
|
93 |
-
Estonian (et)
|
94 |
-
Finnish (fi)
|
95 |
-
French (fr_FR)
|
96 |
-
Galician (gl_ES)
|
97 |
-
Georgian (ka_GE)
|
98 |
-
German (de_DE)
|
99 |
-
Greek (el)
|
100 |
-
Hebrew (he_IL)
|
101 |
-
Hindi (hi_IN)
|
102 |
-
Hungarian (hu_HU)
|
103 |
-
Indonesian (id_ID)
|
104 |
-
Italian (it_IT)
|
105 |
-
Japanese (ja)
|
106 |
-
Korean (ko_KR)
|
107 |
-
Latvian (lv)
|
108 |
-
Lithuanian (lt_LT)
|
109 |
-
Macedonian (mk_MK)
|
110 |
-
Malay (ms_MY)
|
111 |
-
Maltese (mt_MT)
|
112 |
-
Norwegian (nb_NO)
|
113 |
-
Persian (fa_IR)
|
114 |
-
Polish (pl_PL)
|
115 |
-
Portuguese (pt_PT)
|
116 |
-
Russian (ru_RU)
|
117 |
-
Romanian (ro_RO)
|
118 |
-
Serbian (sr_RS)
|
119 |
-
Slovak (sk_SK)
|
120 |
-
Spanish (es_ES)
|
121 |
-
Swedish (sv_SE)
|
122 |
-
Tamil (ta)
|
123 |
-
Thai (th)
|
124 |
-
Turkish (tr_TR)
|
125 |
-
Ukrainian (uk_UA)
|
126 |
-
Vietnamese (vi)
|
127 |
-
|
128 |
-
|
129 |
-
== Installation ==
|
130 |
-
|
131 |
-
####Thank you for your interest in [WordPress Contact Form](http://wordpress.org/plugins/contact-form-maker/).
|
132 |
-
|
133 |
-
### Minimum requirements.
|
134 |
-
* Wordpress 3.0+
|
135 |
-
* PHP 5.x
|
136 |
-
* MySQL 5.x
|
137 |
-
|
138 |
-
### Perform a new installation
|
139 |
|
140 |
After downloading the ZIP file,
|
141 |
|
142 |
1. Log in to the administrator panel.
|
143 |
2. Go to Plugins Add > New > Upload.
|
144 |
-
3. Click
|
145 |
*For Mac Users*
|
146 |
*Go to your Downloads folder and locate the folder with the plugin. Right-click on the folder and select Compress. Now you have a newly created .zip file which can be installed as described here.*
|
147 |
-
4. Click
|
148 |
-
5. Click
|
149 |
-
6.If the installation does not succeed, please contact us at
|
150 |
-
|
151 |
-
### Updating the contact form.
|
152 |
-
|
153 |
-
If you want to update the plugin while preserving your existing contact forms, you need to deactivate and delete the Contact Form Maker from the list of installed plugins (Do not uninstall it using the Uninstall Contact Form Maker option of the plugin) and install the new plugin. Afterwards, go to Contact Form Maker>Manager and on the upper hand of the screen click on the “Update Contact Forms” button. If the update is successful, you will see a notification message saying, “All Contact forms are updated!”.
|
154 |
-
|
155 |
|
156 |
== Screenshots ==
|
157 |
1. [WordPress Contact Form](http://wordpress.org/plugins/contact-form-maker/) - Sample RSVP
|
@@ -164,6 +71,13 @@ If you want to update the plugin while preserving your existing contact forms, y
|
|
164 |
8. Contact Form Maker - Select Columns
|
165 |
|
166 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
= 1.12.15 =
|
168 |
* Fixed: Error on adding a field.
|
169 |
|
@@ -376,168 +290,207 @@ If you want to update the plugin while preserving your existing contact forms, y
|
|
376 |
* Conversion Rate of a contact form: The percentage of submitted contact forms to the overall number of views.
|
377 |
|
378 |
|
379 |
-
==
|
380 |
-
### Step 1: Installing the [wordpress contact form](http://wordpress.org/plugins/contact-form-maker/)
|
381 |
|
382 |
-
|
383 |
-
Wordpress 3.0+
|
384 |
-
PHP 5.x
|
385 |
-
MySQL 5.x
|
386 |
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
*Go to your Downloads folder and locate the folder with the plugin. Right-click on the folder and select Compress. Now you have a newly created .zip file which can be installed as described here.*
|
393 |
-
Click “Install Now” button.
|
394 |
-
If the installation succeeded you will see the message in the picture. Click “Activate Plugin” button for activating the plugin.
|
395 |
-
If any problem occurs, please contact us at info@web-dorado.com.
|
396 |
|
397 |
-
|
398 |
|
399 |
-
|
400 |
|
|
|
401 |
|
402 |
-
|
403 |
|
404 |
-
|
405 |
-
2.2 In the upper left corner click on the “Add a form” button.
|
406 |
-
2.3 Contact Form Title. Specify a title for the contact form.
|
407 |
|
|
|
408 |
|
409 |
-
|
410 |
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
3.1.3 From Name. Here you define the sender’s name which is shown in submission email.
|
415 |
-
3.1.4 Theme. A distinct theme can be applied to each new contact form. The themes can be accessed by selecting Contact Form Maker > Themes on the top menu. 41 themes are available for selection. There is an option for creating new themes, which you can access by clicking “New” on the upper right corner of the section.
|
416 |
|
417 |
-
3.2 Actions after Submission
|
418 |
Here you can select the action that takes place after contact form submission. Following options are available:
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
|
|
|
|
|
|
|
|
|
|
432 |
Here you can define new JavaScript functions, which can be applied to the contact form. Three empty event functions are included:
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
3.5 Custom Text in Email
|
437 |
-
For Administrator. Here you can add custom texts, images, and custom HTML to the e-mail message that is sent to the administrator, as well as choose which fields of the submitted contact form are included in the e-mail (set to ‘all’ by default).
|
438 |
-
For User. Here you can add custom texts, images, and custom HTML to the e-mail message that is sent to the users, as well as choose which fields of the submitted contact form are included in the e-mail (set to ‘all’ by default).
|
439 |
-
|
440 |
-
= Step 4: Description of the contact form fields =
|
441 |
-
|
442 |
-
4.1 Custom HTML:An HTML editor. You can insert your own HTML content to your WordPress contact form.
|
443 |
-
|
444 |
-
4.2 Text Input: At first choose the Field Type according to your preference. There are several options:
|
445 |
-
Simple Text: This can be used for typing some text. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Required, Allow only unique values, Additional Attributes
|
446 |
-
|
447 |
-
Password: This field can be used for adding a password field to your contact form. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Allow only unique values, Additional Attributes
|
448 |
-
Text Area: This field can be used for typing some text. The difference between Text Area and Simple Text is that Simple Text has only one row while Text Area can have several rows. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Required, Allow only unique values, Additional Attributes
|
449 |
-
Name: This can be used for typing a name. Default field labels can be edited clicking on the field label and typing in a custom label. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Value If Empty, Field Size, Name Format, Class Name, Required, Allow only unique values, Additional Attributes
|
450 |
-
Address: This field can be used for adding an address. Default field labels can be edited clicking on the label and typing in a custom label. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Overall Size, Class Name, Disable Fields, Required, Additional Attributes
|
451 |
-
Address (Mark on Map):This filed can be used for adding an address by directly marking it on the map. It has several attributes: Field Label, Field Label Position, Default Location, Map Size, Marker Info, Class Name, Additional Attributes
|
452 |
-
E-mail:This field can be used for typing the submitter’s e-mail. The submitted e-mail validation is checked. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Send mail to submitter, Required, Allow only unique values, Additional Attributes.
|
453 |
-
Number: This field can be used to provide numbers for different purposes (e.g. serial number). It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Required, Allow only unique values, Additional Attributes
|
454 |
-
Phone: This field can be used to provide a phone number. Default field labels can be edited clicking on the label and typing in a custom label. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Value If Empty, Field Size, Class Name, Required, Allow only unique values, Additional Attributes
|
455 |
-
Hidden Field: This field can be used to store additional information that does not need to be displayed. It has several attributes : Field ld, Field Name, Field Value, Additional Attributes.
|
456 |
-
4.3 Time and Date: Choose the Field Type according to your preference. There are several options:
|
457 |
-
Date (single field with a picker): This field can be used for typing a date or choosing by the picker. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Date format, Date Picker Label, Class Name, Required, Additional Attributes.
|
458 |
-
Date (3 separate fields): This field can be used for typing a date in 3 field format(day, month, year). Default field labels can be edited clicking on the field label and typing in a custom label. Each of the 3 fields can be set as text input or select list. Each of the 3 fields has the attributes Field Size and Field Label. For year field the select list interval can be defined. These 3 fields can be separated in the format set by the fields separator attribute. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Required, Additional Attributes.
|
459 |
-
Time: This field can be used for typing a time. Default field labels can be edited clicking on the field label and typing in a custom label. Time can be shown in 24 hour or 12 hour formats by setting the time format attribute. The seconds preview can be enabled/disabled by setting the Display Seconds attribute. The field has several standard attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Required, Additional Attributes.
|
460 |
-
4.4 Select: Choose the Field Type according to your preference. There are several options:
|
461 |
-
Custom select: This field can be used for selecting the values from a list. The list can be defined by Options attribute. You can easily add and remove list items. The checked items are considered as empty values. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Additional Attributes.
|
462 |
-
Country list: This field can be used for selecting a country from a list. It has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Additional Attributes.
|
463 |
-
4.5 Checkbox: This field can be used for selecting the values from a list of checkboxes. The list can be defined by Options attribute. You can easily add and remove list items. The list can be displayed in horizontal/vertical positions by setting the Relative Position attribute. You can use Rows/Columns field if you want the options to be displayed in a row/column (depending on the positioning choice). The number of rows/columns should be specified. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Randomize in frontend, Allow other, Additional Attributes.
|
464 |
-
|
465 |
-
4.6Radio:This field can be used for selecting the values from a list of radio buttons. The list can be defined by Options attribute. You can use Rows/Columns field if you want the options to be displayed in a row/column (depending on the positioning choice). The number of rows/columns should be specified. You can easily add and remove list items. The list can be displayed in horizontal/vertical positions by setting the Relative Position attribute.The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Randomize in frontend, Allow other, Additional Attributes.
|
466 |
-
|
467 |
-
4.7 File Upload: This field can be used for uploading a file. The size of the uploaded file can be limited by setting the value of Maximum Size attribute in KB. The upload folder can be mentioned by setting the Destination attribute. Only files with extensions listed in Allowed file extensions attribute can be uploaded. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Required, Additional Attributes.
|
468 |
-
|
469 |
-
4.8 Captcha:This field can be used for the ensuring that the submission is generated by a person. Choose the Field Type according to your preference. There are several options:
|
470 |
-
Simple Captcha This is a easy to configure Simple Captcha. The number of randomly generated symbols can be set by the value of Captcha size attribute. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Additional Attributes.
|
471 |
-
Recaptcha This is an alternative option for Captcha that uses Public and Private Keys. You will need to create reCaptcha keys with the help of a dedicated tool.The tool can be found on https://www.google.com/recaptcha/admin/create.
|
472 |
-
|
473 |
-
4.9 Page Break: This can be used to break the contact form into distinct pages. Use Page Title to provide a title for the given page. Furthermore, the following parameters of the “Next” and “Previous” navigation buttons can be customized:
|
474 |
-
Type, Name, Class Name, Check the required fields , Additional Attributes.
|
475 |
|
476 |
-
|
477 |
|
478 |
-
|
479 |
-
Location, Map Size, Marker Info, Class Name, Additional Attributes.
|
480 |
|
481 |
-
|
482 |
-
Amount (Price) This field is for indicating the amount of payment. Default field labels can be edited clicking on the field label and typing in a custom label. You can configure the following attributes: Field Label, Field Label Position, Range, Value If Empty, Field Size, Class Name, Required, Hide Cents, and Additional Attributes.
|
483 |
-
Select This field can be used for selecting a product/service for which the payment is being made. The list (each item consists of “Product name” and its “Price”)can be specified by the Options attribute. You can easily add and remove list items. There is also a Product Properties parameter, where you can add different properties (e.g. size) by specifying the type, the name, and adding options for selection. The checked items are considered as empty values. You can configure the following attributes: Field Label, Field Label Position, Field Size, Class Name, Required, and Additional Attributes.
|
484 |
-
Checkbox This field can be used for selecting multiple products/services for which the payment is being made. The options (each item consists of “Product name” and its “Price”) can be specified by the Options attribute. You can easily add and remove list items. There is also a quantity property parameter where the quantity of products/services can be specified. Moreover, there is a Product Properties parameter, where you can add different properties (e.g. size) by specifying the type, the name, and adding options for selection. You can configure the following attributes: Field Label, Field Label Position, Relative Position, Class Name, Required, and Additional Attributes.
|
485 |
-
Radio This field can be used for selecting the product/service for which the payment is being made. The options (each item consists of “Product name” and its “Price”) can be specified by the Options attribute. You can easily add and remove list items. There is also a quantity property parameter where the quantity of products/services can be specified. Moreover, there is a Product Properties parameter, where you can add different properties (e.g. size) by specifying the type, the name, and adding options for selection. You can configure the following attributes: Field Label, Field Label Position, Relative Position, Class Name, Required, and Additional Attributes.
|
486 |
-
Shipping This field can be used for selecting the shipping option for the selected product. The options (each item consists of a “Type” and “Price” parameters) can be specified by the Options attribute. You can easily add and remove list items. You can configure the following attributes: Field Label, Field Label Position, Relative Position, Class Name, Required, and Additional Attributes.
|
487 |
-
Total This field calculates the total sum to be paid via PayPal, including the payments for the shipping and taxes (if applicable).
|
488 |
|
489 |
-
|
490 |
-
Star Rating: This field can be used for inserting star rating field in the contact form. Type the name of the field to be displayed with the rating system. The field has several attributes: Field Label Position, Star Amount, Star Color, Class Name, Required, and Additional Attributes.
|
491 |
-
Scale Rating: This field can be used for inserting scale rating in the contact form. Type the name of the field to be displayed with the rating system.Default field labels for lowest/highest satisfaction/grading can be edited clicking on the field label and typing in a custom label. The field has several attributes: Field Label Position, Scale Amount, Class Name, Required, and Additional Attributes.
|
492 |
-
Spinner: This field can be used for inserting spinner as a rating system in the contact form. Type the name of the field to be displayed with the rating system. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Width, Min Value, Max Value, Step, Class Name, Required, and Additional Attributes.
|
493 |
-
Slider: This field can be used for inserting slider as a rating system in the contact form. Type the name of the field to be displayed with the rating system. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Width, Min Value, Max Value, Class Name, Required, and Additional Attributes.
|
494 |
-
Range: This field can be used for inserting range system in the contact form. Type the name of the field to be displayed with the range system. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Width, Step, Class Name, Required, and Additional Attributes.
|
495 |
-
Grading: This field can be used for inserting grading system in the contact form. Type the name of the field to be displayed with the grading system. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Total, Items, Class Name, Required, and Additional Attributes.
|
496 |
-
Matrix: This field can be used for inserting a matrix in the contact form. Type the name of the field to be displayed with the matrix. The field has several attributes: Field Label, Field Label Position, Input Type, Rows, Columns, Class Name, Required, and Additional Attributes.
|
497 |
-
4.14 Submit Button: Choose the Field Type according to your preference. There are several options:
|
498 |
-
Submit and Reset: This field can be used for inserting a submit/reset button into the contact form. You can display reset button by checking the box called Display reset button. Type the name of the submit and reset buttons in Submit button label and Reset button label. The field also has several attributes: Class Name and Additional Attributes.
|
499 |
-
Custom: This field can be used for inserting custom buttons into the contact form. Type the name of each button in button name field. You can define click functions for each button. The field also has several attributes: Class Name and Additional Attributes.
|
500 |
|
501 |
-
|
502 |
|
503 |
-
|
504 |
|
|
|
505 |
|
506 |
-
|
507 |
-
5.1. Press the button named Insert Contact Form Maker in a post or a page you want to show the contact form.
|
508 |
|
509 |
-
|
510 |
|
|
|
511 |
|
512 |
-
|
513 |
-
5.3. Save the page or the post.
|
514 |
|
515 |
-
|
516 |
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
|
522 |
-
|
523 |
|
524 |
-
|
525 |
-
- Entries: The number of submitted contact forms.
|
526 |
-
- Views: The number of times the contact form has been viewed.
|
527 |
-
- Conversion Rate: The percentage of submitted contact forms to the overall number of views.
|
528 |
|
529 |
-
|
530 |
|
531 |
-
|
532 |
|
|
|
533 |
|
534 |
-
|
535 |
|
536 |
-
|
537 |
|
|
|
538 |
|
539 |
-
|
540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
|
543 |
-
|
3 |
Tags: contact, contact form, email, forms, contact forms, custom form, feedback, form builder, form manager, form maker, forms builder, form builder wordpress
|
4 |
Requires at least: 3.4
|
5 |
Tested up to: 4.9
|
6 |
+
Stable tag: 1.12.16
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
10 |
Contact Form by WD plugin is a simple contact form builder tool, which allows the user to create and edit different types of contact forms.
|
11 |
|
12 |
== Description ==
|
13 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
Create simple contact forms or complex applications forms with this FREE and intuitive WordPress plugin. No coding knowledge is required.
|
15 |
|
16 |
+
[Special Offer for all Premium Plugins](https://web-dorado.com/wordpress-plugins-bundle.html)
|
17 |
+
|
18 |
+
|
19 |
[WordPress Contact Form Maker](http://web-dorado.com/products/wordpress-contact-form-maker-plugin.html)
|
20 |
|
21 |
+
WordPress Contact Form Maker is a simple form creator, which allows the user with almost no knowledge of programming to create and edit different type of responsive forms. The product is similar to the WordPress Form Maker using most of its functionality, whereas there are also some differences. If want to build advanced forms with various field types like Date, Time, Single choice, Multiple choice, etc., than you can use [WordPress Form Builder](http://wordpress.org/extend/plugins/form-maker).
|
22 |
|
23 |
+
The number of fields for the WordPress forms builder plugin is unlimited and having large amount of fields will not cause any malfunctioning of the contact form. You can add different types of fields, including inputs (e.g. e-mail, password, text area, text input and etc.), Captcha (as well as possibility of adding Google standard ReCaptcha), custom and standard buttons, as well as Map field.
|
24 |
|
25 |
The WordPress free form builder uses simple and easy to manage backend interface, thus the users who are not able to make code-level changes, will be able to make customization and changes using parameters. The drag and drop form builder allows you to choose from a number of form options to get just the form you need. From simple one line form to a more complex email form for the site or conditional mailing form - the free responsive form builder is a perfect solution for every website.
|
26 |
|
28 |
|
29 |
This contact form builder will equally fit the needs of the novice and experienced developers and designers.
|
30 |
|
31 |
+
###Features
|
32 |
+
* Intuitive form editor
|
33 |
+
* Custom HTML between the fields
|
34 |
+
* Possibility to re-order fields with drag and drop
|
35 |
+
* Pagination
|
36 |
+
* Section breaks
|
37 |
+
* Custom email messages for admin and users
|
38 |
+
* Detailed parameters for each field type
|
39 |
+
* Data validation before the submission of the form.
|
40 |
+
* Conditional logic
|
41 |
+
|
42 |
+
Please note, that if you’re looking to add more complex, custom online forms with more field types, File upload field, Stripe and PayPal integrations, and many other premium features, you can use the [Contact Form Maker premium plugin](https://web-dorado.com/products/wordpress-contact-form-maker-plugin.html), which is a more advanced form builder tool.
|
43 |
|
44 |
Contact Form Maker WordPress plugin comes with pre-built templates, but in case you need custom forms, feel free to create your own advanced forms. The form creation process with the plugin is quick and easy.
|
45 |
|
46 |
+
This WordPress plugin is a must have free form builder for any website. It allows you to share contact info like address, email, phone, etc., but also allows you to add email forms, making it possible for your users to leave their feedback and comments directly through email submit forms. Try contact form plugin today and create web forms free and easy!
|
47 |
+
|
48 |
+
###IMPORTANT: If you think you found a bug in the plugin or have any problem or question concerning Contact Form Maker, do not hesitate to contact us at [info@web-dorado.com](mailto:info@web-dorado.com).
|
49 |
+
|
50 |
+
== Installation ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
After downloading the ZIP file,
|
53 |
|
54 |
1. Log in to the administrator panel.
|
55 |
2. Go to Plugins Add > New > Upload.
|
56 |
+
3. Click "Choose file" ("Browse") and select the downloaded zip file.
|
57 |
*For Mac Users*
|
58 |
*Go to your Downloads folder and locate the folder with the plugin. Right-click on the folder and select Compress. Now you have a newly created .zip file which can be installed as described here.*
|
59 |
+
4. Click "Install Now" button.
|
60 |
+
5. Click "Activate Plugin" button for activating the plugin.
|
61 |
+
6.If the installation does not succeed, please contact us at [info@web-dorado.com](mailto:info@web-dorado.com).
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
== Screenshots ==
|
64 |
1. [WordPress Contact Form](http://wordpress.org/plugins/contact-form-maker/) - Sample RSVP
|
71 |
8. Contact Form Maker - Select Columns
|
72 |
|
73 |
== Changelog ==
|
74 |
+
|
75 |
+
= 1.12.16 =
|
76 |
+
* Improved: Email functionality.
|
77 |
+
* Fixed: Multiple choice and single choice with long labels.
|
78 |
+
* Fixed: Submissions CSV export with UTF-8 encoding.
|
79 |
+
* Fixed: Form preview for not embedded forms.
|
80 |
+
|
81 |
= 1.12.15 =
|
82 |
* Fixed: Error on adding a field.
|
83 |
|
290 |
* Conversion Rate of a contact form: The percentage of submitted contact forms to the overall number of views.
|
291 |
|
292 |
|
293 |
+
== Frequently Asked Questions ==
|
|
|
294 |
|
295 |
+
= How should I create a new contact form? =
|
|
|
|
|
|
|
296 |
|
297 |
+
On the left menu select Contact Form > Forms
|
298 |
+
In the upper left corner click on the "Add New" button.
|
299 |
+
Contact Form Title. Specify a title for the contact form.
|
300 |
+
|
301 |
+
= Can I configure Contact Form general options? =
|
|
|
|
|
|
|
|
|
302 |
|
303 |
+
Open your form, then navigate to Contact Form Options > General Options tab. You will find a variety of options here.
|
304 |
|
305 |
+
= Where can I setup submission notifications via emal? =
|
306 |
|
307 |
+
Switch to Email Options tab of Form Options page and configure the following settings:
|
308 |
|
309 |
+
Email to send submissions to. Here you provide e-mails to which submitted contact form information is sent. If you need more than one e-mail address, you must separate them by commas. This field is not required. In any case, the submitted information is stored in "Submissions" part, where it can be easily managed.
|
310 |
|
311 |
+
Email From. Here you define the email address from which the users receive the submission email (sender’s email).
|
|
|
|
|
312 |
|
313 |
+
From Name. Here you define the sender’s name which is shown in submission email.
|
314 |
|
315 |
+
Theme. A distinct theme can be applied to each new contact form. The themes can be accessed by selecting Contact Form Maker > Themes on the top menu. 41 themes are available for selection. There is an option for creating new themes, which you can access by clicking "New" on the upper right corner of the section.
|
316 |
|
317 |
+
= Is it possible to set an action after submission? =
|
318 |
+
|
319 |
+
Actions after Submission feature of Contact Form Maker lets you do this. Go to Form Options > Actions after Submission.
|
|
|
|
|
320 |
|
|
|
321 |
Here you can select the action that takes place after contact form submission. Following options are available:
|
322 |
+
* Stay on contact form: The user stays on the contact form page.
|
323 |
+
* Article: The user is redirected to the selected article.
|
324 |
+
* Custom text: Custom text is displayed on the screen.
|
325 |
+
* URL: The user is redirected to the provided URL.
|
326 |
+
|
327 |
+
= Is it possible to make payments through contact form? =
|
328 |
+
|
329 |
+
[Premium version of Contact Form Maker plugin](https://web-dorado.com/products/wordpress-contact-form-maker-plugin.html) is integrated with PayPal. It provides the following Payment Options.
|
330 |
+
|
331 |
+
* Turn on PayPal. Allows making PayPal paymentsusing Contact Form Maker.
|
332 |
+
* Checkout Mode. Choose the checkout mode: [Production](https://developer.paypal.com/webapps/developer/docs/classic/lifecycle/goingLive/) or [Test Mode](https://developer.paypal.com/webapps/developer/docs/integration/direct/test-the-api/)
|
333 |
+
* PayPal Email. Enter your PayPal email.
|
334 |
+
* PayPal Currency. Choose your PayPal currency.
|
335 |
+
* Tax. Add the tax amount if any.
|
336 |
+
|
337 |
+
= How can I apply custom Javascript code to the form? =
|
338 |
+
|
339 |
+
You can do that through JavaScript editor of
|
340 |
Here you can define new JavaScript functions, which can be applied to the contact form. Three empty event functions are included:
|
341 |
+
* before_load(): before the contact form is loaded
|
342 |
+
* before_submit(): before the contact form is submitted
|
343 |
+
* before_reset(): before the contact form is reset
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
+
= Can I edit the text in submission email? =
|
346 |
|
347 |
+
You can do this from Form Options > Email Options of your contact form.
|
|
|
348 |
|
349 |
+
**For Administrator**
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
+
Here you can add custom texts, images, and custom HTML to the e-mail message that is sent to the administrator, as well as choose which fields of the submitted contact form are included in the e-mail (set to ‘all’ by default).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
|
353 |
+
**For User**
|
354 |
|
355 |
+
Here you can add custom texts, images, and custom HTML to the e-mail message that is sent to the users, as well as choose which fields of the submitted contact form are included in the e-mail (set to ‘all’ by default).
|
356 |
|
357 |
+
= Can I insert text or HTML into a form? =
|
358 |
|
359 |
+
Yes, you can do this using Custom HTML field, which is an HTML editor. You can insert your own HTML content to your WordPress contact form.
|
|
|
360 |
|
361 |
+
= How can I add a single line text input? =
|
362 |
|
363 |
+
You can place Text Input field on your form. At first choose the Field Type according to your preference. There are several options:
|
364 |
|
365 |
+
Simple Text: This can be used for typing some text. It has several attributes:
|
|
|
366 |
|
367 |
+
Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Required, Allow only unique values, Additional Attributes.
|
368 |
|
369 |
+
= Can I allow users to write hidden text? =
|
370 |
+
|
371 |
+
You can use Password field. This field can be used for adding a password field to your contact form. It has several attributes:
|
372 |
+
|
373 |
+
Field Id, Field Name, Field Label, Field Label Position, Field Size, Class Name, Required, Allow only unique values, Additional Attributes.
|
374 |
+
|
375 |
+
= Is it possible to enter a paragraph text with the form? =
|
376 |
+
|
377 |
+
Text Area field can be used for typing some text. The difference between Text Area and Simple Text is that Simple Text has only one row while Text Area can have several rows. It has several attributes:
|
378 |
+
|
379 |
+
Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Required, Allow only unique values, Additional Attributes.
|
380 |
+
|
381 |
+
= Can I let users provide their names? =
|
382 |
+
|
383 |
+
Name field can be used for typing a name. Default field labels can be edited clicking on the field label and typing in a custom label. It has several attributes:
|
384 |
+
|
385 |
+
Field Id, Field Name, Field Label, Field Label Position, Value If Empty, Field Size, Name Format, Class Name, Required, Allow only unique values, Additional Attributes.
|
386 |
+
|
387 |
+
= How can I ask the submitter to provide address? =
|
388 |
+
|
389 |
+
Address field can be used for adding an address. Default field labels can be edited clicking on the label and typing in a custom label. It has several attributes:
|
390 |
|
391 |
+
Field Id, Field Name, Field Label, Field Label Position, Overall Size, Class Name, Disable Fields, Required, Additional Attributes
|
392 |
|
393 |
+
Alternatively, you can use Address (Mark on Map). This filed can be used for adding an address by directly marking it on the map. It has several attributes:
|
|
|
|
|
|
|
394 |
|
395 |
+
Field Label, Field Label Position, Default Location, Map Size, Marker Info, Class Name, Additional Attributes.
|
396 |
|
397 |
+
= Is there a field with email validation? =
|
398 |
|
399 |
+
E-mail field can be used for typing the submitter’s e-mail. The submitted e-mail validation is checked. It has several attributes:
|
400 |
|
401 |
+
Field Id, Field Name, Field Label, Field Label Position, Field Size, Value If Empty, Class Name, Send mail to submitter, Required, Allow only unique values, Additional Attributes.
|
402 |
|
403 |
+
= Can the contact form have a phone number field? =
|
404 |
|
405 |
+
Phone field can be used to provide a phone number. Default field labels can be edited clicking on the label and typing in a custom label. It has several attributes:
|
406 |
|
407 |
+
Field Id, Field Name, Field Label, Field Label Position, Value If Empty, Field Size, Class Name, Required, Allow only unique values, Additional Attributes.
|
408 |
|
409 |
+
= Is it possible to place a field hidden from users? =
|
410 |
+
|
411 |
+
You can use Hidden Field of Contact Form Maker. This field can be used to store additional information that does not need to be displayed. It has several attributes:
|
412 |
+
|
413 |
+
Field ld, Field Name, Field Value, Additional Attributes.
|
414 |
+
|
415 |
+
= Is it possible to allow users upload files through forms? =
|
416 |
+
|
417 |
+
To add a file upload field, you need to purchase the [Premium version of Contact Form Maker plugin](https://web-dorado.com/products/wordpress-contact-form-maker-plugin.html). This field can be used for uploading a file. The size of the uploaded file can be limited by setting the value of Maximum Size attribute in KB. The upload folder can be mentioned by setting the Destination attribute. Only files with extensions listed in Allowed file extensions attribute can be uploaded.
|
418 |
+
|
419 |
+
The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Required, Additional Attributes.
|
420 |
+
|
421 |
+
= What should I do to avoid spam submissions? =
|
422 |
+
|
423 |
+
Contact Form Maker plugin provides the following two spam protection features.
|
424 |
+
|
425 |
+
**Captcha**
|
426 |
+
|
427 |
+
This field can be used for the ensuring that the submission is generated by a person. Choose the Field Type according to your preference. There are several options:
|
428 |
+
|
429 |
+
* Simple Captcha. The number of randomly generated symbols can be set by the value of Captcha size attribute. The field has several attributes: Field Id, Field Name, Field Label, Field Label Position, Class Name, Additional Attributes.
|
430 |
+
* Recaptcha This is an alternative option for Captcha that uses Public and Private Keys. You will need to create reCaptcha keys with the help of a dedicated tool.The tool can be found on https://www.google.com/recaptcha/admin/create.
|
431 |
+
|
432 |
+
= How can I separate the form into pages? =
|
433 |
+
|
434 |
+
You need to place Page Break field on your form. This can be used to break the contact form into distinct pages. Use Page Title to provide a title for the given page.
|
435 |
+
|
436 |
+
Furthermore, the following parameters of the "Next" and "Previous" navigation buttons can be customized:
|
437 |
+
Type, Name, Class Name, Check the required fields , Additional Attributes.
|
438 |
+
|
439 |
+
= Can the form have multiple sections? =
|
440 |
+
|
441 |
+
Yes, you can do that by adding Section Break fields to your form. This option allows adding a section break to the contact form page.
|
442 |
+
|
443 |
+
= Is it possible to display a map on the form? =
|
444 |
+
|
445 |
+
Map field can be used for pointing out some position on the map. The position of the marker is fixed at the front end. Multiple locations can be selected by clicking the + button.
|
446 |
+
|
447 |
+
The field has several attributes:
|
448 |
+
Location, Map Size, Marker Info, Class Name, Additional Attributes.
|
449 |
+
|
450 |
+
= What buttons can I use the form? =
|
451 |
+
|
452 |
+
Contact Form Maker provides the following types of buttons.
|
453 |
+
|
454 |
+
**Submit Button**
|
455 |
+
|
456 |
+
Choose the Field Type according to your preference. There are several options:
|
457 |
+
|
458 |
+
**Submit and Reset:** This field can be used for inserting a submit/reset button into the contact form. You can display reset button by checking the box called Display reset button. Type the name of the submit and reset buttons in Submit button label and Reset button label.
|
459 |
+
|
460 |
+
The field also has several attributes: Class Name and Additional Attributes.
|
461 |
+
|
462 |
+
**Custom**
|
463 |
+
|
464 |
+
This field can be used for inserting custom buttons into the contact form. Type the name of each button in button name field. You can define click functions for each button. The field also has several attributes: Class Name and Additional Attributes.
|
465 |
+
|
466 |
+
= How can I publish the created contact form? =
|
467 |
+
|
468 |
+
To insert a contact form into a Page or a Post.
|
469 |
+
|
470 |
+
Press the button named Insert Contact Form Maker in a post or a page you want to show the contact form.
|
471 |
+
Select a contact form from the list.
|
472 |
+
|
473 |
+
Save the page or the post.
|
474 |
+
|
475 |
+
Alternatively, you can use Contact Form Maker without the button on the toolbar: Add the shortcode [wd_contact_form id="N"] (where N is the id of the contact form, for the contact form with id=2, the shortcode must be [wd_contact_form id="2"]) to the pages and posts, where you want the contact form to appear.
|
476 |
|
477 |
+
= Where can I find the submissions of the contact form? =
|
478 |
+
|
479 |
+
On the left menu select Contact Form Maker > Submissions
|
480 |
+
|
481 |
+
In order to manage a contact form's submissions, select the contact form from the list.
|
482 |
+
|
483 |
+
For each contact form certain types of statistical data are available:
|
484 |
+
* Entries: The number of submitted contact forms.
|
485 |
+
* Views: The number of times the contact form has been viewed.
|
486 |
+
* Conversion Rate: The percentage of submitted contact forms to the overall number of views.
|
487 |
+
|
488 |
+
There is a possibility to search the submissions database by all the relevant fields of the given contact form. Submissions can be sorted by any of the fields of the contact form by clicking the labels.
|
489 |
+
|
490 |
+
You can delete any of submissions by selecting them and pressing the "Delete" button on the top of the page.
|
491 |
+
|
492 |
+
It is also possible to edit the submissions by clicking "Edit" on the particular submission.
|
493 |
+
|
494 |
+
You can add/remove any column of the submissions by "Add/Remove Columns" button.
|
495 |
|
496 |
+
The submissions can be exported to the CSV and XML formats.
|