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

Version Description

  • Improvement: Style tab "Additional CSS" section now triggers real-time updates.
  • Improvement: Better keyboard navigation in dropdown-based fields.
  • Improvement: New control allows for setting a label for required fields.
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.5
Comparing to
See all releases

Code changes from version 1.12.4 to 1.12.5

core/assets/css/admin.css CHANGED
@@ -129,81 +129,6 @@ p.happyforms-message-nav span.divider:last-child {
129
  padding: 5px 7px;
130
  margin: 0 1px;
131
  }
132
- /**
133
- *
134
- * Tracking page
135
- *
136
- */
137
- .happyforms-welcome-panel {
138
- display: flex;
139
- margin: 0;
140
- padding: 0;
141
- box-sizing: border-box;
142
- position: relative;
143
- border: none;
144
- box-shadow: none;
145
- background: transparent;
146
- }
147
-
148
- .happyforms-welcome-panel .welcome-panel-content {
149
- margin: 0;
150
- padding-bottom: 5px;
151
- }
152
-
153
- .happyforms-welcome-panel .welcome-panel-content form {
154
- max-width: 460px;
155
- }
156
-
157
- .happyforms-welcome-panel p.description,
158
- .happyforms_page_ttf-updates-happyforms p.description {
159
- margin: 7px 0 15px;
160
- font-style: normal;
161
- }
162
-
163
- .happyforms-welcome-panel .welcome-panel-content input[type="email"],
164
- .happyforms-welcome-panel .welcome-panel-content input[type="password"],
165
- .happyforms-welcome-panel .welcome-panel-content input[type="text"] {
166
- width: 96%;
167
- padding: 8px;
168
- margin-bottom: 15px;
169
- }
170
-
171
- .happyforms-welcome-panel .welcome-panel-content .button.button-hero {
172
- margin: 0;
173
- }
174
-
175
- .happyforms-welcome-panel .welcome-panel-content .button-hero {
176
- text-align: center;
177
- }
178
-
179
- .happyforms-welcome-panel .welcome-panel-content .button-hero.button-block {
180
- width: 96%;
181
- }
182
-
183
- .happyforms-welcome-panel .welcome-panel-content .button.button-hero svg {
184
- height: 12px;
185
- vertical-align: middle;
186
- }
187
-
188
- .happyforms-welcome-panel .welcome-panel-content .button.button-hero svg,
189
- form.happyforms-updater-credentials .button.button-hero svg {
190
- -webkit-filter: drop-shadow(0 0 2px #006799);
191
- filter: drop-shadow(0 0 2px #006799);
192
- }
193
-
194
- p.welcome-panel-footer {
195
- max-width: 760px;
196
- color: #72777c;
197
- }
198
-
199
- p.welcome-panel-footer a {
200
- color: inherit;
201
- }
202
-
203
- p.welcome-panel-footer a:hover,
204
- p.welcome-panel-footer a:active {
205
- color: #0073aa;
206
- }
207
 
208
  #available-widgets div[id*='widget-tpl-happyforms_widget-'] .widget-title:before {
209
  content: '\f175';
@@ -260,3 +185,142 @@ p.welcome-panel-footer a:active {
260
  .post-type-happyforms-message input[type="number"] {
261
  padding-right: 0;
262
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  padding: 5px 7px;
130
  margin: 0 1px;
131
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
 
133
  #available-widgets div[id*='widget-tpl-happyforms_widget-'] .widget-title:before {
134
  content: '\f175';
185
  .post-type-happyforms-message input[type="number"] {
186
  padding-right: 0;
187
  }
188
+
189
+ /**
190
+ *
191
+ * Dashboard modals
192
+ *
193
+ */
194
+ @keyframes happyforms-modal__fade-in-animation {
195
+ from {
196
+ opacity: 0;
197
+ }
198
+ to {
199
+ opacity: 1;
200
+ }
201
+ }
202
+
203
+ @keyframes happyforms-modal__appear-animation {
204
+ from {
205
+ margin-top: 32px;
206
+ }
207
+ to {
208
+ margin-top: 0;
209
+ }
210
+ }
211
+
212
+ .happyforms-modal__overlay {
213
+ position: fixed;
214
+ top: 0;
215
+ bottom: 0;
216
+ left: 0;
217
+ right: 0;
218
+ display: flex;
219
+ justify-content: center;
220
+ align-items: center;
221
+ background-color: rgba(0, 0, 0, 0.35);
222
+ z-index: 100000;
223
+ animation: happyforms-modal__fade-in-animation 0.2s ease-out 0s;
224
+ animation-fill-mode: forwards;
225
+ }
226
+
227
+ .happyforms-modal__frame {
228
+ position: relative;
229
+ box-sizing: border-box;
230
+ background: #fff;
231
+ width: 450px;
232
+ max-height: 90vh;
233
+ overflow: auto;
234
+ animation: happyforms-modal__appear-animation 0.1s ease-out;
235
+ animation-fill-mode: forwards;
236
+ box-shadow: 0 3px 30px rgb(0 0 0 / 20%);
237
+ }
238
+
239
+ @media screen and (max-width: 800px) {
240
+ .happyforms-modal__frame {
241
+ width: auto;
242
+ margin: 20px;
243
+ }
244
+ }
245
+
246
+ .happyforms-modal__header {
247
+ position: sticky;
248
+ top: 0;
249
+ left: 0;
250
+ right: 0;
251
+ }
252
+
253
+ .happyforms-modal__dismiss {
254
+ position: absolute;
255
+ top: 0;
256
+ right: 0;
257
+ display: inline-flex;
258
+ justify-content: center;
259
+ height: 36px;
260
+ min-width: 36px;
261
+ margin: 8px;
262
+ padding: 6px;
263
+ border: 0;
264
+ cursor: pointer;
265
+ -webkit-appearance: none;
266
+ background: none;
267
+ transition: box-shadow 0.1s linear;
268
+ border-radius: 2px;
269
+ }
270
+
271
+ .happyforms-modal__dismiss:focus {
272
+ box-shadow: 0 0 0 2px #007cba;
273
+ outline: 3px solid transparent;
274
+ }
275
+
276
+ .happyforms-modal__dismiss:hover svg {
277
+ fill: #2271b1;
278
+ }
279
+
280
+ .happyforms-modal__body {
281
+ padding: 40px 50px 50px;
282
+ }
283
+
284
+ @media screen and (max-width: 800px) {
285
+ .happyforms-modal__body {
286
+ padding: 30px 30px 40px;
287
+ }
288
+ }
289
+
290
+ .happyforms-modal__heading {
291
+ padding-bottom: 30px;
292
+ }
293
+
294
+ .happyforms-modal__heading h1 {
295
+ font-size: 24px;
296
+ line-height: 1.4;
297
+ margin: 0 0 16px;
298
+ }
299
+
300
+ .happyforms-modal__heading p {
301
+ margin: 0;
302
+ }
303
+
304
+ .happyforms-modal__content form {
305
+ display: flex;
306
+ flex-direction: column;
307
+ width: 100%;
308
+ }
309
+
310
+ .happyforms-modal__content form label,
311
+ .happyforms-modal__content form input {
312
+ flex: 1;
313
+ }
314
+
315
+ .happyforms-modal__content form label {
316
+ line-height: 13px;
317
+ margin: 20px 0 5px;
318
+ }
319
+
320
+ .happyforms-modal__content form label:first-child {
321
+ margin-top: 0;
322
+ }
323
+
324
+ .happyforms-modal__content form button.button-primary {
325
+ margin-top: 30px;
326
+ }
core/assets/css/customize.css CHANGED
@@ -588,6 +588,7 @@ a.happyforms-form-part-remove:hover {
588
  .has-min-limit-choices #messages-view-errors,
589
  .has-field #messages-view-errors,
590
  .has-optional-field #messages-view-hints,
 
591
  .has-select #messages-view-hints,
592
  .has-min-chars-label #messages-view-hints,
593
  .has-max-chars-label #messages-view-hints,
@@ -598,9 +599,10 @@ a.happyforms-form-part-remove:hover {
598
 
599
  #customize-control-submit_button_label,
600
  .has-field #customize-control-field_invalid,
601
- .has-required-fields #customize-control-field_empty,
602
  .has-required-selection-fields #customize-control-no_selection,
603
  .has-optional-field #customize-control-optional_part_label,
 
604
  .has-min-limit-choices #customize-control-select_more_choices,
605
  .has-max-limit-choices #customize-control-select_less_choices,
606
  .is-show-success-msg #customize-control-confirmation_message,
588
  .has-min-limit-choices #messages-view-errors,
589
  .has-field #messages-view-errors,
590
  .has-optional-field #messages-view-hints,
591
+ .has-required-field #messages-view-hints,
592
  .has-select #messages-view-hints,
593
  .has-min-chars-label #messages-view-hints,
594
  .has-max-chars-label #messages-view-hints,
599
 
600
  #customize-control-submit_button_label,
601
  .has-field #customize-control-field_invalid,
602
+ .has-required-text-fields #customize-control-field_empty,
603
  .has-required-selection-fields #customize-control-no_selection,
604
  .has-optional-field #customize-control-optional_part_label,
605
+ .has-required-field #customize-control-required_field_label,
606
  .has-min-limit-choices #customize-control-select_more_choices,
607
  .has-max-limit-choices #customize-control-select_less_choices,
608
  .is-show-success-msg #customize-control-confirmation_message,
core/assets/css/layout.css CHANGED
@@ -202,7 +202,8 @@ h3.happyforms-form__title {
202
  }
203
 
204
  .happyforms-part__label .label,
205
- .happyforms-part__label .happyforms-optional {
 
206
  padding: 0;
207
  white-space: normal;
208
  }
@@ -211,6 +212,14 @@ h3.happyforms-form__title {
211
  display: none;
212
  }
213
 
 
 
 
 
 
 
 
 
214
  .happyforms-part__description {
215
  display: block;
216
  margin: 5px 0 0;
202
  }
203
 
204
  .happyforms-part__label .label,
205
+ .happyforms-part__label .happyforms-optional,
206
+ .happyforms-part__label .happyforms-required {
207
  padding: 0;
208
  white-space: normal;
209
  }
212
  display: none;
213
  }
214
 
215
+ .happyforms-form__part .happyforms-part__label .happyforms-required {
216
+ display: none;
217
+ }
218
+
219
+ .happyforms-form__part[data-happyforms-required] .happyforms-part__label .happyforms-required {
220
+ display: inline-block;
221
+ }
222
+
223
  .happyforms-part__description {
224
  display: block;
225
  margin: 5px 0 0;
core/assets/js/admin/dashboard.js CHANGED
@@ -8,6 +8,7 @@
8
  $( document ).on( 'click', '.happyforms-editor-button', this.onEditorButton.bind( this ) );
9
  $( '.happyforms-dialog__button' ).on( 'click', this.onDialogButton.bind( this ) );
10
  $( '.happyforms-notice:not(.one-time)' ).on( 'click', '.notice-dismiss', this.onNoticeDismiss.bind( this ) );
 
11
  },
12
 
13
  onEditorButton: function( e ) {
@@ -82,6 +83,39 @@
82
  }
83
  );
84
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  };
86
 
87
  $( function() {
8
  $( document ).on( 'click', '.happyforms-editor-button', this.onEditorButton.bind( this ) );
9
  $( '.happyforms-dialog__button' ).on( 'click', this.onDialogButton.bind( this ) );
10
  $( '.happyforms-notice:not(.one-time)' ).on( 'click', '.notice-dismiss', this.onNoticeDismiss.bind( this ) );
11
+ $( document ).on( 'click', '.happyforms-modal__frame', this.lockModalEvent );
12
  },
13
 
14
  onEditorButton: function( e ) {
83
  }
84
  );
85
  },
86
+
87
+ openModal: function( id ) {
88
+ var self = this;
89
+
90
+ $.get( ajaxurl, {
91
+ action: settings.actionModalFetch,
92
+ id: id,
93
+ }, function( html ) {
94
+ $( 'body' ).addClass( 'modal-open' );
95
+ $( 'body' ).append( html );
96
+
97
+ $( document ).one( 'click', '.happyforms-modal__overlay', self.closeModal );
98
+ $( document ).one( 'click', '.happyforms-modal__dismiss', self.closeModal );
99
+ } );
100
+ },
101
+
102
+ closeModal: function() {
103
+ if ( $( '[data-happyforms-modal-dismissible]' ).length ) {
104
+ var id = $( '[data-happyforms-modal-id]' ).attr( 'data-happyforms-modal-id' );
105
+
106
+ $.post( ajaxurl, {
107
+ action: settings.actionModalDismiss,
108
+ id: id,
109
+ } );
110
+ }
111
+
112
+ $( '.happyforms-modal__overlay' ).remove();
113
+ $( 'body' ).removeClass( 'modal-open' );
114
+ },
115
+
116
+ lockModalEvent: function( e ) {
117
+ e.stopPropagation();
118
+ },
119
  };
120
 
121
  $( function() {
core/assets/js/lib/happyforms-select.js CHANGED
@@ -48,6 +48,7 @@
48
  }
49
 
50
  this.$el.on( 'keyup keypress', this.handleKeyUp.bind( this ) );
 
51
  this.$el.on( 'focus', this.handleFocus.bind( this ) );
52
  this.$el.on( 'blur', this.handleBlur.bind( this ) );
53
  this.$select.on( 'click', 'li', this.onItemSelect.bind( this ) );
@@ -69,11 +70,15 @@
69
 
70
  HappyFormsSelect.prototype.handleFocus = function( e ) {
71
  this.keepFocus = true;
 
 
 
72
 
73
  if ( 'autocomplete' !== this.searchable ) {
74
  this.hideAllInstances();
75
- this.toggleDropdown();
76
  }
 
 
77
  }
78
 
79
  HappyFormsSelect.prototype.handleBlur = function( e ) {
@@ -137,15 +142,35 @@
137
  this.setValue( $li.data('value').toString() );
138
  }
139
  }
 
 
 
 
 
 
 
 
 
 
140
 
141
  HappyFormsSelect.prototype.handleKeyUp = function( e ) {
142
- e.stopPropagation();
143
-
144
  switch ( e.keyCode ) {
 
 
 
 
145
  case 40:
 
 
 
 
146
  this.navigateOptions( 'down' );
147
  break;
148
  case 38:
 
 
 
 
149
  this.navigateOptions( 'up' );
150
  break;
151
  case 13:
@@ -175,6 +200,10 @@
175
  this.getSuggestions();
176
  } else if ( "true" === this.searchable ) {
177
  this.searchOptions();
 
 
 
 
178
  }
179
  break;
180
  }
@@ -355,6 +384,36 @@
355
  }
356
  }
357
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
358
  HappyFormsSelect.prototype.navigateOptions = function( direction ) {
359
  if ( ! direction ) {
360
  return;
@@ -366,7 +425,7 @@
366
  $currentItem = $( 'li:first', this.$select );
367
  }
368
 
369
- var $prevItem = $currentItem.prev();
370
  var $nextItem = $currentItem.nextAll(':visible').first();
371
 
372
  if ( 'down' === direction ) {
@@ -382,6 +441,8 @@
382
  $currentItem.removeClass( 'active' );
383
  $prevItem.trigger( 'focus' ).addClass( 'active' );
384
  }
 
 
385
  }
386
 
387
  HappyFormsSelect.prototype.clearOptions = function() {
@@ -436,4 +497,4 @@
436
  }
437
  });
438
  }
439
- } )( jQuery );
48
  }
49
 
50
  this.$el.on( 'keyup keypress', this.handleKeyUp.bind( this ) );
51
+ this.$el.on( 'keydown', this.handleKeyDown.bind( this ) );
52
  this.$el.on( 'focus', this.handleFocus.bind( this ) );
53
  this.$el.on( 'blur', this.handleBlur.bind( this ) );
54
  this.$select.on( 'click', 'li', this.onItemSelect.bind( this ) );
70
 
71
  HappyFormsSelect.prototype.handleFocus = function( e ) {
72
  this.keepFocus = true;
73
+ var searchVal = this.$el.val();
74
+
75
+ this.$el.val('');
76
 
77
  if ( 'autocomplete' !== this.searchable ) {
78
  this.hideAllInstances();
 
79
  }
80
+
81
+ this.$el.val( searchVal );
82
  }
83
 
84
  HappyFormsSelect.prototype.handleBlur = function( e ) {
142
  this.setValue( $li.data('value').toString() );
143
  }
144
  }
145
+ HappyFormsSelect.prototype.handleKeyDown = function( e ) {
146
+ switch ( e.keyCode ) {
147
+ case 38:
148
+ case 40:
149
+ e.preventDefault();
150
+ break;
151
+ default:
152
+ break;
153
+ }
154
+ }
155
 
156
  HappyFormsSelect.prototype.handleKeyUp = function( e ) {
 
 
157
  switch ( e.keyCode ) {
158
+ case 27:
159
+ this.keepFocus = false;
160
+ this.hideDropdown();
161
+ break;
162
  case 40:
163
+ if ( ! this.$select.is( ':visible' ) ) {
164
+ this.toggleDropdown();
165
+ }
166
+
167
  this.navigateOptions( 'down' );
168
  break;
169
  case 38:
170
+ if ( ! this.$select.is( ':visible' ) ) {
171
+ this.toggleDropdown();
172
+ }
173
+
174
  this.navigateOptions( 'up' );
175
  break;
176
  case 13:
200
  this.getSuggestions();
201
  } else if ( "true" === this.searchable ) {
202
  this.searchOptions();
203
+ } else {
204
+ if( 'keyup' === e.type ){
205
+ this.gotoOption( e );
206
+ }
207
  }
208
  break;
209
  }
384
  }
385
  }
386
 
387
+ HappyFormsSelect.prototype.gotoOption = function( e ) {
388
+ var inputKey = String.fromCharCode( e.keyCode );
389
+
390
+ var filteredOptions = $( 'li:not( [data-value=""] )', this.$select ).filter( function() {
391
+ var text = this.textContent.toLowerCase();
392
+ return text.charAt(0) === inputKey.toLowerCase();
393
+ });
394
+
395
+ var $currentItem = $( 'li.active', this.$select );
396
+ var setActiveNext = false;
397
+ var filteredLength = filteredOptions.length - 1;
398
+
399
+ $.each( filteredOptions, function( index, li ) {
400
+ if( setActiveNext ){
401
+ $( li ).addClass( 'active' );
402
+ return false;
403
+ }
404
+
405
+ if( filteredLength != index && $( li ).hasClass( 'active' ) ) {
406
+ setActiveNext = true;
407
+ }
408
+ } );
409
+
410
+ $currentItem.removeClass( 'active' );
411
+
412
+ if( ! setActiveNext ) {
413
+ $( filteredOptions[0] ).addClass( 'active' );
414
+ }
415
+ }
416
+
417
  HappyFormsSelect.prototype.navigateOptions = function( direction ) {
418
  if ( ! direction ) {
419
  return;
425
  $currentItem = $( 'li:first', this.$select );
426
  }
427
 
428
+ var $prevItem = $currentItem.prev( ':not( [data-value=""] )' );
429
  var $nextItem = $currentItem.nextAll(':visible').first();
430
 
431
  if ( 'down' === direction ) {
441
  $currentItem.removeClass( 'active' );
442
  $prevItem.trigger( 'focus' ).addClass( 'active' );
443
  }
444
+
445
+ $( 'li.active', this.$select )[0].scrollIntoView( { behavior: 'smooth', block: 'nearest', inline: 'nearest' } );
446
  }
447
 
448
  HappyFormsSelect.prototype.clearOptions = function() {
497
  }
498
  });
499
  }
500
+ } )( jQuery );
core/assets/js/welcome.js DELETED
@@ -1,56 +0,0 @@
1
- ( function( $ ) {
2
- $( function() {
3
- $successTemplate = $( '#happyforms-tracking-success' );
4
- $errorTemplate = $( '#happyforms-tracking-error' );
5
- $content = $( '.happyforms-welcome-panel .welcome-panel-content' );
6
- $footer = $( '.welcome-panel-footer' );
7
- $proceedLink = $( '#happyforms-tracking-proceed' );
8
- $skipLink = $( '#happyforms-tracking-skip' );
9
- $email = $( 'input[type="email"]' );
10
-
11
- $email.trigger( 'focus' );
12
-
13
- $( '#happyforms-tracking' ).on( 'submit', function( e ) {
14
- e.preventDefault();
15
-
16
- var $this = $( this );
17
-
18
- $.post(
19
- $this.attr( 'action' ),
20
- $this.serialize(),
21
-
22
- function( data ) {
23
- if ( 400 === data.Status ) {
24
- $content.html( $errorTemplate.html() );
25
- } else {
26
- $content.html( $successTemplate.html() );
27
- $footer.hide();
28
-
29
- $.post( ajaxurl, {
30
- action: 'happyforms_update_tracking',
31
- status: 3,
32
- email: $email.val(),
33
- } );
34
- }
35
- } );
36
- } );
37
-
38
- function proceed( e ) {
39
- e.preventDefault();
40
-
41
- url = $( this ).attr( 'href' );
42
-
43
- $.post( ajaxurl, {
44
- action: 'happyforms_update_tracking',
45
- status: 4,
46
- }, function() {
47
- window.location.href = url;
48
- } );
49
- }
50
-
51
- $proceedLink.click( proceed );
52
- $skipLink.click( proceed );
53
- $email.trigger( 'focus' );
54
-
55
- } );
56
- } )( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/classes/class-dashboard-modals.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Dashboard_Modals {
4
+
5
+ private static $instance;
6
+
7
+ private $modals = array();
8
+
9
+ public $fetch_action = 'happyforms-modal-fetch';
10
+ public $dismiss_action = 'happyforms-modal-dismiss';
11
+
12
+ public static function instance() {
13
+ if ( is_null( self::$instance ) ) {
14
+ self::$instance = new self();
15
+ }
16
+
17
+ self::$instance->hook();
18
+
19
+ return self::$instance;
20
+ }
21
+
22
+ public function hook() {
23
+ add_action( "wp_ajax_{$this->fetch_action}", [ $this, 'fetch_modal' ] );
24
+ add_action( "wp_ajax_{$this->dismiss_action}", [ $this, 'dismiss_modal' ] );
25
+ }
26
+
27
+ public function get_modal_defaults() {
28
+ $defaults = array(
29
+ 'classes' => '',
30
+ 'dismissible' => false,
31
+ );
32
+
33
+ return $defaults;
34
+ }
35
+
36
+ public function register_modal( $id, $callback, $settings = array() ) {
37
+ if ( $this->is_dismissed( $id ) ) {
38
+ return;
39
+ }
40
+
41
+ $settings = wp_parse_args( $settings, $this->get_modal_defaults() );
42
+
43
+ $this->modals[$id] = [ $callback, $settings ];
44
+ }
45
+
46
+ public function fetch_modal() {
47
+ if ( ! isset( $_GET['id'] ) ) {
48
+ die( '' );
49
+ }
50
+
51
+ $id = $_GET['id'];
52
+
53
+ if ( ! isset( $this->modals[$id] ) ) {
54
+ die( '' );
55
+ }
56
+
57
+ list( $callback, $settings ) = $this->modals[$id];
58
+
59
+ require( happyforms_get_core_folder() . '/templates/partials/admin-modal-header.php' );
60
+ call_user_func( $callback );
61
+ require( happyforms_get_core_folder() . '/templates/partials/admin-modal-footer.php' );
62
+
63
+ die();
64
+ }
65
+
66
+ public function dismiss_modal() {
67
+ if ( ! isset( $_POST['id'] ) ) {
68
+ die( '' );
69
+ }
70
+
71
+ $id = $_POST['id'];
72
+
73
+ if ( ! isset( $this->modals[$id] ) ) {
74
+ die( '' );
75
+ }
76
+
77
+ if ( ! $this->is_dismissible( $id ) ) {
78
+ die( '' );
79
+ }
80
+
81
+ update_option( "happyforms_modal_dismissed_{$id}", true );
82
+
83
+ do_action( 'happyforms_modal_dismissed', $id );
84
+
85
+ die( '' );
86
+ }
87
+
88
+ public function is_dismissible( $id ) {
89
+ list( $callback, $settings ) = $this->modals[$id];
90
+ $dismissible = isset( $settings['dismissible'] ) ? $settings['dismissible'] : false;
91
+
92
+ return $dismissible;
93
+ }
94
+
95
+ public function is_dismissed( $id ) {
96
+ return get_option( "happyforms_modal_dismissed_{$id}", false );
97
+ }
98
+
99
+ }
100
+
101
+ if ( ! function_exists( 'happyforms_get_dashboard_modals' ) ):
102
+
103
+ function happyforms_get_dashboard_modals() {
104
+ return HappyForms_Dashboard_Modals::instance();
105
+ }
106
+
107
+ endif;
108
+
109
+ happyforms_get_dashboard_modals();
core/classes/class-form-messages.php CHANGED
@@ -56,6 +56,14 @@ class HappyForms_Form_Messages {
56
  'default' => __( 'Oops. This number is too big.', 'happyforms' ),
57
  'sanitize' => 'sanitize_text_field',
58
  ),
 
 
 
 
 
 
 
 
59
  );
60
 
61
  $fields = apply_filters( 'happyforms_messages_fields', $fields );
@@ -71,7 +79,7 @@ class HappyForms_Form_Messages {
71
  'group_type' => 'group',
72
  'group_id' => 'messages-view-alerts',
73
  'group_title' => __( 'Alerts', 'happyforms' ),
74
- 'group_description' => __( 'These messages are show to respondents at the very top of the form to communicate the form’s status.', 'happyforms' ),
75
  ),
76
  2000 => array (
77
  'type' => 'group_end',
@@ -92,7 +100,7 @@ class HappyForms_Form_Messages {
92
  'group_type' => 'group',
93
  'group_id' => 'messages-view-errors',
94
  'group_title' => __( 'Errors', 'happyforms' ),
95
- 'group_description' => __( 'These messages are show to respondents when they try to submit their reply but one or more fields has a mistake.', 'happyforms' ),
96
  ),
97
  6000 => array (
98
  'type' => 'group_end',
@@ -102,7 +110,7 @@ class HappyForms_Form_Messages {
102
  'group_type' => 'group',
103
  'group_id' => 'messages-view-hints',
104
  'group_title' => __( 'Hints', 'happyforms' ),
105
- 'group_description' => __( 'These messages are show to respondents as they fill our the form to help them avoid mistakes.', 'happyforms' ),
106
  ),
107
  8000 => array (
108
  'type' => 'group_end',
@@ -144,6 +152,16 @@ class HappyForms_Form_Messages {
144
  'label' => __( 'Maximum words', 'happyforms' ),
145
  'field' => 'words_label_max',
146
  ),
 
 
 
 
 
 
 
 
 
 
147
  );
148
 
149
  $controls = apply_filters( 'happyforms_messages_controls', $controls );
@@ -172,6 +190,9 @@ class HappyForms_Form_Messages {
172
 
173
  foreach( $meta_fields as $key => $value ) {
174
  if ( empty( $meta_data[ $key ] ) ) {
 
 
 
175
  $meta_data[ $key ] = $meta_fields[ $key ];
176
  }
177
  }
@@ -209,4 +230,4 @@ function happyforms_get_messages() {
209
 
210
  endif;
211
 
212
- happyforms_get_messages();
56
  'default' => __( 'Oops. This number is too big.', 'happyforms' ),
57
  'sanitize' => 'sanitize_text_field',
58
  ),
59
+ 'optional_part_label' => array(
60
+ 'default' => __( '(optional)', 'happyforms' ),
61
+ 'sanitize' => 'sanitize_text_field',
62
+ ),
63
+ 'required_field_label' => array(
64
+ 'default' => __( '', 'happyforms' ),
65
+ 'sanitize' => 'sanitize_text_field'
66
+ ),
67
  );
68
 
69
  $fields = apply_filters( 'happyforms_messages_fields', $fields );
79
  'group_type' => 'group',
80
  'group_id' => 'messages-view-alerts',
81
  'group_title' => __( 'Alerts', 'happyforms' ),
82
+ 'group_description' => __( 'These messages are shown to respondents at the very top of the form to communicate the form’s status.', 'happyforms' ),
83
  ),
84
  2000 => array (
85
  'type' => 'group_end',
100
  'group_type' => 'group',
101
  'group_id' => 'messages-view-errors',
102
  'group_title' => __( 'Errors', 'happyforms' ),
103
+ 'group_description' => __( 'These messages are shown to respondents when they try to submit their reply but one or more fields has a mistake.', 'happyforms' ),
104
  ),
105
  6000 => array (
106
  'type' => 'group_end',
110
  'group_type' => 'group',
111
  'group_id' => 'messages-view-hints',
112
  'group_title' => __( 'Hints', 'happyforms' ),
113
+ 'group_description' => __( 'These messages are shown to respondents as they fill out the form to help them avoid mistakes.', 'happyforms' ),
114
  ),
115
  8000 => array (
116
  'type' => 'group_end',
152
  'label' => __( 'Maximum words', 'happyforms' ),
153
  'field' => 'words_label_max',
154
  ),
155
+ 6010 => array(
156
+ 'type' => 'text',
157
+ 'label' => __( 'Question is optional', 'happyforms' ),
158
+ 'field' => 'optional_part_label',
159
+ ),
160
+ 6011 => array(
161
+ 'type' => 'text',
162
+ 'label' => __( 'Question is required', 'happyforms' ),
163
+ 'field' => 'required_field_label',
164
+ ),
165
  );
166
 
167
  $controls = apply_filters( 'happyforms_messages_controls', $controls );
190
 
191
  foreach( $meta_fields as $key => $value ) {
192
  if ( empty( $meta_data[ $key ] ) ) {
193
+ if ( 'optional_part_label' == $key ) {
194
+ continue;
195
+ }
196
  $meta_data[ $key ] = $meta_fields[ $key ];
197
  }
198
  }
230
 
231
  endif;
232
 
233
+ happyforms_get_messages();
core/classes/class-form-setup.php CHANGED
@@ -75,10 +75,6 @@ class HappyForms_Form_Setup {
75
  'default' => 1,
76
  'sanitize' => 'happyforms_sanitize_checkbox',
77
  ),
78
- 'required_part_label' => array(
79
- 'default' => __( 'This field is required.', 'happyforms' ),
80
- 'sanitize' => 'sanitize_text_field'
81
- ),
82
  'form_expiration_datetime' => array(
83
  'default' => date( 'Y-m-d H:i:s', time() + WEEK_IN_SECONDS ),
84
  'sanitize' => 'happyforms_sanitize_datetime',
@@ -151,10 +147,6 @@ class HappyForms_Form_Setup {
151
  'default' => __( 'Send', 'happyforms' ),
152
  'sanitize' => 'sanitize_text_field',
153
  ),
154
- 'optional_part_label' => array(
155
- 'default' => __( '(optional)', 'happyforms' ),
156
- 'sanitize' => 'sanitize_text_field',
157
- ),
158
  );
159
 
160
  $fields = array_merge( $fields, $messages_fields );
@@ -251,11 +243,6 @@ class HappyForms_Form_Setup {
251
  'label' => __( 'Submit form', 'happyforms' ),
252
  'field' => 'submit_button_label',
253
  );
254
- $controls[6010] = array(
255
- 'type' => 'text',
256
- 'label' => __( 'Question is optional', 'happyforms' ),
257
- 'field' => 'optional_part_label',
258
- );
259
 
260
  return $controls;
261
  }
75
  'default' => 1,
76
  'sanitize' => 'happyforms_sanitize_checkbox',
77
  ),
 
 
 
 
78
  'form_expiration_datetime' => array(
79
  'default' => date( 'Y-m-d H:i:s', time() + WEEK_IN_SECONDS ),
80
  'sanitize' => 'happyforms_sanitize_datetime',
147
  'default' => __( 'Send', 'happyforms' ),
148
  'sanitize' => 'sanitize_text_field',
149
  ),
 
 
 
 
150
  );
151
 
152
  $fields = array_merge( $fields, $messages_fields );
243
  'label' => __( 'Submit form', 'happyforms' ),
244
  'field' => 'submit_button_label',
245
  );
 
 
 
 
 
246
 
247
  return $controls;
248
  }
core/classes/class-form-styles.php CHANGED
@@ -449,7 +449,7 @@ class HappyForms_Form_Styles {
449
  'variable' => '--happyforms-color-rating',
450
  ),
451
  'color_rating_star_hover' => array(
452
- 'default' => '#ffbf00',
453
  'sanitize' => 'sanitize_text_field',
454
  'target' => 'css_var',
455
  'variable' => '--happyforms-color-rating-hover',
449
  'variable' => '--happyforms-color-rating',
450
  ),
451
  'color_rating_star_hover' => array(
452
+ 'default' => '#000000',
453
  'sanitize' => 'sanitize_text_field',
454
  'target' => 'css_var',
455
  'variable' => '--happyforms-color-rating-hover',
core/classes/class-happyforms-core.php CHANGED
@@ -58,10 +58,10 @@ class HappyForms_Core {
58
 
59
  if ( is_admin() ) {
60
  require_once( happyforms_get_core_folder() . '/classes/class-admin-notices.php' );
 
61
  }
62
 
63
  require_once( happyforms_get_core_folder() . '/classes/class-validation-messages.php' );
64
-
65
  require_once( happyforms_get_core_folder() . '/classes/class-tracking.php' );
66
  require_once( happyforms_get_core_folder() . '/classes/class-form-assets.php' );
67
  require_once( happyforms_get_core_folder() . '/classes/class-form-controller.php' );
@@ -210,15 +210,6 @@ class HappyForms_Core {
210
  apply_filters( 'happyforms_settings_page_url', '#settings' ),
211
  apply_filters( 'happyforms_settings_page_method', '' )
212
  );
213
-
214
- add_submenu_page(
215
- 'happyforms',
216
- __( 'Welcome', 'happyforms' ),
217
- __( 'Welcome', 'happyforms' ),
218
- 'manage_options',
219
- 'happyforms-welcome',
220
- array( happyforms_get_tracking(), 'settings_page' )
221
- );
222
  }
223
 
224
  public function submenu_file( $submenu_file ) {
@@ -264,9 +255,13 @@ class HappyForms_Core {
264
 
265
  global $pagenow;
266
 
 
 
267
  $data = array(
268
  'editLink' => admin_url( happyforms_get_form_edit_link( 'ID', 'URL' ) ),
269
  'shortcode' => happyforms_get_shortcode(),
 
 
270
  );
271
 
272
  if ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) {
58
 
59
  if ( is_admin() ) {
60
  require_once( happyforms_get_core_folder() . '/classes/class-admin-notices.php' );
61
+ require_once( happyforms_get_core_folder() . '/classes/class-dashboard-modals.php' );
62
  }
63
 
64
  require_once( happyforms_get_core_folder() . '/classes/class-validation-messages.php' );
 
65
  require_once( happyforms_get_core_folder() . '/classes/class-tracking.php' );
66
  require_once( happyforms_get_core_folder() . '/classes/class-form-assets.php' );
67
  require_once( happyforms_get_core_folder() . '/classes/class-form-controller.php' );
210
  apply_filters( 'happyforms_settings_page_url', '#settings' ),
211
  apply_filters( 'happyforms_settings_page_method', '' )
212
  );
 
 
 
 
 
 
 
 
 
213
  }
214
 
215
  public function submenu_file( $submenu_file ) {
255
 
256
  global $pagenow;
257
 
258
+ $dashboard_modals = happyforms_get_dashboard_modals();
259
+
260
  $data = array(
261
  'editLink' => admin_url( happyforms_get_form_edit_link( 'ID', 'URL' ) ),
262
  'shortcode' => happyforms_get_shortcode(),
263
+ 'actionModalFetch' => $dashboard_modals->fetch_action,
264
+ 'actionModalDismiss' => $dashboard_modals->dismiss_action,
265
  );
266
 
267
  if ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) {
core/classes/class-tracking.php CHANGED
@@ -11,6 +11,8 @@ class HappyForms_Tracking {
11
  */
12
  private static $instance;
13
 
 
 
14
  /**
15
  * The name of the tracking option entry.
16
  *
@@ -20,33 +22,6 @@ class HappyForms_Tracking {
20
  */
21
  public $activation_option = 'happyforms-tracking';
22
 
23
- /**
24
- * The action of the welcome form.
25
- *
26
- * @since 1.0
27
- *
28
- * @var string
29
- */
30
- public $monitor_action = 'https://emailoctopus.com/lists/a58bf658-425e-11ea-be00-06b4694bee2a/members/embedded/1.3/add';
31
-
32
- /**
33
- * The name of the email field in the welcome form.
34
- *
35
- * @since 1.0
36
- *
37
- * @var string
38
- */
39
- public $monitor_email_field = 'field_0';
40
-
41
- /**
42
- * The name of the status field in the welcome form.
43
- *
44
- * @since 1.0
45
- *
46
- * @var string
47
- */
48
- public $monitor_status_field = 'cm-f-dyikmik';
49
-
50
  /**
51
  * The singleton constructor.
52
  *
@@ -72,10 +47,7 @@ class HappyForms_Tracking {
72
  * @return void
73
  */
74
  public function hook() {
75
- add_action( 'admin_init', array( $this, 'redirect_to_settings_page' ) );
76
- add_action( 'wp_ajax_happyforms_update_tracking', array( $this, 'ajax_update_tracking' ) );
77
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
78
- add_action( 'admin_footer', array( $this, 'print_templates' ) );
79
  }
80
 
81
  /**
@@ -88,7 +60,6 @@ class HappyForms_Tracking {
88
  public function get_status() {
89
  $status = get_option( $this->activation_option, array(
90
  'status' => 0,
91
- 'email' => '',
92
  ) );
93
 
94
  return $status;
@@ -107,7 +78,6 @@ class HappyForms_Tracking {
107
  public function update_status( $status, $email = '' ) {
108
  update_option( $this->activation_option, array(
109
  'status' => $status,
110
- 'email' => $email,
111
  ) );
112
  }
113
 
@@ -182,9 +152,7 @@ class HappyForms_Tracking {
182
  * @return void
183
  */
184
  public function admin_scripts() {
185
- $current_screen = get_current_screen();
186
-
187
- if ( 'happyforms_page_happyforms-welcome' === $current_screen->id ) {
188
  wp_enqueue_script(
189
  'happyforms-tracking',
190
  happyforms_get_plugin_url() . 'core/assets/js/welcome.js',
@@ -251,4 +219,3 @@ endif;
251
  * Initialize the HappyForms_Tracking class immediately.
252
  */
253
  happyforms_get_tracking();
254
-
11
  */
12
  private static $instance;
13
 
14
+ private $first_time = false;
15
+
16
  /**
17
  * The name of the tracking option entry.
18
  *
22
  */
23
  public $activation_option = 'happyforms-tracking';
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * The singleton constructor.
27
  *
47
  * @return void
48
  */
49
  public function hook() {
50
+ // noop
 
 
 
51
  }
52
 
53
  /**
60
  public function get_status() {
61
  $status = get_option( $this->activation_option, array(
62
  'status' => 0,
 
63
  ) );
64
 
65
  return $status;
78
  public function update_status( $status, $email = '' ) {
79
  update_option( $this->activation_option, array(
80
  'status' => $status,
 
81
  ) );
82
  }
83
 
152
  * @return void
153
  */
154
  public function admin_scripts() {
155
+ if ( happyforms_is_admin_screen( 'happyforms-welcome' ) ) {
 
 
156
  wp_enqueue_script(
157
  'happyforms-tracking',
158
  happyforms_get_plugin_url() . 'core/assets/js/welcome.js',
219
  * Initialize the HappyForms_Tracking class immediately.
220
  */
221
  happyforms_get_tracking();
 
core/classes/class-wp-customize-form-manager.php CHANGED
@@ -223,13 +223,13 @@ class HappyForms_WP_Customize_Form_Manager {
223
  wp_send_json_error( 'customize_not_allowed' );
224
  }
225
 
226
- if ( ! isset( $_POST['form_id'] ) ||
227
- ! isset( $_POST['part'] ) || empty( $_POST['part'] ) ) {
228
  status_header( 403 );
229
  wp_send_json_error( 'Missing data' );
230
  }
231
 
232
- $form_data = happyforms_get_form_controller()->get( intval( $_POST['form_id'] ) );
233
  $part_data = $_POST['part'];
234
  $template = happyforms_get_form_part( $part_data, $form_data );
235
  $template = stripslashes( $template );
@@ -250,12 +250,13 @@ class HappyForms_WP_Customize_Form_Manager {
250
  wp_send_json_error( 'customize_not_allowed' );
251
  }
252
 
253
- if ( ! isset( $_POST['form_id'] ) || ! isset( $_POST['parts'] ) ) {
 
254
  status_header( 403 );
255
  wp_send_json_error( 'Missing data' );
256
  }
257
 
258
- $form_data = happyforms_get_form_controller()->get( intval( $_POST['form_id'] ) );
259
  $parts_data = $_POST['parts'];
260
  $parts_html = array();
261
 
223
  wp_send_json_error( 'customize_not_allowed' );
224
  }
225
 
226
+ if ( ! isset( $_POST['form'] ) || empty( $_POST['form'] )
227
+ || ! isset( $_POST['part'] ) || empty( $_POST['part'] ) ) {
228
  status_header( 403 );
229
  wp_send_json_error( 'Missing data' );
230
  }
231
 
232
+ $form_data = json_decode( wp_unslash( $_POST['form'] ), true );
233
  $part_data = $_POST['part'];
234
  $template = happyforms_get_form_part( $part_data, $form_data );
235
  $template = stripslashes( $template );
250
  wp_send_json_error( 'customize_not_allowed' );
251
  }
252
 
253
+ if ( ! isset( $_POST['form'] ) || empty( $_POST['form'] )
254
+ || ! isset( $_POST['parts'] ) || empty( $_POST['parts'] ) ) {
255
  status_header( 403 );
256
  wp_send_json_error( 'Missing data' );
257
  }
258
 
259
+ $form_data = json_decode( wp_unslash( $_POST['form'] ), true );
260
  $parts_data = $_POST['parts'];
261
  $parts_html = array();
262
 
core/helpers/helper-activation.php CHANGED
@@ -60,7 +60,6 @@ function happyforms_create_samples() {
60
 
61
  $part_library = happyforms_get_part_library();
62
  $form_controller = happyforms_get_form_controller();
63
- $tracking = happyforms_get_tracking();
64
 
65
  // Create a new form
66
  $form = $form_controller->create();
60
 
61
  $part_library = happyforms_get_part_library();
62
  $form_controller = happyforms_get_form_controller();
 
63
 
64
  // Create a new form
65
  $form = $form_controller->create();
core/helpers/helper-form-templates.php CHANGED
@@ -979,6 +979,9 @@ function happyforms_the_part_label( $part, $form ) {
979
  <label for="<?php happyforms_the_part_id( $part, $form ); ?>" class="happyforms-part__label">
980
  <span class="label"><?php echo esc_html( $part['label'] ); ?></span>
981
  <?php $is_required = isset( $part['required'] ) && 1 === intval( $part['required'] ); ?>
 
 
 
982
  <?php if ( ! $is_required || happyforms_is_preview_context() ): ?>
983
  <span class="happyforms-optional"><?php echo happyforms_get_form_property( $form, 'optional_part_label' ); ?></span>
984
  <?php endif; ?>
979
  <label for="<?php happyforms_the_part_id( $part, $form ); ?>" class="happyforms-part__label">
980
  <span class="label"><?php echo esc_html( $part['label'] ); ?></span>
981
  <?php $is_required = isset( $part['required'] ) && 1 === intval( $part['required'] ); ?>
982
+ <?php if ( $is_required || happyforms_is_preview_context() ): ?>
983
+ <span class="happyforms-required"><?php echo happyforms_get_form_property( $form, 'required_field_label' ); ?></span>
984
+ <?php endif; ?>
985
  <?php if ( ! $is_required || happyforms_is_preview_context() ): ?>
986
  <span class="happyforms-optional"><?php echo happyforms_get_form_property( $form, 'optional_part_label' ); ?></span>
987
  <?php endif; ?>
core/helpers/helper-misc.php CHANGED
@@ -1001,4 +1001,16 @@ function happyforms_is_email( $email ) {
1001
  return $is_email;
1002
  }
1003
 
 
 
 
 
 
 
 
 
 
 
 
 
1004
  endif;
1001
  return $is_email;
1002
  }
1003
 
1004
+ endif;
1005
+
1006
+ if ( ! function_exists( 'happyforms_admin_screen_get_id' ) ):
1007
+
1008
+ function happyforms_is_admin_screen( $id ) {
1009
+ $current_screen = get_current_screen();
1010
+ $prefix = sanitize_title( __( 'Forms', 'happyforms' ) );
1011
+ $is_admin_screen = "{$prefix}_page_{$id}" === $current_screen->id;
1012
+
1013
+ return $is_admin_screen;
1014
+ }
1015
+
1016
  endif;
core/helpers/helper-styles.php CHANGED
@@ -23,7 +23,7 @@ if ( ! function_exists( 'happyforms_get_frontend_stylesheet_url' ) ):
23
  return;
24
  }
25
 
26
- $stylesheets_url = happyforms_get_plugin_url() . '/core/assets/css';
27
  $stylesheets_url = apply_filters( 'happyforms_frontend_stylesheets_url', $stylesheets_url );
28
  $style_suffix = ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) ? HAPPYFORMS_UPGRADE_VERSION : HAPPYFORMS_VERSION;
29
 
23
  return;
24
  }
25
 
26
+ $stylesheets_url = happyforms_get_plugin_url() . 'core/assets/css';
27
  $stylesheets_url = apply_filters( 'happyforms_frontend_stylesheets_url', $stylesheets_url );
28
  $style_suffix = ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) ? HAPPYFORMS_UPGRADE_VERSION : HAPPYFORMS_VERSION;
29
 
core/templates/admin-tracking.php DELETED
@@ -1,25 +0,0 @@
1
- <?php
2
- $tracking = happyforms_get_tracking();
3
- $status = $tracking->get_status();
4
- ?>
5
-
6
- <div class="wrap">
7
- <div id="welcome-panel" class="welcome-panel happyforms-welcome-panel">
8
- <div class="welcome-panel-content">
9
- <?php if ( 3 === intval( $status['status'] ) ) {
10
- $tracking->print_template( 'success' );
11
- } else { ?>
12
- <h1><?php _e( 'Add your email address to complete setup', 'happyforms' ); ?>&hellip;</h1>
13
- <p class="description"><?php _e( 'Your email address will only ever be used to receive communications from us', 'happyforms' ); ?>.</p>
14
- <form action="<?php echo esc_attr( $tracking->monitor_action ); ?>" method="post" id="happyforms-tracking">
15
- <input name="<?php echo esc_attr( $tracking->monitor_email_field ); ?>" type="email" placeholder="<?php _e( 'Email address', 'happyforms' ); ?>" required value="<?php echo get_option( 'admin_email' ); ?>" />
16
- <button type="submit" class="button button-primary button-hero button-block"><?php _e( 'Allow and set up', 'happyforms' ); ?></button>
17
- </form>
18
- <?php } ?>
19
- </div>
20
- </div>
21
-
22
- <?php if ( 2 === $status['status'] ) : ?>
23
- <p class="welcome-panel-footer"><?php _e( 'Or, skip this step and ', 'happyforms' ); ?> <a href="<?php echo happyforms_get_all_form_link(); ?>" id="happyforms-tracking-skip"><?php _e( 'continue', 'happyforms' ); ?></a></p>
24
- <?php endif; ?>
25
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/templates/partials/admin-modal-footer.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ </div>
2
+ </div>
3
+ </div>
core/templates/partials/admin-modal-header.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div class="happyforms-modal__overlay">
2
+ <div class="happyforms-modal__frame <?php echo $settings['classes']; ?>" <?php if ( $settings['dismissible'] ) : ?>data-happyforms-modal-dismissible data-happyforms-modal-id="<?php echo $id; ?>"<?php endif; ?>>
3
+ <div class="happyforms-modal__header">
4
+ <button class="happyforms-modal__dismiss">
5
+ <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-hidden="true" focusable="false"><path d="M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"></path></svg>
6
+ </button>
7
+ </div>
8
+ <div class="happyforms-modal__body">
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.4
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.4' );
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.5
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.5' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
inc/assets/css/admin.css CHANGED
@@ -1,123 +1,125 @@
1
- .happyforms-upgrade-modal-container {
2
- display: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  }
4
 
5
- .happyforms-upgrade-modal {
6
- position: relative;
7
- text-align: center;
 
8
  }
9
 
10
- .happyforms-upgrade-modal .happyforms-logo {
11
- width: 200px;
12
- max-width: 100%;
 
 
 
13
  }
14
 
15
- .happyforms-upgrade-modal h2 {
16
- margin: 0 0 10px 0;
17
- padding-bottom: 5px;
18
- font-size: 1.7em;
19
  }
20
 
21
- .happyforms-upgrade-modal p {
22
- max-width: 71%;
23
- margin: 0 auto 10px;
24
- font-size: 14px;
25
  }
26
 
27
- @media screen and (max-width: 600px) {
28
- .happyforms-upgrade-modal p {
29
- max-width: 100%;
30
- }
 
 
 
31
  }
32
 
33
- .happyforms-upgrade-modal .happyforms-upgrade-modal__buttons {
34
- margin-top: 1.5em;
 
35
  }
36
 
37
- .happyforms-upgrade-modal .happyforms-upgrade-modal__button {
38
- margin-bottom: 15px;
39
  }
40
 
41
- .happyforms-upgrade-modal .happyforms-upgrade-modal__button:last-child {
42
- margin-bottom: 0;
43
  }
44
 
45
- .happyforms-upgrade-modal .happyforms-upgrade-modal__button a.button {
46
- padding: 11px 22px;
47
- height: auto;
48
- font-size: 14px;
49
- white-space: normal;
50
  }
51
 
52
- .happyforms-upgrade-modal .happyforms-upgrade-modal__button--grey,
53
- a.happyforms-continue-link,
54
- a.happyforms-continue-link:hover {
55
- color: #82878C;
56
  }
57
 
58
- .happyforms-upgrade-modal form {
59
- display: none;
60
- flex-flow: row nowrap;
61
- align-items: center;
62
- max-width: 297px;
63
- margin: -4px auto 15px;
 
 
 
 
64
  }
65
 
66
- .happyforms-upgrade-modal form.shown {
67
- display: flex;
68
- height: 54px;
69
- overflow: hidden;
70
  }
71
 
72
- .happyforms-upgrade-modal select {
73
- flex: 1;
74
- max-width: 165px;
75
- height: 100%;
76
  }
77
 
78
- .happyforms-upgrade-modal input[type=submit] {
79
- min-width: 120px;
80
- height: 52px;
81
- margin-left: 10px;
82
- padding: 0 25px;
83
- font-size: 15px;
84
  }
85
 
86
- #TB_window.happyforms-admin-modal {
87
- width: 100% !important;
88
- height: 100% !important;
89
- top: 0 !important;
90
- left: 0 !important;
91
- margin-top: 0 !important;
92
- margin-left: 0 !important;
93
- background-color: transparent !important;
94
- -webkit-box-shadow: none !important;
95
- box-shadow: none !important;
96
- display: flex;
97
- flex-flow: column nowrap;
98
- align-items: center;
99
- justify-content: center;
100
  }
101
 
102
- #TB_window.happyforms-admin-modal #TB_title {
103
- position: relative;
104
- height: 35px;
105
- padding: 0 15px;
106
  }
107
 
108
- #TB_window.happyforms-admin-modal #TB_ajaxContent {
109
- padding: 45px 15px;
110
- overflow: hidden;
111
- background-color: #fff;
112
- -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
113
- box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
114
  }
115
 
116
- #TB_window.happyforms-admin-modal #TB_closeWindowButton {
117
- top: 4px;
118
  }
119
 
120
- #TB_window.happyforms-admin-modal #TB_closeWindowButton:focus .tb-close-icon {
121
- box-shadow: none;
122
- color: #666;
123
  }
1
+ /**
2
+ *
3
+ * Post/Page editor modal
4
+ *
5
+ */
6
+ #TB_window.happyforms-admin-modal {
7
+ width: 100% !important;
8
+ height: 100% !important;
9
+ top: 0 !important;
10
+ left: 0 !important;
11
+ margin-top: 0 !important;
12
+ margin-left: 0 !important;
13
+ background-color: transparent !important;
14
+ -webkit-box-shadow: none !important;
15
+ box-shadow: none !important;
16
+ display: flex;
17
+ flex-flow: column nowrap;
18
+ align-items: center;
19
+ justify-content: center;
20
  }
21
 
22
+ #TB_window.happyforms-admin-modal #TB_title {
23
+ position: relative;
24
+ height: 35px;
25
+ padding: 0 15px;
26
  }
27
 
28
+ #TB_window.happyforms-admin-modal #TB_ajaxContent {
29
+ padding: 45px 15px;
30
+ overflow: hidden;
31
+ background-color: #fff;
32
+ -webkit-box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
33
+ box-shadow: 0 3px 6px rgba( 0, 0, 0, 0.3 );
34
  }
35
 
36
+ #TB_window.happyforms-admin-modal #TB_closeWindowButton {
37
+ top: 4px;
 
 
38
  }
39
 
40
+ #TB_window.happyforms-admin-modal #TB_closeWindowButton:focus .tb-close-icon {
41
+ box-shadow: none;
42
+ color: #666;
 
43
  }
44
 
45
+ /**
46
+ *
47
+ * Upgrade modal
48
+ *
49
+ */
50
+ .happyforms-modal__frame--upgrade .happyforms-modal__header h1 {
51
+ margin-bottom: 30px;
52
  }
53
 
54
+ .happyforms-modal__frame--upgrade .happyforms-modal__header,
55
+ .happyforms-modal__frame--upgrade .happyforms-modal__content {
56
+ text-align: center;
57
  }
58
 
59
+ .happyforms-modal__frame--upgrade .happyforms-modal__content {
60
+ padding-bottom: 30px;
61
  }
62
 
63
+ .happyforms-modal__frame--upgrade .happyforms-modal__content p {
64
+ margin-bottom: 0;
65
  }
66
 
67
+ .happyforms-modal__frame--upgrade a.button {
68
+ padding: 11px 22px;
69
+ height: auto;
70
+ font-size: 14px;
71
+ white-space: normal;
72
  }
73
 
74
+ .happyforms-modal__frame--upgrade a.happyforms-continue-link,
75
+ .happyforms-modal__frame--upgrade a.happyforms-continue-link:hover {
76
+ color: #82878C;
 
77
  }
78
 
79
+ /**
80
+ *
81
+ * Onboarding modal
82
+ *
83
+ */
84
+ .happyforms-modal__frame--onboarding .happyforms-modal__body {
85
+ padding-top: 330px;
86
+ background-image: url(../img/welcome.gif);
87
+ background-size: 450px 300px;
88
+ background-repeat: no-repeat;
89
  }
90
 
91
+ .happyforms-modal__dismiss:hover svg {
92
+ fill: #fff;
 
 
93
  }
94
 
95
+ .happyforms-modal__frame--onboarding .happyforms-modal__heading h1 {
96
+ margin-bottom: 8px;
 
 
97
  }
98
 
99
+ .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] {
100
+ display: flex;
101
+ align-items: start;
102
+ margin-bottom: 0;
 
 
103
  }
104
 
105
+ .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] span {
106
+ line-height: 1.4;
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
108
 
109
+ .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] input {
110
+ margin-top: 1px;
111
+ margin-right: 6px;
 
112
  }
113
 
114
+ .happyforms-modal__frame--onboarding button[type="submit"] + p {
115
+ font-size:8px;
116
+ color:#757575;
 
 
 
117
  }
118
 
119
+ .happyforms-form__part .happyforms-part__label .happyforms-required {
120
+ display: none;
121
  }
122
 
123
+ .happyforms-form__part[data-happyforms-required] .happyforms-part__label .happyforms-required {
124
+ display: inline-block;
 
125
  }
inc/assets/img/welcome.gif ADDED
Binary file
inc/assets/js/admin/dashboard.js CHANGED
@@ -1,58 +1,35 @@
1
  ( function( $, settings ) {
2
 
3
- var happyForms = window.happyForms || {};
4
- window.happyForms = happyForms;
5
 
6
- happyForms.freeDashboard = {
7
  init: function() {
8
- $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#responses"]', this.onModalTriggerClick.bind(this) );
9
- $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.onModalTriggerClick.bind(this) );
10
- $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#integrations"]', this.onModalTriggerClick.bind(this) );
11
- $( document ).on( 'click', '.happyforms-upgrade-modal .happyforms-continue-link', this.onContinueClick.bind(this) );
12
- $( document ).on( 'click', '.happyforms-upgrade-modal .happyforms-export-button', this.onExportButtonClick.bind(this) );
13
- $( document ).on( 'click', '.happyforms-upgrade-modal .happyforms-upgrade-modal__close', this.onCloseClick.bind(this) );
14
- },
15
-
16
- onModalTriggerClick: function( e ) {
17
- e.preventDefault();
18
 
19
- this.openModal( settings.modal_id );
20
- },
21
-
22
- openModal: function( modalId ) {
23
- tb_show( '', '#TB_inline?width=600&amp;inlineId=' + modalId );
24
- $( '#TB_window' ).addClass( 'happyforms-admin-modal' ).addClass( modalId );
25
- $( '#TB_ajaxContent' ).height( 'auto' );
26
- $( '#TB_title' ).width( $( '#TB_ajaxContent' ).width() );
27
- $( '#TB_closeWindowButton' ).trigger( 'blur' );
28
- },
29
 
30
- closeModal: function() {
31
- tb_remove();
32
  },
33
 
34
- onContinueClick: function( e ) {
35
  e.preventDefault();
36
 
37
- this.closeModal();
38
  },
39
 
40
- onExportButtonClick: function( e ) {
41
- e.preventDefault();
 
 
 
42
 
43
- $( '.happyforms-upgrade-modal .happyforms-export-button' ).hide();
44
- $( '.happyforms-upgrade-modal form' ).addClass( 'shown' );
 
45
  },
46
-
47
- onCloseClick: function( e ) {
48
- e.preventDefault();
49
-
50
- this.closeModal();
51
- }
52
- };
53
-
54
- $( function() {
55
- happyForms.freeDashboard.init();
56
  } );
57
 
58
- } )( jQuery, _happyFormsDashboardSettings );
1
  ( function( $, settings ) {
2
 
3
+ var dashboardInit = happyForms.dashboard.init;
 
4
 
5
+ happyForms.dashboard = $.extend( {}, happyForms.dashboard, {
6
  init: function() {
7
+ dashboardInit.apply( this, arguments );
 
 
 
 
 
 
 
 
 
8
 
9
+ $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#responses"]', this.openUpgradeModal );
10
+ $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#settings"]', this.openUpgradeModal );
11
+ $( document ).on( 'click', '#adminmenu #toplevel_page_happyforms a[href="#integrations"]', this.openUpgradeModal );
 
 
 
 
 
 
 
12
 
13
+ // Onboarding modal logic
14
+ $( document ).on( 'click', '.happyforms-modal__navigation-item', this.onModalNavigationItemClick );
15
  },
16
 
17
+ openUpgradeModal: function( e ) {
18
  e.preventDefault();
19
 
20
+ happyForms.dashboard.openModal( 'upgrade' );
21
  },
22
 
23
+ onModalNavigationItemClick: function( e ) {
24
+ var $item = $( e.currentTarget );
25
+
26
+ $( '.happyforms-modal__pages-page' ).removeClass( 'happyforms-modal__pages-page--active' );
27
+ $( '.happyforms-modal__navigation-item' ).removeClass( 'happyforms-modal__navigation-item--active' );
28
 
29
+ $item.addClass( 'happyforms-modal__navigation-item--active' );
30
+ $( '.happyforms-modal__pages-page:nth-child(' + ( $item.index() + 1 ) + ')' )
31
+ .addClass( 'happyforms-modal__pages-page--active' );
32
  },
 
 
 
 
 
 
 
 
 
 
33
  } );
34
 
35
+ } )( jQuery, _happyFormsAdmin );
inc/assets/js/admin/onboarding.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $, settings ) {
2
+
3
+ $( function() {
4
+ happyForms.dashboard.openModal( 'onboarding' );
5
+
6
+ $( document ).on( 'submit', '.happyforms-modal__frame--onboarding form', function( e ) {
7
+ e.preventDefault();
8
+
9
+ var $form = $( e.target );
10
+ var email = $( 'input[type="email"]', $form ).val();
11
+ email = email ? email : '';
12
+ var poweredBy = $( 'input[type="checkbox"]', $form ).is( ':checked' ) ? 1 : 0;
13
+
14
+ $.post( ajaxurl, {
15
+ action: settings.action,
16
+ email: email,
17
+ powered_by: poweredBy,
18
+ } );
19
+
20
+ happyForms.dashboard.closeModal();
21
+ } );
22
+ } );
23
+
24
+ } )( jQuery, _happyFormsOnboardingSettings );
inc/assets/js/customize.js CHANGED
@@ -91,7 +91,26 @@
91
  }
92
 
93
  _wpCustomizeSettings.documentTitleTmpl = titleTemplate;
94
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  } );
96
 
97
  classes.models.Part = Backbone.Model.extend( {
@@ -111,6 +130,7 @@
111
  happyforms: 1,
112
  wp_customize: 'on',
113
  form_id: happyForms.form.id,
 
114
  part: this.toJSON(),
115
  };
116
 
@@ -141,6 +161,7 @@
141
  happyforms: 1,
142
  wp_customize: 'on',
143
  form_id: happyForms.form.id,
 
144
  parts: this.toJSON(),
145
  };
146
 
@@ -1697,6 +1718,8 @@
1697
  'change [data-attribute]': 'onInputChange',
1698
  'keyup [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
1699
  'change [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
 
 
1700
  'keyup [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
1701
  'change [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
1702
  'focus .has-restore-default': 'showRestoreBtn',
@@ -1747,7 +1770,15 @@
1747
  self.$el.addClass( className );
1748
  }
1749
 
1750
- var hasRequiredField = this.model.get( 'parts' ).find( function( part ) {
 
 
 
 
 
 
 
 
1751
  var types = [ 'single_line_text', 'multi_line_text', 'email', 'number' ];
1752
  var required = part.get( 'required' );
1753
 
@@ -1759,11 +1790,10 @@
1759
  return false;
1760
  } );
1761
 
1762
- if ( hasRequiredField ) {
1763
- self.$el.addClass( 'has-required-fields' );
1764
  }
1765
 
1766
-
1767
  var hasRequiredSelectionField = this.model.get( 'parts' ).find( function( part ) {
1768
  var types = [ 'radio', 'checkbox', 'select' ];
1769
  var required = part.get( 'required' );
@@ -1848,7 +1878,7 @@
1848
  var limit_mode = part.get( 'character_limit_mode' );
1849
 
1850
  if( limit_mode ) {
1851
- if( part.get( 'limit_input' ) == 1 && ( limit_mode == 'character_min' || limit_mode == 'word_min' ) &&
1852
  part.get( 'character_limit' ) > 1 ) {
1853
  return true;
1854
  }
@@ -1892,6 +1922,14 @@
1892
  happyForms.previewSend( 'happyforms-form-dom-update', data );
1893
  },
1894
 
 
 
 
 
 
 
 
 
1895
  onCharLimitMinWordsChange: function ( e ) {
1896
  var data = {
1897
  callback: 'onCharLimitMinWordsChangeCallback',
@@ -1950,6 +1988,9 @@
1950
  initialize: function() {
1951
  classes.views.Base.prototype.initialize.apply( this, arguments );
1952
 
 
 
 
1953
  this.listenTo( this.model, 'change:form_title', this.onChangeTitleDisplay );
1954
  this.listenTo( this.model, 'change:part_description_mode', this.onChangeGlobalDescriptionMode );
1955
 
@@ -1962,6 +2003,12 @@
1962
  return this;
1963
  },
1964
 
 
 
 
 
 
 
1965
  applyConditionClasses: function() {
1966
  var self = this;
1967
 
@@ -2366,6 +2413,11 @@
2366
  $( '.happyforms-optional', $form ).text( optionalLabel );
2367
  },
2368
 
 
 
 
 
 
2369
  onCharLimitMinWordsChangeCallback: function( $form ) {
2370
  var label = happyForms.form.get( 'words_label_min' );
2371
  $( '.happyforms-part__char-counter.word_min span.counter-label', $form ).text( label );
@@ -2420,11 +2472,13 @@
2420
  var $part = this.$( html );
2421
  var required = part.get( 'required' );
2422
  var optionalLabel = happyForms.form.get( 'optional_part_label' );
 
2423
 
2424
  if ( 0 === parseInt( required, 10 ) ) {
2425
  $part.removeAttr( 'data-happyforms-required' );
2426
  $( '.happyforms-optional', $part ).text( optionalLabel );
2427
  } else {
 
2428
  $part.attr( 'data-happyforms-required', '' );
2429
  }
2430
  },
91
  }
92
 
93
  _wpCustomizeSettings.documentTitleTmpl = titleTemplate;
94
+ },
95
+
96
+ fetchCustomCSS: function( success ) {
97
+ var data = {
98
+ action: 'happyforms-get-custom-css',
99
+ 'happyforms-nonce': api.settings.nonce.happyforms,
100
+ happyforms: 1,
101
+ wp_customize: 'on',
102
+ form_id: happyForms.form.id,
103
+ form: JSON.stringify( this.toJSON() ),
104
+ };
105
+
106
+ var request = $.ajax( ajaxurl, {
107
+ type: 'post',
108
+ dataType: 'text',
109
+ data: data,
110
+ } );
111
+
112
+ request.done( success );
113
+ },
114
  } );
115
 
116
  classes.models.Part = Backbone.Model.extend( {
130
  happyforms: 1,
131
  wp_customize: 'on',
132
  form_id: happyForms.form.id,
133
+ form: JSON.stringify( happyForms.form.toJSON() ),
134
  part: this.toJSON(),
135
  };
136
 
161
  happyforms: 1,
162
  wp_customize: 'on',
163
  form_id: happyForms.form.id,
164
+ form: JSON.stringify( happyForms.form.toJSON() ),
165
  parts: this.toJSON(),
166
  };
167
 
1718
  'change [data-attribute]': 'onInputChange',
1719
  'keyup [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
1720
  'change [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
1721
+ 'keyup [data-attribute="required_field_label"]': 'onRequiredPartLabelChange',
1722
+ 'change [data-attribute="required_field_label"]': 'onRequiredPartLabelChange',
1723
  'keyup [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
1724
  'change [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
1725
  'focus .has-restore-default': 'showRestoreBtn',
1770
  self.$el.addClass( className );
1771
  }
1772
 
1773
+ var hasRequiredFields = happyForms.form.get( 'parts' ).findWhere( {
1774
+ required: 1
1775
+ } );
1776
+
1777
+ if ( hasRequiredFields ) {
1778
+ self.$el.addClass( 'has-required-field' );
1779
+ }
1780
+
1781
+ var hasRequiredTextFields = this.model.get( 'parts' ).find( function( part ) {
1782
  var types = [ 'single_line_text', 'multi_line_text', 'email', 'number' ];
1783
  var required = part.get( 'required' );
1784
 
1790
  return false;
1791
  } );
1792
 
1793
+ if ( hasRequiredTextFields ) {
1794
+ self.$el.addClass( 'has-required-text-fields' );
1795
  }
1796
 
 
1797
  var hasRequiredSelectionField = this.model.get( 'parts' ).find( function( part ) {
1798
  var types = [ 'radio', 'checkbox', 'select' ];
1799
  var required = part.get( 'required' );
1878
  var limit_mode = part.get( 'character_limit_mode' );
1879
 
1880
  if( limit_mode ) {
1881
+ if( part.get( 'limit_input' ) == 1 && ( limit_mode == 'character_min' || limit_mode == 'word_min' ) &&
1882
  part.get( 'character_limit' ) > 1 ) {
1883
  return true;
1884
  }
1922
  happyForms.previewSend( 'happyforms-form-dom-update', data );
1923
  },
1924
 
1925
+ onRequiredPartLabelChange: function( e ) {
1926
+ var data = {
1927
+ callback: 'onRequiredPartLabelChangeCallback',
1928
+ };
1929
+
1930
+ happyForms.previewSend( 'happyforms-form-dom-update', data );
1931
+ },
1932
+
1933
  onCharLimitMinWordsChange: function ( e ) {
1934
  var data = {
1935
  callback: 'onCharLimitMinWordsChangeCallback',
1988
  initialize: function() {
1989
  classes.views.Base.prototype.initialize.apply( this, arguments );
1990
 
1991
+ this.listenTo( this.model, 'change:additional_css', _.debounce( function( model, value ) {
1992
+ this.onAdditionalCSSChange( model, value );
1993
+ }, 500 ) );
1994
  this.listenTo( this.model, 'change:form_title', this.onChangeTitleDisplay );
1995
  this.listenTo( this.model, 'change:part_description_mode', this.onChangeGlobalDescriptionMode );
1996
 
2003
  return this;
2004
  },
2005
 
2006
+ onAdditionalCSSChange: function( model, value ) {
2007
+ happyForms.form.fetchCustomCSS( function( response ) {
2008
+ api.previewer.send( 'happyforms-custom-css-updated', response );
2009
+ } );
2010
+ },
2011
+
2012
  applyConditionClasses: function() {
2013
  var self = this;
2014
 
2413
  $( '.happyforms-optional', $form ).text( optionalLabel );
2414
  },
2415
 
2416
+ onRequiredPartLabelChangeCallback: function( $form ) {
2417
+ var requiredLabel = happyForms.form.get( 'required_field_label' );
2418
+ $( '.happyforms-required', $form ).text( requiredLabel );
2419
+ },
2420
+
2421
  onCharLimitMinWordsChangeCallback: function( $form ) {
2422
  var label = happyForms.form.get( 'words_label_min' );
2423
  $( '.happyforms-part__char-counter.word_min span.counter-label', $form ).text( label );
2472
  var $part = this.$( html );
2473
  var required = part.get( 'required' );
2474
  var optionalLabel = happyForms.form.get( 'optional_part_label' );
2475
+ var requiredLabel = happyForms.form.get( 'required_field_label' );
2476
 
2477
  if ( 0 === parseInt( required, 10 ) ) {
2478
  $part.removeAttr( 'data-happyforms-required' );
2479
  $( '.happyforms-optional', $part ).text( optionalLabel );
2480
  } else {
2481
+ $( '.happyforms-required', $part ).text( requiredLabel );
2482
  $part.attr( 'data-happyforms-required', '' );
2483
  }
2484
  },
inc/classes/class-happyforms.php CHANGED
@@ -2,8 +2,15 @@
2
  class HappyForms extends HappyForms_Core {
3
 
4
  public $default_notice;
 
5
  public $action_archive = 'archive';
6
 
 
 
 
 
 
 
7
  public function initialize_plugin() {
8
  parent::initialize_plugin();
9
 
@@ -12,13 +19,15 @@ class HappyForms extends HappyForms_Core {
12
  add_action( 'happyforms_do_style_control', array( $this, 'do_control' ), 10, 3 );
13
  add_filter( 'happyforms_setup_controls', array( $this, 'add_dummy_setup_controls' ) );
14
  add_filter( 'happyforms_email_controls', array( $this, 'add_dummy_email_controls' ) );
15
- // add_filter( 'happyforms_email_controls', function( $controls ) {
16
- // ksort( $controls, SORT_NUMERIC );
17
- // die( print_r( $controls ) );
18
- // }, PHP_INT_MAX );
19
  add_filter( 'happyforms_style_controls', array( $this, 'add_dummy_style_controls' ) );
20
- add_action( 'admin_print_footer_scripts', array( $this, 'print_upgrade_modals' ) );
21
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
 
 
 
 
 
 
 
22
 
23
  $this->register_dummy_parts();
24
  $this->add_setup_logic_upgrade_links();
@@ -239,10 +248,6 @@ class HappyForms extends HappyForms_Core {
239
  }
240
  }
241
 
242
- public function print_upgrade_modals() {
243
- require_once( happyforms_get_include_folder() . '/templates/admin/upgrade-modal.php' );
244
- }
245
-
246
  public function admin_enqueue_scripts() {
247
  parent::admin_enqueue_scripts();
248
 
@@ -252,37 +257,13 @@ class HappyForms extends HappyForms_Core {
252
  array( 'thickbox' ), HAPPYFORMS_VERSION
253
  );
254
 
255
- wp_register_script(
256
  'happyforms-free-admin',
257
  happyforms_get_plugin_url() . 'inc/assets/js/admin/dashboard.js',
258
- array( 'thickbox' ), HAPPYFORMS_VERSION, true
259
- );
260
-
261
- $has_responses = get_transient( '_happyforms_has_responses' );
262
-
263
- if ( false === $has_responses ) {
264
- $responses = get_posts(
265
- array(
266
- 'post_type' => 'happyforms-message'
267
- )
268
- );
269
-
270
- if ( ! empty( $responses ) ) {
271
- $has_responses = 1;
272
-
273
- set_transient( '_happyforms_has_responses', 1 );
274
- }
275
- }
276
-
277
- wp_localize_script(
278
- 'happyforms-free-admin',
279
- '_happyFormsDashboardSettings',
280
- array(
281
- 'modal_id' => 'happyforms-upgrade-modal'
282
- )
283
  );
284
 
285
- wp_enqueue_script( 'happyforms-free-admin' );
286
  }
287
 
288
  public function parse_archive_request() {
@@ -350,4 +331,138 @@ class HappyForms extends HappyForms_Core {
350
 
351
  echo $html;
352
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  }
2
  class HappyForms extends HappyForms_Core {
3
 
4
  public $default_notice;
5
+
6
  public $action_archive = 'archive';
7
 
8
+ public $onboarding_list_url = 'https://emailoctopus.com/lists/a58bf658-425e-11ea-be00-06b4694bee2a/members/embedded/1.3/add';
9
+
10
+ public $action_onboarding = 'happyforms-submit-onboarding';
11
+
12
+ public $option_show_powered_by = 'happyforms_show_powered_by';
13
+
14
  public function initialize_plugin() {
15
  parent::initialize_plugin();
16
 
19
  add_action( 'happyforms_do_style_control', array( $this, 'do_control' ), 10, 3 );
20
  add_filter( 'happyforms_setup_controls', array( $this, 'add_dummy_setup_controls' ) );
21
  add_filter( 'happyforms_email_controls', array( $this, 'add_dummy_email_controls' ) );
 
 
 
 
22
  add_filter( 'happyforms_style_controls', array( $this, 'add_dummy_style_controls' ) );
 
23
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
24
+ add_action( 'admin_init', [ $this, 'register_modals' ] );
25
+ add_action( 'current_screen', array( $this, 'redirect_to_forms_page' ) );
26
+ add_action( 'happyforms_modal_dismissed', [ $this, 'modal_dismissed' ] );
27
+ add_action( "wp_ajax_{$this->action_onboarding}", [ $this, 'ajax_action_onboarding' ] );
28
+ add_action( 'happyforms_form_after', [ $this, 'output_powered_by_form' ] );
29
+ add_action( 'happyforms_email_owner_after', [ $this, 'output_powered_by_email' ] );
30
+ add_action( 'happyforms_email_user_after', [ $this, 'output_powered_by_email' ] );
31
 
32
  $this->register_dummy_parts();
33
  $this->add_setup_logic_upgrade_links();
248
  }
249
  }
250
 
 
 
 
 
251
  public function admin_enqueue_scripts() {
252
  parent::admin_enqueue_scripts();
253
 
257
  array( 'thickbox' ), HAPPYFORMS_VERSION
258
  );
259
 
260
+ wp_enqueue_script(
261
  'happyforms-free-admin',
262
  happyforms_get_plugin_url() . 'inc/assets/js/admin/dashboard.js',
263
+ array( 'happyforms-admin' ), HAPPYFORMS_VERSION, true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  );
265
 
266
+ $this->enqueue_onboarding_modal();
267
  }
268
 
269
  public function parse_archive_request() {
331
 
332
  echo $html;
333
  }
334
+
335
+ public function register_modals() {
336
+ $modals = happyforms_get_dashboard_modals();
337
+
338
+ $modals->register_modal( 'upgrade', [ $this, 'modal_upgrade_callback' ], [
339
+ 'classes' => 'happyforms-modal__frame--upgrade'
340
+ ] );
341
+
342
+ $modals->register_modal( 'onboarding', [ $this, 'modal_onboarding_callback' ], [
343
+ 'classes' => 'happyforms-modal__frame--onboarding',
344
+ 'dismissible' => true,
345
+ ] );
346
+ }
347
+
348
+ public function enqueue_onboarding_modal() {
349
+ $screen = get_current_screen();
350
+
351
+ if ( ! $screen ) {
352
+ return;
353
+ }
354
+
355
+ if ( 'edit-happyform' !== $screen->id ) {
356
+ return;
357
+ }
358
+
359
+ $modals = happyforms_get_dashboard_modals();
360
+
361
+ if ( $modals->is_dismissed( 'onboarding' ) ) {
362
+ return;
363
+ }
364
+
365
+ wp_enqueue_script(
366
+ 'happyforms-onboarding',
367
+ happyforms_get_plugin_url() . 'inc/assets/js/admin/onboarding.js',
368
+ array( 'happyforms-free-admin' ), HAPPYFORMS_VERSION, true
369
+ );
370
+
371
+ wp_localize_script( 'happyforms-onboarding', '_happyFormsOnboardingSettings', array(
372
+ 'action' => $this->action_onboarding,
373
+ ) );
374
+ }
375
+
376
+ public function modal_upgrade_callback() {
377
+ require( happyforms_get_include_folder() . '/templates/admin/modal-upgrade.php' );
378
+ }
379
+
380
+ public function modal_onboarding_callback() {
381
+ require( happyforms_get_include_folder() . '/templates/admin/modal-onboarding.php' );
382
+ }
383
+
384
+ public function redirect_to_forms_page() {
385
+ $screen = get_current_screen();
386
+
387
+ if ( ! $screen ) {
388
+ return;
389
+ }
390
+
391
+ if ( 'edit-happyform' === $screen->id ) {
392
+ return;
393
+ }
394
+
395
+ $tracking = happyforms_get_tracking();
396
+ $status = $tracking->get_status();
397
+
398
+ if ( 1 < intval( $status['status'] ) ) {
399
+ return;
400
+ }
401
+
402
+ $url = admin_url( 'edit.php?post_type=happyform' );
403
+ wp_safe_redirect( $url );
404
+
405
+ exit;
406
+ }
407
+
408
+ public function modal_dismissed( $id ) {
409
+ if ( 'onboarding' === $id ) {
410
+ happyforms_get_tracking()->update_status( 2 );
411
+ }
412
+ }
413
+
414
+ public function ajax_action_onboarding() {
415
+ $email = isset( $_POST['email'] ) ? $_POST['email'] : '';
416
+ $email = trim( $email );
417
+ $powered_by = isset( $_POST['powered_by'] ) ? $_POST['powered_by'] : '';
418
+ $powered_by = intval( $powered_by );
419
+
420
+ // Store powered by option
421
+ update_option( $this->option_show_powered_by, $powered_by );
422
+
423
+ // Submit to EmailOctopus
424
+ if ( ! empty( $email ) ) {
425
+ wp_remote_post( $this->onboarding_list_url, array(
426
+ 'body' => array(
427
+ 'field_0' => $email,
428
+ ),
429
+ ) );
430
+ }
431
+ }
432
+
433
+ public function output_powered_by_form() {
434
+ if ( apply_filters( 'happyforms_force_hide_powered_by', false ) === true ) {
435
+ return;
436
+ }
437
+
438
+ if ( ! get_option( $this->option_show_powered_by, false ) ) {
439
+ return;
440
+ }
441
+
442
+ ?>
443
+ <p class="happyforms-powered-by"><?php printf(
444
+ '<a href="%1$s" style="font-size: 12px; color: black; text-decoration: underline;">%2$s</a>',
445
+ 'https://happyforms.io/?utm_source=footer&utm_medium=form&utm_campaign=public_form_footer',
446
+ __( 'Build your own WordPress form with Happyforms', 'happyforms' )
447
+ ); ?></p>
448
+ <?php
449
+ }
450
+
451
+ public function output_powered_by_email() {
452
+ if ( apply_filters( 'happyforms_force_hide_powered_by', false ) === true ) {
453
+ return;
454
+ }
455
+
456
+ if ( ! get_option( $this->option_show_powered_by, false ) ) {
457
+ return;
458
+ }
459
+
460
+ ?>
461
+ <p><?php printf(
462
+ '<a href="%1$s">%2$s</a>',
463
+ 'https://happyforms.io/?utm_source=footer&utm_medium=email&utm_campaign=public_email_footer',
464
+ __( 'Build your own WordPress form with Happyforms', 'happyforms' )
465
+ ); ?></p>
466
+ <?php
467
+ }
468
  }
inc/templates/admin/modal-onboarding.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $status = happyforms_get_tracking()->get_status(); ?>
2
+ <?php if ( 2 > $status['status'] ) : ?>
3
+ <div class="happyforms-modal__heading">
4
+ <h1><?php _e( 'Welcome to Happyforms', 'happyforms' ); ?></h1>
5
+ <p><?php _e( 'Tell us about yourself and we\'ll get you set up in no time*' ); ?></p>
6
+ </div>
7
+ <div class="happyforms-modal__content">
8
+ <form>
9
+ <label for="happyforms-onboarding-email"><?php _e( 'Email address', 'happyforms' ); ?></label>
10
+ <input type="email" id="happyforms-onboarding-email" />
11
+ <label for="happyforms-onboarding-byline-optin">
12
+ <input type="checkbox" id="happyforms-onboarding-byline-optin" />
13
+ <span><?php _e( 'Yes, I want to help support the free plugin by adding a powered by link in the footer of my forms and emails.', 'happyforms' ); ?></span>
14
+ </label>
15
+ <button type="submit" class="button button-primary button-hero"><?php _e( 'Complete Set Up', 'happyforms' ); ?></button>
16
+ <p><?php _e( '*By submitting you\'re okay for us to send you occasional marketing emails.', 'happyforms' ); ?></p>
17
+ </form>
18
+ </div>
19
+ <script type="text/javascript">
20
+ jQuery( function( $ ) { $( '#happyforms-onboarding-email' ).trigger( 'focus' ); } );
21
+ </script>
22
+ <?php else : ?>
23
+ <div class="happyforms-modal__heading">
24
+ <h1><?php _e( 'Powered by Happyforms', 'happyforms' ); ?></h1>
25
+ <p><?php _e( 'All it takes is one little "yes" from you to help us out.', 'happyforms' ); ?></p>
26
+ </div>
27
+ <div class="happyforms-modal__content">
28
+ <form>
29
+ <label for="happyforms-onboarding-byline-optin">
30
+ <input type="checkbox" id="happyforms-onboarding-byline-optin" />
31
+ <span><?php _e( 'Yes, I want to help support the free plugin by adding a powered by link in the footer of my forms and emails.', 'happyforms' ); ?></span>
32
+ </label>
33
+ <button type="submit" class="button button-primary button-hero"><?php _e( 'Complete', 'happyforms' ); ?></button>
34
+ </form>
35
+ </div>
36
+ <?php endif; ?>
inc/templates/admin/modal-upgrade.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div class="happyforms-modal__header">
2
+ <h1><?php _e( 'You’ll need to upgrade to access this', 'happyforms' ); ?></h1>
3
+ <p><?php _e( 'We offer several, affordable paid plans that include our best features. Upgrade today and increase your customer interactions.', 'happyforms' ); ?></p>
4
+ </div>
5
+ <div class="happyforms-modal__content">
6
+ <a href="https://happyforms.me/upgrade" target="_blank" class="button"><?php _e( 'Start Your Risk-Free 14-Day Trial', 'happyforms' ); ?></a>
7
+ <p><?php printf( 'Or %1$scontinue with free version%2$s', '<a href="#" class="happyforms-continue-link" onclick="happyForms.dashboard.closeModal(); return false;">', '</a>' ); ?></p>
8
+ </div>
inc/templates/admin/upgrade-modal.php DELETED
@@ -1,16 +0,0 @@
1
- <div id="happyforms-upgrade-modal" class="happyforms-upgrade-modal-container" style="display: none">
2
- <div class="happyforms-upgrade-modal">
3
- <h2>You’ll need to upgrade to access this</h2>
4
-
5
- <p>We offer several, affordable paid plans that include our best features. Upgrade today and increase your customer interactions.</p>
6
-
7
- <div class="happyforms-upgrade-modal__buttons">
8
- <div class="happyforms-upgrade-modal__button">
9
- <a href="https://happyforms.me/upgrade" target="_blank" class="button">Start Your Risk-Free 14-Day Trial</a>
10
- </div>
11
- <div class="happyforms-upgrade-modal__button happyforms-upgrade-modal__button--grey">
12
- Or <a href="#" class="happyforms-continue-link">continue with free version</a>
13
- </div>
14
- </div>
15
- </div>
16
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/templates/email-owner.php CHANGED
@@ -17,4 +17,6 @@
17
 
18
  <?php endif; ?>
19
 
20
- <?php endforeach; ?>
 
 
17
 
18
  <?php endif; ?>
19
 
20
+ <?php endforeach; ?>
21
+
22
+ <?php do_action( 'happyforms_email_owner_after' ); ?>
inc/templates/email-user.php CHANGED
@@ -26,3 +26,5 @@
26
  <?php endforeach; ?>
27
 
28
  <?php endif; ?>
 
 
26
  <?php endforeach; ?>
27
 
28
  <?php endif; ?>
29
+
30
+ <?php do_action( 'happyforms_email_user_after' ); ?>
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.4\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
- "POT-Creation-Date: 2021-04-13 06:41: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"
@@ -17,6 +17,7 @@ msgstr ""
17
  #: core/classes/class-happyforms-core.php:165
18
  #: core/classes/class-happyforms-core.php:166
19
  #: core/classes/class-happyforms-widget.php:13
 
20
  msgid "Forms"
21
  msgstr ""
22
 
@@ -229,7 +230,8 @@ msgstr ""
229
  msgid "Email me a copy of each submission"
230
  msgstr ""
231
 
232
- #: core/classes/class-form-email.php:96 core/templates/admin-tracking.php:15
 
233
  msgid "Email address"
234
  msgstr ""
235
 
@@ -299,74 +301,86 @@ msgstr ""
299
  msgid "Oops. This number is too big."
300
  msgstr ""
301
 
302
- #: core/classes/class-form-messages.php:73
 
 
 
 
303
  msgid "Alerts"
304
  msgstr ""
305
 
306
- #: core/classes/class-form-messages.php:74
307
  msgid ""
308
- "These messages are show to respondents at the very top of the form to "
309
  "communicate the form’s status."
310
  msgstr ""
311
 
312
- #: core/classes/class-form-messages.php:84
313
  msgid "Buttons"
314
  msgstr ""
315
 
316
- #: core/classes/class-form-messages.php:85
317
  msgid ""
318
  "The messages are shown to respondents as they fill out the form to help "
319
  "them trigger an action."
320
  msgstr ""
321
 
322
- #: core/classes/class-form-messages.php:94
323
  msgid "Errors"
324
  msgstr ""
325
 
326
- #: core/classes/class-form-messages.php:95
327
  msgid ""
328
- "These messages are show to respondents when they try to submit their reply "
329
  "but one or more fields has a mistake."
330
  msgstr ""
331
 
332
- #: core/classes/class-form-messages.php:104
333
  msgid "Hints"
334
  msgstr ""
335
 
336
- #: core/classes/class-form-messages.php:105
337
  msgid ""
338
- "These messages are show to respondents as they fill our the form to help "
339
  "them avoid mistakes."
340
  msgstr ""
341
 
342
- #: core/classes/class-form-messages.php:114
343
  msgid "Number too small"
344
  msgstr ""
345
 
346
- #: core/classes/class-form-messages.php:119
347
  msgid "Number too big"
348
  msgstr ""
349
 
350
- #: core/classes/class-form-messages.php:124
351
  msgid "Search couldn't find anything"
352
  msgstr ""
353
 
354
- #: core/classes/class-form-messages.php:129
355
  msgid "Minimum characters"
356
  msgstr ""
357
 
358
- #: core/classes/class-form-messages.php:134
359
  msgid "Maximum characters"
360
  msgstr ""
361
 
362
- #: core/classes/class-form-messages.php:139
363
  msgid "Minimum words"
364
  msgstr ""
365
 
366
- #: core/classes/class-form-messages.php:144
367
  msgid "Maximum words"
368
  msgstr ""
369
 
 
 
 
 
 
 
 
 
370
  #: core/classes/class-form-part-library.php:189
371
  msgid "Invalid data"
372
  msgstr ""
@@ -379,85 +393,73 @@ msgstr ""
379
  msgid "Missing validation callback for field %s"
380
  msgstr ""
381
 
382
- #: core/classes/class-form-setup.php:79
383
- msgid "This field is required."
384
- msgstr ""
385
-
386
- #: core/classes/class-form-setup.php:103
387
  msgid "Validate your submission"
388
  msgstr ""
389
 
390
- #: core/classes/class-form-setup.php:143
391
  msgid "Thank you. Your reply has been sent."
392
  msgstr ""
393
 
394
- #: core/classes/class-form-setup.php:147
395
  msgid "Bummer. We can't submit your reply. Please check for mistakes."
396
  msgstr ""
397
 
398
- #: core/classes/class-form-setup.php:151
399
  msgid "Send"
400
  msgstr ""
401
 
402
- #: core/classes/class-form-setup.php:155
403
- msgid "(optional)"
404
- msgstr ""
405
-
406
- #: core/classes/class-form-setup.php:169
407
  msgid "After the form is submitted"
408
  msgstr ""
409
 
410
- #: core/classes/class-form-setup.php:171
411
  msgid "Show a message"
412
  msgstr ""
413
 
414
- #: core/classes/class-form-setup.php:172
415
  msgid "Show a message and allow to resubmit the form"
416
  msgstr ""
417
 
418
- #: core/classes/class-form-setup.php:173
419
  msgid "Redirect to a web address"
420
  msgstr ""
421
 
422
- #: core/classes/class-form-setup.php:180
423
  #: core/templates/customize-form-parts-drawer.php:38
424
  #: inc/templates/customize-controls/checkbox_dummy.php:7
425
  #: inc/templates/customize-controls/email-parts-list-dummy.php:11
426
  msgid "Upgrade"
427
  msgstr ""
428
 
429
- #: core/classes/class-form-setup.php:193
430
  msgid "Add custom CSS classes to submit button"
431
  msgstr ""
432
 
433
- #: core/classes/class-form-setup.php:202
434
  msgid "Submit button CSS classes"
435
  msgstr ""
436
 
437
- #: core/classes/class-form-setup.php:212
438
  msgid "Add custom HTML ID to form"
439
  msgstr ""
440
 
441
- #: core/classes/class-form-setup.php:222
442
  msgid "Form HTML ID"
443
  msgstr ""
444
 
445
- #: core/classes/class-form-setup.php:240
446
  msgid "Form is successfully submitted"
447
  msgstr ""
448
 
449
- #: core/classes/class-form-setup.php:245
450
  msgid "Form can’t be submitted"
451
  msgstr ""
452
 
453
- #: core/classes/class-form-setup.php:251
454
  msgid "Submit form"
455
  msgstr ""
456
 
457
- #: core/classes/class-form-setup.php:256
458
- msgid "Question is optional"
459
- msgstr ""
460
-
461
  #: core/classes/class-form-styles.php:53
462
  msgid "Left-to-right"
463
  msgstr ""
@@ -928,12 +930,7 @@ msgstr ""
928
  msgid "Settings"
929
  msgstr ""
930
 
931
- #: core/classes/class-happyforms-core.php:216
932
- #: core/classes/class-happyforms-core.php:217
933
- msgid "Welcome"
934
- msgstr ""
935
-
936
- #: core/classes/class-happyforms-core.php:453
937
  msgid "Add Form"
938
  msgstr ""
939
 
@@ -945,33 +942,33 @@ msgstr ""
945
  msgid "Form:"
946
  msgstr ""
947
 
948
- #: core/classes/class-tracking.php:169
949
  msgid "Sorry, you are not allowed to access this page."
950
  msgstr ""
951
 
952
- #: core/classes/class-tracking.php:205
953
  msgid "Thank you!"
954
  msgstr ""
955
 
956
- #: core/classes/class-tracking.php:206
957
  msgid "Now let's go enjoy HappyForms."
958
  msgstr ""
959
 
960
- #: core/classes/class-tracking.php:207
961
  msgid ""
962
  "You've set up notifications and helped us to improve HappyForms. You're "
963
  "ready to get started with your first form."
964
  msgstr ""
965
 
966
- #: core/classes/class-tracking.php:208
967
  msgid "Create your first form"
968
  msgstr ""
969
 
970
- #: core/classes/class-tracking.php:210
971
  msgid "Aw snap! Something went wrong."
972
  msgstr ""
973
 
974
- #: core/classes/class-tracking.php:211
975
  msgid "Error description"
976
  msgstr ""
977
 
@@ -1134,39 +1131,39 @@ msgstr ""
1134
  msgid "For single line text fields."
1135
  msgstr ""
1136
 
1137
- #: core/helpers/helper-activation.php:71
1138
  msgid "Sample Form"
1139
  msgstr ""
1140
 
1141
- #: core/helpers/helper-activation.php:101
1142
  msgid "First name"
1143
  msgstr ""
1144
 
1145
- #: core/helpers/helper-activation.php:106
1146
  msgid "Last name"
1147
  msgstr ""
1148
 
1149
- #: core/helpers/helper-activation.php:111
1150
  msgid "What's your reason for contacting us?"
1151
  msgstr ""
1152
 
1153
- #: core/helpers/helper-activation.php:114
1154
  msgid "Need technical help"
1155
  msgstr ""
1156
 
1157
- #: core/helpers/helper-activation.php:117
1158
  msgid "Want to suggest a feature"
1159
  msgstr ""
1160
 
1161
- #: core/helpers/helper-activation.php:120
1162
  msgid "Asking about my account"
1163
  msgstr ""
1164
 
1165
- #: core/helpers/helper-activation.php:126
1166
  msgid "What's your age?"
1167
  msgstr ""
1168
 
1169
- #: core/helpers/helper-activation.php:131
1170
  msgid "Your message"
1171
  msgstr ""
1172
 
@@ -1174,1028 +1171,1028 @@ msgstr ""
1174
  msgid "Spam protection, skip this field"
1175
  msgstr ""
1176
 
1177
- #: core/helpers/helper-form-templates.php:1010
1178
  msgid "January"
1179
  msgstr ""
1180
 
1181
- #: core/helpers/helper-form-templates.php:1011
1182
  msgid "February"
1183
  msgstr ""
1184
 
1185
- #: core/helpers/helper-form-templates.php:1012
1186
  msgid "March"
1187
  msgstr ""
1188
 
1189
- #: core/helpers/helper-form-templates.php:1013
1190
  msgid "April"
1191
  msgstr ""
1192
 
1193
- #: core/helpers/helper-form-templates.php:1014
1194
  msgid "May"
1195
  msgstr ""
1196
 
1197
- #: core/helpers/helper-form-templates.php:1015
1198
  msgid "June"
1199
  msgstr ""
1200
 
1201
- #: core/helpers/helper-form-templates.php:1016
1202
  msgid "July"
1203
  msgstr ""
1204
 
1205
- #: core/helpers/helper-form-templates.php:1017
1206
  msgid "August"
1207
  msgstr ""
1208
 
1209
- #: core/helpers/helper-form-templates.php:1018
1210
  msgid "September"
1211
  msgstr ""
1212
 
1213
- #: core/helpers/helper-form-templates.php:1019
1214
  msgid "October"
1215
  msgstr ""
1216
 
1217
- #: core/helpers/helper-form-templates.php:1020
1218
  msgid "November"
1219
  msgstr ""
1220
 
1221
- #: core/helpers/helper-form-templates.php:1021
1222
  msgid "December"
1223
  msgstr ""
1224
 
1225
- #: core/helpers/helper-form-templates.php:1062
1226
  msgid "Ascension Island"
1227
  msgstr ""
1228
 
1229
- #: core/helpers/helper-form-templates.php:1063 core/helpers/helper-misc.php:228
1230
  msgid "Andorra"
1231
  msgstr ""
1232
 
1233
- #: core/helpers/helper-form-templates.php:1064 core/helpers/helper-misc.php:446
1234
  msgid "United Arab Emirates"
1235
  msgstr ""
1236
 
1237
- #: core/helpers/helper-form-templates.php:1065 core/helpers/helper-misc.php:224
1238
  msgid "Afghanistan"
1239
  msgstr ""
1240
 
1241
- #: core/helpers/helper-form-templates.php:1066 core/helpers/helper-misc.php:232
1242
  msgid "Antigua and Barbuda"
1243
  msgstr ""
1244
 
1245
- #: core/helpers/helper-form-templates.php:1067 core/helpers/helper-misc.php:230
1246
  msgid "Anguilla"
1247
  msgstr ""
1248
 
1249
- #: core/helpers/helper-form-templates.php:1068 core/helpers/helper-misc.php:225
1250
  msgid "Albania"
1251
  msgstr ""
1252
 
1253
- #: core/helpers/helper-form-templates.php:1069 core/helpers/helper-misc.php:234
1254
  msgid "Armenia"
1255
  msgstr ""
1256
 
1257
- #: core/helpers/helper-form-templates.php:1070 core/helpers/helper-misc.php:229
1258
  msgid "Angola"
1259
  msgstr ""
1260
 
1261
- #: core/helpers/helper-form-templates.php:1071 core/helpers/helper-misc.php:233
1262
  msgid "Argentina"
1263
  msgstr ""
1264
 
1265
- #: core/helpers/helper-form-templates.php:1072 core/helpers/helper-misc.php:227
1266
  msgid "American Samoa"
1267
  msgstr ""
1268
 
1269
- #: core/helpers/helper-form-templates.php:1073 core/helpers/helper-misc.php:237
1270
  msgid "Austria"
1271
  msgstr ""
1272
 
1273
- #: core/helpers/helper-form-templates.php:1074 core/helpers/helper-misc.php:236
1274
  msgid "Australia"
1275
  msgstr ""
1276
 
1277
- #: core/helpers/helper-form-templates.php:1075 core/helpers/helper-misc.php:235
1278
  msgid "Aruba"
1279
  msgstr ""
1280
 
1281
- #: core/helpers/helper-form-templates.php:1076
1282
  msgid "Åland Islands"
1283
  msgstr ""
1284
 
1285
- #: core/helpers/helper-form-templates.php:1077 core/helpers/helper-misc.php:238
1286
  msgid "Azerbaijan"
1287
  msgstr ""
1288
 
1289
- #: core/helpers/helper-form-templates.php:1078
1290
  msgid "Bosnia and Herzegovina"
1291
  msgstr ""
1292
 
1293
- #: core/helpers/helper-form-templates.php:1079 core/helpers/helper-misc.php:242
1294
  msgid "Barbados"
1295
  msgstr ""
1296
 
1297
- #: core/helpers/helper-form-templates.php:1080 core/helpers/helper-misc.php:241
1298
  msgid "Bangladesh"
1299
  msgstr ""
1300
 
1301
- #: core/helpers/helper-form-templates.php:1081 core/helpers/helper-misc.php:244
1302
  msgid "Belgium"
1303
  msgstr ""
1304
 
1305
- #: core/helpers/helper-form-templates.php:1082 core/helpers/helper-misc.php:257
1306
  msgid "Burkina Faso"
1307
  msgstr ""
1308
 
1309
- #: core/helpers/helper-form-templates.php:1083 core/helpers/helper-misc.php:256
1310
  msgid "Bulgaria"
1311
  msgstr ""
1312
 
1313
- #: core/helpers/helper-form-templates.php:1084 core/helpers/helper-misc.php:240
1314
  msgid "Bahrain"
1315
  msgstr ""
1316
 
1317
- #: core/helpers/helper-form-templates.php:1085 core/helpers/helper-misc.php:258
1318
  msgid "Burundi"
1319
  msgstr ""
1320
 
1321
- #: core/helpers/helper-form-templates.php:1086 core/helpers/helper-misc.php:246
1322
  msgid "Benin"
1323
  msgstr ""
1324
 
1325
- #: core/helpers/helper-form-templates.php:1087
1326
  msgid "Saint Barthélemy"
1327
  msgstr ""
1328
 
1329
- #: core/helpers/helper-form-templates.php:1088 core/helpers/helper-misc.php:247
1330
  msgid "Bermuda"
1331
  msgstr ""
1332
 
1333
- #: core/helpers/helper-form-templates.php:1089 core/helpers/helper-misc.php:255
1334
  msgid "Brunei Darussalam"
1335
  msgstr ""
1336
 
1337
- #: core/helpers/helper-form-templates.php:1090 core/helpers/helper-misc.php:249
1338
  msgid "Bolivia"
1339
  msgstr ""
1340
 
1341
- #: core/helpers/helper-form-templates.php:1091
1342
  msgid "Bonaire, Sint Eustatius and Saba"
1343
  msgstr ""
1344
 
1345
- #: core/helpers/helper-form-templates.php:1092 core/helpers/helper-misc.php:253
1346
  msgid "Brazil"
1347
  msgstr ""
1348
 
1349
- #: core/helpers/helper-form-templates.php:1093 core/helpers/helper-misc.php:239
1350
  msgid "Bahamas"
1351
  msgstr ""
1352
 
1353
- #: core/helpers/helper-form-templates.php:1094 core/helpers/helper-misc.php:248
1354
  msgid "Bhutan"
1355
  msgstr ""
1356
 
1357
- #: core/helpers/helper-form-templates.php:1095 core/helpers/helper-misc.php:251
1358
  msgid "Botswana"
1359
  msgstr ""
1360
 
1361
- #: core/helpers/helper-form-templates.php:1096 core/helpers/helper-misc.php:243
1362
  msgid "Belarus"
1363
  msgstr ""
1364
 
1365
- #: core/helpers/helper-form-templates.php:1097 core/helpers/helper-misc.php:245
1366
  msgid "Belize"
1367
  msgstr ""
1368
 
1369
- #: core/helpers/helper-form-templates.php:1098 core/helpers/helper-misc.php:261
1370
  msgid "Canada"
1371
  msgstr ""
1372
 
1373
- #: core/helpers/helper-form-templates.php:1099 core/helpers/helper-misc.php:269
1374
  msgid "Cocos (Keeling) Islands"
1375
  msgstr ""
1376
 
1377
- #: core/helpers/helper-form-templates.php:1100 core/helpers/helper-misc.php:273
1378
  msgid "Congo, the Democratic Republic of the"
1379
  msgstr ""
1380
 
1381
- #: core/helpers/helper-form-templates.php:1101 core/helpers/helper-misc.php:264
1382
  msgid "Central African Republic"
1383
  msgstr ""
1384
 
1385
- #: core/helpers/helper-form-templates.php:1102 core/helpers/helper-misc.php:272
1386
  msgid "Congo"
1387
  msgstr ""
1388
 
1389
- #: core/helpers/helper-form-templates.php:1103 core/helpers/helper-misc.php:429
1390
  msgid "Switzerland"
1391
  msgstr ""
1392
 
1393
- #: core/helpers/helper-form-templates.php:1104
1394
  msgid "Cote D'Ivoire"
1395
  msgstr ""
1396
 
1397
- #: core/helpers/helper-form-templates.php:1105 core/helpers/helper-misc.php:274
1398
  msgid "Cook Islands"
1399
  msgstr ""
1400
 
1401
- #: core/helpers/helper-form-templates.php:1106 core/helpers/helper-misc.php:266
1402
  msgid "Chile"
1403
  msgstr ""
1404
 
1405
- #: core/helpers/helper-form-templates.php:1107 core/helpers/helper-misc.php:260
1406
  msgid "Cameroon"
1407
  msgstr ""
1408
 
1409
- #: core/helpers/helper-form-templates.php:1108 core/helpers/helper-misc.php:267
1410
  msgid "China"
1411
  msgstr ""
1412
 
1413
- #: core/helpers/helper-form-templates.php:1109 core/helpers/helper-misc.php:270
1414
  msgid "Colombia"
1415
  msgstr ""
1416
 
1417
- #: core/helpers/helper-form-templates.php:1110 core/helpers/helper-misc.php:275
1418
  msgid "Costa Rica"
1419
  msgstr ""
1420
 
1421
- #: core/helpers/helper-form-templates.php:1111 core/helpers/helper-misc.php:278
1422
  msgid "Cuba"
1423
  msgstr ""
1424
 
1425
- #: core/helpers/helper-form-templates.php:1112 core/helpers/helper-misc.php:262
1426
  msgid "Cape Verde"
1427
  msgstr ""
1428
 
1429
- #: core/helpers/helper-form-templates.php:1113
1430
  msgid "Curaçao"
1431
  msgstr ""
1432
 
1433
- #: core/helpers/helper-form-templates.php:1114 core/helpers/helper-misc.php:268
1434
  msgid "Christmas Island"
1435
  msgstr ""
1436
 
1437
- #: core/helpers/helper-form-templates.php:1115 core/helpers/helper-misc.php:279
1438
  msgid "Cyprus"
1439
  msgstr ""
1440
 
1441
- #: core/helpers/helper-form-templates.php:1116 core/helpers/helper-misc.php:280
1442
  msgid "Czech Republic"
1443
  msgstr ""
1444
 
1445
- #: core/helpers/helper-form-templates.php:1117 core/helpers/helper-misc.php:305
1446
  msgid "Germany"
1447
  msgstr ""
1448
 
1449
- #: core/helpers/helper-form-templates.php:1118 core/helpers/helper-misc.php:282
1450
  msgid "Djibouti"
1451
  msgstr ""
1452
 
1453
- #: core/helpers/helper-form-templates.php:1119 core/helpers/helper-misc.php:281
1454
  msgid "Denmark"
1455
  msgstr ""
1456
 
1457
- #: core/helpers/helper-form-templates.php:1120 core/helpers/helper-misc.php:283
1458
  msgid "Dominica"
1459
  msgstr ""
1460
 
1461
- #: core/helpers/helper-form-templates.php:1121 core/helpers/helper-misc.php:284
1462
  msgid "Dominican Republic"
1463
  msgstr ""
1464
 
1465
- #: core/helpers/helper-form-templates.php:1122 core/helpers/helper-misc.php:226
1466
  msgid "Algeria"
1467
  msgstr ""
1468
 
1469
- #: core/helpers/helper-form-templates.php:1123 core/helpers/helper-misc.php:286
1470
  msgid "Ecuador"
1471
  msgstr ""
1472
 
1473
- #: core/helpers/helper-form-templates.php:1124 core/helpers/helper-misc.php:291
1474
  msgid "Estonia"
1475
  msgstr ""
1476
 
1477
- #: core/helpers/helper-form-templates.php:1125 core/helpers/helper-misc.php:287
1478
  msgid "Egypt"
1479
  msgstr ""
1480
 
1481
- #: core/helpers/helper-form-templates.php:1126 core/helpers/helper-misc.php:458
1482
  msgid "Western Sahara"
1483
  msgstr ""
1484
 
1485
- #: core/helpers/helper-form-templates.php:1127 core/helpers/helper-misc.php:290
1486
  msgid "Eritrea"
1487
  msgstr ""
1488
 
1489
- #: core/helpers/helper-form-templates.php:1128 core/helpers/helper-misc.php:420
1490
  msgid "Spain"
1491
  msgstr ""
1492
 
1493
- #: core/helpers/helper-form-templates.php:1129 core/helpers/helper-misc.php:292
1494
  msgid "Ethiopia"
1495
  msgstr ""
1496
 
1497
- #: core/helpers/helper-form-templates.php:1130 core/helpers/helper-misc.php:296
1498
  msgid "Finland"
1499
  msgstr ""
1500
 
1501
- #: core/helpers/helper-form-templates.php:1131 core/helpers/helper-misc.php:295
1502
  msgid "Fiji"
1503
  msgstr ""
1504
 
1505
- #: core/helpers/helper-form-templates.php:1132 core/helpers/helper-misc.php:293
1506
  msgid "Falkland Islands (Malvinas)"
1507
  msgstr ""
1508
 
1509
- #: core/helpers/helper-form-templates.php:1133 core/helpers/helper-misc.php:364
1510
  msgid "Micronesia, Federated States of"
1511
  msgstr ""
1512
 
1513
- #: core/helpers/helper-form-templates.php:1134 core/helpers/helper-misc.php:294
1514
  msgid "Faroe Islands"
1515
  msgstr ""
1516
 
1517
- #: core/helpers/helper-form-templates.php:1135 core/helpers/helper-misc.php:297
1518
  msgid "France"
1519
  msgstr ""
1520
 
1521
- #: core/helpers/helper-form-templates.php:1136 core/helpers/helper-misc.php:302
1522
  msgid "Gabon"
1523
  msgstr ""
1524
 
1525
- #: core/helpers/helper-form-templates.php:1137 core/helpers/helper-misc.php:447
1526
  msgid "United Kingdom"
1527
  msgstr ""
1528
 
1529
- #: core/helpers/helper-form-templates.php:1138 core/helpers/helper-misc.php:310
1530
  msgid "Grenada"
1531
  msgstr ""
1532
 
1533
- #: core/helpers/helper-form-templates.php:1139 core/helpers/helper-misc.php:304
1534
  msgid "Georgia"
1535
  msgstr ""
1536
 
1537
- #: core/helpers/helper-form-templates.php:1140 core/helpers/helper-misc.php:299
1538
  msgid "French Guiana"
1539
  msgstr ""
1540
 
1541
- #: core/helpers/helper-form-templates.php:1141
1542
  msgid "Guernsey"
1543
  msgstr ""
1544
 
1545
- #: core/helpers/helper-form-templates.php:1142 core/helpers/helper-misc.php:306
1546
  msgid "Ghana"
1547
  msgstr ""
1548
 
1549
- #: core/helpers/helper-form-templates.php:1143 core/helpers/helper-misc.php:307
1550
  msgid "Gibraltar"
1551
  msgstr ""
1552
 
1553
- #: core/helpers/helper-form-templates.php:1144 core/helpers/helper-misc.php:309
1554
  msgid "Greenland"
1555
  msgstr ""
1556
 
1557
- #: core/helpers/helper-form-templates.php:1145 core/helpers/helper-misc.php:303
1558
  msgid "Gambia"
1559
  msgstr ""
1560
 
1561
- #: core/helpers/helper-form-templates.php:1146 core/helpers/helper-misc.php:314
1562
  msgid "Guinea"
1563
  msgstr ""
1564
 
1565
- #: core/helpers/helper-form-templates.php:1147 core/helpers/helper-misc.php:311
1566
  msgid "Guadeloupe"
1567
  msgstr ""
1568
 
1569
- #: core/helpers/helper-form-templates.php:1148 core/helpers/helper-misc.php:289
1570
  msgid "Equatorial Guinea"
1571
  msgstr ""
1572
 
1573
- #: core/helpers/helper-form-templates.php:1149 core/helpers/helper-misc.php:308
1574
  msgid "Greece"
1575
  msgstr ""
1576
 
1577
- #: core/helpers/helper-form-templates.php:1150 core/helpers/helper-misc.php:313
1578
  msgid "Guatemala"
1579
  msgstr ""
1580
 
1581
- #: core/helpers/helper-form-templates.php:1151 core/helpers/helper-misc.php:312
1582
  msgid "Guam"
1583
  msgstr ""
1584
 
1585
- #: core/helpers/helper-form-templates.php:1152 core/helpers/helper-misc.php:315
1586
  msgid "Guinea-Bissau"
1587
  msgstr ""
1588
 
1589
- #: core/helpers/helper-form-templates.php:1153 core/helpers/helper-misc.php:316
1590
  msgid "Guyana"
1591
  msgstr ""
1592
 
1593
- #: core/helpers/helper-form-templates.php:1154 core/helpers/helper-misc.php:321
1594
  msgid "Hong Kong"
1595
  msgstr ""
1596
 
1597
- #: core/helpers/helper-form-templates.php:1155 core/helpers/helper-misc.php:320
1598
  msgid "Honduras"
1599
  msgstr ""
1600
 
1601
- #: core/helpers/helper-form-templates.php:1156
1602
  msgid "Croatia"
1603
  msgstr ""
1604
 
1605
- #: core/helpers/helper-form-templates.php:1157 core/helpers/helper-misc.php:317
1606
  msgid "Haiti"
1607
  msgstr ""
1608
 
1609
- #: core/helpers/helper-form-templates.php:1158 core/helpers/helper-misc.php:322
1610
  msgid "Hungary"
1611
  msgstr ""
1612
 
1613
- #: core/helpers/helper-form-templates.php:1159 core/helpers/helper-misc.php:325
1614
  msgid "Indonesia"
1615
  msgstr ""
1616
 
1617
- #: core/helpers/helper-form-templates.php:1160 core/helpers/helper-misc.php:328
1618
  msgid "Ireland"
1619
  msgstr ""
1620
 
1621
- #: core/helpers/helper-form-templates.php:1161 core/helpers/helper-misc.php:329
1622
  msgid "Israel"
1623
  msgstr ""
1624
 
1625
- #: core/helpers/helper-form-templates.php:1162
1626
  msgid "Isle of Man"
1627
  msgstr ""
1628
 
1629
- #: core/helpers/helper-form-templates.php:1163 core/helpers/helper-misc.php:324
1630
  msgid "India"
1631
  msgstr ""
1632
 
1633
- #: core/helpers/helper-form-templates.php:1164 core/helpers/helper-misc.php:254
1634
  msgid "British Indian Ocean Territory"
1635
  msgstr ""
1636
 
1637
- #: core/helpers/helper-form-templates.php:1165 core/helpers/helper-misc.php:327
1638
  msgid "Iraq"
1639
  msgstr ""
1640
 
1641
- #: core/helpers/helper-form-templates.php:1166
1642
  msgid "Iran, Islamic Republic of"
1643
  msgstr ""
1644
 
1645
- #: core/helpers/helper-form-templates.php:1167 core/helpers/helper-misc.php:323
1646
  msgid "Iceland"
1647
  msgstr ""
1648
 
1649
- #: core/helpers/helper-form-templates.php:1168 core/helpers/helper-misc.php:330
1650
  msgid "Italy"
1651
  msgstr ""
1652
 
1653
- #: core/helpers/helper-form-templates.php:1169
1654
  msgid "Jersey"
1655
  msgstr ""
1656
 
1657
- #: core/helpers/helper-form-templates.php:1170 core/helpers/helper-misc.php:331
1658
  msgid "Jamaica"
1659
  msgstr ""
1660
 
1661
- #: core/helpers/helper-form-templates.php:1171 core/helpers/helper-misc.php:333
1662
  msgid "Jordan"
1663
  msgstr ""
1664
 
1665
- #: core/helpers/helper-form-templates.php:1172 core/helpers/helper-misc.php:332
1666
  msgid "Japan"
1667
  msgstr ""
1668
 
1669
- #: core/helpers/helper-form-templates.php:1173 core/helpers/helper-misc.php:335
1670
  msgid "Kenya"
1671
  msgstr ""
1672
 
1673
- #: core/helpers/helper-form-templates.php:1174 core/helpers/helper-misc.php:340
1674
  msgid "Kyrgyzstan"
1675
  msgstr ""
1676
 
1677
- #: core/helpers/helper-form-templates.php:1175 core/helpers/helper-misc.php:259
1678
  msgid "Cambodia"
1679
  msgstr ""
1680
 
1681
- #: core/helpers/helper-form-templates.php:1176 core/helpers/helper-misc.php:336
1682
  msgid "Kiribati"
1683
  msgstr ""
1684
 
1685
- #: core/helpers/helper-form-templates.php:1177 core/helpers/helper-misc.php:271
1686
  msgid "Comoros"
1687
  msgstr ""
1688
 
1689
- #: core/helpers/helper-form-templates.php:1178 core/helpers/helper-misc.php:403
1690
  msgid "Saint Kitts and Nevis"
1691
  msgstr ""
1692
 
1693
- #: core/helpers/helper-form-templates.php:1179
1694
  msgid "North Korea"
1695
  msgstr ""
1696
 
1697
- #: core/helpers/helper-form-templates.php:1180
1698
  msgid "South Korea"
1699
  msgstr ""
1700
 
1701
- #: core/helpers/helper-form-templates.php:1181 core/helpers/helper-misc.php:339
1702
  msgid "Kuwait"
1703
  msgstr ""
1704
 
1705
- #: core/helpers/helper-form-templates.php:1182 core/helpers/helper-misc.php:263
1706
  msgid "Cayman Islands"
1707
  msgstr ""
1708
 
1709
- #: core/helpers/helper-form-templates.php:1183 core/helpers/helper-misc.php:334
1710
  msgid "Kazakhstan"
1711
  msgstr ""
1712
 
1713
- #: core/helpers/helper-form-templates.php:1184
1714
  msgid "Lao People's Democratic Republic"
1715
  msgstr ""
1716
 
1717
- #: core/helpers/helper-form-templates.php:1185 core/helpers/helper-misc.php:343
1718
  msgid "Lebanon"
1719
  msgstr ""
1720
 
1721
- #: core/helpers/helper-form-templates.php:1186 core/helpers/helper-misc.php:404
1722
  msgid "Saint Lucia"
1723
  msgstr ""
1724
 
1725
- #: core/helpers/helper-form-templates.php:1187 core/helpers/helper-misc.php:347
1726
  msgid "Liechtenstein"
1727
  msgstr ""
1728
 
1729
- #: core/helpers/helper-form-templates.php:1188 core/helpers/helper-misc.php:421
1730
  msgid "Sri Lanka"
1731
  msgstr ""
1732
 
1733
- #: core/helpers/helper-form-templates.php:1189 core/helpers/helper-misc.php:345
1734
  msgid "Liberia"
1735
  msgstr ""
1736
 
1737
- #: core/helpers/helper-form-templates.php:1190 core/helpers/helper-misc.php:344
1738
  msgid "Lesotho"
1739
  msgstr ""
1740
 
1741
- #: core/helpers/helper-form-templates.php:1191 core/helpers/helper-misc.php:348
1742
  msgid "Lithuania"
1743
  msgstr ""
1744
 
1745
- #: core/helpers/helper-form-templates.php:1192 core/helpers/helper-misc.php:349
1746
  msgid "Luxembourg"
1747
  msgstr ""
1748
 
1749
- #: core/helpers/helper-form-templates.php:1193 core/helpers/helper-misc.php:342
1750
  msgid "Latvia"
1751
  msgstr ""
1752
 
1753
- #: core/helpers/helper-form-templates.php:1194
1754
  msgid "Libya"
1755
  msgstr ""
1756
 
1757
- #: core/helpers/helper-form-templates.php:1195 core/helpers/helper-misc.php:369
1758
  msgid "Morocco"
1759
  msgstr ""
1760
 
1761
- #: core/helpers/helper-form-templates.php:1196 core/helpers/helper-misc.php:366
1762
  msgid "Monaco"
1763
  msgstr ""
1764
 
1765
- #: core/helpers/helper-form-templates.php:1197 core/helpers/helper-misc.php:365
1766
  msgid "Moldova, Republic of"
1767
  msgstr ""
1768
 
1769
- #: core/helpers/helper-form-templates.php:1198
1770
  msgid "Montenegro"
1771
  msgstr ""
1772
 
1773
- #: core/helpers/helper-form-templates.php:1199
1774
  msgid "Saint Martin (French part)"
1775
  msgstr ""
1776
 
1777
- #: core/helpers/helper-form-templates.php:1200 core/helpers/helper-misc.php:352
1778
  msgid "Madagascar"
1779
  msgstr ""
1780
 
1781
- #: core/helpers/helper-form-templates.php:1201 core/helpers/helper-misc.php:358
1782
  msgid "Marshall Islands"
1783
  msgstr ""
1784
 
1785
- #: core/helpers/helper-form-templates.php:1202
1786
  msgid "North Macedonia, Republic of"
1787
  msgstr ""
1788
 
1789
- #: core/helpers/helper-form-templates.php:1203 core/helpers/helper-misc.php:356
1790
  msgid "Mali"
1791
  msgstr ""
1792
 
1793
- #: core/helpers/helper-form-templates.php:1204 core/helpers/helper-misc.php:371
1794
  msgid "Myanmar"
1795
  msgstr ""
1796
 
1797
- #: core/helpers/helper-form-templates.php:1205 core/helpers/helper-misc.php:367
1798
  msgid "Mongolia"
1799
  msgstr ""
1800
 
1801
- #: core/helpers/helper-form-templates.php:1206
1802
  msgid "Macao"
1803
  msgstr ""
1804
 
1805
- #: core/helpers/helper-form-templates.php:1207 core/helpers/helper-misc.php:384
1806
  msgid "Northern Mariana Islands"
1807
  msgstr ""
1808
 
1809
- #: core/helpers/helper-form-templates.php:1208 core/helpers/helper-misc.php:359
1810
  msgid "Martinique"
1811
  msgstr ""
1812
 
1813
- #: core/helpers/helper-form-templates.php:1209 core/helpers/helper-misc.php:360
1814
  msgid "Mauritania"
1815
  msgstr ""
1816
 
1817
- #: core/helpers/helper-form-templates.php:1210 core/helpers/helper-misc.php:368
1818
  msgid "Montserrat"
1819
  msgstr ""
1820
 
1821
- #: core/helpers/helper-form-templates.php:1211 core/helpers/helper-misc.php:357
1822
  msgid "Malta"
1823
  msgstr ""
1824
 
1825
- #: core/helpers/helper-form-templates.php:1212 core/helpers/helper-misc.php:361
1826
  msgid "Mauritius"
1827
  msgstr ""
1828
 
1829
- #: core/helpers/helper-form-templates.php:1213 core/helpers/helper-misc.php:355
1830
  msgid "Maldives"
1831
  msgstr ""
1832
 
1833
- #: core/helpers/helper-form-templates.php:1214 core/helpers/helper-misc.php:353
1834
  msgid "Malawi"
1835
  msgstr ""
1836
 
1837
- #: core/helpers/helper-form-templates.php:1215 core/helpers/helper-misc.php:363
1838
  msgid "Mexico"
1839
  msgstr ""
1840
 
1841
- #: core/helpers/helper-form-templates.php:1216 core/helpers/helper-misc.php:354
1842
  msgid "Malaysia"
1843
  msgstr ""
1844
 
1845
- #: core/helpers/helper-form-templates.php:1217 core/helpers/helper-misc.php:370
1846
  msgid "Mozambique"
1847
  msgstr ""
1848
 
1849
- #: core/helpers/helper-form-templates.php:1218 core/helpers/helper-misc.php:372
1850
  msgid "Namibia"
1851
  msgstr ""
1852
 
1853
- #: core/helpers/helper-form-templates.php:1219 core/helpers/helper-misc.php:377
1854
  msgid "New Caledonia"
1855
  msgstr ""
1856
 
1857
- #: core/helpers/helper-form-templates.php:1220 core/helpers/helper-misc.php:380
1858
  msgid "Niger"
1859
  msgstr ""
1860
 
1861
- #: core/helpers/helper-form-templates.php:1221 core/helpers/helper-misc.php:383
1862
  msgid "Norfolk Island"
1863
  msgstr ""
1864
 
1865
- #: core/helpers/helper-form-templates.php:1222 core/helpers/helper-misc.php:381
1866
  msgid "Nigeria"
1867
  msgstr ""
1868
 
1869
- #: core/helpers/helper-form-templates.php:1223 core/helpers/helper-misc.php:379
1870
  msgid "Nicaragua"
1871
  msgstr ""
1872
 
1873
- #: core/helpers/helper-form-templates.php:1224 core/helpers/helper-misc.php:375
1874
  msgid "Netherlands"
1875
  msgstr ""
1876
 
1877
- #: core/helpers/helper-form-templates.php:1225 core/helpers/helper-misc.php:385
1878
  msgid "Norway"
1879
  msgstr ""
1880
 
1881
- #: core/helpers/helper-form-templates.php:1226 core/helpers/helper-misc.php:374
1882
  msgid "Nepal"
1883
  msgstr ""
1884
 
1885
- #: core/helpers/helper-form-templates.php:1227 core/helpers/helper-misc.php:373
1886
  msgid "Nauru"
1887
  msgstr ""
1888
 
1889
- #: core/helpers/helper-form-templates.php:1228 core/helpers/helper-misc.php:382
1890
  msgid "Niue"
1891
  msgstr ""
1892
 
1893
- #: core/helpers/helper-form-templates.php:1229 core/helpers/helper-misc.php:378
1894
  msgid "New Zealand"
1895
  msgstr ""
1896
 
1897
- #: core/helpers/helper-form-templates.php:1230 core/helpers/helper-misc.php:386
1898
  msgid "Oman"
1899
  msgstr ""
1900
 
1901
- #: core/helpers/helper-form-templates.php:1231 core/helpers/helper-misc.php:389
1902
  msgid "Panama"
1903
  msgstr ""
1904
 
1905
- #: core/helpers/helper-form-templates.php:1232 core/helpers/helper-misc.php:392
1906
  msgid "Peru"
1907
  msgstr ""
1908
 
1909
- #: core/helpers/helper-form-templates.php:1233 core/helpers/helper-misc.php:300
1910
  msgid "French Polynesia"
1911
  msgstr ""
1912
 
1913
- #: core/helpers/helper-form-templates.php:1234 core/helpers/helper-misc.php:390
1914
  msgid "Papua New Guinea"
1915
  msgstr ""
1916
 
1917
- #: core/helpers/helper-form-templates.php:1235 core/helpers/helper-misc.php:393
1918
  msgid "Philippines"
1919
  msgstr ""
1920
 
1921
- #: core/helpers/helper-form-templates.php:1236 core/helpers/helper-misc.php:387
1922
  msgid "Pakistan"
1923
  msgstr ""
1924
 
1925
- #: core/helpers/helper-form-templates.php:1237 core/helpers/helper-misc.php:395
1926
  msgid "Poland"
1927
  msgstr ""
1928
 
1929
- #: core/helpers/helper-form-templates.php:1238
1930
  msgid "Saint Pierre and Miquelon"
1931
  msgstr ""
1932
 
1933
- #: core/helpers/helper-form-templates.php:1239 core/helpers/helper-misc.php:397
1934
  msgid "Puerto Rico"
1935
  msgstr ""
1936
 
1937
- #: core/helpers/helper-form-templates.php:1240
1938
  msgid "Palestinian Territory, Occupied"
1939
  msgstr ""
1940
 
1941
- #: core/helpers/helper-form-templates.php:1241 core/helpers/helper-misc.php:396
1942
  msgid "Portugal"
1943
  msgstr ""
1944
 
1945
- #: core/helpers/helper-form-templates.php:1242 core/helpers/helper-misc.php:388
1946
  msgid "Palau"
1947
  msgstr ""
1948
 
1949
- #: core/helpers/helper-form-templates.php:1243 core/helpers/helper-misc.php:391
1950
  msgid "Paraguay"
1951
  msgstr ""
1952
 
1953
- #: core/helpers/helper-form-templates.php:1244 core/helpers/helper-misc.php:398
1954
  msgid "Qatar"
1955
  msgstr ""
1956
 
1957
- #: core/helpers/helper-form-templates.php:1245 core/helpers/helper-misc.php:399
1958
  msgid "Reunion"
1959
  msgstr ""
1960
 
1961
- #: core/helpers/helper-form-templates.php:1246 core/helpers/helper-misc.php:400
1962
  msgid "Romania"
1963
  msgstr ""
1964
 
1965
- #: core/helpers/helper-form-templates.php:1247
1966
  msgid "Serbia"
1967
  msgstr ""
1968
 
1969
- #: core/helpers/helper-form-templates.php:1248 core/helpers/helper-misc.php:401
1970
  msgid "Russian Federation"
1971
  msgstr ""
1972
 
1973
- #: core/helpers/helper-form-templates.php:1249 core/helpers/helper-misc.php:402
1974
  msgid "Rwanda"
1975
  msgstr ""
1976
 
1977
- #: core/helpers/helper-form-templates.php:1250 core/helpers/helper-misc.php:409
1978
  msgid "Saudi Arabia"
1979
  msgstr ""
1980
 
1981
- #: core/helpers/helper-form-templates.php:1251 core/helpers/helper-misc.php:416
1982
  msgid "Solomon Islands"
1983
  msgstr ""
1984
 
1985
- #: core/helpers/helper-form-templates.php:1252 core/helpers/helper-misc.php:411
1986
  msgid "Seychelles"
1987
  msgstr ""
1988
 
1989
- #: core/helpers/helper-form-templates.php:1253 core/helpers/helper-misc.php:424
1990
  msgid "Sudan"
1991
  msgstr ""
1992
 
1993
- #: core/helpers/helper-form-templates.php:1254 core/helpers/helper-misc.php:428
1994
  msgid "Sweden"
1995
  msgstr ""
1996
 
1997
- #: core/helpers/helper-form-templates.php:1255 core/helpers/helper-misc.php:413
1998
  msgid "Singapore"
1999
  msgstr ""
2000
 
2001
- #: core/helpers/helper-form-templates.php:1256
2002
- #: core/helpers/helper-form-templates.php:1271
2003
  msgid "Saint Helena"
2004
  msgstr ""
2005
 
2006
- #: core/helpers/helper-form-templates.php:1257 core/helpers/helper-misc.php:415
2007
  msgid "Slovenia"
2008
  msgstr ""
2009
 
2010
- #: core/helpers/helper-form-templates.php:1258
2011
  msgid "Svalbard and Jan Mayen"
2012
  msgstr ""
2013
 
2014
- #: core/helpers/helper-form-templates.php:1259
2015
  msgid "Slovakia"
2016
  msgstr ""
2017
 
2018
- #: core/helpers/helper-form-templates.php:1260 core/helpers/helper-misc.php:412
2019
  msgid "Sierra Leone"
2020
  msgstr ""
2021
 
2022
- #: core/helpers/helper-form-templates.php:1261 core/helpers/helper-misc.php:407
2023
  msgid "San Marino"
2024
  msgstr ""
2025
 
2026
- #: core/helpers/helper-form-templates.php:1262 core/helpers/helper-misc.php:410
2027
  msgid "Senegal"
2028
  msgstr ""
2029
 
2030
- #: core/helpers/helper-form-templates.php:1263 core/helpers/helper-misc.php:417
2031
  msgid "Somalia"
2032
  msgstr ""
2033
 
2034
- #: core/helpers/helper-form-templates.php:1264 core/helpers/helper-misc.php:425
2035
  msgid "Suriname"
2036
  msgstr ""
2037
 
2038
- #: core/helpers/helper-form-templates.php:1265
2039
  msgid "South Sudan"
2040
  msgstr ""
2041
 
2042
- #: core/helpers/helper-form-templates.php:1266 core/helpers/helper-misc.php:408
2043
  msgid "Sao Tome and Principe"
2044
  msgstr ""
2045
 
2046
- #: core/helpers/helper-form-templates.php:1267 core/helpers/helper-misc.php:288
2047
  msgid "El Salvador"
2048
  msgstr ""
2049
 
2050
- #: core/helpers/helper-form-templates.php:1268
2051
  msgid "Sint Maarten (Dutch part)"
2052
  msgstr ""
2053
 
2054
- #: core/helpers/helper-form-templates.php:1269 core/helpers/helper-misc.php:430
2055
  msgid "Syrian Arab Republic"
2056
  msgstr ""
2057
 
2058
- #: core/helpers/helper-form-templates.php:1270
2059
  msgid "Eswatini"
2060
  msgstr ""
2061
 
2062
- #: core/helpers/helper-form-templates.php:1272 core/helpers/helper-misc.php:442
2063
  msgid "Turks and Caicos Islands"
2064
  msgstr ""
2065
 
2066
- #: core/helpers/helper-form-templates.php:1273 core/helpers/helper-misc.php:265
2067
  msgid "Chad"
2068
  msgstr ""
2069
 
2070
- #: core/helpers/helper-form-templates.php:1274 core/helpers/helper-misc.php:435
2071
  msgid "Togo"
2072
  msgstr ""
2073
 
2074
- #: core/helpers/helper-form-templates.php:1275 core/helpers/helper-misc.php:434
2075
  msgid "Thailand"
2076
  msgstr ""
2077
 
2078
- #: core/helpers/helper-form-templates.php:1276 core/helpers/helper-misc.php:432
2079
  msgid "Tajikistan"
2080
  msgstr ""
2081
 
2082
- #: core/helpers/helper-form-templates.php:1277 core/helpers/helper-misc.php:436
2083
  msgid "Tokelau"
2084
  msgstr ""
2085
 
2086
- #: core/helpers/helper-form-templates.php:1278
2087
  msgid "Timor-Leste"
2088
  msgstr ""
2089
 
2090
- #: core/helpers/helper-form-templates.php:1279 core/helpers/helper-misc.php:441
2091
  msgid "Turkmenistan"
2092
  msgstr ""
2093
 
2094
- #: core/helpers/helper-form-templates.php:1280 core/helpers/helper-misc.php:439
2095
  msgid "Tunisia"
2096
  msgstr ""
2097
 
2098
- #: core/helpers/helper-form-templates.php:1281 core/helpers/helper-misc.php:437
2099
  msgid "Tonga"
2100
  msgstr ""
2101
 
2102
- #: core/helpers/helper-form-templates.php:1282 core/helpers/helper-misc.php:440
2103
  msgid "Turkey"
2104
  msgstr ""
2105
 
2106
- #: core/helpers/helper-form-templates.php:1283 core/helpers/helper-misc.php:438
2107
  msgid "Trinidad and Tobago"
2108
  msgstr ""
2109
 
2110
- #: core/helpers/helper-form-templates.php:1284 core/helpers/helper-misc.php:443
2111
  msgid "Tuvalu"
2112
  msgstr ""
2113
 
2114
- #: core/helpers/helper-form-templates.php:1285
2115
  msgid "Taiwan"
2116
  msgstr ""
2117
 
2118
- #: core/helpers/helper-form-templates.php:1286 core/helpers/helper-misc.php:433
2119
  msgid "Tanzania, United Republic of"
2120
  msgstr ""
2121
 
2122
- #: core/helpers/helper-form-templates.php:1287 core/helpers/helper-misc.php:445
2123
  msgid "Ukraine"
2124
  msgstr ""
2125
 
2126
- #: core/helpers/helper-form-templates.php:1288 core/helpers/helper-misc.php:444
2127
  msgid "Uganda"
2128
  msgstr ""
2129
 
2130
- #: core/helpers/helper-form-templates.php:1289
2131
  msgid "United States of America"
2132
  msgstr ""
2133
 
2134
- #: core/helpers/helper-form-templates.php:1290 core/helpers/helper-misc.php:450
2135
  msgid "Uruguay"
2136
  msgstr ""
2137
 
2138
- #: core/helpers/helper-form-templates.php:1291 core/helpers/helper-misc.php:451
2139
  msgid "Uzbekistan"
2140
  msgstr ""
2141
 
2142
- #: core/helpers/helper-form-templates.php:1292 core/helpers/helper-misc.php:319
2143
  msgid "Holy See (Vatican City State)"
2144
  msgstr ""
2145
 
2146
- #: core/helpers/helper-form-templates.php:1293 core/helpers/helper-misc.php:405
2147
  msgid "Saint Vincent and the Grenadines"
2148
  msgstr ""
2149
 
2150
- #: core/helpers/helper-form-templates.php:1294 core/helpers/helper-misc.php:453
2151
  msgid "Venezuela"
2152
  msgstr ""
2153
 
2154
- #: core/helpers/helper-form-templates.php:1295
2155
  msgid "Virgin Islands, British"
2156
  msgstr ""
2157
 
2158
- #: core/helpers/helper-form-templates.php:1296
2159
  msgid "Virgin Islands, U.S."
2160
  msgstr ""
2161
 
2162
- #: core/helpers/helper-form-templates.php:1297 core/helpers/helper-misc.php:454
2163
  msgid "Vietnam"
2164
  msgstr ""
2165
 
2166
- #: core/helpers/helper-form-templates.php:1298 core/helpers/helper-misc.php:452
2167
  msgid "Vanuatu"
2168
  msgstr ""
2169
 
2170
- #: core/helpers/helper-form-templates.php:1299
2171
  msgid "Wallis and Futuna"
2172
  msgstr ""
2173
 
2174
- #: core/helpers/helper-form-templates.php:1300 core/helpers/helper-misc.php:406
2175
  msgid "Samoa"
2176
  msgstr ""
2177
 
2178
- #: core/helpers/helper-form-templates.php:1301
2179
  msgid "Kosovo"
2180
  msgstr ""
2181
 
2182
- #: core/helpers/helper-form-templates.php:1302 core/helpers/helper-misc.php:459
2183
  msgid "Yemen"
2184
  msgstr ""
2185
 
2186
- #: core/helpers/helper-form-templates.php:1303 core/helpers/helper-misc.php:362
2187
  msgid "Mayotte"
2188
  msgstr ""
2189
 
2190
- #: core/helpers/helper-form-templates.php:1304 core/helpers/helper-misc.php:418
2191
  msgid "South Africa"
2192
  msgstr ""
2193
 
2194
- #: core/helpers/helper-form-templates.php:1305 core/helpers/helper-misc.php:461
2195
  msgid "Zambia"
2196
  msgstr ""
2197
 
2198
- #: core/helpers/helper-form-templates.php:1306 core/helpers/helper-misc.php:462
2199
  msgid "Zimbabwe"
2200
  msgstr ""
2201
 
@@ -2922,26 +2919,6 @@ msgstr ""
2922
  msgid "Insert"
2923
  msgstr ""
2924
 
2925
- #: core/templates/admin-tracking.php:12
2926
- msgid "Add your email address to complete setup"
2927
- msgstr ""
2928
-
2929
- #: core/templates/admin-tracking.php:13
2930
- msgid "Your email address will only ever be used to receive communications from us"
2931
- msgstr ""
2932
-
2933
- #: core/templates/admin-tracking.php:16
2934
- msgid "Allow and set up"
2935
- msgstr ""
2936
-
2937
- #: core/templates/admin-tracking.php:23
2938
- msgid "Or, skip this step and "
2939
- msgstr ""
2940
-
2941
- #: core/templates/admin-tracking.php:23
2942
- msgid "continue"
2943
- msgstr ""
2944
-
2945
  #: core/templates/customize-controls/setup/alert-email-subject.php:4
2946
  msgid "part value is currently used as subject"
2947
  msgstr ""
@@ -3210,142 +3187,146 @@ msgstr ""
3210
  msgid "Click to edit this part."
3211
  msgstr ""
3212
 
3213
- #: inc/classes/class-happyforms.php:104
3214
  msgid "Randomize parts"
3215
  msgstr ""
3216
 
3217
- #: inc/classes/class-happyforms.php:105
3218
  msgid "Randomize the order of all form parts to avoid biases in your responses."
3219
  msgstr ""
3220
 
3221
- #: inc/classes/class-happyforms.php:111
3222
  msgid "Use reCAPTCHA"
3223
  msgstr ""
3224
 
3225
- #: inc/classes/class-happyforms.php:112
3226
  msgid "Protect your form against bots using your Google ReCaptcha credentials."
3227
  msgstr ""
3228
 
3229
- #: inc/classes/class-happyforms.php:118
3230
  msgid "Open in overlay window"
3231
  msgstr ""
3232
 
3233
- #: inc/classes/class-happyforms.php:119
3234
  msgid "Generate a link that can be clicked to open an overlay window for this form."
3235
  msgstr ""
3236
 
3237
- #: inc/classes/class-happyforms.php:125
3238
  msgid "Save user's meta data"
3239
  msgstr ""
3240
 
3241
- #: inc/classes/class-happyforms.php:126
3242
  msgid ""
3243
  "User meta data like IP address, browser language, local time, and platform "
3244
  "will be saved with each submission when checked."
3245
  msgstr ""
3246
 
3247
- #: inc/classes/class-happyforms.php:132
3248
  msgid "Save incomplete and abandoned submissions"
3249
  msgstr ""
3250
 
3251
- #: inc/classes/class-happyforms.php:133
3252
  msgid "Keep incomplete users responses stored in your WordPress database."
3253
  msgstr ""
3254
 
3255
- #: inc/classes/class-happyforms.php:139
3256
  msgid "Let respondents save a draft submission and come back to it later"
3257
  msgstr ""
3258
 
3259
- #: inc/classes/class-happyforms.php:140
3260
  msgid ""
3261
  "Let users temporarily save their incomplete response and continue filling "
3262
  "out the form at a later time."
3263
  msgstr ""
3264
 
3265
- #: inc/classes/class-happyforms.php:146
3266
  msgid "Require respondents to review a submission before submitting"
3267
  msgstr ""
3268
 
3269
- #: inc/classes/class-happyforms.php:147
3270
  msgid "Let your users review their submission before confirming it."
3271
  msgstr ""
3272
 
3273
- #: inc/classes/class-happyforms.php:153
3274
  msgid "Disable buttons until required fields are answered"
3275
  msgstr ""
3276
 
3277
- #: inc/classes/class-happyforms.php:154
3278
  msgid ""
3279
  "Reduce the opacity of the submit button until all required form parts are "
3280
  "valid."
3281
  msgstr ""
3282
 
3283
- #: inc/classes/class-happyforms.php:160
3284
  msgid "Limit submissions"
3285
  msgstr ""
3286
 
3287
- #: inc/classes/class-happyforms.php:161
3288
  msgid "Set limit on number of allowed form submission in general or per user."
3289
  msgstr ""
3290
 
3291
- #: inc/classes/class-happyforms.php:167
3292
  msgid "Schedule visibility"
3293
  msgstr ""
3294
 
3295
- #: inc/classes/class-happyforms.php:168
3296
  msgid ""
3297
  "Show or hide this form during a chosen time and day. Go to Settings > "
3298
  "Timezone to set your city offset."
3299
  msgstr ""
3300
 
3301
- #: inc/classes/class-happyforms.php:178
3302
  msgid "Include reply link"
3303
  msgstr ""
3304
 
3305
- #: inc/classes/class-happyforms.php:179
3306
  msgid "Reply to your users and mark their submission as read in one click."
3307
  msgstr ""
3308
 
3309
- #: inc/classes/class-happyforms.php:185
3310
  msgid "Include referral link"
3311
  msgstr ""
3312
 
3313
- #: inc/classes/class-happyforms.php:186
3314
  msgid "Include the page link your form was submitted from."
3315
  msgstr ""
3316
 
3317
- #: inc/classes/class-happyforms.php:192 inc/classes/class-happyforms.php:206
3318
  msgid "Attach .pdf"
3319
  msgstr ""
3320
 
3321
- #: inc/classes/class-happyforms.php:193
3322
  msgid "Attach a PDF to your submission alert."
3323
  msgstr ""
3324
 
3325
- #: inc/classes/class-happyforms.php:199
3326
  msgid "To email address"
3327
  msgstr ""
3328
 
3329
- #: inc/classes/class-happyforms.php:200
3330
  msgid "The Email field used to send this confirmation."
3331
  msgstr ""
3332
 
3333
- #: inc/classes/class-happyforms.php:207
3334
  msgid "Attach a PDF to the recipient's confirmation email."
3335
  msgstr ""
3336
 
3337
- #: inc/classes/class-happyforms.php:213
3338
  msgid "Send abandonment email"
3339
  msgstr ""
3340
 
3341
- #: inc/classes/class-happyforms.php:214
3342
  msgid "Notify users when they abandon your form before submitting it."
3343
  msgstr ""
3344
 
3345
- #: inc/classes/class-happyforms.php:224
3346
  msgid "Use theme styles"
3347
  msgstr ""
3348
 
 
 
 
 
3349
  #: inc/classes/parts/class-part-address-dummy.php:8
3350
  msgid "Address"
3351
  msgstr ""
@@ -3522,6 +3503,55 @@ msgstr ""
3522
  msgid "For formatted site URLs."
3523
  msgstr ""
3524
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3525
  #: inc/templates/customize-controls/email-parts-list-dummy.php:8
3526
  msgid "field"
3527
  msgstr ""
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.5\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
+ "POT-Creation-Date: 2021-04-28 06:56: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"
17
  #: core/classes/class-happyforms-core.php:165
18
  #: core/classes/class-happyforms-core.php:166
19
  #: core/classes/class-happyforms-widget.php:13
20
+ #: core/helpers/helper-misc.php:1010
21
  msgid "Forms"
22
  msgstr ""
23
 
230
  msgid "Email me a copy of each submission"
231
  msgstr ""
232
 
233
+ #: core/classes/class-form-email.php:96
234
+ #: inc/templates/admin/modal-onboarding.php:9
235
  msgid "Email address"
236
  msgstr ""
237
 
301
  msgid "Oops. This number is too big."
302
  msgstr ""
303
 
304
+ #: core/classes/class-form-messages.php:60
305
+ msgid "(optional)"
306
+ msgstr ""
307
+
308
+ #: core/classes/class-form-messages.php:81
309
  msgid "Alerts"
310
  msgstr ""
311
 
312
+ #: core/classes/class-form-messages.php:82
313
  msgid ""
314
+ "These messages are shown to respondents at the very top of the form to "
315
  "communicate the form’s status."
316
  msgstr ""
317
 
318
+ #: core/classes/class-form-messages.php:92
319
  msgid "Buttons"
320
  msgstr ""
321
 
322
+ #: core/classes/class-form-messages.php:93
323
  msgid ""
324
  "The messages are shown to respondents as they fill out the form to help "
325
  "them trigger an action."
326
  msgstr ""
327
 
328
+ #: core/classes/class-form-messages.php:102
329
  msgid "Errors"
330
  msgstr ""
331
 
332
+ #: core/classes/class-form-messages.php:103
333
  msgid ""
334
+ "These messages are shown to respondents when they try to submit their reply "
335
  "but one or more fields has a mistake."
336
  msgstr ""
337
 
338
+ #: core/classes/class-form-messages.php:112
339
  msgid "Hints"
340
  msgstr ""
341
 
342
+ #: core/classes/class-form-messages.php:113
343
  msgid ""
344
+ "These messages are shown to respondents as they fill out the form to help "
345
  "them avoid mistakes."
346
  msgstr ""
347
 
348
+ #: core/classes/class-form-messages.php:122
349
  msgid "Number too small"
350
  msgstr ""
351
 
352
+ #: core/classes/class-form-messages.php:127
353
  msgid "Number too big"
354
  msgstr ""
355
 
356
+ #: core/classes/class-form-messages.php:132
357
  msgid "Search couldn't find anything"
358
  msgstr ""
359
 
360
+ #: core/classes/class-form-messages.php:137
361
  msgid "Minimum characters"
362
  msgstr ""
363
 
364
+ #: core/classes/class-form-messages.php:142
365
  msgid "Maximum characters"
366
  msgstr ""
367
 
368
+ #: core/classes/class-form-messages.php:147
369
  msgid "Minimum words"
370
  msgstr ""
371
 
372
+ #: core/classes/class-form-messages.php:152
373
  msgid "Maximum words"
374
  msgstr ""
375
 
376
+ #: core/classes/class-form-messages.php:157
377
+ msgid "Question is optional"
378
+ msgstr ""
379
+
380
+ #: core/classes/class-form-messages.php:162
381
+ msgid "Question is required"
382
+ msgstr ""
383
+
384
  #: core/classes/class-form-part-library.php:189
385
  msgid "Invalid data"
386
  msgstr ""
393
  msgid "Missing validation callback for field %s"
394
  msgstr ""
395
 
396
+ #: core/classes/class-form-setup.php:99
 
 
 
 
397
  msgid "Validate your submission"
398
  msgstr ""
399
 
400
+ #: core/classes/class-form-setup.php:139
401
  msgid "Thank you. Your reply has been sent."
402
  msgstr ""
403
 
404
+ #: core/classes/class-form-setup.php:143
405
  msgid "Bummer. We can't submit your reply. Please check for mistakes."
406
  msgstr ""
407
 
408
+ #: core/classes/class-form-setup.php:147
409
  msgid "Send"
410
  msgstr ""
411
 
412
+ #: core/classes/class-form-setup.php:161
 
 
 
 
413
  msgid "After the form is submitted"
414
  msgstr ""
415
 
416
+ #: core/classes/class-form-setup.php:163
417
  msgid "Show a message"
418
  msgstr ""
419
 
420
+ #: core/classes/class-form-setup.php:164
421
  msgid "Show a message and allow to resubmit the form"
422
  msgstr ""
423
 
424
+ #: core/classes/class-form-setup.php:165
425
  msgid "Redirect to a web address"
426
  msgstr ""
427
 
428
+ #: core/classes/class-form-setup.php:172
429
  #: core/templates/customize-form-parts-drawer.php:38
430
  #: inc/templates/customize-controls/checkbox_dummy.php:7
431
  #: inc/templates/customize-controls/email-parts-list-dummy.php:11
432
  msgid "Upgrade"
433
  msgstr ""
434
 
435
+ #: core/classes/class-form-setup.php:185
436
  msgid "Add custom CSS classes to submit button"
437
  msgstr ""
438
 
439
+ #: core/classes/class-form-setup.php:194
440
  msgid "Submit button CSS classes"
441
  msgstr ""
442
 
443
+ #: core/classes/class-form-setup.php:204
444
  msgid "Add custom HTML ID to form"
445
  msgstr ""
446
 
447
+ #: core/classes/class-form-setup.php:214
448
  msgid "Form HTML ID"
449
  msgstr ""
450
 
451
+ #: core/classes/class-form-setup.php:232
452
  msgid "Form is successfully submitted"
453
  msgstr ""
454
 
455
+ #: core/classes/class-form-setup.php:237
456
  msgid "Form can’t be submitted"
457
  msgstr ""
458
 
459
+ #: core/classes/class-form-setup.php:243
460
  msgid "Submit form"
461
  msgstr ""
462
 
 
 
 
 
463
  #: core/classes/class-form-styles.php:53
464
  msgid "Left-to-right"
465
  msgstr ""
930
  msgid "Settings"
931
  msgstr ""
932
 
933
+ #: core/classes/class-happyforms-core.php:448
 
 
 
 
 
934
  msgid "Add Form"
935
  msgstr ""
936
 
942
  msgid "Form:"
943
  msgstr ""
944
 
945
+ #: core/classes/class-tracking.php:139
946
  msgid "Sorry, you are not allowed to access this page."
947
  msgstr ""
948
 
949
+ #: core/classes/class-tracking.php:173
950
  msgid "Thank you!"
951
  msgstr ""
952
 
953
+ #: core/classes/class-tracking.php:174
954
  msgid "Now let's go enjoy HappyForms."
955
  msgstr ""
956
 
957
+ #: core/classes/class-tracking.php:175
958
  msgid ""
959
  "You've set up notifications and helped us to improve HappyForms. You're "
960
  "ready to get started with your first form."
961
  msgstr ""
962
 
963
+ #: core/classes/class-tracking.php:176
964
  msgid "Create your first form"
965
  msgstr ""
966
 
967
+ #: core/classes/class-tracking.php:178
968
  msgid "Aw snap! Something went wrong."
969
  msgstr ""
970
 
971
+ #: core/classes/class-tracking.php:179
972
  msgid "Error description"
973
  msgstr ""
974
 
1131
  msgid "For single line text fields."
1132
  msgstr ""
1133
 
1134
+ #: core/helpers/helper-activation.php:70
1135
  msgid "Sample Form"
1136
  msgstr ""
1137
 
1138
+ #: core/helpers/helper-activation.php:100
1139
  msgid "First name"
1140
  msgstr ""
1141
 
1142
+ #: core/helpers/helper-activation.php:105
1143
  msgid "Last name"
1144
  msgstr ""
1145
 
1146
+ #: core/helpers/helper-activation.php:110
1147
  msgid "What's your reason for contacting us?"
1148
  msgstr ""
1149
 
1150
+ #: core/helpers/helper-activation.php:113
1151
  msgid "Need technical help"
1152
  msgstr ""
1153
 
1154
+ #: core/helpers/helper-activation.php:116
1155
  msgid "Want to suggest a feature"
1156
  msgstr ""
1157
 
1158
+ #: core/helpers/helper-activation.php:119
1159
  msgid "Asking about my account"
1160
  msgstr ""
1161
 
1162
+ #: core/helpers/helper-activation.php:125
1163
  msgid "What's your age?"
1164
  msgstr ""
1165
 
1166
+ #: core/helpers/helper-activation.php:130
1167
  msgid "Your message"
1168
  msgstr ""
1169
 
1171
  msgid "Spam protection, skip this field"
1172
  msgstr ""
1173
 
1174
+ #: core/helpers/helper-form-templates.php:1013
1175
  msgid "January"
1176
  msgstr ""
1177
 
1178
+ #: core/helpers/helper-form-templates.php:1014
1179
  msgid "February"
1180
  msgstr ""
1181
 
1182
+ #: core/helpers/helper-form-templates.php:1015
1183
  msgid "March"
1184
  msgstr ""
1185
 
1186
+ #: core/helpers/helper-form-templates.php:1016
1187
  msgid "April"
1188
  msgstr ""
1189
 
1190
+ #: core/helpers/helper-form-templates.php:1017
1191
  msgid "May"
1192
  msgstr ""
1193
 
1194
+ #: core/helpers/helper-form-templates.php:1018
1195
  msgid "June"
1196
  msgstr ""
1197
 
1198
+ #: core/helpers/helper-form-templates.php:1019
1199
  msgid "July"
1200
  msgstr ""
1201
 
1202
+ #: core/helpers/helper-form-templates.php:1020
1203
  msgid "August"
1204
  msgstr ""
1205
 
1206
+ #: core/helpers/helper-form-templates.php:1021
1207
  msgid "September"
1208
  msgstr ""
1209
 
1210
+ #: core/helpers/helper-form-templates.php:1022
1211
  msgid "October"
1212
  msgstr ""
1213
 
1214
+ #: core/helpers/helper-form-templates.php:1023
1215
  msgid "November"
1216
  msgstr ""
1217
 
1218
+ #: core/helpers/helper-form-templates.php:1024
1219
  msgid "December"
1220
  msgstr ""
1221
 
1222
+ #: core/helpers/helper-form-templates.php:1065
1223
  msgid "Ascension Island"
1224
  msgstr ""
1225
 
1226
+ #: core/helpers/helper-form-templates.php:1066 core/helpers/helper-misc.php:228
1227
  msgid "Andorra"
1228
  msgstr ""
1229
 
1230
+ #: core/helpers/helper-form-templates.php:1067 core/helpers/helper-misc.php:446
1231
  msgid "United Arab Emirates"
1232
  msgstr ""
1233
 
1234
+ #: core/helpers/helper-form-templates.php:1068 core/helpers/helper-misc.php:224
1235
  msgid "Afghanistan"
1236
  msgstr ""
1237
 
1238
+ #: core/helpers/helper-form-templates.php:1069 core/helpers/helper-misc.php:232
1239
  msgid "Antigua and Barbuda"
1240
  msgstr ""
1241
 
1242
+ #: core/helpers/helper-form-templates.php:1070 core/helpers/helper-misc.php:230
1243
  msgid "Anguilla"
1244
  msgstr ""
1245
 
1246
+ #: core/helpers/helper-form-templates.php:1071 core/helpers/helper-misc.php:225
1247
  msgid "Albania"
1248
  msgstr ""
1249
 
1250
+ #: core/helpers/helper-form-templates.php:1072 core/helpers/helper-misc.php:234
1251
  msgid "Armenia"
1252
  msgstr ""
1253
 
1254
+ #: core/helpers/helper-form-templates.php:1073 core/helpers/helper-misc.php:229
1255
  msgid "Angola"
1256
  msgstr ""
1257
 
1258
+ #: core/helpers/helper-form-templates.php:1074 core/helpers/helper-misc.php:233
1259
  msgid "Argentina"
1260
  msgstr ""
1261
 
1262
+ #: core/helpers/helper-form-templates.php:1075 core/helpers/helper-misc.php:227
1263
  msgid "American Samoa"
1264
  msgstr ""
1265
 
1266
+ #: core/helpers/helper-form-templates.php:1076 core/helpers/helper-misc.php:237
1267
  msgid "Austria"
1268
  msgstr ""
1269
 
1270
+ #: core/helpers/helper-form-templates.php:1077 core/helpers/helper-misc.php:236
1271
  msgid "Australia"
1272
  msgstr ""
1273
 
1274
+ #: core/helpers/helper-form-templates.php:1078 core/helpers/helper-misc.php:235
1275
  msgid "Aruba"
1276
  msgstr ""
1277
 
1278
+ #: core/helpers/helper-form-templates.php:1079
1279
  msgid "Åland Islands"
1280
  msgstr ""
1281
 
1282
+ #: core/helpers/helper-form-templates.php:1080 core/helpers/helper-misc.php:238
1283
  msgid "Azerbaijan"
1284
  msgstr ""
1285
 
1286
+ #: core/helpers/helper-form-templates.php:1081
1287
  msgid "Bosnia and Herzegovina"
1288
  msgstr ""
1289
 
1290
+ #: core/helpers/helper-form-templates.php:1082 core/helpers/helper-misc.php:242
1291
  msgid "Barbados"
1292
  msgstr ""
1293
 
1294
+ #: core/helpers/helper-form-templates.php:1083 core/helpers/helper-misc.php:241
1295
  msgid "Bangladesh"
1296
  msgstr ""
1297
 
1298
+ #: core/helpers/helper-form-templates.php:1084 core/helpers/helper-misc.php:244
1299
  msgid "Belgium"
1300
  msgstr ""
1301
 
1302
+ #: core/helpers/helper-form-templates.php:1085 core/helpers/helper-misc.php:257
1303
  msgid "Burkina Faso"
1304
  msgstr ""
1305
 
1306
+ #: core/helpers/helper-form-templates.php:1086 core/helpers/helper-misc.php:256
1307
  msgid "Bulgaria"
1308
  msgstr ""
1309
 
1310
+ #: core/helpers/helper-form-templates.php:1087 core/helpers/helper-misc.php:240
1311
  msgid "Bahrain"
1312
  msgstr ""
1313
 
1314
+ #: core/helpers/helper-form-templates.php:1088 core/helpers/helper-misc.php:258
1315
  msgid "Burundi"
1316
  msgstr ""
1317
 
1318
+ #: core/helpers/helper-form-templates.php:1089 core/helpers/helper-misc.php:246
1319
  msgid "Benin"
1320
  msgstr ""
1321
 
1322
+ #: core/helpers/helper-form-templates.php:1090
1323
  msgid "Saint Barthélemy"
1324
  msgstr ""
1325
 
1326
+ #: core/helpers/helper-form-templates.php:1091 core/helpers/helper-misc.php:247
1327
  msgid "Bermuda"
1328
  msgstr ""
1329
 
1330
+ #: core/helpers/helper-form-templates.php:1092 core/helpers/helper-misc.php:255
1331
  msgid "Brunei Darussalam"
1332
  msgstr ""
1333
 
1334
+ #: core/helpers/helper-form-templates.php:1093 core/helpers/helper-misc.php:249
1335
  msgid "Bolivia"
1336
  msgstr ""
1337
 
1338
+ #: core/helpers/helper-form-templates.php:1094
1339
  msgid "Bonaire, Sint Eustatius and Saba"
1340
  msgstr ""
1341
 
1342
+ #: core/helpers/helper-form-templates.php:1095 core/helpers/helper-misc.php:253
1343
  msgid "Brazil"
1344
  msgstr ""
1345
 
1346
+ #: core/helpers/helper-form-templates.php:1096 core/helpers/helper-misc.php:239
1347
  msgid "Bahamas"
1348
  msgstr ""
1349
 
1350
+ #: core/helpers/helper-form-templates.php:1097 core/helpers/helper-misc.php:248
1351
  msgid "Bhutan"
1352
  msgstr ""
1353
 
1354
+ #: core/helpers/helper-form-templates.php:1098 core/helpers/helper-misc.php:251
1355
  msgid "Botswana"
1356
  msgstr ""
1357
 
1358
+ #: core/helpers/helper-form-templates.php:1099 core/helpers/helper-misc.php:243
1359
  msgid "Belarus"
1360
  msgstr ""
1361
 
1362
+ #: core/helpers/helper-form-templates.php:1100 core/helpers/helper-misc.php:245
1363
  msgid "Belize"
1364
  msgstr ""
1365
 
1366
+ #: core/helpers/helper-form-templates.php:1101 core/helpers/helper-misc.php:261
1367
  msgid "Canada"
1368
  msgstr ""
1369
 
1370
+ #: core/helpers/helper-form-templates.php:1102 core/helpers/helper-misc.php:269
1371
  msgid "Cocos (Keeling) Islands"
1372
  msgstr ""
1373
 
1374
+ #: core/helpers/helper-form-templates.php:1103 core/helpers/helper-misc.php:273
1375
  msgid "Congo, the Democratic Republic of the"
1376
  msgstr ""
1377
 
1378
+ #: core/helpers/helper-form-templates.php:1104 core/helpers/helper-misc.php:264
1379
  msgid "Central African Republic"
1380
  msgstr ""
1381
 
1382
+ #: core/helpers/helper-form-templates.php:1105 core/helpers/helper-misc.php:272
1383
  msgid "Congo"
1384
  msgstr ""
1385
 
1386
+ #: core/helpers/helper-form-templates.php:1106 core/helpers/helper-misc.php:429
1387
  msgid "Switzerland"
1388
  msgstr ""
1389
 
1390
+ #: core/helpers/helper-form-templates.php:1107
1391
  msgid "Cote D'Ivoire"
1392
  msgstr ""
1393
 
1394
+ #: core/helpers/helper-form-templates.php:1108 core/helpers/helper-misc.php:274
1395
  msgid "Cook Islands"
1396
  msgstr ""
1397
 
1398
+ #: core/helpers/helper-form-templates.php:1109 core/helpers/helper-misc.php:266
1399
  msgid "Chile"
1400
  msgstr ""
1401
 
1402
+ #: core/helpers/helper-form-templates.php:1110 core/helpers/helper-misc.php:260
1403
  msgid "Cameroon"
1404
  msgstr ""
1405
 
1406
+ #: core/helpers/helper-form-templates.php:1111 core/helpers/helper-misc.php:267
1407
  msgid "China"
1408
  msgstr ""
1409
 
1410
+ #: core/helpers/helper-form-templates.php:1112 core/helpers/helper-misc.php:270
1411
  msgid "Colombia"
1412
  msgstr ""
1413
 
1414
+ #: core/helpers/helper-form-templates.php:1113 core/helpers/helper-misc.php:275
1415
  msgid "Costa Rica"
1416
  msgstr ""
1417
 
1418
+ #: core/helpers/helper-form-templates.php:1114 core/helpers/helper-misc.php:278
1419
  msgid "Cuba"
1420
  msgstr ""
1421
 
1422
+ #: core/helpers/helper-form-templates.php:1115 core/helpers/helper-misc.php:262
1423
  msgid "Cape Verde"
1424
  msgstr ""
1425
 
1426
+ #: core/helpers/helper-form-templates.php:1116
1427
  msgid "Curaçao"
1428
  msgstr ""
1429
 
1430
+ #: core/helpers/helper-form-templates.php:1117 core/helpers/helper-misc.php:268
1431
  msgid "Christmas Island"
1432
  msgstr ""
1433
 
1434
+ #: core/helpers/helper-form-templates.php:1118 core/helpers/helper-misc.php:279
1435
  msgid "Cyprus"
1436
  msgstr ""
1437
 
1438
+ #: core/helpers/helper-form-templates.php:1119 core/helpers/helper-misc.php:280
1439
  msgid "Czech Republic"
1440
  msgstr ""
1441
 
1442
+ #: core/helpers/helper-form-templates.php:1120 core/helpers/helper-misc.php:305
1443
  msgid "Germany"
1444
  msgstr ""
1445
 
1446
+ #: core/helpers/helper-form-templates.php:1121 core/helpers/helper-misc.php:282
1447
  msgid "Djibouti"
1448
  msgstr ""
1449
 
1450
+ #: core/helpers/helper-form-templates.php:1122 core/helpers/helper-misc.php:281
1451
  msgid "Denmark"
1452
  msgstr ""
1453
 
1454
+ #: core/helpers/helper-form-templates.php:1123 core/helpers/helper-misc.php:283
1455
  msgid "Dominica"
1456
  msgstr ""
1457
 
1458
+ #: core/helpers/helper-form-templates.php:1124 core/helpers/helper-misc.php:284
1459
  msgid "Dominican Republic"
1460
  msgstr ""
1461
 
1462
+ #: core/helpers/helper-form-templates.php:1125 core/helpers/helper-misc.php:226
1463
  msgid "Algeria"
1464
  msgstr ""
1465
 
1466
+ #: core/helpers/helper-form-templates.php:1126 core/helpers/helper-misc.php:286
1467
  msgid "Ecuador"
1468
  msgstr ""
1469
 
1470
+ #: core/helpers/helper-form-templates.php:1127 core/helpers/helper-misc.php:291
1471
  msgid "Estonia"
1472
  msgstr ""
1473
 
1474
+ #: core/helpers/helper-form-templates.php:1128 core/helpers/helper-misc.php:287
1475
  msgid "Egypt"
1476
  msgstr ""
1477
 
1478
+ #: core/helpers/helper-form-templates.php:1129 core/helpers/helper-misc.php:458
1479
  msgid "Western Sahara"
1480
  msgstr ""
1481
 
1482
+ #: core/helpers/helper-form-templates.php:1130 core/helpers/helper-misc.php:290
1483
  msgid "Eritrea"
1484
  msgstr ""
1485
 
1486
+ #: core/helpers/helper-form-templates.php:1131 core/helpers/helper-misc.php:420
1487
  msgid "Spain"
1488
  msgstr ""
1489
 
1490
+ #: core/helpers/helper-form-templates.php:1132 core/helpers/helper-misc.php:292
1491
  msgid "Ethiopia"
1492
  msgstr ""
1493
 
1494
+ #: core/helpers/helper-form-templates.php:1133 core/helpers/helper-misc.php:296
1495
  msgid "Finland"
1496
  msgstr ""
1497
 
1498
+ #: core/helpers/helper-form-templates.php:1134 core/helpers/helper-misc.php:295
1499
  msgid "Fiji"
1500
  msgstr ""
1501
 
1502
+ #: core/helpers/helper-form-templates.php:1135 core/helpers/helper-misc.php:293
1503
  msgid "Falkland Islands (Malvinas)"
1504
  msgstr ""
1505
 
1506
+ #: core/helpers/helper-form-templates.php:1136 core/helpers/helper-misc.php:364
1507
  msgid "Micronesia, Federated States of"
1508
  msgstr ""
1509
 
1510
+ #: core/helpers/helper-form-templates.php:1137 core/helpers/helper-misc.php:294
1511
  msgid "Faroe Islands"
1512
  msgstr ""
1513
 
1514
+ #: core/helpers/helper-form-templates.php:1138 core/helpers/helper-misc.php:297
1515
  msgid "France"
1516
  msgstr ""
1517
 
1518
+ #: core/helpers/helper-form-templates.php:1139 core/helpers/helper-misc.php:302
1519
  msgid "Gabon"
1520
  msgstr ""
1521
 
1522
+ #: core/helpers/helper-form-templates.php:1140 core/helpers/helper-misc.php:447
1523
  msgid "United Kingdom"
1524
  msgstr ""
1525
 
1526
+ #: core/helpers/helper-form-templates.php:1141 core/helpers/helper-misc.php:310
1527
  msgid "Grenada"
1528
  msgstr ""
1529
 
1530
+ #: core/helpers/helper-form-templates.php:1142 core/helpers/helper-misc.php:304
1531
  msgid "Georgia"
1532
  msgstr ""
1533
 
1534
+ #: core/helpers/helper-form-templates.php:1143 core/helpers/helper-misc.php:299
1535
  msgid "French Guiana"
1536
  msgstr ""
1537
 
1538
+ #: core/helpers/helper-form-templates.php:1144
1539
  msgid "Guernsey"
1540
  msgstr ""
1541
 
1542
+ #: core/helpers/helper-form-templates.php:1145 core/helpers/helper-misc.php:306
1543
  msgid "Ghana"
1544
  msgstr ""
1545
 
1546
+ #: core/helpers/helper-form-templates.php:1146 core/helpers/helper-misc.php:307
1547
  msgid "Gibraltar"
1548
  msgstr ""
1549
 
1550
+ #: core/helpers/helper-form-templates.php:1147 core/helpers/helper-misc.php:309
1551
  msgid "Greenland"
1552
  msgstr ""
1553
 
1554
+ #: core/helpers/helper-form-templates.php:1148 core/helpers/helper-misc.php:303
1555
  msgid "Gambia"
1556
  msgstr ""
1557
 
1558
+ #: core/helpers/helper-form-templates.php:1149 core/helpers/helper-misc.php:314
1559
  msgid "Guinea"
1560
  msgstr ""
1561
 
1562
+ #: core/helpers/helper-form-templates.php:1150 core/helpers/helper-misc.php:311
1563
  msgid "Guadeloupe"
1564
  msgstr ""
1565
 
1566
+ #: core/helpers/helper-form-templates.php:1151 core/helpers/helper-misc.php:289
1567
  msgid "Equatorial Guinea"
1568
  msgstr ""
1569
 
1570
+ #: core/helpers/helper-form-templates.php:1152 core/helpers/helper-misc.php:308
1571
  msgid "Greece"
1572
  msgstr ""
1573
 
1574
+ #: core/helpers/helper-form-templates.php:1153 core/helpers/helper-misc.php:313
1575
  msgid "Guatemala"
1576
  msgstr ""
1577
 
1578
+ #: core/helpers/helper-form-templates.php:1154 core/helpers/helper-misc.php:312
1579
  msgid "Guam"
1580
  msgstr ""
1581
 
1582
+ #: core/helpers/helper-form-templates.php:1155 core/helpers/helper-misc.php:315
1583
  msgid "Guinea-Bissau"
1584
  msgstr ""
1585
 
1586
+ #: core/helpers/helper-form-templates.php:1156 core/helpers/helper-misc.php:316
1587
  msgid "Guyana"
1588
  msgstr ""
1589
 
1590
+ #: core/helpers/helper-form-templates.php:1157 core/helpers/helper-misc.php:321
1591
  msgid "Hong Kong"
1592
  msgstr ""
1593
 
1594
+ #: core/helpers/helper-form-templates.php:1158 core/helpers/helper-misc.php:320
1595
  msgid "Honduras"
1596
  msgstr ""
1597
 
1598
+ #: core/helpers/helper-form-templates.php:1159
1599
  msgid "Croatia"
1600
  msgstr ""
1601
 
1602
+ #: core/helpers/helper-form-templates.php:1160 core/helpers/helper-misc.php:317
1603
  msgid "Haiti"
1604
  msgstr ""
1605
 
1606
+ #: core/helpers/helper-form-templates.php:1161 core/helpers/helper-misc.php:322
1607
  msgid "Hungary"
1608
  msgstr ""
1609
 
1610
+ #: core/helpers/helper-form-templates.php:1162 core/helpers/helper-misc.php:325
1611
  msgid "Indonesia"
1612
  msgstr ""
1613
 
1614
+ #: core/helpers/helper-form-templates.php:1163 core/helpers/helper-misc.php:328
1615
  msgid "Ireland"
1616
  msgstr ""
1617
 
1618
+ #: core/helpers/helper-form-templates.php:1164 core/helpers/helper-misc.php:329
1619
  msgid "Israel"
1620
  msgstr ""
1621
 
1622
+ #: core/helpers/helper-form-templates.php:1165
1623
  msgid "Isle of Man"
1624
  msgstr ""
1625
 
1626
+ #: core/helpers/helper-form-templates.php:1166 core/helpers/helper-misc.php:324
1627
  msgid "India"
1628
  msgstr ""
1629
 
1630
+ #: core/helpers/helper-form-templates.php:1167 core/helpers/helper-misc.php:254
1631
  msgid "British Indian Ocean Territory"
1632
  msgstr ""
1633
 
1634
+ #: core/helpers/helper-form-templates.php:1168 core/helpers/helper-misc.php:327
1635
  msgid "Iraq"
1636
  msgstr ""
1637
 
1638
+ #: core/helpers/helper-form-templates.php:1169
1639
  msgid "Iran, Islamic Republic of"
1640
  msgstr ""
1641
 
1642
+ #: core/helpers/helper-form-templates.php:1170 core/helpers/helper-misc.php:323
1643
  msgid "Iceland"
1644
  msgstr ""
1645
 
1646
+ #: core/helpers/helper-form-templates.php:1171 core/helpers/helper-misc.php:330
1647
  msgid "Italy"
1648
  msgstr ""
1649
 
1650
+ #: core/helpers/helper-form-templates.php:1172
1651
  msgid "Jersey"
1652
  msgstr ""
1653
 
1654
+ #: core/helpers/helper-form-templates.php:1173 core/helpers/helper-misc.php:331
1655
  msgid "Jamaica"
1656
  msgstr ""
1657
 
1658
+ #: core/helpers/helper-form-templates.php:1174 core/helpers/helper-misc.php:333
1659
  msgid "Jordan"
1660
  msgstr ""
1661
 
1662
+ #: core/helpers/helper-form-templates.php:1175 core/helpers/helper-misc.php:332
1663
  msgid "Japan"
1664
  msgstr ""
1665
 
1666
+ #: core/helpers/helper-form-templates.php:1176 core/helpers/helper-misc.php:335
1667
  msgid "Kenya"
1668
  msgstr ""
1669
 
1670
+ #: core/helpers/helper-form-templates.php:1177 core/helpers/helper-misc.php:340
1671
  msgid "Kyrgyzstan"
1672
  msgstr ""
1673
 
1674
+ #: core/helpers/helper-form-templates.php:1178 core/helpers/helper-misc.php:259
1675
  msgid "Cambodia"
1676
  msgstr ""
1677
 
1678
+ #: core/helpers/helper-form-templates.php:1179 core/helpers/helper-misc.php:336
1679
  msgid "Kiribati"
1680
  msgstr ""
1681
 
1682
+ #: core/helpers/helper-form-templates.php:1180 core/helpers/helper-misc.php:271
1683
  msgid "Comoros"
1684
  msgstr ""
1685
 
1686
+ #: core/helpers/helper-form-templates.php:1181 core/helpers/helper-misc.php:403
1687
  msgid "Saint Kitts and Nevis"
1688
  msgstr ""
1689
 
1690
+ #: core/helpers/helper-form-templates.php:1182
1691
  msgid "North Korea"
1692
  msgstr ""
1693
 
1694
+ #: core/helpers/helper-form-templates.php:1183
1695
  msgid "South Korea"
1696
  msgstr ""
1697
 
1698
+ #: core/helpers/helper-form-templates.php:1184 core/helpers/helper-misc.php:339
1699
  msgid "Kuwait"
1700
  msgstr ""
1701
 
1702
+ #: core/helpers/helper-form-templates.php:1185 core/helpers/helper-misc.php:263
1703
  msgid "Cayman Islands"
1704
  msgstr ""
1705
 
1706
+ #: core/helpers/helper-form-templates.php:1186 core/helpers/helper-misc.php:334
1707
  msgid "Kazakhstan"
1708
  msgstr ""
1709
 
1710
+ #: core/helpers/helper-form-templates.php:1187
1711
  msgid "Lao People's Democratic Republic"
1712
  msgstr ""
1713
 
1714
+ #: core/helpers/helper-form-templates.php:1188 core/helpers/helper-misc.php:343
1715
  msgid "Lebanon"
1716
  msgstr ""
1717
 
1718
+ #: core/helpers/helper-form-templates.php:1189 core/helpers/helper-misc.php:404
1719
  msgid "Saint Lucia"
1720
  msgstr ""
1721
 
1722
+ #: core/helpers/helper-form-templates.php:1190 core/helpers/helper-misc.php:347
1723
  msgid "Liechtenstein"
1724
  msgstr ""
1725
 
1726
+ #: core/helpers/helper-form-templates.php:1191 core/helpers/helper-misc.php:421
1727
  msgid "Sri Lanka"
1728
  msgstr ""
1729
 
1730
+ #: core/helpers/helper-form-templates.php:1192 core/helpers/helper-misc.php:345
1731
  msgid "Liberia"
1732
  msgstr ""
1733
 
1734
+ #: core/helpers/helper-form-templates.php:1193 core/helpers/helper-misc.php:344
1735
  msgid "Lesotho"
1736
  msgstr ""
1737
 
1738
+ #: core/helpers/helper-form-templates.php:1194 core/helpers/helper-misc.php:348
1739
  msgid "Lithuania"
1740
  msgstr ""
1741
 
1742
+ #: core/helpers/helper-form-templates.php:1195 core/helpers/helper-misc.php:349
1743
  msgid "Luxembourg"
1744
  msgstr ""
1745
 
1746
+ #: core/helpers/helper-form-templates.php:1196 core/helpers/helper-misc.php:342
1747
  msgid "Latvia"
1748
  msgstr ""
1749
 
1750
+ #: core/helpers/helper-form-templates.php:1197
1751
  msgid "Libya"
1752
  msgstr ""
1753
 
1754
+ #: core/helpers/helper-form-templates.php:1198 core/helpers/helper-misc.php:369
1755
  msgid "Morocco"
1756
  msgstr ""
1757
 
1758
+ #: core/helpers/helper-form-templates.php:1199 core/helpers/helper-misc.php:366
1759
  msgid "Monaco"
1760
  msgstr ""
1761
 
1762
+ #: core/helpers/helper-form-templates.php:1200 core/helpers/helper-misc.php:365
1763
  msgid "Moldova, Republic of"
1764
  msgstr ""
1765
 
1766
+ #: core/helpers/helper-form-templates.php:1201
1767
  msgid "Montenegro"
1768
  msgstr ""
1769
 
1770
+ #: core/helpers/helper-form-templates.php:1202
1771
  msgid "Saint Martin (French part)"
1772
  msgstr ""
1773
 
1774
+ #: core/helpers/helper-form-templates.php:1203 core/helpers/helper-misc.php:352
1775
  msgid "Madagascar"
1776
  msgstr ""
1777
 
1778
+ #: core/helpers/helper-form-templates.php:1204 core/helpers/helper-misc.php:358
1779
  msgid "Marshall Islands"
1780
  msgstr ""
1781
 
1782
+ #: core/helpers/helper-form-templates.php:1205
1783
  msgid "North Macedonia, Republic of"
1784
  msgstr ""
1785
 
1786
+ #: core/helpers/helper-form-templates.php:1206 core/helpers/helper-misc.php:356
1787
  msgid "Mali"
1788
  msgstr ""
1789
 
1790
+ #: core/helpers/helper-form-templates.php:1207 core/helpers/helper-misc.php:371
1791
  msgid "Myanmar"
1792
  msgstr ""
1793
 
1794
+ #: core/helpers/helper-form-templates.php:1208 core/helpers/helper-misc.php:367
1795
  msgid "Mongolia"
1796
  msgstr ""
1797
 
1798
+ #: core/helpers/helper-form-templates.php:1209
1799
  msgid "Macao"
1800
  msgstr ""
1801
 
1802
+ #: core/helpers/helper-form-templates.php:1210 core/helpers/helper-misc.php:384
1803
  msgid "Northern Mariana Islands"
1804
  msgstr ""
1805
 
1806
+ #: core/helpers/helper-form-templates.php:1211 core/helpers/helper-misc.php:359
1807
  msgid "Martinique"
1808
  msgstr ""
1809
 
1810
+ #: core/helpers/helper-form-templates.php:1212 core/helpers/helper-misc.php:360
1811
  msgid "Mauritania"
1812
  msgstr ""
1813
 
1814
+ #: core/helpers/helper-form-templates.php:1213 core/helpers/helper-misc.php:368
1815
  msgid "Montserrat"
1816
  msgstr ""
1817
 
1818
+ #: core/helpers/helper-form-templates.php:1214 core/helpers/helper-misc.php:357
1819
  msgid "Malta"
1820
  msgstr ""
1821
 
1822
+ #: core/helpers/helper-form-templates.php:1215 core/helpers/helper-misc.php:361
1823
  msgid "Mauritius"
1824
  msgstr ""
1825
 
1826
+ #: core/helpers/helper-form-templates.php:1216 core/helpers/helper-misc.php:355
1827
  msgid "Maldives"
1828
  msgstr ""
1829
 
1830
+ #: core/helpers/helper-form-templates.php:1217 core/helpers/helper-misc.php:353
1831
  msgid "Malawi"
1832
  msgstr ""
1833
 
1834
+ #: core/helpers/helper-form-templates.php:1218 core/helpers/helper-misc.php:363
1835
  msgid "Mexico"
1836
  msgstr ""
1837
 
1838
+ #: core/helpers/helper-form-templates.php:1219 core/helpers/helper-misc.php:354
1839
  msgid "Malaysia"
1840
  msgstr ""
1841
 
1842
+ #: core/helpers/helper-form-templates.php:1220 core/helpers/helper-misc.php:370
1843
  msgid "Mozambique"
1844
  msgstr ""
1845
 
1846
+ #: core/helpers/helper-form-templates.php:1221 core/helpers/helper-misc.php:372
1847
  msgid "Namibia"
1848
  msgstr ""
1849
 
1850
+ #: core/helpers/helper-form-templates.php:1222 core/helpers/helper-misc.php:377
1851
  msgid "New Caledonia"
1852
  msgstr ""
1853
 
1854
+ #: core/helpers/helper-form-templates.php:1223 core/helpers/helper-misc.php:380
1855
  msgid "Niger"
1856
  msgstr ""
1857
 
1858
+ #: core/helpers/helper-form-templates.php:1224 core/helpers/helper-misc.php:383
1859
  msgid "Norfolk Island"
1860
  msgstr ""
1861
 
1862
+ #: core/helpers/helper-form-templates.php:1225 core/helpers/helper-misc.php:381
1863
  msgid "Nigeria"
1864
  msgstr ""
1865
 
1866
+ #: core/helpers/helper-form-templates.php:1226 core/helpers/helper-misc.php:379
1867
  msgid "Nicaragua"
1868
  msgstr ""
1869
 
1870
+ #: core/helpers/helper-form-templates.php:1227 core/helpers/helper-misc.php:375
1871
  msgid "Netherlands"
1872
  msgstr ""
1873
 
1874
+ #: core/helpers/helper-form-templates.php:1228 core/helpers/helper-misc.php:385
1875
  msgid "Norway"
1876
  msgstr ""
1877
 
1878
+ #: core/helpers/helper-form-templates.php:1229 core/helpers/helper-misc.php:374
1879
  msgid "Nepal"
1880
  msgstr ""
1881
 
1882
+ #: core/helpers/helper-form-templates.php:1230 core/helpers/helper-misc.php:373
1883
  msgid "Nauru"
1884
  msgstr ""
1885
 
1886
+ #: core/helpers/helper-form-templates.php:1231 core/helpers/helper-misc.php:382
1887
  msgid "Niue"
1888
  msgstr ""
1889
 
1890
+ #: core/helpers/helper-form-templates.php:1232 core/helpers/helper-misc.php:378
1891
  msgid "New Zealand"
1892
  msgstr ""
1893
 
1894
+ #: core/helpers/helper-form-templates.php:1233 core/helpers/helper-misc.php:386
1895
  msgid "Oman"
1896
  msgstr ""
1897
 
1898
+ #: core/helpers/helper-form-templates.php:1234 core/helpers/helper-misc.php:389
1899
  msgid "Panama"
1900
  msgstr ""
1901
 
1902
+ #: core/helpers/helper-form-templates.php:1235 core/helpers/helper-misc.php:392
1903
  msgid "Peru"
1904
  msgstr ""
1905
 
1906
+ #: core/helpers/helper-form-templates.php:1236 core/helpers/helper-misc.php:300
1907
  msgid "French Polynesia"
1908
  msgstr ""
1909
 
1910
+ #: core/helpers/helper-form-templates.php:1237 core/helpers/helper-misc.php:390
1911
  msgid "Papua New Guinea"
1912
  msgstr ""
1913
 
1914
+ #: core/helpers/helper-form-templates.php:1238 core/helpers/helper-misc.php:393
1915
  msgid "Philippines"
1916
  msgstr ""
1917
 
1918
+ #: core/helpers/helper-form-templates.php:1239 core/helpers/helper-misc.php:387
1919
  msgid "Pakistan"
1920
  msgstr ""
1921
 
1922
+ #: core/helpers/helper-form-templates.php:1240 core/helpers/helper-misc.php:395
1923
  msgid "Poland"
1924
  msgstr ""
1925
 
1926
+ #: core/helpers/helper-form-templates.php:1241
1927
  msgid "Saint Pierre and Miquelon"
1928
  msgstr ""
1929
 
1930
+ #: core/helpers/helper-form-templates.php:1242 core/helpers/helper-misc.php:397
1931
  msgid "Puerto Rico"
1932
  msgstr ""
1933
 
1934
+ #: core/helpers/helper-form-templates.php:1243
1935
  msgid "Palestinian Territory, Occupied"
1936
  msgstr ""
1937
 
1938
+ #: core/helpers/helper-form-templates.php:1244 core/helpers/helper-misc.php:396
1939
  msgid "Portugal"
1940
  msgstr ""
1941
 
1942
+ #: core/helpers/helper-form-templates.php:1245 core/helpers/helper-misc.php:388
1943
  msgid "Palau"
1944
  msgstr ""
1945
 
1946
+ #: core/helpers/helper-form-templates.php:1246 core/helpers/helper-misc.php:391
1947
  msgid "Paraguay"
1948
  msgstr ""
1949
 
1950
+ #: core/helpers/helper-form-templates.php:1247 core/helpers/helper-misc.php:398
1951
  msgid "Qatar"
1952
  msgstr ""
1953
 
1954
+ #: core/helpers/helper-form-templates.php:1248 core/helpers/helper-misc.php:399
1955
  msgid "Reunion"
1956
  msgstr ""
1957
 
1958
+ #: core/helpers/helper-form-templates.php:1249 core/helpers/helper-misc.php:400
1959
  msgid "Romania"
1960
  msgstr ""
1961
 
1962
+ #: core/helpers/helper-form-templates.php:1250
1963
  msgid "Serbia"
1964
  msgstr ""
1965
 
1966
+ #: core/helpers/helper-form-templates.php:1251 core/helpers/helper-misc.php:401
1967
  msgid "Russian Federation"
1968
  msgstr ""
1969
 
1970
+ #: core/helpers/helper-form-templates.php:1252 core/helpers/helper-misc.php:402
1971
  msgid "Rwanda"
1972
  msgstr ""
1973
 
1974
+ #: core/helpers/helper-form-templates.php:1253 core/helpers/helper-misc.php:409
1975
  msgid "Saudi Arabia"
1976
  msgstr ""
1977
 
1978
+ #: core/helpers/helper-form-templates.php:1254 core/helpers/helper-misc.php:416
1979
  msgid "Solomon Islands"
1980
  msgstr ""
1981
 
1982
+ #: core/helpers/helper-form-templates.php:1255 core/helpers/helper-misc.php:411
1983
  msgid "Seychelles"
1984
  msgstr ""
1985
 
1986
+ #: core/helpers/helper-form-templates.php:1256 core/helpers/helper-misc.php:424
1987
  msgid "Sudan"
1988
  msgstr ""
1989
 
1990
+ #: core/helpers/helper-form-templates.php:1257 core/helpers/helper-misc.php:428
1991
  msgid "Sweden"
1992
  msgstr ""
1993
 
1994
+ #: core/helpers/helper-form-templates.php:1258 core/helpers/helper-misc.php:413
1995
  msgid "Singapore"
1996
  msgstr ""
1997
 
1998
+ #: core/helpers/helper-form-templates.php:1259
1999
+ #: core/helpers/helper-form-templates.php:1274
2000
  msgid "Saint Helena"
2001
  msgstr ""
2002
 
2003
+ #: core/helpers/helper-form-templates.php:1260 core/helpers/helper-misc.php:415
2004
  msgid "Slovenia"
2005
  msgstr ""
2006
 
2007
+ #: core/helpers/helper-form-templates.php:1261
2008
  msgid "Svalbard and Jan Mayen"
2009
  msgstr ""
2010
 
2011
+ #: core/helpers/helper-form-templates.php:1262
2012
  msgid "Slovakia"
2013
  msgstr ""
2014
 
2015
+ #: core/helpers/helper-form-templates.php:1263 core/helpers/helper-misc.php:412
2016
  msgid "Sierra Leone"
2017
  msgstr ""
2018
 
2019
+ #: core/helpers/helper-form-templates.php:1264 core/helpers/helper-misc.php:407
2020
  msgid "San Marino"
2021
  msgstr ""
2022
 
2023
+ #: core/helpers/helper-form-templates.php:1265 core/helpers/helper-misc.php:410
2024
  msgid "Senegal"
2025
  msgstr ""
2026
 
2027
+ #: core/helpers/helper-form-templates.php:1266 core/helpers/helper-misc.php:417
2028
  msgid "Somalia"
2029
  msgstr ""
2030
 
2031
+ #: core/helpers/helper-form-templates.php:1267 core/helpers/helper-misc.php:425
2032
  msgid "Suriname"
2033
  msgstr ""
2034
 
2035
+ #: core/helpers/helper-form-templates.php:1268
2036
  msgid "South Sudan"
2037
  msgstr ""
2038
 
2039
+ #: core/helpers/helper-form-templates.php:1269 core/helpers/helper-misc.php:408
2040
  msgid "Sao Tome and Principe"
2041
  msgstr ""
2042
 
2043
+ #: core/helpers/helper-form-templates.php:1270 core/helpers/helper-misc.php:288
2044
  msgid "El Salvador"
2045
  msgstr ""
2046
 
2047
+ #: core/helpers/helper-form-templates.php:1271
2048
  msgid "Sint Maarten (Dutch part)"
2049
  msgstr ""
2050
 
2051
+ #: core/helpers/helper-form-templates.php:1272 core/helpers/helper-misc.php:430
2052
  msgid "Syrian Arab Republic"
2053
  msgstr ""
2054
 
2055
+ #: core/helpers/helper-form-templates.php:1273
2056
  msgid "Eswatini"
2057
  msgstr ""
2058
 
2059
+ #: core/helpers/helper-form-templates.php:1275 core/helpers/helper-misc.php:442
2060
  msgid "Turks and Caicos Islands"
2061
  msgstr ""
2062
 
2063
+ #: core/helpers/helper-form-templates.php:1276 core/helpers/helper-misc.php:265
2064
  msgid "Chad"
2065
  msgstr ""
2066
 
2067
+ #: core/helpers/helper-form-templates.php:1277 core/helpers/helper-misc.php:435
2068
  msgid "Togo"
2069
  msgstr ""
2070
 
2071
+ #: core/helpers/helper-form-templates.php:1278 core/helpers/helper-misc.php:434
2072
  msgid "Thailand"
2073
  msgstr ""
2074
 
2075
+ #: core/helpers/helper-form-templates.php:1279 core/helpers/helper-misc.php:432
2076
  msgid "Tajikistan"
2077
  msgstr ""
2078
 
2079
+ #: core/helpers/helper-form-templates.php:1280 core/helpers/helper-misc.php:436
2080
  msgid "Tokelau"
2081
  msgstr ""
2082
 
2083
+ #: core/helpers/helper-form-templates.php:1281
2084
  msgid "Timor-Leste"
2085
  msgstr ""
2086
 
2087
+ #: core/helpers/helper-form-templates.php:1282 core/helpers/helper-misc.php:441
2088
  msgid "Turkmenistan"
2089
  msgstr ""
2090
 
2091
+ #: core/helpers/helper-form-templates.php:1283 core/helpers/helper-misc.php:439
2092
  msgid "Tunisia"
2093
  msgstr ""
2094
 
2095
+ #: core/helpers/helper-form-templates.php:1284 core/helpers/helper-misc.php:437
2096
  msgid "Tonga"
2097
  msgstr ""
2098
 
2099
+ #: core/helpers/helper-form-templates.php:1285 core/helpers/helper-misc.php:440
2100
  msgid "Turkey"
2101
  msgstr ""
2102
 
2103
+ #: core/helpers/helper-form-templates.php:1286 core/helpers/helper-misc.php:438
2104
  msgid "Trinidad and Tobago"
2105
  msgstr ""
2106
 
2107
+ #: core/helpers/helper-form-templates.php:1287 core/helpers/helper-misc.php:443
2108
  msgid "Tuvalu"
2109
  msgstr ""
2110
 
2111
+ #: core/helpers/helper-form-templates.php:1288
2112
  msgid "Taiwan"
2113
  msgstr ""
2114
 
2115
+ #: core/helpers/helper-form-templates.php:1289 core/helpers/helper-misc.php:433
2116
  msgid "Tanzania, United Republic of"
2117
  msgstr ""
2118
 
2119
+ #: core/helpers/helper-form-templates.php:1290 core/helpers/helper-misc.php:445
2120
  msgid "Ukraine"
2121
  msgstr ""
2122
 
2123
+ #: core/helpers/helper-form-templates.php:1291 core/helpers/helper-misc.php:444
2124
  msgid "Uganda"
2125
  msgstr ""
2126
 
2127
+ #: core/helpers/helper-form-templates.php:1292
2128
  msgid "United States of America"
2129
  msgstr ""
2130
 
2131
+ #: core/helpers/helper-form-templates.php:1293 core/helpers/helper-misc.php:450
2132
  msgid "Uruguay"
2133
  msgstr ""
2134
 
2135
+ #: core/helpers/helper-form-templates.php:1294 core/helpers/helper-misc.php:451
2136
  msgid "Uzbekistan"
2137
  msgstr ""
2138
 
2139
+ #: core/helpers/helper-form-templates.php:1295 core/helpers/helper-misc.php:319
2140
  msgid "Holy See (Vatican City State)"
2141
  msgstr ""
2142
 
2143
+ #: core/helpers/helper-form-templates.php:1296 core/helpers/helper-misc.php:405
2144
  msgid "Saint Vincent and the Grenadines"
2145
  msgstr ""
2146
 
2147
+ #: core/helpers/helper-form-templates.php:1297 core/helpers/helper-misc.php:453
2148
  msgid "Venezuela"
2149
  msgstr ""
2150
 
2151
+ #: core/helpers/helper-form-templates.php:1298
2152
  msgid "Virgin Islands, British"
2153
  msgstr ""
2154
 
2155
+ #: core/helpers/helper-form-templates.php:1299
2156
  msgid "Virgin Islands, U.S."
2157
  msgstr ""
2158
 
2159
+ #: core/helpers/helper-form-templates.php:1300 core/helpers/helper-misc.php:454
2160
  msgid "Vietnam"
2161
  msgstr ""
2162
 
2163
+ #: core/helpers/helper-form-templates.php:1301 core/helpers/helper-misc.php:452
2164
  msgid "Vanuatu"
2165
  msgstr ""
2166
 
2167
+ #: core/helpers/helper-form-templates.php:1302
2168
  msgid "Wallis and Futuna"
2169
  msgstr ""
2170
 
2171
+ #: core/helpers/helper-form-templates.php:1303 core/helpers/helper-misc.php:406
2172
  msgid "Samoa"
2173
  msgstr ""
2174
 
2175
+ #: core/helpers/helper-form-templates.php:1304
2176
  msgid "Kosovo"
2177
  msgstr ""
2178
 
2179
+ #: core/helpers/helper-form-templates.php:1305 core/helpers/helper-misc.php:459
2180
  msgid "Yemen"
2181
  msgstr ""
2182
 
2183
+ #: core/helpers/helper-form-templates.php:1306 core/helpers/helper-misc.php:362
2184
  msgid "Mayotte"
2185
  msgstr ""
2186
 
2187
+ #: core/helpers/helper-form-templates.php:1307 core/helpers/helper-misc.php:418
2188
  msgid "South Africa"
2189
  msgstr ""
2190
 
2191
+ #: core/helpers/helper-form-templates.php:1308 core/helpers/helper-misc.php:461
2192
  msgid "Zambia"
2193
  msgstr ""
2194
 
2195
+ #: core/helpers/helper-form-templates.php:1309 core/helpers/helper-misc.php:462
2196
  msgid "Zimbabwe"
2197
  msgstr ""
2198
 
2919
  msgid "Insert"
2920
  msgstr ""
2921
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2922
  #: core/templates/customize-controls/setup/alert-email-subject.php:4
2923
  msgid "part value is currently used as subject"
2924
  msgstr ""
3187
  msgid "Click to edit this part."
3188
  msgstr ""
3189
 
3190
+ #: inc/classes/class-happyforms.php:113
3191
  msgid "Randomize parts"
3192
  msgstr ""
3193
 
3194
+ #: inc/classes/class-happyforms.php:114
3195
  msgid "Randomize the order of all form parts to avoid biases in your responses."
3196
  msgstr ""
3197
 
3198
+ #: inc/classes/class-happyforms.php:120
3199
  msgid "Use reCAPTCHA"
3200
  msgstr ""
3201
 
3202
+ #: inc/classes/class-happyforms.php:121
3203
  msgid "Protect your form against bots using your Google ReCaptcha credentials."
3204
  msgstr ""
3205
 
3206
+ #: inc/classes/class-happyforms.php:127
3207
  msgid "Open in overlay window"
3208
  msgstr ""
3209
 
3210
+ #: inc/classes/class-happyforms.php:128
3211
  msgid "Generate a link that can be clicked to open an overlay window for this form."
3212
  msgstr ""
3213
 
3214
+ #: inc/classes/class-happyforms.php:134
3215
  msgid "Save user's meta data"
3216
  msgstr ""
3217
 
3218
+ #: inc/classes/class-happyforms.php:135
3219
  msgid ""
3220
  "User meta data like IP address, browser language, local time, and platform "
3221
  "will be saved with each submission when checked."
3222
  msgstr ""
3223
 
3224
+ #: inc/classes/class-happyforms.php:141
3225
  msgid "Save incomplete and abandoned submissions"
3226
  msgstr ""
3227
 
3228
+ #: inc/classes/class-happyforms.php:142
3229
  msgid "Keep incomplete users responses stored in your WordPress database."
3230
  msgstr ""
3231
 
3232
+ #: inc/classes/class-happyforms.php:148
3233
  msgid "Let respondents save a draft submission and come back to it later"
3234
  msgstr ""
3235
 
3236
+ #: inc/classes/class-happyforms.php:149
3237
  msgid ""
3238
  "Let users temporarily save their incomplete response and continue filling "
3239
  "out the form at a later time."
3240
  msgstr ""
3241
 
3242
+ #: inc/classes/class-happyforms.php:155
3243
  msgid "Require respondents to review a submission before submitting"
3244
  msgstr ""
3245
 
3246
+ #: inc/classes/class-happyforms.php:156
3247
  msgid "Let your users review their submission before confirming it."
3248
  msgstr ""
3249
 
3250
+ #: inc/classes/class-happyforms.php:162
3251
  msgid "Disable buttons until required fields are answered"
3252
  msgstr ""
3253
 
3254
+ #: inc/classes/class-happyforms.php:163
3255
  msgid ""
3256
  "Reduce the opacity of the submit button until all required form parts are "
3257
  "valid."
3258
  msgstr ""
3259
 
3260
+ #: inc/classes/class-happyforms.php:169
3261
  msgid "Limit submissions"
3262
  msgstr ""
3263
 
3264
+ #: inc/classes/class-happyforms.php:170
3265
  msgid "Set limit on number of allowed form submission in general or per user."
3266
  msgstr ""
3267
 
3268
+ #: inc/classes/class-happyforms.php:176
3269
  msgid "Schedule visibility"
3270
  msgstr ""
3271
 
3272
+ #: inc/classes/class-happyforms.php:177
3273
  msgid ""
3274
  "Show or hide this form during a chosen time and day. Go to Settings > "
3275
  "Timezone to set your city offset."
3276
  msgstr ""
3277
 
3278
+ #: inc/classes/class-happyforms.php:187
3279
  msgid "Include reply link"
3280
  msgstr ""
3281
 
3282
+ #: inc/classes/class-happyforms.php:188
3283
  msgid "Reply to your users and mark their submission as read in one click."
3284
  msgstr ""
3285
 
3286
+ #: inc/classes/class-happyforms.php:194
3287
  msgid "Include referral link"
3288
  msgstr ""
3289
 
3290
+ #: inc/classes/class-happyforms.php:195
3291
  msgid "Include the page link your form was submitted from."
3292
  msgstr ""
3293
 
3294
+ #: inc/classes/class-happyforms.php:201 inc/classes/class-happyforms.php:215
3295
  msgid "Attach .pdf"
3296
  msgstr ""
3297
 
3298
+ #: inc/classes/class-happyforms.php:202
3299
  msgid "Attach a PDF to your submission alert."
3300
  msgstr ""
3301
 
3302
+ #: inc/classes/class-happyforms.php:208
3303
  msgid "To email address"
3304
  msgstr ""
3305
 
3306
+ #: inc/classes/class-happyforms.php:209
3307
  msgid "The Email field used to send this confirmation."
3308
  msgstr ""
3309
 
3310
+ #: inc/classes/class-happyforms.php:216
3311
  msgid "Attach a PDF to the recipient's confirmation email."
3312
  msgstr ""
3313
 
3314
+ #: inc/classes/class-happyforms.php:222
3315
  msgid "Send abandonment email"
3316
  msgstr ""
3317
 
3318
+ #: inc/classes/class-happyforms.php:223
3319
  msgid "Notify users when they abandon your form before submitting it."
3320
  msgstr ""
3321
 
3322
+ #: inc/classes/class-happyforms.php:233
3323
  msgid "Use theme styles"
3324
  msgstr ""
3325
 
3326
+ #: inc/classes/class-happyforms.php:446 inc/classes/class-happyforms.php:464
3327
+ msgid "Build your own WordPress form with Happyforms"
3328
+ msgstr ""
3329
+
3330
  #: inc/classes/parts/class-part-address-dummy.php:8
3331
  msgid "Address"
3332
  msgstr ""
3503
  msgid "For formatted site URLs."
3504
  msgstr ""
3505
 
3506
+ #: inc/templates/admin/modal-onboarding.php:4
3507
+ msgid "Welcome to Happyforms"
3508
+ msgstr ""
3509
+
3510
+ #: inc/templates/admin/modal-onboarding.php:5
3511
+ msgid "Tell us about yourself and we'll get you set up in no time*"
3512
+ msgstr ""
3513
+
3514
+ #: inc/templates/admin/modal-onboarding.php:13
3515
+ #: inc/templates/admin/modal-onboarding.php:31
3516
+ msgid ""
3517
+ "Yes, I want to help support the free plugin by adding a powered by link in "
3518
+ "the footer of my forms and emails."
3519
+ msgstr ""
3520
+
3521
+ #: inc/templates/admin/modal-onboarding.php:15
3522
+ msgid "Complete Set Up"
3523
+ msgstr ""
3524
+
3525
+ #: inc/templates/admin/modal-onboarding.php:16
3526
+ msgid "*By submitting you're okay for us to send you occasional marketing emails."
3527
+ msgstr ""
3528
+
3529
+ #: inc/templates/admin/modal-onboarding.php:24
3530
+ msgid "Powered by Happyforms"
3531
+ msgstr ""
3532
+
3533
+ #: inc/templates/admin/modal-onboarding.php:25
3534
+ msgid "All it takes is one little \"yes\" from you to help us out."
3535
+ msgstr ""
3536
+
3537
+ #: inc/templates/admin/modal-onboarding.php:33
3538
+ msgid "Complete"
3539
+ msgstr ""
3540
+
3541
+ #: inc/templates/admin/modal-upgrade.php:2
3542
+ msgid "You’ll need to upgrade to access this"
3543
+ msgstr ""
3544
+
3545
+ #: inc/templates/admin/modal-upgrade.php:3
3546
+ msgid ""
3547
+ "We offer several, affordable paid plans that include our best features. "
3548
+ "Upgrade today and increase your customer interactions."
3549
+ msgstr ""
3550
+
3551
+ #: inc/templates/admin/modal-upgrade.php:6
3552
+ msgid "Start Your Risk-Free 14-Day Trial"
3553
+ msgstr ""
3554
+
3555
  #: inc/templates/customize-controls/email-parts-list-dummy.php:8
3556
  msgid "field"
3557
  msgstr ""
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
7
  Requires PHP: 5.3
8
- Stable tag: 1.12.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -151,6 +151,11 @@ Aw, honestly, the thought that you're writing about our contact form builder is
151
 
152
  == Changelog ==
153
 
 
 
 
 
 
154
  = 1.12.4 =
155
  * Bugfix: Hiding labels was changing fields width.
156
 
@@ -791,6 +796,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
791
 
792
  == Upgrade Notice ==
793
 
 
 
 
794
  = 1.12.4 =
795
  * Bugfixes.
796
 
5
  Requires at least: 4.8
6
  Tested up to: 5.7
7
  Requires PHP: 5.3
8
+ Stable tag: 1.12.5
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.5 =
155
+ * Improvement: Style tab "Additional CSS" section now triggers real-time updates.
156
+ * Improvement: Better keyboard navigation in dropdown-based fields.
157
+ * Improvement: New control allows for setting a label for required fields.
158
+
159
  = 1.12.4 =
160
  * Bugfix: Hiding labels was changing fields width.
161
 
796
 
797
  == Upgrade Notice ==
798
 
799
+ = 1.12.5 =
800
+ * Real-time CSS preview, new required fields label control, improvement and bugfixes.
801
+
802
  = 1.12.4 =
803
  * Bugfixes.
804