Version Description
- Improved: GDPR compliance options.
- Added: Step option for slider field.
- Fixed: Error on form front end when Privacy Policy checkbox is enabled.
- Fixed: Bug on Actions after submission when Redirect to URL option is empty.
- Fixed: Notice on form submit.
- Fixed: Minor issues on Themes.
Download this release
Release Info
Developer | webdorado |
Plugin | Form Maker by WD – user-friendly drag & drop Form Builder plugin |
Version | 1.12.38 |
Comparing to | |
See all releases |
Code changes from version 1.12.37 to 1.12.38
- admin/controllers/Themes_fm.php +1 -2
- admin/controllers/Uninstall_fm.php +31 -1
- admin/models/Manage_fm.php +16 -1
- admin/views/Manage_fm.php +1 -0
- admin/views/Uninstall_fm.php +92 -121
- css/form_maker_frontend.css +1 -0
- css/form_maker_tables.css +32 -0
- form-maker.php +3 -3
- framework/WDW_FM_Library.php +18 -1
- frontend/models/form_maker.php +96 -86
- frontend/views/form_maker.php +16 -1
- js/add_field.js +27 -3
- js/form_maker_admin.js +1 -1
- js/formmaker_div.js +2 -1
- readme.txt +14 -9
admin/controllers/Themes_fm.php
CHANGED
@@ -1218,9 +1218,8 @@ class FMControllerThemes_fm extends FMAdminController {
|
|
1218 |
'name' => 'SCCPMargin',
|
1219 |
'type' => 'text',
|
1220 |
'class' => '',
|
1221 |
-
'placeholder' => __('e.g.', WDFMInstance(self::PLUGIN)->prefix) .' 5px 10px or 5% 10%',
|
1222 |
'value' => isset($param_values->SCCPMargin) ? $param_values->SCCPMargin : '',
|
1223 |
-
'after' => '',
|
1224 |
),
|
1225 |
array(
|
1226 |
'label' => __('Border Radius', WDFMInstance(self::PLUGIN)->prefix),
|
1218 |
'name' => 'SCCPMargin',
|
1219 |
'type' => 'text',
|
1220 |
'class' => '',
|
|
|
1221 |
'value' => isset($param_values->SCCPMargin) ? $param_values->SCCPMargin : '',
|
1222 |
+
'after' => 'px',
|
1223 |
),
|
1224 |
array(
|
1225 |
'label' => __('Border Radius', WDFMInstance(self::PLUGIN)->prefix),
|
admin/controllers/Uninstall_fm.php
CHANGED
@@ -50,10 +50,37 @@ class FMControllerUninstall_fm extends FMAdminController {
|
|
50 |
public function display() {
|
51 |
$params = array();
|
52 |
$params['addons'] = $this->addons;
|
|
|
|
|
|
|
53 |
$this->view->display($params);
|
54 |
}
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
public function uninstall() {
|
|
|
57 |
$this->model->delete_db_tables();
|
58 |
global $wpdb;
|
59 |
$params = array();
|
@@ -61,6 +88,9 @@ class FMControllerUninstall_fm extends FMAdminController {
|
|
61 |
$params['addons'] = $this->addons;
|
62 |
// Deactivate all addons
|
63 |
WDW_FM_Library(self::PLUGIN)->deactivate_all_addons();
|
64 |
-
$
|
|
|
|
|
|
|
65 |
}
|
66 |
}
|
50 |
public function display() {
|
51 |
$params = array();
|
52 |
$params['addons'] = $this->addons;
|
53 |
+
$params['page_title'] = sprintf(__('Uninstall %s', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename);
|
54 |
+
$params['tables'] = $this->get_tables();
|
55 |
+
|
56 |
$this->view->display($params);
|
57 |
}
|
58 |
|
59 |
+
/**
|
60 |
+
* Return DB tables names.
|
61 |
+
*
|
62 |
+
* @return array
|
63 |
+
*/
|
64 |
+
private function get_tables() {
|
65 |
+
global $wpdb;
|
66 |
+
$tables = array(
|
67 |
+
$wpdb->prefix . 'formmaker',
|
68 |
+
$wpdb->prefix . 'formmaker_backup',
|
69 |
+
$wpdb->prefix . 'formmaker_blocked',
|
70 |
+
$wpdb->prefix . 'formmaker_groups',
|
71 |
+
$wpdb->prefix . 'formmaker_submits',
|
72 |
+
$wpdb->prefix . 'formmaker_views',
|
73 |
+
$wpdb->prefix . 'formmaker_themes',
|
74 |
+
$wpdb->prefix . 'formmaker_sessions',
|
75 |
+
$wpdb->prefix . 'formmaker_query',
|
76 |
+
$wpdb->prefix . 'formmaker_display_options',
|
77 |
+
);
|
78 |
+
|
79 |
+
return $tables;
|
80 |
+
}
|
81 |
+
|
82 |
public function uninstall() {
|
83 |
+
$params['tables'] = $this->get_tables();
|
84 |
$this->model->delete_db_tables();
|
85 |
global $wpdb;
|
86 |
$params = array();
|
88 |
$params['addons'] = $this->addons;
|
89 |
// Deactivate all addons
|
90 |
WDW_FM_Library(self::PLUGIN)->deactivate_all_addons();
|
91 |
+
$params['page_title'] = sprintf(__('Uninstall %s', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename);
|
92 |
+
$params['deactivate'] = TRUE;
|
93 |
+
|
94 |
+
$this->view->display($params);
|
95 |
}
|
96 |
}
|
admin/models/Manage_fm.php
CHANGED
@@ -3164,6 +3164,20 @@ class FMModelManage_fm extends FMAdminModel {
|
|
3164 |
'w_class',
|
3165 |
);
|
3166 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3167 |
foreach ( $params_names as $params_name ) {
|
3168 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3169 |
$param[$params_name] = $temp[0];
|
@@ -3178,9 +3192,10 @@ class FMModelManage_fm extends FMAdminModel {
|
|
3178 |
}
|
3179 |
$param['w_field_label_pos'] = ($param['w_field_label_pos'] == "left" ? "table-cell" : "block");
|
3180 |
$param['w_hide_label'] = (isset($param['w_hide_label']) ? $param['w_hide_label'] : "no");
|
|
|
3181 |
$display_label = $param['w_hide_label'] == "no" ? $param['w_field_label_pos'] : "none";
|
3182 |
$required_sym = ($param['w_required'] == "yes" ? " *" : "");
|
3183 |
-
$rep = '<div id="wdform_field' . $id . '" type="type_slider" class="wdform_field" style="display: table-cell;">' . $arrows . '<div align="left" id="' . $id . '_label_sectionform_id_temp" class="' . $param['w_class'] . '" style="display: ' . $display_label . '; vertical-align: top; width: ' . $param['w_field_label_size'] . 'px;"><span id="' . $id . '_element_labelform_id_temp" class="label">' . $label . '</span><span id="' . $id . '_required_elementform_id_temp" class="required">' . $required_sym . '</span></div><div align="left" id="' . $id . '_element_sectionform_id_temp" class="' . $param['w_class'] . '" style="display: ' . $param['w_field_label_pos'] . ';"><input type="hidden" value="type_slider" name="' . $id . '_typeform_id_temp" id="' . $id . '_typeform_id_temp"><input type="hidden" value="' . $param['w_required'] . '" name="' . $id . '_requiredform_id_temp" id="' . $id . '_requiredform_id_temp"><input type="hidden" value="' . $param['w_hide_label'] . '" name="' . $id . '_hide_labelform_id_temp" id="' . $id . '_hide_labelform_id_temp"/><input type="hidden" value="' . $param['w_field_width'] . '" name="' . $id . '_slider_widthform_id_temp" id="' . $id . '_slider_widthform_id_temp"><input type="hidden" value="' . $param['w_field_min_value'] . '" id="' . $id . '_slider_min_valueform_id_temp" name="' . $id . '_slider_min_valueform_id_temp"><input type="hidden" value="' . $param['w_field_max_value'] . '" id="' . $id . '_slider_max_valueform_id_temp" name="' . $id . '_slider_max_valueform_id_temp"><input type="hidden" value="' . $param['w_field_value'] . '" id="' . $id . '_slider_valueform_id_temp" name="' . $id . '_slider_valueform_id_temp"><div id="' . $id . '_slider_tableform_id_temp"><div><div id="' . $id . '_slider_td1form_id_temp"><div name="' . $id . '_elementform_id_temp" id="' . $id . '_elementform_id_temp" style="width: ' . $param['w_field_width'] . 'px;" ' . $param['attributes'] . '"></div></div></div><div><div align="left" id="' . $id . '_slider_td2form_id_temp" style="display: inline-table; width: 33.3%; text-align: left;"><span id="' . $id . '_element_minform_id_temp" class="label">' . $param['w_field_min_value'] . '</span></div><div align="right" id="' . $id . '_slider_td3form_id_temp" style="display: inline-table; width: 33.3%; text-align: center;"><span id="' . $id . '_element_valueform_id_temp" class="label">' . $param['w_field_value'] . '</span></div><div align="right" id="' . $id . '_slider_td4form_id_temp" style="display: inline-table; width: 33.3%; text-align: right;"><span id="' . $id . '_element_maxform_id_temp" class="label">' . $param['w_field_max_value'] . '</span></div></div></div></div></div>';
|
3184 |
break;
|
3185 |
}
|
3186 |
case 'type_range': {
|
3164 |
'w_class',
|
3165 |
);
|
3166 |
}
|
3167 |
+
if ( strpos($temp, 'w_field_step') > -1 ) {
|
3168 |
+
$params_names = array(
|
3169 |
+
'w_field_label_size',
|
3170 |
+
'w_field_label_pos',
|
3171 |
+
'w_hide_label',
|
3172 |
+
'w_field_width',
|
3173 |
+
'w_field_min_value',
|
3174 |
+
'w_field_max_value',
|
3175 |
+
'w_field_step',
|
3176 |
+
'w_field_value',
|
3177 |
+
'w_required',
|
3178 |
+
'w_class',
|
3179 |
+
);
|
3180 |
+
}
|
3181 |
foreach ( $params_names as $params_name ) {
|
3182 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3183 |
$param[$params_name] = $temp[0];
|
3192 |
}
|
3193 |
$param['w_field_label_pos'] = ($param['w_field_label_pos'] == "left" ? "table-cell" : "block");
|
3194 |
$param['w_hide_label'] = (isset($param['w_hide_label']) ? $param['w_hide_label'] : "no");
|
3195 |
+
$param['w_field_step'] = (isset($param['w_field_step']) ? $param['w_field_step'] : 1);
|
3196 |
$display_label = $param['w_hide_label'] == "no" ? $param['w_field_label_pos'] : "none";
|
3197 |
$required_sym = ($param['w_required'] == "yes" ? " *" : "");
|
3198 |
+
$rep = '<div id="wdform_field' . $id . '" type="type_slider" class="wdform_field" style="display: table-cell;">' . $arrows . '<div align="left" id="' . $id . '_label_sectionform_id_temp" class="' . $param['w_class'] . '" style="display: ' . $display_label . '; vertical-align: top; width: ' . $param['w_field_label_size'] . 'px;"><span id="' . $id . '_element_labelform_id_temp" class="label">' . $label . '</span><span id="' . $id . '_required_elementform_id_temp" class="required">' . $required_sym . '</span></div><div align="left" id="' . $id . '_element_sectionform_id_temp" class="' . $param['w_class'] . '" style="display: ' . $param['w_field_label_pos'] . ';"><input type="hidden" value="type_slider" name="' . $id . '_typeform_id_temp" id="' . $id . '_typeform_id_temp"><input type="hidden" value="' . $param['w_required'] . '" name="' . $id . '_requiredform_id_temp" id="' . $id . '_requiredform_id_temp"><input type="hidden" value="' . $param['w_hide_label'] . '" name="' . $id . '_hide_labelform_id_temp" id="' . $id . '_hide_labelform_id_temp"/><input type="hidden" value="' . $param['w_field_width'] . '" name="' . $id . '_slider_widthform_id_temp" id="' . $id . '_slider_widthform_id_temp"><input type="hidden" value="' . $param['w_field_min_value'] . '" id="' . $id . '_slider_min_valueform_id_temp" name="' . $id . '_slider_min_valueform_id_temp"><input type="hidden" value="' . $param['w_field_max_value'] . '" id="' . $id . '_slider_max_valueform_id_temp" name="' . $id . '_slider_max_valueform_id_temp"><input type="hidden" value="' . $param['w_field_step'] . '" id="' . $id . '_slider_stepform_id_temp" name="' . $id . '_slider_stepform_id_temp" /><input type="hidden" value="' . $param['w_field_value'] . '" id="' . $id . '_slider_valueform_id_temp" name="' . $id . '_slider_valueform_id_temp"><div id="' . $id . '_slider_tableform_id_temp"><div><div id="' . $id . '_slider_td1form_id_temp"><div name="' . $id . '_elementform_id_temp" id="' . $id . '_elementform_id_temp" style="width: ' . $param['w_field_width'] . 'px;" ' . $param['attributes'] . '"></div></div></div><div><div align="left" id="' . $id . '_slider_td2form_id_temp" style="display: inline-table; width: 33.3%; text-align: left;"><span id="' . $id . '_element_minform_id_temp" class="label">' . $param['w_field_min_value'] . '</span></div><div align="right" id="' . $id . '_slider_td3form_id_temp" style="display: inline-table; width: 33.3%; text-align: center;"><span id="' . $id . '_element_valueform_id_temp" class="label">' . $param['w_field_value'] . '</span></div><div align="right" id="' . $id . '_slider_td4form_id_temp" style="display: inline-table; width: 33.3%; text-align: right;"><span id="' . $id . '_element_maxform_id_temp" class="label">' . $param['w_field_max_value'] . '</span></div></div></div></div></div>';
|
3199 |
break;
|
3200 |
}
|
3201 |
case 'type_range': {
|
admin/views/Manage_fm.php
CHANGED
@@ -1871,6 +1871,7 @@ class FMViewManage_fm extends FMAdminView {
|
|
1871 |
<label class="wd-label" for="fm_go-gdpr_checkbox_text"><?php _e('GDPR compliance text.', WDFMInstance(self::PLUGIN)->prefix); ?></label>
|
1872 |
<input type="text" id="fm_go-gdpr_checkbox_text" name="gdpr_checkbox_text" value="<?php echo $row->gdpr_checkbox_text; ?>">
|
1873 |
<p class="description"><?php _e('This text will be used for GDPR compliance checkbox. Place {{privacy_policy}} placeholder to place "Privacy Policy page" link.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
|
|
|
1874 |
</div>
|
1875 |
<div class="wd-group">
|
1876 |
<label class="wd-label"><?php _e('Save User IP Address to Database', WDFMInstance(self::PLUGIN)->prefix); ?></label>
|
1871 |
<label class="wd-label" for="fm_go-gdpr_checkbox_text"><?php _e('GDPR compliance text.', WDFMInstance(self::PLUGIN)->prefix); ?></label>
|
1872 |
<input type="text" id="fm_go-gdpr_checkbox_text" name="gdpr_checkbox_text" value="<?php echo $row->gdpr_checkbox_text; ?>">
|
1873 |
<p class="description"><?php _e('This text will be used for GDPR compliance checkbox. Place {{privacy_policy}} placeholder to place "Privacy Policy page" link.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
|
1874 |
+
<p class="description"><?php echo sprintf(__('You can manage your privacy settings %s.', WDFMInstance(self::PLUGIN)->prefix), '<a href="' . admin_url('privacy.php') . '" target="_blank">' . __('here', WDFMInstance(self::PLUGIN)->prefix)) . '</a>'; ?></p>
|
1875 |
</div>
|
1876 |
<div class="wd-group">
|
1877 |
<label class="wd-label"><?php _e('Save User IP Address to Database', WDFMInstance(self::PLUGIN)->prefix); ?></label>
|
admin/views/Uninstall_fm.php
CHANGED
@@ -16,143 +16,114 @@ class FMViewUninstall_fm extends FMAdminView {
|
|
16 |
/**
|
17 |
* Display page.
|
18 |
*
|
19 |
-
* @param
|
20 |
*/
|
21 |
-
public function display(
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
<div class="fm-logo-title"><?php _e('Uninstall', WDFMInstance(self::PLUGIN)->prefix); ?> <?php echo WDFMInstance(self::PLUGIN)->nicename; ?></div>
|
33 |
-
</div>
|
34 |
-
<br />
|
35 |
-
<div class="goodbye-text">
|
36 |
-
<?php echo sprintf( __('Before uninstalling %s, please contact %s. We\'ll do our best to assist you with any issue. We value every user and what\'s right for our users in everything we do.', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename, '<a href="https://web-dorado.com/support/contact-us.html" target="_blank">' . __('Web-Dorado Customer Care', WDFMInstance(self::PLUGIN)->prefix) . '</a>'); ?>
|
37 |
-
<br>
|
38 |
-
<?php echo sprintf( __('However, if you have made a decision to uninstall %s in any case, please take a minute to contact %s and let us know what you\'d like to see improved in the plugin. Thank you!', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename, '<a href="https://web-dorado.com/support/contact-us.html" target="_blank">' . __('our team', WDFMInstance(self::PLUGIN)->prefix) . '</a>'); ?>
|
39 |
-
</div>
|
40 |
-
<div class="goodbye-text" style="color: red;">
|
41 |
-
<?php echo sprintf( __('Note, that uninstalling %s will remove all forms, submissions and other data on the plugin.', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename); ?>
|
42 |
-
<br>
|
43 |
-
<?php _e('Please make sure you don\'t have any important information before you proceed.', WDFMInstance(self::PLUGIN)->prefix); ?>
|
44 |
-
</div>
|
45 |
-
<p><?php echo sprintf( __('Deactivating %s plugin does not remove any data that may have been created, such as the Forms and the Submissions. To completely remove this plugin, you can uninstall it here.', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename); ?></p>
|
46 |
-
<p style="color: red;">
|
47 |
-
<strong><?php _e('WARNING:', WDFMInstance(self::PLUGIN)->prefix); ?></strong>
|
48 |
-
<?php _e('Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to back up all the data first.', WDFMInstance(self::PLUGIN)->prefix); ?>
|
49 |
-
</p>
|
50 |
-
<p style="color: red">
|
51 |
-
<strong><?php _e('The following WordPress Options/Tables will be DELETED:', WDFMInstance(self::PLUGIN)->prefix); ?></strong>
|
52 |
-
</p>
|
53 |
-
<table class="widefat">
|
54 |
-
<thead>
|
55 |
-
<tr>
|
56 |
-
<th><?php _e('Database Tables', WDFMInstance(self::PLUGIN)->prefix); ?></th>
|
57 |
-
</tr>
|
58 |
-
</thead>
|
59 |
-
<tr>
|
60 |
-
<td valign="top">
|
61 |
-
<ol>
|
62 |
-
<li><?php echo $prefix; ?>formmaker</li>
|
63 |
-
<li><?php echo $prefix; ?>formmaker_backup</li>
|
64 |
-
<li><?php echo $prefix; ?>formmaker_blocked</li>
|
65 |
-
<li><?php echo $prefix; ?>formmaker_groups</li>
|
66 |
-
<li><?php echo $prefix; ?>formmaker_submits</li>
|
67 |
-
<li><?php echo $prefix; ?>formmaker_views</li>
|
68 |
-
<li><?php echo $prefix; ?>formmaker_themes</li>
|
69 |
-
<li><?php echo $prefix; ?>formmaker_sessions</li>
|
70 |
-
<li><?php echo $prefix; ?>formmaker_query</li>
|
71 |
-
<li><?php echo $prefix; ?>formmaker_display_options</li>
|
72 |
-
<?php
|
73 |
-
foreach ( $addons as $addon => $addon_name ) {
|
74 |
-
if ( defined($addon) && is_plugin_active(constant($addon)) ) {
|
75 |
-
if ( is_array($addon_name) ) {
|
76 |
-
foreach ( $addon_name as $ad_name ) {
|
77 |
-
echo '<li>' . $prefix . 'formmaker_' . $ad_name . '</li>';
|
78 |
-
}
|
79 |
-
}
|
80 |
-
else {
|
81 |
-
echo '<li>' . $prefix . 'formmaker_' . $addon_name . '</li>';
|
82 |
-
}
|
83 |
-
}
|
84 |
-
}
|
85 |
-
?>
|
86 |
-
</ol>
|
87 |
-
</td>
|
88 |
-
</tr>
|
89 |
-
</table>
|
90 |
-
<p style="text-align: center;">
|
91 |
-
Do you really want to uninstall <?php echo WDFMInstance(self::PLUGIN)->nicename; ?>?
|
92 |
-
</p>
|
93 |
-
<p style="text-align: center;">
|
94 |
-
<input type="checkbox" name="Form Maker" id="check_yes" value="yes" /> <label for="check_yes">Yes</label>
|
95 |
-
</p>
|
96 |
-
<p style="text-align: center;">
|
97 |
-
<input type="submit" value="UNINSTALL" class="button-primary fm-uninstall-btn" onclick="if (check_yes.checked) { if (confirm('Are you sure you wish to uninstall <?php echo WDFMInstance(self::PLUGIN)->nicename; ?> from your website?\nAll forms, submissions and other data in the plugin will be removed.')) { fm_set_input_value('task', 'uninstall'); } else { return false; } } else { return false; }" />
|
98 |
-
</p>
|
99 |
-
</div>
|
100 |
-
<input id="task" name="task" type="hidden" value="" />
|
101 |
-
</form>
|
102 |
-
<?php
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
-
*
|
107 |
*
|
108 |
-
* @param
|
109 |
*/
|
110 |
-
public function
|
111 |
-
$prefix = $params['prefix'];
|
112 |
-
$addons = $params['addons']; //array
|
113 |
$deactivate_url = add_query_arg(array(
|
114 |
'action' => 'deactivate',
|
115 |
'plugin' => WDFMInstance(self::PLUGIN)->main_file,
|
116 |
), admin_url('plugins.php'));
|
117 |
$deactivate_url = wp_nonce_url($deactivate_url, 'deactivate-plugin_' . WDFMInstance(self::PLUGIN)->main_file);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
?>
|
119 |
-
<div
|
120 |
-
<p>The following Database Tables successfully deleted:</p>
|
121 |
-
<p><?php echo $prefix; ?>formmaker,</p>
|
122 |
-
<p><?php echo $prefix; ?>formmaker_backup,</p>
|
123 |
-
<p><?php echo $prefix; ?>formmaker_blocked,</p>
|
124 |
-
<p><?php echo $prefix; ?>formmaker_sessions,</p>
|
125 |
-
<p><?php echo $prefix; ?>formmaker_groups,</p>
|
126 |
-
<p><?php echo $prefix; ?>formmaker_submits,</p>
|
127 |
-
<p><?php echo $prefix; ?>formmaker_themes,</p>
|
128 |
-
<p><?php echo $prefix; ?>formmaker_views,</p>
|
129 |
-
<p><?php echo $prefix; ?>formmaker_query,</p>
|
130 |
-
<p><?php echo $prefix; ?>formmaker_display_options.</p>
|
131 |
<?php
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
}
|
139 |
-
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
-
|
143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
?>
|
145 |
-
</
|
146 |
-
<div class="wrap">
|
147 |
-
<h2><?php _e('Uninstall', WDFMInstance(self::PLUGIN)->prefix); ?> <?php echo WDFMInstance(self::PLUGIN)->nicename; ?></h2>
|
148 |
-
<p>
|
149 |
-
<strong>
|
150 |
-
<a href="<?php echo $deactivate_url; ?>" class="fm_deactivate_link" data-uninstall="1"><?php _e('Click Here', WDFMInstance(self::PLUGIN)->prefix); ?></a>
|
151 |
-
<?php _e('To Finish the Uninstallation and Form Maker will be Deactivated Automatically.', WDFMInstance(self::PLUGIN)->prefix); ?></a>
|
152 |
-
</strong>
|
153 |
-
</p>
|
154 |
-
<input id="task" name="task" type="hidden" value="" />
|
155 |
-
</div>
|
156 |
<?php
|
157 |
}
|
158 |
}
|
16 |
/**
|
17 |
* Display page.
|
18 |
*
|
19 |
+
* @param $params
|
20 |
*/
|
21 |
+
public function display($params = array()) {
|
22 |
+
ob_start();
|
23 |
+
echo $this->body($params);
|
24 |
+
// Pass the content to form.
|
25 |
+
$form_attr = array(
|
26 |
+
'id' => WDFMInstance(self::PLUGIN)->prefix . '_uninstall',
|
27 |
+
'name' => WDFMInstance(self::PLUGIN)->prefix . '_uninstall',
|
28 |
+
'class' => WDFMInstance(self::PLUGIN)->prefix . '_uninstall wd-form',
|
29 |
+
'action' => add_query_arg(array( 'page' => 'uninstall' . WDFMInstance(self::PLUGIN)->menu_postfix ), 'admin.php'),
|
30 |
+
);
|
31 |
+
echo $this->form(ob_get_clean(), $form_attr);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
+
* Generate page body.
|
36 |
*
|
37 |
+
* @param $params
|
38 |
*/
|
39 |
+
public function body( $params = array() ) {
|
|
|
|
|
40 |
$deactivate_url = add_query_arg(array(
|
41 |
'action' => 'deactivate',
|
42 |
'plugin' => WDFMInstance(self::PLUGIN)->main_file,
|
43 |
), admin_url('plugins.php'));
|
44 |
$deactivate_url = wp_nonce_url($deactivate_url, 'deactivate-plugin_' . WDFMInstance(self::PLUGIN)->main_file);
|
45 |
+
echo $this->title(array(
|
46 |
+
'title' => $params['page_title'],
|
47 |
+
'title_class' => 'wd-header',
|
48 |
+
'add_new_button' => FALSE,
|
49 |
+
));
|
50 |
+
|
51 |
+
if ( isset($params['deactivate']) && $params['deactivate'] == TRUE ) {
|
52 |
+
?>
|
53 |
+
<p><strong><?php echo sprintf(__("%s to Finish the Uninstallation and %s will be Deactivated Automatically.", WDFMInstance(self::PLUGIN)->prefix), '<a href="' . $deactivate_url . '" class="bwg_deactivate_link" data-uninstall="1">' . __("Click Here", WDFMInstance(self::PLUGIN)->prefix) . '</a>', WDFMInstance(self::PLUGIN)->nicename); ?></strong></p>
|
54 |
+
<?php
|
55 |
+
|
56 |
+
return;
|
57 |
+
}
|
58 |
+
|
59 |
?>
|
60 |
+
<div class="goodbye-text">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
<?php
|
62 |
+
$support_team = '<a href="https://web-dorado.com/support/contact-us.html" target="_blank">' . __('support team', WDFMInstance(self::PLUGIN)->prefix) . '</a>';
|
63 |
+
$contact_us = '<a href="https://web-dorado.com/support/contact-us.html" target="_blank">' . __('Contact us', WDFMInstance(self::PLUGIN)->prefix) . '</a>';
|
64 |
+
echo sprintf(__("Before uninstalling the plugin, please Contact our %s. We'll do our best to help you out with your issue. We value each and every user and value what's right for our users in everything we do.<br />
|
65 |
+
However, if anyway you have made a decision to uninstall the plugin, please take a minute to %s and tell what you didn't like for our plugins further improvement and development. Thank you !!!", WDFMInstance(self::PLUGIN)->prefix), $support_team, $contact_us); ?>
|
66 |
+
</div>
|
67 |
+
<p>
|
68 |
+
<?php echo sprintf(__("Deactivating %s plugin does not remove any data that may have been created. To completely remove this plugin, you can uninstall it here.", WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename); ?>
|
69 |
+
</p>
|
70 |
+
<p class="wd-red">
|
71 |
+
<strong><?php _e("WARNING:", WDFMInstance(self::PLUGIN)->prefix); ?></strong>
|
72 |
+
<?php _e("Once uninstalled, this can't be undone. You should use a Database Backup plugin of WordPress to back up all the data first.", WDFMInstance(self::PLUGIN)->prefix); ?>
|
73 |
+
</p>
|
74 |
+
<p class="wd-red">
|
75 |
+
<strong><?php _e("The following Database Tables will be deleted:", WDFMInstance(self::PLUGIN)->prefix); ?></strong>
|
76 |
+
</p>
|
77 |
+
<table class="widefat">
|
78 |
+
<thead>
|
79 |
+
<tr>
|
80 |
+
<th><?php _e("Database Tables", WDFMInstance(self::PLUGIN)->prefix); ?></th>
|
81 |
+
</tr>
|
82 |
+
</thead>
|
83 |
+
<tr>
|
84 |
+
<td>
|
85 |
+
<?php
|
86 |
+
foreach ( $params['tables'] as $table ) {
|
87 |
+
?>
|
88 |
+
<p><?php echo $table; ?></p>
|
89 |
+
<?php
|
90 |
}
|
91 |
+
foreach ( $params['addons'] as $addon => $addon_name ) {
|
92 |
+
if ( defined($addon) && is_plugin_active(constant($addon)) ) {
|
93 |
+
if ( is_array($addon_name) ) {
|
94 |
+
foreach ( $addon_name as $ad_name ) {
|
95 |
+
echo '<p>' . WDFMInstance(self::PLUGIN)->prefix . 'formmaker_' . $ad_name . '</p>';
|
96 |
+
}
|
97 |
+
}
|
98 |
+
else {
|
99 |
+
echo '<p>' . WDFMInstance(self::PLUGIN)->prefix . 'formmaker_' . $addon_name . '</p>';
|
100 |
+
}
|
101 |
+
}
|
102 |
}
|
103 |
+
?>
|
104 |
+
</td>
|
105 |
+
</tr>
|
106 |
+
</table>
|
107 |
+
<p class="wd-text-center">
|
108 |
+
<?php echo sprintf(__("Do you really want to uninstall %s?", WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename); ?>
|
109 |
+
</p>
|
110 |
+
<p class="wd-text-center">
|
111 |
+
<input type="checkbox" name="Form Maker" id="check_yes" value="yes" />
|
112 |
+
<label for="check_yes"><?php _e("Yes", WDFMInstance(self::PLUGIN)->prefix); ?></label>
|
113 |
+
</p>
|
114 |
+
<p class="wd-text-center">
|
115 |
+
<?php
|
116 |
+
$buttons = array(
|
117 |
+
'save' => array(
|
118 |
+
'title' => __('UNINSTALL', WDFMInstance(self::PLUGIN)->prefix),
|
119 |
+
'value' => 'uninstall',
|
120 |
+
'onclick' => 'if (check_yes.checked && confirm(\'' . addslashes(sprintf(__("You are About to Uninstall %s from WordPress. This Action Is Not Reversible.", WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename)) . '\')) { fm_set_input_value(\'task\', \'uninstall\'); } else {return false;}',
|
121 |
+
'class' => 'button-primary',
|
122 |
+
),
|
123 |
+
);
|
124 |
+
echo $this->buttons($buttons, TRUE);
|
125 |
?>
|
126 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
<?php
|
128 |
}
|
129 |
}
|
css/form_maker_frontend.css
CHANGED
@@ -1037,4 +1037,5 @@ div[type="type_slider"] .label {
|
|
1037 |
}
|
1038 |
.fm-form-container .fm-form .fm-gdpr-checkbox {
|
1039 |
display: initial !important;
|
|
|
1040 |
}
|
1037 |
}
|
1038 |
.fm-form-container .fm-form .fm-gdpr-checkbox {
|
1039 |
display: initial !important;
|
1040 |
+
margin-right: 5px;
|
1041 |
}
|
css/form_maker_tables.css
CHANGED
@@ -4337,4 +4337,36 @@ li.pp_selected > span {
|
|
4337 |
.tooltip-arrow.top:after {
|
4338 |
bottom: -20px;
|
4339 |
top: auto;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4340 |
}
|
4337 |
.tooltip-arrow.top:after {
|
4338 |
bottom: -20px;
|
4339 |
top: auto;
|
4340 |
+
}
|
4341 |
+
|
4342 |
+
.wd-red {
|
4343 |
+
color: red;
|
4344 |
+
}
|
4345 |
+
|
4346 |
+
.wd-yellow {
|
4347 |
+
color: #FCCD47;
|
4348 |
+
}
|
4349 |
+
|
4350 |
+
.wd-grey {
|
4351 |
+
color: #9B9B9B;
|
4352 |
+
}
|
4353 |
+
|
4354 |
+
.goodbye-text {
|
4355 |
+
font-size: 16px;
|
4356 |
+
font-weight: bold;
|
4357 |
+
background: #fff;
|
4358 |
+
padding: 15px;
|
4359 |
+
line-height: 22px;
|
4360 |
+
}
|
4361 |
+
|
4362 |
+
.goodbye-text a {
|
4363 |
+
font-size: 15px;
|
4364 |
+
}
|
4365 |
+
|
4366 |
+
.wd-vertical-middle {
|
4367 |
+
vertical-align: middle !important;
|
4368 |
+
}
|
4369 |
+
|
4370 |
+
.wd-text-center {
|
4371 |
+
text-align: center;
|
4372 |
}
|
form-maker.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Form Maker
|
4 |
* Plugin URI: https://web-dorado.com/products/form-maker-wordpress.html
|
5 |
* Description: This plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress 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
|
@@ -95,8 +95,8 @@ final class WDFM {
|
|
95 |
$this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
|
96 |
$this->front_urls = $this->get_front_urls();
|
97 |
$this->main_file = plugin_basename(__FILE__);
|
98 |
-
$this->plugin_version = '1.12.
|
99 |
-
$this->db_version = '2.12.
|
100 |
$this->menu_postfix = ($this->is_free == 2 ? '_fmc' : '_fm');
|
101 |
$this->plugin_postfix = ($this->is_free == 2 ? '_fmc' : '');
|
102 |
$this->menu_slug = 'manage' . $this->menu_postfix;
|
3 |
* Plugin Name: Form Maker
|
4 |
* Plugin URI: https://web-dorado.com/products/form-maker-wordpress.html
|
5 |
* Description: This plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress Forms.
|
6 |
+
* Version: 1.12.38
|
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
|
95 |
$this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
|
96 |
$this->front_urls = $this->get_front_urls();
|
97 |
$this->main_file = plugin_basename(__FILE__);
|
98 |
+
$this->plugin_version = '1.12.38';
|
99 |
+
$this->db_version = '2.12.38';
|
100 |
$this->menu_postfix = ($this->is_free == 2 ? '_fmc' : '_fm');
|
101 |
$this->plugin_postfix = ($this->is_free == 2 ? '_fmc' : '');
|
102 |
$this->menu_slug = 'manage' . $this->menu_postfix;
|
framework/WDW_FM_Library.php
CHANGED
@@ -3688,6 +3688,20 @@ class WDW_FM_Library {
|
|
3688 |
'w_class',
|
3689 |
);
|
3690 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3691 |
foreach ( $params_names as $params_name ) {
|
3692 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3693 |
$param[$params_name] = $temp[0];
|
@@ -3697,6 +3711,7 @@ class WDW_FM_Library {
|
|
3697 |
$onload_js .= '
|
3698 |
jQuery("#wdform_' . $id1 . '_element' . $form_id . '")[0].slide = null;
|
3699 |
jQuery("#wdform_' . $id1 . '_element' . $form_id . '").slider({
|
|
|
3700 |
range: "min",
|
3701 |
value: eval(' . $param['w_field_value'] . '),
|
3702 |
min: eval(' . $param['w_field_min_value'] . '),
|
@@ -5255,14 +5270,16 @@ class WDW_FM_Library {
|
|
5255 |
*/
|
5256 |
public static function get_privacy_policy_url() {
|
5257 |
$permalink = '';
|
|
|
5258 |
$post_id = get_option( 'wp_page_for_privacy_policy' );
|
5259 |
if ( $post_id ) {
|
5260 |
$post = get_post( $post_id, OBJECT );
|
5261 |
if ( $post->post_status == 'publish' ) {
|
5262 |
$permalink = get_permalink( $post_id );
|
|
|
5263 |
}
|
5264 |
}
|
5265 |
-
return $permalink;
|
5266 |
}
|
5267 |
|
5268 |
public static function unique_number() {
|
3688 |
'w_class',
|
3689 |
);
|
3690 |
}
|
3691 |
+
if ( strpos($temp, 'w_field_step') > -1 ) {
|
3692 |
+
$params_names = array(
|
3693 |
+
'w_field_label_size',
|
3694 |
+
'w_field_label_pos',
|
3695 |
+
'w_hide_label',
|
3696 |
+
'w_field_width',
|
3697 |
+
'w_field_min_value',
|
3698 |
+
'w_field_max_value',
|
3699 |
+
'w_field_step',
|
3700 |
+
'w_field_value',
|
3701 |
+
'w_required',
|
3702 |
+
'w_class',
|
3703 |
+
);
|
3704 |
+
}
|
3705 |
foreach ( $params_names as $params_name ) {
|
3706 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3707 |
$param[$params_name] = $temp[0];
|
3711 |
$onload_js .= '
|
3712 |
jQuery("#wdform_' . $id1 . '_element' . $form_id . '")[0].slide = null;
|
3713 |
jQuery("#wdform_' . $id1 . '_element' . $form_id . '").slider({
|
3714 |
+
step: parseInt(' . $param['w_field_step'] . '),
|
3715 |
range: "min",
|
3716 |
value: eval(' . $param['w_field_value'] . '),
|
3717 |
min: eval(' . $param['w_field_min_value'] . '),
|
5270 |
*/
|
5271 |
public static function get_privacy_policy_url() {
|
5272 |
$permalink = '';
|
5273 |
+
$title = __('Privacy Policy', WDFMInstance(self::PLUGIN)->prefix);
|
5274 |
$post_id = get_option( 'wp_page_for_privacy_policy' );
|
5275 |
if ( $post_id ) {
|
5276 |
$post = get_post( $post_id, OBJECT );
|
5277 |
if ( $post->post_status == 'publish' ) {
|
5278 |
$permalink = get_permalink( $post_id );
|
5279 |
+
$title = $post->post_title;
|
5280 |
}
|
5281 |
}
|
5282 |
+
return array('url' => $permalink, 'title' => $title);
|
5283 |
}
|
5284 |
|
5285 |
public static function unique_number() {
|
frontend/models/form_maker.php
CHANGED
@@ -351,14 +351,13 @@ class FMModelForm_maker {
|
|
351 |
(!empty( $form_theme[ 'GPFontSize' ] ) ? 'font-size:' . $form_theme[ 'GPFontSize' ] . 'px;' : '') .
|
352 |
(!empty( $form_theme[ 'GPColor' ] ) ? 'color:' . $form_theme[ 'GPColor' ] . ';' : '') .
|
353 |
'}';
|
354 |
-
if ( !empty( $form_theme[ 'GPAlign' ] )
|
355 |
-
$
|
356 |
-
'margin:0 auto;'
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
'}';
|
362 |
}
|
363 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .wdform_section {' .
|
364 |
(!empty( $form_theme[ 'SEPMargin' ] ) ? 'margin:' . $form_theme[ 'SEPMargin' ] . ';' : '') .
|
@@ -603,9 +602,9 @@ class FMModelForm_maker {
|
|
603 |
(!empty( $form_theme[ 'GPBGColor' ] ) ? 'background:' . $form_theme[ 'GPBGColor' ] . ';' : '') .
|
604 |
(!empty( $form_theme[ 'GPFontFamily' ] ) ? 'font-family:' . $form_theme[ 'GPFontFamily' ] . ';' : '') .
|
605 |
'}';
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="text"],
|
610 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form .ui-corner-all,
|
611 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="number"],
|
@@ -799,9 +798,12 @@ class FMModelForm_maker {
|
|
799 |
(!empty( $form_theme[ 'SPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'SPBoxShadow' ] . ' !important;' : '') .
|
800 |
((isset( $form_theme[ 'SPBorderRadius' ] ) && $form_theme[ 'SPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'SPBorderRadius' ] . 'px !important;' : '') .
|
801 |
'}';
|
|
|
|
|
|
|
802 |
if ( !empty( $borders[ 'SP' ] ) ) {
|
803 |
foreach ( $borders[ 'SP' ] as $border ) {
|
804 |
-
if ( !empty( $form_theme[ 'SPBorderType' ] ) && ($form_theme[ 'SPBorderType' ] == 'inherit' || $form_theme[ 'SPBorderType' ] == 'initial') ) {
|
805 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-submit {' .
|
806 |
'border-' . $border . '-style:' . $form_theme[ 'SPBorderType' ] . ' !important;' .
|
807 |
'}';
|
@@ -849,17 +851,22 @@ class FMModelForm_maker {
|
|
849 |
((isset( $form_theme[ 'BPBorderRadius' ] ) && $form_theme[ 'BPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'BPBorderRadius' ] . 'px;' : '') .
|
850 |
(!empty( $form_theme[ 'BPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'BPBoxShadow' ] . ' !important;' : '') .
|
851 |
'}';
|
|
|
|
|
|
|
|
|
|
|
852 |
if ( !empty( $borders[ 'BP' ] ) ) {
|
853 |
foreach ( $borders[ 'BP' ] as $border ) {
|
854 |
-
if ( !empty( $form_theme[ 'BPBorderType' ] ) && ($form_theme[ 'BPBorderType' ] == 'inherit' || $form_theme[ 'BPBorderType' ] == 'initial') ) {
|
855 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-reset,
|
856 |
-
.fm-form-container.fm-theme' . $theme_id . ' .fm-form button {' .
|
857 |
'border-' . $border . '-style:' . $form_theme[ 'BPBorderType' ] . ' !important;' .
|
858 |
'}';
|
859 |
break;
|
860 |
} else {
|
861 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-reset,
|
862 |
-
.fm-form-container.fm-theme' . $theme_id . ' .fm-form button {' .
|
863 |
((isset( $form_theme[ 'BPBorderWidth' ] ) && $form_theme[ 'BPBorderWidth' ] !== '') ? 'border-' . $border . ':' . $form_theme[ 'BPBorderWidth' ] . 'px !important;' : '') .
|
864 |
(!empty( $form_theme[ 'BPBorderType' ] ) ? 'border-' . $border . '-style:' . $form_theme[ 'BPBorderType' ] . ' !important;' : '') .
|
865 |
(!empty( $form_theme[ 'BPBorderColor' ] ) ? 'border-' . $border . '-color:' . $form_theme[ 'BPBorderColor' ] . ' !important;' : '') .
|
@@ -996,11 +1003,13 @@ class FMModelForm_maker {
|
|
996 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="checkbox"] {' .
|
997 |
(!empty( $form_theme[ 'MCCPBackground' ] ) || !empty( $form_theme[ 'MCCPBGColor' ] ) ? 'display: none;' : '') .
|
998 |
'}';
|
999 |
-
|
|
|
|
|
1000 |
}
|
1001 |
-
if ( !empty( $form_theme[ 'CUPCSS' ] )
|
1002 |
-
$pattern = '/\/\/(.+)(\r\n|\r|\n)/';
|
1003 |
$form_theme_css = $form_theme[ 'CUPCSS' ];
|
|
|
1004 |
if ( strpos( $form_theme_css, ':checked + label' ) !== FALSE ) {
|
1005 |
$form_theme_css .= '
|
1006 |
.checkbox-div label span {
|
@@ -3220,47 +3229,47 @@ class FMModelForm_maker {
|
|
3220 |
array_push( $attachment_user, $pdf_data['pdf_url'] );
|
3221 |
}
|
3222 |
|
3223 |
-
if ( $row->sendemail ) {
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
|
3228 |
-
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
|
3244 |
-
|
3245 |
-
), get_post_permalink( $mail_verification_post_id ) ) . ">" . add_query_arg( array(
|
3246 |
-
'gid' => $_SESSION[ 'gid' ],
|
3247 |
-
'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
|
3248 |
-
), get_post_permalink( $mail_verification_post_id ) ) . "</a><br/>" : add_query_arg( array(
|
3249 |
'gid' => $_SESSION[ 'gid' ],
|
3250 |
'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
|
3251 |
-
), get_post_permalink( $mail_verification_post_id ) )
|
3252 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3253 |
}
|
3254 |
-
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
$attachment_user = iterator_to_array( $remove_parrent_array_user, FALSE );
|
3260 |
-
} else {
|
3261 |
-
$attachment_user = array();
|
3262 |
-
}
|
3263 |
-
WDW_FM_Library(self::PLUGIN)->mail( $recipient, $subject, $body, $header_arr, $attachment_user );
|
3264 |
}
|
3265 |
}
|
3266 |
}
|
@@ -3268,7 +3277,7 @@ class FMModelForm_maker {
|
|
3268 |
}
|
3269 |
|
3270 |
// Admin part.
|
3271 |
-
if ( $row->sendemail ) {
|
3272 |
$recipient = $row->mail ? $row->mail : '';
|
3273 |
$subject = !empty( $row->mail_subject ) ? $row->mail_subject : $row->title;
|
3274 |
|
@@ -3371,7 +3380,9 @@ class FMModelForm_maker {
|
|
3371 |
// Replace pdf link in email body.
|
3372 |
$admin_body = str_replace( '{PDF(link)}', site_url($pdf_data['pdf_url']), $admin_body );
|
3373 |
|
3374 |
-
|
|
|
|
|
3375 |
}
|
3376 |
$_SESSION[ 'error_or_no' . $id ] = 0;
|
3377 |
$msg = addslashes( __( 'Your form was successfully submitted.', WDFMInstance(self::PLUGIN)->prefix ) );
|
@@ -3381,38 +3392,37 @@ class FMModelForm_maker {
|
|
3381 |
if ( $send !== TRUE ) {
|
3382 |
$_SESSION[ 'error_or_no' . $id ] = 1;
|
3383 |
$msg = addslashes( __( 'Error, email was not sent.', WDFMInstance(self::PLUGIN)->prefix ) );
|
3384 |
-
}
|
|
|
3385 |
$_SESSION[ 'error_or_no' . $id ] = 0;
|
3386 |
-
$msg = addslashes( __( 'Your form was successfully submitted.', WDFMInstance(self::PLUGIN)->prefix ) );
|
3387 |
}
|
3388 |
}
|
3389 |
}
|
3390 |
}
|
3391 |
|
3392 |
-
// Add-on conditional email
|
3393 |
-
if ( WDFMInstance(self::PLUGIN)->is_free != 2 ) {
|
3394 |
-
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
3406 |
-
|
3407 |
-
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
3414 |
-
|
3415 |
-
// delete files from uploads (save_upload = 0)
|
3416 |
if ( $row->save_uploads == 0 ) {
|
3417 |
foreach ( $all_files as &$all_file ) {
|
3418 |
if ( file_exists( $all_file[ 'tmp_name' ] ) ) {
|
@@ -3425,7 +3435,7 @@ class FMModelForm_maker {
|
|
3425 |
|
3426 |
$https = ((isset( $_SERVER[ 'HTTPS' ] ) && $_SERVER[ 'HTTPS' ] == 'on') ? 'https://' : 'http://');
|
3427 |
$redirect_url = $https . $_SERVER[ "HTTP_HOST" ] . $_SERVER[ "REQUEST_URI" ];
|
3428 |
-
if ( $row->submit_text_type == 4 ) {
|
3429 |
// Action after submission: URL.
|
3430 |
$redirect_url = $row->url;
|
3431 |
}
|
@@ -3434,7 +3444,7 @@ class FMModelForm_maker {
|
|
3434 |
$redirect_url = $row->article_id;
|
3435 |
}
|
3436 |
|
3437 |
-
if ( $row->submit_text_type != 4 ) {
|
3438 |
// This ensures that no message is enqueued by an add-on.
|
3439 |
if ( !$_SESSION[ 'massage_after_submit' . $id ] ) {
|
3440 |
$_SESSION[ 'massage_after_submit' . $id ] = $msg;
|
351 |
(!empty( $form_theme[ 'GPFontSize' ] ) ? 'font-size:' . $form_theme[ 'GPFontSize' ] . 'px;' : '') .
|
352 |
(!empty( $form_theme[ 'GPColor' ] ) ? 'color:' . $form_theme[ 'GPColor' ] . ';' : '') .
|
353 |
'}';
|
354 |
+
if ( !empty( $form_theme[ 'GPAlign' ] ) ) {
|
355 |
+
if ( $form_theme[ 'GPAlign' ] == 'center' ) {
|
356 |
+
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' { margin: 0 auto; }';
|
357 |
+
}
|
358 |
+
else {
|
359 |
+
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' { float: ' . $form_theme['GPAlign'] . '; }';
|
360 |
+
}
|
|
|
361 |
}
|
362 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .wdform_section {' .
|
363 |
(!empty( $form_theme[ 'SEPMargin' ] ) ? 'margin:' . $form_theme[ 'SEPMargin' ] . ';' : '') .
|
602 |
(!empty( $form_theme[ 'GPBGColor' ] ) ? 'background:' . $form_theme[ 'GPBGColor' ] . ';' : '') .
|
603 |
(!empty( $form_theme[ 'GPFontFamily' ] ) ? 'font-family:' . $form_theme[ 'GPFontFamily' ] . ';' : '') .
|
604 |
'}';
|
605 |
+
if ( !empty( $form_theme[ 'SEPBGColor' ] ) ) {
|
606 |
+
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .wdform_section { background:' . $form_theme['SEPBGColor'] . '; }';
|
607 |
+
}
|
608 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="text"],
|
609 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form .ui-corner-all,
|
610 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="number"],
|
798 |
(!empty( $form_theme[ 'SPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'SPBoxShadow' ] . ' !important;' : '') .
|
799 |
((isset( $form_theme[ 'SPBorderRadius' ] ) && $form_theme[ 'SPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'SPBorderRadius' ] . 'px !important;' : '') .
|
800 |
'}';
|
801 |
+
if ( !empty( $form_theme[ 'SPBorderType' ] ) && ($form_theme[ 'SPBorderType' ] == 'none' || $form_theme[ 'SPBorderType' ] == 'inherit' || $form_theme[ 'SPBorderType' ] == 'initial') ) {
|
802 |
+
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-submit {' . 'border: ' . $form_theme['SPBorderType'] . '}';
|
803 |
+
}
|
804 |
if ( !empty( $borders[ 'SP' ] ) ) {
|
805 |
foreach ( $borders[ 'SP' ] as $border ) {
|
806 |
+
if ( !empty( $form_theme[ 'SPBorderType' ] ) && ($form_theme[ 'SPBorderType' ] == 'none' || $form_theme[ 'SPBorderType' ] == 'inherit' || $form_theme[ 'SPBorderType' ] == 'initial') ) {
|
807 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-submit {' .
|
808 |
'border-' . $border . '-style:' . $form_theme[ 'SPBorderType' ] . ' !important;' .
|
809 |
'}';
|
851 |
((isset( $form_theme[ 'BPBorderRadius' ] ) && $form_theme[ 'BPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'BPBorderRadius' ] . 'px;' : '') .
|
852 |
(!empty( $form_theme[ 'BPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'BPBoxShadow' ] . ' !important;' : '') .
|
853 |
'}';
|
854 |
+
if ( !empty( $form_theme[ 'BPBorderType' ] ) && ($form_theme[ 'BPBorderType' ] == 'none' || $form_theme[ 'BPBorderType' ] == 'inherit' || $form_theme[ 'BPBorderType' ] == 'initial') ) {
|
855 |
+
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-reset,
|
856 |
+
.fm-form-container.fm-theme' . $theme_id . ' .fm-form button:not(.button-submit) {' .
|
857 |
+
'border: ' . $form_theme[ 'BPBorderType' ] . '; }';
|
858 |
+
}
|
859 |
if ( !empty( $borders[ 'BP' ] ) ) {
|
860 |
foreach ( $borders[ 'BP' ] as $border ) {
|
861 |
+
if ( !empty( $form_theme[ 'BPBorderType' ] ) && ($form_theme[ 'BPBorderType' ] == 'none' || $form_theme[ 'BPBorderType' ] == 'inherit' || $form_theme[ 'BPBorderType' ] == 'initial') ) {
|
862 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-reset,
|
863 |
+
.fm-form-container.fm-theme' . $theme_id . ' .fm-form button:not(.button-submit) {' .
|
864 |
'border-' . $border . '-style:' . $form_theme[ 'BPBorderType' ] . ' !important;' .
|
865 |
'}';
|
866 |
break;
|
867 |
} else {
|
868 |
$css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .button-reset,
|
869 |
+
.fm-form-container.fm-theme' . $theme_id . ' .fm-form butto:not(.button-submit)n {' .
|
870 |
((isset( $form_theme[ 'BPBorderWidth' ] ) && $form_theme[ 'BPBorderWidth' ] !== '') ? 'border-' . $border . ':' . $form_theme[ 'BPBorderWidth' ] . 'px !important;' : '') .
|
871 |
(!empty( $form_theme[ 'BPBorderType' ] ) ? 'border-' . $border . '-style:' . $form_theme[ 'BPBorderType' ] . ' !important;' : '') .
|
872 |
(!empty( $form_theme[ 'BPBorderColor' ] ) ? 'border-' . $border . '-color:' . $form_theme[ 'BPBorderColor' ] . ' !important;' : '') .
|
1003 |
.fm-form-container.fm-theme' . $theme_id . ' .fm-form input[type="checkbox"] {' .
|
1004 |
(!empty( $form_theme[ 'MCCPBackground' ] ) || !empty( $form_theme[ 'MCCPBGColor' ] ) ? 'display: none;' : '') .
|
1005 |
'}';
|
1006 |
+
if ( !empty( $form_theme[ 'CUPCSS' ] ) ) {
|
1007 |
+
$css_content .= $form_theme['CUPCSS'];
|
1008 |
+
}
|
1009 |
}
|
1010 |
+
if ( !empty( $form_theme[ 'CUPCSS' ] ) ) {
|
|
|
1011 |
$form_theme_css = $form_theme[ 'CUPCSS' ];
|
1012 |
+
$pattern = '/\/\/(.+)(\r\n|\r|\n)/';
|
1013 |
if ( strpos( $form_theme_css, ':checked + label' ) !== FALSE ) {
|
1014 |
$form_theme_css .= '
|
1015 |
.checkbox-div label span {
|
3229 |
array_push( $attachment_user, $pdf_data['pdf_url'] );
|
3230 |
}
|
3231 |
|
3232 |
+
if ( $row->sendemail && $row->send_to || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
|
3233 |
+
$body = $new_script;
|
3234 |
+
$send_tos = explode( '**', $row->send_to );
|
3235 |
+
$send_copy = isset( $_POST[ "wdform_send_copy_" . $id ] ) ? $_POST[ "wdform_send_copy_" . $id ] : NULL;
|
3236 |
+
if ( isset( $send_copy ) ) {
|
3237 |
+
$send = TRUE;
|
3238 |
+
}
|
3239 |
+
else {
|
3240 |
+
$mail_verification_post_id = (int)$wpdb->get_var( $wpdb->prepare( 'SELECT mail_verification_post_id FROM ' . $wpdb->prefix . 'formmaker WHERE id="%d"', $id ) );
|
3241 |
+
$verification_link = get_post( $mail_verification_post_id );
|
3242 |
+
|
3243 |
+
// Replace pdf link in email body.
|
3244 |
+
$body = str_replace( '{PDF(link)}', site_url($pdf_data['pdf_url']), $body );
|
3245 |
+
|
3246 |
+
foreach ( $send_tos as $index => $send_to ) {
|
3247 |
+
$send_to = str_replace( '*', '', $send_to );
|
3248 |
+
if ( $row->mail_verify && $verification_link !== NULL
|
3249 |
+
&& (strpos( $new_script, "{verificationlink}" ) > -1 || strpos( $new_script, "%Verification link%" ) > -1) ) {
|
3250 |
+
$ver_link = $row->mail_mode_user ? "<a href =" . add_query_arg( array(
|
3251 |
+
'gid' => $_SESSION[ 'gid' ],
|
3252 |
+
'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
|
3253 |
+
), get_post_permalink( $mail_verification_post_id ) ) . ">" . add_query_arg( array(
|
|
|
|
|
|
|
|
|
3254 |
'gid' => $_SESSION[ 'gid' ],
|
3255 |
'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
|
3256 |
+
), get_post_permalink( $mail_verification_post_id ) ) . "</a><br/>" : add_query_arg( array(
|
3257 |
+
'gid' => $_SESSION[ 'gid' ],
|
3258 |
+
'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
|
3259 |
+
), get_post_permalink( $mail_verification_post_id ) );
|
3260 |
+
$body = str_replace( array( '%Verification link%', '{verificationlink}' ), $ver_link, $new_script );
|
3261 |
+
}
|
3262 |
+
$recipient = isset( $_POST[ 'wdform_' . str_replace( '*', '', $send_to ) . "_element" . $id ] ) ? $_POST[ 'wdform_' . $send_to . "_element" . $id ] : NULL;
|
3263 |
+
if ( $recipient ) {
|
3264 |
+
if ( $row->mail_attachment_user ) {
|
3265 |
+
$remove_parrent_array_user = new RecursiveIteratorIterator( new RecursiveArrayIterator( $attachment_user ) );
|
3266 |
+
$attachment_user = iterator_to_array( $remove_parrent_array_user, FALSE );
|
3267 |
}
|
3268 |
+
else {
|
3269 |
+
$attachment_user = array();
|
3270 |
+
}
|
3271 |
+
if ( $row->sendemail && $row->send_to ) {
|
3272 |
+
WDW_FM_Library(self::PLUGIN)->mail($recipient, $subject, $body, $header_arr, $attachment_user);
|
|
|
|
|
|
|
|
|
|
|
3273 |
}
|
3274 |
}
|
3275 |
}
|
3277 |
}
|
3278 |
|
3279 |
// Admin part.
|
3280 |
+
if ( $row->sendemail || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
|
3281 |
$recipient = $row->mail ? $row->mail : '';
|
3282 |
$subject = !empty( $row->mail_subject ) ? $row->mail_subject : $row->title;
|
3283 |
|
3380 |
// Replace pdf link in email body.
|
3381 |
$admin_body = str_replace( '{PDF(link)}', site_url($pdf_data['pdf_url']), $admin_body );
|
3382 |
|
3383 |
+
if ( $row->sendemail ) {
|
3384 |
+
$send = WDW_FM_Library(self::PLUGIN)->mail($recipient, $subject, $admin_body, $header_arr, $attachment);
|
3385 |
+
}
|
3386 |
}
|
3387 |
$_SESSION[ 'error_or_no' . $id ] = 0;
|
3388 |
$msg = addslashes( __( 'Your form was successfully submitted.', WDFMInstance(self::PLUGIN)->prefix ) );
|
3392 |
if ( $send !== TRUE ) {
|
3393 |
$_SESSION[ 'error_or_no' . $id ] = 1;
|
3394 |
$msg = addslashes( __( 'Error, email was not sent.', WDFMInstance(self::PLUGIN)->prefix ) );
|
3395 |
+
}
|
3396 |
+
else {
|
3397 |
$_SESSION[ 'error_or_no' . $id ] = 0;
|
|
|
3398 |
}
|
3399 |
}
|
3400 |
}
|
3401 |
}
|
3402 |
|
3403 |
+
// Add-on conditional email.
|
3404 |
+
if ( has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2 ) {
|
3405 |
+
$fm_email_params = $row->sendemail ? array(
|
3406 |
+
'admin_body' => $admin_body,
|
3407 |
+
'body' => $body,
|
3408 |
+
'subject' => $subject,
|
3409 |
+
'headers' => $header_arr,
|
3410 |
+
'attachment' => $attachment,
|
3411 |
+
'attachment_user' => $attachment_user,
|
3412 |
+
) : array();
|
3413 |
+
/* TODO. Need 'custom_fields_value' key. They work with it old conditional-emails.*/
|
3414 |
+
$custom_fields_value = array( $this->custom_fields['ip'], $this->custom_fields['useremail'], $this->custom_fields['username'], $this->custom_fields['subid'], $this->custom_fields['all'] );
|
3415 |
+
$params = array(
|
3416 |
+
'form_id' => $id,
|
3417 |
+
'fm_email_params' => $fm_email_params,
|
3418 |
+
'form_currency' => $form_currency,
|
3419 |
+
'custom_fields' => $this->custom_fields,
|
3420 |
+
'custom_fields_value' => $custom_fields_value
|
3421 |
+
);
|
3422 |
+
do_action( 'fm_set_params_frontend_init', $params );
|
3423 |
+
}
|
3424 |
+
|
3425 |
+
// Delete files from uploads (save_upload = 0).
|
|
|
3426 |
if ( $row->save_uploads == 0 ) {
|
3427 |
foreach ( $all_files as &$all_file ) {
|
3428 |
if ( file_exists( $all_file[ 'tmp_name' ] ) ) {
|
3435 |
|
3436 |
$https = ((isset( $_SERVER[ 'HTTPS' ] ) && $_SERVER[ 'HTTPS' ] == 'on') ? 'https://' : 'http://');
|
3437 |
$redirect_url = $https . $_SERVER[ "HTTP_HOST" ] . $_SERVER[ "REQUEST_URI" ];
|
3438 |
+
if ( $row->submit_text_type == 4 && $row->url ) {
|
3439 |
// Action after submission: URL.
|
3440 |
$redirect_url = $row->url;
|
3441 |
}
|
3444 |
$redirect_url = $row->article_id;
|
3445 |
}
|
3446 |
|
3447 |
+
if ( $row->submit_text_type != 4 || $row->url == '' ) {
|
3448 |
// This ensures that no message is enqueued by an add-on.
|
3449 |
if ( !$_SESSION[ 'massage_after_submit' . $id ] ) {
|
3450 |
$_SESSION[ 'massage_after_submit' . $id ] = $msg;
|
frontend/views/form_maker.php
CHANGED
@@ -1535,7 +1535,8 @@ class FMViewForm_maker {
|
|
1535 |
|
1536 |
$rep = '';
|
1537 |
if ($row->gdpr_checkbox && $row->gdpr_checkbox_text) {
|
1538 |
-
$
|
|
|
1539 |
$row->gdpr_checkbox_text = str_replace('{{privacy_policy}}', $privacy_policy_link, $row->gdpr_checkbox_text);
|
1540 |
$gdpr_checkbox_html = '<label for="fm_privacy_policy' . $form_id . '" class="wdform-label">
|
1541 |
<input id="fm_privacy_policy' . $form_id . '" name="fm_privacy_policy' . $form_id . '" class="wd-flex-row fm-gdpr-checkbox" onclick="' . ($disabled_submit ? '' : 'fm_privacy_policy_check(this)') . '" type="checkbox" value="1">'
|
@@ -3359,6 +3360,20 @@ class FMViewForm_maker {
|
|
3359 |
'w_class',
|
3360 |
);
|
3361 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3362 |
foreach ( $params_names as $params_name ) {
|
3363 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3364 |
$param[$params_name] = $temp[0];
|
1535 |
|
1536 |
$rep = '';
|
1537 |
if ($row->gdpr_checkbox && $row->gdpr_checkbox_text) {
|
1538 |
+
$privacy_policy_page = WDW_FM_Library(self::PLUGIN)->get_privacy_policy_url();
|
1539 |
+
$privacy_policy_link = ' <a href="' . $privacy_policy_page['url'] . '" target="_blank">' . $privacy_policy_page['title'] . '</a>';
|
1540 |
$row->gdpr_checkbox_text = str_replace('{{privacy_policy}}', $privacy_policy_link, $row->gdpr_checkbox_text);
|
1541 |
$gdpr_checkbox_html = '<label for="fm_privacy_policy' . $form_id . '" class="wdform-label">
|
1542 |
<input id="fm_privacy_policy' . $form_id . '" name="fm_privacy_policy' . $form_id . '" class="wd-flex-row fm-gdpr-checkbox" onclick="' . ($disabled_submit ? '' : 'fm_privacy_policy_check(this)') . '" type="checkbox" value="1">'
|
3360 |
'w_class',
|
3361 |
);
|
3362 |
}
|
3363 |
+
if ( strpos($temp, 'w_field_step') > -1 ) {
|
3364 |
+
$params_names = array(
|
3365 |
+
'w_field_label_size',
|
3366 |
+
'w_field_label_pos',
|
3367 |
+
'w_hide_label',
|
3368 |
+
'w_field_width',
|
3369 |
+
'w_field_min_value',
|
3370 |
+
'w_field_max_value',
|
3371 |
+
'w_field_step',
|
3372 |
+
'w_field_value',
|
3373 |
+
'w_required',
|
3374 |
+
'w_class',
|
3375 |
+
);
|
3376 |
+
}
|
3377 |
foreach ( $params_names as $params_name ) {
|
3378 |
$temp = explode('*:*' . $params_name . '*:*', $temp);
|
3379 |
$param[$params_name] = $temp[0];
|
js/add_field.js
CHANGED
@@ -928,12 +928,13 @@ function edit(id) {
|
|
928 |
w_hide_label = document.getElementById(id + "_hide_labelform_id_temp").value;
|
929 |
w_field_min_value = document.getElementById(id + "_slider_min_valueform_id_temp").value;
|
930 |
w_field_max_value = document.getElementById(id + "_slider_max_valueform_id_temp").value;
|
|
|
931 |
w_field_width = document.getElementById(id + "_slider_widthform_id_temp").value;
|
932 |
w_field_value = document.getElementById(id + "_slider_valueform_id_temp").value;
|
933 |
atrs = return_attributes(id + '_elementform_id_temp');
|
934 |
w_attr_name = atrs[0];
|
935 |
w_attr_value = atrs[1];
|
936 |
-
type_slider(id, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_value, w_required, w_class, w_attr_name, w_attr_value);
|
937 |
break;
|
938 |
}
|
939 |
case 'type_range': {
|
@@ -12098,6 +12099,18 @@ function change_slider_max_value(a, id, form_id) {
|
|
12098 |
}
|
12099 |
}
|
12100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12101 |
function create_slider_width(i, w_field_width) {
|
12102 |
var label = jQuery('<label class="fm-field-label" for="edit_for_slider_width">Width(px)</label>');
|
12103 |
var input = jQuery('<input class="fm-width-100" type="text" id="edit_for_slider_width" onKeyPress="return check_isnum(event)" onKeyUp="change_slider_width(this.value,' + i + ',\'form_id_temp\')" value="' + w_field_width + '" /><p class="description">' + form_maker.leave_empty + '</p>');
|
@@ -12113,10 +12126,10 @@ function change_slider_width(a, id, form_id) {
|
|
12113 |
function go_to_type_slider(new_id) {
|
12114 |
w_attr_name = [];
|
12115 |
w_attr_value = [];
|
12116 |
-
type_slider(new_id, 'Slider', '', 'top', 'no', '', '0', '100', '0', 'no', '', w_attr_name, w_attr_value);
|
12117 |
}
|
12118 |
|
12119 |
-
function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_value, w_required, w_class, w_attr_name, w_attr_value) {
|
12120 |
jQuery("#element_type").val("type_slider");
|
12121 |
delete_last_child();
|
12122 |
|
@@ -12132,6 +12145,7 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12132 |
edit_main_table.append(create_required(i, w_required));
|
12133 |
edit_main_table.append(create_slider_minvalue(i, w_field_min_value));
|
12134 |
edit_main_table.append(create_slider_maxvalue(i, w_field_max_value));
|
|
|
12135 |
edit_main_table.append(create_slider_width(i, w_field_width));
|
12136 |
|
12137 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
@@ -12170,6 +12184,12 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12170 |
adding_slider_max_value.setAttribute("id", i + "_slider_max_valueform_id_temp");
|
12171 |
adding_slider_max_value.setAttribute("name", i + "_slider_max_valueform_id_temp");
|
12172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12173 |
var adding_slider_value = document.createElement("input");
|
12174 |
adding_slider_value.setAttribute("type", "hidden");
|
12175 |
adding_slider_value.setAttribute("value", w_field_value);
|
@@ -12253,6 +12273,7 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12253 |
div_element.appendChild(adding_slider_width);
|
12254 |
div_element.appendChild(adding_slider_min_value);
|
12255 |
div_element.appendChild(adding_slider_max_value);
|
|
|
12256 |
div_element.appendChild(adding_slider_value);
|
12257 |
|
12258 |
var slider_min = document.createElement('span');
|
@@ -12303,6 +12324,7 @@ function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_
|
|
12303 |
|
12304 |
jQuery(function () {
|
12305 |
jQuery("#" + i + "_elementform_id_temp").slider({
|
|
|
12306 |
range: "min",
|
12307 |
value: eval(w_field_value),
|
12308 |
min: eval(w_field_min_value),
|
@@ -15729,6 +15751,7 @@ function gen_form_fields() {
|
|
15729 |
w_hide_label = document.getElementById(id + "_hide_labelform_id_temp").value;
|
15730 |
w_field_min_value = document.getElementById(id + "_slider_min_valueform_id_temp").value;
|
15731 |
w_field_max_value = document.getElementById(id + "_slider_max_valueform_id_temp").value;
|
|
|
15732 |
w_field_width = document.getElementById(id + "_slider_widthform_id_temp").value;
|
15733 |
w_field_value = document.getElementById(id + "_slider_valueform_id_temp").value;
|
15734 |
|
@@ -15743,6 +15766,7 @@ function gen_form_fields() {
|
|
15743 |
form_fields += w_field_width + "*:*w_field_width*:*";
|
15744 |
form_fields += w_field_min_value + "*:*w_field_min_value*:*";
|
15745 |
form_fields += w_field_max_value + "*:*w_field_max_value*:*";
|
|
|
15746 |
form_fields += w_field_value + "*:*w_field_value*:*";
|
15747 |
form_fields += w_required + "*:*w_required*:*";
|
15748 |
form_fields += w_class + "*:*w_class*:*";
|
928 |
w_hide_label = document.getElementById(id + "_hide_labelform_id_temp").value;
|
929 |
w_field_min_value = document.getElementById(id + "_slider_min_valueform_id_temp").value;
|
930 |
w_field_max_value = document.getElementById(id + "_slider_max_valueform_id_temp").value;
|
931 |
+
w_field_step = document.getElementById(id + "_slider_stepform_id_temp") && document.getElementById(id + "_slider_stepform_id_temp").value ? document.getElementById(id + "_slider_stepform_id_temp").value : 1;
|
932 |
w_field_width = document.getElementById(id + "_slider_widthform_id_temp").value;
|
933 |
w_field_value = document.getElementById(id + "_slider_valueform_id_temp").value;
|
934 |
atrs = return_attributes(id + '_elementform_id_temp');
|
935 |
w_attr_name = atrs[0];
|
936 |
w_attr_value = atrs[1];
|
937 |
+
type_slider(id, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_step, w_field_value, w_required, w_class, w_attr_name, w_attr_value);
|
938 |
break;
|
939 |
}
|
940 |
case 'type_range': {
|
12099 |
}
|
12100 |
}
|
12101 |
|
12102 |
+
function create_slider_step(i, w_field_slider_step) {
|
12103 |
+
var label = jQuery('<label class="fm-field-label" for="edit_for_slider_step">Step</label>');
|
12104 |
+
var input = jQuery('<input class="fm-width-100" type="text" id="edit_for_slider_step" onKeyPress="return check_isnum(event)" onChange="change_slider_step(this.value, ' + i + ', \'form_id_temp\')" value="' + w_field_slider_step + '" />');
|
12105 |
+
|
12106 |
+
return create_option_container(label, input);
|
12107 |
+
}
|
12108 |
+
|
12109 |
+
function change_slider_step(a, id, form_id) {
|
12110 |
+
jQuery("#" + id + "_elementform_id_temp").slider({step: eval(a)});
|
12111 |
+
document.getElementById(id + "_slider_stepform_id_temp").value = a;
|
12112 |
+
}
|
12113 |
+
|
12114 |
function create_slider_width(i, w_field_width) {
|
12115 |
var label = jQuery('<label class="fm-field-label" for="edit_for_slider_width">Width(px)</label>');
|
12116 |
var input = jQuery('<input class="fm-width-100" type="text" id="edit_for_slider_width" onKeyPress="return check_isnum(event)" onKeyUp="change_slider_width(this.value,' + i + ',\'form_id_temp\')" value="' + w_field_width + '" /><p class="description">' + form_maker.leave_empty + '</p>');
|
12126 |
function go_to_type_slider(new_id) {
|
12127 |
w_attr_name = [];
|
12128 |
w_attr_value = [];
|
12129 |
+
type_slider(new_id, 'Slider', '', 'top', 'no', '', '0', '100', '1', '0', 'no', '', w_attr_name, w_attr_value);
|
12130 |
}
|
12131 |
|
12132 |
+
function type_slider(i, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_step, w_field_value, w_required, w_class, w_attr_name, w_attr_value) {
|
12133 |
jQuery("#element_type").val("type_slider");
|
12134 |
delete_last_child();
|
12135 |
|
12145 |
edit_main_table.append(create_required(i, w_required));
|
12146 |
edit_main_table.append(create_slider_minvalue(i, w_field_min_value));
|
12147 |
edit_main_table.append(create_slider_maxvalue(i, w_field_max_value));
|
12148 |
+
edit_main_table.append(create_slider_step(i, w_field_step));
|
12149 |
edit_main_table.append(create_slider_width(i, w_field_width));
|
12150 |
|
12151 |
var advanced_options_container = jQuery('<div class="inside"></div>');
|
12184 |
adding_slider_max_value.setAttribute("id", i + "_slider_max_valueform_id_temp");
|
12185 |
adding_slider_max_value.setAttribute("name", i + "_slider_max_valueform_id_temp");
|
12186 |
|
12187 |
+
var adding_slider_step = document.createElement("input");
|
12188 |
+
adding_slider_step.setAttribute("type", "hidden");
|
12189 |
+
adding_slider_step.setAttribute("value", w_field_step);
|
12190 |
+
adding_slider_step.setAttribute("id", i + "_slider_stepform_id_temp");
|
12191 |
+
adding_slider_step.setAttribute("name", i + "_slider_stepform_id_temp");
|
12192 |
+
|
12193 |
var adding_slider_value = document.createElement("input");
|
12194 |
adding_slider_value.setAttribute("type", "hidden");
|
12195 |
adding_slider_value.setAttribute("value", w_field_value);
|
12273 |
div_element.appendChild(adding_slider_width);
|
12274 |
div_element.appendChild(adding_slider_min_value);
|
12275 |
div_element.appendChild(adding_slider_max_value);
|
12276 |
+
div_element.appendChild(adding_slider_step);
|
12277 |
div_element.appendChild(adding_slider_value);
|
12278 |
|
12279 |
var slider_min = document.createElement('span');
|
12324 |
|
12325 |
jQuery(function () {
|
12326 |
jQuery("#" + i + "_elementform_id_temp").slider({
|
12327 |
+
step: eval(w_field_step),
|
12328 |
range: "min",
|
12329 |
value: eval(w_field_value),
|
12330 |
min: eval(w_field_min_value),
|
15751 |
w_hide_label = document.getElementById(id + "_hide_labelform_id_temp").value;
|
15752 |
w_field_min_value = document.getElementById(id + "_slider_min_valueform_id_temp").value;
|
15753 |
w_field_max_value = document.getElementById(id + "_slider_max_valueform_id_temp").value;
|
15754 |
+
w_field_step = document.getElementById(id + "_slider_stepform_id_temp") && document.getElementById(id + "_slider_stepform_id_temp").value ? document.getElementById(id + "_slider_stepform_id_temp").value : 1;
|
15755 |
w_field_width = document.getElementById(id + "_slider_widthform_id_temp").value;
|
15756 |
w_field_value = document.getElementById(id + "_slider_valueform_id_temp").value;
|
15757 |
|
15766 |
form_fields += w_field_width + "*:*w_field_width*:*";
|
15767 |
form_fields += w_field_min_value + "*:*w_field_min_value*:*";
|
15768 |
form_fields += w_field_max_value + "*:*w_field_max_value*:*";
|
15769 |
+
form_fields += w_field_step + "*:*w_field_step*:*";
|
15770 |
form_fields += w_field_value + "*:*w_field_value*:*";
|
15771 |
form_fields += w_required + "*:*w_required*:*";
|
15772 |
form_fields += w_class + "*:*w_class*:*";
|
js/form_maker_admin.js
CHANGED
@@ -339,7 +339,7 @@ function fm_form_submit(event, form_id, task, id) {
|
|
339 |
// Check if required field is empty.
|
340 |
function fm_check_required(id, name) {
|
341 |
if (jQuery('#' + id).val() == '') {
|
342 |
-
alert(name + '
|
343 |
jQuery('#' + id).attr('style', 'border-color: #FF0000; border-style: solid; border-width: 1px;');
|
344 |
jQuery('#' + id).focus();
|
345 |
jQuery('html, body').animate({
|
339 |
// Check if required field is empty.
|
340 |
function fm_check_required(id, name) {
|
341 |
if (jQuery('#' + id).val() == '') {
|
342 |
+
alert(name + ' field is required.');
|
343 |
jQuery('#' + id).attr('style', 'border-color: #FF0000; border-style: solid; border-width: 1px;');
|
344 |
jQuery('#' + id).focus();
|
345 |
jQuery('html, body').animate({
|
js/formmaker_div.js
CHANGED
@@ -4178,13 +4178,14 @@ function duplicate(id) {
|
|
4178 |
w_hide_label=document.getElementById(id+"_hide_labelform_id_temp").value;
|
4179 |
w_field_min_value = document.getElementById(id+"_slider_min_valueform_id_temp").value;
|
4180 |
w_field_max_value = document.getElementById(id+"_slider_max_valueform_id_temp").value;
|
|
|
4181 |
w_field_width = document.getElementById(id+"_slider_widthform_id_temp").value;
|
4182 |
w_field_value = document.getElementById(id+"_slider_valueform_id_temp").value;
|
4183 |
|
4184 |
atrs=return_attributes(id+'_elementform_id_temp');
|
4185 |
w_attr_name=atrs[0];
|
4186 |
w_attr_value=atrs[1];
|
4187 |
-
type_slider(gen, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_value, w_required, w_class, w_attr_name, w_attr_value); break;
|
4188 |
}
|
4189 |
|
4190 |
case 'type_range':
|
4178 |
w_hide_label=document.getElementById(id+"_hide_labelform_id_temp").value;
|
4179 |
w_field_min_value = document.getElementById(id+"_slider_min_valueform_id_temp").value;
|
4180 |
w_field_max_value = document.getElementById(id+"_slider_max_valueform_id_temp").value;
|
4181 |
+
w_field_step = document.getElementById(id + "_slider_stepform_id_temp") && document.getElementById(id + "_slider_stepform_id_temp").value ? document.getElementById(id + "_slider_stepform_id_temp").value : 1;
|
4182 |
w_field_width = document.getElementById(id+"_slider_widthform_id_temp").value;
|
4183 |
w_field_value = document.getElementById(id+"_slider_valueform_id_temp").value;
|
4184 |
|
4185 |
atrs=return_attributes(id+'_elementform_id_temp');
|
4186 |
w_attr_name=atrs[0];
|
4187 |
w_attr_value=atrs[1];
|
4188 |
+
type_slider(gen, w_field_label, w_field_label_size, w_field_label_pos, w_hide_label, w_field_width, w_field_min_value, w_field_max_value, w_field_step, w_field_value, w_required, w_class, w_attr_name, w_attr_value); break;
|
4189 |
}
|
4190 |
|
4191 |
case 'type_range':
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: webdorado,10web,wdsupport,formmakersupport
|
|
3 |
Tags: form, forms, form builder, contact form, feedback, custom form, contact, web contact form, captcha, email, form manager, survey
|
4 |
Requires at least: 4.6
|
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 |
|
@@ -23,9 +23,6 @@ https://www.youtube.com/watch?v=tN3_c6MhqFk
|
|
23 |
[User Guide](https://web-dorado.com/wordpress-form-maker-guide-1.html)
|
24 |
[Frequently Asked Questions](https://web-dorado.com/blog/wordpress-themes-and-plugins/wordpress-form-maker-plugin-faq/)
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
Form Maker is a power-packed yet user-friendly form builder plugin. With an intuitive drag and drop interface, this plugin is the ultimate solution to help you create responsive WordPress Forms easily and in a timely manner. Add modern and functional questionnaires to your website with a few clicks. Using the plugin you can create forms for pretty much any purpose, from simple contact form to multi-page application, registration survey and questionnaire with conditional fields, captcha protection, multiple choice questions and more. It will take you just a few clicks to create them and a couple of minutes to customize with the available themes, styling and display options. This plugin can be a good addition to any website, so go ahead and give it a try.
|
30 |
|
31 |
**Benefits**
|
@@ -72,15 +69,15 @@ The plugin comes with 5 pre-built templates, which you can use as they are or cu
|
|
72 |
Form Maker supports 12 premium add-ons to power up your forms even further. Whether you want to integrate them with Mailchimp service, send out conditional emails, or give your visitors an additional payment method like Stripe. Find the full list of add-ons bellow.
|
73 |
|
74 |
* [Export/Import](https://web-dorado.com/products/wordpress-form/add-ons/export-import.html)
|
75 |
-
* [
|
76 |
* [Save Progress](https://web-dorado.com/products/wordpress-form/add-ons/save-progress.html)
|
|
|
77 |
* [Stripe Integration](https://web-dorado.com/products/wordpress-form/add-ons/stripe.html)
|
78 |
-
* [Conditional Emails](https://web-dorado.com/products/wordpress-form/add-ons/conditional-emails.html)
|
79 |
* [WordPress Registration](https://web-dorado.com/products/wordpress-form/add-ons/registration.html)
|
80 |
* [Post Generation](https://web-dorado.com/products/wordpress-form/add-ons/post-generation.html)
|
81 |
-
* [Mailchimp Integration](https://web-dorado.com/products/wordpress-form/add-ons/mailchimp.html)
|
82 |
* [Dropbox Integration](https://web-dorado.com/products/wordpress-form/add-ons/dropbox.html)
|
83 |
* [Google Drive Integration](https://web-dorado.com/products/wordpress-form/add-ons/google-drive.html)
|
|
|
84 |
* [Pushover Integration](https://web-dorado.com/products/wordpress-form/add-ons/pushover.html)
|
85 |
* [Calculator](https://web-dorado.com/products/wordpress-form/add-ons/calculator.html)
|
86 |
|
@@ -97,10 +94,10 @@ With conditional fields option you can set to hide/show specific fields based on
|
|
97 |
**[Premium version adds](https://web-dorado.com/products/wordpress-form.html)**
|
98 |
|
99 |
* Unlimited fields in one form
|
100 |
-
*
|
101 |
* PayPal Integration
|
102 |
* Stripe Integration with add on
|
103 |
-
*
|
104 |
* Front-End Submissions
|
105 |
|
106 |
|
@@ -452,6 +449,14 @@ Where **{{field_id}}** is the ID of the field you wish to prefill. Also, **{{par
|
|
452 |
|
453 |
== Changelog ==
|
454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
= 1.12.37 =
|
456 |
* Fixed: Compatibility with PHP version 5.3.
|
457 |
|
3 |
Tags: form, forms, form builder, contact form, feedback, custom form, contact, web contact form, captcha, email, form manager, survey
|
4 |
Requires at least: 4.6
|
5 |
Tested up to: 4.9
|
6 |
+
Stable tag: 1.12.38
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
23 |
[User Guide](https://web-dorado.com/wordpress-form-maker-guide-1.html)
|
24 |
[Frequently Asked Questions](https://web-dorado.com/blog/wordpress-themes-and-plugins/wordpress-form-maker-plugin-faq/)
|
25 |
|
|
|
|
|
|
|
26 |
Form Maker is a power-packed yet user-friendly form builder plugin. With an intuitive drag and drop interface, this plugin is the ultimate solution to help you create responsive WordPress Forms easily and in a timely manner. Add modern and functional questionnaires to your website with a few clicks. Using the plugin you can create forms for pretty much any purpose, from simple contact form to multi-page application, registration survey and questionnaire with conditional fields, captcha protection, multiple choice questions and more. It will take you just a few clicks to create them and a couple of minutes to customize with the available themes, styling and display options. This plugin can be a good addition to any website, so go ahead and give it a try.
|
27 |
|
28 |
**Benefits**
|
69 |
Form Maker supports 12 premium add-ons to power up your forms even further. Whether you want to integrate them with Mailchimp service, send out conditional emails, or give your visitors an additional payment method like Stripe. Find the full list of add-ons bellow.
|
70 |
|
71 |
* [Export/Import](https://web-dorado.com/products/wordpress-form/add-ons/export-import.html)
|
72 |
+
* [Conditional Emails](https://web-dorado.com/products/wordpress-form/add-ons/conditional-emails.html)
|
73 |
* [Save Progress](https://web-dorado.com/products/wordpress-form/add-ons/save-progress.html)
|
74 |
+
* [PDF Integration](https://web-dorado.com/products/wordpress-form/add-ons/pdf.html)
|
75 |
* [Stripe Integration](https://web-dorado.com/products/wordpress-form/add-ons/stripe.html)
|
|
|
76 |
* [WordPress Registration](https://web-dorado.com/products/wordpress-form/add-ons/registration.html)
|
77 |
* [Post Generation](https://web-dorado.com/products/wordpress-form/add-ons/post-generation.html)
|
|
|
78 |
* [Dropbox Integration](https://web-dorado.com/products/wordpress-form/add-ons/dropbox.html)
|
79 |
* [Google Drive Integration](https://web-dorado.com/products/wordpress-form/add-ons/google-drive.html)
|
80 |
+
* [Mailchimp Integration](https://web-dorado.com/products/wordpress-form/add-ons/mailchimp.html)
|
81 |
* [Pushover Integration](https://web-dorado.com/products/wordpress-form/add-ons/pushover.html)
|
82 |
* [Calculator](https://web-dorado.com/products/wordpress-form/add-ons/calculator.html)
|
83 |
|
94 |
**[Premium version adds](https://web-dorado.com/products/wordpress-form.html)**
|
95 |
|
96 |
* Unlimited fields in one form
|
97 |
+
* Google Maps API Integration
|
98 |
* PayPal Integration
|
99 |
* Stripe Integration with add on
|
100 |
+
* File Upload field
|
101 |
* Front-End Submissions
|
102 |
|
103 |
|
449 |
|
450 |
== Changelog ==
|
451 |
|
452 |
+
= 1.12.38 =
|
453 |
+
* Improved: GDPR compliance options.
|
454 |
+
* Added: Step option for slider field.
|
455 |
+
* Fixed: Error on form front end when Privacy Policy checkbox is enabled.
|
456 |
+
* Fixed: Bug on Actions after submission when Redirect to URL option is empty.
|
457 |
+
* Fixed: Notice on form submit.
|
458 |
+
* Fixed: Minor issues on Themes.
|
459 |
+
|
460 |
= 1.12.37 =
|
461 |
* Fixed: Compatibility with PHP version 5.3.
|
462 |
|