Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms - Version 1.12.8

Version Description

  • Improvement: Safer builder controls internal API.
Download this release

Release Info

Developer happyforms
Plugin Icon 128x128 Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms
Version 1.12.8
Comparing to
See all releases

Code changes from version 1.12.7 to 1.12.8

core/classes/class-form-email.php CHANGED
@@ -94,25 +94,21 @@ class HappyForms_Form_Email {
94
  350 => array(
95
  'type' => 'text',
96
  'label' => __( 'Email address', 'happyforms' ),
97
- // 'tooltip' => __( 'Add your email address here to receive a confirmation email for each form response. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
98
  'field' => 'email_recipient',
99
  ),
100
  360 => array(
101
  'type' => 'text',
102
  'label' => __( 'Email Bcc address', 'happyforms' ),
103
- // 'tooltip' => __( 'Add your Bcc email address here to receive a confirmation email for each form response without appearing in the received message header. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
104
  'field' => 'email_bccs',
105
  ),
106
  440 => array(
107
  'type' => 'text',
108
  'label' => __( 'Email display name', 'happyforms' ),
109
- // 'tooltip' => __( 'You will receive an email with this sender name.', 'happyforms' ),
110
  'field' => 'alert_email_from_name',
111
  ),
112
  450 => array(
113
  'type' => 'text',
114
  'label' => __( 'Email subject', 'happyforms' ),
115
- // 'tooltip' => __( 'Each time a user submits a message, you\'ll receive an email with this subject.', 'happyforms' ),
116
  'field' => 'alert_email_subject',
117
  ),
118
  540 => array(
@@ -140,19 +136,16 @@ class HappyForms_Form_Email {
140
  650 => array(
141
  'type' => 'text',
142
  'label' => __( 'Email display name', 'happyforms' ),
143
- // 'tooltip' => __( 'If your form contains an email field, users will receive an email with this sender name.', 'happyforms' ),
144
  'field' => 'confirmation_email_from_name',
145
  ),
146
  750 => array(
147
  'type' => 'text',
148
  'label' => __( 'Email subject', 'happyforms' ),
149
- // 'tooltip' => __( 'If your form contains an email field, users will receive an email with this subject.', 'happyforms' ),
150
  'field' => 'confirmation_email_subject',
151
  ),
152
  850 => array(
153
  'type' => 'editor',
154
  'label' => __( 'Email content', 'happyforms' ),
155
- // 'tooltip' => __( 'If your form contains an email field, users will receive an email with this content.', 'happyforms' ),
156
  'field' => 'confirmation_email_content',
157
  ),
158
  860 => array(
@@ -165,6 +158,7 @@ class HappyForms_Form_Email {
165
  )
166
  );
167
 
 
168
  $controls = apply_filters( 'happyforms_email_controls', $controls );
169
  ksort( $controls, SORT_NUMERIC );
170
 
94
  350 => array(
95
  'type' => 'text',
96
  'label' => __( 'Email address', 'happyforms' ),
 
97
  'field' => 'email_recipient',
98
  ),
99
  360 => array(
100
  'type' => 'text',
101
  'label' => __( 'Email Bcc address', 'happyforms' ),
 
102
  'field' => 'email_bccs',
103
  ),
104
  440 => array(
105
  'type' => 'text',
106
  'label' => __( 'Email display name', 'happyforms' ),
 
107
  'field' => 'alert_email_from_name',
108
  ),
109
  450 => array(
110
  'type' => 'text',
111
  'label' => __( 'Email subject', 'happyforms' ),
 
112
  'field' => 'alert_email_subject',
113
  ),
114
  540 => array(
136
  650 => array(
137
  'type' => 'text',
138
  'label' => __( 'Email display name', 'happyforms' ),
 
139
  'field' => 'confirmation_email_from_name',
140
  ),
141
  750 => array(
142
  'type' => 'text',
143
  'label' => __( 'Email subject', 'happyforms' ),
 
144
  'field' => 'confirmation_email_subject',
145
  ),
146
  850 => array(
147
  'type' => 'editor',
148
  'label' => __( 'Email content', 'happyforms' ),
 
149
  'field' => 'confirmation_email_content',
150
  ),
151
  860 => array(
158
  )
159
  );
160
 
161
+ $controls = happyforms_safe_array_merge( array(), $controls );
162
  $controls = apply_filters( 'happyforms_email_controls', $controls );
163
  ksort( $controls, SORT_NUMERIC );
164
 
core/classes/class-form-messages.php CHANGED
@@ -164,6 +164,7 @@ class HappyForms_Form_Messages {
164
  ),
165
  );
166
 
 
167
  $controls = apply_filters( 'happyforms_messages_controls', $controls );
168
  ksort( $controls, SORT_NUMERIC );
169
 
164
  ),
165
  );
166
 
167
+ $controls = happyforms_safe_array_merge( array(), $controls );
168
  $controls = apply_filters( 'happyforms_messages_controls', $controls );
169
  ksort( $controls, SORT_NUMERIC );
170
 
core/classes/class-form-setup.php CHANGED
@@ -42,13 +42,11 @@ class HappyForms_Form_Setup {
42
  add_filter( 'happyforms_form_id', array( $this, 'form_html_id' ), 10, 2 );
43
  add_action( 'happyforms_do_setup_control', array( $this, 'do_control' ), 10, 3 );
44
 
 
45
  add_filter( 'happyforms_messages_controls', array( $this, 'messages_controls' ) );
46
 
47
-
48
  // Server-side hide-on-submit
49
  add_action( 'happyforms_submission_success', array( $this, 'submission_success' ), 10, 2 );
50
-
51
- add_filter( 'happyforms_messages_fields', array( $this, 'get_messages_fields' ) );
52
  }
53
 
54
  public function get_fields() {
@@ -133,7 +131,6 @@ class HappyForms_Form_Setup {
133
  }
134
 
135
  public function get_messages_fields( $fields ) {
136
-
137
  $messages_fields = array(
138
  'confirmation_message' => array(
139
  'default' => __( 'Thank you. Your reply has been sent.', 'happyforms' ),
@@ -165,7 +162,6 @@ class HappyForms_Form_Setup {
165
  'redirect' => __( 'Redirect to a web address', 'happyforms' ),
166
  ),
167
  'field' => 'confirm_submission',
168
- // 'tooltip' => __( 'Choose how the form should confirm successful submission.', 'happyforms' ),
169
  ),
170
  11 => array(
171
  'type' => 'upsell',
@@ -192,7 +188,6 @@ class HappyForms_Form_Setup {
192
  1102 => array(
193
  'type' => 'text',
194
  'label' => __( 'Submit button CSS classes', 'happyforms' ),
195
- // 'tooltip' => __( 'Add custom CSS classes separated by space for targeting a button in your stylesheet.', 'happyforms' ),
196
  'autocomplete' => 'off',
197
  'field' => 'submit_button_html_class'
198
  ),
@@ -203,7 +198,6 @@ class HappyForms_Form_Setup {
203
  'type' => 'checkbox',
204
  'label' => __( 'Add custom HTML ID to form', 'happyforms' ),
205
  'field' => 'use_html_id',
206
- // 'tooltip' => __( 'Add a unique HTML ID to your form. Write without a hash (#) character.', 'happyforms' ),
207
  ),
208
  1201 => array(
209
  'type' => 'group_start',
@@ -220,6 +214,7 @@ class HappyForms_Form_Setup {
220
  ),
221
  );
222
 
 
223
  $controls = apply_filters( 'happyforms_setup_controls', $controls );
224
  ksort( $controls, SORT_NUMERIC );
225
 
@@ -227,22 +222,25 @@ class HappyForms_Form_Setup {
227
  }
228
 
229
  public function messages_controls( $controls ) {
230
- $controls[20] = array(
231
- 'type' => 'text',
232
- 'label' => __( 'Form is successfully submitted', 'happyforms' ),
233
- 'field' => 'confirmation_message',
234
- );
235
- $controls[40] = array(
236
- 'type' => 'text',
237
- 'label' => __( "Form can’t be submitted", 'happyforms' ),
238
- 'field' => 'error_message',
 
 
 
 
 
 
 
239
  );
240
 
241
- $controls[2020] = array(
242
- 'type' => 'text',
243
- 'label' => __( 'Submit form', 'happyforms' ),
244
- 'field' => 'submit_button_label',
245
- );
246
 
247
  return $controls;
248
  }
42
  add_filter( 'happyforms_form_id', array( $this, 'form_html_id' ), 10, 2 );
43
  add_action( 'happyforms_do_setup_control', array( $this, 'do_control' ), 10, 3 );
44
 
45
+ add_filter( 'happyforms_messages_fields', array( $this, 'get_messages_fields' ) );
46
  add_filter( 'happyforms_messages_controls', array( $this, 'messages_controls' ) );
47
 
 
48
  // Server-side hide-on-submit
49
  add_action( 'happyforms_submission_success', array( $this, 'submission_success' ), 10, 2 );
 
 
50
  }
51
 
52
  public function get_fields() {
131
  }
132
 
133
  public function get_messages_fields( $fields ) {
 
134
  $messages_fields = array(
135
  'confirmation_message' => array(
136
  'default' => __( 'Thank you. Your reply has been sent.', 'happyforms' ),
162
  'redirect' => __( 'Redirect to a web address', 'happyforms' ),
163
  ),
164
  'field' => 'confirm_submission',
 
165
  ),
166
  11 => array(
167
  'type' => 'upsell',
188
  1102 => array(
189
  'type' => 'text',
190
  'label' => __( 'Submit button CSS classes', 'happyforms' ),
 
191
  'autocomplete' => 'off',
192
  'field' => 'submit_button_html_class'
193
  ),
198
  'type' => 'checkbox',
199
  'label' => __( 'Add custom HTML ID to form', 'happyforms' ),
200
  'field' => 'use_html_id',
 
201
  ),
202
  1201 => array(
203
  'type' => 'group_start',
214
  ),
215
  );
216
 
217
+ $controls = happyforms_safe_array_merge( array(), $controls );
218
  $controls = apply_filters( 'happyforms_setup_controls', $controls );
219
  ksort( $controls, SORT_NUMERIC );
220
 
222
  }
223
 
224
  public function messages_controls( $controls ) {
225
+ $message_controls = array(
226
+ 20 => array(
227
+ 'type' => 'text',
228
+ 'label' => __( 'Form is successfully submitted', 'happyforms' ),
229
+ 'field' => 'confirmation_message',
230
+ ),
231
+ 40 => array(
232
+ 'type' => 'text',
233
+ 'label' => __( "Form can’t be submitted", 'happyforms' ),
234
+ 'field' => 'error_message',
235
+ ),
236
+ 2020 => array(
237
+ 'type' => 'text',
238
+ 'label' => __( 'Submit form', 'happyforms' ),
239
+ 'field' => 'submit_button_label',
240
+ ),
241
  );
242
 
243
+ $controls = happyforms_safe_array_merge( $controls, $message_controls );
 
 
 
 
244
 
245
  return $controls;
246
  }
core/classes/class-form-styles.php CHANGED
@@ -974,6 +974,7 @@ class HappyForms_Form_Styles {
974
  'field' => 'additional_css'
975
  );
976
 
 
977
  $controls = apply_filters( 'happyforms_style_controls', $controls );
978
  ksort( $controls, SORT_NUMERIC );
979
 
974
  'field' => 'additional_css'
975
  );
976
 
977
+ $controls = happyforms_safe_array_merge( array(), $controls );
978
  $controls = apply_filters( 'happyforms_style_controls', $controls );
979
  ksort( $controls, SORT_NUMERIC );
980
 
core/classes/class-validation-messages.php CHANGED
@@ -66,31 +66,36 @@ class HappyForms_Validation_Messages {
66
  }
67
 
68
  public function messages_controls( $controls ) {
69
- $controls[4010] = array(
70
- 'type' => 'text',
71
- 'label' => __( 'Field is answered incorrectly', 'happyforms' ),
72
- 'field' => 'field_invalid',
73
- );
74
- $controls[4020] = array(
75
- 'type' => 'text',
76
- 'label' => __( "Required field isn't answered", 'happyforms' ),
77
- 'field' => 'field_empty',
78
- );
79
- $controls[4040] = array(
80
- 'type' => 'text',
81
- 'label' => __( "Required choice isn't selected", 'happyforms' ),
82
- 'field' => 'no_selection',
83
- );
84
- $controls[4080] = array(
85
- 'type' => 'text',
86
- 'label' => __( "Too many words/characters typed", 'happyforms' ),
87
- 'field' => 'message_too_long',
88
- );
89
- $controls[4100] = array(
90
- 'type' => 'text',
91
- 'label' => __( 'Not enough words/characters typed', 'happyforms' ),
92
- 'field' => 'message_too_short',
 
 
93
  );
 
 
 
94
  return $controls;
95
  }
96
 
66
  }
67
 
68
  public function messages_controls( $controls ) {
69
+ $message_controls = array(
70
+ 4010 => array(
71
+ 'type' => 'text',
72
+ 'label' => __( 'Field is answered incorrectly', 'happyforms' ),
73
+ 'field' => 'field_invalid',
74
+ ),
75
+ 4020 => array(
76
+ 'type' => 'text',
77
+ 'label' => __( "Required field isn't answered", 'happyforms' ),
78
+ 'field' => 'field_empty',
79
+ ),
80
+ 4040 => array(
81
+ 'type' => 'text',
82
+ 'label' => __( "Required choice isn't selected", 'happyforms' ),
83
+ 'field' => 'no_selection',
84
+ ),
85
+ 4080 => array(
86
+ 'type' => 'text',
87
+ 'label' => __( "Too many words/characters typed", 'happyforms' ),
88
+ 'field' => 'message_too_long',
89
+ ),
90
+ 4100 => array(
91
+ 'type' => 'text',
92
+ 'label' => __( 'Not enough words/characters typed', 'happyforms' ),
93
+ 'field' => 'message_too_short',
94
+ ),
95
  );
96
+
97
+ $controls = happyforms_safe_array_merge( $controls, $message_controls );
98
+
99
  return $controls;
100
  }
101
 
core/helpers/helper-misc.php CHANGED
@@ -1006,7 +1006,7 @@ function happyforms_is_email( $email ) {
1006
 
1007
  endif;
1008
 
1009
- if ( ! function_exists( 'happyforms_admin_screen_get_id' ) ):
1010
 
1011
  function happyforms_is_admin_screen( $id ) {
1012
  $current_screen = get_current_screen();
@@ -1016,4 +1016,20 @@ function happyforms_is_admin_screen( $id ) {
1016
  return $is_admin_screen;
1017
  }
1018
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
  endif;
1006
 
1007
  endif;
1008
 
1009
+ if ( ! function_exists( 'happyforms_is_admin_screen' ) ):
1010
 
1011
  function happyforms_is_admin_screen( $id ) {
1012
  $current_screen = get_current_screen();
1016
  return $is_admin_screen;
1017
  }
1018
 
1019
+ endif;
1020
+
1021
+ if ( ! function_exists( 'happyforms_safe_array_merge' ) ):
1022
+
1023
+ function happyforms_safe_array_merge( $a, $b ) {
1024
+ foreach( $b as $key => $value ) {
1025
+ if ( isset( $a[$key] ) ) {
1026
+ throw new Exception( __( "Duplicate key {$key}", 'happyforms' ) );
1027
+ }
1028
+
1029
+ $a[$key] = $value;
1030
+ }
1031
+
1032
+ return $a;
1033
+ }
1034
+
1035
  endif;
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
- * Version: 1.12.7
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
@@ -13,7 +13,7 @@
13
  /**
14
  * The current version of the plugin.
15
  */
16
- define( 'HAPPYFORMS_VERSION', '1.12.7' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
+ * Version: 1.12.8
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
13
  /**
14
  * The current version of the plugin.
15
  */
16
+ define( 'HAPPYFORMS_VERSION', '1.12.8' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
languages/happyforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Happyforms (free) package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Happyforms (free) 1.12.7\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
- "POT-Creation-Date: 2021-05-19 07:17:40+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -251,35 +251,35 @@ msgstr ""
251
  msgid "Email address"
252
  msgstr ""
253
 
254
- #: core/classes/class-form-email.php:102
255
  msgid "Email Bcc address"
256
  msgstr ""
257
 
258
- #: core/classes/class-form-email.php:108 core/classes/class-form-email.php:142
259
  msgid "Email display name"
260
  msgstr ""
261
 
262
- #: core/classes/class-form-email.php:114 core/classes/class-form-email.php:148
263
  msgid "Email subject"
264
  msgstr ""
265
 
266
- #: core/classes/class-form-email.php:123
267
  msgid "Email respondent a copy of their submission"
268
  msgstr ""
269
 
270
- #: core/classes/class-form-email.php:132
271
  msgid "From email address"
272
  msgstr ""
273
 
274
- #: core/classes/class-form-email.php:137
275
  msgid "Reply email address"
276
  msgstr ""
277
 
278
- #: core/classes/class-form-email.php:154
279
  msgid "Email content"
280
  msgstr ""
281
 
282
- #: core/classes/class-form-email.php:160
283
  msgid "Include submitted values"
284
  msgstr ""
285
 
@@ -409,70 +409,70 @@ msgstr ""
409
  msgid "Missing validation callback for field %s"
410
  msgstr ""
411
 
412
- #: core/classes/class-form-setup.php:99
413
  msgid "Validate your submission"
414
  msgstr ""
415
 
416
- #: core/classes/class-form-setup.php:139
417
  msgid "Thank you. Your reply has been sent."
418
  msgstr ""
419
 
420
- #: core/classes/class-form-setup.php:143
421
  msgid "Bummer. We can't submit your reply. Please check for mistakes."
422
  msgstr ""
423
 
424
- #: core/classes/class-form-setup.php:147
425
  msgid "Send"
426
  msgstr ""
427
 
428
- #: core/classes/class-form-setup.php:161
429
  msgid "After the form is submitted"
430
  msgstr ""
431
 
432
- #: core/classes/class-form-setup.php:163
433
  msgid "Show a message"
434
  msgstr ""
435
 
436
- #: core/classes/class-form-setup.php:164
437
  msgid "Show a message and allow to resubmit the form"
438
  msgstr ""
439
 
440
- #: core/classes/class-form-setup.php:165
441
  msgid "Redirect to a web address"
442
  msgstr ""
443
 
444
- #: core/classes/class-form-setup.php:172
445
  #: core/templates/customize-form-parts-drawer.php:38
446
  #: inc/templates/customize-controls/checkbox_dummy.php:7
447
  #: inc/templates/customize-controls/email-parts-list-dummy.php:11
448
  msgid "Upgrade"
449
  msgstr ""
450
 
451
- #: core/classes/class-form-setup.php:185
452
  msgid "Add custom CSS classes to submit button"
453
  msgstr ""
454
 
455
- #: core/classes/class-form-setup.php:194
456
  msgid "Submit button CSS classes"
457
  msgstr ""
458
 
459
- #: core/classes/class-form-setup.php:204
460
  msgid "Add custom HTML ID to form"
461
  msgstr ""
462
 
463
- #: core/classes/class-form-setup.php:214
464
  msgid "Form HTML ID"
465
  msgstr ""
466
 
467
- #: core/classes/class-form-setup.php:232
468
  msgid "Form is successfully submitted"
469
  msgstr ""
470
 
471
- #: core/classes/class-form-setup.php:237
472
  msgid "Form can’t be submitted"
473
  msgstr ""
474
 
475
- #: core/classes/class-form-setup.php:243
476
  msgid "Submit form"
477
  msgstr ""
478
 
@@ -988,43 +988,43 @@ msgstr ""
988
  msgid "Error description"
989
  msgstr ""
990
 
991
- #: core/classes/class-validation-messages.php:71
992
  msgid "Field is answered incorrectly"
993
  msgstr ""
994
 
995
- #: core/classes/class-validation-messages.php:76
996
  msgid "Required field isn't answered"
997
  msgstr ""
998
 
999
- #: core/classes/class-validation-messages.php:81
1000
  msgid "Required choice isn't selected"
1001
  msgstr ""
1002
 
1003
- #: core/classes/class-validation-messages.php:86
1004
  msgid "Too many words/characters typed"
1005
  msgstr ""
1006
 
1007
- #: core/classes/class-validation-messages.php:91
1008
  msgid "Not enough words/characters typed"
1009
  msgstr ""
1010
 
1011
- #: core/classes/class-validation-messages.php:101
1012
  msgid "Oops. Looks like there's a mistake here."
1013
  msgstr ""
1014
 
1015
- #: core/classes/class-validation-messages.php:105
1016
  msgid "Oops. Please answer this question."
1017
  msgstr ""
1018
 
1019
- #: core/classes/class-validation-messages.php:109
1020
  msgid "Oops. Please make a selection."
1021
  msgstr ""
1022
 
1023
- #: core/classes/class-validation-messages.php:113
1024
  msgid "Oops. This answer is too long."
1025
  msgstr ""
1026
 
1027
- #: core/classes/class-validation-messages.php:117
1028
  msgid "Oops. This answer isn't long enough."
1029
  msgstr ""
1030
 
2
  # This file is distributed under the same license as the Happyforms (free) package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Happyforms (free) 1.12.8\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
+ "POT-Creation-Date: 2021-05-24 12:12:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
251
  msgid "Email address"
252
  msgstr ""
253
 
254
+ #: core/classes/class-form-email.php:101
255
  msgid "Email Bcc address"
256
  msgstr ""
257
 
258
+ #: core/classes/class-form-email.php:106 core/classes/class-form-email.php:138
259
  msgid "Email display name"
260
  msgstr ""
261
 
262
+ #: core/classes/class-form-email.php:111 core/classes/class-form-email.php:143
263
  msgid "Email subject"
264
  msgstr ""
265
 
266
+ #: core/classes/class-form-email.php:119
267
  msgid "Email respondent a copy of their submission"
268
  msgstr ""
269
 
270
+ #: core/classes/class-form-email.php:128
271
  msgid "From email address"
272
  msgstr ""
273
 
274
+ #: core/classes/class-form-email.php:133
275
  msgid "Reply email address"
276
  msgstr ""
277
 
278
+ #: core/classes/class-form-email.php:148
279
  msgid "Email content"
280
  msgstr ""
281
 
282
+ #: core/classes/class-form-email.php:153
283
  msgid "Include submitted values"
284
  msgstr ""
285
 
409
  msgid "Missing validation callback for field %s"
410
  msgstr ""
411
 
412
+ #: core/classes/class-form-setup.php:97
413
  msgid "Validate your submission"
414
  msgstr ""
415
 
416
+ #: core/classes/class-form-setup.php:136
417
  msgid "Thank you. Your reply has been sent."
418
  msgstr ""
419
 
420
+ #: core/classes/class-form-setup.php:140
421
  msgid "Bummer. We can't submit your reply. Please check for mistakes."
422
  msgstr ""
423
 
424
+ #: core/classes/class-form-setup.php:144
425
  msgid "Send"
426
  msgstr ""
427
 
428
+ #: core/classes/class-form-setup.php:158
429
  msgid "After the form is submitted"
430
  msgstr ""
431
 
432
+ #: core/classes/class-form-setup.php:160
433
  msgid "Show a message"
434
  msgstr ""
435
 
436
+ #: core/classes/class-form-setup.php:161
437
  msgid "Show a message and allow to resubmit the form"
438
  msgstr ""
439
 
440
+ #: core/classes/class-form-setup.php:162
441
  msgid "Redirect to a web address"
442
  msgstr ""
443
 
444
+ #: core/classes/class-form-setup.php:168
445
  #: core/templates/customize-form-parts-drawer.php:38
446
  #: inc/templates/customize-controls/checkbox_dummy.php:7
447
  #: inc/templates/customize-controls/email-parts-list-dummy.php:11
448
  msgid "Upgrade"
449
  msgstr ""
450
 
451
+ #: core/classes/class-form-setup.php:181
452
  msgid "Add custom CSS classes to submit button"
453
  msgstr ""
454
 
455
+ #: core/classes/class-form-setup.php:190
456
  msgid "Submit button CSS classes"
457
  msgstr ""
458
 
459
+ #: core/classes/class-form-setup.php:199
460
  msgid "Add custom HTML ID to form"
461
  msgstr ""
462
 
463
+ #: core/classes/class-form-setup.php:208
464
  msgid "Form HTML ID"
465
  msgstr ""
466
 
467
+ #: core/classes/class-form-setup.php:228
468
  msgid "Form is successfully submitted"
469
  msgstr ""
470
 
471
+ #: core/classes/class-form-setup.php:233
472
  msgid "Form can’t be submitted"
473
  msgstr ""
474
 
475
+ #: core/classes/class-form-setup.php:238
476
  msgid "Submit form"
477
  msgstr ""
478
 
988
  msgid "Error description"
989
  msgstr ""
990
 
991
+ #: core/classes/class-validation-messages.php:72
992
  msgid "Field is answered incorrectly"
993
  msgstr ""
994
 
995
+ #: core/classes/class-validation-messages.php:77
996
  msgid "Required field isn't answered"
997
  msgstr ""
998
 
999
+ #: core/classes/class-validation-messages.php:82
1000
  msgid "Required choice isn't selected"
1001
  msgstr ""
1002
 
1003
+ #: core/classes/class-validation-messages.php:87
1004
  msgid "Too many words/characters typed"
1005
  msgstr ""
1006
 
1007
+ #: core/classes/class-validation-messages.php:92
1008
  msgid "Not enough words/characters typed"
1009
  msgstr ""
1010
 
1011
+ #: core/classes/class-validation-messages.php:106
1012
  msgid "Oops. Looks like there's a mistake here."
1013
  msgstr ""
1014
 
1015
+ #: core/classes/class-validation-messages.php:110
1016
  msgid "Oops. Please answer this question."
1017
  msgstr ""
1018
 
1019
+ #: core/classes/class-validation-messages.php:114
1020
  msgid "Oops. Please make a selection."
1021
  msgstr ""
1022
 
1023
+ #: core/classes/class-validation-messages.php:118
1024
  msgid "Oops. This answer is too long."
1025
  msgstr ""
1026
 
1027
+ #: core/classes/class-validation-messages.php:122
1028
  msgid "Oops. This answer isn't long enough."
1029
  msgstr ""
1030
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact form, contact form plugin, forms, form builder, custom form, intak
5
  Requires at least: 4.8
6
  Tested up to: 5.7.2
7
  Requires PHP: 5.3
8
- Stable tag: 1.12.7
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -151,6 +151,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
151
 
152
  == Changelog ==
153
 
 
 
 
154
  = 1.12.7 =
155
  * Improvements: Dashboard element colors have been brought in line with core.
156
  * Improvement: Hints are now shown below field labels.
@@ -808,6 +811,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
808
 
809
  == Upgrade Notice ==
810
 
 
 
 
811
  = 1.12.7 =
812
  * Builder visual improvements, bugfixes.
813
 
5
  Requires at least: 4.8
6
  Tested up to: 5.7.2
7
  Requires PHP: 5.3
8
+ Stable tag: 1.12.8
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
151
 
152
  == Changelog ==
153
 
154
+ = 1.12.8 =
155
+ * Improvement: Safer builder controls internal API.
156
+
157
  = 1.12.7 =
158
  * Improvements: Dashboard element colors have been brought in line with core.
159
  * Improvement: Hints are now shown below field labels.
811
 
812
  == Upgrade Notice ==
813
 
814
+ = 1.12.8 =
815
+ * Safer builder controls internal API.
816
+
817
  = 1.12.7 =
818
  * Builder visual improvements, bugfixes.
819