Version Description
- Changed: improved Form Submissions view: added tooltips for long labels of form fields.
- Added: detailed descriptions of form fields inside the form editor
- Fixed: Theme save bug.
- Fixed: UTF-8 text in Email body.
Download this release
Release Info
Developer | webdorado |
Plugin | Contact Form by WD – responsive drag & drop contact form builder tool |
Version | 1.12.18 |
Comparing to | |
See all releases |
Code changes from version 1.12.17 to 1.12.18
- admin/controllers/Checkpaypal.php +1 -1
- admin/views/FormMakerSubmits.php +2 -0
- admin/views/Manage_fm.php +52 -39
- admin/views/Options_fm.php +4 -4
- admin/views/Submissions_fm.php +42 -12
- contact-form-maker.php +43 -5
- css/form_maker_tables.css +25 -5
- frontend/models/form_maker.php +2 -2
- js/add_field.js +49 -6
- js/form_maker_submissions.js +25 -0
- js/themes.js +1 -1
- readme.txt +7 -1
admin/controllers/Checkpaypal.php
CHANGED
@@ -171,7 +171,7 @@ class FMControllerCheckpaypal {
|
|
171 |
$message = $this->view->payment_information_template($template_params);
|
172 |
$header_arr = array();
|
173 |
$header_arr['content_type'] = "text/html";
|
174 |
-
$header_arr['charset'] = '
|
175 |
WDW_FMC_Library::mail($recipient, $subject, $message, $header_arr);
|
176 |
}
|
177 |
}
|
171 |
$message = $this->view->payment_information_template($template_params);
|
172 |
$header_arr = array();
|
173 |
$header_arr['content_type'] = "text/html";
|
174 |
+
$header_arr['charset'] = 'UTF-8';
|
175 |
WDW_FMC_Library::mail($recipient, $subject, $message, $header_arr);
|
176 |
}
|
177 |
}
|
admin/views/FormMakerSubmits.php
CHANGED
@@ -23,6 +23,8 @@ class FMViewFormMakerSubmits_fmc {
|
|
23 |
padding: 6px;
|
24 |
border: 1px solid #fff;
|
25 |
font-size: 13px;
|
|
|
|
|
26 |
}
|
27 |
|
28 |
.field_label {
|
23 |
padding: 6px;
|
24 |
border: 1px solid #fff;
|
25 |
font-size: 13px;
|
26 |
+
max-width:288px;
|
27 |
+
word-break: break-all;
|
28 |
}
|
29 |
|
30 |
.field_label {
|
admin/views/Manage_fm.php
CHANGED
@@ -826,6 +826,7 @@ $stats_labels = $params['stats_labels'];
|
|
826 |
<label class="wd-label-radio" for="fm_go-savedb-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
827 |
<input type="radio" name="savedb" <?php echo $row->savedb == 0 ? 'checked="checked"' : '' ?> id="fm_go-savedb-0" class="wd-radio" value="0">
|
828 |
<label class="wd-label-radio" for="fm_go-savedb-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
|
|
829 |
</span>
|
830 |
<span class="wd-group theme-wrap">
|
831 |
<label class="wd-label"><?php _e('Theme', WDCFM()->prefix); ?></label>
|
@@ -852,62 +853,68 @@ $stats_labels = $params['stats_labels'];
|
|
852 |
WDCFM()->nonce => wp_create_nonce(WDCFM()->nonce)
|
853 |
), admin_url('admin.php?page=themes' . WDCFM()->menu_postfix . '&task=edit')); ?>'); return false;"><?php _e('Edit', WDCFM()->prefix); ?></a>
|
854 |
<div id="old_theme_notice" class="error inline" style="display: none;"><p><?php _e('The theme you have selected is outdated. Please choose one from New Themes section.', WDCFM()->prefix); ?></p></div>
|
855 |
-
|
|
|
|
|
856 |
<span class="wd-group">
|
857 |
<label class="wd-label" for="requiredmark"><?php _e('Required fields mark', WDCFM()->prefix); ?></label>
|
858 |
<input type="text" id="requiredmark" name="requiredmark" value="<?php echo $row->requiredmark; ?>">
|
859 |
-
|
|
|
860 |
<span class="wd-group">
|
861 |
<label class="wd-label"><?php _e('Save Uploads', WDCFM()->prefix); ?></label>
|
862 |
<input type="radio" name="save_uploads" <?php echo $row->save_uploads == 1 ? 'checked="checked"' : '' ?> id="fm_go-save_uploads-1" class="wd-radio" value="1">
|
863 |
<label class="wd-label-radio" for="fm_go-save_uploads-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
864 |
<input type="radio" name="save_uploads" <?php echo $row->save_uploads == 0 ? 'checked="checked"' : '' ?> id="fm_go-save_uploads-0" class="wd-radio" value="0">
|
865 |
<label class="wd-label-radio" for="fm_go-save_uploads-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
866 |
-
|
|
|
867 |
</div>
|
868 |
</div>
|
869 |
</div>
|
870 |
<div class="wd-table-col wd-table-col-50 wd-table-col-right">
|
871 |
<div class="wd-box-section">
|
872 |
<div class="wd-box-content">
|
873 |
-
|
874 |
-
|
875 |
-
<?php
|
876 |
-
$checked_UserGroup = explode(',', $row->user_id_wd);
|
877 |
-
$i = 0;
|
878 |
-
foreach ( $userGroups as $val => $uG ) {
|
879 |
-
echo "\r\n" . '<input type="checkbox" value="' . $val . '" id="user_' . $i . '" ';
|
880 |
-
if ( in_array($val, $checked_UserGroup) ) {
|
881 |
-
echo ' checked="checked"';
|
882 |
-
}
|
883 |
-
echo ' onchange="acces_level(' . count($userGroups) . ')" /><label for="user_' . $i . '">' . $uG["name"] . '</label><br>';
|
884 |
-
$i++;
|
885 |
-
}
|
886 |
-
?>
|
887 |
-
<input type="checkbox" value="guest" id="user_<?php echo $i; ?>" onchange="acces_level(<?php echo count($userGroups); ?>)"<?php echo(in_array('guest', $checked_UserGroup) ? 'checked="checked"' : '') ?>/><label for="user_<?php echo $i; ?>">Guest</label>
|
888 |
-
<input type="hidden" name="user_id_wd" value="<?php echo $row->user_id_wd ?>" id="user_id_wd" />
|
889 |
-
</span>
|
890 |
-
<?php if ( count($label_titles_for_submissions) ) { ?>
|
891 |
-
<span class="wd-group">
|
892 |
-
<label class="wd-label"><?php _e('Fields to hide in frontend submissions', WDCFM()->prefix); ?></label>
|
893 |
-
<ul id="form_fields">
|
894 |
-
<li>
|
895 |
-
<input type="checkbox" name="all_fields" id="all_fields" onclick="checkAllByParentId('form_fields'); checked_labels('filed_label')" value="submit_id,<?php echo implode(',', $labels_id_for_submissions) . "," . ($payment_info ? "payment_info" : ""); ?>" />
|
896 |
-
<label for="all_fields"><?php _e('Select All', WDCFM()->prefix); ?></label>
|
897 |
-
</li>
|
898 |
<?php
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
echo "
|
903 |
-
|
904 |
-
|
905 |
-
|
|
|
|
|
906 |
}
|
907 |
?>
|
908 |
-
|
909 |
-
|
910 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
911 |
<?php if ( $stats_labels ) { ?>
|
912 |
<span class="wd-group">
|
913 |
<label class="wd-label"><?php _e('Stats fields:', WDCFM()->prefix); ?></label>
|
@@ -924,7 +931,8 @@ $stats_labels = $params['stats_labels'];
|
|
924 |
?>
|
925 |
</ul>
|
926 |
<input type="hidden" name="frontend_submit_stat_fields" value="<?php echo $row->frontend_submit_stat_fields ?>" id="frontend_submit_stat_fields" />
|
927 |
-
|
|
|
928 |
<?php }
|
929 |
} ?>
|
930 |
</div>
|
@@ -1550,10 +1558,12 @@ $stats_labels = $params['stats_labels'];
|
|
1550 |
<option value="PHP" <?php echo(($row->payment_currency == 'PHP') ? 'selected' : ''); ?>>₱ • Philippine Peso</option>
|
1551 |
<option value="THB" <?php echo(($row->payment_currency == 'THB') ? 'selected' : ''); ?>>฿ • Thai Bahtv</option>
|
1552 |
</select>
|
|
|
1553 |
</div>
|
1554 |
<div class="wd-group">
|
1555 |
<label class="wd-label" for="tax"><?php _e('Tax', WDCFM()->prefix); ?> (%)</label>
|
1556 |
<input type="text" name="tax" id="tax" value="<?php echo $row->tax; ?>" class="text_area" onKeyPress="return check_isnum_point(event)">
|
|
|
1557 |
</div>
|
1558 |
<div class="wd-group">
|
1559 |
<label class="wd-label"><?php _e('Checkout Mode', WDCFM()->prefix); ?></label>
|
@@ -1565,6 +1575,7 @@ $stats_labels = $params['stats_labels'];
|
|
1565 |
<div class="wd-group">
|
1566 |
<label class="wd-label" for="paypal_email"><?php _e('Paypal email', WDCFM()->prefix); ?></label>
|
1567 |
<input type="text" name="paypal_email" id="paypal_email" value="<?php echo $row->paypal_email; ?>" class="text_area">
|
|
|
1568 |
</div>
|
1569 |
</div>
|
1570 |
<div class="fm_payment_option_stripe">
|
@@ -1702,6 +1713,7 @@ $stats_labels = $params['stats_labels'];
|
|
1702 |
<div class="wd-box-section">
|
1703 |
<div class="wd-box-content">
|
1704 |
<div class="wd-group" id="conditions_fieldset_wrap">
|
|
|
1705 |
<div style="text-align: right;">
|
1706 |
<button class="wd-button button-primary" onclick="add_condition('<?php echo $chose_ids; ?>', '<?php echo htmlspecialchars(addslashes($chose_labels)); ?>', '<?php echo $chose_types; ?>', '<?php echo htmlspecialchars(addslashes($chose_paramss)); ?>', '<?php echo $all_ids_cond; ?>', '<?php echo htmlspecialchars(addslashes($all_labels_cond)); ?>'); return false;"><?php _e('Add Condition', WDCFM()->prefix); ?></button>
|
1707 |
</div>
|
@@ -1919,6 +1931,7 @@ $stats_labels = $params['stats_labels'];
|
|
1919 |
<div class="wd-box-section">
|
1920 |
<div class="wd-box-content">
|
1921 |
<div class="wd-group">
|
|
|
1922 |
<div style="text-align: right; padding-bottom: 20px;">
|
1923 |
<button id="add_query" class="wd-button button-primary" onclick="tb_show('', '<?php echo add_query_arg(array(
|
1924 |
'action' => 'FormMakerSQLMapping' . WDCFM()->plugin_postfix,
|
826 |
<label class="wd-label-radio" for="fm_go-savedb-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
827 |
<input type="radio" name="savedb" <?php echo $row->savedb == 0 ? 'checked="checked"' : '' ?> id="fm_go-savedb-0" class="wd-radio" value="0">
|
828 |
<label class="wd-label-radio" for="fm_go-savedb-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
829 |
+
<p class="description"><?php _e('IMPORTANT! If you disable this option, the information submitted through this form will not be saved in the database and will not be displayed on the Submissions page.', WDCFM()->prefix); ?></p>
|
830 |
</span>
|
831 |
<span class="wd-group theme-wrap">
|
832 |
<label class="wd-label"><?php _e('Theme', WDCFM()->prefix); ?></label>
|
853 |
WDCFM()->nonce => wp_create_nonce(WDCFM()->nonce)
|
854 |
), admin_url('admin.php?page=themes' . WDCFM()->menu_postfix . '&task=edit')); ?>'); return false;"><?php _e('Edit', WDCFM()->prefix); ?></a>
|
855 |
<div id="old_theme_notice" class="error inline" style="display: none;"><p><?php _e('The theme you have selected is outdated. Please choose one from New Themes section.', WDCFM()->prefix); ?></p></div>
|
856 |
+
<p class="description"><?php _e('The appearance of your forms is controlled by the theme you select with this option. Press Edit button to open and modify your form theme.', WDCFM()->prefix); ?></p>
|
857 |
+
|
858 |
+
</span>
|
859 |
<span class="wd-group">
|
860 |
<label class="wd-label" for="requiredmark"><?php _e('Required fields mark', WDCFM()->prefix); ?></label>
|
861 |
<input type="text" id="requiredmark" name="requiredmark" value="<?php echo $row->requiredmark; ?>">
|
862 |
+
<p class="description"><?php _e('Use this option to change the mark for required fields of your form.', WDCFM()->prefix); ?></p>
|
863 |
+
</span>
|
864 |
<span class="wd-group">
|
865 |
<label class="wd-label"><?php _e('Save Uploads', WDCFM()->prefix); ?></label>
|
866 |
<input type="radio" name="save_uploads" <?php echo $row->save_uploads == 1 ? 'checked="checked"' : '' ?> id="fm_go-save_uploads-1" class="wd-radio" value="1">
|
867 |
<label class="wd-label-radio" for="fm_go-save_uploads-1"><?php _e('Yes', WDCFM()->prefix); ?></label>
|
868 |
<input type="radio" name="save_uploads" <?php echo $row->save_uploads == 0 ? 'checked="checked"' : '' ?> id="fm_go-save_uploads-0" class="wd-radio" value="0">
|
869 |
<label class="wd-label-radio" for="fm_go-save_uploads-0"><?php _e('No', WDCFM()->prefix); ?></label>
|
870 |
+
<p class="description"><?php _e('IMPORTANT! If you disable this option, the files uploaded through your form will not be saved on your site. The files will still be sent to emails and saved in Google Drive or Dropbox, if configured.', WDCFM()->prefix); ?></p>
|
871 |
+
</span>
|
872 |
</div>
|
873 |
</div>
|
874 |
</div>
|
875 |
<div class="wd-table-col wd-table-col-50 wd-table-col-right">
|
876 |
<div class="wd-box-section">
|
877 |
<div class="wd-box-content">
|
878 |
+
<span class="wd-group">
|
879 |
+
<label class="wd-label"><?php _e('Allow User to see submissions:', WDCFM()->prefix); ?></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
880 |
<?php
|
881 |
+
$checked_UserGroup = explode(',', $row->user_id_wd);
|
882 |
+
$i = 0;
|
883 |
+
foreach ( $userGroups as $val => $uG ) {
|
884 |
+
echo "\r\n" . '<input type="checkbox" value="' . $val . '" id="user_' . $i . '" ';
|
885 |
+
if ( in_array($val, $checked_UserGroup) ) {
|
886 |
+
echo ' checked="checked"';
|
887 |
+
}
|
888 |
+
echo ' onchange="acces_level(' . count($userGroups) . ')" /><label for="user_' . $i . '">' . $uG["name"] . '</label><br>';
|
889 |
+
$i++;
|
890 |
}
|
891 |
?>
|
892 |
+
<input type="checkbox" value="guest" id="user_<?php echo $i; ?>" onchange="acces_level(<?php echo count($userGroups); ?>)"<?php echo(in_array('guest', $checked_UserGroup) ? 'checked="checked"' : '') ?>/><label for="user_<?php echo $i; ?>">Guest</label>
|
893 |
+
<input type="hidden" name="user_id_wd" value="<?php echo $row->user_id_wd ?>" id="user_id_wd" />
|
894 |
+
<p class="description"><?php _e('Mark all user roles which will be able to view front-end submissions, when you publish them on a post or page.', WDCFM()->prefix); ?></p>
|
895 |
+
</span>
|
896 |
+
<?php if ( count($label_titles_for_submissions) ) { ?>
|
897 |
+
<span class="wd-group">
|
898 |
+
<label class="wd-label"><?php _e('Fields to hide in frontend submissions', WDCFM()->prefix); ?></label>
|
899 |
+
<ul id="form_fields">
|
900 |
+
<li>
|
901 |
+
<input type="checkbox" name="all_fields" id="all_fields" onclick="checkAllByParentId('form_fields'); checked_labels('filed_label')" value="submit_id,<?php echo implode(',', $labels_id_for_submissions) . "," . ($payment_info ? "payment_info" : ""); ?>" />
|
902 |
+
<label for="all_fields"><?php _e('Select All', WDCFM()->prefix); ?></label>
|
903 |
+
</li>
|
904 |
+
<?php
|
905 |
+
echo "<li><input type=\"checkbox\" id=\"submit_id\" name=\"submit_id\" value=\"submit_id\" class=\"filed_label\" onclick=\"checked_labels('filed_label')\"><label for=\"submit_id\">ID</label></li>";
|
906 |
+
for ( $i = 0, $n = count($label_titles_for_submissions); $i < $n; $i++ ) {
|
907 |
+
$field_label = $label_titles_for_submissions[$i];
|
908 |
+
echo "<li><input type=\"checkbox\" id=\"filed_label" . $i . "\" name=\"filed_label" . $i . "\" value=\"" . $labels_id_for_submissions[$i] . "\" class=\"filed_label\" onclick=\"checked_labels('filed_label')\"><label for=\"filed_label" . $i . "\">" . (strlen($field_label) > 80 ? substr($field_label, 0, 80) . '...' : $field_label) . "</label></li>";
|
909 |
+
}
|
910 |
+
if ( $payment_info ) {
|
911 |
+
echo "<li><input type=\"checkbox\" id=\"payment_info\" name=\"payment_info\" value=\"payment_info\" class=\"filed_label\" onclick=\"checked_labels('filed_label')\"><label for=\"payment_info\">Payment Info</label></li>";
|
912 |
+
}
|
913 |
+
?>
|
914 |
+
</ul>
|
915 |
+
<input type="hidden" name="frontend_submit_fields" value="<?php echo $row->frontend_submit_fields ?>" id="frontend_submit_fields" />
|
916 |
+
<p class="description"><?php _e('Select fields of the form and Stats Fields which will not to be displayed within front-end submissions, when you publish them.', WDCFM()->prefix); ?></p>
|
917 |
+
</span>
|
918 |
<?php if ( $stats_labels ) { ?>
|
919 |
<span class="wd-group">
|
920 |
<label class="wd-label"><?php _e('Stats fields:', WDCFM()->prefix); ?></label>
|
931 |
?>
|
932 |
</ul>
|
933 |
<input type="hidden" name="frontend_submit_stat_fields" value="<?php echo $row->frontend_submit_stat_fields ?>" id="frontend_submit_stat_fields" />
|
934 |
+
<p class="description"><?php _e('Select fields of the form and Stats Fields which will not to be displayed within front-end submissions, when you publish them.', WDCFM()->prefix); ?></p>
|
935 |
+
</span>
|
936 |
<?php }
|
937 |
} ?>
|
938 |
</div>
|
1558 |
<option value="PHP" <?php echo(($row->payment_currency == 'PHP') ? 'selected' : ''); ?>>₱ • Philippine Peso</option>
|
1559 |
<option value="THB" <?php echo(($row->payment_currency == 'THB') ? 'selected' : ''); ?>>฿ • Thai Bahtv</option>
|
1560 |
</select>
|
1561 |
+
<p class="description"><?php _e('Choose the currency to be used for the payments made through your form.', WDCFM()->prefix); ?></p>
|
1562 |
</div>
|
1563 |
<div class="wd-group">
|
1564 |
<label class="wd-label" for="tax"><?php _e('Tax', WDCFM()->prefix); ?> (%)</label>
|
1565 |
<input type="text" name="tax" id="tax" value="<?php echo $row->tax; ?>" class="text_area" onKeyPress="return check_isnum_point(event)">
|
1566 |
+
<p class="description"><?php _e('Specify the percentage of the tax. It will be calculated from the total payment amount of your form.', WDCFM()->prefix); ?></p>
|
1567 |
</div>
|
1568 |
<div class="wd-group">
|
1569 |
<label class="wd-label"><?php _e('Checkout Mode', WDCFM()->prefix); ?></label>
|
1575 |
<div class="wd-group">
|
1576 |
<label class="wd-label" for="paypal_email"><?php _e('Paypal email', WDCFM()->prefix); ?></label>
|
1577 |
<input type="text" name="paypal_email" id="paypal_email" value="<?php echo $row->paypal_email; ?>" class="text_area">
|
1578 |
+
<p class="description"><?php _e('Provide the email address of a valid PayPal account. It will receive the payments made through your form.', WDCFM()->prefix); ?></p>
|
1579 |
</div>
|
1580 |
</div>
|
1581 |
<div class="fm_payment_option_stripe">
|
1713 |
<div class="wd-box-section">
|
1714 |
<div class="wd-box-content">
|
1715 |
<div class="wd-group" id="conditions_fieldset_wrap">
|
1716 |
+
<p class="description"><?php _e('Press Add Condition button to configure the first condition of your form. Show/Hide select box represents the action which will be completed, if all or any of the condition statements are fulfilled. Use the second drop-down menu to select the field which will be shown or hidden. Click the little Plus (+) icon to add the statement of your form condition.', WDCFM()->prefix); ?><br><br></p>
|
1717 |
<div style="text-align: right;">
|
1718 |
<button class="wd-button button-primary" onclick="add_condition('<?php echo $chose_ids; ?>', '<?php echo htmlspecialchars(addslashes($chose_labels)); ?>', '<?php echo $chose_types; ?>', '<?php echo htmlspecialchars(addslashes($chose_paramss)); ?>', '<?php echo $all_ids_cond; ?>', '<?php echo htmlspecialchars(addslashes($all_labels_cond)); ?>'); return false;"><?php _e('Add Condition', WDCFM()->prefix); ?></button>
|
1719 |
</div>
|
1931 |
<div class="wd-box-section">
|
1932 |
<div class="wd-box-content">
|
1933 |
<div class="wd-group">
|
1934 |
+
<p class="description"><?php _e('WordPress Form Maker stores the submitted information into [prefix]_formmaker_submits MySQL database table of your website by default. With MySQL Mapping functionality of Form Maker you can insert this data into any local or remote table of your choice, or perform other queries based on submitted values. Press Add Query button to configure the first query for this form.', WDCFM()->prefix); ?></p><br><br>
|
1935 |
<div style="text-align: right; padding-bottom: 20px;">
|
1936 |
<button id="add_query" class="wd-button button-primary" onclick="tb_show('', '<?php echo add_query_arg(array(
|
1937 |
'action' => 'FormMakerSQLMapping' . WDCFM()->plugin_postfix,
|
admin/views/Options_fm.php
CHANGED
@@ -65,7 +65,7 @@ class FMViewOptions_fmc extends FMAdminView_fmc {
|
|
65 |
<label class="wd-label" for="private_key"><?php _e('Secret key', WDCFM()->prefix); ?></label>
|
66 |
<input id="private_key" name="private_key" value="<?php echo $private_key; ?>" type="text" />
|
67 |
<p class="description">
|
68 |
-
<?php echo sprintf(__('%s for your site from ReCaptcha website.', WDCFM()->prefix), '<a href="https://www.google.com/recaptcha/intro/index.html" target="_blank">' . __('Get ReCaptcha Site and Secret Keys', WDCFM()->prefix) . '</a>'); ?>
|
69 |
</p>
|
70 |
</span>
|
71 |
<span class="wd-group wd-right">
|
@@ -82,9 +82,9 @@ class FMViewOptions_fmc extends FMAdminView_fmc {
|
|
82 |
<label class="wd-label" for="map_key"><?php _e('Map API Key', WDCFM()->prefix); ?></label>
|
83 |
<input id="map_key" name="map_key" value="<?php echo $map_key; ?>" type="text" />
|
84 |
<p class="description">
|
85 |
-
|
86 |
-
|
87 |
-
<?php echo _e('
|
88 |
</p>
|
89 |
</span>
|
90 |
</div>
|
65 |
<label class="wd-label" for="private_key"><?php _e('Secret key', WDCFM()->prefix); ?></label>
|
66 |
<input id="private_key" name="private_key" value="<?php echo $private_key; ?>" type="text" />
|
67 |
<p class="description">
|
68 |
+
<?php echo sprintf(__('%s for your site from ReCaptcha website and copy the provided here.', WDCFM()->prefix), '<a href="https://www.google.com/recaptcha/intro/index.html" target="_blank">' . __('Get ReCaptcha Site and Secret Keys', WDCFM()->prefix) . '</a>'); ?>
|
69 |
</p>
|
70 |
</span>
|
71 |
<span class="wd-group wd-right">
|
82 |
<label class="wd-label" for="map_key"><?php _e('Map API Key', WDCFM()->prefix); ?></label>
|
83 |
<input id="map_key" name="map_key" value="<?php echo $map_key; ?>" type="text" />
|
84 |
<p class="description">
|
85 |
+
<?php echo _e('Get', WDCFM()->prefix); ?>
|
86 |
+
<a href="https://console.developers.google.com/flows/enableapi?apiid=maps_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank"><?php _e('Google Map API key', WDCFM()->prefix); ?></a>
|
87 |
+
<?php echo _e(' and copy them to this input. Make sure the key does not have restrictions.', WDCFM()->prefix); ?>
|
88 |
</p>
|
89 |
</span>
|
90 |
</div>
|
admin/views/Submissions_fm.php
CHANGED
@@ -114,6 +114,7 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
114 |
$blocked_ips = $params['blocked_ips'];
|
115 |
|
116 |
$sorted_labels_id = $params['sorted_labels_id'];
|
|
|
117 |
$sorted_label_types = $params['sorted_label_types'];
|
118 |
$sorted_label_names = $params['sorted_label_names'];
|
119 |
$sorted_label_names_original = $params['sorted_label_names_original'];
|
@@ -135,7 +136,6 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
135 |
|
136 |
$oder_class_default = $params['oder_class_default'];
|
137 |
$oder_class = $params['oder_class'];
|
138 |
-
|
139 |
$m = $params['m'];
|
140 |
|
141 |
$group_id_s = $params['group_id_s'];
|
@@ -253,10 +253,10 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
253 |
</a>
|
254 |
</th>
|
255 |
<th scope="col" id="submitterusername_fc" class="submitterusername_fc <?php if ( $order_by == "display_name" ) {
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
} ?>" <?php echo $style_username; ?> data-colname="<?php _e('Submitter\'s Username', WDCFM()->prefix);?>">
|
261 |
<a href="" onclick="fm_set_input_value('order_by', 'display_name');
|
262 |
fm_set_input_value('asc_or_desc', '<?php echo(($order_by == 'display_name' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>');
|
@@ -264,7 +264,7 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
264 |
<span><?php _e('Submitter\'s Username', WDCFM()->prefix);?></span>
|
265 |
<span class="sorting-indicator"></span>
|
266 |
</a>
|
267 |
-
|
268 |
<th scope="col" id="submitteremail_fc" class="submitteremail_fc <?php if ( $order_by == "user_email" ) {
|
269 |
echo $oder_class;
|
270 |
}
|
@@ -277,12 +277,14 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
277 |
<span><?php _e('Submitter\'s Email Address', WDCFM()->prefix);?></span>
|
278 |
<span class="sorting-indicator"></span>
|
279 |
</a>
|
280 |
-
|
281 |
<?php
|
282 |
$stripe_paypal = false;
|
283 |
for ( $i = 0; $i < count($sorted_label_names); $i++ ) {
|
284 |
$styleStr = $this->model->hide_or_not($lists['hide_label_list'], $sorted_labels_id[$i]);
|
285 |
$field_title = $this->model->get_type_address($sorted_label_types[$i], $sorted_label_names_original[$i]);
|
|
|
|
|
286 |
if ( $sorted_label_types[$i] == 'type_paypal_payment_status' || $sorted_label_types[$i] == 'type_stripe' ) {
|
287 |
$stripe_paypal = true;
|
288 |
if ( $sorted_label_types[$i] != 'type_stripe' ) {
|
@@ -295,7 +297,7 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
295 |
echo $oder_class_default . '"';
|
296 |
} ?>" data-colname="<?php echo $field_title; ?>">
|
297 |
<a href="" onclick="fm_set_input_value('order_by', '<?php echo $sorted_labels_id[$i] . '_field'; ?>'); fm_set_input_value('asc_or_desc', '<?php echo(($order_by == $sorted_labels_id[$i] . '_field' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>'); fm_form_submit(event, 'admin_form')">
|
298 |
-
<span><?php echo $
|
299 |
<span class="sorting-indicator"></span>
|
300 |
</a>
|
301 |
</th>
|
@@ -313,7 +315,7 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
313 |
echo $oder_class_default . '"';
|
314 |
} ?>" data-colname="<?php echo $field_title; ?>">
|
315 |
<a href="" onclick="fm_set_input_value('order_by', '<?php echo $sorted_labels_id[$i] . '_field'; ?>'); fm_set_input_value('asc_or_desc', '<?php echo(($order_by == $sorted_labels_id[$i] . '_field' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>'); fm_form_submit(event, 'admin_form')">
|
316 |
-
<span
|
317 |
<span class="sorting-indicator"></span>
|
318 |
</a>
|
319 |
</th>
|
@@ -620,15 +622,16 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
620 |
<?php }
|
621 |
else { ?>
|
622 |
<td class="<?php echo $sorted_labels_id[$h]; ?>_fc sub-align" id="<?php echo $sorted_labels_id[$h]; ?>_fc" <?php echo $styleStr; ?> data-colname="<?php echo !empty($label_name_ids[$sorted_labels_id[$h]]) ? $label_name_ids[$sorted_labels_id[$h]] : ''; ?>">
|
623 |
-
<p><?php
|
624 |
</td>
|
625 |
<?php }
|
626 |
}
|
627 |
else {
|
628 |
$element_value = str_replace("***br***", '<br>', stripslashes($temp[$g]->element_value));
|
|
|
629 |
?>
|
630 |
<td class="<?php echo $sorted_labels_id[$h]; ?>_fc sub-align" id="<?php echo $sorted_labels_id[$h]; ?>_fc" <?php echo $styleStr; ?> data-colname="<?php echo !empty($label_name_ids[$sorted_labels_id[$h]]) ? $label_name_ids[$sorted_labels_id[$h]] : ''; ?>">
|
631 |
-
<p><?php echo $
|
632 |
</td>
|
633 |
<?php
|
634 |
}
|
@@ -914,7 +917,7 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
914 |
}
|
915 |
<?php
|
916 |
foreach($sorted_label_types as $slt_index => $slt_val){
|
917 |
-
|
918 |
?>
|
919 |
document.getElementById('<?php echo $form_id . '_' . $sorted_labels_id[$slt_index] . '_search'; ?>').value = '';
|
920 |
<?php
|
@@ -1320,4 +1323,31 @@ class FMViewSubmissions_fmc extends FMAdminView_fmc {
|
|
1320 |
<?php
|
1321 |
}
|
1322 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1323 |
}
|
114 |
$blocked_ips = $params['blocked_ips'];
|
115 |
|
116 |
$sorted_labels_id = $params['sorted_labels_id'];
|
117 |
+
|
118 |
$sorted_label_types = $params['sorted_label_types'];
|
119 |
$sorted_label_names = $params['sorted_label_names'];
|
120 |
$sorted_label_names_original = $params['sorted_label_names_original'];
|
136 |
|
137 |
$oder_class_default = $params['oder_class_default'];
|
138 |
$oder_class = $params['oder_class'];
|
|
|
139 |
$m = $params['m'];
|
140 |
|
141 |
$group_id_s = $params['group_id_s'];
|
253 |
</a>
|
254 |
</th>
|
255 |
<th scope="col" id="submitterusername_fc" class="submitterusername_fc <?php if ( $order_by == "display_name" ) {
|
256 |
+
echo $oder_class;
|
257 |
+
}
|
258 |
+
else {
|
259 |
+
echo $oder_class_default;
|
260 |
} ?>" <?php echo $style_username; ?> data-colname="<?php _e('Submitter\'s Username', WDCFM()->prefix);?>">
|
261 |
<a href="" onclick="fm_set_input_value('order_by', 'display_name');
|
262 |
fm_set_input_value('asc_or_desc', '<?php echo(($order_by == 'display_name' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>');
|
264 |
<span><?php _e('Submitter\'s Username', WDCFM()->prefix);?></span>
|
265 |
<span class="sorting-indicator"></span>
|
266 |
</a>
|
267 |
+
</th>
|
268 |
<th scope="col" id="submitteremail_fc" class="submitteremail_fc <?php if ( $order_by == "user_email" ) {
|
269 |
echo $oder_class;
|
270 |
}
|
277 |
<span><?php _e('Submitter\'s Email Address', WDCFM()->prefix);?></span>
|
278 |
<span class="sorting-indicator"></span>
|
279 |
</a>
|
280 |
+
</th>
|
281 |
<?php
|
282 |
$stripe_paypal = false;
|
283 |
for ( $i = 0; $i < count($sorted_label_names); $i++ ) {
|
284 |
$styleStr = $this->model->hide_or_not($lists['hide_label_list'], $sorted_labels_id[$i]);
|
285 |
$field_title = $this->model->get_type_address($sorted_label_types[$i], $sorted_label_names_original[$i]);
|
286 |
+
$textdata = $this->gen_shorter_text($field_title, 42);
|
287 |
+
|
288 |
if ( $sorted_label_types[$i] == 'type_paypal_payment_status' || $sorted_label_types[$i] == 'type_stripe' ) {
|
289 |
$stripe_paypal = true;
|
290 |
if ( $sorted_label_types[$i] != 'type_stripe' ) {
|
297 |
echo $oder_class_default . '"';
|
298 |
} ?>" data-colname="<?php echo $field_title; ?>">
|
299 |
<a href="" onclick="fm_set_input_value('order_by', '<?php echo $sorted_labels_id[$i] . '_field'; ?>'); fm_set_input_value('asc_or_desc', '<?php echo(($order_by == $sorted_labels_id[$i] . '_field' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>'); fm_form_submit(event, 'admin_form')">
|
300 |
+
<span><?php echo $textdata['text']; ?></span>
|
301 |
<span class="sorting-indicator"></span>
|
302 |
</a>
|
303 |
</th>
|
315 |
echo $oder_class_default . '"';
|
316 |
} ?>" data-colname="<?php echo $field_title; ?>">
|
317 |
<a href="" onclick="fm_set_input_value('order_by', '<?php echo $sorted_labels_id[$i] . '_field'; ?>'); fm_set_input_value('asc_or_desc', '<?php echo(($order_by == $sorted_labels_id[$i] . '_field' && $asc_or_desc == 'asc') ? 'desc' : 'asc'); ?>'); fm_form_submit(event, 'admin_form')">
|
318 |
+
<span <?php if($textdata['status']) { ?> class="fm_masterTooltip" title="<?php echo $field_title; ?>" <?php } ?> ><?php echo $textdata['text']; ?></span>
|
319 |
<span class="sorting-indicator"></span>
|
320 |
</a>
|
321 |
</th>
|
622 |
<?php }
|
623 |
else { ?>
|
624 |
<td class="<?php echo $sorted_labels_id[$h]; ?>_fc sub-align" id="<?php echo $sorted_labels_id[$h]; ?>_fc" <?php echo $styleStr; ?> data-colname="<?php echo !empty($label_name_ids[$sorted_labels_id[$h]]) ? $label_name_ids[$sorted_labels_id[$h]] : ''; ?>">
|
625 |
+
<p><?php echo $temp[$g]->element_value; ?></p>
|
626 |
</td>
|
627 |
<?php }
|
628 |
}
|
629 |
else {
|
630 |
$element_value = str_replace("***br***", '<br>', stripslashes($temp[$g]->element_value));
|
631 |
+
$textdata = $this->gen_shorter_text($element_value, 100);
|
632 |
?>
|
633 |
<td class="<?php echo $sorted_labels_id[$h]; ?>_fc sub-align" id="<?php echo $sorted_labels_id[$h]; ?>_fc" <?php echo $styleStr; ?> data-colname="<?php echo !empty($label_name_ids[$sorted_labels_id[$h]]) ? $label_name_ids[$sorted_labels_id[$h]] : ''; ?>">
|
634 |
+
<p><?php echo $textdata['text']; ?></p>
|
635 |
</td>
|
636 |
<?php
|
637 |
}
|
917 |
}
|
918 |
<?php
|
919 |
foreach($sorted_label_types as $slt_index => $slt_val){
|
920 |
+
if ($slt_val != "type_mark_map" && $slt_val != "type_stripe") {
|
921 |
?>
|
922 |
document.getElementById('<?php echo $form_id . '_' . $sorted_labels_id[$slt_index] . '_search'; ?>').value = '';
|
923 |
<?php
|
1323 |
<?php
|
1324 |
}
|
1325 |
}
|
1326 |
+
|
1327 |
+
/**
|
1328 |
+
* Generate short text.
|
1329 |
+
*
|
1330 |
+
* @param $text , $chars_limit
|
1331 |
+
*
|
1332 |
+
* @return array.
|
1333 |
+
*/
|
1334 |
+
public function gen_shorter_text( $text, $chars_limit ) {
|
1335 |
+
$data = array();
|
1336 |
+
// Check if length is larger than the character limit.
|
1337 |
+
if ( strlen($text) > $chars_limit ) {
|
1338 |
+
// If so, cut the string at the character limit.
|
1339 |
+
$new_text = substr($text, 0, $chars_limit);
|
1340 |
+
// Trim off white space.
|
1341 |
+
$new_text = trim($new_text);
|
1342 |
+
// Add at end of text ...
|
1343 |
+
$data['status'] = TRUE;
|
1344 |
+
$data['text'] = $new_text . "...";
|
1345 |
+
}
|
1346 |
+
// If not just return the text and status as is.
|
1347 |
+
else {
|
1348 |
+
$data['status'] = FALSE;
|
1349 |
+
$data['text'] = $text;
|
1350 |
+
}
|
1351 |
+
return $data;
|
1352 |
+
}
|
1353 |
}
|
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_';
|
@@ -389,8 +389,46 @@ final class WDCFM {
|
|
389 |
'is_demo' => $this->is_demo,
|
390 |
'important_message' => __('The free version is limited up to 7 fields to add. If you need this functionality, you need to buy the commercial version.', $this->prefix),
|
391 |
'no_preview' => __('No preview available.', $this->prefix),
|
392 |
-
|
393 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
|
395 |
wp_register_script('fm-codemirror', $this->plugin_url . '/js/layout/codemirror.js', array(), '2.3');
|
396 |
wp_register_script('fm-clike', $this->plugin_url . '/js/layout/clike.js', array(), '1.0.0');
|
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.18
|
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.18';
|
93 |
+
$this->db_version = '2.12.18';
|
94 |
$this->menu_slug = 'manage_fmc';
|
95 |
$this->prefix = 'form_maker_fmc';
|
96 |
$this->css_prefix = 'fmc_';
|
389 |
'is_demo' => $this->is_demo,
|
390 |
'important_message' => __('The free version is limited up to 7 fields to add. If you need this functionality, you need to buy the commercial version.', $this->prefix),
|
391 |
'no_preview' => __('No preview available.', $this->prefix),
|
392 |
+
'invisible_recaptcha_error' => sprintf( __('%s Old reCAPTCHA keys will not work for %s. Please make sure to enable the API keys for Invisible reCAPTCHA.', $this->prefix), '<b>'. __('Note:', $this->prefix) .'</b>', '<b>'. __('Invisible reCAPTCHA', $this->prefix) .'</b>' ),
|
393 |
+
'type_text_description' => __('This field is a single line text input.', $this->prefix).'<br><br>'.__('To set a default value, just fill the field above.', $this->prefix).'<br><br>'.__('You can set the text input as Required, making sure the submitter provides a value for it.', $this->prefix).'<br><br>'.__('Validation (RegExp.) option in Advanced options lets you configure Regular Expression for your Single Line Text field. Use Common Regular Expressions select box to use built-in validation patterns. For instance, in case you can add a validation for decimal number, IP address or zip code by selecting corresponding options of Common Regular Expressions drop-down.', $this->prefix) .'<br><br>'.__('Additionally, you can add HTML attributes to your form fields with Additional Attributes.', $this->prefix),
|
394 |
+
'type_textarea_description' => __('This field adds a textarea box to your form. Users can write alphanumeric text, special characters and line breaks.', $this->prefix).'<br><br>'.__('You can set the text input as Required, making sure the submitter provides a value for it.', $this->prefix).'<br><br>'.__('Set the width and height of the textarea box using Size(px) option.', $this->prefix),
|
395 |
+
'type_number_description' => __('This is an input text that accepts only numbers. Users can type a number directly, or use the spinner arrows to specify it.', $this->prefix).'<br><br>'.__('Step option defines the number to increment/decrement the spinner value, when the users press up or down arrows.', $this->prefix).'<br><br>'.__('Use Min Value and Max Value options to set lower and upper limitation for the value of this Number field.', $this->prefix).'<br><br>'.__('To set a default value, just fill the field above.', $this->prefix),
|
396 |
+
'type_select_description' => __('This field allows the submitter to choose values from select box. Just click (+) Option button and fill in all options you will need or click (+) From Database to fill the options from a database table.', $this->prefix) .'<br><br>'.__('In case you need to have option values to be different from option names, mark Enable option\'s value from Advanced options as checked.', $this->prefix),
|
397 |
+
'type_radio_description' => __('Using this field you can add a list of Radio buttons to your form. Just click (+) Option button and fill in all options you will need or click (+) From Database to fill the options from a database table.', $this->prefix).'<br><br>'.__('Relative Position lets you choose the position of options in relation to each other. Whereas Option Label Position lets you select the position of radio button label.', $this->prefix).'<br><br>'.__('In case you need to have option values to be different from option names, mark Enable option\'s value from Advanced options as checked.', $this->prefix).'<br><br>'.__('And by enabling Allow other, you can let the user to write their own specific value.', $this->prefix),
|
398 |
+
'type_checkbox_description' => __('Multiple Choice field lets you have a list of Checkboxes. This field allows the submitter to choose more than one values.', $this->prefix).'<br><br>'.__('Just click (+) Option button and fill in all options you will need or click (+) From Database to fill the options from a database table.', $this->prefix).'<br><br>'.__('Relative Position lets you choose the position of options in relation to each other. Whereas Option Label Position lets you select the position of radio button label.', $this->prefix).'<br><br>'.__('In case you need to have option values to be different from option names, mark Enable option\'s value from Advanced options as checked.', $this->prefix).'<br><br>'.__('And by enabling Allow other, you can let the user to write their own specific value.', $this->prefix),
|
399 |
+
'type_recaptcha_description' => sprintf(__('Form Maker is integrated with Google ReCaptcha, which protects your forms from spam bots. Before adding ReCaptcha to your form, you need to configure Site and Secret Keys by registering your website on %s', $this->prefix),'<a href="https://www.google.com/recaptcha/intro/" target="_blank">'. __('Google ReCaptcha website', $this->prefix) .'</a>').'<br><br>'.__('After registering and creating the keys, copy them to Form Maker > Options page.', $this->prefix),
|
400 |
+
'type_submit_description' => __('The Submit button validates all form field values, saves them on MySQL database of your website, sends emails and performs other actions configured in Form Options. You can have more than one submit button in your form.', $this->prefix),
|
401 |
+
'type_captcha_description' => __('You can use this field as an alternative to ReCaptcha to protect your forms against spambots. It�s a random combination of numbers and letters, and users need to type them in correctly to submit the form.', $this->prefix).'<br><br>'.__('You can specify the number of symbols in Simple Captcha using Symbols (3 - 9) option.', $this->prefix),
|
402 |
+
'type_name_description' => __('This field lets the user write their name.', $this->prefix).'<br><br>'.__('To set a default value, just fill the field above.', $this->prefix).'<br><br>'.__('Enabling Autofill with user name setting will automatically fill in Name field with the name of the logged in user.', $this->prefix).'<br><br>'.__('In case you do not wish to receive the same data for the same Name field twice, activate Allow only unique values option.', $this->prefix),
|
403 |
+
'type_email_description' => __('This field is an input field that accepts an email address.', $this->prefix).'<br><br>'.__('To set a default value, just fill the field above.', $this->prefix).'<br><br>'.__('Using Confirmation Email setting in Advanced Options you can require the submitter to re-type their email address.', $this->prefix).'<br><br>'.__('Autofill with user email will autofill Email field with the email address of the logged in user.', $this->prefix).'<br><br>'.__('Upon successful submission of the Form, you have the option to send the submitted data (or just a confirmation message) to the email address entered here. To do this you need to set the corresponding options on Form Options > Email Options page.', $this->prefix),
|
404 |
+
'type_phone_description' => __('This field is an input for a phone number. It provides a list of country flags, which users can select and have their country code automatically added to the phone number.', $this->prefix).'<br><br>'.__('In case you do not wish to receive the same data for the same Phone field more than once, activate Allow only unique values setting from Advanced options.', $this->prefix),
|
405 |
+
'type_address_description' => __('This field lets you skip a few steps and quickly add one set for requesting the address of the submitter. Use Overall size(px) option to set the width of Address field.', $this->prefix).'<br><br>'.__('You can enable or disable elements of Address field using Disable Field(s) setting in Advanced Options.', $this->prefix).'<br><br>'.__('You can turn State/Province/Region field into a list of US states by activating Use list for US states setting from Advanced Options. Note: This only works in case United States is selected for Country select box.', $this->prefix),
|
406 |
+
'type_mark_on_map_description' => __('Mark on Map field lets users to drag the map pin and drop it on their selected location. You can specify a default address for the location pin with Address option.', $this->prefix).'<br><br>'.__('In addition, Marker Info setting allows you to provide additional details about the location. It will appear after users click on the location pin.', $this->prefix),
|
407 |
+
'type_country_list_description' => __('Country List is a select box which provides a list of all countries in alphabetical order.', $this->prefix).'<br><br>'.__('You can include/exclude specific countries from the list using the Edit country list setting in Advanced Options.', $this->prefix),
|
408 |
+
'type_date_of_birth_description' => __('Users can specify their birthday or any date with this field.', $this->prefix).'<br><br>'.__('Use Fields separator setting in Advanced options to change the divider between day, month and year boxes.', $this->prefix).'<br><br>'.__('You can set the fields to be text inputs or select boxes using Day field type, Month field type and Year field type options.', $this->prefix).'<br><br>'.__('In addition, you can specify the width of day, month and year fields using Day field size(px), Month field size(px) and Year field size(px) settings.', $this->prefix),
|
409 |
+
'type_file_upload_description' => __('You can allow users to upload single or multiple documents, images and various files through your form.', $this->prefix).'<br><br>'.__('Use Allowed file extensions option to specify all acceptable file formats. Make sure to separate them with commas.', $this->prefix).'<br><br>'.__('Mark Allow Uploading Multiple Files option in Advanced Options to allow users to select and upload multiple files.', $this->prefix),
|
410 |
+
'type_map_description' => __('Map field can be used for pinning one or more locations on Google Map and displaying them on your form.', $this->prefix).'<br><br>'.__('Press the small Plus icon to add a location pin.', $this->prefix),
|
411 |
+
'type_time_description' => __('Time field of Form Maker plugin will allow users to specify time value. Set the time format of the field to 24-hour or 12-hour using Time Format option.', $this->prefix),
|
412 |
+
'type_send_copy_description' => __('When users fill in an email address using Email Field, this checkbox will allow them to choose if they wish to receive a copy of the submission email.', $this->prefix).'<br><br>'.__('Note: Make sure to configure Form Options > Email Options of your form.', $this->prefix),
|
413 |
+
'type_stars_description' => __('Add Star rating field to your form with this field. You can display as many stars, as you will need, set the number using Number of Stars option.', $this->prefix),
|
414 |
+
'type_rating_description' => __('Place Rating field on your form to have radio buttons, which indicate rating from worst to best. You can set many radio buttons to display using Scale Range option.', $this->prefix),
|
415 |
+
'type_slider_description' => __('Slider field lets users specify the field value by dragging its handle from Min Value to Max Value.', $this->prefix),
|
416 |
+
'type_range_description' => __('You can use this field to let users choose a numeric range by providing values for 2 number inputs. Its Step option allows to set the increment/decrement of spinners� values, when users click on up or down arrows.', $this->prefix),
|
417 |
+
'type_grades_description' => __('Users will be able to grade specified items with this field. The sum of all values will appear below the field with Total parameter.', $this->prefix).'<br><br>'.__('Items option allows you to add multiple options to your Grades field.', $this->prefix),
|
418 |
+
'type_matrix_description' => __('Table of Fields lets you place a matrix on your form, which will let the submitter to answer a few questions with one field.', $this->prefix).'<br><br>'.__('It allows you to configure the matrix with radio buttons, checkboxes, text boxes or drop-downs. Use Input Type option to set this.', $this->prefix),
|
419 |
+
'type_hidden_description' => __('Hidden Input field is similar to Single Line Text field, but it is not visible to users. Hidden Fields are handy, in case you need to run a custom Javascript and submit the result with the info on your form.', $this->prefix).'<br><br>'.__('Name option of this field is mandatory. Note: we highly recommend you to avoid using spaces or special characters in Hidden Input name. You can write the custom Javascript code using the editor on Form Options > Javascript page.', $this->prefix),
|
420 |
+
'type_button_description' => __('In case you wish to run custom Javascript on your form, you can place Custom Button on your form. Its lets you call the script with its OnClick function.', $this->prefix).'<br><br>'.__('You can write the custom Javascript code using the editor on Form Options > Javascript page.', $this->prefix),
|
421 |
+
'type_password_description' => __('Password input can be used to allow users provide secret text, such as passwords. All symbols written in this field are replaced with dots.', $this->prefix).'<br><br>'.__('You can activate Password Confirmation option to ask users to repeat the password.', $this->prefix),
|
422 |
+
'type_phone_area_code_description' => __('Phone-Area Code is a Phone type field, which allows users to write Area Code and Phone Number into separate inputs.', $this->prefix),
|
423 |
+
'type_arithmetic_captcha_description' => __('Arithmetic Captcha is quite similar to Simple Captcha. However, instead of showing random symbols, it displays arithmetic operations.', $this->prefix).'<br><br>'.__('You can set the operations using Operations option. The field can use addition (+), subtraction (-), multiplication (*) and division (/).', $this->prefix).'<br><br>'.__('Make sure to separate the operations with commas.', $this->prefix),
|
424 |
+
'type_price_description' => __('Users can set a payment amount of their choice with Price field. Assigns minimum and maximum limits on its value using Range option.', $this->prefix).'<br><br>'.__('To set a default value, just fill the field above.', $this->prefix).'<br><br>'.__('Additionally, you can activate Readonly attribute. This way, users will not be able to edit the value of Price.', $this->prefix).'<br><br>'.__('Note: Make sure to configure Form Options > Payment Options of your form.', $this->prefix),
|
425 |
+
'type_payment_select_description' => __('Payment Select field lets you create lists of products, one of which the submitter can choose to buy through your form. Add or edit list items using Options setting of the fields.', $this->prefix).'<br><br>'.__('Enable Quantity property from Advanced Options, in case you would like the users to mention the quantity of items they purchase.', $this->prefix).'<br><br>'.__('Also, you can configure custom or built-in Product Properties for your products, such as Color, T-Shirt Size or Print Size.', $this->prefix).'<br><br>'.__('Note: Make sure to configure Form Options > Payment Options of your form.', $this->prefix),
|
426 |
+
'type_payment_radio_description' => __('Payment Single Choice field lets you create lists of products, one of which the submitter can choose to buy through your form. Add or edit list items using Options setting of the fields.', $this->prefix).'<br><br>'.__('Enable Quantity property from Advanced Options, in case you would like the users to mention the quantity of items they purchase.', $this->prefix).'<br><br>'.__('Also, you can configure custom or built-in Product Properties for your products, such as Color, T-Shirt Size or Print Size.', $this->prefix).'<br><br>'.__('Note: Make sure to configure Form Options > Payment Options of your form.', $this->prefix),
|
427 |
+
'type_payment_checkbox_description' => __('Payment Multiple Choice field lets you create lists of products, which the submitter can choose to buy through your form. Add or edit list items using Options setting of the fields.', $this->prefix).'<br><br>'.__('Enable Quantity property from Advanced Options, in case you would like the users to mention the quantity of items they purchase.', $this->prefix).'<br><br>'.__('Also, you can configure custom or built-in Product Properties for your products, such as Color, T-Shirt Size or Print Size.', $this->prefix).'<br><br>'.__('Note: Make sure to configure Form Options > Payment Options of your form.', $this->prefix),
|
428 |
+
'type_shipping_description' => __('Shipping allows you to configure shipping types, set price for each of them and display them on your form as radio buttons.', $this->prefix),
|
429 |
+
'type_total_description' => __('Please Total field to your payment form to sum up the values of Payment fields. ', $this->prefix),
|
430 |
+
'type_stripe_description' => __('This field adds the credit card details inputs (card number, expiration date, etc.) and allows you to accept direct payments made by credit cards.', $this->prefix),
|
431 |
+
));
|
432 |
|
433 |
wp_register_script('fm-codemirror', $this->plugin_url . '/js/layout/codemirror.js', array(), '2.3');
|
434 |
wp_register_script('fm-clike', $this->plugin_url . '/js/layout/clike.js', array(), '1.0.0');
|
css/form_maker_tables.css
CHANGED
@@ -1426,14 +1426,14 @@ table.admintable {
|
|
1426 |
min-width: 130px;
|
1427 |
max-width: 200px;
|
1428 |
}
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
}
|
1433 |
.submit_content #submitsubmitdate_fc,
|
1434 |
.submit_content #submitterusername_fc,
|
1435 |
.submit_content #submitteremail_fc {
|
1436 |
-
min-width:
|
1437 |
}
|
1438 |
|
1439 |
.submitid_fc {
|
@@ -2458,5 +2458,25 @@ button:focus {
|
|
2458 |
width: calc(100% - 50px);
|
2459 |
word-break: break-all;
|
2460 |
display: -webkit-inline-box;
|
2461 |
-
min-width:100px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2462 |
}
|
1426 |
min-width: 130px;
|
1427 |
max-width: 200px;
|
1428 |
}
|
1429 |
+
|
1430 |
+
.form_maker_submissions #submitid_fc {
|
1431 |
+
min-width: 55px;
|
1432 |
}
|
1433 |
.submit_content #submitsubmitdate_fc,
|
1434 |
.submit_content #submitterusername_fc,
|
1435 |
.submit_content #submitteremail_fc {
|
1436 |
+
min-width: 170px;
|
1437 |
}
|
1438 |
|
1439 |
.submitid_fc {
|
2458 |
width: calc(100% - 50px);
|
2459 |
word-break: break-all;
|
2460 |
display: -webkit-inline-box;
|
2461 |
+
min-width: 100px;
|
2462 |
+
}
|
2463 |
+
|
2464 |
+
.fm_tooltip {
|
2465 |
+
display:none;
|
2466 |
+
position:absolute;
|
2467 |
+
border:1px solid #333;
|
2468 |
+
background-color:#161616;
|
2469 |
+
border-radius:5px;
|
2470 |
+
padding:10px;
|
2471 |
+
color:#fff;
|
2472 |
+
font-size:12px;
|
2473 |
+
max-width: 250px;
|
2474 |
+
min-width: 100px;
|
2475 |
+
word-break: break-all;
|
2476 |
+
}
|
2477 |
+
|
2478 |
+
.form_maker_submissions td,
|
2479 |
+
.form_maker_submissions th{
|
2480 |
+
max-width: 200px;
|
2481 |
+
word-break: break-all;
|
2482 |
}
|
frontend/models/form_maker.php
CHANGED
@@ -3064,7 +3064,7 @@ class FMModelForm_maker_fmc {
|
|
3064 |
}
|
3065 |
$header_arr['from_name'] = $fromname;
|
3066 |
$header_arr['content_type'] = $content_type;
|
3067 |
-
$header_arr['charset'] = '
|
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;
|
@@ -3203,7 +3203,7 @@ class FMModelForm_maker_fmc {
|
|
3203 |
}
|
3204 |
$header_arr['from_name'] = $fromname;
|
3205 |
$header_arr['content_type'] = $content_type;
|
3206 |
-
$header_arr['charset'] = '
|
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;
|
3064 |
}
|
3065 |
$header_arr['from_name'] = $fromname;
|
3066 |
$header_arr['content_type'] = $content_type;
|
3067 |
+
$header_arr['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;
|
3203 |
}
|
3204 |
$header_arr['from_name'] = $fromname;
|
3205 |
$header_arr['content_type'] = $content_type;
|
3206 |
+
$header_arr['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;
|
js/add_field.js
CHANGED
@@ -2338,7 +2338,7 @@ function el_map(subtype, new_id) {
|
|
2338 |
w_info = [''];
|
2339 |
w_attr_name = [];
|
2340 |
w_attr_value = [];
|
2341 |
-
type_map(new_id, '2.294254', '48.858334', w_long, w_lat, "13", "
|
2342 |
}
|
2343 |
|
2344 |
function el_paypal(subtype, new_id) {
|
@@ -3136,6 +3136,8 @@ function type_text(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
3136 |
div.appendChild(br);
|
3137 |
main_td.appendChild(div);
|
3138 |
|
|
|
|
|
3139 |
if (w_field_label_pos == "top")
|
3140 |
label_top(i);
|
3141 |
|
@@ -3326,6 +3328,7 @@ function type_file_upload(i, w_field_label, w_field_label_size, w_field_label_po
|
|
3326 |
div.appendChild(div_field);
|
3327 |
div.appendChild(br3);
|
3328 |
main_td.appendChild(div);
|
|
|
3329 |
if (w_field_label_pos == "top")
|
3330 |
label_top(i);
|
3331 |
change_class(w_class, i);
|
@@ -3404,6 +3407,7 @@ function type_stripe(i, w_size, w_field_label_size, w_field_label_pos, w_class )
|
|
3404 |
div.appendChild(div_field);
|
3405 |
div.appendChild(br3);
|
3406 |
main_td.appendChild(div);
|
|
|
3407 |
|
3408 |
if (w_field_label_pos == "top") {
|
3409 |
label_top_stripe(i);
|
@@ -3537,6 +3541,9 @@ function type_textarea(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
3537 |
|
3538 |
div.appendChild(div_field);
|
3539 |
main_td.appendChild(div);
|
|
|
|
|
|
|
3540 |
if (w_field_label_pos == "top")
|
3541 |
label_top(i);
|
3542 |
change_class(w_class, i);
|
@@ -3734,6 +3741,8 @@ function type_spinner(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
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});
|
|
|
|
|
3737 |
}
|
3738 |
|
3739 |
function create_date_format(i, w_format) {
|
@@ -4775,6 +4784,7 @@ function type_own_select(i, w_field_label, w_field_label_size, w_field_label_pos
|
|
4775 |
}
|
4776 |
});
|
4777 |
});
|
|
|
4778 |
}
|
4779 |
|
4780 |
function create_relative_position(i, w_flow, type) {
|
@@ -5304,6 +5314,8 @@ function type_radio(i, w_field_label, w_field_label_size, w_field_label_pos, w_f
|
|
5304 |
div.appendChild(br3);
|
5305 |
main_td.appendChild(div);
|
5306 |
|
|
|
|
|
5307 |
if (w_field_label_pos == "top") {
|
5308 |
label_top(i);
|
5309 |
}
|
@@ -5471,6 +5483,8 @@ function type_checkbox(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
5471 |
div.appendChild(br3);
|
5472 |
main_td.appendChild(div);
|
5473 |
|
|
|
|
|
5474 |
if (w_field_label_pos == "top") {
|
5475 |
label_top(i);
|
5476 |
}
|
@@ -5653,6 +5667,8 @@ function type_recaptcha(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
5653 |
div.appendChild(div_field);
|
5654 |
div.appendChild(br3);
|
5655 |
main_td.appendChild(div);
|
|
|
|
|
5656 |
if (w_field_label_pos == "top") {
|
5657 |
label_top(i);
|
5658 |
}
|
@@ -5770,7 +5786,7 @@ function type_submit_reset(i, w_submit_title , w_reset_title , w_class, w_act, w
|
|
5770 |
div.appendChild(div_field);
|
5771 |
div.appendChild(br);
|
5772 |
main_td.appendChild(div);
|
5773 |
-
|
5774 |
change_class(w_class, i);
|
5775 |
refresh_attr(i, 'type_submit_reset');
|
5776 |
}
|
@@ -6534,6 +6550,7 @@ function type_name(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
6534 |
div.appendChild(br);
|
6535 |
div.appendChild(div_for_editable_labels);
|
6536 |
main_td.appendChild(div);
|
|
|
6537 |
|
6538 |
if (w_field_label_pos == "top")
|
6539 |
label_top(i);
|
@@ -6805,6 +6822,7 @@ function type_submitter_mail(i, w_field_label, w_field_label_size, w_field_label
|
|
6805 |
div.appendChild(div_field);
|
6806 |
div.appendChild(br3);
|
6807 |
main_td.appendChild(div);
|
|
|
6808 |
if (w_field_label_pos == "top")
|
6809 |
label_top(i);
|
6810 |
change_class(w_class, i);
|
@@ -6936,6 +6954,7 @@ function type_phone_new(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
6936 |
div.appendChild(br);
|
6937 |
|
6938 |
main_td.appendChild(div);
|
|
|
6939 |
|
6940 |
if (w_field_label_pos == "top")
|
6941 |
label_top(i);
|
@@ -7483,6 +7502,8 @@ function type_address(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
7483 |
div.appendChild(div_for_editable_labels);
|
7484 |
main_td.appendChild(div);
|
7485 |
|
|
|
|
|
7486 |
if (w_field_label_pos == "top")
|
7487 |
label_top(i);
|
7488 |
|
@@ -7618,7 +7639,7 @@ function create_markmap_info(i, w_info, j) {
|
|
7618 |
function go_to_type_mark_map(new_id) {
|
7619 |
w_attr_name = [];
|
7620 |
w_attr_value = [];
|
7621 |
-
type_mark_map(new_id, 'Mark your place on map', '', 'top', 'no', '2.294254', '48.858334', "2.294254", "48.858334", "13", "
|
7622 |
}
|
7623 |
|
7624 |
function type_mark_map(i, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_center_x, w_center_y, w_long, w_lat, w_zoom, w_width, w_height, w_class, w_info, w_attr_name, w_attr_value) {
|
@@ -7711,6 +7732,7 @@ function type_mark_map(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
7711 |
div.appendChild(div_field);
|
7712 |
div.appendChild(br);
|
7713 |
main_td.appendChild(div);
|
|
|
7714 |
if (w_field_label_pos == "top") {
|
7715 |
label_top(i);
|
7716 |
}
|
@@ -7862,6 +7884,7 @@ function type_country(i, w_field_label, w_field_label_size, w_hide_label, w_coun
|
|
7862 |
div.appendChild(div_field);
|
7863 |
div.appendChild(br3);
|
7864 |
main_td.appendChild(div);
|
|
|
7865 |
|
7866 |
if (w_field_label_pos == "top")
|
7867 |
label_top(i);
|
@@ -8361,6 +8384,8 @@ function type_date_fields(i, w_field_label, w_field_label_size, w_field_label_po
|
|
8361 |
div.appendChild(div_for_editable_labels);
|
8362 |
main_td.appendChild(div);
|
8363 |
|
|
|
|
|
8364 |
if (w_field_label_pos == "top")
|
8365 |
label_top(i);
|
8366 |
|
@@ -8625,6 +8650,7 @@ function type_paypal_price_new(i, w_field_label, w_field_label_size, w_field_lab
|
|
8625 |
div_field.appendChild(div_element);
|
8626 |
div.appendChild(div_field);
|
8627 |
main_td.appendChild(div);
|
|
|
8628 |
|
8629 |
if (w_field_label_pos == "top")
|
8630 |
label_top(i);
|
@@ -9135,7 +9161,7 @@ function type_paypal_select(i, w_field_label, w_field_label_size, w_field_label_
|
|
9135 |
div.appendChild(div_field);
|
9136 |
div.appendChild(br3);
|
9137 |
main_td.appendChild(div);
|
9138 |
-
|
9139 |
if (w_field_label_pos == "top")
|
9140 |
label_top(i);
|
9141 |
|
@@ -9525,6 +9551,7 @@ function type_paypal_radio(i, w_field_label, w_field_label_size, w_field_label_p
|
|
9525 |
div.appendChild(div_field);
|
9526 |
div.appendChild(br3);
|
9527 |
main_td.appendChild(div);
|
|
|
9528 |
|
9529 |
if (w_field_label_pos == "top")
|
9530 |
label_top(i);
|
@@ -9753,6 +9780,7 @@ function type_paypal_checkbox(i, w_field_label, w_field_label_size, w_field_labe
|
|
9753 |
div.appendChild(div_field);
|
9754 |
div.appendChild(br3);
|
9755 |
main_td.appendChild(div);
|
|
|
9756 |
|
9757 |
if (w_field_label_pos == "top")
|
9758 |
label_top(i);
|
@@ -9988,6 +10016,7 @@ function type_paypal_shipping(i, w_field_label, w_field_label_size, w_field_labe
|
|
9988 |
div.appendChild(div_field);
|
9989 |
div.appendChild(br3);
|
9990 |
main_td.appendChild(div);
|
|
|
9991 |
|
9992 |
if (w_field_label_pos == "top")
|
9993 |
label_top(i);
|
@@ -10136,6 +10165,7 @@ function type_paypal_total(i, w_field_label, w_field_label_size, w_field_label_p
|
|
10136 |
div.appendChild(br3);
|
10137 |
div.appendChild(p_desc_total);
|
10138 |
main_td.appendChild(div);
|
|
|
10139 |
|
10140 |
if (w_field_label_pos == "top") {
|
10141 |
label_top(i);
|
@@ -10266,7 +10296,7 @@ function type_map(i, w_center_x, w_center_y, w_long, w_lat, w_zoom, w_width, w_h
|
|
10266 |
div.appendChild(div_field);
|
10267 |
div.appendChild(br2);
|
10268 |
main_td.appendChild(div);
|
10269 |
-
|
10270 |
change_class(w_class, i);
|
10271 |
refresh_attr(i, 'type_text');
|
10272 |
|
@@ -10701,6 +10731,7 @@ function type_time(i, w_field_label, w_field_label_size, w_field_label_pos, w_hi
|
|
10701 |
div.appendChild(br3);
|
10702 |
div.appendChild(div_for_editable_labels);
|
10703 |
main_td.appendChild(div);
|
|
|
10704 |
|
10705 |
if (w_field_label_pos == "top") {
|
10706 |
label_top(i);
|
@@ -10872,6 +10903,7 @@ function type_send_copy(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
10872 |
div.appendChild(div_for_editable_labels);
|
10873 |
|
10874 |
main_td.appendChild(div);
|
|
|
10875 |
if (w_field_label_pos == "top")
|
10876 |
label_top(i);
|
10877 |
refresh_attr(i, 'type_text');
|
@@ -11735,6 +11767,7 @@ function type_star_rating(i, w_field_label, w_field_label_size, w_field_label_po
|
|
11735 |
div.appendChild(div_field);
|
11736 |
div.appendChild(br1);
|
11737 |
main_td.appendChild(div);
|
|
|
11738 |
if (w_field_label_pos == "top")
|
11739 |
label_top(i);
|
11740 |
|
@@ -11958,6 +11991,7 @@ function type_scale_rating(i, w_field_label, w_field_label_size, w_field_label_p
|
|
11958 |
div.appendChild(br1);
|
11959 |
div.appendChild(div_for_editable_labels);
|
11960 |
main_td.appendChild(div);
|
|
|
11961 |
if (w_field_label_pos == "top")
|
11962 |
label_top(i);
|
11963 |
|
@@ -12255,6 +12289,7 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12255 |
div.appendChild(div_field);
|
12256 |
div.appendChild(br1);
|
12257 |
main_td.appendChild(div);
|
|
|
12258 |
if (w_field_label_pos == "top")
|
12259 |
label_top(i);
|
12260 |
change_class(w_class, i);
|
@@ -12478,6 +12513,7 @@ function type_range(i, w_field_label, w_field_label_size, w_field_label_pos, w_h
|
|
12478 |
div.appendChild(div_for_editable_labels);
|
12479 |
|
12480 |
main_td.appendChild(div);
|
|
|
12481 |
if (w_field_label_pos == "top")
|
12482 |
label_top(i);
|
12483 |
change_class(w_class, i);
|
@@ -12666,6 +12702,7 @@ function type_hidden(i, w_name, w_value, w_attr_name, w_attr_value) {
|
|
12666 |
div.appendChild(div_field);
|
12667 |
div.appendChild(br3);
|
12668 |
main_td.appendChild(div);
|
|
|
12669 |
refresh_attr(i, 'type_text');
|
12670 |
}
|
12671 |
|
@@ -12817,6 +12854,7 @@ function type_captcha(i,w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12817 |
div.appendChild(div_field);
|
12818 |
div.appendChild(br3);
|
12819 |
main_td.appendChild(div);
|
|
|
12820 |
if (w_field_label_pos == "top")
|
12821 |
label_top(i);
|
12822 |
change_class(w_class, i);
|
@@ -13011,6 +13049,7 @@ function type_arithmetic_captcha(i,w_field_label, w_field_label_size, w_field_la
|
|
13011 |
div.appendChild(div_field);
|
13012 |
div.appendChild(br3);
|
13013 |
main_td.appendChild(div);
|
|
|
13014 |
|
13015 |
if (w_field_label_pos == "top")
|
13016 |
label_top(i);
|
@@ -13219,6 +13258,7 @@ function type_phone(i, w_field_label, w_field_label_size, w_field_label_pos, w_h
|
|
13219 |
div.appendChild(br1);
|
13220 |
div.appendChild(div_for_editable_labels);
|
13221 |
main_td.appendChild(div);
|
|
|
13222 |
|
13223 |
if (w_field_label_pos == "top")
|
13224 |
label_top(i);
|
@@ -13444,6 +13484,7 @@ function type_password(i, w_field_label, w_field_label_size, w_field_label_pos,
|
|
13444 |
|
13445 |
div.appendChild(div_field);
|
13446 |
main_td.appendChild(div);
|
|
|
13447 |
if (w_field_label_pos == "top")
|
13448 |
label_top(i);
|
13449 |
change_class(w_class, i);
|
@@ -13612,6 +13653,7 @@ function type_button(i, w_title , w_func , w_class, w_attr_name, w_attr_value) {
|
|
13612 |
div.appendChild(div_field);
|
13613 |
div.appendChild(br1);
|
13614 |
main_td.appendChild(div);
|
|
|
13615 |
change_class(w_class, i);
|
13616 |
refresh_attr(i, 'type_checkbox');
|
13617 |
}
|
@@ -13915,7 +13957,7 @@ function type_grading(i, w_field_label, w_field_label_size, w_field_label_pos, w
|
|
13915 |
div.appendChild(div_field);
|
13916 |
div.appendChild(br3);
|
13917 |
main_td.appendChild(div);
|
13918 |
-
|
13919 |
if (w_field_label_pos == "top")
|
13920 |
label_top(i);
|
13921 |
|
@@ -14309,6 +14351,7 @@ function type_matrix(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
14309 |
div.appendChild(div_field);
|
14310 |
div.appendChild(br3);
|
14311 |
main_td.appendChild(div);
|
|
|
14312 |
|
14313 |
if (w_field_label_pos == "top")
|
14314 |
label_top(i);
|
2338 |
w_info = [''];
|
2339 |
w_attr_name = [];
|
2340 |
w_attr_value = [];
|
2341 |
+
type_map(new_id, '2.294254', '48.858334', w_long, w_lat, "13", "370", "300", 'wdform_map', w_info, w_attr_name, w_attr_value);
|
2342 |
}
|
2343 |
|
2344 |
function el_paypal(subtype, new_id) {
|
3136 |
div.appendChild(br);
|
3137 |
main_td.appendChild(div);
|
3138 |
|
3139 |
+
jQuery("#main_div").append( form_maker.type_text_description );
|
3140 |
+
|
3141 |
if (w_field_label_pos == "top")
|
3142 |
label_top(i);
|
3143 |
|
3328 |
div.appendChild(div_field);
|
3329 |
div.appendChild(br3);
|
3330 |
main_td.appendChild(div);
|
3331 |
+
jQuery("#main_div").append( form_maker.type_file_upload_description );
|
3332 |
if (w_field_label_pos == "top")
|
3333 |
label_top(i);
|
3334 |
change_class(w_class, i);
|
3407 |
div.appendChild(div_field);
|
3408 |
div.appendChild(br3);
|
3409 |
main_td.appendChild(div);
|
3410 |
+
jQuery("#main_div").append( form_maker.type_stripe_description );
|
3411 |
|
3412 |
if (w_field_label_pos == "top") {
|
3413 |
label_top_stripe(i);
|
3541 |
|
3542 |
div.appendChild(div_field);
|
3543 |
main_td.appendChild(div);
|
3544 |
+
|
3545 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_textarea_description );
|
3546 |
+
|
3547 |
if (w_field_label_pos == "top")
|
3548 |
label_top(i);
|
3549 |
change_class(w_class, i);
|
3741 |
jQuery("#" + i + "_elementform_id_temp").spinner({min: w_field_min_value});
|
3742 |
jQuery("#" + i + "_elementform_id_temp").spinner({max: w_field_max_value});
|
3743 |
jQuery("#" + i + "_elementform_id_temp").spinner({step: w_field_step});
|
3744 |
+
|
3745 |
+
jQuery("#main_div").append( form_maker.type_number_description );
|
3746 |
}
|
3747 |
|
3748 |
function create_date_format(i, w_format) {
|
4784 |
}
|
4785 |
});
|
4786 |
});
|
4787 |
+
jQuery("#main_div").append( form_maker.type_select_description );
|
4788 |
}
|
4789 |
|
4790 |
function create_relative_position(i, w_flow, type) {
|
5314 |
div.appendChild(br3);
|
5315 |
main_td.appendChild(div);
|
5316 |
|
5317 |
+
jQuery("#main_div").append( form_maker.type_radio_description );
|
5318 |
+
|
5319 |
if (w_field_label_pos == "top") {
|
5320 |
label_top(i);
|
5321 |
}
|
5483 |
div.appendChild(br3);
|
5484 |
main_td.appendChild(div);
|
5485 |
|
5486 |
+
jQuery("#main_div").append( form_maker.type_checkbox_description );
|
5487 |
+
|
5488 |
if (w_field_label_pos == "top") {
|
5489 |
label_top(i);
|
5490 |
}
|
5667 |
div.appendChild(div_field);
|
5668 |
div.appendChild(br3);
|
5669 |
main_td.appendChild(div);
|
5670 |
+
|
5671 |
+
jQuery("#main_div").append( form_maker.type_recaptcha_description );
|
5672 |
if (w_field_label_pos == "top") {
|
5673 |
label_top(i);
|
5674 |
}
|
5786 |
div.appendChild(div_field);
|
5787 |
div.appendChild(br);
|
5788 |
main_td.appendChild(div);
|
5789 |
+
jQuery("#main_div").append( form_maker.type_submit_description );
|
5790 |
change_class(w_class, i);
|
5791 |
refresh_attr(i, 'type_submit_reset');
|
5792 |
}
|
6550 |
div.appendChild(br);
|
6551 |
div.appendChild(div_for_editable_labels);
|
6552 |
main_td.appendChild(div);
|
6553 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_name_description );
|
6554 |
|
6555 |
if (w_field_label_pos == "top")
|
6556 |
label_top(i);
|
6822 |
div.appendChild(div_field);
|
6823 |
div.appendChild(br3);
|
6824 |
main_td.appendChild(div);
|
6825 |
+
jQuery("#main_div").append( form_maker.type_email_description );
|
6826 |
if (w_field_label_pos == "top")
|
6827 |
label_top(i);
|
6828 |
change_class(w_class, i);
|
6954 |
div.appendChild(br);
|
6955 |
|
6956 |
main_td.appendChild(div);
|
6957 |
+
jQuery("#main_div").append( form_maker.type_phone_description );
|
6958 |
|
6959 |
if (w_field_label_pos == "top")
|
6960 |
label_top(i);
|
7502 |
div.appendChild(div_for_editable_labels);
|
7503 |
main_td.appendChild(div);
|
7504 |
|
7505 |
+
jQuery("#main_div").append( '<br><br>'+form_maker.type_address_description );
|
7506 |
+
|
7507 |
if (w_field_label_pos == "top")
|
7508 |
label_top(i);
|
7509 |
|
7639 |
function go_to_type_mark_map(new_id) {
|
7640 |
w_attr_name = [];
|
7641 |
w_attr_value = [];
|
7642 |
+
type_mark_map(new_id, 'Mark your place on map', '', 'top', 'no', '2.294254', '48.858334', "2.294254", "48.858334", "13", "370", "300", 'wdform_map', '', w_attr_name, w_attr_value);
|
7643 |
}
|
7644 |
|
7645 |
function type_mark_map(i, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_center_x, w_center_y, w_long, w_lat, w_zoom, w_width, w_height, w_class, w_info, w_attr_name, w_attr_value) {
|
7732 |
div.appendChild(div_field);
|
7733 |
div.appendChild(br);
|
7734 |
main_td.appendChild(div);
|
7735 |
+
jQuery("#main_div").append( form_maker.type_mark_on_map_description );
|
7736 |
if (w_field_label_pos == "top") {
|
7737 |
label_top(i);
|
7738 |
}
|
7884 |
div.appendChild(div_field);
|
7885 |
div.appendChild(br3);
|
7886 |
main_td.appendChild(div);
|
7887 |
+
jQuery("#main_div").append( form_maker.type_country_list_description );
|
7888 |
|
7889 |
if (w_field_label_pos == "top")
|
7890 |
label_top(i);
|
8384 |
div.appendChild(div_for_editable_labels);
|
8385 |
main_td.appendChild(div);
|
8386 |
|
8387 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_date_of_birth_description );
|
8388 |
+
|
8389 |
if (w_field_label_pos == "top")
|
8390 |
label_top(i);
|
8391 |
|
8650 |
div_field.appendChild(div_element);
|
8651 |
div.appendChild(div_field);
|
8652 |
main_td.appendChild(div);
|
8653 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_price_description );
|
8654 |
|
8655 |
if (w_field_label_pos == "top")
|
8656 |
label_top(i);
|
9161 |
div.appendChild(div_field);
|
9162 |
div.appendChild(br3);
|
9163 |
main_td.appendChild(div);
|
9164 |
+
jQuery("#main_div").append( form_maker.type_payment_select_description );
|
9165 |
if (w_field_label_pos == "top")
|
9166 |
label_top(i);
|
9167 |
|
9551 |
div.appendChild(div_field);
|
9552 |
div.appendChild(br3);
|
9553 |
main_td.appendChild(div);
|
9554 |
+
jQuery("#main_div").append( form_maker.type_payment_radio_description );
|
9555 |
|
9556 |
if (w_field_label_pos == "top")
|
9557 |
label_top(i);
|
9780 |
div.appendChild(div_field);
|
9781 |
div.appendChild(br3);
|
9782 |
main_td.appendChild(div);
|
9783 |
+
jQuery("#main_div").append( form_maker.type_payment_checkbox_description );
|
9784 |
|
9785 |
if (w_field_label_pos == "top")
|
9786 |
label_top(i);
|
10016 |
div.appendChild(div_field);
|
10017 |
div.appendChild(br3);
|
10018 |
main_td.appendChild(div);
|
10019 |
+
jQuery("#main_div").append( form_maker.type_shipping_description );
|
10020 |
|
10021 |
if (w_field_label_pos == "top")
|
10022 |
label_top(i);
|
10165 |
div.appendChild(br3);
|
10166 |
div.appendChild(p_desc_total);
|
10167 |
main_td.appendChild(div);
|
10168 |
+
jQuery("#main_div").append( form_maker.type_total_description );
|
10169 |
|
10170 |
if (w_field_label_pos == "top") {
|
10171 |
label_top(i);
|
10296 |
div.appendChild(div_field);
|
10297 |
div.appendChild(br2);
|
10298 |
main_td.appendChild(div);
|
10299 |
+
jQuery("#main_div").append( form_maker.type_map_description );
|
10300 |
change_class(w_class, i);
|
10301 |
refresh_attr(i, 'type_text');
|
10302 |
|
10731 |
div.appendChild(br3);
|
10732 |
div.appendChild(div_for_editable_labels);
|
10733 |
main_td.appendChild(div);
|
10734 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_time_description );
|
10735 |
|
10736 |
if (w_field_label_pos == "top") {
|
10737 |
label_top(i);
|
10903 |
div.appendChild(div_for_editable_labels);
|
10904 |
|
10905 |
main_td.appendChild(div);
|
10906 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_send_copy_description );
|
10907 |
if (w_field_label_pos == "top")
|
10908 |
label_top(i);
|
10909 |
refresh_attr(i, 'type_text');
|
11767 |
div.appendChild(div_field);
|
11768 |
div.appendChild(br1);
|
11769 |
main_td.appendChild(div);
|
11770 |
+
jQuery("#main_div").append( form_maker.type_stars_description );
|
11771 |
if (w_field_label_pos == "top")
|
11772 |
label_top(i);
|
11773 |
|
11991 |
div.appendChild(br1);
|
11992 |
div.appendChild(div_for_editable_labels);
|
11993 |
main_td.appendChild(div);
|
11994 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_rating_description );
|
11995 |
if (w_field_label_pos == "top")
|
11996 |
label_top(i);
|
11997 |
|
12289 |
div.appendChild(div_field);
|
12290 |
div.appendChild(br1);
|
12291 |
main_td.appendChild(div);
|
12292 |
+
jQuery("#main_div").append( form_maker.type_slider_description );
|
12293 |
if (w_field_label_pos == "top")
|
12294 |
label_top(i);
|
12295 |
change_class(w_class, i);
|
12513 |
div.appendChild(div_for_editable_labels);
|
12514 |
|
12515 |
main_td.appendChild(div);
|
12516 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_range_description );
|
12517 |
if (w_field_label_pos == "top")
|
12518 |
label_top(i);
|
12519 |
change_class(w_class, i);
|
12702 |
div.appendChild(div_field);
|
12703 |
div.appendChild(br3);
|
12704 |
main_td.appendChild(div);
|
12705 |
+
jQuery("#main_div").append( form_maker.type_hidden_description );
|
12706 |
refresh_attr(i, 'type_text');
|
12707 |
}
|
12708 |
|
12854 |
div.appendChild(div_field);
|
12855 |
div.appendChild(br3);
|
12856 |
main_td.appendChild(div);
|
12857 |
+
jQuery("#main_div").append( form_maker.type_captcha_description );
|
12858 |
if (w_field_label_pos == "top")
|
12859 |
label_top(i);
|
12860 |
change_class(w_class, i);
|
13049 |
div.appendChild(div_field);
|
13050 |
div.appendChild(br3);
|
13051 |
main_td.appendChild(div);
|
13052 |
+
jQuery("#main_div").append( form_maker.type_arithmetic_captcha_description );
|
13053 |
|
13054 |
if (w_field_label_pos == "top")
|
13055 |
label_top(i);
|
13258 |
div.appendChild(br1);
|
13259 |
div.appendChild(div_for_editable_labels);
|
13260 |
main_td.appendChild(div);
|
13261 |
+
jQuery("#main_div").append( '<br>'+form_maker.type_phone_area_code_description );
|
13262 |
|
13263 |
if (w_field_label_pos == "top")
|
13264 |
label_top(i);
|
13484 |
|
13485 |
div.appendChild(div_field);
|
13486 |
main_td.appendChild(div);
|
13487 |
+
jQuery("#main_div").append( form_maker.type_password_description );
|
13488 |
if (w_field_label_pos == "top")
|
13489 |
label_top(i);
|
13490 |
change_class(w_class, i);
|
13653 |
div.appendChild(div_field);
|
13654 |
div.appendChild(br1);
|
13655 |
main_td.appendChild(div);
|
13656 |
+
jQuery("#main_div").append( form_maker.type_button_description );
|
13657 |
change_class(w_class, i);
|
13658 |
refresh_attr(i, 'type_checkbox');
|
13659 |
}
|
13957 |
div.appendChild(div_field);
|
13958 |
div.appendChild(br3);
|
13959 |
main_td.appendChild(div);
|
13960 |
+
jQuery("#main_div").append( form_maker.type_grades_description );
|
13961 |
if (w_field_label_pos == "top")
|
13962 |
label_top(i);
|
13963 |
|
14351 |
div.appendChild(div_field);
|
14352 |
div.appendChild(br3);
|
14353 |
main_td.appendChild(div);
|
14354 |
+
jQuery("#main_div").append( form_maker.type_matrix_description );
|
14355 |
|
14356 |
if (w_field_label_pos == "top")
|
14357 |
label_top(i);
|
js/form_maker_submissions.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
jQuery( document ).ready(function() {
|
2 |
add_scroll_width();
|
3 |
add_scroll_left();
|
|
|
4 |
});
|
5 |
|
6 |
function add_scroll_width() {
|
@@ -264,3 +265,27 @@ 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 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
jQuery( document ).ready(function() {
|
2 |
add_scroll_width();
|
3 |
add_scroll_left();
|
4 |
+
fm_Tooltip();
|
5 |
});
|
6 |
|
7 |
function add_scroll_width() {
|
265 |
document.getElementById('submission_'+id).value=element+'***matrix***';
|
266 |
document.getElementById(id+'_matrixform_id_temp').value=element;
|
267 |
}
|
268 |
+
|
269 |
+
// Tooltip for long labels
|
270 |
+
function fm_Tooltip(){
|
271 |
+
// Tooltip only Text
|
272 |
+
jQuery('.fm_masterTooltip').hover(function(){
|
273 |
+
// Hover over code
|
274 |
+
var title = jQuery(this).attr('title');
|
275 |
+
jQuery(this).data('tipText', title).removeAttr('title');
|
276 |
+
jQuery('<p class="fm_tooltip"></p>')
|
277 |
+
.text(title)
|
278 |
+
.appendTo('body')
|
279 |
+
.fadeIn('slow');
|
280 |
+
}, function() {
|
281 |
+
// Hover out code
|
282 |
+
jQuery(this).attr('title', jQuery(this).data('tipText'));
|
283 |
+
jQuery('.fm_tooltip').remove();
|
284 |
+
}).mousemove(function(e) {
|
285 |
+
var mousex = e.pageX -100; //Get X coordinates
|
286 |
+
var mousey = e.pageY + 10; //Get Y coordinates
|
287 |
+
jQuery('.fm_tooltip')
|
288 |
+
.css({ top: mousey, left: mousex })
|
289 |
+
});
|
290 |
+
}
|
291 |
+
|
js/themes.js
CHANGED
@@ -50,7 +50,7 @@ function submitbutton(version) {
|
|
50 |
all_params = jQuery('textarea[name=CUPCSS]').serializeObject();
|
51 |
}
|
52 |
else {
|
53 |
-
all_params = jQuery('#
|
54 |
}
|
55 |
jQuery('#params').val(JSON.stringify(all_params).replace(plugin_url, '[SITE_ROOT]'));
|
56 |
return true;
|
50 |
all_params = jQuery('textarea[name=CUPCSS]').serializeObject();
|
51 |
}
|
52 |
else {
|
53 |
+
all_params = jQuery('#form_maker_fmc_themes').serializeObject();
|
54 |
}
|
55 |
jQuery('#params').val(JSON.stringify(all_params).replace(plugin_url, '[SITE_ROOT]'));
|
56 |
return true;
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ 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 |
|
@@ -72,6 +72,12 @@ After downloading the ZIP file,
|
|
72 |
|
73 |
== Changelog ==
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
= 1.12.17 =
|
76 |
* Fixed: UTF-8 text for Email subject and Email from name.
|
77 |
|
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.18
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
72 |
|
73 |
== Changelog ==
|
74 |
|
75 |
+
= 1.12.18 =
|
76 |
+
* Changed: improved Form Submissions view: added tooltips for long labels of form fields.
|
77 |
+
* Added: detailed descriptions of form fields inside the form editor
|
78 |
+
* Fixed: Theme save bug.
|
79 |
+
* Fixed: UTF-8 text in Email body.
|
80 |
+
|
81 |
= 1.12.17 =
|
82 |
* Fixed: UTF-8 text for Email subject and Email from name.
|
83 |
|