Contact Form by WPForms – Drag & Drop Form Builder for WordPress - Version 1.4.7.2

Version Description

  • Fixed: Honeypot field using a none unique CSS ID.
  • Fixed: Form builder Bulk Add display issues in certain use cases.
  • Fixed: Checkbox field values not saving if Show Values field option is enabled.
Download this release

Release Info

Developer jaredatch
Plugin Icon 128x128 Contact Form by WPForms – Drag & Drop Form Builder for WordPress
Version 1.4.7.2
Comparing to
See all releases

Code changes from version 1.4.7.1 to 1.4.7.2

assets/js/admin-builder.js CHANGED
@@ -1449,6 +1449,7 @@
1449
  $choice.find( 'input.default').attr( 'name', 'fields['+fieldID+'][choices]['+id+'][default]' ).prop( 'checked', false );
1450
  $choice.find( '.preview' ).empty();
1451
  $choice.find( '.wpforms-image-upload-add' ).show();
 
1452
 
1453
  if ( checked === true ) {
1454
  $parent.find( 'input.default' ).prop( 'checked', true );
@@ -1608,7 +1609,7 @@
1608
 
1609
  var importOptions = '<div class="bulk-add-display">';
1610
 
1611
- importOptions += '<p class="heading">'+wpforms_builder.bulk_add_heading+' <a href="#" class="toggle-bulk-add-presets">'+wpforms_builder.bulk_add_presets_show+'</a></p>';
1612
  importOptions += '<ul>';
1613
  for(var key in wpforms_preset_choices) {
1614
  importOptions += '<li><a href="#" data-preset="'+key+'" class="bulk-add-preset-insert">'+wpforms_preset_choices[key].name+'</a></li>';
1449
  $choice.find( 'input.default').attr( 'name', 'fields['+fieldID+'][choices]['+id+'][default]' ).prop( 'checked', false );
1450
  $choice.find( '.preview' ).empty();
1451
  $choice.find( '.wpforms-image-upload-add' ).show();
1452
+ $choice.find( '.wpforms-money-input' ).trigger( 'focusout' );
1453
 
1454
  if ( checked === true ) {
1455
  $parent.find( 'input.default' ).prop( 'checked', true );
1609
 
1610
  var importOptions = '<div class="bulk-add-display">';
1611
 
1612
+ importOptions += '<p class="heading wpforms-clear">'+wpforms_builder.bulk_add_heading+' <a href="#" class="toggle-bulk-add-presets">'+wpforms_builder.bulk_add_presets_show+'</a></p>';
1613
  importOptions += '<ul>';
1614
  for(var key in wpforms_preset_choices) {
1615
  importOptions += '<li><a href="#" data-preset="'+key+'" class="bulk-add-preset-insert">'+wpforms_preset_choices[key].name+'</a></li>';
changelog.txt CHANGED
@@ -1,5 +1,10 @@
1
  == Changelog ==
2
 
 
 
 
 
 
3
  = 1.4.7.1 =
4
  - Changed: Updated Russian translation.
5
  - Fixed: Various i18n issues.
1
  == Changelog ==
2
 
3
+ = 1.4.7.2 =
4
+ - Fixed: Honeypot field using a none unique CSS ID.
5
+ - Fixed: Form builder Bulk Add display issues in certain use cases.
6
+ - Fixed: Checkbox field values not saving if Show Values field option is enabled.
7
+
8
  = 1.4.7.1 =
9
  - Changed: Updated Russian translation.
10
  - Fixed: Various i18n issues.
includes/admin/class-review.php CHANGED
@@ -54,7 +54,7 @@ class WPForms_Review {
54
  'time' => $time,
55
  'dismissed' => false,
56
  );
57
- $load = true;
58
  } else {
59
  // Check if it has been dismissed or not.
60
  if ( ( isset( $review['dismissed'] ) && ! $review['dismissed'] ) && ( isset( $review['time'] ) && ( ( $review['time'] + DAY_IN_SECONDS ) <= $time ) ) ) {
@@ -67,9 +67,6 @@ class WPForms_Review {
67
  return;
68
  }
69
 
70
- // Update the review option now.
71
- update_option( 'wpforms_review', $review );
72
-
73
  // Logic is slightly different depending on what's at our disposal.
74
  if ( wpforms()->pro && class_exists( 'WPForms_Entry_Handler' ) ) {
75
  $this->review();
54
  'time' => $time,
55
  'dismissed' => false,
56
  );
57
+ update_option( 'wpforms_review', $review );
58
  } else {
59
  // Check if it has been dismissed or not.
60
  if ( ( isset( $review['dismissed'] ) && ! $review['dismissed'] ) && ( isset( $review['time'] ) && ( ( $review['time'] + DAY_IN_SECONDS ) <= $time ) ) ) {
67
  return;
68
  }
69
 
 
 
 
70
  // Logic is slightly different depending on what's at our disposal.
71
  if ( wpforms()->pro && class_exists( 'WPForms_Entry_Handler' ) ) {
72
  $this->review();
includes/class-fields.php CHANGED
@@ -7,7 +7,7 @@
7
  * @since 1.0.0
8
  * @license GPL-2.0+
9
  * @copyright Copyright (c) 2016, WPForms LLC
10
- */
11
  class WPForms_Fields {
12
 
13
  /**
@@ -16,7 +16,6 @@ class WPForms_Fields {
16
  * @since 1.0.0
17
  */
18
  public function __construct() {
19
-
20
  $this->init();
21
  }
22
 
@@ -27,10 +26,10 @@ class WPForms_Fields {
27
  */
28
  public function init() {
29
 
30
- // Parent class template
31
  require_once WPFORMS_PLUGIN_DIR . 'includes/fields/class-base.php';
32
 
33
- // Load default fields on WP init
34
  add_action( 'init', array( $this, 'load' ) );
35
  }
36
 
@@ -83,4 +82,4 @@ class WPForms_Fields {
83
  }
84
  }
85
  }
86
- new WPForms_Fields;
7
  * @since 1.0.0
8
  * @license GPL-2.0+
9
  * @copyright Copyright (c) 2016, WPForms LLC
10
+ */
11
  class WPForms_Fields {
12
 
13
  /**
16
  * @since 1.0.0
17
  */
18
  public function __construct() {
 
19
  $this->init();
20
  }
21
 
26
  */
27
  public function init() {
28
 
29
+ // Parent class template.
30
  require_once WPFORMS_PLUGIN_DIR . 'includes/fields/class-base.php';
31
 
32
+ // Load default fields on WP init.
33
  add_action( 'init', array( $this, 'load' ) );
34
  }
35
 
82
  }
83
  }
84
  }
85
+ new WPForms_Fields();
includes/class-frontend.php CHANGED
@@ -644,7 +644,7 @@ class WPForms_Frontend {
644
 
645
  $names = array( 'Name', 'Phone', 'Comment', 'Message', 'Email', 'Website' );
646
 
647
- echo '<div class="wpforms-field wpforms-field-hp" id="wpform-field-hp">';
648
 
649
  echo '<label for="wpforms-field_hp" class="wpforms-field-label">' . $names[ array_rand( $names ) ] . '</label>';
650
 
644
 
645
  $names = array( 'Name', 'Phone', 'Comment', 'Message', 'Email', 'Website' );
646
 
647
+ echo '<div class="wpforms-field wpforms-field-hp">';
648
 
649
  echo '<label for="wpforms-field_hp" class="wpforms-field-label">' . $names[ array_rand( $names ) ] . '</label>';
650
 
includes/fields/class-checkbox.php CHANGED
@@ -507,8 +507,6 @@ class WPForms_Field_Checkbox extends WPForms_Field {
507
  // the choice keys.
508
  if ( ! empty( $field['show_values'] ) && '1' == $field['show_values'] ) {
509
 
510
- $labels = array();
511
-
512
  foreach ( $field_submit as $item ) {
513
  foreach ( $field['choices'] as $key => $choice ) {
514
  if ( $item == $choice['value'] ) {
@@ -519,7 +517,7 @@ class WPForms_Field_Checkbox extends WPForms_Field {
519
  }
520
  }
521
 
522
- $data['value'] = ! empty( $labels ) ? wpforms_sanitize_array_combine( $labels ) : '';
523
 
524
  } else {
525
 
507
  // the choice keys.
508
  if ( ! empty( $field['show_values'] ) && '1' == $field['show_values'] ) {
509
 
 
 
510
  foreach ( $field_submit as $item ) {
511
  foreach ( $field['choices'] as $key => $choice ) {
512
  if ( $item == $choice['value'] ) {
517
  }
518
  }
519
 
520
+ $data['value'] = ! empty( $value ) ? wpforms_sanitize_array_combine( $value ) : '';
521
 
522
  } else {
523
 
includes/fields/class-email.php CHANGED
@@ -406,4 +406,4 @@ class WPForms_Field_Email extends WPForms_Field {
406
 
407
 
408
  }
409
- new WPForms_Field_Email;
406
 
407
 
408
  }
409
+ new WPForms_Field_Email();
includes/fields/class-name.php CHANGED
@@ -522,14 +522,14 @@ class WPForms_Field_Name extends WPForms_Field {
522
 
523
  // Set final field details.
524
  wpforms()->process->fields[ $field_id ] = array(
525
- 'name' => sanitize_text_field( $name ),
526
- 'value' => sanitize_text_field( $value ),
527
- 'id' => absint( $field_id ),
528
- 'type' => $this->type,
529
- 'first' => sanitize_text_field( $first ),
530
- 'middle' => sanitize_text_field( $middle ),
531
- 'last' => sanitize_text_field( $last ),
532
  );
533
  }
534
  }
535
- new WPForms_Field_Name;
522
 
523
  // Set final field details.
524
  wpforms()->process->fields[ $field_id ] = array(
525
+ 'name' => sanitize_text_field( $name ),
526
+ 'value' => sanitize_text_field( $value ),
527
+ 'id' => absint( $field_id ),
528
+ 'type' => $this->type,
529
+ 'first' => sanitize_text_field( $first ),
530
+ 'middle' => sanitize_text_field( $middle ),
531
+ 'last' => sanitize_text_field( $last ),
532
  );
533
  }
534
  }
535
+ new WPForms_Field_Name();
includes/fields/class-number.php CHANGED
@@ -181,4 +181,4 @@ class WPForms_Field_Number extends WPForms_Field {
181
  );
182
  }
183
  }
184
- new WPForms_Field_Number;
181
  );
182
  }
183
  }
184
+ new WPForms_Field_Number();
includes/fields/class-select.php CHANGED
@@ -17,7 +17,7 @@ class WPForms_Field_Select extends WPForms_Field {
17
  */
18
  public function init() {
19
 
20
- // Define field type information
21
  $this->name = esc_html__( 'Dropdown', 'wpforms' );
22
  $this->type = 'select';
23
  $this->icon = 'fa-caret-square-o-down';
@@ -400,4 +400,4 @@ class WPForms_Field_Select extends WPForms_Field {
400
  }
401
  }
402
 
403
- new WPForms_Field_Select;
17
  */
18
  public function init() {
19
 
20
+ // Define field type information.
21
  $this->name = esc_html__( 'Dropdown', 'wpforms' );
22
  $this->type = 'select';
23
  $this->icon = 'fa-caret-square-o-down';
400
  }
401
  }
402
 
403
+ new WPForms_Field_Select();
includes/fields/class-text.php CHANGED
@@ -196,4 +196,5 @@ class WPForms_Field_Text extends WPForms_Field {
196
  ); // WPCS: XSS ok.
197
  }
198
  }
 
199
  new WPForms_Field_Text();
196
  ); // WPCS: XSS ok.
197
  }
198
  }
199
+
200
  new WPForms_Field_Text();
includes/fields/class-textarea.php CHANGED
@@ -137,4 +137,4 @@ class WPForms_Field_Textarea extends WPForms_Field {
137
  );
138
  }
139
  }
140
- new WPForms_Field_Textarea;
137
  );
138
  }
139
  }
140
+ new WPForms_Field_Textarea();
languages/wpforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WPForms 1.4.7.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
- "POT-Creation-Date: 2018-06-06 21:03:58+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -1092,9 +1092,9 @@ msgid ""
1092
  "a>?"
1093
  msgstr ""
1094
 
1095
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.1) #-#-#-#-#
1096
  #. Plugin Name of the plugin/theme
1097
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.1) #-#-#-#-#
1098
  #. Author of the plugin/theme
1099
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
1100
  #: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
@@ -1151,30 +1151,30 @@ msgstr ""
1151
  msgid "Addons"
1152
  msgstr ""
1153
 
1154
- #: includes/admin/class-review.php:99
1155
  msgid ""
1156
  "Hey, I noticed you collected over 50 entries from WPForms - that’s awesome! "
1157
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
1158
  "to help us spread the word and boost our motivation?"
1159
  msgstr ""
1160
 
1161
- #: includes/admin/class-review.php:100 includes/admin/class-review.php:164
1162
  msgid "~ Syed Balkhi<br>Co-Founder of WPForms"
1163
  msgstr ""
1164
 
1165
- #: includes/admin/class-review.php:102 includes/admin/class-review.php:166
1166
  msgid "Ok, you deserve it"
1167
  msgstr ""
1168
 
1169
- #: includes/admin/class-review.php:103 includes/admin/class-review.php:167
1170
  msgid "Nope, maybe later"
1171
  msgstr ""
1172
 
1173
- #: includes/admin/class-review.php:104 includes/admin/class-review.php:168
1174
  msgid "I already did"
1175
  msgstr ""
1176
 
1177
- #: includes/admin/class-review.php:163
1178
  msgid ""
1179
  "Hey, I noticed you created a contact form with WPForms - that’s awesome! "
1180
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
@@ -1183,7 +1183,7 @@ msgstr ""
1183
 
1184
  #. translators: $1$s - WPForms plugin name; $2$s - WP.org review link; $3$s -
1185
  #. WP.org review link.
1186
- #: includes/admin/class-review.php:221
1187
  msgid ""
1188
  "Please rate %1$s <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer"
1189
  "\">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%3$s\" target="
@@ -5418,9 +5418,9 @@ msgstr ""
5418
  msgid "Entry Details"
5419
  msgstr ""
5420
 
5421
- #. translators: %d - entry ID.
5422
  #: pro/includes/admin/entries/class-entries-single.php:736
5423
- msgid "Entry ID: %d"
5424
  msgstr ""
5425
 
5426
  #: pro/includes/admin/entries/class-entries-single.php:745
@@ -5625,6 +5625,18 @@ msgstr ""
5625
  msgid "Interval"
5626
  msgstr ""
5627
 
 
 
 
 
 
 
 
 
 
 
 
 
5628
  #: pro/includes/fields/class-divider.php:22
5629
  msgid "Section Divider"
5630
  msgstr ""
@@ -6294,9 +6306,9 @@ msgstr ""
6294
  msgid "Please deactivate WPForms Lite before activating WPForms."
6295
  msgstr ""
6296
 
6297
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.1) #-#-#-#-#
6298
  #. Plugin URI of the plugin/theme
6299
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.1) #-#-#-#-#
6300
  #. Author URI of the plugin/theme
6301
  msgid "https://wpforms.com"
6302
  msgstr ""
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WPForms 1.4.7.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
+ "POT-Creation-Date: 2018-06-20 19:40:20+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
1092
  "a>?"
1093
  msgstr ""
1094
 
1095
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.2) #-#-#-#-#
1096
  #. Plugin Name of the plugin/theme
1097
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.2) #-#-#-#-#
1098
  #. Author of the plugin/theme
1099
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
1100
  #: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
1151
  msgid "Addons"
1152
  msgstr ""
1153
 
1154
+ #: includes/admin/class-review.php:96
1155
  msgid ""
1156
  "Hey, I noticed you collected over 50 entries from WPForms - that’s awesome! "
1157
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
1158
  "to help us spread the word and boost our motivation?"
1159
  msgstr ""
1160
 
1161
+ #: includes/admin/class-review.php:97 includes/admin/class-review.php:161
1162
  msgid "~ Syed Balkhi<br>Co-Founder of WPForms"
1163
  msgstr ""
1164
 
1165
+ #: includes/admin/class-review.php:99 includes/admin/class-review.php:163
1166
  msgid "Ok, you deserve it"
1167
  msgstr ""
1168
 
1169
+ #: includes/admin/class-review.php:100 includes/admin/class-review.php:164
1170
  msgid "Nope, maybe later"
1171
  msgstr ""
1172
 
1173
+ #: includes/admin/class-review.php:101 includes/admin/class-review.php:165
1174
  msgid "I already did"
1175
  msgstr ""
1176
 
1177
+ #: includes/admin/class-review.php:160
1178
  msgid ""
1179
  "Hey, I noticed you created a contact form with WPForms - that’s awesome! "
1180
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
1183
 
1184
  #. translators: $1$s - WPForms plugin name; $2$s - WP.org review link; $3$s -
1185
  #. WP.org review link.
1186
+ #: includes/admin/class-review.php:218
1187
  msgid ""
1188
  "Please rate %1$s <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer"
1189
  "\">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%3$s\" target="
5418
  msgid "Entry Details"
5419
  msgstr ""
5420
 
5421
+ #. translators: %s - entry ID.
5422
  #: pro/includes/admin/entries/class-entries-single.php:736
5423
+ msgid "Entry ID: %s"
5424
  msgstr ""
5425
 
5426
  #: pro/includes/admin/entries/class-entries-single.php:745
5625
  msgid "Interval"
5626
  msgstr ""
5627
 
5628
+ #: pro/includes/fields/class-date-time.php:453
5629
+ msgid "MM"
5630
+ msgstr ""
5631
+
5632
+ #: pro/includes/fields/class-date-time.php:454
5633
+ msgid "DD"
5634
+ msgstr ""
5635
+
5636
+ #: pro/includes/fields/class-date-time.php:455
5637
+ msgid "YYYY"
5638
+ msgstr ""
5639
+
5640
  #: pro/includes/fields/class-divider.php:22
5641
  msgid "Section Divider"
5642
  msgstr ""
6306
  msgid "Please deactivate WPForms Lite before activating WPForms."
6307
  msgstr ""
6308
 
6309
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.2) #-#-#-#-#
6310
  #. Plugin URI of the plugin/theme
6311
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.7.2) #-#-#-#-#
6312
  #. Author URI of the plugin/theme
6313
  msgid "https://wpforms.com"
6314
  msgstr ""
readme.txt CHANGED
@@ -212,6 +212,11 @@ Syed Balkhi
212
 
213
  == Changelog ==
214
 
 
 
 
 
 
215
  = 1.4.7.1 =
216
  - Changed: Updated Russian translation.
217
  - Fixed: Various i18n issues.
212
 
213
  == Changelog ==
214
 
215
+ = 1.4.7.2 =
216
+ - Fixed: Honeypot field using a none unique CSS ID.
217
+ - Fixed: Form builder Bulk Add display issues in certain use cases.
218
+ - Fixed: Checkbox field values not saving if Show Values field option is enabled.
219
+
220
  = 1.4.7.1 =
221
  - Changed: Updated Russian translation.
222
  - Fixed: Various i18n issues.
wpforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
- * Version: 1.4.7.1
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
@@ -92,7 +92,7 @@ if ( class_exists( 'WPForms' ) ) {
92
  *
93
  * @var string
94
  */
95
- public $version = '1.4.7.1';
96
 
97
  /**
98
  * The form data handler instance.
@@ -324,7 +324,7 @@ if ( class_exists( 'WPForms' ) ) {
324
  require_once WPFORMS_PLUGIN_DIR . 'includes/emails/class-emails.php';
325
  require_once WPFORMS_PLUGIN_DIR . 'includes/integrations.php';
326
 
327
- // Admin/Dashboard only includes.
328
  if ( is_admin() ) {
329
  require_once WPFORMS_PLUGIN_DIR . 'includes/admin/admin.php';
330
  require_once WPFORMS_PLUGIN_DIR . 'includes/admin/class-notices.php';
@@ -409,4 +409,4 @@ if ( class_exists( 'WPForms' ) ) {
409
 
410
  wpforms();
411
 
412
- } // End if().
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
+ * Version: 1.4.7.2
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
92
  *
93
  * @var string
94
  */
95
+ public $version = '1.4.7.2';
96
 
97
  /**
98
  * The form data handler instance.
324
  require_once WPFORMS_PLUGIN_DIR . 'includes/emails/class-emails.php';
325
  require_once WPFORMS_PLUGIN_DIR . 'includes/integrations.php';
326
 
327
+ // Admin/Dashboard only includes, also in ajax.
328
  if ( is_admin() ) {
329
  require_once WPFORMS_PLUGIN_DIR . 'includes/admin/admin.php';
330
  require_once WPFORMS_PLUGIN_DIR . 'includes/admin/class-notices.php';
409
 
410
  wpforms();
411
 
412
+ }