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

Version Description

  • Fixed Messages tab's "Submit form" control realtime preview updates.
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.20.2
Comparing to
See all releases

Code changes from version 1.20.1 to 1.20.2

happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: Form builder to get in touch with visitors, grow your email list and collect payments.
7
  * Author: Happyforms
8
- * Version: 1.20.1
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
@@ -22,7 +22,7 @@ if ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) {
22
  /**
23
  * The current version of the plugin.
24
  */
25
- define( 'HAPPYFORMS_VERSION', '1.20.1' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
5
  * Plugin URI: https://happyforms.io
6
  * Description: Form builder to get in touch with visitors, grow your email list and collect payments.
7
  * Author: Happyforms
8
+ * Version: 1.20.2
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
22
  /**
23
  * The current version of the plugin.
24
  */
25
+ define( 'HAPPYFORMS_VERSION', '1.20.2' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
inc/assets/js/customize.js CHANGED
@@ -1539,7 +1539,6 @@
1539
  initialize: function() {
1540
  classes.views.Base.prototype.initialize.apply( this, arguments );
1541
 
1542
- this.listenTo( this.model, 'change:submit_button_label', this.onSubmitButtonLabelChange );
1543
  this.listenTo( this.model, 'change:confirm_submission', this.onConfirmSubmissionChange );
1544
  },
1545
 
@@ -1609,10 +1608,6 @@
1609
  this.model.set( attribute, value );
1610
  },
1611
 
1612
- onSubmitButtonLabelChange: function( model, value ) {
1613
- happyForms.previewSend( 'happyforms-submit-button-text-update', value );
1614
- },
1615
-
1616
  setOptionalLabelVisibility: function() {
1617
  var optionalParts = this.model.get( 'parts' ).find( function( model, index, parts ) {
1618
  return ( '' !== parts[index].get( 'required' ) && 1 !== parts[index].get( 'required' ) );
@@ -1931,7 +1926,6 @@
1931
  self.$el.addClass( 'has-searchable-dropdown' );
1932
  }
1933
 
1934
-
1935
  var partsWithLimitedOptions = happyForms.form.get( 'parts' ).filter( function( part ) {
1936
  var hasOptions = [ 'radio', 'checkbox', 'select' ].includes( part.get( 'type' ) );
1937
 
@@ -1951,22 +1945,18 @@
1951
  if ( partsWithLimitedOptions.length ) {
1952
  self.$el.addClass( 'has-show-submissions-left' );
1953
  }
1954
-
1955
  },
1956
 
1957
  ready: function() {
1958
- var self = this;
1959
  this.$inputRestoreBtns = $( '.restore-default-btn' );
1960
-
1961
- var defaultEditorSettings = {
1962
- };
1963
-
1964
  },
1965
 
1966
-
1967
  onSubmitButtonLabelChange: function( e ) {
 
 
 
1968
 
1969
- happyForms.previewSend( 'happyforms-submit-button-text-update', $( e.target ).val() );
1970
  },
1971
 
1972
  onOptionalPartLabelChange: function( e ) {
@@ -2530,6 +2520,12 @@
2530
  * Previewer callbacks for live part DOM updates
2531
  *
2532
  */
 
 
 
 
 
 
2533
  onPartMouseOverCallback: function( id, html ) {
2534
  var $part = this.$( html );
2535
  $part.addClass( 'highlighted' );
@@ -2680,6 +2676,7 @@
2680
 
2681
  $suffix.text( part.get( 'suffix' ) );
2682
  },
 
2683
  onSubmissionsLeftLabelChangeCallback: function( $form ) {
2684
  var submissionsLeftLabel = happyForms.form.get( 'submissions_left_label' );
2685
  $( '.happyforms-submissions-left', $form ).text( submissionsLeftLabel );
1539
  initialize: function() {
1540
  classes.views.Base.prototype.initialize.apply( this, arguments );
1541
 
 
1542
  this.listenTo( this.model, 'change:confirm_submission', this.onConfirmSubmissionChange );
1543
  },
1544
 
1608
  this.model.set( attribute, value );
1609
  },
1610
 
 
 
 
 
1611
  setOptionalLabelVisibility: function() {
1612
  var optionalParts = this.model.get( 'parts' ).find( function( model, index, parts ) {
1613
  return ( '' !== parts[index].get( 'required' ) && 1 !== parts[index].get( 'required' ) );
1926
  self.$el.addClass( 'has-searchable-dropdown' );
1927
  }
1928
 
 
1929
  var partsWithLimitedOptions = happyForms.form.get( 'parts' ).filter( function( part ) {
1930
  var hasOptions = [ 'radio', 'checkbox', 'select' ].includes( part.get( 'type' ) );
1931
 
1945
  if ( partsWithLimitedOptions.length ) {
1946
  self.$el.addClass( 'has-show-submissions-left' );
1947
  }
 
1948
  },
1949
 
1950
  ready: function() {
 
1951
  this.$inputRestoreBtns = $( '.restore-default-btn' );
 
 
 
 
1952
  },
1953
 
 
1954
  onSubmitButtonLabelChange: function( e ) {
1955
+ var data = {
1956
+ callback: 'onSubmitButtonLabelChangeCallback',
1957
+ };
1958
 
1959
+ happyForms.previewSend( 'happyforms-form-dom-update', data );
1960
  },
1961
 
1962
  onOptionalPartLabelChange: function( e ) {
2520
  * Previewer callbacks for live part DOM updates
2521
  *
2522
  */
2523
+ onSubmitButtonLabelChangeCallback: function( $form ) {
2524
+ var label = happyForms.form.get( 'submit_button_label' );
2525
+
2526
+ $( '.happyforms-button--submit', $form ).text( label );
2527
+ },
2528
+
2529
  onPartMouseOverCallback: function( id, html ) {
2530
  var $part = this.$( html );
2531
  $part.addClass( 'highlighted' );
2676
 
2677
  $suffix.text( part.get( 'suffix' ) );
2678
  },
2679
+
2680
  onSubmissionsLeftLabelChangeCallback: function( $form ) {
2681
  var submissionsLeftLabel = happyForms.form.get( 'submissions_left_label' );
2682
  $( '.happyforms-submissions-left', $form ).text( submissionsLeftLabel );
inc/assets/js/preview.js CHANGED
@@ -213,10 +213,6 @@
213
  api.preview.send( 'happyforms-' + $partial.attr( 'data-partial-id' ) + '-pencil-click' );
214
  }
215
 
216
- handlers.submitButtonTextUpdate = function ( text ) {
217
- $( '.happyforms-button--submit' ).attr( 'value', text );
218
- }
219
-
220
  handlers.customCSSUpdated = function( css ) {
221
  $( '[data-happyforms-additional-css]' ).html( css );
222
  }
@@ -259,7 +255,6 @@
259
  api.preview.bind( 'happyforms-css-variable-update', handlers.cssVariableUpdate );
260
  api.preview.bind( 'happyforms-form-class-update', handlers.formClassUpdate );
261
  api.preview.bind( 'happyforms-form-class-updated', handlers.formClassUpdated );
262
- api.preview.bind( 'happyforms-submit-button-text-update', handlers.submitButtonTextUpdate );
263
  api.preview.bind( 'happyforms-custom-css-updated', handlers.customCSSUpdated );
264
 
265
  // Bind DOM handlers
213
  api.preview.send( 'happyforms-' + $partial.attr( 'data-partial-id' ) + '-pencil-click' );
214
  }
215
 
 
 
 
 
216
  handlers.customCSSUpdated = function( css ) {
217
  $( '[data-happyforms-additional-css]' ).html( css );
218
  }
255
  api.preview.bind( 'happyforms-css-variable-update', handlers.cssVariableUpdate );
256
  api.preview.bind( 'happyforms-form-class-update', handlers.formClassUpdate );
257
  api.preview.bind( 'happyforms-form-class-updated', handlers.formClassUpdated );
 
258
  api.preview.bind( 'happyforms-custom-css-updated', handlers.customCSSUpdated );
259
 
260
  // Bind DOM handlers
inc/classes/class-happyforms.php CHANGED
@@ -214,175 +214,146 @@ class HappyForms extends HappyForms_Core {
214
  'dummy_id' => 'form_redirect_submission',
215
  'label' => __( 'Form redirected after submission', 'happyforms' ),
216
  ),
217
-
218
  43 => array(
219
  'type' => 'text_dummy_reset',
220
  'dummy_id' => 'form_reached_reply_limit',
221
  'label' => __( 'Form has reached its reply limit', 'happyforms' ),
222
  ),
223
-
224
  44 => array(
225
  'type' => 'text_dummy_reset',
226
  'dummy_id' => 'submitter_returned_draft',
227
  'label' => __( 'Submitter has returned to a draft', 'happyforms' ),
228
  ),
229
-
230
  45 => array(
231
  'type' => 'text_dummy_reset',
232
  'dummy_id' => 'submitter_review_page',
233
  'label' => __( 'Submitter is viewing review page', 'happyforms' ),
234
  ),
235
-
236
  46 => array(
237
  'type' => 'text_dummy_reset',
238
  'dummy_id' => 'payment_completed',
239
  'label' => __( 'Payment completed', 'happyforms' ),
240
  ),
241
-
242
  47 => array(
243
  'type' => 'text_dummy_reset',
244
  'dummy_id' => 'payment_failed',
245
  'label' => __( 'Payment failed', 'happyforms' ),
246
  ),
247
-
248
  48 => array(
249
  'type' => 'text_dummy_reset',
250
  'dummy_id' => 'payment_cancelled',
251
  'label' => __( 'Payment cancelled', 'happyforms' ),
252
  ),
253
-
254
  2019 => array(
255
  'type' => 'text_dummy_reset',
256
  'dummy_id' => 'previous_page',
257
  'label' => __( 'Previous page', 'happyforms' ),
258
  ),
259
-
260
  2030 => array(
261
  'type' => 'text_dummy_reset',
262
  'dummy_id' => 'redirect_page',
263
  'label' => __( 'Redirect to page', 'happyforms' ),
264
  ),
265
-
266
  2031 => array(
267
  'type' => 'text_dummy_reset',
268
  'dummy_id' => 'print_submission',
269
  'label' => __( 'Print user submission', 'happyforms' ),
270
  ),
271
-
272
  2041 => array(
273
  'type' => 'text_dummy_reset',
274
  'dummy_id' => 'edit_reply',
275
  'label' => __( 'Edit reply', 'happyforms' ),
276
  ),
277
-
278
  2061 => array(
279
  'type' => 'text_dummy_reset',
280
  'dummy_id' => 'clear_saved_reply',
281
  'label' => __( 'Clear saved draft reply', 'happyforms' ),
282
  ),
283
-
284
  2081 => array(
285
  'type' => 'text_dummy_reset',
286
  'dummy_id' => 'save_draft_reply',
287
  'label' => __( 'Save draft reply', 'happyforms' ),
288
  ),
289
-
290
  2141 => array(
291
  'type' => 'text_dummy_reset',
292
  'dummy_id' => 'upload_files',
293
  'label' => __( 'Upload files', 'happyforms' ),
294
  ),
295
-
296
  2161 => array(
297
  'type' => 'text_dummy_reset',
298
  'dummy_id' => 'remove_uploaded_file',
299
  'label' => __( 'Remove uploaded file', 'happyforms' ),
300
  ),
301
-
302
  2201 => array(
303
  'type' => 'text_dummy_reset',
304
  'dummy_id' => 'review_reply',
305
  'label' => __( 'Review reply', 'happyforms' ),
306
  ),
307
-
308
  2260 => array(
309
  'type' => 'text_dummy_reset',
310
  'dummy_id' => 'start_drawing_signature',
311
  'label' => __( 'Start drawing signature', 'happyforms' ),
312
  ),
313
-
314
  2261 => array(
315
  'type' => 'text_dummy_reset',
316
  'dummy_id' => 'start_over_signature',
317
  'label' => __( 'Start over drawing signature', 'happyforms' ),
318
  ),
319
-
320
  2263 => array(
321
  'type' => 'text_dummy_reset',
322
  'dummy_id' => 'clear_drawn_signature',
323
  'label' => __( 'Clear drawn signature', 'happyforms' ),
324
  ),
325
-
326
  2264 => array(
327
  'type' => 'text_dummy_reset',
328
  'dummy_id' => 'done_drawing_signature',
329
  'label' => __( 'Done drawing signature', 'happyforms' ),
330
  ),
331
-
332
  4052 => array(
333
  'type' => 'text_dummy_reset',
334
  'dummy_id' => 'field_answer_limit',
335
  'label' => __( 'Field answer reached its limit', 'happyforms' ),
336
  ),
337
-
338
  4053 => array(
339
  'type' => 'text_dummy_reset',
340
  'dummy_id' => 'coupon_invalid',
341
  'label' => __( 'Coupon code invalid', 'happyforms' ),
342
  ),
343
-
344
  4061 => array(
345
  'type' => 'text_dummy_reset',
346
  'dummy_id' => 'required_file_not_uploaded',
347
  'label' => __( 'Required file isn\'t uploaded', 'happyforms' ),
348
  ),
349
-
350
  4106 => array(
351
  'type' => 'text_dummy_reset',
352
  'dummy_id' => 'required_not_scrolled',
353
  'label' => __( 'Required terms haven\'t been scrolled', 'happyforms' ),
354
  ),
355
-
356
  4121 => array(
357
  'type' => 'text_dummy_reset',
358
  'dummy_id' => 'field_disallowed_word',
359
  'label' => __( 'Field contains disallowed word', 'happyforms' ),
360
  ),
361
-
362
  4122 => array(
363
  'type' => 'text_dummy_reset',
364
  'dummy_id' => 'disallowed_ip',
365
  'label' => __( 'Disallowed IP address or browser', 'happyforms' ),
366
  ),
367
-
368
  4123 => array(
369
  'type' => 'text_dummy_reset',
370
  'dummy_id' => 'file_too_big',
371
  'label' => __( 'This file\'s size is too big', 'happyforms' ),
372
  ),
373
-
374
  4124 => array(
375
  'type' => 'text_dummy_reset',
376
  'dummy_id' => 'file_not_allowed',
377
  'label' => __( 'This file\'s type not allowed', 'happyforms' ),
378
  ),
379
-
380
  4125 => array(
381
  'type' => 'text_dummy_reset',
382
  'dummy_id' => 'file_name_exists',
383
  'label' => __( 'A file with this name has already been uploaded', 'happyforms' ),
384
  ),
385
-
386
  4126 => array(
387
  'type' => 'text_dummy_reset',
388
  'dummy_id' => 'uploaded_few_files',
@@ -393,85 +364,81 @@ class HappyForms extends HappyForms_Core {
393
  'dummy_id' => 'price_too_low',
394
  'label' => __( 'Price is too low', 'happyforms' ),
395
  ),
396
-
 
 
 
 
 
 
 
 
 
397
  6121 => array(
398
  'type' => 'text_dummy_reset',
399
  'dummy_id' => 'total_files_uploaded',
400
  'label' => __( 'Total files uploaded', 'happyforms' ),
401
  ),
402
-
403
  6136 => array(
404
  'type' => 'text_dummy_reset',
405
  'dummy_id' => 'payment_method',
406
  'label' => __( 'Payment method', 'happyforms' ),
407
  ),
408
-
409
  6137 => array(
410
  'type' => 'text_dummy_reset',
411
  'dummy_id' => 'pay_what_you_want',
412
  'label' => __( 'Pay what you want', 'happyforms' ),
413
  ),
414
-
415
  6141 => array(
416
  'type' => 'text_dummy_reset',
417
  'dummy_id' => 'submitter_redirected_paypal',
418
  'label' => __( 'Submitter will be redirected to PayPal', 'happyforms' ),
419
  ),
420
-
 
 
 
 
421
  6171 => array(
422
  'type' => 'text_dummy_reset',
423
  'dummy_id' => 'stripe_processing_payment',
424
  'label' => __( 'Stripe is processing payment', 'happyforms' ),
425
  ),
426
-
427
  6172 => array(
428
  'type' => 'text_dummy_reset',
429
  'dummy_id' => 'stripe_payment',
430
  'label' => __( 'Stripe payment', 'happyforms' ),
431
  ),
432
-
433
  6173 => array(
434
  'type' => 'text_dummy_reset',
435
- 'dummy_id' => 'card_number',
436
- 'label' => __( 'Card number', 'happyforms' ),
437
  ),
438
-
439
  6174 => array(
440
  'type' => 'text_dummy_reset',
441
- 'dummy_id' => 'card_expiration',
442
- 'label' => __( 'Card expiration', 'happyforms' ),
443
  ),
444
-
445
  6175 => array(
446
  'type' => 'text_dummy_reset',
447
- 'dummy_id' => 'card_expiration_hint',
448
- 'label' => __( 'Card expiration hint', 'happyforms' ),
449
  ),
450
-
451
  6176 => array(
452
  'type' => 'text_dummy_reset',
453
  'dummy_id' => 'card_security_code',
454
  'label' => __( 'Card security code', 'happyforms' ),
455
  ),
456
-
457
  6177 => array(
458
- 'type' => 'text_dummy_reset',
459
- 'dummy_id' => 'card_security_code_hint',
460
- 'label' => __( 'Card security code hint', 'happyforms' ),
461
- ),
462
-
463
- 6178 => array(
464
  'type' => 'text_dummy_reset',
465
  'dummy_id' => 'coupon_field_label',
466
  'label' => __( 'Coupon field label', 'happyforms' ),
467
  ),
468
-
469
- 6179 => array(
470
  'type' => 'text_dummy_reset',
471
  'dummy_id' => 'apply_coupon_label',
472
  'label' => __( 'Apply coupon button label', 'happyforms' ),
473
  ),
474
-
475
  6241 => array(
476
  'type' => 'text_dummy_reset',
477
  'dummy_id' => 'current_page',
214
  'dummy_id' => 'form_redirect_submission',
215
  'label' => __( 'Form redirected after submission', 'happyforms' ),
216
  ),
 
217
  43 => array(
218
  'type' => 'text_dummy_reset',
219
  'dummy_id' => 'form_reached_reply_limit',
220
  'label' => __( 'Form has reached its reply limit', 'happyforms' ),
221
  ),
 
222
  44 => array(
223
  'type' => 'text_dummy_reset',
224
  'dummy_id' => 'submitter_returned_draft',
225
  'label' => __( 'Submitter has returned to a draft', 'happyforms' ),
226
  ),
 
227
  45 => array(
228
  'type' => 'text_dummy_reset',
229
  'dummy_id' => 'submitter_review_page',
230
  'label' => __( 'Submitter is viewing review page', 'happyforms' ),
231
  ),
 
232
  46 => array(
233
  'type' => 'text_dummy_reset',
234
  'dummy_id' => 'payment_completed',
235
  'label' => __( 'Payment completed', 'happyforms' ),
236
  ),
 
237
  47 => array(
238
  'type' => 'text_dummy_reset',
239
  'dummy_id' => 'payment_failed',
240
  'label' => __( 'Payment failed', 'happyforms' ),
241
  ),
 
242
  48 => array(
243
  'type' => 'text_dummy_reset',
244
  'dummy_id' => 'payment_cancelled',
245
  'label' => __( 'Payment cancelled', 'happyforms' ),
246
  ),
 
247
  2019 => array(
248
  'type' => 'text_dummy_reset',
249
  'dummy_id' => 'previous_page',
250
  'label' => __( 'Previous page', 'happyforms' ),
251
  ),
 
252
  2030 => array(
253
  'type' => 'text_dummy_reset',
254
  'dummy_id' => 'redirect_page',
255
  'label' => __( 'Redirect to page', 'happyforms' ),
256
  ),
 
257
  2031 => array(
258
  'type' => 'text_dummy_reset',
259
  'dummy_id' => 'print_submission',
260
  'label' => __( 'Print user submission', 'happyforms' ),
261
  ),
 
262
  2041 => array(
263
  'type' => 'text_dummy_reset',
264
  'dummy_id' => 'edit_reply',
265
  'label' => __( 'Edit reply', 'happyforms' ),
266
  ),
 
267
  2061 => array(
268
  'type' => 'text_dummy_reset',
269
  'dummy_id' => 'clear_saved_reply',
270
  'label' => __( 'Clear saved draft reply', 'happyforms' ),
271
  ),
 
272
  2081 => array(
273
  'type' => 'text_dummy_reset',
274
  'dummy_id' => 'save_draft_reply',
275
  'label' => __( 'Save draft reply', 'happyforms' ),
276
  ),
 
277
  2141 => array(
278
  'type' => 'text_dummy_reset',
279
  'dummy_id' => 'upload_files',
280
  'label' => __( 'Upload files', 'happyforms' ),
281
  ),
 
282
  2161 => array(
283
  'type' => 'text_dummy_reset',
284
  'dummy_id' => 'remove_uploaded_file',
285
  'label' => __( 'Remove uploaded file', 'happyforms' ),
286
  ),
 
287
  2201 => array(
288
  'type' => 'text_dummy_reset',
289
  'dummy_id' => 'review_reply',
290
  'label' => __( 'Review reply', 'happyforms' ),
291
  ),
 
292
  2260 => array(
293
  'type' => 'text_dummy_reset',
294
  'dummy_id' => 'start_drawing_signature',
295
  'label' => __( 'Start drawing signature', 'happyforms' ),
296
  ),
 
297
  2261 => array(
298
  'type' => 'text_dummy_reset',
299
  'dummy_id' => 'start_over_signature',
300
  'label' => __( 'Start over drawing signature', 'happyforms' ),
301
  ),
 
302
  2263 => array(
303
  'type' => 'text_dummy_reset',
304
  'dummy_id' => 'clear_drawn_signature',
305
  'label' => __( 'Clear drawn signature', 'happyforms' ),
306
  ),
 
307
  2264 => array(
308
  'type' => 'text_dummy_reset',
309
  'dummy_id' => 'done_drawing_signature',
310
  'label' => __( 'Done drawing signature', 'happyforms' ),
311
  ),
 
312
  4052 => array(
313
  'type' => 'text_dummy_reset',
314
  'dummy_id' => 'field_answer_limit',
315
  'label' => __( 'Field answer reached its limit', 'happyforms' ),
316
  ),
 
317
  4053 => array(
318
  'type' => 'text_dummy_reset',
319
  'dummy_id' => 'coupon_invalid',
320
  'label' => __( 'Coupon code invalid', 'happyforms' ),
321
  ),
 
322
  4061 => array(
323
  'type' => 'text_dummy_reset',
324
  'dummy_id' => 'required_file_not_uploaded',
325
  'label' => __( 'Required file isn\'t uploaded', 'happyforms' ),
326
  ),
 
327
  4106 => array(
328
  'type' => 'text_dummy_reset',
329
  'dummy_id' => 'required_not_scrolled',
330
  'label' => __( 'Required terms haven\'t been scrolled', 'happyforms' ),
331
  ),
 
332
  4121 => array(
333
  'type' => 'text_dummy_reset',
334
  'dummy_id' => 'field_disallowed_word',
335
  'label' => __( 'Field contains disallowed word', 'happyforms' ),
336
  ),
 
337
  4122 => array(
338
  'type' => 'text_dummy_reset',
339
  'dummy_id' => 'disallowed_ip',
340
  'label' => __( 'Disallowed IP address or browser', 'happyforms' ),
341
  ),
 
342
  4123 => array(
343
  'type' => 'text_dummy_reset',
344
  'dummy_id' => 'file_too_big',
345
  'label' => __( 'This file\'s size is too big', 'happyforms' ),
346
  ),
 
347
  4124 => array(
348
  'type' => 'text_dummy_reset',
349
  'dummy_id' => 'file_not_allowed',
350
  'label' => __( 'This file\'s type not allowed', 'happyforms' ),
351
  ),
 
352
  4125 => array(
353
  'type' => 'text_dummy_reset',
354
  'dummy_id' => 'file_name_exists',
355
  'label' => __( 'A file with this name has already been uploaded', 'happyforms' ),
356
  ),
 
357
  4126 => array(
358
  'type' => 'text_dummy_reset',
359
  'dummy_id' => 'uploaded_few_files',
364
  'dummy_id' => 'price_too_low',
365
  'label' => __( 'Price is too low', 'happyforms' ),
366
  ),
367
+ 6101 => array(
368
+ 'type' => 'text_dummy_reset',
369
+ 'dummy_id' => 'phone_field_country_code_label',
370
+ 'label' => __( 'Phone field country code label', 'happyforms' ),
371
+ ),
372
+ 6102 => array(
373
+ 'type' => 'text_dummy_reset',
374
+ 'dummy_id' => 'phone_field_number_label',
375
+ 'label' => __( 'Phone field number label', 'happyforms' ),
376
+ ),
377
  6121 => array(
378
  'type' => 'text_dummy_reset',
379
  'dummy_id' => 'total_files_uploaded',
380
  'label' => __( 'Total files uploaded', 'happyforms' ),
381
  ),
 
382
  6136 => array(
383
  'type' => 'text_dummy_reset',
384
  'dummy_id' => 'payment_method',
385
  'label' => __( 'Payment method', 'happyforms' ),
386
  ),
 
387
  6137 => array(
388
  'type' => 'text_dummy_reset',
389
  'dummy_id' => 'pay_what_you_want',
390
  'label' => __( 'Pay what you want', 'happyforms' ),
391
  ),
 
392
  6141 => array(
393
  'type' => 'text_dummy_reset',
394
  'dummy_id' => 'submitter_redirected_paypal',
395
  'label' => __( 'Submitter will be redirected to PayPal', 'happyforms' ),
396
  ),
397
+ 6142 => array(
398
+ 'type' => 'text_dummy_reset',
399
+ 'dummy_id' => 'paypal_payment',
400
+ 'label' => __( 'PayPal payment', 'happyforms' ),
401
+ ),
402
  6171 => array(
403
  'type' => 'text_dummy_reset',
404
  'dummy_id' => 'stripe_processing_payment',
405
  'label' => __( 'Stripe is processing payment', 'happyforms' ),
406
  ),
 
407
  6172 => array(
408
  'type' => 'text_dummy_reset',
409
  'dummy_id' => 'stripe_payment',
410
  'label' => __( 'Stripe payment', 'happyforms' ),
411
  ),
 
412
  6173 => array(
413
  'type' => 'text_dummy_reset',
414
+ 'dummy_id' => 'stripe_card_field',
415
+ 'label' => __( 'Stripe card field', 'happyforms' ),
416
  ),
 
417
  6174 => array(
418
  'type' => 'text_dummy_reset',
419
+ 'dummy_id' => 'card_number',
420
+ 'label' => __( 'Card number', 'happyforms' ),
421
  ),
 
422
  6175 => array(
423
  'type' => 'text_dummy_reset',
424
+ 'dummy_id' => 'card_expiration',
425
+ 'label' => __( 'Card expiration', 'happyforms' ),
426
  ),
 
427
  6176 => array(
428
  'type' => 'text_dummy_reset',
429
  'dummy_id' => 'card_security_code',
430
  'label' => __( 'Card security code', 'happyforms' ),
431
  ),
 
432
  6177 => array(
 
 
 
 
 
 
433
  'type' => 'text_dummy_reset',
434
  'dummy_id' => 'coupon_field_label',
435
  'label' => __( 'Coupon field label', 'happyforms' ),
436
  ),
437
+ 6178 => array(
 
438
  'type' => 'text_dummy_reset',
439
  'dummy_id' => 'apply_coupon_label',
440
  'label' => __( 'Apply coupon button label', 'happyforms' ),
441
  ),
 
442
  6241 => array(
443
  'type' => 'text_dummy_reset',
444
  'dummy_id' => 'current_page',
languages/happyforms.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Happyforms (free) 1.20.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-11-07T09:32:23+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: happyforms\n"
@@ -2984,179 +2984,187 @@ msgstr ""
2984
  msgid "Form redirected after submission"
2985
  msgstr ""
2986
 
2987
- #: inc/classes/class-happyforms.php:221
2988
  msgid "Form has reached its reply limit"
2989
  msgstr ""
2990
 
2991
- #: inc/classes/class-happyforms.php:227
2992
  msgid "Submitter has returned to a draft"
2993
  msgstr ""
2994
 
2995
- #: inc/classes/class-happyforms.php:233
2996
  msgid "Submitter is viewing review page"
2997
  msgstr ""
2998
 
2999
- #: inc/classes/class-happyforms.php:239
3000
  msgid "Payment completed"
3001
  msgstr ""
3002
 
3003
- #: inc/classes/class-happyforms.php:245
3004
  msgid "Payment failed"
3005
  msgstr ""
3006
 
3007
- #: inc/classes/class-happyforms.php:251
3008
  msgid "Payment cancelled"
3009
  msgstr ""
3010
 
3011
- #: inc/classes/class-happyforms.php:257
3012
  msgid "Previous page"
3013
  msgstr ""
3014
 
3015
- #: inc/classes/class-happyforms.php:263
3016
  msgid "Redirect to page"
3017
  msgstr ""
3018
 
3019
- #: inc/classes/class-happyforms.php:269
3020
  msgid "Print user submission"
3021
  msgstr ""
3022
 
3023
- #: inc/classes/class-happyforms.php:275
3024
  msgid "Edit reply"
3025
  msgstr ""
3026
 
3027
- #: inc/classes/class-happyforms.php:281
3028
  msgid "Clear saved draft reply"
3029
  msgstr ""
3030
 
3031
- #: inc/classes/class-happyforms.php:287
3032
  msgid "Save draft reply"
3033
  msgstr ""
3034
 
3035
- #: inc/classes/class-happyforms.php:293
3036
  msgid "Upload files"
3037
  msgstr ""
3038
 
3039
- #: inc/classes/class-happyforms.php:299
3040
  msgid "Remove uploaded file"
3041
  msgstr ""
3042
 
3043
- #: inc/classes/class-happyforms.php:305
3044
  msgid "Review reply"
3045
  msgstr ""
3046
 
3047
- #: inc/classes/class-happyforms.php:311
3048
  msgid "Start drawing signature"
3049
  msgstr ""
3050
 
3051
- #: inc/classes/class-happyforms.php:317
3052
  msgid "Start over drawing signature"
3053
  msgstr ""
3054
 
3055
- #: inc/classes/class-happyforms.php:323
3056
  msgid "Clear drawn signature"
3057
  msgstr ""
3058
 
3059
- #: inc/classes/class-happyforms.php:329
3060
  msgid "Done drawing signature"
3061
  msgstr ""
3062
 
3063
- #: inc/classes/class-happyforms.php:335
3064
  msgid "Field answer reached its limit"
3065
  msgstr ""
3066
 
3067
- #: inc/classes/class-happyforms.php:341
3068
  msgid "Coupon code invalid"
3069
  msgstr ""
3070
 
3071
- #: inc/classes/class-happyforms.php:347
3072
  msgid "Required file isn't uploaded"
3073
  msgstr ""
3074
 
3075
- #: inc/classes/class-happyforms.php:353
3076
  msgid "Required terms haven't been scrolled"
3077
  msgstr ""
3078
 
3079
- #: inc/classes/class-happyforms.php:359
3080
  msgid "Field contains disallowed word"
3081
  msgstr ""
3082
 
3083
- #: inc/classes/class-happyforms.php:365
3084
  msgid "Disallowed IP address or browser"
3085
  msgstr ""
3086
 
3087
- #: inc/classes/class-happyforms.php:371
3088
  msgid "This file's size is too big"
3089
  msgstr ""
3090
 
3091
- #: inc/classes/class-happyforms.php:377
3092
  msgid "This file's type not allowed"
3093
  msgstr ""
3094
 
3095
- #: inc/classes/class-happyforms.php:383
3096
  msgid "A file with this name has already been uploaded"
3097
  msgstr ""
3098
 
3099
- #: inc/classes/class-happyforms.php:389
3100
  msgid "User uploaded too few files"
3101
  msgstr ""
3102
 
3103
- #: inc/classes/class-happyforms.php:394
3104
  msgid "Price is too low"
3105
  msgstr ""
3106
 
3107
- #: inc/classes/class-happyforms.php:400
 
 
 
 
 
 
 
 
3108
  msgid "Total files uploaded"
3109
  msgstr ""
3110
 
3111
- #: inc/classes/class-happyforms.php:406
3112
  msgid "Payment method"
3113
  msgstr ""
3114
 
3115
- #: inc/classes/class-happyforms.php:412
3116
  msgid "Pay what you want"
3117
  msgstr ""
3118
 
3119
- #: inc/classes/class-happyforms.php:418
3120
  msgid "Submitter will be redirected to PayPal"
3121
  msgstr ""
3122
 
3123
- #: inc/classes/class-happyforms.php:424
 
 
 
 
3124
  msgid "Stripe is processing payment"
3125
  msgstr ""
3126
 
3127
- #: inc/classes/class-happyforms.php:430
3128
  msgid "Stripe payment"
3129
  msgstr ""
3130
 
3131
- #: inc/classes/class-happyforms.php:436
3132
- msgid "Card number"
3133
  msgstr ""
3134
 
3135
- #: inc/classes/class-happyforms.php:442
3136
- msgid "Card expiration"
3137
  msgstr ""
3138
 
3139
- #: inc/classes/class-happyforms.php:448
3140
- msgid "Card expiration hint"
3141
  msgstr ""
3142
 
3143
- #: inc/classes/class-happyforms.php:454
3144
  msgid "Card security code"
3145
  msgstr ""
3146
 
3147
- #: inc/classes/class-happyforms.php:460
3148
- msgid "Card security code hint"
3149
- msgstr ""
3150
-
3151
- #: inc/classes/class-happyforms.php:466
3152
  msgid "Coupon field label"
3153
  msgstr ""
3154
 
3155
- #: inc/classes/class-happyforms.php:472
3156
  msgid "Apply coupon button label"
3157
  msgstr ""
3158
 
3159
- #: inc/classes/class-happyforms.php:478
3160
  msgid "Current page"
3161
  msgstr ""
3162
 
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Happyforms (free) 1.20.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-11-08T10:01:51+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: happyforms\n"
2984
  msgid "Form redirected after submission"
2985
  msgstr ""
2986
 
2987
+ #: inc/classes/class-happyforms.php:220
2988
  msgid "Form has reached its reply limit"
2989
  msgstr ""
2990
 
2991
+ #: inc/classes/class-happyforms.php:225
2992
  msgid "Submitter has returned to a draft"
2993
  msgstr ""
2994
 
2995
+ #: inc/classes/class-happyforms.php:230
2996
  msgid "Submitter is viewing review page"
2997
  msgstr ""
2998
 
2999
+ #: inc/classes/class-happyforms.php:235
3000
  msgid "Payment completed"
3001
  msgstr ""
3002
 
3003
+ #: inc/classes/class-happyforms.php:240
3004
  msgid "Payment failed"
3005
  msgstr ""
3006
 
3007
+ #: inc/classes/class-happyforms.php:245
3008
  msgid "Payment cancelled"
3009
  msgstr ""
3010
 
3011
+ #: inc/classes/class-happyforms.php:250
3012
  msgid "Previous page"
3013
  msgstr ""
3014
 
3015
+ #: inc/classes/class-happyforms.php:255
3016
  msgid "Redirect to page"
3017
  msgstr ""
3018
 
3019
+ #: inc/classes/class-happyforms.php:260
3020
  msgid "Print user submission"
3021
  msgstr ""
3022
 
3023
+ #: inc/classes/class-happyforms.php:265
3024
  msgid "Edit reply"
3025
  msgstr ""
3026
 
3027
+ #: inc/classes/class-happyforms.php:270
3028
  msgid "Clear saved draft reply"
3029
  msgstr ""
3030
 
3031
+ #: inc/classes/class-happyforms.php:275
3032
  msgid "Save draft reply"
3033
  msgstr ""
3034
 
3035
+ #: inc/classes/class-happyforms.php:280
3036
  msgid "Upload files"
3037
  msgstr ""
3038
 
3039
+ #: inc/classes/class-happyforms.php:285
3040
  msgid "Remove uploaded file"
3041
  msgstr ""
3042
 
3043
+ #: inc/classes/class-happyforms.php:290
3044
  msgid "Review reply"
3045
  msgstr ""
3046
 
3047
+ #: inc/classes/class-happyforms.php:295
3048
  msgid "Start drawing signature"
3049
  msgstr ""
3050
 
3051
+ #: inc/classes/class-happyforms.php:300
3052
  msgid "Start over drawing signature"
3053
  msgstr ""
3054
 
3055
+ #: inc/classes/class-happyforms.php:305
3056
  msgid "Clear drawn signature"
3057
  msgstr ""
3058
 
3059
+ #: inc/classes/class-happyforms.php:310
3060
  msgid "Done drawing signature"
3061
  msgstr ""
3062
 
3063
+ #: inc/classes/class-happyforms.php:315
3064
  msgid "Field answer reached its limit"
3065
  msgstr ""
3066
 
3067
+ #: inc/classes/class-happyforms.php:320
3068
  msgid "Coupon code invalid"
3069
  msgstr ""
3070
 
3071
+ #: inc/classes/class-happyforms.php:325
3072
  msgid "Required file isn't uploaded"
3073
  msgstr ""
3074
 
3075
+ #: inc/classes/class-happyforms.php:330
3076
  msgid "Required terms haven't been scrolled"
3077
  msgstr ""
3078
 
3079
+ #: inc/classes/class-happyforms.php:335
3080
  msgid "Field contains disallowed word"
3081
  msgstr ""
3082
 
3083
+ #: inc/classes/class-happyforms.php:340
3084
  msgid "Disallowed IP address or browser"
3085
  msgstr ""
3086
 
3087
+ #: inc/classes/class-happyforms.php:345
3088
  msgid "This file's size is too big"
3089
  msgstr ""
3090
 
3091
+ #: inc/classes/class-happyforms.php:350
3092
  msgid "This file's type not allowed"
3093
  msgstr ""
3094
 
3095
+ #: inc/classes/class-happyforms.php:355
3096
  msgid "A file with this name has already been uploaded"
3097
  msgstr ""
3098
 
3099
+ #: inc/classes/class-happyforms.php:360
3100
  msgid "User uploaded too few files"
3101
  msgstr ""
3102
 
3103
+ #: inc/classes/class-happyforms.php:365
3104
  msgid "Price is too low"
3105
  msgstr ""
3106
 
3107
+ #: inc/classes/class-happyforms.php:370
3108
+ msgid "Phone field country code label"
3109
+ msgstr ""
3110
+
3111
+ #: inc/classes/class-happyforms.php:375
3112
+ msgid "Phone field number label"
3113
+ msgstr ""
3114
+
3115
+ #: inc/classes/class-happyforms.php:380
3116
  msgid "Total files uploaded"
3117
  msgstr ""
3118
 
3119
+ #: inc/classes/class-happyforms.php:385
3120
  msgid "Payment method"
3121
  msgstr ""
3122
 
3123
+ #: inc/classes/class-happyforms.php:390
3124
  msgid "Pay what you want"
3125
  msgstr ""
3126
 
3127
+ #: inc/classes/class-happyforms.php:395
3128
  msgid "Submitter will be redirected to PayPal"
3129
  msgstr ""
3130
 
3131
+ #: inc/classes/class-happyforms.php:400
3132
+ msgid "PayPal payment"
3133
+ msgstr ""
3134
+
3135
+ #: inc/classes/class-happyforms.php:405
3136
  msgid "Stripe is processing payment"
3137
  msgstr ""
3138
 
3139
+ #: inc/classes/class-happyforms.php:410
3140
  msgid "Stripe payment"
3141
  msgstr ""
3142
 
3143
+ #: inc/classes/class-happyforms.php:415
3144
+ msgid "Stripe card field"
3145
  msgstr ""
3146
 
3147
+ #: inc/classes/class-happyforms.php:420
3148
+ msgid "Card number"
3149
  msgstr ""
3150
 
3151
+ #: inc/classes/class-happyforms.php:425
3152
+ msgid "Card expiration"
3153
  msgstr ""
3154
 
3155
+ #: inc/classes/class-happyforms.php:430
3156
  msgid "Card security code"
3157
  msgstr ""
3158
 
3159
+ #: inc/classes/class-happyforms.php:435
 
 
 
 
3160
  msgid "Coupon field label"
3161
  msgstr ""
3162
 
3163
+ #: inc/classes/class-happyforms.php:440
3164
  msgid "Apply coupon button label"
3165
  msgstr ""
3166
 
3167
+ #: inc/classes/class-happyforms.php:445
3168
  msgid "Current page"
3169
  msgstr ""
3170
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact form, contact form plugin, forms, form builder, custom form, intak
5
  Requires at least: 5.0
6
  Tested up to: 6.1
7
  Requires PHP: 7.0
8
- Stable tag: 1.20.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -160,6 +160,12 @@ And so you know, we don't outsource support. You can expect plain-talkin' help f
160
 
161
  == Changelog ==
162
 
 
 
 
 
 
 
163
  = November 7, 2022 =
164
 
165
  Version 1.20.1 changelog:
@@ -1473,6 +1479,9 @@ Version 1.0.0 changelog:
1473
 
1474
  == Upgrade Notice ==
1475
 
 
 
 
1476
  = 1.20.1 =
1477
  * Restored missing fields in builder's Messages tab.
1478
 
5
  Requires at least: 5.0
6
  Tested up to: 6.1
7
  Requires PHP: 7.0
8
+ Stable tag: 1.20.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
160
 
161
  == Changelog ==
162
 
163
+ = November 8, 2022 =
164
+
165
+ Version 1.20.2 changelog:
166
+
167
+ * Fixed: "Submit form" control in Messages tab wasn't triggering realtime preview updates.
168
+
169
  = November 7, 2022 =
170
 
171
  Version 1.20.1 changelog:
1479
 
1480
  == Upgrade Notice ==
1481
 
1482
+ = 1.20.2 =
1483
+ * Fixed Messages tab's "Submit form" control realtime preview updates.
1484
+
1485
  = 1.20.1 =
1486
  * Restored missing fields in builder's Messages tab.
1487