Version Description
- New feature: Messages tab in Edit Form screen allows for complete language customization.
- New feature: Prefill control for setting a default value on Short Text, Long Text, Email Address and Number fields.
- Bugfix: "Email respondent a copy of their submission" "Include submitted" feature was misbehaving.
Download this release
Release Info
Developer | happyforms |
Plugin | Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms |
Version | 1.10.0 |
Comparing to | |
See all releases |
Code changes from version 1.9.30 to 1.10.0
- core/assets/css/admin.css +1 -1
- core/assets/css/color.css +3 -8
- core/assets/css/customize.css +128 -33
- core/assets/css/layout.css +9 -18
- core/assets/js/admin/shortcode.js +1 -0
- core/assets/js/frontend/email.js +2 -28
- core/assets/js/parts/part-email.js +0 -108
- core/assets/js/parts/part-number.js +0 -65
- core/assets/js/parts/part-select.js +1 -18
- core/classes/class-block.php +3 -3
- core/classes/class-form-controller.php +3 -0
- core/classes/class-form-email.php +9 -9
- core/classes/class-form-messages.php +212 -0
- core/classes/class-form-setup.php +82 -55
- core/classes/class-form-styles.php +4 -4
- core/classes/class-happyforms-core.php +21 -62
- core/classes/class-happyforms-widget.php +2 -2
- core/classes/class-validation-messages.php +110 -11
- core/classes/class-wp-customize-form-manager.php +5 -4
- core/classes/parts/class-part-checkbox.php +2 -2
- core/classes/parts/class-part-email.php +30 -112
- core/classes/parts/class-part-multi-line-text.php +22 -10
- core/classes/parts/class-part-number.php +33 -57
- core/classes/parts/class-part-radio.php +2 -2
- core/classes/parts/class-part-select.php +2 -6
- core/classes/parts/class-part-single-line-text.php +15 -2
- core/helpers/helper-form-templates.php +2 -27
- core/helpers/helper-misc.php +1 -1
- core/templates/customize-controls/setup/group_start.php +28 -1
- core/templates/customize-form-build.php +0 -1
- core/templates/customize-form-messages.php +22 -0
- core/templates/customize-form-part-footer.php +0 -1
- core/templates/customize-form-steps.php +1 -0
- core/templates/partials/form-submit.php +5 -1
- core/templates/partials/happyforms-select.php +1 -1
- core/templates/parts/customize-checkbox.php +45 -47
- core/templates/parts/customize-email.php +21 -40
- core/templates/parts/customize-multi-line-text.php +35 -41
- core/templates/parts/customize-number.php +31 -44
- core/templates/parts/customize-radio.php +27 -29
- core/templates/parts/customize-select.php +15 -23
- core/templates/parts/customize-single-line-text.php +21 -21
- core/templates/parts/frontend-email.php +18 -86
- core/templates/parts/frontend-number.php +1 -41
- happyforms.php +5 -5
- inc/assets/js/customize.js +320 -75
- inc/classes/class-happyforms.php +3 -3
- inc/templates/email-user.php +2 -2
- languages/happyforms.pot +547 -592
- readme.txt +9 -1
core/assets/css/admin.css
CHANGED
@@ -206,7 +206,7 @@ p.welcome-panel-footer a:active {
|
|
206 |
}
|
207 |
|
208 |
#available-widgets div[id*='widget-tpl-happyforms_widget-'] .widget-title:before {
|
209 |
-
content: '\
|
210 |
}
|
211 |
|
212 |
.happyforms-editor-button span.dashicons {
|
206 |
}
|
207 |
|
208 |
#available-widgets div[id*='widget-tpl-happyforms_widget-'] .widget-title:before {
|
209 |
+
content: '\f175';
|
210 |
}
|
211 |
|
212 |
.happyforms-editor-button span.dashicons {
|
core/assets/css/color.css
CHANGED
@@ -221,10 +221,6 @@
|
|
221 |
position: relative;
|
222 |
}
|
223 |
|
224 |
-
.happyforms-styles .happyforms-part-wrap--confirmation {
|
225 |
-
margin-top: 10px;
|
226 |
-
}
|
227 |
-
|
228 |
/* parts - option labels */
|
229 |
|
230 |
.happyforms-styles .happyforms-part .option-label {
|
@@ -676,10 +672,9 @@
|
|
676 |
color: var(--happyforms-color-part-placeholder);
|
677 |
}
|
678 |
|
679 |
-
.happyforms-styles .happyforms-part--label-as_placeholder input:focus
|
680 |
-
.happyforms-styles .happyforms-part--label-as_placeholder textarea:focus
|
681 |
-
.happyforms-styles .happyforms-part--label-as_placeholder.happyforms-part--filled
|
682 |
-
.happyforms-styles .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label .label,
|
683 |
.happyforms-styles .happyforms-part--select.happyforms-part--filled.happyforms-part--label-as_placeholder .label {
|
684 |
font-weight: bold;
|
685 |
font-size: 14px;
|
221 |
position: relative;
|
222 |
}
|
223 |
|
|
|
|
|
|
|
|
|
224 |
/* parts - option labels */
|
225 |
|
226 |
.happyforms-styles .happyforms-part .option-label {
|
672 |
color: var(--happyforms-color-part-placeholder);
|
673 |
}
|
674 |
|
675 |
+
.happyforms-styles .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container label .label,
|
676 |
+
.happyforms-styles .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container label .label,
|
677 |
+
.happyforms-styles .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label .label,
|
|
|
678 |
.happyforms-styles .happyforms-part--select.happyforms-part--filled.happyforms-part--label-as_placeholder .label {
|
679 |
font-weight: bold;
|
680 |
font-size: 14px;
|
core/assets/css/customize.css
CHANGED
@@ -7,6 +7,14 @@
|
|
7 |
z-index: 1000;
|
8 |
}
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
.wp-full-overlay-sidebar .wp-full-overlay-header {
|
11 |
position: relative;
|
12 |
z-index: 9999;
|
@@ -22,10 +30,22 @@
|
|
22 |
border-bottom: 0;
|
23 |
}
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
.happyforms-stack-view input[type="number"] {
|
26 |
padding-right: 0;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
*
|
31 |
* Header actions
|
@@ -92,6 +112,11 @@
|
|
92 |
padding-top: 0;
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
95 |
/**
|
96 |
*
|
97 |
* Sidebar stacked view
|
@@ -362,7 +387,6 @@ a.happyforms-form-part-advanced-settings {
|
|
362 |
|
363 |
a.happyforms-form-part-logic {
|
364 |
float: right;
|
365 |
-
margin-right: 10px;
|
366 |
}
|
367 |
|
368 |
.happyforms-part-logic-wrap {
|
@@ -477,13 +501,6 @@ a.happyforms-form-part-remove:hover {
|
|
477 |
* Form edit
|
478 |
*
|
479 |
*/
|
480 |
-
#customize-control-optional_part_label {
|
481 |
-
display: none;
|
482 |
-
}
|
483 |
-
|
484 |
-
#customize-control-confirmation_email_content .wp-editor-tabs {
|
485 |
-
display: none;
|
486 |
-
}
|
487 |
|
488 |
.customize-control-group.happyforms-nested-settings {
|
489 |
display: none;
|
@@ -500,7 +517,8 @@ a.happyforms-form-part-remove:hover {
|
|
500 |
|
501 |
#customize-control-receive_email_alerts.checked ~ .happyforms-nested-settings[data-trigger=receive_email_alerts],
|
502 |
.has-email #customize-control-send_confirmation_email.checked ~ .happyforms-nested-settings[data-trigger=send_confirmation_email],
|
503 |
-
#customize-control-use_html_id.checked ~ .happyforms-nested-settings[data-trigger=use_html_id]
|
|
|
504 |
display: block;
|
505 |
}
|
506 |
|
@@ -512,7 +530,6 @@ a.happyforms-form-part-remove:hover {
|
|
512 |
.happyforms-setup-view #customize-control-email_recipient,
|
513 |
.happyforms-setup-view #customize-control-email_bccs,
|
514 |
.happyforms-setup-view #customize-control-alert_email_subject,
|
515 |
-
.happyforms-setup-view .customize-control[id*='customize-control-confirmation_email_']:not(#customize-control-confirmation_email_include_values),
|
516 |
.happyforms-setup-view .customize-control[id*='customize-control-redirect']:not(#customize-control-redirect_on_complete):not(#customize-control-redirect_blank),
|
517 |
.happyforms-setup-view .customize-control[id*='customize-control-captcha_']:not(#customize-control-captcha_label),
|
518 |
.happyforms-setup-view #customize-control-email_mark_and_reply,
|
@@ -555,6 +572,60 @@ a.happyforms-form-part-remove:hover {
|
|
555 |
padding-bottom: 5px;
|
556 |
}
|
557 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
/**
|
559 |
*
|
560 |
* Form build
|
@@ -1378,6 +1449,10 @@ li.customize-control.happyforms-range-control select.happyforms-unit-switch {
|
|
1378 |
unicode-bidi: embed;
|
1379 |
}
|
1380 |
|
|
|
|
|
|
|
|
|
1381 |
#customize-control-part_toggle_placeholders,
|
1382 |
#customize-control-dropdowns,
|
1383 |
#customize-control-checkboxes-radios,
|
@@ -1397,10 +1472,6 @@ li.customize-control.happyforms-range-control select.happyforms-unit-switch {
|
|
1397 |
.happyforms-style-view.has-checkbox #customize-control-checkboxes-radios,
|
1398 |
.happyforms-style-view.has-radio #customize-control-checkboxes-radios,
|
1399 |
.happyforms-style-view.has-table #customize-control-checkboxes-radios,
|
1400 |
-
.happyforms-style-view.has-legal #customize-control-checkboxes-radios,
|
1401 |
-
.happyforms-style-view.has-poll #customize-control-checkboxes-radios,
|
1402 |
-
.happyforms-style-view.has-signature #customize-control-checkboxes-radios,
|
1403 |
-
.happyforms-style-view.has-email_integration #customize-control-checkboxes-radios,
|
1404 |
.happyforms-style-view.has-rating #customize-control-rating,
|
1405 |
.happyforms-style-view.has-table #customize-control-tables,
|
1406 |
.happyforms-style-view.has-divider #customize-control-dividers,
|
@@ -1428,6 +1499,26 @@ i.mce-i-happyforms_narrative_input:after {
|
|
1428 |
.happyforms-widget-form .mce-btn.mce-active:hover i {
|
1429 |
color: inherit;
|
1430 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1431 |
|
1432 |
/**
|
1433 |
*
|
@@ -1440,7 +1531,8 @@ i.mce-i-happyforms_narrative_input:after {
|
|
1440 |
border-left: 1px solid #eee;
|
1441 |
}
|
1442 |
.happyforms-setup-view .happyforms-nested-settings,
|
1443 |
-
.happyforms-email-view .happyforms-nested-settings
|
|
|
1444 |
margin-top: -5px;
|
1445 |
margin-bottom: 12px;
|
1446 |
padding-top: 5px;
|
@@ -1483,24 +1575,6 @@ div.customize-section-description {
|
|
1483 |
background: #fff;
|
1484 |
}
|
1485 |
|
1486 |
-
#customize-control-confirmation_message {
|
1487 |
-
display: none;
|
1488 |
-
}
|
1489 |
-
|
1490 |
-
.happyforms-nested-settings[data-trigger="confirm_submission"] {
|
1491 |
-
display: block;
|
1492 |
-
}
|
1493 |
-
|
1494 |
-
#customize-control-confirm_submission[data-value="success_message"] ~ .customize-control-group #customize-control-confirmation_message,
|
1495 |
-
#customize-control-confirm_submission[data-value="success_message_hide_form"] ~ .customize-control-group #customize-control-confirmation_message {
|
1496 |
-
display: block;
|
1497 |
-
}
|
1498 |
-
|
1499 |
-
#customize-control-confirm_submission[data-value="success_message"] ~ .happyforms-nested-settings[data-trigger="confirm_submission"],
|
1500 |
-
#customize-control-confirm_submission[data-value="success_message_hide_form"] ~ .happyforms-nested-settings[data-trigger="confirm_submission"] {
|
1501 |
-
display: block;
|
1502 |
-
}
|
1503 |
-
|
1504 |
.wp-editor-float-right {
|
1505 |
float: right;
|
1506 |
}
|
@@ -1565,3 +1639,24 @@ ul.happyforms-parts-list li.happyforms-parts-list-item--group .happyforms-parts-
|
|
1565 |
.min-max-wrapper > *:last-child {
|
1566 |
padding-right: 0;
|
1567 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
z-index: 1000;
|
8 |
}
|
9 |
|
10 |
+
.wp-full-overlay.expanded .wp-full-overlay-sidebar {
|
11 |
+
width: 35%;
|
12 |
+
}
|
13 |
+
|
14 |
+
.wp-full-overlay.expanded {
|
15 |
+
margin-left: min( 35%, calc( 35% - calc( 35% - 600px ) ) );
|
16 |
+
}
|
17 |
+
|
18 |
.wp-full-overlay-sidebar .wp-full-overlay-header {
|
19 |
position: relative;
|
20 |
z-index: 9999;
|
30 |
border-bottom: 0;
|
31 |
}
|
32 |
|
33 |
+
|
34 |
+
.wp-full-overlay.expanded .wp-full-overlay-footer {
|
35 |
+
width: calc( 35% - 1px );
|
36 |
+
max-width: 599px;
|
37 |
+
}
|
38 |
+
|
39 |
.happyforms-stack-view input[type="number"] {
|
40 |
padding-right: 0;
|
41 |
}
|
42 |
|
43 |
+
@media screen and (max-width: 850px) {
|
44 |
+
.wp-full-overlay.expanded {
|
45 |
+
margin-left: 300px;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
/**
|
50 |
*
|
51 |
* Header actions
|
112 |
padding-top: 0;
|
113 |
}
|
114 |
|
115 |
+
#happyforms-steps-nav .nav-tab-wrapper .nav-tab-active {
|
116 |
+
background: #eeeeee;
|
117 |
+
border-bottom-color: #eeeeee;
|
118 |
+
}
|
119 |
+
|
120 |
/**
|
121 |
*
|
122 |
* Sidebar stacked view
|
387 |
|
388 |
a.happyforms-form-part-logic {
|
389 |
float: right;
|
|
|
390 |
}
|
391 |
|
392 |
.happyforms-part-logic-wrap {
|
501 |
* Form edit
|
502 |
*
|
503 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
|
505 |
.customize-control-group.happyforms-nested-settings {
|
506 |
display: none;
|
517 |
|
518 |
#customize-control-receive_email_alerts.checked ~ .happyforms-nested-settings[data-trigger=receive_email_alerts],
|
519 |
.has-email #customize-control-send_confirmation_email.checked ~ .happyforms-nested-settings[data-trigger=send_confirmation_email],
|
520 |
+
#customize-control-use_html_id.checked ~ .happyforms-nested-settings[data-trigger=use_html_id],
|
521 |
+
#customize-control-add_submit_button_class.checked ~ .happyforms-nested-settings[data-trigger=add_submit_button_class] {
|
522 |
display: block;
|
523 |
}
|
524 |
|
530 |
.happyforms-setup-view #customize-control-email_recipient,
|
531 |
.happyforms-setup-view #customize-control-email_bccs,
|
532 |
.happyforms-setup-view #customize-control-alert_email_subject,
|
|
|
533 |
.happyforms-setup-view .customize-control[id*='customize-control-redirect']:not(#customize-control-redirect_on_complete):not(#customize-control-redirect_blank),
|
534 |
.happyforms-setup-view .customize-control[id*='customize-control-captcha_']:not(#customize-control-captcha_label),
|
535 |
.happyforms-setup-view #customize-control-email_mark_and_reply,
|
572 |
padding-bottom: 5px;
|
573 |
}
|
574 |
|
575 |
+
/**
|
576 |
+
*
|
577 |
+
* Form message
|
578 |
+
*
|
579 |
+
*/
|
580 |
+
.happyforms-messages-view .customize-control,
|
581 |
+
.happyforms-messages-view #messages-view-errors,
|
582 |
+
.happyforms-messages-view #messages-view-hints {
|
583 |
+
display: none;
|
584 |
+
}
|
585 |
+
|
586 |
+
#customize-control-error_message,
|
587 |
+
.has-required-selection-fields #messages-view-errors,
|
588 |
+
.has-min-limit-choices #messages-view-errors,
|
589 |
+
.has-field #messages-view-errors,
|
590 |
+
.has-optional-field #messages-view-hints,
|
591 |
+
.has-searchable-dropdown #messages-view-hints,
|
592 |
+
.has-min-chars-label #messages-view-hints,
|
593 |
+
.has-max-chars-label #messages-view-hints,
|
594 |
+
.has-min-words-label #messages-view-hints,
|
595 |
+
.has-max-words-label #messages-view-hints {
|
596 |
+
display: block;
|
597 |
+
}
|
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,
|
607 |
+
.has-min-words-label #customize-control-words_label_min,
|
608 |
+
.has-max-words-label #customize-control-words_label_max,
|
609 |
+
.has-min-chars-label #customize-control-characters_label_min,
|
610 |
+
.has-max-chars-label #customize-control-characters_label_max,
|
611 |
+
.show-msg-short-label #customize-control-message_too_short,
|
612 |
+
.has-max-chars-label #customize-control-message_too_long,
|
613 |
+
.has-max-words-label #customize-control-message_too_long,
|
614 |
+
.has-searchable-dropdown #customize-control-no_results_label,
|
615 |
+
.has-number #customize-control-number_min_invalid,
|
616 |
+
.has-number #customize-control-number_max_invalid {
|
617 |
+
display: block;
|
618 |
+
}
|
619 |
+
|
620 |
+
.happyforms-messages-view .customize-control .has-restore-default {
|
621 |
+
margin-bottom: 5px;
|
622 |
+
}
|
623 |
+
|
624 |
+
.happyforms-messages-view .customize-control .restore-default-btn {
|
625 |
+
display: none;
|
626 |
+
width: 100%;
|
627 |
+
}
|
628 |
+
|
629 |
/**
|
630 |
*
|
631 |
* Form build
|
1449 |
unicode-bidi: embed;
|
1450 |
}
|
1451 |
|
1452 |
+
.happyforms-widget-content textarea[data-bind=description] {
|
1453 |
+
height: 90px;
|
1454 |
+
}
|
1455 |
+
|
1456 |
#customize-control-part_toggle_placeholders,
|
1457 |
#customize-control-dropdowns,
|
1458 |
#customize-control-checkboxes-radios,
|
1472 |
.happyforms-style-view.has-checkbox #customize-control-checkboxes-radios,
|
1473 |
.happyforms-style-view.has-radio #customize-control-checkboxes-radios,
|
1474 |
.happyforms-style-view.has-table #customize-control-checkboxes-radios,
|
|
|
|
|
|
|
|
|
1475 |
.happyforms-style-view.has-rating #customize-control-rating,
|
1476 |
.happyforms-style-view.has-table #customize-control-tables,
|
1477 |
.happyforms-style-view.has-divider #customize-control-dividers,
|
1499 |
.happyforms-widget-form .mce-btn.mce-active:hover i {
|
1500 |
color: inherit;
|
1501 |
}
|
1502 |
+
/**
|
1503 |
+
*
|
1504 |
+
* Group settings
|
1505 |
+
*
|
1506 |
+
*/
|
1507 |
+
|
1508 |
+
.happyforms-group-settings .happyforms-group-settings-description {
|
1509 |
+
margin-top: 0px;
|
1510 |
+
}
|
1511 |
+
|
1512 |
+
.happyforms-group-settings {
|
1513 |
+
margin-bottom: 10px;
|
1514 |
+
padding-top: 10px;
|
1515 |
+
padding-bottom: 10px;
|
1516 |
+
border-top: 1px solid #ddd;
|
1517 |
+
}
|
1518 |
+
|
1519 |
+
.happyforms-group-settings:first-child {
|
1520 |
+
border-top: 0px;
|
1521 |
+
}
|
1522 |
|
1523 |
/**
|
1524 |
*
|
1531 |
border-left: 1px solid #eee;
|
1532 |
}
|
1533 |
.happyforms-setup-view .happyforms-nested-settings,
|
1534 |
+
.happyforms-email-view .happyforms-nested-settings,
|
1535 |
+
.happyforms-messages-view .happyforms-nested-settings {
|
1536 |
margin-top: -5px;
|
1537 |
margin-bottom: 12px;
|
1538 |
padding-top: 5px;
|
1575 |
background: #fff;
|
1576 |
}
|
1577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1578 |
.wp-editor-float-right {
|
1579 |
float: right;
|
1580 |
}
|
1639 |
.min-max-wrapper > *:last-child {
|
1640 |
padding-right: 0;
|
1641 |
}
|
1642 |
+
|
1643 |
+
.happyforms-widget-form .happyforms-widget-row {
|
1644 |
+
display: flex;
|
1645 |
+
flex-wrap: wrap;
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
.happyforms-widget-form .happyforms-widget-cols.width-half {
|
1649 |
+
width: 50%;
|
1650 |
+
padding-right: 5px;
|
1651 |
+
flex: 0 50%;
|
1652 |
+
box-sizing: border-box;
|
1653 |
+
}
|
1654 |
+
.happyforms-widget-form .happyforms-widget-cols.width-half:nth-child(n+2) {
|
1655 |
+
padding-right: 0px;
|
1656 |
+
padding-left: 5px;
|
1657 |
+
}
|
1658 |
+
|
1659 |
+
/*
|
1660 |
+
.happyforms-messages-view .customize-control {
|
1661 |
+
display: block;
|
1662 |
+
}*/
|
core/assets/css/layout.css
CHANGED
@@ -300,10 +300,6 @@ h3.happyforms-form__title {
|
|
300 |
position: relative;
|
301 |
}
|
302 |
|
303 |
-
.happyforms-part-wrap--confirmation {
|
304 |
-
margin-top: 10px;
|
305 |
-
}
|
306 |
-
|
307 |
/* label placement */
|
308 |
|
309 |
.happyforms-part--label-below .happyforms-part-wrap {
|
@@ -318,10 +314,6 @@ h3.happyforms-form__title {
|
|
318 |
margin-bottom: 5px;
|
319 |
}
|
320 |
|
321 |
-
.happyforms-part--label-above .happyforms-part__label--confirmation {
|
322 |
-
margin-top: 10px;
|
323 |
-
}
|
324 |
-
|
325 |
.happyforms-part--label-below .happyforms-part__description {
|
326 |
order: 1;
|
327 |
margin-top: 0;
|
@@ -821,10 +813,9 @@ form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice a {
|
|
821 |
right: 11px;
|
822 |
}
|
823 |
|
824 |
-
.happyforms-part--label-as_placeholder input:focus
|
825 |
-
.happyforms-part--label-as_placeholder textarea:focus
|
826 |
-
.happyforms-part--label-as_placeholder.happyforms-part--filled
|
827 |
-
.happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label,
|
828 |
.happyforms-part--select.happyforms-part--label-as_placeholder.happyforms-part--filled label {
|
829 |
top: 8px;
|
830 |
}
|
@@ -839,9 +830,9 @@ form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice a {
|
|
839 |
left: auto;
|
840 |
}
|
841 |
|
842 |
-
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder input:focus
|
843 |
-
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder textarea:focus
|
844 |
-
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled
|
845 |
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label {
|
846 |
top: 7px;
|
847 |
}
|
@@ -856,9 +847,9 @@ form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice a {
|
|
856 |
left: auto;
|
857 |
}
|
858 |
|
859 |
-
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder input:focus
|
860 |
-
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder textarea:focus
|
861 |
-
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled
|
862 |
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label {
|
863 |
top: 12px;
|
864 |
}
|
300 |
position: relative;
|
301 |
}
|
302 |
|
|
|
|
|
|
|
|
|
303 |
/* label placement */
|
304 |
|
305 |
.happyforms-part--label-below .happyforms-part-wrap {
|
314 |
margin-bottom: 5px;
|
315 |
}
|
316 |
|
|
|
|
|
|
|
|
|
317 |
.happyforms-part--label-below .happyforms-part__description {
|
318 |
order: 1;
|
319 |
margin-top: 0;
|
813 |
right: 11px;
|
814 |
}
|
815 |
|
816 |
+
.happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,
|
817 |
+
.happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,
|
818 |
+
.happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,
|
|
|
819 |
.happyforms-part--select.happyforms-part--label-as_placeholder.happyforms-part--filled label {
|
820 |
top: 8px;
|
821 |
}
|
830 |
left: auto;
|
831 |
}
|
832 |
|
833 |
+
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,
|
834 |
+
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,
|
835 |
+
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,
|
836 |
.happyforms-form--part-inner-padding-narrow .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label {
|
837 |
top: 7px;
|
838 |
}
|
847 |
left: auto;
|
848 |
}
|
849 |
|
850 |
+
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder input:focus~.happyforms-part__label-container>label,
|
851 |
+
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder textarea:focus~.happyforms-part__label-container>label,
|
852 |
+
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled .happyforms-part__label-container label,
|
853 |
.happyforms-form--part-inner-padding-wide .happyforms-part--label-as_placeholder.happyforms-part--filled textarea~label {
|
854 |
top: 12px;
|
855 |
}
|
core/assets/js/admin/shortcode.js
CHANGED
@@ -37,5 +37,6 @@
|
|
37 |
}
|
38 |
|
39 |
views.register( 'happyforms', _.extend( {}, happyforms ) );
|
|
|
40 |
|
41 |
} )( window, window.wp.mce.views, window.jQuery, _happyFormsAdmin );
|
37 |
}
|
38 |
|
39 |
views.register( 'happyforms', _.extend( {}, happyforms ) );
|
40 |
+
views.register( 'form', _.extend( {}, happyforms ) );
|
41 |
|
42 |
} )( window, window.wp.mce.views, window.jQuery, _happyFormsAdmin );
|
core/assets/js/frontend/email.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
( function(
|
2 |
|
3 |
HappyForms.parts = HappyForms.parts || {};
|
4 |
|
@@ -7,11 +7,6 @@
|
|
7 |
this.type = this.$el.data( 'happyforms-type' );
|
8 |
this.$input = $( 'input', this.$el );
|
9 |
this.$visualInput = $( 'input[type=email]', this.$el );
|
10 |
-
this.mode = this.$el.attr( 'data-mode' );
|
11 |
-
|
12 |
-
if ( 'autocomplete' === this.mode ) {
|
13 |
-
this.initAutocomplete();
|
14 |
-
}
|
15 |
|
16 |
this.$input.on( 'keyup', this.triggerChange.bind( this ) );
|
17 |
this.$input.on( 'change', this.triggerChange.bind( this ) );
|
@@ -19,28 +14,7 @@
|
|
19 |
this.$visualInput.on( 'blur', this.onBlur.bind( this ) );
|
20 |
|
21 |
this.initTooltip();
|
22 |
-
},
|
23 |
-
|
24 |
-
initAutocomplete: function() {
|
25 |
-
var $inputs = $( '[data-serialize]', this.$el );
|
26 |
-
|
27 |
-
$inputs.each( function() {
|
28 |
-
var $visualInput = $( this ).next( 'input[type=email]' );
|
29 |
-
var $select = $visualInput.next( '.happyforms-custom-select-dropdown' );
|
30 |
-
|
31 |
-
$visualInput.happyFormsSelect( {
|
32 |
-
$input: $( this ),
|
33 |
-
$select: $select,
|
34 |
-
searchable: 'autocomplete',
|
35 |
-
autocompleteOptions: {
|
36 |
-
url: settings.url,
|
37 |
-
source: settings.autocompleteSource,
|
38 |
-
trigger: '@',
|
39 |
-
partial: true
|
40 |
-
},
|
41 |
-
});
|
42 |
-
});
|
43 |
}
|
44 |
};
|
45 |
|
46 |
-
} )( jQuery
|
1 |
+
( function( $ ) {
|
2 |
|
3 |
HappyForms.parts = HappyForms.parts || {};
|
4 |
|
7 |
this.type = this.$el.data( 'happyforms-type' );
|
8 |
this.$input = $( 'input', this.$el );
|
9 |
this.$visualInput = $( 'input[type=email]', this.$el );
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
this.$input.on( 'keyup', this.triggerChange.bind( this ) );
|
12 |
this.$input.on( 'change', this.triggerChange.bind( this ) );
|
14 |
this.$visualInput.on( 'blur', this.onBlur.bind( this ) );
|
15 |
|
16 |
this.initTooltip();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
};
|
19 |
|
20 |
+
} )( jQuery );
|
core/assets/js/parts/part-email.js
CHANGED
@@ -15,116 +15,8 @@
|
|
15 |
|
16 |
initialize: function() {
|
17 |
happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
|
18 |
-
|
19 |
-
this.listenTo( this.model, 'change:confirmation_field', this.onConfirmationChange );
|
20 |
-
this.listenTo( this.model, 'change:confirmation_field_label', this.onConfirmationLabelChange );
|
21 |
-
this.listenTo( this.model, 'change:confirmation_field_placeholder', this.onConfirmationPlaceholderChange );
|
22 |
-
this.listenTo( this.model, 'change:autocomplete_domains', this.onAutocompleteDomainsChange );
|
23 |
-
this.listenTo( this.model, 'change:prefix', this.onEmailPrefixSuffixChange );
|
24 |
-
this.listenTo( this.model, 'change:suffix', this.onEmailPrefixSuffixChange );
|
25 |
-
},
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Trigger previewer event on 'Require confirmation of the value' checkbox change.
|
29 |
-
* Adds a new confirmation field to preview.
|
30 |
-
*
|
31 |
-
* @since 1.0.0.
|
32 |
-
*
|
33 |
-
* @param {object} e JS event.
|
34 |
-
*
|
35 |
-
* @return void
|
36 |
-
*/
|
37 |
-
onConfirmationChange: function( e ) {
|
38 |
-
$confirmationSettings = $( '.happyforms-nested-settings[data-trigger="confirmation_field"]', this.$el );
|
39 |
-
|
40 |
-
if ( this.model.get( 'confirmation_field' ) ) {
|
41 |
-
$confirmationSettings.show();
|
42 |
-
} else {
|
43 |
-
$confirmationSettings.hide();
|
44 |
-
}
|
45 |
-
|
46 |
-
var model = this.model;
|
47 |
-
|
48 |
-
model.fetchHtml( function( response ) {
|
49 |
-
var data = {
|
50 |
-
id: model.get( 'id' ),
|
51 |
-
html: response,
|
52 |
-
};
|
53 |
-
|
54 |
-
happyForms.previewSend( 'happyforms-form-part-refresh', data );
|
55 |
-
} );
|
56 |
-
},
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Send updated confirmation field label value to previewer.
|
60 |
-
*
|
61 |
-
* @since 1.0.0.
|
62 |
-
*
|
63 |
-
* @return void
|
64 |
-
*/
|
65 |
-
onConfirmationLabelChange: function() {
|
66 |
-
var data = {
|
67 |
-
id: this.model.get( 'id' ),
|
68 |
-
callback: 'onEmailConfirmationLabelChangeCallback',
|
69 |
-
};
|
70 |
-
|
71 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
72 |
-
},
|
73 |
-
|
74 |
-
onConfirmationPlaceholderChange: function() {
|
75 |
-
var data = {
|
76 |
-
id: this.model.get( 'id' ),
|
77 |
-
callback: 'onEmailConfirmationLabelPlaceholderCallback',
|
78 |
-
};
|
79 |
-
|
80 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
81 |
},
|
82 |
|
83 |
-
onAutocompleteDomainsChange: function() {
|
84 |
-
var model = this.model;
|
85 |
-
|
86 |
-
model.fetchHtml( function( response ) {
|
87 |
-
var data = {
|
88 |
-
id: model.get( 'id' ),
|
89 |
-
html: response,
|
90 |
-
};
|
91 |
-
|
92 |
-
happyForms.previewSend( 'happyforms-form-part-refresh', data );
|
93 |
-
} );
|
94 |
-
},
|
95 |
-
|
96 |
-
onEmailPrefixSuffixChange: function( model, value ) {
|
97 |
-
var $autocompleteDomainsControl = $( '[data-bind=autocomplete_domains]', this.$el ).parent();
|
98 |
-
|
99 |
-
var prefixVal = $( '[data-bind=prefix]', this.$el ).val();
|
100 |
-
var suffixVal = $( '[data-bind=suffix]', this.$el ).val();
|
101 |
-
|
102 |
-
if ( prefixVal || suffixVal ) {
|
103 |
-
$autocompleteDomainsControl.hide();
|
104 |
-
$( '[data-bind=autocomplete_domains]', this.$el ).prop( 'checked', false );
|
105 |
-
model.set( 'autocomplete_domains', 0 );
|
106 |
-
} else {
|
107 |
-
$autocompleteDomainsControl.show();
|
108 |
-
}
|
109 |
-
}
|
110 |
-
} );
|
111 |
-
|
112 |
-
happyForms.previewer = _.extend( happyForms.previewer, {
|
113 |
-
onEmailConfirmationLabelChangeCallback: function( id, html, options ) {
|
114 |
-
var part = this.getPartModel( id );
|
115 |
-
var $part = this.getPartElement( html );
|
116 |
-
var $label = this.$( '.happyforms-part__label--confirmation .label', $part );
|
117 |
-
|
118 |
-
$label.text( part.get( 'confirmation_field_label' ) );
|
119 |
-
},
|
120 |
-
|
121 |
-
onEmailConfirmationLabelPlaceholderCallback: function( id, html, options ) {
|
122 |
-
var part = this.getPartModel( id );
|
123 |
-
var $part = this.getPartElement( html );
|
124 |
-
var $input = this.$( '.happyforms-part-wrap--confirmation [type="email"]', $part );
|
125 |
-
|
126 |
-
$input.attr( 'placeholder', part.get( 'confirmation_field_placeholder' ) );
|
127 |
-
},
|
128 |
} );
|
129 |
|
130 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
15 |
|
16 |
initialize: function() {
|
17 |
happyForms.classes.views.Part.prototype.initialize.apply(this, arguments);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
},
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
} );
|
21 |
|
22 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
core/assets/js/parts/part-number.js
CHANGED
@@ -20,9 +20,6 @@
|
|
20 |
initialize: function () {
|
21 |
happyForms.classes.views.Part.prototype.initialize.apply( this, arguments );
|
22 |
|
23 |
-
this.listenTo( this.model, 'change:confirmation_field', this.onConfirmationChange );
|
24 |
-
this.listenTo( this.model, 'change:confirmation_field_label', this.onConfirmationLabelChange );
|
25 |
-
this.listenTo( this.model, 'change:confirmation_field_placeholder', this.onConfirmationPlaceholderChange );
|
26 |
this.listenTo( this.model, 'change:mask_numeric_thousands_delimiter', this.onThousandsDelimiterChange );
|
27 |
this.listenTo( this.model, 'change:mask_numeric_decimal_mark', this.onDecimalMarkChange );
|
28 |
this.listenTo( this.model, 'change:mask_numeric_prefix', this.onPrefixChange );
|
@@ -30,27 +27,6 @@
|
|
30 |
this.listenTo( happyForms.form, 'save', this.onFormSave );
|
31 |
},
|
32 |
|
33 |
-
onConfirmationChange: function( e ) {
|
34 |
-
$confirmationSettings = $( '.happyforms-nested-settings[data-trigger="confirmation_field"]', this.$el );
|
35 |
-
|
36 |
-
if ( this.model.get( 'confirmation_field' ) ) {
|
37 |
-
$confirmationSettings.show();
|
38 |
-
} else {
|
39 |
-
$confirmationSettings.hide();
|
40 |
-
}
|
41 |
-
|
42 |
-
var model = this.model;
|
43 |
-
|
44 |
-
model.fetchHtml( function( response ) {
|
45 |
-
var data = {
|
46 |
-
id: model.get( 'id' ),
|
47 |
-
html: response,
|
48 |
-
};
|
49 |
-
|
50 |
-
happyForms.previewSend( 'happyforms-form-part-refresh', data );
|
51 |
-
} );
|
52 |
-
},
|
53 |
-
|
54 |
/**
|
55 |
* Toggle masked input configuration on `Mask this input` checkbox change.
|
56 |
*
|
@@ -89,31 +65,6 @@
|
|
89 |
} );
|
90 |
},
|
91 |
|
92 |
-
/**
|
93 |
-
* Send updated confirmation field label value to previewer.
|
94 |
-
*
|
95 |
-
* @since 1.0.0.
|
96 |
-
*
|
97 |
-
* @return void
|
98 |
-
*/
|
99 |
-
onConfirmationLabelChange: function () {
|
100 |
-
var data = {
|
101 |
-
id: this.model.get( 'id' ),
|
102 |
-
callback: 'onNumberConfirmationLabelChangeCallback',
|
103 |
-
};
|
104 |
-
|
105 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
106 |
-
},
|
107 |
-
|
108 |
-
onConfirmationPlaceholderChange: function () {
|
109 |
-
var data = {
|
110 |
-
id: this.model.get( 'id' ),
|
111 |
-
callback: 'onNumberConfirmationPlaceholderChangeCallback',
|
112 |
-
};
|
113 |
-
|
114 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
115 |
-
},
|
116 |
-
|
117 |
onThousandsDelimiterChange: function() {
|
118 |
var data = {
|
119 |
id: this.model.get( 'id' ),
|
@@ -202,22 +153,6 @@
|
|
202 |
} );
|
203 |
|
204 |
happyForms.previewer = _.extend( happyForms.previewer, {
|
205 |
-
onNumberConfirmationLabelChangeCallback: function( id, html, options ) {
|
206 |
-
var part = this.getPartModel( id );
|
207 |
-
var $part = this.getPartElement( html );
|
208 |
-
var $confirmationLabel = this.$( '.happyforms-part__label--confirmation .label', $part );
|
209 |
-
|
210 |
-
$confirmationLabel.text( part.get('confirmation_field_label') );
|
211 |
-
},
|
212 |
-
|
213 |
-
onNumberConfirmationPlaceholderChangeCallback: function( id, html, options ) {
|
214 |
-
var part = this.getPartModel( id );
|
215 |
-
var $part = this.getPartElement( html );
|
216 |
-
var $input = this.$( '.happyforms-confirmation-input', $part );
|
217 |
-
|
218 |
-
$input.attr( 'placeholder', part.get('confirmation_field_placeholder' ) );
|
219 |
-
},
|
220 |
-
|
221 |
onNumberThousandsDelimiterChangeCallback: function( id, html, options, $ ) {
|
222 |
var part = this.getPartModel( id );
|
223 |
var $part = this.getPartElement( html );
|
20 |
initialize: function () {
|
21 |
happyForms.classes.views.Part.prototype.initialize.apply( this, arguments );
|
22 |
|
|
|
|
|
|
|
23 |
this.listenTo( this.model, 'change:mask_numeric_thousands_delimiter', this.onThousandsDelimiterChange );
|
24 |
this.listenTo( this.model, 'change:mask_numeric_decimal_mark', this.onDecimalMarkChange );
|
25 |
this.listenTo( this.model, 'change:mask_numeric_prefix', this.onPrefixChange );
|
27 |
this.listenTo( happyForms.form, 'save', this.onFormSave );
|
28 |
},
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
* Toggle masked input configuration on `Mask this input` checkbox change.
|
32 |
*
|
65 |
} );
|
66 |
},
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
onThousandsDelimiterChange: function() {
|
69 |
var data = {
|
70 |
id: this.model.get( 'id' ),
|
153 |
} );
|
154 |
|
155 |
happyForms.previewer = _.extend( happyForms.previewer, {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
onNumberThousandsDelimiterChangeCallback: function( id, html, options, $ ) {
|
157 |
var part = this.getPartModel( id );
|
158 |
var $part = this.getPartElement( html );
|
core/assets/js/parts/part-select.js
CHANGED
@@ -134,6 +134,7 @@
|
|
134 |
'click .show-all-options': 'onShowAllOptionsClick',
|
135 |
'keyup [name=label]': 'onEnterKey',
|
136 |
'keyup [name=description]': 'onEnterKey',
|
|
|
137 |
} ),
|
138 |
|
139 |
initialize: function() {
|
@@ -144,7 +145,6 @@
|
|
144 |
this.listenTo( this.model, 'change:allow_search', this.onAllowSearchChange );
|
145 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
146 |
this.listenTo( this.model, 'change:required', this.onRequiredChange );
|
147 |
-
this.listenTo( this.model, 'change:no_results_label', this.onNoResultsLabelChange );
|
148 |
this.listenTo( this.model.get( 'options' ), 'add', this.onOptionModelAdd );
|
149 |
this.listenTo( this.model.get( 'options' ), 'change', this.onOptionModelChange );
|
150 |
this.listenTo( this.model.get( 'options' ), 'remove', this.onOptionModelRemove );
|
@@ -413,17 +413,6 @@
|
|
413 |
$( '.add-options', this.$el ).click();
|
414 |
},
|
415 |
|
416 |
-
onNoResultsLabelChange: function( model, value ) {
|
417 |
-
var data = {
|
418 |
-
id: model.get( 'id' ),
|
419 |
-
callback: 'onNoResultsLabelChangeCallback',
|
420 |
-
options: {
|
421 |
-
label: value
|
422 |
-
}
|
423 |
-
};
|
424 |
-
|
425 |
-
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
426 |
-
},
|
427 |
} );
|
428 |
|
429 |
happyForms.previewer = _.extend( happyForms.previewer, {
|
@@ -472,12 +461,6 @@
|
|
472 |
$( '.happyforms-custom-select-dropdown__placeholder', $part ).removeClass('preview-hidden').text( options.label );
|
473 |
},
|
474 |
|
475 |
-
onNoResultsLabelChangeCallback: function( id, html, options, $ ) {
|
476 |
-
var $part = this.getPartElement( html );
|
477 |
-
var $option = $( '.happyforms-custom-select-dropdown__not-found', $part );
|
478 |
-
|
479 |
-
$option.text( options.label );
|
480 |
-
},
|
481 |
} );
|
482 |
|
483 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
134 |
'click .show-all-options': 'onShowAllOptionsClick',
|
135 |
'keyup [name=label]': 'onEnterKey',
|
136 |
'keyup [name=description]': 'onEnterKey',
|
137 |
+
|
138 |
} ),
|
139 |
|
140 |
initialize: function() {
|
145 |
this.listenTo( this.model, 'change:allow_search', this.onAllowSearchChange );
|
146 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
147 |
this.listenTo( this.model, 'change:required', this.onRequiredChange );
|
|
|
148 |
this.listenTo( this.model.get( 'options' ), 'add', this.onOptionModelAdd );
|
149 |
this.listenTo( this.model.get( 'options' ), 'change', this.onOptionModelChange );
|
150 |
this.listenTo( this.model.get( 'options' ), 'remove', this.onOptionModelRemove );
|
413 |
$( '.add-options', this.$el ).click();
|
414 |
},
|
415 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
} );
|
417 |
|
418 |
happyForms.previewer = _.extend( happyForms.previewer, {
|
461 |
$( '.happyforms-custom-select-dropdown__placeholder', $part ).removeClass('preview-hidden').text( options.label );
|
462 |
},
|
463 |
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
} );
|
465 |
|
466 |
} ) ( jQuery, _, Backbone, wp.customize, _happyFormsSettings );
|
core/classes/class-block.php
CHANGED
@@ -46,10 +46,10 @@ class HappyForms_Block {
|
|
46 |
|
47 |
private function get_properties() {
|
48 |
$properties = array(
|
49 |
-
'title' => __( '
|
50 |
-
'description' => __( '
|
51 |
'category' => 'widgets',
|
52 |
-
'icon' => '
|
53 |
'keywords' => array(
|
54 |
'form', 'contact', 'email',
|
55 |
),
|
46 |
|
47 |
private function get_properties() {
|
48 |
$properties = array(
|
49 |
+
'title' => __( 'Forms', 'happyforms' ),
|
50 |
+
'description' => __( 'Displays a form.', 'happyforms' ),
|
51 |
'category' => 'widgets',
|
52 |
+
'icon' => 'feedback',
|
53 |
'keywords' => array(
|
54 |
'form', 'contact', 'email',
|
55 |
),
|
core/classes/class-form-controller.php
CHANGED
@@ -535,6 +535,9 @@ class HappyForms_Form_Controller {
|
|
535 |
|
536 |
$post_data = array_intersect_key( $validated_data, $this->get_defaults( 'post' ) );
|
537 |
$meta_data = array_intersect_key( $validated_data, $this->get_defaults( 'meta' ) );
|
|
|
|
|
|
|
538 |
$meta_data = happyforms_prefix_meta( $meta_data );
|
539 |
|
540 |
// Flatten data to make it filterable
|
535 |
|
536 |
$post_data = array_intersect_key( $validated_data, $this->get_defaults( 'post' ) );
|
537 |
$meta_data = array_intersect_key( $validated_data, $this->get_defaults( 'meta' ) );
|
538 |
+
|
539 |
+
$meta_data = apply_filters( 'happyforms_validate_meta_data', $meta_data );
|
540 |
+
|
541 |
$meta_data = happyforms_prefix_meta( $meta_data );
|
542 |
|
543 |
// Flatten data to make it filterable
|
core/classes/class-form-email.php
CHANGED
@@ -84,7 +84,7 @@ class HappyForms_Form_Email {
|
|
84 |
$controls = array(
|
85 |
200 => array(
|
86 |
'type' => 'checkbox',
|
87 |
-
'label' => __( '
|
88 |
'field' => 'receive_email_alerts',
|
89 |
),
|
90 |
201 => array(
|
@@ -94,25 +94,25 @@ class HappyForms_Form_Email {
|
|
94 |
300 => array(
|
95 |
'type' => 'text',
|
96 |
'label' => __( 'Email address', 'happyforms' ),
|
97 |
-
'tooltip' => __( 'Add your email address here to receive a confirmation email for each form response. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
|
98 |
'field' => 'email_recipient',
|
99 |
),
|
100 |
310 => array(
|
101 |
'type' => 'text',
|
102 |
'label' => __( 'Email Bcc address', 'happyforms' ),
|
103 |
-
'tooltip' => __( 'Add your Bcc email address here to receive a confirmation email for each form response without appearing in the received message header. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
|
104 |
'field' => 'email_bccs',
|
105 |
),
|
106 |
390 => array(
|
107 |
'type' => 'text',
|
108 |
'label' => __( 'Email display name', 'happyforms' ),
|
109 |
-
'tooltip' => __( 'You will receive an email with this sender name.', 'happyforms' ),
|
110 |
'field' => 'alert_email_from_name',
|
111 |
),
|
112 |
400 => array(
|
113 |
'type' => 'text',
|
114 |
'label' => __( 'Email subject', 'happyforms' ),
|
115 |
-
'tooltip' => __( 'Each time a user submits a message, you\'ll receive an email with this subject.', 'happyforms' ),
|
116 |
'field' => 'alert_email_subject',
|
117 |
),
|
118 |
490 => array(
|
@@ -120,7 +120,7 @@ class HappyForms_Form_Email {
|
|
120 |
),
|
121 |
500 => array(
|
122 |
'type' => 'checkbox',
|
123 |
-
'label' => __( '
|
124 |
'field' => 'send_confirmation_email',
|
125 |
),
|
126 |
501 => array(
|
@@ -140,19 +140,19 @@ class HappyForms_Form_Email {
|
|
140 |
600 => array(
|
141 |
'type' => 'text',
|
142 |
'label' => __( 'Email display name', 'happyforms' ),
|
143 |
-
'tooltip' => __( 'If your form contains an email field, users will receive an email with this sender name.', 'happyforms' ),
|
144 |
'field' => 'confirmation_email_from_name',
|
145 |
),
|
146 |
700 => array(
|
147 |
'type' => 'text',
|
148 |
'label' => __( 'Email subject', 'happyforms' ),
|
149 |
-
'tooltip' => __( 'If your form contains an email field, users will receive an email with this subject.', 'happyforms' ),
|
150 |
'field' => 'confirmation_email_subject',
|
151 |
),
|
152 |
800 => array(
|
153 |
'type' => 'editor',
|
154 |
'label' => __( 'Email content', 'happyforms' ),
|
155 |
-
'tooltip' => __( 'If your form contains an email field, users will receive an email with this content.', 'happyforms' ),
|
156 |
'field' => 'confirmation_email_content',
|
157 |
),
|
158 |
810 => array(
|
84 |
$controls = array(
|
85 |
200 => array(
|
86 |
'type' => 'checkbox',
|
87 |
+
'label' => __( 'Email me a copy of each submission', 'happyforms' ),
|
88 |
'field' => 'receive_email_alerts',
|
89 |
),
|
90 |
201 => array(
|
94 |
300 => array(
|
95 |
'type' => 'text',
|
96 |
'label' => __( 'Email address', 'happyforms' ),
|
97 |
+
// 'tooltip' => __( 'Add your email address here to receive a confirmation email for each form response. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
|
98 |
'field' => 'email_recipient',
|
99 |
),
|
100 |
310 => array(
|
101 |
'type' => 'text',
|
102 |
'label' => __( 'Email Bcc address', 'happyforms' ),
|
103 |
+
// 'tooltip' => __( 'Add your Bcc email address here to receive a confirmation email for each form response without appearing in the received message header. You can add multiple email addresses by separating each address with a comma.', 'happyforms' ),
|
104 |
'field' => 'email_bccs',
|
105 |
),
|
106 |
390 => array(
|
107 |
'type' => 'text',
|
108 |
'label' => __( 'Email display name', 'happyforms' ),
|
109 |
+
// 'tooltip' => __( 'You will receive an email with this sender name.', 'happyforms' ),
|
110 |
'field' => 'alert_email_from_name',
|
111 |
),
|
112 |
400 => array(
|
113 |
'type' => 'text',
|
114 |
'label' => __( 'Email subject', 'happyforms' ),
|
115 |
+
// 'tooltip' => __( 'Each time a user submits a message, you\'ll receive an email with this subject.', 'happyforms' ),
|
116 |
'field' => 'alert_email_subject',
|
117 |
),
|
118 |
490 => array(
|
120 |
),
|
121 |
500 => array(
|
122 |
'type' => 'checkbox',
|
123 |
+
'label' => __( 'Email respondent a copy of their submission', 'happyforms' ),
|
124 |
'field' => 'send_confirmation_email',
|
125 |
),
|
126 |
501 => array(
|
140 |
600 => array(
|
141 |
'type' => 'text',
|
142 |
'label' => __( 'Email display name', 'happyforms' ),
|
143 |
+
// 'tooltip' => __( 'If your form contains an email field, users will receive an email with this sender name.', 'happyforms' ),
|
144 |
'field' => 'confirmation_email_from_name',
|
145 |
),
|
146 |
700 => array(
|
147 |
'type' => 'text',
|
148 |
'label' => __( 'Email subject', 'happyforms' ),
|
149 |
+
// 'tooltip' => __( 'If your form contains an email field, users will receive an email with this subject.', 'happyforms' ),
|
150 |
'field' => 'confirmation_email_subject',
|
151 |
),
|
152 |
800 => array(
|
153 |
'type' => 'editor',
|
154 |
'label' => __( 'Email content', 'happyforms' ),
|
155 |
+
// 'tooltip' => __( 'If your form contains an email field, users will receive an email with this content.', 'happyforms' ),
|
156 |
'field' => 'confirmation_email_content',
|
157 |
),
|
158 |
810 => array(
|
core/classes/class-form-messages.php
ADDED
@@ -0,0 +1,212 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class HappyForms_Form_Messages {
|
4 |
+
|
5 |
+
private static $instance;
|
6 |
+
|
7 |
+
private $form = null;
|
8 |
+
|
9 |
+
private $default_validation_messages = array();
|
10 |
+
|
11 |
+
public static function instance() {
|
12 |
+
if ( is_null( self::$instance ) ) {
|
13 |
+
self::$instance = new self();
|
14 |
+
}
|
15 |
+
|
16 |
+
self::$instance->hook();
|
17 |
+
self::$instance->define_validation_defaults();
|
18 |
+
|
19 |
+
return self::$instance;
|
20 |
+
}
|
21 |
+
|
22 |
+
public function hook() {
|
23 |
+
add_filter( 'happyforms_meta_fields', array( $this, 'meta_fields' ) );
|
24 |
+
add_action( 'happyforms_do_messages_control', array( happyforms_get_setup(), 'do_control' ), 10, 3 );
|
25 |
+
add_filter( 'happyforms_validate_meta_data', array( $this, 'validate_validation_messages' ), 10 );
|
26 |
+
}
|
27 |
+
|
28 |
+
public function get_fields() {
|
29 |
+
|
30 |
+
$fields = array(
|
31 |
+
'words_label_min' => array(
|
32 |
+
'default' => __( 'Min words', 'happyforms' ),
|
33 |
+
'sanitize' => 'sanitize_text_field',
|
34 |
+
),
|
35 |
+
'words_label_max' => array(
|
36 |
+
'default' => __( 'Max words', 'happyforms' ),
|
37 |
+
'sanitize' => 'sanitize_text_field',
|
38 |
+
),
|
39 |
+
'characters_label_min' => array(
|
40 |
+
'default' => __( 'Min characters', 'happyforms' ),
|
41 |
+
'sanitize' => 'sanitize_text_field',
|
42 |
+
),
|
43 |
+
'characters_label_max' => array(
|
44 |
+
'default' => __( 'Max characters', 'happyforms' ),
|
45 |
+
'sanitize' => 'sanitize_text_field',
|
46 |
+
),
|
47 |
+
'no_results_label' => array(
|
48 |
+
'default' => __( 'Nothing found', 'happyforms' ),
|
49 |
+
'sanitize' => 'sanitize_text_field',
|
50 |
+
),
|
51 |
+
'number_min_invalid' => array(
|
52 |
+
'default' => __( "Oops. This number isn't big enough.", 'happyforms' ),
|
53 |
+
'sanitize' => 'sanitize_text_field',
|
54 |
+
),
|
55 |
+
'number_max_invalid' => array(
|
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 );
|
62 |
+
|
63 |
+
return $fields;
|
64 |
+
}
|
65 |
+
|
66 |
+
public function get_controls() {
|
67 |
+
$controls = array(
|
68 |
+
// control groupings
|
69 |
+
1 => array (
|
70 |
+
'type' => 'group_start',
|
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',
|
78 |
+
),
|
79 |
+
|
80 |
+
2001 => array (
|
81 |
+
'type' => 'group_start',
|
82 |
+
'group_type' => 'group',
|
83 |
+
'group_id' => 'messages-view-buttons',
|
84 |
+
'group_title' => __( 'Buttons', 'happyforms' ),
|
85 |
+
'group_description' => __( 'The messages are shown to respondents as they fill out the form to help them trigger an action.', 'happyforms' ),
|
86 |
+
),
|
87 |
+
4000 => array (
|
88 |
+
'type' => 'group_end',
|
89 |
+
),
|
90 |
+
4001 => array (
|
91 |
+
'type' => 'group_start',
|
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',
|
99 |
+
),
|
100 |
+
6001 => array (
|
101 |
+
'type' => 'group_start',
|
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',
|
109 |
+
),
|
110 |
+
|
111 |
+
// individual controls
|
112 |
+
4300 => array(
|
113 |
+
'type' => 'text',
|
114 |
+
'label' => __( 'Number too small', 'happyforms' ),
|
115 |
+
'field' => 'number_min_invalid',
|
116 |
+
),
|
117 |
+
4320 => array(
|
118 |
+
'type' => 'text',
|
119 |
+
'label' => __( 'Number too big', 'happyforms' ),
|
120 |
+
'field' => 'number_max_invalid',
|
121 |
+
),
|
122 |
+
6020 => array(
|
123 |
+
'type' => 'text',
|
124 |
+
'label' => __( "Search couldn't find anything", 'happyforms' ),
|
125 |
+
'field' => 'no_results_label',
|
126 |
+
),
|
127 |
+
6040 => array(
|
128 |
+
'type' => 'text',
|
129 |
+
'label' => __( 'Minimum characters', 'happyforms' ),
|
130 |
+
'field' => 'characters_label_min',
|
131 |
+
),
|
132 |
+
6060 => array(
|
133 |
+
'type' => 'text',
|
134 |
+
'label' => __( 'Maximum characters', 'happyforms' ),
|
135 |
+
'field' => 'characters_label_max',
|
136 |
+
),
|
137 |
+
6080 => array(
|
138 |
+
'type' => 'text',
|
139 |
+
'label' => __( 'Minimum words', 'happyforms' ),
|
140 |
+
'field' => 'words_label_min',
|
141 |
+
),
|
142 |
+
6100 => array(
|
143 |
+
'type' => 'text',
|
144 |
+
'label' => __( 'Maximum words', 'happyforms' ),
|
145 |
+
'field' => 'words_label_max',
|
146 |
+
),
|
147 |
+
);
|
148 |
+
|
149 |
+
$controls = apply_filters( 'happyforms_messages_controls', $controls );
|
150 |
+
ksort( $controls, SORT_NUMERIC );
|
151 |
+
|
152 |
+
return $controls;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Filter: add fields to form meta.
|
157 |
+
*
|
158 |
+
* @hooked filter happyforms_meta_fields
|
159 |
+
*
|
160 |
+
* @param array $fields Current form meta fields.
|
161 |
+
*
|
162 |
+
* @return array
|
163 |
+
*/
|
164 |
+
public function meta_fields( $fields ) {
|
165 |
+
$fields = array_merge( $fields, $this->get_fields() );
|
166 |
+
|
167 |
+
return $fields;
|
168 |
+
}
|
169 |
+
|
170 |
+
public function validate_validation_messages( $meta_data ) {
|
171 |
+
$meta_fields = wp_list_pluck( $this->get_fields(), 'default' );
|
172 |
+
|
173 |
+
foreach( $meta_fields as $key => $value ) {
|
174 |
+
if ( empty( $meta_data[ $key ] ) ) {
|
175 |
+
$meta_data[ $key ] = $meta_fields[ $key ];
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return $meta_data;
|
180 |
+
}
|
181 |
+
|
182 |
+
public function define_validation_defaults(){
|
183 |
+
$this->default_validation_messages = happyforms_validation_messages()->get_default_messages();
|
184 |
+
}
|
185 |
+
|
186 |
+
public function get_default_validation_message( $key ) {
|
187 |
+
if ( empty( $this->default_validation_messages ) ) {
|
188 |
+
$this->define_validation_defaults();
|
189 |
+
}
|
190 |
+
|
191 |
+
return $this->default_validation_messages[ $key ];
|
192 |
+
}
|
193 |
+
|
194 |
+
public function get_validation_message( $message, $message_key ) {
|
195 |
+
if ( empty( $this->form[ $message_key ] ) ) {
|
196 |
+
return $message;
|
197 |
+
}
|
198 |
+
|
199 |
+
return $this->form[ $message_key ];
|
200 |
+
}
|
201 |
+
|
202 |
+
}
|
203 |
+
|
204 |
+
if ( ! function_exists( 'happyforms_get_messages' ) ):
|
205 |
+
|
206 |
+
function happyforms_get_messages() {
|
207 |
+
return HappyForms_Form_Messages::instance();
|
208 |
+
}
|
209 |
+
|
210 |
+
endif;
|
211 |
+
|
212 |
+
happyforms_get_messages();
|
core/classes/class-form-setup.php
CHANGED
@@ -42,8 +42,13 @@ class HappyForms_Form_Setup {
|
|
42 |
add_filter( 'happyforms_form_id', array( $this, 'form_html_id' ), 10, 2 );
|
43 |
add_action( 'happyforms_do_setup_control', array( $this, 'do_control' ), 10, 3 );
|
44 |
|
|
|
|
|
|
|
45 |
// Server-side hide-on-submit
|
46 |
add_action( 'happyforms_submission_success', array( $this, 'submission_success' ), 10, 2 );
|
|
|
|
|
47 |
}
|
48 |
|
49 |
public function get_fields() {
|
@@ -54,21 +59,13 @@ class HappyForms_Form_Setup {
|
|
54 |
'default' => 'success_message_hide_form',
|
55 |
'sanitize' => 'sanitize_text_field',
|
56 |
),
|
57 |
-
'confirmation_message' => array(
|
58 |
-
'default' => __( 'Thank you! Your submission has been sent.', 'happyforms' ),
|
59 |
-
'sanitize' => 'esc_html',
|
60 |
-
),
|
61 |
-
'error_message' => array(
|
62 |
-
'default' => __( 'There is a problem! Please review your submission.', 'happyforms' ),
|
63 |
-
'sanitize' => 'esc_html'
|
64 |
-
),
|
65 |
'redirect_on_complete' => array(
|
66 |
'default' => 0,
|
67 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
68 |
),
|
69 |
'redirect_url' => array(
|
70 |
'default' => '',
|
71 |
-
'sanitize' => '
|
72 |
),
|
73 |
'redirect_blank' => array(
|
74 |
'default' => 0,
|
@@ -82,14 +79,6 @@ class HappyForms_Form_Setup {
|
|
82 |
'default' => __( 'This field is required.', 'happyforms' ),
|
83 |
'sanitize' => 'sanitize_text_field'
|
84 |
),
|
85 |
-
'optional_part_label' => array(
|
86 |
-
'default' => __( '(optional)', 'happyforms' ),
|
87 |
-
'sanitize' => 'sanitize_text_field',
|
88 |
-
),
|
89 |
-
'submit_button_label' => array(
|
90 |
-
'default' => __( 'Send', 'happyforms' ),
|
91 |
-
'sanitize' => 'sanitize_text_field',
|
92 |
-
),
|
93 |
'form_expiration_datetime' => array(
|
94 |
'default' => date( 'Y-m-d H:i:s', time() + WEEK_IN_SECONDS ),
|
95 |
'sanitize' => 'happyforms_sanitize_datetime',
|
@@ -118,14 +107,6 @@ class HappyForms_Form_Setup {
|
|
118 |
'default' => 0,
|
119 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
120 |
),
|
121 |
-
'review_button_label' => array(
|
122 |
-
'default' => __( 'Review submission', 'happyforms' ),
|
123 |
-
'sanitize' => 'sanitize_text_field',
|
124 |
-
),
|
125 |
-
'edit_button_label' => array(
|
126 |
-
'default' => __( 'Edit', 'happyforms' ),
|
127 |
-
'sanitize' => 'sanitize_text_field',
|
128 |
-
),
|
129 |
'use_html_id' => array(
|
130 |
'default' => 0,
|
131 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
@@ -138,6 +119,10 @@ class HappyForms_Form_Setup {
|
|
138 |
'default' => '',
|
139 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
140 |
),
|
|
|
|
|
|
|
|
|
141 |
'submit_button_html_class' => array(
|
142 |
'default' => '',
|
143 |
'sanitize' => 'sanitize_text_field'
|
@@ -151,18 +136,44 @@ class HappyForms_Form_Setup {
|
|
151 |
return $fields;
|
152 |
}
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
public function get_controls() {
|
155 |
$controls = array(
|
156 |
10 => array(
|
157 |
'type' => 'select',
|
158 |
-
'label' => __( '
|
159 |
'options' => array(
|
160 |
-
'success_message_hide_form' => __( 'Show a
|
161 |
-
'success_message' => __( 'Show a
|
162 |
'redirect' => __( 'Redirect to a web address', 'happyforms' ),
|
163 |
),
|
164 |
'field' => 'confirm_submission',
|
165 |
-
'tooltip' => __( 'Choose how the form should confirm successful submission.', 'happyforms' ),
|
166 |
),
|
167 |
11 => array(
|
168 |
'type' => 'upsell',
|
@@ -174,44 +185,33 @@ class HappyForms_Form_Setup {
|
|
174 |
'type' => 'group_start',
|
175 |
'trigger' => 'confirm_submission',
|
176 |
),
|
177 |
-
100 => array(
|
178 |
-
'type' => 'editor',
|
179 |
-
'label' => __( '\'Thank you\' message', 'happyforms' ),
|
180 |
-
'field' => 'confirmation_message',
|
181 |
-
),
|
182 |
-
101 => array(
|
183 |
-
'type' => 'group_end'
|
184 |
-
),
|
185 |
110 => array(
|
186 |
-
'type' => '
|
187 |
-
'label' => __( 'Error message', 'happyforms' ),
|
188 |
-
'tooltip' => __( 'This is the message your users will see when there are form errors preventing submission.', 'happyforms' ),
|
189 |
-
'field' => 'error_message',
|
190 |
),
|
191 |
-
|
192 |
-
'type' => '
|
193 |
-
'label' => __( '
|
194 |
-
'
|
195 |
-
'field' => 'optional_part_label',
|
196 |
),
|
197 |
-
|
198 |
-
'type' => '
|
199 |
-
'
|
200 |
-
'tooltip' => __( 'Change text of submit button to describe an action your form performs.', 'happyforms' ),
|
201 |
-
'field' => 'submit_button_label',
|
202 |
),
|
203 |
-
|
204 |
'type' => 'text',
|
205 |
'label' => __( 'Submit button CSS classes', 'happyforms' ),
|
206 |
-
'tooltip' => __( 'Add custom CSS classes separated by space for targeting a button in your stylesheet.', 'happyforms' ),
|
207 |
'autocomplete' => 'off',
|
208 |
'field' => 'submit_button_html_class'
|
209 |
),
|
|
|
|
|
|
|
210 |
1200 => array(
|
211 |
'type' => 'checkbox',
|
212 |
-
'label' => __( '
|
213 |
'field' => 'use_html_id',
|
214 |
-
'tooltip' => __( 'Add a unique HTML ID to your form. Write without a hash (#) character.', 'happyforms' ),
|
215 |
),
|
216 |
1201 => array(
|
217 |
'type' => 'group_start',
|
@@ -234,6 +234,32 @@ class HappyForms_Form_Setup {
|
|
234 |
return $controls;
|
235 |
}
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
public function do_control( $control, $field, $index ) {
|
238 |
$type = $control['type'];
|
239 |
$path = happyforms_get_core_folder() . '/templates/customize-controls/setup';
|
@@ -342,6 +368,7 @@ class HappyForms_Form_Setup {
|
|
342 |
add_action( 'happyforms_form_submit_before', 'ob_start', 10, 0 );
|
343 |
add_action( 'happyforms_form_submit_after', 'ob_end_clean', 10, 0 );
|
344 |
}
|
|
|
345 |
}
|
346 |
|
347 |
if ( ! function_exists( 'happyforms_get_setup' ) ):
|
42 |
add_filter( 'happyforms_form_id', array( $this, 'form_html_id' ), 10, 2 );
|
43 |
add_action( 'happyforms_do_setup_control', array( $this, 'do_control' ), 10, 3 );
|
44 |
|
45 |
+
add_filter( 'happyforms_messages_controls', array( $this, 'messages_controls' ) );
|
46 |
+
|
47 |
+
|
48 |
// Server-side hide-on-submit
|
49 |
add_action( 'happyforms_submission_success', array( $this, 'submission_success' ), 10, 2 );
|
50 |
+
|
51 |
+
add_filter( 'happyforms_messages_fields', array( $this, 'get_messages_fields' ) );
|
52 |
}
|
53 |
|
54 |
public function get_fields() {
|
59 |
'default' => 'success_message_hide_form',
|
60 |
'sanitize' => 'sanitize_text_field',
|
61 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
'redirect_on_complete' => array(
|
63 |
'default' => 0,
|
64 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
65 |
),
|
66 |
'redirect_url' => array(
|
67 |
'default' => '',
|
68 |
+
'sanitize' => 'sanitize_text_field',
|
69 |
),
|
70 |
'redirect_blank' => array(
|
71 |
'default' => 0,
|
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',
|
107 |
'default' => 0,
|
108 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
109 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
'use_html_id' => array(
|
111 |
'default' => 0,
|
112 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
119 |
'default' => '',
|
120 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
121 |
),
|
122 |
+
'add_submit_button_class' => array(
|
123 |
+
'default' => '',
|
124 |
+
'sanitize' => 'sanitize_text_field'
|
125 |
+
),
|
126 |
'submit_button_html_class' => array(
|
127 |
'default' => '',
|
128 |
'sanitize' => 'sanitize_text_field'
|
136 |
return $fields;
|
137 |
}
|
138 |
|
139 |
+
public function get_messages_fields( $fields ) {
|
140 |
+
|
141 |
+
$messages_fields = array(
|
142 |
+
'confirmation_message' => array(
|
143 |
+
'default' => __( 'Thank you. Your reply has been sent.', 'happyforms' ),
|
144 |
+
'sanitize' => 'esc_html',
|
145 |
+
),
|
146 |
+
'error_message' => array(
|
147 |
+
'default' => __( "Bummer. We can't submit your reply. Please check for mistakes.", 'happyforms' ),
|
148 |
+
'sanitize' => 'esc_html'
|
149 |
+
),
|
150 |
+
'submit_button_label' => array(
|
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 );
|
161 |
+
|
162 |
+
return $fields;
|
163 |
+
}
|
164 |
+
|
165 |
public function get_controls() {
|
166 |
$controls = array(
|
167 |
10 => array(
|
168 |
'type' => 'select',
|
169 |
+
'label' => __( 'After the form is submitted', 'happyforms' ),
|
170 |
'options' => array(
|
171 |
+
'success_message_hide_form' => __( 'Show a message', 'happyforms' ),
|
172 |
+
'success_message' => __( 'Show a message and allow to resubmit the form', 'happyforms' ),
|
173 |
'redirect' => __( 'Redirect to a web address', 'happyforms' ),
|
174 |
),
|
175 |
'field' => 'confirm_submission',
|
176 |
+
// 'tooltip' => __( 'Choose how the form should confirm successful submission.', 'happyforms' ),
|
177 |
),
|
178 |
11 => array(
|
179 |
'type' => 'upsell',
|
185 |
'type' => 'group_start',
|
186 |
'trigger' => 'confirm_submission',
|
187 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
110 => array(
|
189 |
+
'type' => 'group_end'
|
|
|
|
|
|
|
190 |
),
|
191 |
+
1100 => array(
|
192 |
+
'type' => 'checkbox',
|
193 |
+
'label' => __( 'Add custom CSS classes to submit button', 'happyforms' ),
|
194 |
+
'field' => 'add_submit_button_class',
|
|
|
195 |
),
|
196 |
+
1101 => array(
|
197 |
+
'type' => 'group_start',
|
198 |
+
'trigger' => 'add_submit_button_class'
|
|
|
|
|
199 |
),
|
200 |
+
1102 => array(
|
201 |
'type' => 'text',
|
202 |
'label' => __( 'Submit button CSS classes', 'happyforms' ),
|
203 |
+
// 'tooltip' => __( 'Add custom CSS classes separated by space for targeting a button in your stylesheet.', 'happyforms' ),
|
204 |
'autocomplete' => 'off',
|
205 |
'field' => 'submit_button_html_class'
|
206 |
),
|
207 |
+
1103 => array(
|
208 |
+
'type' => 'group_end',
|
209 |
+
),
|
210 |
1200 => array(
|
211 |
'type' => 'checkbox',
|
212 |
+
'label' => __( 'Add custom HTML ID to form', 'happyforms' ),
|
213 |
'field' => 'use_html_id',
|
214 |
+
// 'tooltip' => __( 'Add a unique HTML ID to your form. Write without a hash (#) character.', 'happyforms' ),
|
215 |
),
|
216 |
1201 => array(
|
217 |
'type' => 'group_start',
|
234 |
return $controls;
|
235 |
}
|
236 |
|
237 |
+
public function messages_controls( $controls ) {
|
238 |
+
$controls[20] = array(
|
239 |
+
'type' => 'text',
|
240 |
+
'label' => __( 'Form is successfully submitted', 'happyforms' ),
|
241 |
+
'field' => 'confirmation_message',
|
242 |
+
);
|
243 |
+
$controls[40] = array(
|
244 |
+
'type' => 'text',
|
245 |
+
'label' => __( "Form can’t be submitted", 'happyforms' ),
|
246 |
+
'field' => 'error_message',
|
247 |
+
);
|
248 |
+
|
249 |
+
$controls[2020] = array(
|
250 |
+
'type' => 'text',
|
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 |
+
}
|
262 |
+
|
263 |
public function do_control( $control, $field, $index ) {
|
264 |
$type = $control['type'];
|
265 |
$path = happyforms_get_core_folder() . '/templates/customize-controls/setup';
|
368 |
add_action( 'happyforms_form_submit_before', 'ob_start', 10, 0 );
|
369 |
add_action( 'happyforms_form_submit_after', 'ob_end_clean', 10, 0 );
|
370 |
}
|
371 |
+
|
372 |
}
|
373 |
|
374 |
if ( ! function_exists( 'happyforms_get_setup' ) ):
|
core/classes/class-form-styles.php
CHANGED
@@ -717,17 +717,17 @@ class HappyForms_Form_Styles {
|
|
717 |
),
|
718 |
3000 => array(
|
719 |
'type' => 'buttonset',
|
720 |
-
'label' => __( '
|
721 |
'field' => 'part_description_alignment'
|
722 |
),
|
723 |
3100 => array(
|
724 |
'type' => 'range',
|
725 |
-
'label' => __( '
|
726 |
'field' => 'part_description_font_size',
|
727 |
),
|
728 |
3101 => array(
|
729 |
'type' => 'custom-select',
|
730 |
-
'label' => __( '
|
731 |
'field' => 'part_description_mode',
|
732 |
),
|
733 |
3200 => array(
|
@@ -762,7 +762,7 @@ class HappyForms_Form_Styles {
|
|
762 |
),
|
763 |
3701 => array(
|
764 |
'type' => 'color',
|
765 |
-
'label' => __( '
|
766 |
'field' => 'color_part_description',
|
767 |
),
|
768 |
3800 => array(
|
717 |
),
|
718 |
3000 => array(
|
719 |
'type' => 'buttonset',
|
720 |
+
'label' => __( 'Hint alignment', 'happyforms' ),
|
721 |
'field' => 'part_description_alignment'
|
722 |
),
|
723 |
3100 => array(
|
724 |
'type' => 'range',
|
725 |
+
'label' => __( 'Hint font size', 'happyforms' ),
|
726 |
'field' => 'part_description_font_size',
|
727 |
),
|
728 |
3101 => array(
|
729 |
'type' => 'custom-select',
|
730 |
+
'label' => __( 'Hint display', 'happyforms' ),
|
731 |
'field' => 'part_description_mode',
|
732 |
),
|
733 |
3200 => array(
|
762 |
),
|
763 |
3701 => array(
|
764 |
'type' => 'color',
|
765 |
+
'label' => __( 'Hint', 'happyforms' ),
|
766 |
'field' => 'color_part_description',
|
767 |
),
|
768 |
3800 => array(
|
core/classes/class-happyforms-core.php
CHANGED
@@ -19,7 +19,9 @@ class HappyForms_Core {
|
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
-
private $shortcode = '
|
|
|
|
|
23 |
|
24 |
/**
|
25 |
* URL of plugin landing page.
|
@@ -69,6 +71,8 @@ class HappyForms_Core {
|
|
69 |
require_once( happyforms_get_core_folder() . '/classes/class-admin-notices.php' );
|
70 |
}
|
71 |
|
|
|
|
|
72 |
require_once( happyforms_get_core_folder() . '/classes/class-tracking.php' );
|
73 |
require_once( happyforms_get_core_folder() . '/classes/class-form-controller.php' );
|
74 |
require_once( happyforms_get_include_folder() . '/classes/class-message-controller.php' );
|
@@ -77,14 +81,13 @@ class HappyForms_Core {
|
|
77 |
require_once( happyforms_get_core_folder() . '/classes/class-form-styles.php' );
|
78 |
require_once( happyforms_get_core_folder() . '/classes/class-form-setup.php' );
|
79 |
require_once( happyforms_get_core_folder() . '/classes/class-form-email.php' );
|
|
|
80 |
require_once( happyforms_get_core_folder() . '/classes/class-session.php' );
|
81 |
require_once( happyforms_get_core_folder() . '/classes/class-happyforms-widget.php' );
|
82 |
require_once( happyforms_get_core_folder() . '/helpers/helper-form-templates.php' );
|
83 |
require_once( happyforms_get_include_folder() . '/classes/class-migrations.php' );
|
84 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
85 |
|
86 |
-
require_once( happyforms_get_core_folder() . '/classes/class-validation-messages.php' );
|
87 |
-
|
88 |
// Gutenberg block
|
89 |
if ( happyforms_is_gutenberg() ) {
|
90 |
require_once( happyforms_get_core_folder() . '/classes/class-block.php' );
|
@@ -102,6 +105,7 @@ class HappyForms_Core {
|
|
102 |
add_action( 'widgets_init', array( $this, 'register_widget' ) );
|
103 |
|
104 |
// Common hooks
|
|
|
105 |
add_shortcode( $this->shortcode, array( $this, 'handle_shortcode' ) );
|
106 |
add_action( 'wp_head', array( $this, 'wp_head' ) );
|
107 |
add_action( 'wp_print_footer_scripts', array( $this, 'wp_print_footer_scripts' ), 0 );
|
@@ -115,7 +119,6 @@ class HappyForms_Core {
|
|
115 |
add_action( 'wp_footer', array( $this, 'enqueue_scripts_preview' ) );
|
116 |
|
117 |
add_action( 'customize_preview_init', array( $this, 'customize_preview_init' ) );
|
118 |
-
add_action( 'current_screen', array( $this, 'show_help_tab' ) );
|
119 |
}
|
120 |
|
121 |
public function customize_preview_init() {
|
@@ -168,10 +171,10 @@ class HappyForms_Core {
|
|
168 |
$form_controller = happyforms_get_form_controller();
|
169 |
|
170 |
add_menu_page(
|
171 |
-
__( '
|
172 |
-
__( '
|
173 |
apply_filters( 'happyforms_main_page_capabilities', 'manage_options' ),
|
174 |
-
'happyforms', '', 'dashicons-
|
175 |
);
|
176 |
|
177 |
add_submenu_page(
|
@@ -453,7 +456,7 @@ class HappyForms_Core {
|
|
453 |
return;
|
454 |
}
|
455 |
|
456 |
-
$button_html = '<a href="#" class="button happyforms-editor-button" data-title="' . __( '
|
457 |
|
458 |
add_action( 'admin_footer', array( $this, 'output_happyforms_modal' ) );
|
459 |
|
@@ -488,6 +491,7 @@ class HappyForms_Core {
|
|
488 |
}
|
489 |
|
490 |
public function print_frontend_styles( $form ) {
|
|
|
491 |
$output = apply_filters( 'happyforms_enqueue_style', true );
|
492 |
$force_styles = apply_filters( 'happyforms_force_styles', false );
|
493 |
|
@@ -543,9 +547,17 @@ class HappyForms_Core {
|
|
543 |
array( 'jquery' ), HAPPYFORMS_VERSION, true
|
544 |
);
|
545 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
$dependencies = apply_filters(
|
547 |
'happyforms_frontend_dependencies',
|
548 |
-
array( 'jquery', 'jquery-ui-core', 'jquery-ui-tooltip' ), $this->current_forms
|
549 |
);
|
550 |
|
551 |
$this->dependencies = $dependencies;
|
@@ -667,57 +679,4 @@ class HappyForms_Core {
|
|
667 |
register_widget( 'HappyForms_Widget' );
|
668 |
}
|
669 |
|
670 |
-
public function show_help_tab() {
|
671 |
-
$screen = get_current_screen();
|
672 |
-
$show = false;
|
673 |
-
|
674 |
-
if ( false !== strpos( $screen->id, 'happyforms_page' ) ) {
|
675 |
-
$show = true;
|
676 |
-
}
|
677 |
-
|
678 |
-
if ( function_exists( 'happyforms_get_message_controller' ) && happyforms_get_message_controller()->post_type === $screen->post_type ) {
|
679 |
-
$show = true;
|
680 |
-
}
|
681 |
-
|
682 |
-
if ( happyforms_get_form_controller()->post_type === $screen->post_type ) {
|
683 |
-
$show = true;
|
684 |
-
}
|
685 |
-
|
686 |
-
if ( ! $show ) {
|
687 |
-
return;
|
688 |
-
}
|
689 |
-
|
690 |
-
$screen->add_help_tab( array(
|
691 |
-
'id' => 'happyforms_help_tab_overview',
|
692 |
-
'title' => __( 'Overview', 'happyforms' ),
|
693 |
-
'callback' => array( $this, 'help_tab_overview_contents' )
|
694 |
-
) );
|
695 |
-
|
696 |
-
$sidebar_content = $this->get_help_tab_sidebar_content();
|
697 |
-
$screen->set_help_sidebar( $sidebar_content );
|
698 |
-
}
|
699 |
-
|
700 |
-
public function help_tab_overview_contents() {
|
701 |
-
?>
|
702 |
-
<p><?php _e( 'Hey 👋 Welcome to your HappyForms Dashboard!', 'happyforms' ); ?></p>
|
703 |
-
|
704 |
-
<p><?php printf(
|
705 |
-
__( 'Are you looking for help? Well, we’ve swept the nacho crumbs from our keyboards, refilled our ginger beers and are ready to reply with answers! So, go on, email %s.', 'happyforms' ),
|
706 |
-
'<a href="mailto:support@thethemefoundry.com">support@thethemefoundry.com</a>'
|
707 |
-
); ?></p>
|
708 |
-
<?php
|
709 |
-
}
|
710 |
-
|
711 |
-
public function get_help_tab_sidebar_content() {
|
712 |
-
ob_start();
|
713 |
-
?>
|
714 |
-
<p><strong><?php _e( 'For more help', 'happyforms' ); ?>:</strong></p>
|
715 |
-
|
716 |
-
<p><a href="https://happyforms.me/help-guide"><?php _e( 'Help guide', 'happyforms' ); ?></a></p>
|
717 |
-
<?php
|
718 |
-
$content = ob_get_clean();
|
719 |
-
|
720 |
-
return $content;
|
721 |
-
}
|
722 |
-
|
723 |
}
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
+
private $shortcode = 'form';
|
23 |
+
|
24 |
+
private $branded_shortcode = 'happyforms';
|
25 |
|
26 |
/**
|
27 |
* URL of plugin landing page.
|
71 |
require_once( happyforms_get_core_folder() . '/classes/class-admin-notices.php' );
|
72 |
}
|
73 |
|
74 |
+
require_once( happyforms_get_core_folder() . '/classes/class-validation-messages.php' );
|
75 |
+
|
76 |
require_once( happyforms_get_core_folder() . '/classes/class-tracking.php' );
|
77 |
require_once( happyforms_get_core_folder() . '/classes/class-form-controller.php' );
|
78 |
require_once( happyforms_get_include_folder() . '/classes/class-message-controller.php' );
|
81 |
require_once( happyforms_get_core_folder() . '/classes/class-form-styles.php' );
|
82 |
require_once( happyforms_get_core_folder() . '/classes/class-form-setup.php' );
|
83 |
require_once( happyforms_get_core_folder() . '/classes/class-form-email.php' );
|
84 |
+
require_once( happyforms_get_core_folder() . '/classes/class-form-messages.php' );
|
85 |
require_once( happyforms_get_core_folder() . '/classes/class-session.php' );
|
86 |
require_once( happyforms_get_core_folder() . '/classes/class-happyforms-widget.php' );
|
87 |
require_once( happyforms_get_core_folder() . '/helpers/helper-form-templates.php' );
|
88 |
require_once( happyforms_get_include_folder() . '/classes/class-migrations.php' );
|
89 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
90 |
|
|
|
|
|
91 |
// Gutenberg block
|
92 |
if ( happyforms_is_gutenberg() ) {
|
93 |
require_once( happyforms_get_core_folder() . '/classes/class-block.php' );
|
105 |
add_action( 'widgets_init', array( $this, 'register_widget' ) );
|
106 |
|
107 |
// Common hooks
|
108 |
+
add_shortcode( $this->branded_shortcode, array( $this, 'handle_shortcode' ) );
|
109 |
add_shortcode( $this->shortcode, array( $this, 'handle_shortcode' ) );
|
110 |
add_action( 'wp_head', array( $this, 'wp_head' ) );
|
111 |
add_action( 'wp_print_footer_scripts', array( $this, 'wp_print_footer_scripts' ), 0 );
|
119 |
add_action( 'wp_footer', array( $this, 'enqueue_scripts_preview' ) );
|
120 |
|
121 |
add_action( 'customize_preview_init', array( $this, 'customize_preview_init' ) );
|
|
|
122 |
}
|
123 |
|
124 |
public function customize_preview_init() {
|
171 |
$form_controller = happyforms_get_form_controller();
|
172 |
|
173 |
add_menu_page(
|
174 |
+
__( 'Forms', 'happyforms' ),
|
175 |
+
__( 'Forms', 'happyforms' ),
|
176 |
apply_filters( 'happyforms_main_page_capabilities', 'manage_options' ),
|
177 |
+
'happyforms', '', 'dashicons-feedback', 50
|
178 |
);
|
179 |
|
180 |
add_submenu_page(
|
456 |
return;
|
457 |
}
|
458 |
|
459 |
+
$button_html = '<a href="#" class="button happyforms-editor-button" data-title="' . __( 'Add form', 'happyforms' ) . '"><span class="dashicons dashicons-format-status"></span><span>'. __( 'Add form', 'happyforms' ) .'</span></a>';
|
460 |
|
461 |
add_action( 'admin_footer', array( $this, 'output_happyforms_modal' ) );
|
462 |
|
491 |
}
|
492 |
|
493 |
public function print_frontend_styles( $form ) {
|
494 |
+
|
495 |
$output = apply_filters( 'happyforms_enqueue_style', true );
|
496 |
$force_styles = apply_filters( 'happyforms_force_styles', false );
|
497 |
|
547 |
array( 'jquery' ), HAPPYFORMS_VERSION, true
|
548 |
);
|
549 |
|
550 |
+
wp_register_script( 'happyforms-settings', '', array(), HAPPYFORMS_VERSION, true );
|
551 |
+
|
552 |
+
$settings = apply_filters( 'happyforms_frontend_settings', array(
|
553 |
+
'ajaxUrl' => admin_url( 'admin-ajax.php' )
|
554 |
+
) );
|
555 |
+
|
556 |
+
wp_localize_script( 'happyforms-settings', '_happyFormsSettings', $settings );
|
557 |
+
|
558 |
$dependencies = apply_filters(
|
559 |
'happyforms_frontend_dependencies',
|
560 |
+
array( 'jquery', 'jquery-ui-core', 'jquery-ui-tooltip', 'happyforms-settings' ), $this->current_forms
|
561 |
);
|
562 |
|
563 |
$this->dependencies = $dependencies;
|
679 |
register_widget( 'HappyForms_Widget' );
|
680 |
}
|
681 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
}
|
core/classes/class-happyforms-widget.php
CHANGED
@@ -10,9 +10,9 @@ class HappyForms_Widget extends WP_Widget {
|
|
10 |
function __construct() {
|
11 |
parent::__construct(
|
12 |
'happyforms_widget',
|
13 |
-
__( '
|
14 |
array(
|
15 |
-
'description' => __( '
|
16 |
)
|
17 |
);
|
18 |
}
|
10 |
function __construct() {
|
11 |
parent::__construct(
|
12 |
'happyforms_widget',
|
13 |
+
__( 'Forms', 'happyforms' ),
|
14 |
array(
|
15 |
+
'description' => __( 'Displays a form.', 'happyforms' )
|
16 |
)
|
17 |
);
|
18 |
}
|
core/classes/class-validation-messages.php
CHANGED
@@ -11,6 +11,8 @@ class HappyForms_Validation_Messages {
|
|
11 |
*/
|
12 |
private static $instance;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* The singleton constructor.
|
16 |
*
|
@@ -27,6 +29,10 @@ class HappyForms_Validation_Messages {
|
|
27 |
}
|
28 |
|
29 |
public function hook() {
|
|
|
|
|
|
|
|
|
30 |
add_filter( 'happyforms_part_attributes', array( $this, 'add_accessibility_attributes' ), 10, 4 );
|
31 |
}
|
32 |
|
@@ -59,16 +65,105 @@ class HappyForms_Validation_Messages {
|
|
59 |
return $attributes;
|
60 |
}
|
61 |
|
62 |
-
public function
|
63 |
-
$
|
64 |
-
'
|
65 |
-
'
|
66 |
-
'
|
67 |
-
|
68 |
-
|
69 |
-
'
|
70 |
-
'
|
|
|
71 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
return apply_filters( 'happyforms_default_validation_messages', $messages );
|
74 |
}
|
@@ -83,15 +178,19 @@ class HappyForms_Validation_Messages {
|
|
83 |
* `happyforms_validation_message filter on success.
|
84 |
*/
|
85 |
public function get_message( $message_key ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
$default_messages = $this->get_default_messages();
|
87 |
-
$message = '';
|
88 |
|
89 |
if ( ! isset( $default_messages[$message_key] ) ) {
|
90 |
return $message;
|
91 |
}
|
92 |
|
93 |
$message = $default_messages[$message_key];
|
94 |
-
$message = apply_filters( 'happyforms_validation_message', $message, $message_key );
|
95 |
|
96 |
return $message;
|
97 |
}
|
11 |
*/
|
12 |
private static $instance;
|
13 |
|
14 |
+
private $form = null;
|
15 |
+
|
16 |
/**
|
17 |
* The singleton constructor.
|
18 |
*
|
29 |
}
|
30 |
|
31 |
public function hook() {
|
32 |
+
|
33 |
+
add_filter( 'happyforms_get_form_data', array( $this, 'set_form'), 99 );
|
34 |
+
add_filter( 'happyforms_messages_fields', array( $this, 'meta_messages_fields' ) );
|
35 |
+
add_filter( 'happyforms_messages_controls', array( $this, 'messages_controls' ) );
|
36 |
add_filter( 'happyforms_part_attributes', array( $this, 'add_accessibility_attributes' ), 10, 4 );
|
37 |
}
|
38 |
|
65 |
return $attributes;
|
66 |
}
|
67 |
|
68 |
+
public function messages_controls( $controls ) {
|
69 |
+
$controls[4010] = array(
|
70 |
+
'type' => 'text',
|
71 |
+
'label' => __( 'Field is answered incorrectly', 'happyforms' ),
|
72 |
+
'field' => 'field_invalid',
|
73 |
+
);
|
74 |
+
$controls[4020] = array(
|
75 |
+
'type' => 'text',
|
76 |
+
'label' => __( "Required field isn't answered", 'happyforms' ),
|
77 |
+
'field' => 'field_empty',
|
78 |
);
|
79 |
+
$controls[4040] = array(
|
80 |
+
'type' => 'text',
|
81 |
+
'label' => __( "Required choice isn't selected", 'happyforms' ),
|
82 |
+
'field' => 'no_selection',
|
83 |
+
);
|
84 |
+
$controls[4080] = array(
|
85 |
+
'type' => 'text',
|
86 |
+
'label' => __( "Too many words/characters typed", 'happyforms' ),
|
87 |
+
'field' => 'message_too_long',
|
88 |
+
);
|
89 |
+
$controls[4100] = array(
|
90 |
+
'type' => 'text',
|
91 |
+
'label' => __( 'Not enough words/characters typed', 'happyforms' ),
|
92 |
+
'field' => 'message_too_short',
|
93 |
+
);
|
94 |
+
return $controls;
|
95 |
+
}
|
96 |
+
|
97 |
+
public function get_validation_fields() {
|
98 |
+
|
99 |
+
$fields = array(
|
100 |
+
'field_invalid' => array(
|
101 |
+
'default' => __( "Oops. Looks like there's a mistake here.", 'happyforms' ),
|
102 |
+
'sanitize' => 'sanitize_text_field',
|
103 |
+
),
|
104 |
+
'field_empty' => array(
|
105 |
+
'default' => __( 'Oops. Please answer this question.', 'happyforms' ),
|
106 |
+
'sanitize' => 'sanitize_text_field',
|
107 |
+
),
|
108 |
+
'no_selection' => array(
|
109 |
+
'default' => __( 'Oops. Please make a selection.', 'happyforms' ),
|
110 |
+
'sanitize' => 'sanitize_text_field',
|
111 |
+
),
|
112 |
+
'message_too_long' => array(
|
113 |
+
'default' => __( 'Oops. This answer is too long.', 'happyforms' ),
|
114 |
+
'sanitize' => 'sanitize_text_field',
|
115 |
+
),
|
116 |
+
'message_too_short' => array(
|
117 |
+
'default' => __( "Oops. This answer isn't long enough.", 'happyforms' ),
|
118 |
+
'sanitize' => 'sanitize_text_field',
|
119 |
+
),
|
120 |
+
// TODO remove this field once deprecated global messages is fully removed
|
121 |
+
'per_form_validation_msg' => array(
|
122 |
+
'default' => 0,
|
123 |
+
'sanitize' => 'sanitize_text_field',
|
124 |
+
),
|
125 |
+
);
|
126 |
+
|
127 |
+
return $fields;
|
128 |
+
}
|
129 |
+
|
130 |
+
public function meta_messages_fields( $fields ) {
|
131 |
+
$fields = array_merge( $fields, $this->get_validation_fields() );
|
132 |
+
|
133 |
+
return $fields;
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
*
|
138 |
+
* TODO Remove this method (set_form) and all other references of per_form_validation_msg
|
139 |
+
* once the deprecated global messages has been fully retired.
|
140 |
+
*
|
141 |
+
*/
|
142 |
+
public function set_form( $form ) {
|
143 |
+
|
144 |
+
if ( $form['ID'] != 0 && $form['per_form_validation_msg'] == 0 ) {
|
145 |
+
$deprecated_messages = get_option( 'happyforms-validation-messages', array() );
|
146 |
+
$messages = $this->get_default_messages();
|
147 |
+
|
148 |
+
foreach ( $deprecated_messages as $key => $value ) {
|
149 |
+
if ( ! empty( $deprecated_messages[ $key ] ) ) {
|
150 |
+
$form[ $key ] = $deprecated_messages[ $key ];
|
151 |
+
} else {
|
152 |
+
$form[ $key ] = $messages[ $key ];
|
153 |
+
}
|
154 |
+
}
|
155 |
+
} else if ( $form['ID'] == 0 ) {
|
156 |
+
$form['per_form_validation_msg'] = 1;
|
157 |
+
}
|
158 |
+
|
159 |
+
// since validation messages are now in form meta, we need the form variable.
|
160 |
+
$this->form = $form;
|
161 |
+
|
162 |
+
return $form;
|
163 |
+
}
|
164 |
+
|
165 |
+
public function get_default_messages() {
|
166 |
+
$messages = wp_list_pluck( $this->get_validation_fields(), 'default' );
|
167 |
|
168 |
return apply_filters( 'happyforms_default_validation_messages', $messages );
|
169 |
}
|
178 |
* `happyforms_validation_message filter on success.
|
179 |
*/
|
180 |
public function get_message( $message_key ) {
|
181 |
+
$message = $this->form[ $message_key ];
|
182 |
+
|
183 |
+
if ( ! empty( $message ) ) {
|
184 |
+
return $message;
|
185 |
+
}
|
186 |
+
|
187 |
$default_messages = $this->get_default_messages();
|
|
|
188 |
|
189 |
if ( ! isset( $default_messages[$message_key] ) ) {
|
190 |
return $message;
|
191 |
}
|
192 |
|
193 |
$message = $default_messages[$message_key];
|
|
|
194 |
|
195 |
return $message;
|
196 |
}
|
core/classes/class-wp-customize-form-manager.php
CHANGED
@@ -166,12 +166,12 @@ class HappyForms_WP_Customize_Form_Manager {
|
|
166 |
$notice_content = '';
|
167 |
$notice_content .= '<h3>' . __( 'Form saved 👏', 'happyforms' ) . '</h3>';
|
168 |
$notice_content .= '<p>' . __( 'There are two ways to embed your form. Here goes…', 'happyforms' ) . '</p>';
|
169 |
-
$notice_content .= '<h4>' . __( 'Add
|
170 |
-
$notice_content .= '<ol><li>' . __( 'In your Edit Post / Edit Page screen, click Add Block.', 'happyforms' ) . '</li><li>' . __( 'Select the
|
171 |
-
$notice_content .= '<h4>' . __( 'Use
|
172 |
$notice_content .= '<ol>';
|
173 |
$notice_content .= '<li>' . sprintf( __( 'Head over to Appearance → <a href="%s">Widgets</a> screen.', 'happyforms' ), get_site_url( NULL, 'wp-admin/widgets.php' ) ) . '</li>';
|
174 |
-
$notice_content .= '<li>' . __( 'Drag the
|
175 |
$notice_content .= '<li>' . __( 'Select a form in the Form dropdown.', 'happyforms' ) . '</li>';
|
176 |
$notice_content .= '<li>' . __( 'All done!', 'happyforms' ) . '</li>';
|
177 |
$notice_content .= '</ol>';
|
@@ -441,6 +441,7 @@ class HappyForms_WP_Customize_Form_Manager {
|
|
441 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-parts-drawer.php' );
|
442 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-style.php' );
|
443 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-email.php' );
|
|
|
444 |
|
445 |
_WP_Editors::print_default_editor_scripts();
|
446 |
}
|
166 |
$notice_content = '';
|
167 |
$notice_content .= '<h3>' . __( 'Form saved 👏', 'happyforms' ) . '</h3>';
|
168 |
$notice_content .= '<p>' . __( 'There are two ways to embed your form. Here goes…', 'happyforms' ) . '</p>';
|
169 |
+
$notice_content .= '<h4>' . __( 'Add your form to a page or post', 'happyforms' ) . '</h4>';
|
170 |
+
$notice_content .= '<ol><li>' . __( 'In your Edit Post / Edit Page screen, click Add Block.', 'happyforms' ) . '</li><li>' . __( 'Select the Forms content block.', 'happyforms' ) . '</li><li>' . __( 'Select a form in the Form dropdown.', 'happyforms' ) . '</li><li> ' . __( 'That\'s it! You\'ll see a basic preview of your form in the editor.', 'happyforms' ) . '</li></ol>';
|
171 |
+
$notice_content .= '<h4>' . __( 'Use your form in a widget area', 'happyforms' ) . '</h4>';
|
172 |
$notice_content .= '<ol>';
|
173 |
$notice_content .= '<li>' . sprintf( __( 'Head over to Appearance → <a href="%s">Widgets</a> screen.', 'happyforms' ), get_site_url( NULL, 'wp-admin/widgets.php' ) ) . '</li>';
|
174 |
+
$notice_content .= '<li>' . __( 'Drag the Forms widget to your sidebar.', 'happyforms' ) .'</li>';
|
175 |
$notice_content .= '<li>' . __( 'Select a form in the Form dropdown.', 'happyforms' ) . '</li>';
|
176 |
$notice_content .= '<li>' . __( 'All done!', 'happyforms' ) . '</li>';
|
177 |
$notice_content .= '</ol>';
|
441 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-parts-drawer.php' );
|
442 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-style.php' );
|
443 |
require_once( happyforms_get_core_folder() . '/templates/customize-form-email.php' );
|
444 |
+
require_once( happyforms_get_core_folder() . '/templates/customize-form-messages.php' );
|
445 |
|
446 |
_WP_Editors::print_default_editor_scripts();
|
447 |
}
|
core/classes/parts/class-part-checkbox.php
CHANGED
@@ -36,7 +36,7 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label' => array(
|
39 |
-
'default' => __( '
|
40 |
'sanitize' => 'sanitize_text_field',
|
41 |
),
|
42 |
'label_placement' => array(
|
@@ -193,7 +193,7 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
|
|
193 |
$validated_value = $value;
|
194 |
|
195 |
if ( 1 === $part['required'] && empty( $validated_value ) ) {
|
196 |
-
$validated_value = new WP_Error( 'error', happyforms_get_validation_message( '
|
197 |
return $validated_value;
|
198 |
}
|
199 |
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label' => array(
|
39 |
+
'default' => __( '', 'happyforms' ),
|
40 |
'sanitize' => 'sanitize_text_field',
|
41 |
),
|
42 |
'label_placement' => array(
|
193 |
$validated_value = $value;
|
194 |
|
195 |
if ( 1 === $part['required'] && empty( $validated_value ) ) {
|
196 |
+
$validated_value = new WP_Error( 'error', happyforms_get_validation_message( 'no_selection' ) );
|
197 |
return $validated_value;
|
198 |
}
|
199 |
|
core/classes/parts/class-part-email.php
CHANGED
@@ -8,13 +8,14 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
8 |
$this->label = __( 'Email Address', 'happyforms' );
|
9 |
$this->description = __( 'For formatted email addresses. The \'@\' symbol is required.', 'happyforms' );
|
10 |
|
|
|
11 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
12 |
-
add_filter( 'happyforms_part_data_attributes', array( $this, 'html_part_data_attributes' ), 10, 3 );
|
13 |
add_filter( 'happyforms_message_part_value', array( $this, 'message_part_value' ), 10, 4 );
|
14 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
15 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
16 |
add_filter( 'happyforms_validate_part', array( $this, 'validate_part' ) );
|
17 |
add_filter( 'happyforms_email_part_visible', array( $this, 'email_part_visible' ), 10, 4 );
|
|
|
18 |
}
|
19 |
|
20 |
/**
|
@@ -31,7 +32,7 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
31 |
'sanitize' => 'sanitize_text_field',
|
32 |
),
|
33 |
'label' => array(
|
34 |
-
'default' => __( '
|
35 |
'sanitize' => 'sanitize_text_field',
|
36 |
),
|
37 |
'label_placement' => array(
|
@@ -46,22 +47,6 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
46 |
'default' => '',
|
47 |
'sanitize' => 'sanitize_text_field'
|
48 |
),
|
49 |
-
'autocomplete_domains' => array(
|
50 |
-
'default' => 1,
|
51 |
-
'sanitize' => 'intval'
|
52 |
-
),
|
53 |
-
'confirmation_field' => array(
|
54 |
-
'default' => 0,
|
55 |
-
'sanitize' => 'intval'
|
56 |
-
),
|
57 |
-
'confirmation_field_label' => array(
|
58 |
-
'default' => __( 'Untitled', 'happyforms' ),
|
59 |
-
'sanitize' => 'sanitize_text_field'
|
60 |
-
),
|
61 |
-
'confirmation_field_placeholder' => array(
|
62 |
-
'default' => __( '', 'happyforms' ),
|
63 |
-
'sanitize' => 'sanitize_text_field'
|
64 |
-
),
|
65 |
'placeholder' => array(
|
66 |
'default' => '',
|
67 |
'sanitize' => 'sanitize_text_field',
|
@@ -86,6 +71,10 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
86 |
'default' => 1,
|
87 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
88 |
),
|
|
|
|
|
|
|
|
|
89 |
);
|
90 |
|
91 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
@@ -110,10 +99,6 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
110 |
return $part_data;
|
111 |
}
|
112 |
|
113 |
-
if ( ! ( ( '' === $part_data['prefix'] ) && ( '' === $part_data['suffix'] ) ) && ( 1 == $part_data['autocomplete_domains'] ) ) {
|
114 |
-
$part_data['autocomplete_domains'] = 0;
|
115 |
-
}
|
116 |
-
|
117 |
return $part_data;
|
118 |
}
|
119 |
|
@@ -125,7 +110,7 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
125 |
|
126 |
$empty_value = $part['prefix'] . $part['suffix'];
|
127 |
$value = happyforms_get_message_part_value( $response['parts'][$part['id']], $part );
|
128 |
-
|
129 |
if ( $empty_value === $value ) {
|
130 |
$visible = false;
|
131 |
}
|
@@ -134,6 +119,16 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
134 |
return $visible;
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
/**
|
138 |
* Get front end part template with parsed data.
|
139 |
*
|
@@ -151,10 +146,6 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
151 |
include( happyforms_get_core_folder() . '/templates/parts/frontend-email.php' );
|
152 |
}
|
153 |
|
154 |
-
public function get_default_value( $part_data = array() ) {
|
155 |
-
return array();
|
156 |
-
}
|
157 |
-
|
158 |
/**
|
159 |
* Sanitize submitted value before storing it.
|
160 |
*
|
@@ -169,11 +160,7 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
169 |
$part_name = happyforms_get_part_name( $part_data, $form_data );
|
170 |
|
171 |
if ( isset( $request[$part_name] ) ) {
|
172 |
-
$sanitized_value
|
173 |
-
}
|
174 |
-
|
175 |
-
if ( isset( $request[$part_name . '_confirmation'] ) ) {
|
176 |
-
$sanitized_value[1] = sanitize_text_field( $request[$part_name . '_confirmation'] );
|
177 |
}
|
178 |
|
179 |
return $sanitized_value;
|
@@ -192,24 +179,17 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
192 |
public function validate_value( $value, $part = array(), $form = array() ) {
|
193 |
$part_name = happyforms_get_part_name( $part, $form );
|
194 |
|
195 |
-
if ( empty( $value
|
196 |
if ( 1 == $part['required'] ) {
|
197 |
$error = new WP_Error( 'error', happyforms_get_validation_message( 'field_empty' ) );
|
198 |
|
199 |
-
if ( empty( $value[1] ) ) {
|
200 |
-
$error->add_data( array(
|
201 |
-
'components' => array( 0, 1 )
|
202 |
-
) );
|
203 |
-
}
|
204 |
-
|
205 |
return $error;
|
206 |
} else {
|
207 |
-
return $value
|
208 |
}
|
209 |
}
|
210 |
|
211 |
-
$validation_value = $value
|
212 |
-
$validation_confirmation_value = '';
|
213 |
|
214 |
if ( ( '' !== $part['prefix'] ) ) {
|
215 |
$validation_value = "{$part['prefix']}{$validation_value}";
|
@@ -219,46 +199,21 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
219 |
$validation_value = "{$validation_value}{$part['suffix']}";
|
220 |
}
|
221 |
|
222 |
-
if ( isset( $value[1] ) ) {
|
223 |
-
$validation_confirmation_value = $value[1];
|
224 |
-
|
225 |
-
if ( ! empty( $part['prefix'] ) ) {
|
226 |
-
$validation_confirmation_value = "{$part['prefix']}{$validation_confirmation_value}";
|
227 |
-
}
|
228 |
-
if ( ! empty( $part['suffix'] ) ) {
|
229 |
-
$validation_confirmation_value = "{$validation_confirmation_value}{$part['suffix']}";
|
230 |
-
}
|
231 |
-
}
|
232 |
-
|
233 |
if ( ! happyforms_is_email( $validation_value ) ) {
|
234 |
$error = new WP_error( 'error', happyforms_get_validation_message( 'field_invalid' ) );
|
235 |
|
236 |
-
if ( ! empty( $validation_confirmation_value ) && ! happyforms_is_email( $validation_confirmation_value ) ) {
|
237 |
-
$error->add_data( array(
|
238 |
-
'components' => array( 0, 1 )
|
239 |
-
) );
|
240 |
-
}
|
241 |
-
|
242 |
return $error;
|
243 |
}
|
244 |
|
245 |
-
if ( isset( $value[1] ) && $validation_value !== $validation_confirmation_value ) {
|
246 |
-
$error = new WP_Error();
|
247 |
|
248 |
-
|
249 |
-
|
250 |
-
'components' => array( 1 )
|
251 |
-
) );
|
252 |
-
} else {
|
253 |
-
$error->add( 'error', happyforms_get_validation_message( 'field_empty' ), array(
|
254 |
-
'components' => array( 1 )
|
255 |
-
) );
|
256 |
-
}
|
257 |
|
258 |
-
|
|
|
|
|
259 |
}
|
260 |
-
|
261 |
-
return $value[0];
|
262 |
}
|
263 |
|
264 |
public function stringify_value( $value, $part, $form ) {
|
@@ -274,19 +229,6 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
274 |
return $value;
|
275 |
}
|
276 |
|
277 |
-
public function html_part_data_attributes( $attributes, $part, $form ) {
|
278 |
-
if ( $this->type === $part['type'] ) {
|
279 |
-
if ( $part['confirmation_field'] ) {
|
280 |
-
$attributes['happyforms-require-confirmation'] = '';
|
281 |
-
}
|
282 |
-
if ( $part['autocomplete_domains'] ) {
|
283 |
-
$attributes['mode'] = 'autocomplete';
|
284 |
-
}
|
285 |
-
}
|
286 |
-
|
287 |
-
return $attributes;
|
288 |
-
}
|
289 |
-
|
290 |
public function html_part_class( $class, $part, $form ) {
|
291 |
if ( $this->type === $part['type'] ) {
|
292 |
if ( happyforms_get_part_value( $part, $form, 0 )
|
@@ -304,19 +246,6 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
304 |
return $class;
|
305 |
}
|
306 |
|
307 |
-
public function get_domains_for_autocomplete() {
|
308 |
-
$domains = array(
|
309 |
-
'gmail.com',
|
310 |
-
'yahoo.com',
|
311 |
-
'hotmail.com',
|
312 |
-
'aol.com',
|
313 |
-
'icloud.com',
|
314 |
-
'outlook.com'
|
315 |
-
);
|
316 |
-
|
317 |
-
return apply_filters( 'happyforms_email_domains_autocomplete', $domains );
|
318 |
-
}
|
319 |
-
|
320 |
public function message_part_value( $value, $original_value, $part, $destination ) {
|
321 |
if ( isset( $part['type'] )
|
322 |
&& $this->type === $part['type'] ) {
|
@@ -369,19 +298,8 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
|
|
369 |
|
370 |
wp_register_script(
|
371 |
'happyforms-email',
|
372 |
-
happyforms_get_plugin_url() . 'core/assets/js/frontend/email.js',
|
373 |
-
array(
|
374 |
-
);
|
375 |
-
|
376 |
-
$settings = array(
|
377 |
-
'url' => admin_url( 'admin-ajax.php' ),
|
378 |
-
'autocompleteSource' => $this->get_domains_for_autocomplete()
|
379 |
-
);
|
380 |
-
|
381 |
-
wp_localize_script(
|
382 |
-
'happyforms-email',
|
383 |
-
'_happyFormsEmailSettings',
|
384 |
-
$settings
|
385 |
);
|
386 |
|
387 |
$deps[] = 'happyforms-email';
|
8 |
$this->label = __( 'Email Address', 'happyforms' );
|
9 |
$this->description = __( 'For formatted email addresses. The \'@\' symbol is required.', 'happyforms' );
|
10 |
|
11 |
+
add_filter( 'happyforms_part_value', array( $this, 'get_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
|
|
13 |
add_filter( 'happyforms_message_part_value', array( $this, 'message_part_value' ), 10, 4 );
|
14 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
15 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
16 |
add_filter( 'happyforms_validate_part', array( $this, 'validate_part' ) );
|
17 |
add_filter( 'happyforms_email_part_visible', array( $this, 'email_part_visible' ), 10, 4 );
|
18 |
+
add_filter( 'happyforms_the_part_value', array( $this, 'handle_confirmation_value' ), 10, 4 );
|
19 |
}
|
20 |
|
21 |
/**
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label' => array(
|
35 |
+
'default' => __( '', 'happyforms' ),
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label_placement' => array(
|
47 |
'default' => '',
|
48 |
'sanitize' => 'sanitize_text_field'
|
49 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
'placeholder' => array(
|
51 |
'default' => '',
|
52 |
'sanitize' => 'sanitize_text_field',
|
71 |
'default' => 1,
|
72 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
73 |
),
|
74 |
+
'default_value' => array(
|
75 |
+
'default' => '',
|
76 |
+
'sanitize' => 'sanitize_text_field'
|
77 |
+
)
|
78 |
);
|
79 |
|
80 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
99 |
return $part_data;
|
100 |
}
|
101 |
|
|
|
|
|
|
|
|
|
102 |
return $part_data;
|
103 |
}
|
104 |
|
110 |
|
111 |
$empty_value = $part['prefix'] . $part['suffix'];
|
112 |
$value = happyforms_get_message_part_value( $response['parts'][$part['id']], $part );
|
113 |
+
|
114 |
if ( $empty_value === $value ) {
|
115 |
$visible = false;
|
116 |
}
|
119 |
return $visible;
|
120 |
}
|
121 |
|
122 |
+
public function handle_confirmation_value( $value, $part, $form, $component ) {
|
123 |
+
if ( $this->type === $part['type'] ) {
|
124 |
+
if ( false === $component && is_array( $value ) ) {
|
125 |
+
$value = $value[0];
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
return $value;
|
130 |
+
}
|
131 |
+
|
132 |
/**
|
133 |
* Get front end part template with parsed data.
|
134 |
*
|
146 |
include( happyforms_get_core_folder() . '/templates/parts/frontend-email.php' );
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
149 |
/**
|
150 |
* Sanitize submitted value before storing it.
|
151 |
*
|
160 |
$part_name = happyforms_get_part_name( $part_data, $form_data );
|
161 |
|
162 |
if ( isset( $request[$part_name] ) ) {
|
163 |
+
$sanitized_value = sanitize_text_field( $request[$part_name] );
|
|
|
|
|
|
|
|
|
164 |
}
|
165 |
|
166 |
return $sanitized_value;
|
179 |
public function validate_value( $value, $part = array(), $form = array() ) {
|
180 |
$part_name = happyforms_get_part_name( $part, $form );
|
181 |
|
182 |
+
if ( empty( $value ) ) {
|
183 |
if ( 1 == $part['required'] ) {
|
184 |
$error = new WP_Error( 'error', happyforms_get_validation_message( 'field_empty' ) );
|
185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
return $error;
|
187 |
} else {
|
188 |
+
return $value;
|
189 |
}
|
190 |
}
|
191 |
|
192 |
+
$validation_value = $value;
|
|
|
193 |
|
194 |
if ( ( '' !== $part['prefix'] ) ) {
|
195 |
$validation_value = "{$part['prefix']}{$validation_value}";
|
199 |
$validation_value = "{$validation_value}{$part['suffix']}";
|
200 |
}
|
201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
if ( ! happyforms_is_email( $validation_value ) ) {
|
203 |
$error = new WP_error( 'error', happyforms_get_validation_message( 'field_invalid' ) );
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
return $error;
|
206 |
}
|
207 |
|
|
|
|
|
208 |
|
209 |
+
return $value;
|
210 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
|
212 |
+
public function get_part_value( $value, $part, $form ){
|
213 |
+
if ( $this->type === $part['type'] ) {
|
214 |
+
$value = $part['default_value'];
|
215 |
}
|
216 |
+
return $value;
|
|
|
217 |
}
|
218 |
|
219 |
public function stringify_value( $value, $part, $form ) {
|
229 |
return $value;
|
230 |
}
|
231 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
public function html_part_class( $class, $part, $form ) {
|
233 |
if ( $this->type === $part['type'] ) {
|
234 |
if ( happyforms_get_part_value( $part, $form, 0 )
|
246 |
return $class;
|
247 |
}
|
248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
public function message_part_value( $value, $original_value, $part, $destination ) {
|
250 |
if ( isset( $part['type'] )
|
251 |
&& $this->type === $part['type'] ) {
|
298 |
|
299 |
wp_register_script(
|
300 |
'happyforms-email',
|
301 |
+
happyforms_get_plugin_url() . 'core/assets/js/frontend/email.js',
|
302 |
+
array(), HAPPYFORMS_VERSION, true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
);
|
304 |
|
305 |
$deps[] = 'happyforms-email';
|
core/classes/parts/class-part-multi-line-text.php
CHANGED
@@ -8,11 +8,12 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
8 |
$this->label = __( 'Long Answer', 'happyforms' );
|
9 |
$this->description = __( 'For paragraph text fields.', 'happyforms' );
|
10 |
|
|
|
11 |
add_filter( 'happyforms_the_part_value', array( $this, 'output_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_email_part_value', array( $this, 'email_part_value' ), 10, 4 );
|
13 |
add_filter( 'happyforms_message_part_value', array( $this, 'message_part_value' ), 10, 4 );
|
14 |
add_filter( 'happyforms_part_attributes', array( $this, 'html_part_attributes' ), 10, 2 );
|
15 |
-
add_action( 'happyforms_part_input_after', array( $this, 'part_input_after' ) );
|
16 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
17 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
18 |
}
|
@@ -31,7 +32,7 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
31 |
'sanitize' => 'sanitize_text_field',
|
32 |
),
|
33 |
'label' => array(
|
34 |
-
'default' => __( '
|
35 |
'sanitize' => 'sanitize_text_field',
|
36 |
),
|
37 |
'label_placement' => array(
|
@@ -88,6 +89,10 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
88 |
'required' => array(
|
89 |
'default' => 1,
|
90 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
|
|
|
|
|
|
|
|
91 |
)
|
92 |
);
|
93 |
|
@@ -203,6 +208,13 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
203 |
return $validated_value;
|
204 |
}
|
205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
public function output_part_value( $value, $part, $form ) {
|
207 |
if ( $this->type === $part['type'] ) {
|
208 |
$value = stripslashes( $value );
|
@@ -235,22 +247,22 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
235 |
return $mode;
|
236 |
}
|
237 |
|
238 |
-
private function get_limit_label( $part ) {
|
239 |
$min_or_max = '';
|
240 |
$type = '';
|
241 |
|
242 |
switch( $part['character_limit_mode'] ) {
|
243 |
case 'character_min':
|
244 |
-
$type = $
|
245 |
break;
|
246 |
case 'character_max':
|
247 |
-
$type = $
|
248 |
break;
|
249 |
case 'word_min':
|
250 |
-
$type = $
|
251 |
break;
|
252 |
case 'word_max':
|
253 |
-
$type = $
|
254 |
break;
|
255 |
}
|
256 |
|
@@ -281,7 +293,7 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
281 |
return $attrs;
|
282 |
}
|
283 |
|
284 |
-
public function part_input_after( $part ) {
|
285 |
if ( $this->type !== $part['type'] ) {
|
286 |
return;
|
287 |
}
|
@@ -291,9 +303,9 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
|
|
291 |
$character_limit = $limit_input ? $character_limit : 0;
|
292 |
|
293 |
if ( $character_limit || happyforms_is_preview() ) {
|
294 |
-
$label = $this->get_limit_label( $part );
|
295 |
?>
|
296 |
-
<div class="happyforms-part__char-counter" <?php if ( happyforms_is_preview() && ! $character_limit ) : ?>style="display: none;"<?php endif; ?>>
|
297 |
<span class="counter">0</span>/<?php echo $character_limit; ?> <?php echo $label; ?>
|
298 |
</div>
|
299 |
<?php
|
8 |
$this->label = __( 'Long Answer', 'happyforms' );
|
9 |
$this->description = __( 'For paragraph text fields.', 'happyforms' );
|
10 |
|
11 |
+
add_filter( 'happyforms_part_value', array( $this, 'get_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_the_part_value', array( $this, 'output_part_value' ), 10, 3 );
|
13 |
add_filter( 'happyforms_email_part_value', array( $this, 'email_part_value' ), 10, 4 );
|
14 |
add_filter( 'happyforms_message_part_value', array( $this, 'message_part_value' ), 10, 4 );
|
15 |
add_filter( 'happyforms_part_attributes', array( $this, 'html_part_attributes' ), 10, 2 );
|
16 |
+
add_action( 'happyforms_part_input_after', array( $this, 'part_input_after' ), 10, 2 );
|
17 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
18 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
19 |
}
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label' => array(
|
35 |
+
'default' => __( '', 'happyforms' ),
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label_placement' => array(
|
89 |
'required' => array(
|
90 |
'default' => 1,
|
91 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
92 |
+
),
|
93 |
+
'default_value' => array(
|
94 |
+
'default' => '',
|
95 |
+
'sanitize' => 'sanitize_text_field'
|
96 |
)
|
97 |
);
|
98 |
|
208 |
return $validated_value;
|
209 |
}
|
210 |
|
211 |
+
public function get_part_value( $value, $part, $form ){
|
212 |
+
if ( $this->type === $part['type'] ) {
|
213 |
+
$value = $part['default_value'];
|
214 |
+
}
|
215 |
+
return $value;
|
216 |
+
}
|
217 |
+
|
218 |
public function output_part_value( $value, $part, $form ) {
|
219 |
if ( $this->type === $part['type'] ) {
|
220 |
$value = stripslashes( $value );
|
247 |
return $mode;
|
248 |
}
|
249 |
|
250 |
+
private function get_limit_label( $part, $form ) {
|
251 |
$min_or_max = '';
|
252 |
$type = '';
|
253 |
|
254 |
switch( $part['character_limit_mode'] ) {
|
255 |
case 'character_min':
|
256 |
+
$type = $form['characters_label_min'];
|
257 |
break;
|
258 |
case 'character_max':
|
259 |
+
$type = $form['characters_label_max'];
|
260 |
break;
|
261 |
case 'word_min':
|
262 |
+
$type = $form['words_label_min'];
|
263 |
break;
|
264 |
case 'word_max':
|
265 |
+
$type = $form['words_label_max'];
|
266 |
break;
|
267 |
}
|
268 |
|
293 |
return $attrs;
|
294 |
}
|
295 |
|
296 |
+
public function part_input_after( $part, $form ) {
|
297 |
if ( $this->type !== $part['type'] ) {
|
298 |
return;
|
299 |
}
|
303 |
$character_limit = $limit_input ? $character_limit : 0;
|
304 |
|
305 |
if ( $character_limit || happyforms_is_preview() ) {
|
306 |
+
$label = $this->get_limit_label( $part, $form );
|
307 |
?>
|
308 |
+
<div class="happyforms-part__char-counter <?php echo $part['character_limit_mode']; ?>" <?php if ( happyforms_is_preview() && ! $character_limit ) : ?>style="display: none;"<?php endif; ?>>
|
309 |
<span class="counter">0</span>/<?php echo $character_limit; ?> <?php echo $label; ?>
|
310 |
</div>
|
311 |
<?php
|
core/classes/parts/class-part-number.php
CHANGED
@@ -8,12 +8,14 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
8 |
$this->label = __( 'Number', 'happyforms' );
|
9 |
$this->description = __( 'For numeric fields.', 'happyforms' );
|
10 |
|
|
|
11 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
12 |
add_filter( 'happyforms_part_data_attributes', array( $this, 'html_part_data_attributes' ), 10, 3 );
|
13 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
14 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
15 |
add_filter( 'happyforms_validate_part', array( $this, 'validate_part' ) );
|
16 |
add_filter( 'happyforms_email_part_visible', array( $this, 'email_part_visible' ), 10, 4 );
|
|
|
17 |
}
|
18 |
|
19 |
/**
|
@@ -30,7 +32,7 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
30 |
'sanitize' => 'sanitize_text_field',
|
31 |
),
|
32 |
'label' => array(
|
33 |
-
'default' => __( '
|
34 |
'sanitize' => 'sanitize_text_field',
|
35 |
),
|
36 |
'label_placement' => array(
|
@@ -85,22 +87,14 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
85 |
'default' => '',
|
86 |
'sanitize' => 'sanitize_text_field'
|
87 |
),
|
88 |
-
'confirmation_field' => array(
|
89 |
-
'default' => 0,
|
90 |
-
'sanitize' => 'intval'
|
91 |
-
),
|
92 |
-
'confirmation_field_label' => array(
|
93 |
-
'default' => __( 'Untitled', 'happyforms' ),
|
94 |
-
'sanitize' => 'sanitize_text_field'
|
95 |
-
),
|
96 |
-
'confirmation_field_placeholder' => array(
|
97 |
-
'default' => __( '', 'happyforms' ),
|
98 |
-
'sanitize' => 'sanitize_text_field'
|
99 |
-
),
|
100 |
'required' => array(
|
101 |
'default' => 1,
|
102 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
103 |
),
|
|
|
|
|
|
|
|
|
104 |
);
|
105 |
|
106 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
@@ -145,7 +139,7 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
145 |
|
146 |
$empty_value = $part['mask_numeric_prefix'] . $part['mask_numeric_suffix'];
|
147 |
$value = happyforms_get_email_part_value( $response, $part, $form );
|
148 |
-
|
149 |
if ( $empty_value === $value ) {
|
150 |
$visible = false;
|
151 |
}
|
@@ -154,6 +148,16 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
154 |
return $visible;
|
155 |
}
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
/**
|
158 |
* Get front end part template with parsed data.
|
159 |
*
|
@@ -171,10 +175,6 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
171 |
include( happyforms_get_core_folder() . '/templates/parts/frontend-number.php' );
|
172 |
}
|
173 |
|
174 |
-
public function get_default_value( $part_data = array() ) {
|
175 |
-
return array();
|
176 |
-
}
|
177 |
-
|
178 |
/**
|
179 |
* Sanitize submitted value before storing it.
|
180 |
*
|
@@ -189,15 +189,9 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
189 |
$part_name = happyforms_get_part_name( $part_data, $form_data );
|
190 |
|
191 |
if ( isset( $request[$part_name] ) ) {
|
192 |
-
$sanitized_value
|
193 |
}
|
194 |
|
195 |
-
if ( isset( $request[$part_name . '_confirmation'] ) ) {
|
196 |
-
$sanitized_value[1] = $request[$part_name . '_confirmation'];
|
197 |
-
}
|
198 |
-
|
199 |
-
$sanitized_value = array_map( 'sanitize_text_field' , $sanitized_value );
|
200 |
-
|
201 |
return $sanitized_value;
|
202 |
}
|
203 |
|
@@ -216,19 +210,13 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
216 |
$part_name = happyforms_get_part_name( $part, $form );
|
217 |
$validated_values = $value;
|
218 |
|
219 |
-
if ( $part['required'] && '' === $validated_values
|
220 |
$error = new WP_Error( 'error', happyforms_get_validation_message( 'field_empty' ) );
|
221 |
|
222 |
-
if ( empty( $validated_values[1] ) ) {
|
223 |
-
$error->add_data( array(
|
224 |
-
'components' => array( 0, 1 )
|
225 |
-
) );
|
226 |
-
}
|
227 |
-
|
228 |
return $error;
|
229 |
}
|
230 |
|
231 |
-
$validation_number = $validated_values
|
232 |
|
233 |
if ( $part['masked'] ) {
|
234 |
$validation_number = str_replace( $part['mask_numeric_prefix'], '', $validation_number );
|
@@ -242,28 +230,13 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
242 |
$min_value = intval( $part['min_value'] );
|
243 |
$max_value = intval( $part['max_value'] );
|
244 |
|
245 |
-
if ( $validation_number < $min_value
|
246 |
-
return new WP_Error( 'error', happyforms_get_validation_message( '
|
|
|
|
|
247 |
}
|
248 |
|
249 |
-
|
250 |
-
if ( isset( $validated_values[1] ) && ( $validated_values[0] !== $validated_values[1] ) ) {
|
251 |
-
$error = new WP_Error();
|
252 |
-
|
253 |
-
if ( ! empty( $validated_values[1] ) ) {
|
254 |
-
$error->add( 'error', happyforms_get_validation_message( 'values_mismatch' ), array(
|
255 |
-
'components' => array( 1 )
|
256 |
-
) );
|
257 |
-
} else {
|
258 |
-
$error->add( 'error', happyforms_get_validation_message( 'field_empty' ), array(
|
259 |
-
'components' => array( 1 )
|
260 |
-
) );
|
261 |
-
}
|
262 |
-
|
263 |
-
return $error;
|
264 |
-
}
|
265 |
-
|
266 |
-
return $validated_values[0];
|
267 |
}
|
268 |
|
269 |
public function stringify_value( $value, $part, $form ) {
|
@@ -312,15 +285,18 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
|
|
312 |
return $class;
|
313 |
}
|
314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
public function html_part_data_attributes( $attributes, $part, $form ) {
|
316 |
if ( $this->type !== $part['type'] ) {
|
317 |
return $attributes;
|
318 |
}
|
319 |
|
320 |
-
if ( $part['confirmation_field'] ) {
|
321 |
-
$attributes['happyforms-require-confirmation'] = '';
|
322 |
-
}
|
323 |
-
|
324 |
if ( $part['masked'] ) {
|
325 |
$attributes['mask'] = 'true';
|
326 |
$attributes['thousands-delimiter'] = $part['mask_numeric_thousands_delimiter'];
|
8 |
$this->label = __( 'Number', 'happyforms' );
|
9 |
$this->description = __( 'For numeric fields.', 'happyforms' );
|
10 |
|
11 |
+
add_filter( 'happyforms_part_value', array( $this, 'get_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
13 |
add_filter( 'happyforms_part_data_attributes', array( $this, 'html_part_data_attributes' ), 10, 3 );
|
14 |
add_filter( 'happyforms_frontend_dependencies', array( $this, 'script_dependencies' ), 10, 2 );
|
15 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
16 |
add_filter( 'happyforms_validate_part', array( $this, 'validate_part' ) );
|
17 |
add_filter( 'happyforms_email_part_visible', array( $this, 'email_part_visible' ), 10, 4 );
|
18 |
+
add_filter( 'happyforms_the_part_value', array( $this, 'handle_confirmation_value' ), 10, 4 );
|
19 |
}
|
20 |
|
21 |
/**
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label' => array(
|
35 |
+
'default' => __( '', 'happyforms' ),
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label_placement' => array(
|
87 |
'default' => '',
|
88 |
'sanitize' => 'sanitize_text_field'
|
89 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
'required' => array(
|
91 |
'default' => 1,
|
92 |
'sanitize' => 'happyforms_sanitize_checkbox',
|
93 |
),
|
94 |
+
'default_value' => array(
|
95 |
+
'default' => '',
|
96 |
+
'sanitize' => 'sanitize_text_field'
|
97 |
+
)
|
98 |
);
|
99 |
|
100 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
139 |
|
140 |
$empty_value = $part['mask_numeric_prefix'] . $part['mask_numeric_suffix'];
|
141 |
$value = happyforms_get_email_part_value( $response, $part, $form );
|
142 |
+
|
143 |
if ( $empty_value === $value ) {
|
144 |
$visible = false;
|
145 |
}
|
148 |
return $visible;
|
149 |
}
|
150 |
|
151 |
+
public function handle_confirmation_value( $value, $part, $form, $component ) {
|
152 |
+
if ( $this->type === $part['type'] ) {
|
153 |
+
if ( false === $component && is_array( $value ) ) {
|
154 |
+
$value = $value[0];
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
return $value;
|
159 |
+
}
|
160 |
+
|
161 |
/**
|
162 |
* Get front end part template with parsed data.
|
163 |
*
|
175 |
include( happyforms_get_core_folder() . '/templates/parts/frontend-number.php' );
|
176 |
}
|
177 |
|
|
|
|
|
|
|
|
|
178 |
/**
|
179 |
* Sanitize submitted value before storing it.
|
180 |
*
|
189 |
$part_name = happyforms_get_part_name( $part_data, $form_data );
|
190 |
|
191 |
if ( isset( $request[$part_name] ) ) {
|
192 |
+
$sanitized_value = sanitize_text_field( $request[$part_name] );
|
193 |
}
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
return $sanitized_value;
|
196 |
}
|
197 |
|
210 |
$part_name = happyforms_get_part_name( $part, $form );
|
211 |
$validated_values = $value;
|
212 |
|
213 |
+
if ( $part['required'] && '' === $validated_values ) {
|
214 |
$error = new WP_Error( 'error', happyforms_get_validation_message( 'field_empty' ) );
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
return $error;
|
217 |
}
|
218 |
|
219 |
+
$validation_number = $validated_values;
|
220 |
|
221 |
if ( $part['masked'] ) {
|
222 |
$validation_number = str_replace( $part['mask_numeric_prefix'], '', $validation_number );
|
230 |
$min_value = intval( $part['min_value'] );
|
231 |
$max_value = intval( $part['max_value'] );
|
232 |
|
233 |
+
if ( $validation_number < $min_value ) {
|
234 |
+
return new WP_Error( 'error', happyforms_get_validation_message( 'number_min_invalid' ) );
|
235 |
+
} else if ( $validation_number > $max_value ) {
|
236 |
+
return new WP_Error( 'error', happyforms_get_validation_message( 'number_max_invalid' ) );
|
237 |
}
|
238 |
|
239 |
+
return $validated_values;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
}
|
241 |
|
242 |
public function stringify_value( $value, $part, $form ) {
|
285 |
return $class;
|
286 |
}
|
287 |
|
288 |
+
public function get_part_value( $value, $part, $form ){
|
289 |
+
if ( $this->type === $part['type'] ) {
|
290 |
+
$value = $part['default_value'];
|
291 |
+
}
|
292 |
+
return $value;
|
293 |
+
}
|
294 |
+
|
295 |
public function html_part_data_attributes( $attributes, $part, $form ) {
|
296 |
if ( $this->type !== $part['type'] ) {
|
297 |
return $attributes;
|
298 |
}
|
299 |
|
|
|
|
|
|
|
|
|
300 |
if ( $part['masked'] ) {
|
301 |
$attributes['mask'] = 'true';
|
302 |
$attributes['thousands-delimiter'] = $part['mask_numeric_thousands_delimiter'];
|
core/classes/parts/class-part-radio.php
CHANGED
@@ -37,7 +37,7 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
37 |
'sanitize' => 'sanitize_text_field',
|
38 |
),
|
39 |
'label' => array(
|
40 |
-
'default' => __( '
|
41 |
'sanitize' => 'sanitize_text_field',
|
42 |
),
|
43 |
'label_placement' => array(
|
@@ -185,7 +185,7 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
|
|
185 |
$validated_value = $value;
|
186 |
|
187 |
if ( 1 === $part['required'] && '' === $validated_value ) {
|
188 |
-
return new WP_Error( 'error', happyforms_get_validation_message( '
|
189 |
}
|
190 |
|
191 |
if ( '' !== $validated_value ) {
|
37 |
'sanitize' => 'sanitize_text_field',
|
38 |
),
|
39 |
'label' => array(
|
40 |
+
'default' => __( '', 'happyforms' ),
|
41 |
'sanitize' => 'sanitize_text_field',
|
42 |
),
|
43 |
'label_placement' => array(
|
185 |
$validated_value = $value;
|
186 |
|
187 |
if ( 1 === $part['required'] && '' === $validated_value ) {
|
188 |
+
return new WP_Error( 'error', happyforms_get_validation_message( 'no_selection' ) );
|
189 |
}
|
190 |
|
191 |
if ( '' !== $validated_value ) {
|
core/classes/parts/class-part-select.php
CHANGED
@@ -32,7 +32,7 @@ class HappyForms_Part_Select extends HappyForms_Form_Part {
|
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label' => array(
|
35 |
-
'default' => __( '
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label_placement' => array(
|
@@ -71,10 +71,6 @@ class HappyForms_Part_Select extends HappyForms_Form_Part {
|
|
71 |
'default' => 0,
|
72 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
73 |
),
|
74 |
-
'no_results_label' => array(
|
75 |
-
'default' => __( 'No results', 'happyforms' ),
|
76 |
-
'sanitize' => 'sanitize_text_field',
|
77 |
-
),
|
78 |
);
|
79 |
|
80 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
@@ -180,7 +176,7 @@ class HappyForms_Part_Select extends HappyForms_Form_Part {
|
|
180 |
$validated_value = $value;
|
181 |
|
182 |
if ( 1 === $part['required'] && '' === $validated_value ) {
|
183 |
-
return new WP_Error( 'error', happyforms_get_validation_message( '
|
184 |
}
|
185 |
|
186 |
if ( '' !== $validated_value ) {
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label' => array(
|
35 |
+
'default' => __( '', 'happyforms' ),
|
36 |
'sanitize' => 'sanitize_text_field',
|
37 |
),
|
38 |
'label_placement' => array(
|
71 |
'default' => 0,
|
72 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
73 |
),
|
|
|
|
|
|
|
|
|
74 |
);
|
75 |
|
76 |
return happyforms_get_part_customize_fields( $fields, $this->type );
|
176 |
$validated_value = $value;
|
177 |
|
178 |
if ( 1 === $part['required'] && '' === $validated_value ) {
|
179 |
+
return new WP_Error( 'error', happyforms_get_validation_message( 'no_selection' ) );
|
180 |
}
|
181 |
|
182 |
if ( '' !== $validated_value ) {
|
core/classes/parts/class-part-single-line-text.php
CHANGED
@@ -8,6 +8,7 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
8 |
$this->label = __( 'Short Answer', 'happyforms' );
|
9 |
$this->description = __( 'For single line text fields.', 'happyforms' );
|
10 |
|
|
|
11 |
add_filter( 'happyforms_the_part_value', array( $this, 'output_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
13 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
@@ -28,7 +29,7 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
28 |
'sanitize' => 'sanitize_text_field',
|
29 |
),
|
30 |
'label' => array(
|
31 |
-
'default' => __( '
|
32 |
'sanitize' => 'sanitize_text_field',
|
33 |
),
|
34 |
'label_placement' => array(
|
@@ -70,6 +71,10 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
70 |
'use_as_subject' => array(
|
71 |
'default' => 0,
|
72 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
|
|
|
|
|
|
|
|
73 |
)
|
74 |
);
|
75 |
|
@@ -153,6 +158,14 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
153 |
return $value;
|
154 |
}
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
public function output_part_value( $value, $part, $form ) {
|
157 |
if ( $this->type === $part['type'] ) {
|
158 |
$value = stripslashes( $value );
|
@@ -179,7 +192,7 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
|
|
179 |
if ( $this->type === $part['type'] ) {
|
180 |
$empty_value = $part['prefix'] . $part['suffix'];
|
181 |
$value = happyforms_get_email_part_value( $response, $part, $form );
|
182 |
-
|
183 |
if ( $empty_value === $value ) {
|
184 |
$visible = false;
|
185 |
}
|
8 |
$this->label = __( 'Short Answer', 'happyforms' );
|
9 |
$this->description = __( 'For single line text fields.', 'happyforms' );
|
10 |
|
11 |
+
add_filter( 'happyforms_part_value', array( $this, 'get_part_value' ), 10, 3 );
|
12 |
add_filter( 'happyforms_the_part_value', array( $this, 'output_part_value' ), 10, 3 );
|
13 |
add_filter( 'happyforms_stringify_part_value', array( $this, 'stringify_value' ), 10, 3 );
|
14 |
add_filter( 'happyforms_part_class', array( $this, 'html_part_class' ), 10, 3 );
|
29 |
'sanitize' => 'sanitize_text_field',
|
30 |
),
|
31 |
'label' => array(
|
32 |
+
'default' => __( '', 'happyforms' ),
|
33 |
'sanitize' => 'sanitize_text_field',
|
34 |
),
|
35 |
'label_placement' => array(
|
71 |
'use_as_subject' => array(
|
72 |
'default' => 0,
|
73 |
'sanitize' => 'happyforms_sanitize_checkbox'
|
74 |
+
),
|
75 |
+
'default_value' => array(
|
76 |
+
'default' => '',
|
77 |
+
'sanitize' => 'sanitize_text_field'
|
78 |
)
|
79 |
);
|
80 |
|
158 |
return $value;
|
159 |
}
|
160 |
|
161 |
+
public function get_part_value( $value, $part, $form ) {
|
162 |
+
if ( $this->type === $part['type'] ) {
|
163 |
+
$value = $part['default_value'];
|
164 |
+
}
|
165 |
+
|
166 |
+
return $value;
|
167 |
+
}
|
168 |
+
|
169 |
public function output_part_value( $value, $part, $form ) {
|
170 |
if ( $this->type === $part['type'] ) {
|
171 |
$value = stripslashes( $value );
|
192 |
if ( $this->type === $part['type'] ) {
|
193 |
$empty_value = $part['prefix'] . $part['suffix'];
|
194 |
$value = happyforms_get_email_part_value( $response, $part, $form );
|
195 |
+
|
196 |
if ( $empty_value === $value ) {
|
197 |
$visible = false;
|
198 |
}
|
core/helpers/helper-form-templates.php
CHANGED
@@ -368,7 +368,7 @@ if ( ! function_exists( 'happyforms_the_part_value' ) ):
|
|
368 |
*/
|
369 |
function happyforms_the_part_value( $part, $form, $component = false ) {
|
370 |
$value = happyforms_get_part_value( $part, $form, $component );
|
371 |
-
$value = apply_filters( 'happyforms_the_part_value', $value, $part, $form );
|
372 |
|
373 |
echo esc_attr( $value );
|
374 |
}
|
@@ -989,31 +989,6 @@ function happyforms_the_part_label( $part, $form ) {
|
|
989 |
|
990 |
endif;
|
991 |
|
992 |
-
if ( ! function_exists( 'happyforms_the_part_confirmation_label' ) ) :
|
993 |
-
/**
|
994 |
-
* Output a part confirmation label
|
995 |
-
*
|
996 |
-
* @since 1.3
|
997 |
-
*
|
998 |
-
* @param string $id Current part id.
|
999 |
-
* @param array $part Current part data.
|
1000 |
-
* @param array $form Current form data.
|
1001 |
-
*
|
1002 |
-
* @return void
|
1003 |
-
*/
|
1004 |
-
function happyforms_the_part_confirmation_label( $part, $form ) {
|
1005 |
-
?>
|
1006 |
-
<label for="<?php happyforms_the_part_id( $part, $form ); ?>_confirmation" class="happyforms-part__label happyforms-part__label--confirmation">
|
1007 |
-
<span class="label"><?php echo esc_html( $part['confirmation_field_label'] ); ?></span>
|
1008 |
-
<?php if ( 1 === intval( $part['required'] ) ) : ?>
|
1009 |
-
<span class="happyforms-required"><?php echo happyforms_get_form_property( $form, 'hf_style_required_text' ); ?></span>
|
1010 |
-
<?php endif; ?>
|
1011 |
-
</label>
|
1012 |
-
<?php
|
1013 |
-
}
|
1014 |
-
|
1015 |
-
endif;
|
1016 |
-
|
1017 |
if ( ! function_exists( 'happyforms_get_part_options' ) ) :
|
1018 |
|
1019 |
function happyforms_get_part_options( $options, $part, $form ) {
|
@@ -1534,7 +1509,7 @@ endif;
|
|
1534 |
if ( ! function_exists( 'happyforms_get_shortcode' ) ):
|
1535 |
|
1536 |
function happyforms_get_shortcode( $form_id = 'ID' ) {
|
1537 |
-
$shortcode = "[
|
1538 |
$shortcode = apply_filters( 'happyforms_get_shortcode', $shortcode, $form_id );
|
1539 |
|
1540 |
return $shortcode;
|
368 |
*/
|
369 |
function happyforms_the_part_value( $part, $form, $component = false ) {
|
370 |
$value = happyforms_get_part_value( $part, $form, $component );
|
371 |
+
$value = apply_filters( 'happyforms_the_part_value', $value, $part, $form, $component );
|
372 |
|
373 |
echo esc_attr( $value );
|
374 |
}
|
989 |
|
990 |
endif;
|
991 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
992 |
if ( ! function_exists( 'happyforms_get_part_options' ) ) :
|
993 |
|
994 |
function happyforms_get_part_options( $options, $part, $form ) {
|
1509 |
if ( ! function_exists( 'happyforms_get_shortcode' ) ):
|
1510 |
|
1511 |
function happyforms_get_shortcode( $form_id = 'ID' ) {
|
1512 |
+
$shortcode = "[form id=\"{$form_id}\" /]";
|
1513 |
$shortcode = apply_filters( 'happyforms_get_shortcode', $shortcode, $form_id );
|
1514 |
|
1515 |
return $shortcode;
|
core/helpers/helper-misc.php
CHANGED
@@ -204,7 +204,7 @@ if ( ! function_exists( 'happyforms_admin_footer' ) ):
|
|
204 |
function happyforms_admin_footer() {
|
205 |
?>
|
206 |
<span id="footer-thankyou">
|
207 |
-
<?php _e( 'Thank you for creating with', 'happyforms' ); ?> <a href="https://
|
208 |
</span>
|
209 |
<?php
|
210 |
}
|
204 |
function happyforms_admin_footer() {
|
205 |
?>
|
206 |
<span id="footer-thankyou">
|
207 |
+
<?php _e( 'Thank you for creating with', 'happyforms' ); ?> <a href="https://wordpress.org/" target="_blank">WordPress</a>.
|
208 |
</span>
|
209 |
<?php
|
210 |
}
|
core/templates/customize-controls/setup/group_start.php
CHANGED
@@ -1 +1,28 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$trigger = '';
|
3 |
+
$group_id = '';
|
4 |
+
$group_class = 'happyforms-nested-settings';
|
5 |
+
$group_title = isset( $control['group_title'] ) ? $control['group_title'] : '';
|
6 |
+
$group_description = isset( $control['group_description'] ) ? $control['group_description'] : '';
|
7 |
+
$group_type = isset( $control['group_type'] ) ? $control['group_type'] : '';
|
8 |
+
|
9 |
+
if ( $group_type == 'group') {
|
10 |
+
$group_class = 'happyforms-group-settings';
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
if ( isset( $control['group_id'] ) && ! empty( $control['group_id'] ) ) {
|
15 |
+
$trigger = 'id="' . $control['group_id'] . '"';
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( isset( $control['trigger'] ) && ! empty( $control['trigger'] ) ) {
|
19 |
+
$trigger = 'data-trigger="' . $control['trigger'] . '"';
|
20 |
+
}
|
21 |
+
?>
|
22 |
+
<section class="customize-control-group <?php echo $group_class; ?>" <?php echo $group_id . ' ' . $trigger; ?>>
|
23 |
+
<?php if ( ! empty( $group_title ) ) : ?>
|
24 |
+
<span class="customize-control-title"><?php echo $group_title; ?></span>
|
25 |
+
<?php endif; ?>
|
26 |
+
<?php if ( ! empty( $group_description ) ) : ?>
|
27 |
+
<p class="happyforms-group-settings-description"><?php echo $group_description; ?></span>
|
28 |
+
<?php endif; ?>
|
core/templates/customize-form-build.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<script type="text/template" id="happyforms-form-build-template">
|
2 |
<div class="happyforms-stack-view">
|
3 |
<div class="customize-control">
|
4 |
-
<label for="" class="customize-control-title"><?php _e( 'Title', 'happyforms' ); ?></label>
|
5 |
<input type="text" name="post_title" value="<%= post_title %>" id="happyforms-form-name" placeholder="<?php _e( 'Add title', 'happyforms' ); ?>">
|
6 |
</div>
|
7 |
|
1 |
<script type="text/template" id="happyforms-form-build-template">
|
2 |
<div class="happyforms-stack-view">
|
3 |
<div class="customize-control">
|
|
|
4 |
<input type="text" name="post_title" value="<%= post_title %>" id="happyforms-form-name" placeholder="<?php _e( 'Add title', 'happyforms' ); ?>">
|
5 |
</div>
|
6 |
|
core/templates/customize-form-messages.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$controller = happyforms_get_form_controller();
|
3 |
+
$controls = happyforms_get_messages()->get_controls();
|
4 |
+
?>
|
5 |
+
|
6 |
+
<script type="text/template" id="happyforms-form-messages-template">
|
7 |
+
<div class="happyforms-stack-view happyforms-messages-view">
|
8 |
+
<?php
|
9 |
+
$c = 0;
|
10 |
+
foreach( $controls as $control ) {
|
11 |
+
$field = false;
|
12 |
+
|
13 |
+
if ( isset( $control['field'] ) ) {
|
14 |
+
$field = $controller->get_field( $control['field'] );
|
15 |
+
}
|
16 |
+
|
17 |
+
do_action( 'happyforms_do_messages_control', $control, $field, $c );
|
18 |
+
$c ++;
|
19 |
+
}
|
20 |
+
?>
|
21 |
+
</div>
|
22 |
+
</script>
|
core/templates/customize-form-part-footer.php
CHANGED
@@ -2,7 +2,6 @@
|
|
2 |
<div class="happyforms-widget-actions">
|
3 |
<a href="#" class="happyforms-form-part-remove"><?php _e( 'Delete', 'happyforms' ); ?></a> |
|
4 |
<a href="#" class="happyforms-form-part-duplicate"><?php _e( 'Duplicate', 'happyforms' ); ?></a>
|
5 |
-
<a href="#" class="happyforms-form-part-advanced-settings"><?php _e( 'More', 'happyforms' ); ?></a>
|
6 |
<a href="#" class="happyforms-form-part-logic"><?php _e( 'Logic', 'happyforms' ); ?></a>
|
7 |
</div>
|
8 |
</div>
|
2 |
<div class="happyforms-widget-actions">
|
3 |
<a href="#" class="happyforms-form-part-remove"><?php _e( 'Delete', 'happyforms' ); ?></a> |
|
4 |
<a href="#" class="happyforms-form-part-duplicate"><?php _e( 'Duplicate', 'happyforms' ); ?></a>
|
|
|
5 |
<a href="#" class="happyforms-form-part-logic"><?php _e( 'Logic', 'happyforms' ); ?></a>
|
6 |
</div>
|
7 |
</div>
|
core/templates/customize-form-steps.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
<a href="#" class="nav-tab<%= ( 'build' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="build"><?php _e( 'Build', 'happyforms' ); ?></a>
|
4 |
<a href="#" class="nav-tab<%= ( 'setup' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="setup"><?php _e( 'Setup', 'happyforms' ); ?></a>
|
5 |
<a href="#" class="nav-tab<%= ( 'email' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="email"><?php _e( 'Email', 'happyforms' ); ?></a>
|
|
|
6 |
<a href="#" class="nav-tab<%= ( 'style' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="style"><?php _e( 'Style', 'happyforms' ); ?></a>
|
7 |
</nav>
|
8 |
</script>
|
3 |
<a href="#" class="nav-tab<%= ( 'build' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="build"><?php _e( 'Build', 'happyforms' ); ?></a>
|
4 |
<a href="#" class="nav-tab<%= ( 'setup' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="setup"><?php _e( 'Setup', 'happyforms' ); ?></a>
|
5 |
<a href="#" class="nav-tab<%= ( 'email' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="email"><?php _e( 'Email', 'happyforms' ); ?></a>
|
6 |
+
<a href="#" class="nav-tab<%= ( 'messages' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="messages"><?php _e( 'Messages', 'happyforms' ); ?></a>
|
7 |
<a href="#" class="nav-tab<%= ( 'style' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="style"><?php _e( 'Style', 'happyforms' ); ?></a>
|
8 |
</nav>
|
9 |
</script>
|
core/templates/partials/form-submit.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
-
<?php
|
|
|
|
|
|
|
|
|
2 |
<div class="happyforms-form__part happyforms-part happyforms-part--submit">
|
3 |
<?php do_action( 'happyforms_form_submit_before', $form ); ?>
|
4 |
<input type="submit" class="happyforms-submit happyforms-button--submit <?php echo $submit_button_extra_class; ?>" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'submit_button_label' ) ); ?>">
|
1 |
+
<?php
|
2 |
+
$submit_button_extra_class = '';
|
3 |
+
if( happyforms_get_form_property( $form, 'add_submit_button_class' ) == 1 ) {
|
4 |
+
$submit_button_extra_class = happyforms_get_form_property( $form, 'submit_button_html_class' );
|
5 |
+
} ?>
|
6 |
<div class="happyforms-form__part happyforms-part happyforms-part--submit">
|
7 |
<?php do_action( 'happyforms_form_submit_before', $form ); ?>
|
8 |
<input type="submit" class="happyforms-submit happyforms-button--submit <?php echo $submit_button_extra_class; ?>" value="<?php echo esc_attr( happyforms_get_form_property( $form, 'submit_button_label' ) ); ?>">
|
core/templates/partials/happyforms-select.php
CHANGED
@@ -4,6 +4,6 @@
|
|
4 |
<li <?php echo ( isset( $option['id'] ) ) ? 'data-option-id="'. esc_attr( $option['id'] ) .'" ' : ''; ?>data-value="<?php echo ( isset( $option['value'] ) ) ? $option['value'] : $index; ?>" data-label="<?php echo esc_attr( $option['label'] ); ?>" class="happyforms-dropdown-item happyforms-custom-select-dropdown__item"><?php echo esc_attr( $option['label'] ); ?></li>
|
5 |
<?php endforeach; ?>
|
6 |
<?php if ( isset( $part['allow_search'] ) && 1 == $part['allow_search'] ) : ?>
|
7 |
-
<li class="happyforms-custom-select-dropdown__not-found"><?php echo esc_attr( $
|
8 |
<?php endif; ?>
|
9 |
</ul>
|
4 |
<li <?php echo ( isset( $option['id'] ) ) ? 'data-option-id="'. esc_attr( $option['id'] ) .'" ' : ''; ?>data-value="<?php echo ( isset( $option['value'] ) ) ? $option['value'] : $index; ?>" data-label="<?php echo esc_attr( $option['label'] ); ?>" class="happyforms-dropdown-item happyforms-custom-select-dropdown__item"><?php echo esc_attr( $option['label'] ); ?></li>
|
5 |
<?php endforeach; ?>
|
6 |
<?php if ( isset( $part['allow_search'] ) && 1 == $part['allow_search'] ) : ?>
|
7 |
+
<li class="happyforms-custom-select-dropdown__not-found"><?php echo esc_attr( $form['no_results_label'] ); ?></li>
|
8 |
<?php endif; ?>
|
9 |
</ul>
|
core/templates/parts/customize-checkbox.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
<input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
|
6 |
</p>
|
7 |
<p>
|
8 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
9 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
10 |
</p>
|
11 |
|
@@ -14,7 +14,7 @@
|
|
14 |
<div class="options">
|
15 |
<ul class="option-list"></ul>
|
16 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
17 |
-
<p class="no-options description"><?php _e( 'No choices added yet.
|
18 |
</div>
|
19 |
<div class="options-import">
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
@@ -34,59 +34,57 @@
|
|
34 |
</p>
|
35 |
<p>
|
36 |
<label>
|
37 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
38 |
</label>
|
39 |
</p>
|
40 |
|
41 |
<?php do_action( 'happyforms_part_customize_checkbox_after_options' ); ?>
|
42 |
|
43 |
-
|
44 |
-
<?php do_action( 'happyforms_part_customize_checkbox_before_advanced_options' ); ?>
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
</div>
|
90 |
|
91 |
<div class="happyforms-part-logic-wrap">
|
92 |
<div class="happyforms-logic-view">
|
5 |
<input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
|
6 |
</p>
|
7 |
<p>
|
8 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
9 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
10 |
</p>
|
11 |
|
14 |
<div class="options">
|
15 |
<ul class="option-list"></ul>
|
16 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
17 |
+
<p class="no-options description"><?php _e( 'No choices added yet.', 'happyforms' ); ?></p>
|
18 |
</div>
|
19 |
<div class="options-import">
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
34 |
</p>
|
35 |
<p>
|
36 |
<label>
|
37 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
38 |
</label>
|
39 |
</p>
|
40 |
|
41 |
<?php do_action( 'happyforms_part_customize_checkbox_after_options' ); ?>
|
42 |
|
43 |
+
<?php do_action( 'happyforms_part_customize_checkbox_before_advanced_options' ); ?>
|
|
|
44 |
|
45 |
+
<p>
|
46 |
+
<label>
|
47 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.show_select_all ) { %>checked="checked"<% } %> data-bind="show_select_all" /> <?php _e( 'Add \'select all\' choice', 'happyforms' ); ?>
|
48 |
+
</label>
|
49 |
+
</p>
|
50 |
+
<p>
|
51 |
+
<label for="<%= instance.id %>_display_type"><?php _e( 'Choices display', 'happyforms' ); ?></label>
|
52 |
+
<select id="<%= instance.id %>_display_type" name="display_type" data-bind="display_type" class="widefat">
|
53 |
+
<option value="inline"<%= (instance.display_type == 'inline') ? ' selected' : '' %>><?php _e( 'Horizontal', 'happyforms' ); ?></option>
|
54 |
+
<option value="block"<%= (instance.display_type == 'block') ? ' selected' : '' %>><?php _e( 'Vertical', 'happyforms' ); ?></option>
|
55 |
+
</select>
|
56 |
+
</p>
|
57 |
+
<p class="part-options-width-setting">
|
58 |
+
<label for="<%= instance.id %>_options_width"><?php _e( 'Choices width', 'happyforms' ); ?></label>
|
59 |
+
<select id="<%= instance.id %>_options_width" name="options_width" data-bind="options_width" class="widefat">
|
60 |
+
<option class="display-type--inline display-type--block" value="full"<%= (instance.options_width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
|
61 |
+
<option class="display-type--inline" value="half" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
|
62 |
+
<option class="display-type--inline" value="third" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
|
63 |
+
<option class="display-type--inline" value="quarter" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'quarter') ? ' selected' : '' %>><?php _e( 'Quarter', 'happyforms' ); ?></option>
|
64 |
+
<option class="display-type--inline display-type--block" value="auto"<%= (instance.options_width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
|
65 |
+
</select>
|
66 |
+
</p>
|
67 |
+
<p>
|
68 |
+
<label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
|
69 |
+
<select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
|
70 |
+
<option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
|
71 |
+
<option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
|
72 |
+
<option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
|
73 |
+
<option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
|
74 |
+
</select>
|
75 |
+
</p>
|
76 |
+
<p class="width-options" style="display: none">
|
77 |
+
<label>
|
78 |
+
<input type="checkbox" class="checkbox apply-all-check" value="" /> <?php _e( 'Apply to all fields', 'happyforms' ); ?>
|
79 |
+
</label>
|
80 |
+
</p>
|
81 |
|
82 |
+
<?php do_action( 'happyforms_part_customize_checkbox_after_advanced_options' ); ?>
|
83 |
|
84 |
+
<p>
|
85 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
86 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
87 |
+
</p>
|
|
|
88 |
|
89 |
<div class="happyforms-part-logic-wrap">
|
90 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-email.php
CHANGED
@@ -8,8 +8,12 @@
|
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
|
|
|
|
|
|
|
|
11 |
<p>
|
12 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
@@ -17,54 +21,31 @@
|
|
17 |
|
18 |
<p>
|
19 |
<label>
|
20 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
21 |
</label>
|
22 |
</p>
|
23 |
|
24 |
<?php do_action( 'happyforms_part_customize_email_after_options' ); ?>
|
25 |
|
26 |
-
|
27 |
-
<?php do_action( 'happyforms_part_customize_email_before_advanced_options' ); ?>
|
28 |
-
|
29 |
-
<p style="display: <%= ( instance.suffix.length || instance.prefix.length ) ? 'none' : 'block' %>">
|
30 |
-
<label>
|
31 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.autocomplete_domains ) { %>checked="checked"<% } %> data-bind="autocomplete_domains" /> <?php _e( 'Suggest common email domains', 'happyforms' ); ?>
|
32 |
-
</label>
|
33 |
-
</p>
|
34 |
-
<p>
|
35 |
-
<label>
|
36 |
-
<input type="checkbox" class="checkbox confirmation-checkbox" value="1" <% if ( instance.confirmation_field ) { %>checked="checked"<% } %> data-bind="confirmation_field" /> <?php _e( 'Require confirmation', 'happyforms' ); ?>
|
37 |
-
</label>
|
38 |
-
</p>
|
39 |
-
<div class="happyforms-nested-settings" data-trigger="confirmation_field" style="display: <%= (instance.confirmation_field == 1) ? 'block' : 'none' %>">
|
40 |
-
<p>
|
41 |
-
<label for="<%= instance.id %>_confirmation_field_label"><?php _e( '\'Confirmation\' label', 'happyforms' ); ?></label>
|
42 |
-
<input type="text" id="<%= instance.id %>_confirmation_field_label" class="widefat title" value="<%= instance.confirmation_field_label %>" data-bind="confirmation_field_label" />
|
43 |
-
</p>
|
44 |
-
<p>
|
45 |
-
<label for="<%= instance.id %>_confirmation_field_placeholder"><?php _e( '\'Confirmation\' placeholder', 'happyforms' ); ?></label>
|
46 |
-
<input type="text" id="<%= instance.id %>_confirmation_field_placeholder" class="widefat title" value="<%= instance.confirmation_field_placeholder %>" data-bind="confirmation_field_placeholder" />
|
47 |
-
</p>
|
48 |
-
</div>
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
-
|
60 |
|
61 |
-
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
</div>
|
68 |
|
69 |
<div class="happyforms-part-logic-wrap">
|
70 |
<div class="happyforms-logic-view">
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
+
<p class="happyforms-default-value-option">
|
12 |
+
<label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
|
13 |
+
<input type="email" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
|
14 |
+
</p>
|
15 |
<p>
|
16 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
17 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
18 |
</p>
|
19 |
|
21 |
|
22 |
<p>
|
23 |
<label>
|
24 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
25 |
</label>
|
26 |
</p>
|
27 |
|
28 |
<?php do_action( 'happyforms_part_customize_email_after_options' ); ?>
|
29 |
|
30 |
+
<?php do_action( 'happyforms_part_customize_email_before_advanced_options' ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
<p>
|
33 |
+
<label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
|
34 |
+
<input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%= instance.prefix %>" data-bind="prefix" maxlength="50" />
|
35 |
+
</p>
|
36 |
+
<p>
|
37 |
+
<label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
|
38 |
+
<input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%= instance.suffix %>" data-bind="suffix" maxlength="50" />
|
39 |
+
</p>
|
40 |
|
41 |
+
<?php happyforms_customize_part_width_control(); ?>
|
42 |
|
43 |
+
<?php do_action( 'happyforms_part_customize_email_after_advanced_options' ); ?>
|
44 |
|
45 |
+
<p>
|
46 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
47 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
48 |
+
</p>
|
|
|
49 |
|
50 |
<div class="happyforms-part-logic-wrap">
|
51 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-multi-line-text.php
CHANGED
@@ -8,8 +8,12 @@
|
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
|
|
|
|
|
|
|
|
11 |
<p>
|
12 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
@@ -17,59 +21,49 @@
|
|
17 |
|
18 |
<p>
|
19 |
<label>
|
20 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
21 |
</label>
|
22 |
</p>
|
23 |
|
24 |
<?php do_action( 'happyforms_part_customize_multi_line_text_after_options' ); ?>
|
25 |
|
26 |
-
|
27 |
-
<?php do_action( 'happyforms_part_customize_multi_line_text_before_advanced_options' ); ?>
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
<p>
|
30 |
-
<label>
|
31 |
-
|
32 |
-
</label>
|
33 |
</p>
|
34 |
-
|
35 |
-
<div class="happyforms-nested-settings character-limit-settings" <% if ( ! instance.limit_input ) { %>style="display: none;"<% } %>>
|
36 |
-
<p>
|
37 |
-
<label for="<%= instance.id %>_character_limit"><?php _e( 'Limit', 'happyforms' ); ?></label>
|
38 |
-
<input type="number" id="<%= instance.id %>_character_limit" class="widefat title" step="1" min="1" value="<%= instance.character_limit %>" data-bind="character_limit" />
|
39 |
-
</p>
|
40 |
-
<p>
|
41 |
-
<label for="<%= instance.id %>_character_limit_mode"><?php _e( 'Count', 'happyforms' ); ?></label>
|
42 |
-
<select id="<%= instance.id %>_character_limit_mode" data-bind="character_limit_mode">
|
43 |
-
<option value="word_max"<%= (instance.character_limit_mode == 'word_max') ? ' selected' : '' %>><?php _e( 'Max words', 'happyforms' ); ?></option>
|
44 |
-
<option value="word_min"<%= (instance.character_limit_mode == 'word_min') ? ' selected' : '' %>><?php _e( 'Min words', 'happyforms' ); ?></option>
|
45 |
-
<option value="character_max"<%= (instance.character_limit_mode == 'character_max') ? ' selected' : '' %>><?php _e( 'Max characters', 'happyforms' ); ?></option>
|
46 |
-
<option value="character_min"<%= (instance.character_limit_mode == 'character_min') ? ' selected' : '' %>><?php _e( 'Min characters', 'happyforms' ); ?></option>
|
47 |
-
</select>
|
48 |
-
</p>
|
49 |
-
<p class="character-limit__characters-label" style="display: <%= ( 'character_min' === instance.character_limit_mode || 'character_max' === instance.character_limit_mode ) ? 'block' : 'none' %>">
|
50 |
-
<label for="<%= instance.id %>_characters_label"><?php _e( '\'Characters\' label', 'happyforms' ); ?></label>
|
51 |
-
<input type="text" id="<%= instance.id %>_characters_label" class="widefat title" value="<%= instance.characters_label %>" data-bind="characters_label" />
|
52 |
-
</p>
|
53 |
-
<p class="character-limit__words-label" style="display: <%= ( 'word_max' === instance.character_limit_mode || 'word_min' === instance.character_limit_mode ) ? 'block' : 'none' %>">
|
54 |
-
<label for="<%= instance.id %>_words_label"><?php _e( '\'Words\' label', 'happyforms' ); ?></label>
|
55 |
-
<input type="text" id="<%= instance.id %>_words_label" class="widefat title" value="<%= instance.words_label %>" data-bind="words_label" />
|
56 |
-
</p>
|
57 |
-
</div>
|
58 |
-
|
59 |
<p>
|
60 |
-
<label for="<%= instance.id %>
|
61 |
-
<
|
|
|
|
|
|
|
|
|
|
|
62 |
</p>
|
|
|
63 |
|
64 |
-
|
|
|
|
|
|
|
65 |
|
66 |
-
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
73 |
|
74 |
<div class="happyforms-part-logic-wrap">
|
75 |
<div class="happyforms-logic-view">
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
+
<p class="happyforms-default-value-option">
|
12 |
+
<label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
|
13 |
+
<input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
|
14 |
+
</p>
|
15 |
<p>
|
16 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
17 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
18 |
</p>
|
19 |
|
21 |
|
22 |
<p>
|
23 |
<label>
|
24 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
25 |
</label>
|
26 |
</p>
|
27 |
|
28 |
<?php do_action( 'happyforms_part_customize_multi_line_text_after_options' ); ?>
|
29 |
|
30 |
+
<?php do_action( 'happyforms_part_customize_multi_line_text_before_advanced_options' ); ?>
|
|
|
31 |
|
32 |
+
<p>
|
33 |
+
<label>
|
34 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.limit_input ) { %>checked="checked"<% } %> data-bind="limit_input" /> <?php _e( 'Limit words/characters', 'happyforms' ); ?>
|
35 |
+
</label>
|
36 |
+
</p>
|
37 |
+
|
38 |
+
<div class="happyforms-nested-settings character-limit-settings" <% if ( ! instance.limit_input ) { %>style="display: none;"<% } %>>
|
39 |
<p>
|
40 |
+
<label for="<%= instance.id %>_character_limit"><?php _e( 'Limit', 'happyforms' ); ?></label>
|
41 |
+
<input type="number" id="<%= instance.id %>_character_limit" class="widefat title" step="1" min="1" value="<%= instance.character_limit %>" data-bind="character_limit" />
|
|
|
42 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
<p>
|
44 |
+
<label for="<%= instance.id %>_character_limit_mode"><?php _e( 'Count', 'happyforms' ); ?></label>
|
45 |
+
<select id="<%= instance.id %>_character_limit_mode" data-bind="character_limit_mode">
|
46 |
+
<option value="word_max"<%= (instance.character_limit_mode == 'word_max') ? ' selected' : '' %>><?php _e( 'Max words', 'happyforms' ); ?></option>
|
47 |
+
<option value="word_min"<%= (instance.character_limit_mode == 'word_min') ? ' selected' : '' %>><?php _e( 'Min words', 'happyforms' ); ?></option>
|
48 |
+
<option value="character_max"<%= (instance.character_limit_mode == 'character_max') ? ' selected' : '' %>><?php _e( 'Max characters', 'happyforms' ); ?></option>
|
49 |
+
<option value="character_min"<%= (instance.character_limit_mode == 'character_min') ? ' selected' : '' %>><?php _e( 'Min characters', 'happyforms' ); ?></option>
|
50 |
+
</select>
|
51 |
</p>
|
52 |
+
</div>
|
53 |
|
54 |
+
<p>
|
55 |
+
<label for="<%= instance.id %>_rows"><?php _e( 'Rows', 'happyforms' ); ?></label>
|
56 |
+
<input type="number" id="<%= instance.id %>_rows" min="5" max="20" class="widefat title" value="<%= instance.rows %>" data-bind="rows" />
|
57 |
+
</p>
|
58 |
|
59 |
+
<?php happyforms_customize_part_width_control(); ?>
|
60 |
|
61 |
+
<?php do_action( 'happyforms_part_customize_multi_line_text_after_advanced_options' ); ?>
|
62 |
+
|
63 |
+
<p>
|
64 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
65 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
66 |
+
</p>
|
67 |
|
68 |
<div class="happyforms-part-logic-wrap">
|
69 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-number.php
CHANGED
@@ -8,8 +8,12 @@
|
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
|
|
|
|
|
|
|
|
11 |
<p>
|
12 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
@@ -27,63 +31,46 @@
|
|
27 |
</div>
|
28 |
<p>
|
29 |
<label>
|
30 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
31 |
</label>
|
32 |
</p>
|
33 |
|
34 |
<?php do_action( 'happyforms_part_customize_number_after_options' ); ?>
|
35 |
|
36 |
-
|
37 |
-
<?php do_action( 'happyforms_part_customize_number_before_advanced_options' ); ?>
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
<p>
|
40 |
-
<label>
|
41 |
-
|
42 |
-
</label>
|
43 |
-
</p>
|
44 |
-
<div class="happyforms-nested-settings mask-wrapper number-options number-options--numeric" data-trigger="masked" style="display: <%= (instance.masked == 1) ? 'flex' : 'none' %>">
|
45 |
-
<p>
|
46 |
-
<label for="<%= instance.id %>_mask_numeric_thousands_delimiter"><?php _e( 'Grouping', 'happyforms' ); ?></label>
|
47 |
-
<input type="text" id="<%= instance.id %>_mask_numeric_thousands_delimiter" class="widefat title" value="<%= instance.mask_numeric_thousands_delimiter %>" data-bind="mask_numeric_thousands_delimiter" />
|
48 |
-
</p>
|
49 |
-
<p>
|
50 |
-
<label for="<%= instance.id %>_mask_numeric_decimal_mark"><?php _e( 'Decimal', 'happyforms' ); ?></label>
|
51 |
-
<input type="text" id="<%= instance.id %>_mask_numeric_decimal_mark" class="widefat title" value="<%= instance.mask_numeric_decimal_mark %>" data-bind="mask_numeric_decimal_mark" />
|
52 |
-
</p>
|
53 |
-
</div>
|
54 |
-
<p>
|
55 |
-
<label>
|
56 |
-
<input type="checkbox" class="checkbox confirmation-checkbox" value="1" <% if ( instance.confirmation_field ) { %>checked="checked"<% } %> data-bind="confirmation_field" /> <?php _e( 'Require confirmation', 'happyforms' ); ?>
|
57 |
-
</label>
|
58 |
</p>
|
59 |
-
<div class="happyforms-nested-settings" data-trigger="confirmation_field" style="display: <%= (instance.confirmation_field == 1) ? 'block' : 'none' %>">
|
60 |
-
<p>
|
61 |
-
<label for="<%= instance.id %>_confirmation_field_label"><?php _e( '\'Confirmation\' label', 'happyforms' ); ?></label>
|
62 |
-
<input type="text" id="<%= instance.id %>_confirmation_field_label" class="widefat title" value="<%= instance.confirmation_field_label %>" data-bind="confirmation_field_label" />
|
63 |
-
</p>
|
64 |
-
<p>
|
65 |
-
<label for="<%= instance.id %>_confirmation_field_placeholder"><?php _e( '\'Confirmation\' placeholder', 'happyforms' ); ?></label>
|
66 |
-
<input type="text" id="<%= instance.id %>_confirmation_field_placeholder" class="widefat title" value="<%= instance.confirmation_field_placeholder %>" data-bind="confirmation_field_placeholder" />
|
67 |
-
</p>
|
68 |
-
</div>
|
69 |
<p>
|
70 |
-
<label for="<%= instance.id %>
|
71 |
-
<input type="text" id="<%= instance.id %>
|
72 |
</p>
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
<input type="text" id="<%= instance.id %>_mask_numeric_suffix" class="widefat title" value="<%= instance.mask_numeric_suffix %>" data-bind="mask_numeric_suffix" maxlength="50" />
|
76 |
-
|
77 |
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
</div>
|
87 |
|
88 |
<div class="happyforms-part-logic-wrap">
|
89 |
<div class="happyforms-logic-view">
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
+
<p class="happyforms-default-value-option">
|
12 |
+
<label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
|
13 |
+
<input type="number" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
|
14 |
+
</p>
|
15 |
<p>
|
16 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
17 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
18 |
</p>
|
19 |
|
31 |
</div>
|
32 |
<p>
|
33 |
<label>
|
34 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
35 |
</label>
|
36 |
</p>
|
37 |
|
38 |
<?php do_action( 'happyforms_part_customize_number_after_options' ); ?>
|
39 |
|
40 |
+
<?php do_action( 'happyforms_part_customize_number_before_advanced_options' ); ?>
|
|
|
41 |
|
42 |
+
<p>
|
43 |
+
<label>
|
44 |
+
<input type="checkbox" name="masked" class="checkbox" value="1" <% if ( instance.masked ) { %>checked="checked"<% } %> data-bind="masked" /> <?php _e( 'Use number separators', 'happyforms' ); ?>
|
45 |
+
</label>
|
46 |
+
</p>
|
47 |
+
<div class="happyforms-nested-settings mask-wrapper number-options number-options--numeric" data-trigger="masked" style="display: <%= (instance.masked == 1) ? 'flex' : 'none' %>">
|
48 |
<p>
|
49 |
+
<label for="<%= instance.id %>_mask_numeric_thousands_delimiter"><?php _e( 'Grouping', 'happyforms' ); ?></label>
|
50 |
+
<input type="text" id="<%= instance.id %>_mask_numeric_thousands_delimiter" class="widefat title" value="<%= instance.mask_numeric_thousands_delimiter %>" data-bind="mask_numeric_thousands_delimiter" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
<p>
|
53 |
+
<label for="<%= instance.id %>_mask_numeric_decimal_mark"><?php _e( 'Decimal', 'happyforms' ); ?></label>
|
54 |
+
<input type="text" id="<%= instance.id %>_mask_numeric_decimal_mark" class="widefat title" value="<%= instance.mask_numeric_decimal_mark %>" data-bind="mask_numeric_decimal_mark" />
|
55 |
</p>
|
56 |
+
</div>
|
57 |
+
<p>
|
58 |
+
<label for="<%= instance.id %>_mask_numeric_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
|
59 |
+
<input type="text" id="<%= instance.id %>_mask_numeric_prefix" class="widefat title" value="<%= instance.mask_numeric_prefix %>" data-bind="mask_numeric_prefix" maxlength="50" />
|
60 |
+
</p>
|
61 |
+
<p>
|
62 |
+
<label for="<%= instance.id %>_mask_numeric_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
|
63 |
<input type="text" id="<%= instance.id %>_mask_numeric_suffix" class="widefat title" value="<%= instance.mask_numeric_suffix %>" data-bind="mask_numeric_suffix" maxlength="50" />
|
64 |
+
</p>
|
65 |
|
66 |
+
<?php happyforms_customize_part_width_control(); ?>
|
67 |
|
68 |
+
<p>
|
69 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
70 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
71 |
+
</p>
|
72 |
|
73 |
+
<?php do_action( 'happyforms_part_customize_number_after_advanced_options' ); ?>
|
|
|
74 |
|
75 |
<div class="happyforms-part-logic-wrap">
|
76 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-radio.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
<input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
|
6 |
</p>
|
7 |
<p>
|
8 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
9 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
10 |
</p>
|
11 |
|
@@ -14,7 +14,7 @@
|
|
14 |
<div class="options">
|
15 |
<ul class="option-list"></ul>
|
16 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
17 |
-
<p class="no-options description"><?php _e( 'No choices added yet.
|
18 |
</div>
|
19 |
<div class="options-import">
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
@@ -34,42 +34,40 @@
|
|
34 |
</p>
|
35 |
<p>
|
36 |
<label>
|
37 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
38 |
</label>
|
39 |
</p>
|
40 |
|
41 |
<?php do_action( 'happyforms_part_customize_radio_after_options' ); ?>
|
42 |
|
43 |
-
|
44 |
-
<?php do_action( 'happyforms_part_customize_radio_before_advanced_options' ); ?>
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
|
71 |
-
|
72 |
-
</div>
|
73 |
|
74 |
<div class="happyforms-part-logic-wrap">
|
75 |
<div class="happyforms-logic-view">
|
5 |
<input type="text" id="<%= instance.id %>_title" class="widefat title" value="<%= instance.label %>" data-bind="label" />
|
6 |
</p>
|
7 |
<p>
|
8 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
9 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
10 |
</p>
|
11 |
|
14 |
<div class="options">
|
15 |
<ul class="option-list"></ul>
|
16 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
17 |
+
<p class="no-options description"><?php _e( 'No choices added yet.', 'happyforms' ); ?></p>
|
18 |
</div>
|
19 |
<div class="options-import">
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
34 |
</p>
|
35 |
<p>
|
36 |
<label>
|
37 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
38 |
</label>
|
39 |
</p>
|
40 |
|
41 |
<?php do_action( 'happyforms_part_customize_radio_after_options' ); ?>
|
42 |
|
43 |
+
<?php do_action( 'happyforms_part_customize_radio_before_advanced_options' ); ?>
|
|
|
44 |
|
45 |
+
<p>
|
46 |
+
<label for="<%= instance.id %>_display_type"><?php _e( 'Choices display', 'happyforms' ); ?></label>
|
47 |
+
<select id="<%= instance.id %>_display_type" name="display_type" data-bind="display_type" class="widefat">
|
48 |
+
<option value="inline"<%= (instance.display_type == 'inline') ? ' selected' : '' %>><?php _e( 'Horizontal', 'happyforms' ); ?></option>
|
49 |
+
<option value="block"<%= (instance.display_type == 'block') ? ' selected' : '' %>><?php _e( 'Vertical', 'happyforms' ); ?></option>
|
50 |
+
</select>
|
51 |
+
</p>
|
52 |
+
<p class="part-options-width-setting">
|
53 |
+
<label for="<%= instance.id %>_options_width"><?php _e( 'Choices width', 'happyforms' ); ?></label>
|
54 |
+
<select id="<%= instance.id %>_options_width" name="options_width" data-bind="options_width" class="widefat">
|
55 |
+
<option class="display-type--inline display-type--block" value="full"<%= (instance.options_width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
|
56 |
+
<option class="display-type--inline" value="half" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
|
57 |
+
<option class="display-type--inline" value="third" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
|
58 |
+
<option class="display-type--inline" value="quarter" style="display: <%= ( instance.display_type == 'inline' ) ? 'block' : 'none' %>" <%= (instance.options_width == 'quarter') ? ' selected' : '' %>><?php _e( 'Quarter', 'happyforms' ); ?></option>
|
59 |
+
<option class="display-type--inline display-type--block" value="auto"<%= (instance.options_width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
|
60 |
+
</select>
|
61 |
+
</p>
|
62 |
|
63 |
+
<?php happyforms_customize_part_width_control(); ?>
|
64 |
|
65 |
+
<p>
|
66 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
67 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
68 |
+
</p>
|
69 |
|
70 |
+
<?php do_action( 'happyforms_part_customize_radio_after_advanced_options' ); ?>
|
|
|
71 |
|
72 |
<div class="happyforms-part-logic-wrap">
|
73 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-select.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
<p>
|
12 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
@@ -18,7 +18,7 @@
|
|
18 |
<div class="options">
|
19 |
<ul class="option-list"></ul>
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
21 |
-
<p class="no-options description"><?php _e( 'No choices added yet.
|
22 |
</div>
|
23 |
<div class="options-import">
|
24 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
@@ -38,36 +38,28 @@
|
|
38 |
</p>
|
39 |
<p>
|
40 |
<label>
|
41 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
42 |
</label>
|
43 |
</p>
|
44 |
|
45 |
<?php do_action( 'happyforms_part_customize_select_after_options' ); ?>
|
46 |
|
47 |
-
|
48 |
-
<?php do_action( 'happyforms_part_customize_select_before_advanced_options' ); ?>
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
<div class="happyforms-nested-settings" data-trigger="allow_search" style="display: <%= (instance.allow_search == 1) ? 'block' : 'none' %>">
|
56 |
-
<p>
|
57 |
-
<label for="<%= instance.id %>_no_results_label"><?php _e( '\'No results\' label', 'happyforms' ); ?></label>
|
58 |
-
<input type="text" id="<%= instance.id %>_no_results_label" class="widefat title" value="<%= instance.no_results_label %>" data-bind="no_results_label" />
|
59 |
-
</p>
|
60 |
-
</div>
|
61 |
|
62 |
-
|
63 |
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
</div>
|
71 |
|
72 |
<div class="happyforms-part-logic-wrap">
|
73 |
<div class="happyforms-logic-view">
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
<p>
|
12 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
18 |
<div class="options">
|
19 |
<ul class="option-list"></ul>
|
20 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
21 |
+
<p class="no-options description"><?php _e( 'No choices added yet.', 'happyforms' ); ?></p>
|
22 |
</div>
|
23 |
<div class="options-import">
|
24 |
<h3><?php _e( 'Choices', 'happyforms' ); ?></h3>
|
38 |
</p>
|
39 |
<p>
|
40 |
<label>
|
41 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
42 |
</label>
|
43 |
</p>
|
44 |
|
45 |
<?php do_action( 'happyforms_part_customize_select_after_options' ); ?>
|
46 |
|
47 |
+
<?php do_action( 'happyforms_part_customize_select_before_advanced_options' ); ?>
|
|
|
48 |
|
49 |
+
<p>
|
50 |
+
<label>
|
51 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.allow_search ) { %>checked="checked"<% } %> data-bind="allow_search" /> <?php _e( 'Make searchable', 'happyforms' ); ?>
|
52 |
+
</label>
|
53 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
+
<?php happyforms_customize_part_width_control(); ?>
|
56 |
|
57 |
+
<?php do_action( 'happyforms_part_customize_select_after_advanced_options' ); ?>
|
58 |
|
59 |
+
<p>
|
60 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
61 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
62 |
+
</p>
|
|
|
63 |
|
64 |
<div class="happyforms-part-logic-wrap">
|
65 |
<div class="happyforms-logic-view">
|
core/templates/parts/customize-single-line-text.php
CHANGED
@@ -8,8 +8,12 @@
|
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
|
|
|
|
|
|
|
|
11 |
<p>
|
12 |
-
<label for="<%= instance.id %>_description"><?php _e( '
|
13 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
14 |
</p>
|
15 |
|
@@ -17,34 +21,30 @@
|
|
17 |
|
18 |
<p>
|
19 |
<label>
|
20 |
-
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( '
|
21 |
</label>
|
22 |
</p>
|
23 |
|
24 |
<?php do_action( 'happyforms_part_customize_single_line_text_after_options' ); ?>
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
<
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
<label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
|
36 |
-
<input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%= instance.suffix %>" data-bind="suffix" maxlength="50" />
|
37 |
-
</p>
|
38 |
|
39 |
-
|
40 |
|
41 |
-
|
42 |
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
</div>
|
48 |
|
49 |
<div class="happyforms-part-logic-wrap">
|
50 |
<div class="happyforms-logic-view">
|
8 |
<label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
|
9 |
<input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
|
10 |
</p>
|
11 |
+
<p class="happyforms-default-value-option">
|
12 |
+
<label for="<%= instance.id %>_default_value"><?php _e( 'Prefill', 'happyforms' ); ?></label>
|
13 |
+
<input type="text" id="<%= instance.id %>_default_value" class="widefat title default_value" value="<%= instance.default_value %>" data-bind="default_value" />
|
14 |
+
</p>
|
15 |
<p>
|
16 |
+
<label for="<%= instance.id %>_description"><?php _e( 'Hint', 'happyforms' ); ?></label>
|
17 |
<textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
|
18 |
</p>
|
19 |
|
21 |
|
22 |
<p>
|
23 |
<label>
|
24 |
+
<input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Require an answer', 'happyforms' ); ?>
|
25 |
</label>
|
26 |
</p>
|
27 |
|
28 |
<?php do_action( 'happyforms_part_customize_single_line_text_after_options' ); ?>
|
29 |
|
30 |
+
<?php do_action( 'happyforms_part_customize_single_line_text_before_advanced_options' ); ?>
|
31 |
+
<p>
|
32 |
+
<label for="<%= instance.id %>_prefix"><?php _e( 'Prefix', 'happyforms' ); ?></label>
|
33 |
+
<input type="text" id="<%= instance.id %>_prefix" class="widefat title" value="<%= instance.prefix %>" data-bind="prefix" maxlength="50" />
|
34 |
+
</p>
|
35 |
+
<p>
|
36 |
+
<label for="<%= instance.id %>_suffix"><?php _e( 'Suffix', 'happyforms' ); ?></label>
|
37 |
+
<input type="text" id="<%= instance.id %>_suffix" class="widefat title" value="<%= instance.suffix %>" data-bind="suffix" maxlength="50" />
|
38 |
+
</p>
|
|
|
|
|
|
|
39 |
|
40 |
+
<?php happyforms_customize_part_width_control(); ?>
|
41 |
|
42 |
+
<?php do_action( 'happyforms_part_customize_single_line_text_after_advanced_options' ); ?>
|
43 |
|
44 |
+
<p>
|
45 |
+
<label for="<%= instance.id %>_css_class"><?php _e( 'CSS classes', 'happyforms' ); ?></label>
|
46 |
+
<input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
|
47 |
+
</p>
|
|
|
48 |
|
49 |
<div class="happyforms-part-logic-wrap">
|
50 |
<div class="happyforms-logic-view">
|
core/templates/parts/frontend-email.php
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<div class="<?php happyforms_the_part_class( $part, $form ); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>-part" <?php happyforms_the_part_data_attributes( $part, $form ); ?>>
|
2 |
<?php
|
3 |
-
$autocomplete_domains = ( 1 == $part['autocomplete_domains'] );
|
4 |
$input_group = false;
|
5 |
$has_prefix = ( '' !== $part['prefix'] );
|
6 |
$has_suffix = ( '' !== $part['suffix'] );
|
@@ -10,10 +9,6 @@
|
|
10 |
$input_group = true;
|
11 |
}
|
12 |
|
13 |
-
if ( $has_suffix || $has_prefix ) {
|
14 |
-
$autocomplete_domains = false;
|
15 |
-
}
|
16 |
-
|
17 |
if ( 'as_placeholder' === $part['label_placement'] ) {
|
18 |
$early_label = false;
|
19 |
}
|
@@ -26,102 +21,39 @@
|
|
26 |
<div class="happyforms-part__el">
|
27 |
<?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
|
28 |
|
29 |
-
<?php if ( $
|
30 |
-
<
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
35 |
-
<?php happyforms_the_part_label( $part, $form ); ?>
|
36 |
-
<?php endif; ?>
|
37 |
-
<?php else: ?>
|
38 |
-
<?php if ( $input_group ) : ?>
|
39 |
-
<div class="happyforms-input-group<?php echo ( $has_prefix ) ? ' with-prefix' : ''; ?><?php echo ( $has_suffix ) ? ' with-suffix': '' ?>">
|
40 |
-
<?php if ( $has_prefix ) : ?>
|
41 |
-
<div class="happyforms-input-group__prefix">
|
42 |
-
<span><?php echo $part['prefix']; ?></span>
|
43 |
-
</div>
|
44 |
-
<?php endif; ?>
|
45 |
-
<?php endif; ?>
|
46 |
-
|
47 |
-
<div class="happyforms-input">
|
48 |
-
<input type="email" name="<?php happyforms_the_part_name( $part, $form ); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>" value="<?php happyforms_the_part_value( $part, $form, 0 ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 0 ); ?> />
|
49 |
-
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
50 |
-
<?php happyforms_the_part_label( $part, $form ); ?>
|
51 |
-
<?php endif; ?>
|
52 |
-
</div>
|
53 |
-
|
54 |
-
<?php if ( $input_group ) : ?>
|
55 |
-
<?php if ( $has_suffix ) : ?>
|
56 |
-
<div class="happyforms-input-group__suffix">
|
57 |
-
<span><?php echo $part['suffix']; ?></span>
|
58 |
</div>
|
59 |
<?php endif; ?>
|
60 |
-
|
61 |
-
</div><!-- /.happyforms-input-group -->
|
62 |
-
<?php endif; ?>
|
63 |
<?php endif; ?>
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
happyforms_select( array(), $part, $form );
|
68 |
-
}
|
69 |
-
?>
|
70 |
-
|
71 |
-
<?php if ( 'tooltip' !== $part['description_mode'] ) : ?>
|
72 |
-
<?php happyforms_print_part_description( $part ); ?>
|
73 |
-
<?php endif; ?>
|
74 |
-
|
75 |
-
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form ) ); ?>
|
76 |
-
|
77 |
-
<?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
|
78 |
-
</div>
|
79 |
-
</div>
|
80 |
-
<?php if ( 1 === intval( $part['confirmation_field'] ) ) : ?>
|
81 |
-
<div class="happyforms-part-wrap happyforms-part-wrap--confirmation" id="<?php happyforms_the_part_id( $part, $form ); ?>-part_confirmation">
|
82 |
-
<?php if ( $early_label ) : ?>
|
83 |
-
<?php happyforms_the_part_confirmation_label( $part, $form ); ?>
|
84 |
-
<?php endif; ?>
|
85 |
-
|
86 |
-
<div class="happyforms-part__el">
|
87 |
-
<?php if ( $autocomplete_domains ) : ?>
|
88 |
-
<input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>_confirmation" value="<?php happyforms_the_part_value( $part, $form, 1 ); ?>" data-serialize />
|
89 |
-
|
90 |
-
<input type="email" name="<?php happyforms_the_part_id( $part, $form ); ?>_dummy_<?php echo time(); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>_confirmation" placeholder="<?php echo esc_attr( $part['confirmation_field_placeholder'] ); ?>" value="<?php happyforms_the_part_value( $part, $form, 1 ); ?>" autocomplete="none" <?php happyforms_the_part_attributes( $part, $form, 1 ); ?> />
|
91 |
-
|
92 |
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
93 |
-
<?php
|
94 |
-
<?php endif; ?>
|
95 |
-
<?php else: ?>
|
96 |
-
<?php if ( $has_suffix ) : ?>
|
97 |
-
<div class="happyforms-input-group with-suffix">
|
98 |
<?php endif; ?>
|
|
|
99 |
|
100 |
-
|
101 |
-
<input type="email" id="<?php happyforms_the_part_id( $part, $form ); ?>_confirmation" name="<?php happyforms_the_part_name( $part, $form ); ?>_confirmation" placeholder="<?php echo esc_attr( $part['confirmation_field_placeholder'] ); ?>" value="<?php happyforms_the_part_value( $part, $form, 1 ); ?>" class="happyforms-confirmation-input" data-confirmation-of="<?php echo esc_attr( $part['id'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 1 ); ?> />
|
102 |
-
|
103 |
-
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
104 |
-
<?php happyforms_the_part_confirmation_label( $part, $form ); ?>
|
105 |
-
<?php endif; ?>
|
106 |
-
</div>
|
107 |
-
|
108 |
<?php if ( $has_suffix ) : ?>
|
109 |
<div class="happyforms-input-group__suffix">
|
110 |
<span><?php echo $part['suffix']; ?></span>
|
111 |
</div>
|
112 |
-
|
113 |
-
</div><!-- /.happyforms-input-group -->
|
114 |
<?php endif; ?>
|
|
|
|
|
115 |
<?php endif; ?>
|
116 |
|
117 |
-
<?php
|
118 |
-
|
119 |
-
|
120 |
-
}
|
121 |
-
?>
|
122 |
|
123 |
-
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form )
|
|
|
|
|
124 |
</div>
|
125 |
</div>
|
126 |
-
<?php endif; ?>
|
127 |
</div>
|
1 |
<div class="<?php happyforms_the_part_class( $part, $form ); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>-part" <?php happyforms_the_part_data_attributes( $part, $form ); ?>>
|
2 |
<?php
|
|
|
3 |
$input_group = false;
|
4 |
$has_prefix = ( '' !== $part['prefix'] );
|
5 |
$has_suffix = ( '' !== $part['suffix'] );
|
9 |
$input_group = true;
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
12 |
if ( 'as_placeholder' === $part['label_placement'] ) {
|
13 |
$early_label = false;
|
14 |
}
|
21 |
<div class="happyforms-part__el">
|
22 |
<?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
|
23 |
|
24 |
+
<?php if ( $input_group ) : ?>
|
25 |
+
<div class="happyforms-input-group<?php echo ( $has_prefix ) ? ' with-prefix' : ''; ?><?php echo ( $has_suffix ) ? ' with-suffix': '' ?>">
|
26 |
+
<?php if ( $has_prefix ) : ?>
|
27 |
+
<div class="happyforms-input-group__prefix">
|
28 |
+
<span><?php echo $part['prefix']; ?></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
</div>
|
30 |
<?php endif; ?>
|
|
|
|
|
|
|
31 |
<?php endif; ?>
|
32 |
|
33 |
+
<div class="happyforms-input">
|
34 |
+
<input type="email" name="<?php happyforms_the_part_name( $part, $form ); ?>" id="<?php happyforms_the_part_id( $part, $form ); ?>" value="<?php happyforms_the_part_value( $part, $form ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 0 ); ?> />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
36 |
+
<?php happyforms_the_part_label( $part, $form ); ?>
|
|
|
|
|
|
|
|
|
37 |
<?php endif; ?>
|
38 |
+
</div>
|
39 |
|
40 |
+
<?php if ( $input_group ) : ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
<?php if ( $has_suffix ) : ?>
|
42 |
<div class="happyforms-input-group__suffix">
|
43 |
<span><?php echo $part['suffix']; ?></span>
|
44 |
</div>
|
|
|
|
|
45 |
<?php endif; ?>
|
46 |
+
|
47 |
+
</div><!-- /.happyforms-input-group -->
|
48 |
<?php endif; ?>
|
49 |
|
50 |
+
<?php if ( 'tooltip' !== $part['description_mode'] ) : ?>
|
51 |
+
<?php happyforms_print_part_description( $part ); ?>
|
52 |
+
<?php endif; ?>
|
|
|
|
|
53 |
|
54 |
+
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form ) ); ?>
|
55 |
+
|
56 |
+
<?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
|
57 |
</div>
|
58 |
</div>
|
|
|
59 |
</div>
|
core/templates/parts/frontend-number.php
CHANGED
@@ -41,7 +41,7 @@
|
|
41 |
<?php if ( ! $early_label && 'as_placeholder' !== $part['label_placement'] ) : ?>
|
42 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
43 |
<?php endif; ?>
|
44 |
-
<input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="<?php echo $input_type; ?>" value="<?php happyforms_the_part_value( $part, $form
|
45 |
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
46 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
47 |
<?php endif; ?>
|
@@ -66,44 +66,4 @@
|
|
66 |
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form ) ); ?>
|
67 |
</div>
|
68 |
</div>
|
69 |
-
<?php if ( 1 === intval( $part['confirmation_field'] ) ) : ?>
|
70 |
-
<div class="happyforms-part-wrap happyforms-part-wrap--confirmation" id="<?php happyforms_the_part_id( $part, $form ); ?>-part_confirmation">
|
71 |
-
<?php if ( $early_label ) : ?>
|
72 |
-
<?php happyforms_the_part_confirmation_label( $part, $form ); ?>
|
73 |
-
<?php endif; ?>
|
74 |
-
|
75 |
-
<div class="happyforms-part__el">
|
76 |
-
<?php if ( $input_group ) : ?>
|
77 |
-
<div class="happyforms-input-group<?php echo ( $has_prefix ) ? ' with-prefix' : ''; ?><?php echo ( $has_suffix ) ? ' with-suffix': '' ?>">
|
78 |
-
<?php if ( $has_prefix ) : ?>
|
79 |
-
<div class="happyforms-input-group__prefix">
|
80 |
-
<span><?php echo $part['mask_numeric_prefix']; ?></span>
|
81 |
-
</div>
|
82 |
-
<?php endif; ?>
|
83 |
-
<?php endif; ?>
|
84 |
-
|
85 |
-
<div class="happyforms-input">
|
86 |
-
<?php if ( ! $early_label && 'as_placeholder' !== $part['label_placement'] ) : ?>
|
87 |
-
<?php happyforms_the_part_confirmation_label( $part, $form ); ?>
|
88 |
-
<?php endif; ?>
|
89 |
-
<input id="<?php happyforms_the_part_id( $part, $form ); ?>_confirmation" class="happyforms-confirmation-input" type="<?php echo $input_type; ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>_confirmation" value="<?php happyforms_the_part_value( $part, $form, 1 ); ?>" placeholder="<?php echo esc_attr( $part['confirmation_field_placeholder'] ); ?>" min="<?php echo esc_attr( $part['min_value'] ); ?>" max="<?php echo esc_attr( $part['max_value'] ); ?>" value="<?php echo esc_attr( $part['min_value'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 1 ); ?> />
|
90 |
-
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
91 |
-
<?php happyforms_the_part_confirmation_label( $part, $form ); ?>
|
92 |
-
<?php endif; ?>
|
93 |
-
</div>
|
94 |
-
|
95 |
-
<?php if ( $input_group ) : ?>
|
96 |
-
<?php if ( $has_suffix ) : ?>
|
97 |
-
<div class="happyforms-input-group__suffix">
|
98 |
-
<span><?php echo $part['mask_numeric_suffix']; ?></span>
|
99 |
-
</div>
|
100 |
-
<?php endif; ?>
|
101 |
-
|
102 |
-
</div><!-- /.happyforms-input-group -->
|
103 |
-
<?php endif; ?>
|
104 |
-
|
105 |
-
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form ), 1 ); ?>
|
106 |
-
</div>
|
107 |
-
</div>
|
108 |
-
<?php endif; ?>
|
109 |
</div>
|
41 |
<?php if ( ! $early_label && 'as_placeholder' !== $part['label_placement'] ) : ?>
|
42 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
43 |
<?php endif; ?>
|
44 |
+
<input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="<?php echo $input_type; ?>" value="<?php happyforms_the_part_value( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" min="<?php echo esc_attr( $part['min_value'] ) ?>" max="<?php echo esc_attr( $part['max_value'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 0 ); ?> />
|
45 |
<?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
|
46 |
<?php happyforms_the_part_label( $part, $form ); ?>
|
47 |
<?php endif; ?>
|
66 |
<?php happyforms_part_error_message( happyforms_get_part_name( $part, $form ) ); ?>
|
67 |
</div>
|
68 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</div>
|
happyforms.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* Plugin Name:
|
5 |
* Plugin URI: https://happyforms.me
|
6 |
-
* Description:
|
7 |
-
* Author:
|
8 |
-
* Version: 1.
|
9 |
* Author URI: https://happyforms.me
|
10 |
* Upgrade URI: https://happyforms.me/upgrade
|
11 |
*/
|
@@ -13,7 +13,7 @@
|
|
13 |
/**
|
14 |
* The current version of the plugin.
|
15 |
*/
|
16 |
-
define( 'HAPPYFORMS_VERSION', '1.
|
17 |
|
18 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
19 |
/**
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Plugin Name: Happyforms (free)
|
5 |
* Plugin URI: https://happyforms.me
|
6 |
+
* Description: We're changin' WordPress forms.
|
7 |
+
* Author: Happyforms
|
8 |
+
* Version: 1.10.0
|
9 |
* Author URI: https://happyforms.me
|
10 |
* Upgrade URI: https://happyforms.me/upgrade
|
11 |
*/
|
13 |
/**
|
14 |
* The current version of the plugin.
|
15 |
*/
|
16 |
+
define( 'HAPPYFORMS_VERSION', '1.10.0' );
|
17 |
|
18 |
if ( ! function_exists( 'happyforms_plugin_file' ) ):
|
19 |
/**
|
inc/assets/js/customize.js
CHANGED
@@ -77,35 +77,21 @@
|
|
77 |
},
|
78 |
|
79 |
changeDocumentTitle: function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
var formTitle = this.get( 'post_title' );
|
81 |
-
|
82 |
-
var titleTemplate = 'HappyForms';
|
83 |
|
84 |
if ( formTitle ) {
|
85 |
titleTemplate = titleTemplate + ': ' + formTitle;
|
86 |
}
|
87 |
|
88 |
_wpCustomizeSettings.documentTitleTmpl = titleTemplate;
|
89 |
-
}
|
90 |
-
|
91 |
-
fetchCustomCSS: function( success ) {
|
92 |
-
var data = {
|
93 |
-
action: 'happyforms-get-custom-css',
|
94 |
-
'happyforms-nonce': api.settings.nonce.happyforms,
|
95 |
-
happyforms: 1,
|
96 |
-
wp_customize: 'on',
|
97 |
-
form_id: happyForms.form.id,
|
98 |
-
form: JSON.stringify( this.toJSON() ),
|
99 |
-
};
|
100 |
-
|
101 |
-
var request = $.ajax( ajaxurl, {
|
102 |
-
type: 'post',
|
103 |
-
dataType: 'text',
|
104 |
-
data: data,
|
105 |
-
} );
|
106 |
-
|
107 |
-
request.done( success );
|
108 |
-
},
|
109 |
} );
|
110 |
|
111 |
classes.models.Part = Backbone.Model.extend( {
|
@@ -190,9 +176,10 @@
|
|
190 |
'setup': 'setup',
|
191 |
'email': 'email',
|
192 |
'style': 'style',
|
|
|
193 |
},
|
194 |
|
195 |
-
steps: [ 'build', 'setup', 'email', 'style' ],
|
196 |
previousRoute: '',
|
197 |
currentRoute: 'build',
|
198 |
savedStates: {
|
@@ -206,6 +193,9 @@
|
|
206 |
'email': {
|
207 |
'scrollTop': 0,
|
208 |
},
|
|
|
|
|
|
|
209 |
'style': {
|
210 |
'scrollTop': 0,
|
211 |
'activeSection': ''
|
@@ -283,6 +273,9 @@
|
|
283 |
case 'style':
|
284 |
childView = new classes.views.FormStyle( { model: this.form } );
|
285 |
break;
|
|
|
|
|
|
|
286 |
}
|
287 |
|
288 |
this.previousRoute = this.currentRoute;
|
@@ -660,15 +653,11 @@
|
|
660 |
}.bind( this ),
|
661 |
} );
|
662 |
|
663 |
-
$( '.happyforms-widget-expanded input[data-bind=label]', this.$el ).focus();
|
664 |
-
|
665 |
this.drawer = new classes.views.PartsDrawer();
|
666 |
$( '.wp-full-overlay' ).append( this.drawer.render().$el );
|
667 |
|
668 |
if ( -1 === happyForms.savedStates.build.activePartIndex ) {
|
669 |
$( '#happyforms-form-name', this.$el ).focus().select();
|
670 |
-
} else {
|
671 |
-
$( '.happyforms-widget:eq(' + happyForms.savedStates.build.activePartIndex + ')' ).addClass( 'happyforms-widget-expanded' );
|
672 |
}
|
673 |
},
|
674 |
|
@@ -839,16 +828,16 @@
|
|
839 |
}, this ) );
|
840 |
},
|
841 |
|
842 |
-
onPartViewsSorted: function( partViews ) {
|
843 |
-
var $stage = $( '.happyforms-form-widgets', this.$el );
|
844 |
|
845 |
-
partViews.forEach( function( partViewModel ) {
|
846 |
-
var partView = partViewModel.get( 'view' );
|
847 |
-
var $partViewEl = partView.$el;
|
848 |
-
$partViewEl.detach();
|
849 |
-
$stage.append( $partViewEl );
|
850 |
-
partView.trigger( 'refresh' );
|
851 |
-
}, this );
|
852 |
},
|
853 |
|
854 |
onPartViewsChanged: function( partViews ) {
|
@@ -1021,6 +1010,7 @@
|
|
1021 |
this.listenTo( this.model, 'change:required', this.onRequiredCheckboxChange );
|
1022 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
1023 |
this.listenTo( this.model, 'change:description', this.onDescriptionChange );
|
|
|
1024 |
//this.listenTo( this.model, 'change:description_mode', this.onDescriptionModeChange );
|
1025 |
this.listenTo( this.model, 'change:label_placement', this.onLabelPlacementChange );
|
1026 |
this.listenTo( this.model, 'change:css_class', this.onCSSClassChange );
|
@@ -1246,6 +1236,22 @@
|
|
1246 |
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
1247 |
},
|
1248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1249 |
/**
|
1250 |
* Send changed description value to previewer.
|
1251 |
*
|
@@ -1524,7 +1530,6 @@
|
|
1524 |
'keyup [data-attribute]': 'onInputChange',
|
1525 |
'change [data-attribute]': 'onInputChange',
|
1526 |
'change input[type=number]': 'onNumberChange',
|
1527 |
-
'keyup input[data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
|
1528 |
} ),
|
1529 |
|
1530 |
pointers: {},
|
@@ -1611,14 +1616,6 @@
|
|
1611 |
happyForms.previewSend( 'happyforms-submit-button-text-update', value );
|
1612 |
},
|
1613 |
|
1614 |
-
onOptionalPartLabelChange: function( e ) {
|
1615 |
-
var data = {
|
1616 |
-
callback: 'onOptionalPartLabelChangeCallback',
|
1617 |
-
};
|
1618 |
-
|
1619 |
-
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1620 |
-
},
|
1621 |
-
|
1622 |
setOptionalLabelVisibility: function() {
|
1623 |
var optionalParts = this.model.get( 'parts' ).find( function( model, index, parts ) {
|
1624 |
return ( '' !== parts[index].get( 'required' ) && 1 !== parts[index].get( 'required' ) );
|
@@ -1693,6 +1690,250 @@
|
|
1693 |
},
|
1694 |
} );
|
1695 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1696 |
classes.views.FormStyle = classes.views.Base.extend( {
|
1697 |
template: '#happyforms-form-style-template',
|
1698 |
|
@@ -1704,7 +1945,6 @@
|
|
1704 |
'change [data-target="form_class"] input[type="checkbox"]': 'onFormClassCheckboxChange',
|
1705 |
'change [data-target="css_var"] input[type=radio]': 'onRadioChange',
|
1706 |
'keyup [data-target="attribute"] input[type=text]': 'onAttributeChange',
|
1707 |
-
'change [data-attribute="form_title"]': 'onFormTitleDisplayChange',
|
1708 |
'change [data-attribute="part_description_mode"]': 'onChangeGlobalControls',
|
1709 |
'change [data-attribute="part_title_label_placement"]': 'onChangeGlobalControls',
|
1710 |
'navigate-to-group': 'navigateToGroup',
|
@@ -1715,10 +1955,6 @@
|
|
1715 |
initialize: function() {
|
1716 |
classes.views.Base.prototype.initialize.apply( this, arguments );
|
1717 |
|
1718 |
-
this.listenTo( this.model, 'change:additional_css', _.debounce( function( model, value ) {
|
1719 |
-
this.onAdditionalCSSChange( model, value );
|
1720 |
-
}, 500 ) );
|
1721 |
-
|
1722 |
this.styles = new Backbone.Collection();
|
1723 |
},
|
1724 |
|
@@ -1728,12 +1964,6 @@
|
|
1728 |
return this;
|
1729 |
},
|
1730 |
|
1731 |
-
onAdditionalCSSChange: function( model, value ) {
|
1732 |
-
happyForms.form.fetchCustomCSS( function( response ) {
|
1733 |
-
api.previewer.send( 'happyforms-custom-css-updated', response );
|
1734 |
-
} );
|
1735 |
-
},
|
1736 |
-
|
1737 |
applyConditionClasses: function() {
|
1738 |
var self = this;
|
1739 |
|
@@ -1808,7 +2038,7 @@
|
|
1808 |
happyForms.form.set( attribute, value );
|
1809 |
|
1810 |
var partAttribute = '';
|
1811 |
-
|
1812 |
switch ( attribute ) {
|
1813 |
case 'part_description_mode':
|
1814 |
partAttribute = 'description_mode';
|
@@ -1879,24 +2109,6 @@
|
|
1879 |
happyForms.form.set( attribute, value );
|
1880 |
},
|
1881 |
|
1882 |
-
onFormTitleDisplayChange: function( e ) {
|
1883 |
-
e.preventDefault();
|
1884 |
-
|
1885 |
-
var $target = $( e.target );
|
1886 |
-
var attribute = $target.data( 'attribute' );
|
1887 |
-
var variable = $target.parents( '.happyforms-buttonset-control' ).data( 'variable' );
|
1888 |
-
var value = $target.val();
|
1889 |
-
|
1890 |
-
happyForms.form.set( attribute, value );
|
1891 |
-
|
1892 |
-
var data = {
|
1893 |
-
attribute: attribute,
|
1894 |
-
callback: 'onFormClassToggleCallback'
|
1895 |
-
};
|
1896 |
-
|
1897 |
-
happyForms.previewSend( 'happyforms-form-class-update', data );
|
1898 |
-
},
|
1899 |
-
|
1900 |
onGroupClick: function( e ) {
|
1901 |
e.preventDefault();
|
1902 |
|
@@ -2251,6 +2463,32 @@
|
|
2251 |
$( '.happyforms-optional', $form ).text( optionalLabel );
|
2252 |
},
|
2253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2254 |
/**
|
2255 |
*
|
2256 |
* Previewer callbacks for live part DOM updates
|
@@ -2317,6 +2555,13 @@
|
|
2317 |
$description.text(description);
|
2318 |
},
|
2319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2320 |
onDescriptionModeChangeCallback: function( id, html ) {
|
2321 |
var part = happyForms.form.get( 'parts' ).get( id );
|
2322 |
var $part = this.$( html );
|
77 |
},
|
78 |
|
79 |
changeDocumentTitle: function() {
|
80 |
+
var title = $( 'title' ).text();
|
81 |
+
var newTitle = '';
|
82 |
+
|
83 |
+
newTitle = title.replace( title.substring( 0, title.indexOf( ':' ) ), 'Form' );
|
84 |
+
$( 'title' ).text( newTitle );
|
85 |
+
|
86 |
var formTitle = this.get( 'post_title' );
|
87 |
+
var titleTemplate = 'Form';
|
|
|
88 |
|
89 |
if ( formTitle ) {
|
90 |
titleTemplate = titleTemplate + ': ' + formTitle;
|
91 |
}
|
92 |
|
93 |
_wpCustomizeSettings.documentTitleTmpl = titleTemplate;
|
94 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
} );
|
96 |
|
97 |
classes.models.Part = Backbone.Model.extend( {
|
176 |
'setup': 'setup',
|
177 |
'email': 'email',
|
178 |
'style': 'style',
|
179 |
+
'messages': 'messages',
|
180 |
},
|
181 |
|
182 |
+
steps: [ 'build', 'setup', 'email', 'style', 'messages' ],
|
183 |
previousRoute: '',
|
184 |
currentRoute: 'build',
|
185 |
savedStates: {
|
193 |
'email': {
|
194 |
'scrollTop': 0,
|
195 |
},
|
196 |
+
'messages': {
|
197 |
+
'scrollTop': 0,
|
198 |
+
},
|
199 |
'style': {
|
200 |
'scrollTop': 0,
|
201 |
'activeSection': ''
|
273 |
case 'style':
|
274 |
childView = new classes.views.FormStyle( { model: this.form } );
|
275 |
break;
|
276 |
+
case 'messages':
|
277 |
+
childView = new classes.views.FormMessages( { model: this.form } );
|
278 |
+
break;
|
279 |
}
|
280 |
|
281 |
this.previousRoute = this.currentRoute;
|
653 |
}.bind( this ),
|
654 |
} );
|
655 |
|
|
|
|
|
656 |
this.drawer = new classes.views.PartsDrawer();
|
657 |
$( '.wp-full-overlay' ).append( this.drawer.render().$el );
|
658 |
|
659 |
if ( -1 === happyForms.savedStates.build.activePartIndex ) {
|
660 |
$( '#happyforms-form-name', this.$el ).focus().select();
|
|
|
|
|
661 |
}
|
662 |
},
|
663 |
|
828 |
}, this ) );
|
829 |
},
|
830 |
|
831 |
+
onPartViewsSorted: function( partViews ) {
|
832 |
+
var $stage = $( '.happyforms-form-widgets', this.$el );
|
833 |
|
834 |
+
partViews.forEach( function( partViewModel ) {
|
835 |
+
var partView = partViewModel.get( 'view' );
|
836 |
+
var $partViewEl = partView.$el;
|
837 |
+
$partViewEl.detach();
|
838 |
+
$stage.append( $partViewEl );
|
839 |
+
partView.trigger( 'refresh' );
|
840 |
+
}, this );
|
841 |
},
|
842 |
|
843 |
onPartViewsChanged: function( partViews ) {
|
1010 |
this.listenTo( this.model, 'change:required', this.onRequiredCheckboxChange );
|
1011 |
this.listenTo( this.model, 'change:placeholder', this.onPlaceholderChange );
|
1012 |
this.listenTo( this.model, 'change:description', this.onDescriptionChange );
|
1013 |
+
this.listenTo( this.model, 'change:default_value', this.onDefaultValueChange );
|
1014 |
//this.listenTo( this.model, 'change:description_mode', this.onDescriptionModeChange );
|
1015 |
this.listenTo( this.model, 'change:label_placement', this.onLabelPlacementChange );
|
1016 |
this.listenTo( this.model, 'change:css_class', this.onCSSClassChange );
|
1236 |
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
1237 |
},
|
1238 |
|
1239 |
+
/**
|
1240 |
+
* Send changed default value to previewer.
|
1241 |
+
*
|
1242 |
+
* @since 1.0.0.
|
1243 |
+
*
|
1244 |
+
* @return void
|
1245 |
+
*/
|
1246 |
+
onDefaultValueChange: function() {
|
1247 |
+
var data = {
|
1248 |
+
id: this.model.id,
|
1249 |
+
callback: 'onDefaultValueChangeCallback',
|
1250 |
+
};
|
1251 |
+
|
1252 |
+
happyForms.previewSend( 'happyforms-part-dom-update', data );
|
1253 |
+
},
|
1254 |
+
|
1255 |
/**
|
1256 |
* Send changed description value to previewer.
|
1257 |
*
|
1530 |
'keyup [data-attribute]': 'onInputChange',
|
1531 |
'change [data-attribute]': 'onInputChange',
|
1532 |
'change input[type=number]': 'onNumberChange',
|
|
|
1533 |
} ),
|
1534 |
|
1535 |
pointers: {},
|
1616 |
happyForms.previewSend( 'happyforms-submit-button-text-update', value );
|
1617 |
},
|
1618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1619 |
setOptionalLabelVisibility: function() {
|
1620 |
var optionalParts = this.model.get( 'parts' ).find( function( model, index, parts ) {
|
1621 |
return ( '' !== parts[index].get( 'required' ) && 1 !== parts[index].get( 'required' ) );
|
1690 |
},
|
1691 |
} );
|
1692 |
|
1693 |
+
classes.views.FormMessages = classes.views.FormSetup.extend( {
|
1694 |
+
template: '#happyforms-form-messages-template',
|
1695 |
+
|
1696 |
+
events: _.extend( {}, classes.views.Base.prototype.events, {
|
1697 |
+
'keyup [data-attribute]': 'onInputChange',
|
1698 |
+
'change [data-attribute]': 'onInputChange',
|
1699 |
+
'keyup [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
|
1700 |
+
'change [data-attribute="optional_part_label"]': 'onOptionalPartLabelChange',
|
1701 |
+
'keyup [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
|
1702 |
+
'change [data-attribute="submit_button_label"]': 'onSubmitButtonLabelChange',
|
1703 |
+
'focus .has-restore-default': 'showRestoreBtn',
|
1704 |
+
'click .restore-default-btn': 'resetValidationMessage',
|
1705 |
+
'keyup [data-attribute="words_label_min"]': 'onCharLimitMinWordsChange',
|
1706 |
+
'change [data-attribute="words_label_min"]': 'onCharLimitMinWordsChange',
|
1707 |
+
'keyup [data-attribute="words_label_max"]': 'onCharLimitMaxWordsChange',
|
1708 |
+
'change [data-attribute="words_label_max"]': 'onCharLimitMaxWordsChange',
|
1709 |
+
'keyup [data-attribute="characters_label_min"]': 'onCharLimitMinCharsChange',
|
1710 |
+
'change [data-attribute="characters_label_min"]': 'onCharLimitMinCharsChange',
|
1711 |
+
'keyup [data-attribute="characters_label_max"]': 'onCharLimitMaxCharsChange',
|
1712 |
+
'change [data-attribute="characters_label_max"]': 'onCharLimitMaxCharsChange',
|
1713 |
+
'keyup [data-attribute="no_results_label"]': 'onNoResultsLabelChange',
|
1714 |
+
'change [data-attribute="no_results_label"]': 'onNoResultsLabelChange',
|
1715 |
+
} ),
|
1716 |
+
|
1717 |
+
editors: {
|
1718 |
+
},
|
1719 |
+
|
1720 |
+
initialize: function() {
|
1721 |
+
classes.views.Base.prototype.initialize.apply( this, arguments );
|
1722 |
+
},
|
1723 |
+
|
1724 |
+
render: function() {
|
1725 |
+
this.setElement( this.template( this.model.toJSON() ) );
|
1726 |
+
classes.views.FormSetup.prototype.render.apply( this, arguments );
|
1727 |
+
this.applyMsgConditionClasses();
|
1728 |
+
|
1729 |
+
return this;
|
1730 |
+
},
|
1731 |
+
|
1732 |
+
applyMsgConditionClasses: function() {
|
1733 |
+
var self = this;
|
1734 |
+
|
1735 |
+
var partTypes = happyForms.form.get( 'parts' ).map( function( model ) {
|
1736 |
+
return model.get( 'type' );
|
1737 |
+
} );
|
1738 |
+
|
1739 |
+
partTypes = _.union( partTypes );
|
1740 |
+
|
1741 |
+
for ( var i = 0; i < partTypes.length; i++ ) {
|
1742 |
+
var className = 'has-' + partTypes[i];
|
1743 |
+
|
1744 |
+
if ( self.$el.hasClass( className ) ) {
|
1745 |
+
className = className + '-part';
|
1746 |
+
}
|
1747 |
+
|
1748 |
+
self.$el.addClass( className );
|
1749 |
+
}
|
1750 |
+
|
1751 |
+
var hasRequiredField = this.model.get( 'parts' ).find( function( part ) {
|
1752 |
+
var types = [ 'single_line_text', 'multi_line_text', 'email', 'number' ];
|
1753 |
+
var required = part.get( 'required' );
|
1754 |
+
|
1755 |
+
if ( required == 1 ) {
|
1756 |
+
var type = part.get( 'type' );
|
1757 |
+
return ( $.inArray( type, types ) > -1 );
|
1758 |
+
}
|
1759 |
+
|
1760 |
+
return false;
|
1761 |
+
} );
|
1762 |
+
|
1763 |
+
if ( hasRequiredField ) {
|
1764 |
+
self.$el.addClass( 'has-required-fields' );
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
|
1768 |
+
var hasRequiredSelectionField = this.model.get( 'parts' ).find( function( part ) {
|
1769 |
+
var types = [ 'radio', 'checkbox', 'select' ];
|
1770 |
+
var required = part.get( 'required' );
|
1771 |
+
|
1772 |
+
if ( required == 1 ) {
|
1773 |
+
var type = part.get( 'type' );
|
1774 |
+
return ( $.inArray( type, types ) > -1 );
|
1775 |
+
}
|
1776 |
+
|
1777 |
+
return false;
|
1778 |
+
} );
|
1779 |
+
|
1780 |
+
if( hasRequiredSelectionField ) {
|
1781 |
+
self.$el.addClass( 'has-required-selection-fields' );
|
1782 |
+
}
|
1783 |
+
|
1784 |
+
if ( happyForms.form.get( 'parts' ).length > 0 ) {
|
1785 |
+
self.$el.addClass( 'has-field' );
|
1786 |
+
}
|
1787 |
+
|
1788 |
+
var optionalPart = this.model.get( 'parts' ).find( function( part ) {
|
1789 |
+
var part_required = part.get( 'required' );
|
1790 |
+
|
1791 |
+
return ( part_required == 0 || part_required == '' );
|
1792 |
+
} );
|
1793 |
+
|
1794 |
+
if ( optionalPart ) {
|
1795 |
+
self.$el.addClass( 'has-optional-field' );
|
1796 |
+
}
|
1797 |
+
|
1798 |
+
var hasConfirmField = happyForms.form.get( 'parts' ).findWhere( {
|
1799 |
+
confirmation_field: 1
|
1800 |
+
} );
|
1801 |
+
|
1802 |
+
if ( hasConfirmField ) {
|
1803 |
+
self.$el.addClass( 'has-confirm-field' );
|
1804 |
+
}
|
1805 |
+
|
1806 |
+
var confirmSubmission = happyForms.form.get( 'confirm_submission' );
|
1807 |
+
|
1808 |
+
if ( confirmSubmission == 'success_message_hide_form' || confirmSubmission == 'success_message' ) {
|
1809 |
+
self.$el.addClass( 'is-show-success-msg' );
|
1810 |
+
}
|
1811 |
+
|
1812 |
+
var hasMinWords = happyForms.form.get( 'parts' ).findWhere( {
|
1813 |
+
limit_input: 1,
|
1814 |
+
character_limit_mode: 'word_min'
|
1815 |
+
} );
|
1816 |
+
|
1817 |
+
if ( hasMinWords ) {
|
1818 |
+
self.$el.addClass( 'has-min-words-label' );
|
1819 |
+
}
|
1820 |
+
|
1821 |
+
var hasMaxWords = happyForms.form.get( 'parts' ).findWhere( {
|
1822 |
+
limit_input: 1,
|
1823 |
+
character_limit_mode: 'word_max'
|
1824 |
+
} );
|
1825 |
+
|
1826 |
+
if ( hasMaxWords ) {
|
1827 |
+
self.$el.addClass( 'has-max-words-label' );
|
1828 |
+
}
|
1829 |
+
|
1830 |
+
var hasMinChars = happyForms.form.get( 'parts' ).findWhere( {
|
1831 |
+
limit_input: 1,
|
1832 |
+
character_limit_mode: 'character_min'
|
1833 |
+
} );
|
1834 |
+
|
1835 |
+
if ( hasMinChars ) {
|
1836 |
+
self.$el.addClass( 'has-min-chars-label' );
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
var hasMaxChars = happyForms.form.get( 'parts' ).findWhere( {
|
1840 |
+
limit_input: 1,
|
1841 |
+
character_limit_mode: 'character_max'
|
1842 |
+
} );
|
1843 |
+
|
1844 |
+
if ( hasMaxChars ) {
|
1845 |
+
self.$el.addClass( 'has-max-chars-label' );
|
1846 |
+
}
|
1847 |
+
|
1848 |
+
var showMsgShortLabel = happyForms.form.get( 'parts' ).find( function( part ) {
|
1849 |
+
var limit_mode = part.get( 'character_limit_mode' );
|
1850 |
+
|
1851 |
+
if( limit_mode ) {
|
1852 |
+
if( part.get( 'limit_input' ) == 1 && ( limit_mode == 'character_min' || limit_mode == 'word_min' ) &&
|
1853 |
+
part.get( 'character_limit' ) > 1 ) {
|
1854 |
+
return true;
|
1855 |
+
}
|
1856 |
+
}
|
1857 |
+
} );
|
1858 |
+
|
1859 |
+
if ( showMsgShortLabel ) {
|
1860 |
+
self.$el.addClass( 'show-msg-short-label' );
|
1861 |
+
}
|
1862 |
+
|
1863 |
+
var hasSearchableDropdown = happyForms.form.get( 'parts' ).findWhere( {
|
1864 |
+
allow_search: 1
|
1865 |
+
} );
|
1866 |
+
|
1867 |
+
if ( hasSearchableDropdown ) {
|
1868 |
+
self.$el.addClass( 'has-searchable-dropdown' );
|
1869 |
+
}
|
1870 |
+
|
1871 |
+
},
|
1872 |
+
|
1873 |
+
ready: function() {
|
1874 |
+
var self = this;
|
1875 |
+
this.$inputRestoreBtns = $( '.restore-default-btn' );
|
1876 |
+
|
1877 |
+
var defaultEditorSettings = {
|
1878 |
+
};
|
1879 |
+
|
1880 |
+
},
|
1881 |
+
|
1882 |
+
|
1883 |
+
onSubmitButtonLabelChange: function( e ) {
|
1884 |
+
|
1885 |
+
happyForms.previewSend( 'happyforms-submit-button-text-update', $( e.target ).val() );
|
1886 |
+
},
|
1887 |
+
|
1888 |
+
onOptionalPartLabelChange: function( e ) {
|
1889 |
+
var data = {
|
1890 |
+
callback: 'onOptionalPartLabelChangeCallback',
|
1891 |
+
};
|
1892 |
+
|
1893 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1894 |
+
},
|
1895 |
+
|
1896 |
+
onCharLimitMinWordsChange: function ( e ) {
|
1897 |
+
var data = {
|
1898 |
+
callback: 'onCharLimitMinWordsChangeCallback',
|
1899 |
+
};
|
1900 |
+
|
1901 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1902 |
+
},
|
1903 |
+
|
1904 |
+
onCharLimitMaxWordsChange: function ( e ) {
|
1905 |
+
var data = {
|
1906 |
+
callback: 'onCharLimitMaxWordsChangeCallback',
|
1907 |
+
};
|
1908 |
+
|
1909 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1910 |
+
},
|
1911 |
+
|
1912 |
+
onCharLimitMinCharsChange: function ( e ) {
|
1913 |
+
var data = {
|
1914 |
+
callback: 'onCharLimitMinCharsChangeCallback',
|
1915 |
+
};
|
1916 |
+
|
1917 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1918 |
+
},
|
1919 |
+
|
1920 |
+
onCharLimitMaxCharsChange: function ( e ) {
|
1921 |
+
var data = {
|
1922 |
+
callback: 'onCharLimitMaxCharsChangeCallback',
|
1923 |
+
};
|
1924 |
+
|
1925 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1926 |
+
},
|
1927 |
+
onNoResultsLabelChange: function( e ) {
|
1928 |
+
var data = {
|
1929 |
+
callback: 'onNoResultsLabelChangeCallback',
|
1930 |
+
};
|
1931 |
+
|
1932 |
+
happyForms.previewSend( 'happyforms-form-dom-update', data );
|
1933 |
+
},
|
1934 |
+
|
1935 |
+
} );
|
1936 |
+
|
1937 |
classes.views.FormStyle = classes.views.Base.extend( {
|
1938 |
template: '#happyforms-form-style-template',
|
1939 |
|
1945 |
'change [data-target="form_class"] input[type="checkbox"]': 'onFormClassCheckboxChange',
|
1946 |
'change [data-target="css_var"] input[type=radio]': 'onRadioChange',
|
1947 |
'keyup [data-target="attribute"] input[type=text]': 'onAttributeChange',
|
|
|
1948 |
'change [data-attribute="part_description_mode"]': 'onChangeGlobalControls',
|
1949 |
'change [data-attribute="part_title_label_placement"]': 'onChangeGlobalControls',
|
1950 |
'navigate-to-group': 'navigateToGroup',
|
1955 |
initialize: function() {
|
1956 |
classes.views.Base.prototype.initialize.apply( this, arguments );
|
1957 |
|
|
|
|
|
|
|
|
|
1958 |
this.styles = new Backbone.Collection();
|
1959 |
},
|
1960 |
|
1964 |
return this;
|
1965 |
},
|
1966 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1967 |
applyConditionClasses: function() {
|
1968 |
var self = this;
|
1969 |
|
2038 |
happyForms.form.set( attribute, value );
|
2039 |
|
2040 |
var partAttribute = '';
|
2041 |
+
|
2042 |
switch ( attribute ) {
|
2043 |
case 'part_description_mode':
|
2044 |
partAttribute = 'description_mode';
|
2109 |
happyForms.form.set( attribute, value );
|
2110 |
},
|
2111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2112 |
onGroupClick: function( e ) {
|
2113 |
e.preventDefault();
|
2114 |
|
2463 |
$( '.happyforms-optional', $form ).text( optionalLabel );
|
2464 |
},
|
2465 |
|
2466 |
+
onCharLimitMinWordsChangeCallback: function( $form ) {
|
2467 |
+
var label = happyForms.form.get( 'words_label_min' );
|
2468 |
+
$( '.happyforms-part__char-counter.word_min span.counter-label', $form ).text( label );
|
2469 |
+
},
|
2470 |
+
|
2471 |
+
onCharLimitMaxWordsChangeCallback: function( $form ) {
|
2472 |
+
var label = happyForms.form.get( 'words_label_max' );
|
2473 |
+
$( '.happyforms-part__char-counter.word_max span.counter-label', $form ).text( label );
|
2474 |
+
},
|
2475 |
+
|
2476 |
+
onCharLimitMinCharsChangeCallback: function( $form ) {
|
2477 |
+
var label = happyForms.form.get( 'characters_label_min' );
|
2478 |
+
$( '.happyforms-part__char-counter.character_min span.counter-label', $form ).text( label );
|
2479 |
+
},
|
2480 |
+
|
2481 |
+
onCharLimitMaxCharsChangeCallback: function( $form ) {
|
2482 |
+
var label = happyForms.form.get( 'characters_label_max' );
|
2483 |
+
$( '.happyforms-part__char-counter.character_max span.counter-label', $form ).text( label );
|
2484 |
+
},
|
2485 |
+
|
2486 |
+
onNoResultsLabelChangeCallback: function( $form ) {
|
2487 |
+
var label = happyForms.form.get( 'no_results_label' );
|
2488 |
+
|
2489 |
+
$( 'li.happyforms-custom-select-dropdown__not-found', $form ).text( label );
|
2490 |
+
},
|
2491 |
+
|
2492 |
/**
|
2493 |
*
|
2494 |
* Previewer callbacks for live part DOM updates
|
2555 |
$description.text(description);
|
2556 |
},
|
2557 |
|
2558 |
+
onDefaultValueChangeCallback: function( id, $part ) {
|
2559 |
+
var part = happyForms.form.get( 'parts' ).get( id );
|
2560 |
+
var default_value = part.get( 'default_value' );
|
2561 |
+
|
2562 |
+
$part.find( ':input' ).val( default_value );
|
2563 |
+
},
|
2564 |
+
|
2565 |
onDescriptionModeChangeCallback: function( id, html ) {
|
2566 |
var part = happyForms.form.get( 'parts' ).get( id );
|
2567 |
var $part = this.$( html );
|
inc/classes/class-happyforms.php
CHANGED
@@ -129,21 +129,21 @@ class HappyForms extends HappyForms_Core {
|
|
129 |
$controls[1660] = array(
|
130 |
'type' => 'checkbox_dummy',
|
131 |
'dummy_id' => 'save_abandoned_responses',
|
132 |
-
'label' => __( 'Save abandoned
|
133 |
'tooltip' => __( 'Keep incomplete users responses stored in your WordPress database.', 'happyforms' ),
|
134 |
);
|
135 |
|
136 |
$controls[1661] = array(
|
137 |
'type' => 'checkbox_dummy',
|
138 |
'dummy_id' => 'save_and_resume_submissions',
|
139 |
-
'label' => __( '
|
140 |
'tooltip' => __( 'Let users temporarily save their incomplete response and continue filling out the form at a later time.', 'happyforms' ),
|
141 |
);
|
142 |
|
143 |
$controls[1800] = array(
|
144 |
'type' => 'checkbox_dummy',
|
145 |
'dummy_id' => 'preview_before_submit',
|
146 |
-
'label' => __( '
|
147 |
'tooltip' => __( 'Let your users review their submission before confirming it.', 'happyforms' ),
|
148 |
);
|
149 |
|
129 |
$controls[1660] = array(
|
130 |
'type' => 'checkbox_dummy',
|
131 |
'dummy_id' => 'save_abandoned_responses',
|
132 |
+
'label' => __( 'Save incomplete and abandoned submissions', 'happyforms' ),
|
133 |
'tooltip' => __( 'Keep incomplete users responses stored in your WordPress database.', 'happyforms' ),
|
134 |
);
|
135 |
|
136 |
$controls[1661] = array(
|
137 |
'type' => 'checkbox_dummy',
|
138 |
'dummy_id' => 'save_and_resume_submissions',
|
139 |
+
'label' => __( 'Let respondents save a draft submission and come back to it later', 'happyforms' ),
|
140 |
'tooltip' => __( 'Let users temporarily save their incomplete response and continue filling out the form at a later time.', 'happyforms' ),
|
141 |
);
|
142 |
|
143 |
$controls[1800] = array(
|
144 |
'type' => 'checkbox_dummy',
|
145 |
'dummy_id' => 'preview_before_submit',
|
146 |
+
'label' => __( 'Require respondents to review a submission before submitting', 'happyforms' ),
|
147 |
'tooltip' => __( 'Let your users review their submission before confirming it.', 'happyforms' ),
|
148 |
);
|
149 |
|
inc/templates/email-user.php
CHANGED
@@ -15,9 +15,9 @@
|
|
15 |
|
16 |
<?php foreach( $form['parts'] as $part ) : ?>
|
17 |
|
18 |
-
<?php if ( happyforms_email_is_part_visible( $part, $form, $
|
19 |
|
20 |
-
<b><?php echo happyforms_get_email_part_label( $
|
21 |
<?php echo happyforms_get_email_part_value( $message, $part, $form ); ?>
|
22 |
<br><br>
|
23 |
|
15 |
|
16 |
<?php foreach( $form['parts'] as $part ) : ?>
|
17 |
|
18 |
+
<?php if ( happyforms_email_is_part_visible( $part, $form, $message ) ) : ?>
|
19 |
|
20 |
+
<b><?php echo happyforms_get_email_part_label( $message, $part, $form ); ?></b><br>
|
21 |
<?php echo happyforms_get_email_part_value( $message, $part, $form ); ?>
|
22 |
<br><br>
|
23 |
|
languages/happyforms.pot
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
# Copyright (C) 2021
|
2 |
-
# This file is distributed under the same license as the
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version:
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
-
"POT-Creation-Date: 2021-02-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -13,12 +13,15 @@ msgstr ""
|
|
13 |
"Language-Team: The Theme Foundry\n"
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
15 |
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: core/classes/class-block.php:50
|
21 |
-
msgid "
|
22 |
msgstr ""
|
23 |
|
24 |
#: core/classes/class-block.php:102
|
@@ -136,7 +139,7 @@ msgstr ""
|
|
136 |
msgid "Last modified"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: core/classes/class-form-admin.php:353
|
140 |
msgid "Edit"
|
141 |
msgstr ""
|
142 |
|
@@ -158,17 +161,13 @@ msgstr ""
|
|
158 |
msgid "Undo"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: core/classes/class-form-controller.php:68
|
162 |
-
msgid "Forms"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
#: core/classes/class-form-controller.php:69
|
166 |
msgid "Form"
|
167 |
msgstr ""
|
168 |
|
169 |
#: core/classes/class-form-controller.php:70
|
170 |
-
#: core/classes/class-happyforms-core.php:
|
171 |
-
#: core/classes/class-happyforms-core.php:
|
172 |
msgid "Add New"
|
173 |
msgstr ""
|
174 |
|
@@ -199,8 +198,8 @@ msgstr ""
|
|
199 |
|
200 |
#: core/classes/class-form-controller.php:79
|
201 |
#: core/classes/class-form-controller.php:80
|
202 |
-
#: core/classes/class-happyforms-core.php:
|
203 |
-
#: core/classes/class-happyforms-core.php:
|
204 |
msgid "All Forms"
|
205 |
msgstr ""
|
206 |
|
@@ -208,7 +207,7 @@ msgstr ""
|
|
208 |
msgid "(no title)"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: core/classes/class-form-controller.php:
|
212 |
msgid " Copy"
|
213 |
msgstr ""
|
214 |
|
@@ -227,51 +226,27 @@ msgid ""
|
|
227 |
msgstr ""
|
228 |
|
229 |
#: core/classes/class-form-email.php:87
|
230 |
-
msgid "
|
231 |
msgstr ""
|
232 |
|
233 |
#: core/classes/class-form-email.php:96 core/templates/admin-tracking.php:15
|
234 |
msgid "Email address"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: core/classes/class-form-email.php:97
|
238 |
-
msgid ""
|
239 |
-
"Add your email address here to receive a confirmation email for each form "
|
240 |
-
"response. You can add multiple email addresses by separating each address "
|
241 |
-
"with a comma."
|
242 |
-
msgstr ""
|
243 |
-
|
244 |
#: core/classes/class-form-email.php:102
|
245 |
msgid "Email Bcc address"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: core/classes/class-form-email.php:103
|
249 |
-
msgid ""
|
250 |
-
"Add your Bcc email address here to receive a confirmation email for each "
|
251 |
-
"form response without appearing in the received message header. You can "
|
252 |
-
"add multiple email addresses by separating each address with a comma."
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
#: core/classes/class-form-email.php:108 core/classes/class-form-email.php:142
|
256 |
msgid "Email display name"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: core/classes/class-form-email.php:109
|
260 |
-
msgid "You will receive an email with this sender name."
|
261 |
-
msgstr ""
|
262 |
-
|
263 |
#: core/classes/class-form-email.php:114 core/classes/class-form-email.php:148
|
264 |
msgid "Email subject"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: core/classes/class-form-email.php:115
|
268 |
-
msgid ""
|
269 |
-
"Each time a user submits a message, you'll receive an email with this "
|
270 |
-
"subject."
|
271 |
-
msgstr ""
|
272 |
-
|
273 |
#: core/classes/class-form-email.php:123
|
274 |
-
msgid "
|
275 |
msgstr ""
|
276 |
|
277 |
#: core/classes/class-form-email.php:132
|
@@ -282,153 +257,207 @@ msgstr ""
|
|
282 |
msgid "Reply email address"
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: core/classes/class-form-email.php:
|
286 |
-
msgid ""
|
287 |
-
|
288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: core/classes/class-form-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
msgid ""
|
293 |
-
"
|
294 |
-
"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: core/classes/class-form-
|
298 |
-
msgid "
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: core/classes/class-form-
|
302 |
msgid ""
|
303 |
-
"
|
304 |
-
"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: core/classes/class-form-
|
308 |
-
msgid "
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: core/classes/class-form-
|
312 |
-
msgid "
|
|
|
|
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: core/classes/class-form-
|
316 |
-
msgid "
|
317 |
msgstr ""
|
318 |
|
319 |
-
#: core/classes/class-form-
|
320 |
-
msgid "
|
|
|
|
|
321 |
msgstr ""
|
322 |
|
323 |
-
#: core/classes/class-form-
|
324 |
-
msgid "
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: core/classes/class-form-
|
328 |
-
msgid "
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: core/classes/class-form-
|
332 |
-
msgid "
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: core/classes/class-form-
|
336 |
-
msgid "
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: core/classes/class-form-
|
340 |
-
msgid "
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: core/classes/class-form-
|
344 |
-
msgid "
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: core/classes/class-form-
|
348 |
-
msgid "
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: core/classes/class-form-
|
352 |
-
msgid "
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: core/classes/class-form-
|
356 |
-
msgid "
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: core/classes/class-form-
|
360 |
-
msgid "
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: core/classes/class-form-setup.php:
|
364 |
-
msgid "
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: core/classes/class-form-setup.php:
|
368 |
-
msgid "
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: core/classes/class-form-setup.php:
|
372 |
-
|
373 |
-
#: inc/templates/customize-controls/checkbox_dummy.php:7
|
374 |
-
#: inc/templates/customize-controls/email-parts-list-dummy.php:11
|
375 |
-
msgid "Upgrade"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: core/classes/class-form-setup.php:
|
379 |
-
msgid "
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: core/classes/class-form-setup.php:
|
383 |
-
msgid "
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: core/classes/class-form-setup.php:
|
387 |
-
msgid ""
|
388 |
-
"This is the message your users will see when there are form errors "
|
389 |
-
"preventing submission."
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: core/classes/class-form-setup.php:
|
393 |
-
msgid "
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: core/classes/class-form-setup.php:
|
397 |
-
msgid ""
|
398 |
-
"Mark optional fields in your form to let your users distinguish them from "
|
399 |
-
"required fields."
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: core/classes/class-form-setup.php:
|
403 |
-
msgid "
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: core/classes/class-form-setup.php:
|
407 |
-
msgid "
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: core/classes/class-form-setup.php:
|
411 |
-
|
|
|
|
|
|
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: core/classes/class-form-setup.php:
|
415 |
-
msgid ""
|
416 |
-
"Add custom CSS classes separated by space for targeting a button in your "
|
417 |
-
"stylesheet."
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: core/classes/class-form-setup.php:
|
421 |
-
msgid "
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: core/classes/class-form-setup.php:
|
425 |
-
msgid "Add
|
426 |
msgstr ""
|
427 |
|
428 |
#: core/classes/class-form-setup.php:222
|
429 |
msgid "Form HTML ID"
|
430 |
msgstr ""
|
431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
#: core/classes/class-form-styles.php:53
|
433 |
msgid "Left-to-right"
|
434 |
msgstr ""
|
@@ -562,7 +591,7 @@ msgstr ""
|
|
562 |
|
563 |
#: core/classes/class-form-styles.php:560
|
564 |
#: core/classes/class-form-styles.php:885 core/helpers/helper-misc.php:929
|
565 |
-
#: core/templates/parts/customize-checkbox.php:
|
566 |
msgid "Width"
|
567 |
msgstr ""
|
568 |
|
@@ -611,7 +640,6 @@ msgid "Error message text"
|
|
611 |
msgstr ""
|
612 |
|
613 |
#: core/classes/class-form-styles.php:615
|
614 |
-
#: core/templates/customize-form-build.php:4
|
615 |
#: inc/classes/parts/class-part-layout-title-dummy.php:8
|
616 |
#: inc/classes/parts/class-part-title-dummy.php:8
|
617 |
msgid "Title"
|
@@ -702,15 +730,15 @@ msgid "Label display"
|
|
702 |
msgstr ""
|
703 |
|
704 |
#: core/classes/class-form-styles.php:720
|
705 |
-
msgid "
|
706 |
msgstr ""
|
707 |
|
708 |
#: core/classes/class-form-styles.php:725
|
709 |
-
msgid "
|
710 |
msgstr ""
|
711 |
|
712 |
#: core/classes/class-form-styles.php:730
|
713 |
-
msgid "
|
714 |
msgstr ""
|
715 |
|
716 |
#: core/classes/class-form-styles.php:735
|
@@ -723,14 +751,14 @@ msgstr ""
|
|
723 |
|
724 |
#: core/classes/class-form-styles.php:750
|
725 |
#: core/templates/parts/customize-checkbox.php:4
|
726 |
-
#: core/templates/parts/customize-checkbox.php:
|
727 |
#: core/templates/parts/customize-email.php:4
|
728 |
#: core/templates/parts/customize-multi-line-text.php:4
|
729 |
#: core/templates/parts/customize-number.php:4
|
730 |
#: core/templates/parts/customize-radio.php:4
|
731 |
-
#: core/templates/parts/customize-radio.php:
|
732 |
#: core/templates/parts/customize-select.php:4
|
733 |
-
#: core/templates/parts/customize-select.php:
|
734 |
#: core/templates/parts/customize-single-line-text.php:4
|
735 |
msgid "Label"
|
736 |
msgstr ""
|
@@ -751,13 +779,13 @@ msgstr ""
|
|
751 |
|
752 |
#: core/classes/class-form-styles.php:765
|
753 |
#: core/templates/parts/customize-checkbox.php:8
|
754 |
-
#: core/templates/parts/customize-email.php:
|
755 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
756 |
-
#: core/templates/parts/customize-number.php:
|
757 |
#: core/templates/parts/customize-radio.php:8
|
758 |
#: core/templates/parts/customize-select.php:12
|
759 |
-
#: core/templates/parts/customize-single-line-text.php:
|
760 |
-
msgid "
|
761 |
msgstr ""
|
762 |
|
763 |
#: core/classes/class-form-styles.php:770
|
@@ -863,63 +891,28 @@ msgstr ""
|
|
863 |
msgid "Additional CSS"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: core/classes/class-happyforms-core.php:
|
867 |
-
|
868 |
-
msgstr ""
|
869 |
-
|
870 |
-
#: core/classes/class-happyforms-core.php:195
|
871 |
-
#: core/classes/class-happyforms-core.php:196
|
872 |
msgid "Activity"
|
873 |
msgstr ""
|
874 |
|
875 |
-
#: core/classes/class-happyforms-core.php:
|
876 |
-
#: core/classes/class-happyforms-core.php:
|
877 |
msgid "Integrations"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: core/classes/class-happyforms-core.php:
|
881 |
-
#: core/classes/class-happyforms-core.php:
|
882 |
msgid "Settings"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: core/classes/class-happyforms-core.php:
|
886 |
-
#: core/classes/class-happyforms-core.php:
|
887 |
msgid "Welcome"
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: core/classes/class-happyforms-core.php:
|
891 |
-
msgid "
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: core/classes/class-happyforms-core.php:456
|
895 |
-
msgid "Add HappyForms"
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: core/classes/class-happyforms-core.php:692
|
899 |
-
msgid "Overview"
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: core/classes/class-happyforms-core.php:702
|
903 |
-
msgid "Hey 👋 Welcome to your HappyForms Dashboard!"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: core/classes/class-happyforms-core.php:705
|
907 |
-
msgid ""
|
908 |
-
"Are you looking for help? Well, we’ve swept the nacho crumbs from our "
|
909 |
-
"keyboards, refilled our ginger beers and are ready to reply with answers! "
|
910 |
-
"So, go on, email %s."
|
911 |
-
msgstr ""
|
912 |
-
|
913 |
-
#: core/classes/class-happyforms-core.php:714
|
914 |
-
msgid "For more help"
|
915 |
-
msgstr ""
|
916 |
-
|
917 |
-
#: core/classes/class-happyforms-core.php:716
|
918 |
-
msgid "Help guide"
|
919 |
-
msgstr ""
|
920 |
-
|
921 |
-
#: core/classes/class-happyforms-widget.php:15
|
922 |
-
msgid "Easily add your HappyForms to widget areas."
|
923 |
msgstr ""
|
924 |
|
925 |
#: core/classes/class-happyforms-widget.php:79
|
@@ -960,32 +953,44 @@ msgstr ""
|
|
960 |
msgid "Error description"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: core/classes/class-validation-messages.php:
|
964 |
-
msgid "
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: core/classes/class-validation-messages.php:
|
968 |
-
msgid "
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: core/classes/class-validation-messages.php:
|
972 |
-
msgid "
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: core/classes/class-validation-messages.php:
|
976 |
-
msgid "
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: core/classes/class-validation-messages.php:
|
980 |
-
msgid "
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: core/classes/class-validation-messages.php:
|
984 |
-
msgid "
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: core/classes/class-validation-messages.php:
|
988 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
msgstr ""
|
990 |
|
991 |
#: core/classes/class-wp-customize-form-manager.php:167
|
@@ -997,7 +1002,7 @@ msgid "There are two ways to embed your form. Here goes…"
|
|
997 |
msgstr ""
|
998 |
|
999 |
#: core/classes/class-wp-customize-form-manager.php:169
|
1000 |
-
msgid "Add
|
1001 |
msgstr ""
|
1002 |
|
1003 |
#: core/classes/class-wp-customize-form-manager.php:170
|
@@ -1005,7 +1010,7 @@ msgid "In your Edit Post / Edit Page screen, click Add Block."
|
|
1005 |
msgstr ""
|
1006 |
|
1007 |
#: core/classes/class-wp-customize-form-manager.php:170
|
1008 |
-
msgid "Select the
|
1009 |
msgstr ""
|
1010 |
|
1011 |
#: core/classes/class-wp-customize-form-manager.php:170
|
@@ -1018,7 +1023,7 @@ msgid "That's it! You'll see a basic preview of your form in the editor."
|
|
1018 |
msgstr ""
|
1019 |
|
1020 |
#: core/classes/class-wp-customize-form-manager.php:171
|
1021 |
-
msgid "Use
|
1022 |
msgstr ""
|
1023 |
|
1024 |
#: core/classes/class-wp-customize-form-manager.php:173
|
@@ -1026,7 +1031,7 @@ msgid "Head over to Appearance → <a href=\"%s\">Widgets</a> screen."
|
|
1026 |
msgstr ""
|
1027 |
|
1028 |
#: core/classes/class-wp-customize-form-manager.php:174
|
1029 |
-
msgid "Drag the
|
1030 |
msgstr ""
|
1031 |
|
1032 |
#: core/classes/class-wp-customize-form-manager.php:176
|
@@ -1054,18 +1059,6 @@ msgstr ""
|
|
1054 |
msgid "For checkboxes allowing multiple selections."
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: core/classes/parts/class-part-checkbox.php:39
|
1058 |
-
#: core/classes/parts/class-part-email.php:34
|
1059 |
-
#: core/classes/parts/class-part-email.php:58
|
1060 |
-
#: core/classes/parts/class-part-multi-line-text.php:34
|
1061 |
-
#: core/classes/parts/class-part-number.php:33
|
1062 |
-
#: core/classes/parts/class-part-number.php:93
|
1063 |
-
#: core/classes/parts/class-part-radio.php:40
|
1064 |
-
#: core/classes/parts/class-part-select.php:35
|
1065 |
-
#: core/classes/parts/class-part-single-line-text.php:31
|
1066 |
-
msgid "Untitled"
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
#: core/classes/parts/class-part-checkbox.php:83
|
1070 |
#: core/templates/parts/frontend-checkbox.php:13
|
1071 |
msgid "Select all"
|
@@ -1087,16 +1080,6 @@ msgstr ""
|
|
1087 |
msgid "For paragraph text fields."
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: core/classes/parts/class-part-multi-line-text.php:69
|
1091 |
-
#: core/templates/parts/customize-multi-line-text.php:46
|
1092 |
-
msgid "Min characters"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: core/classes/parts/class-part-multi-line-text.php:73
|
1096 |
-
#: core/templates/parts/customize-multi-line-text.php:43
|
1097 |
-
msgid "Max words"
|
1098 |
-
msgstr ""
|
1099 |
-
|
1100 |
#: core/classes/parts/class-part-number.php:8
|
1101 |
msgid "Number"
|
1102 |
msgstr ""
|
@@ -1121,10 +1104,6 @@ msgstr ""
|
|
1121 |
msgid "For selecting one option from a long list. Default value adjustable."
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: core/classes/parts/class-part-select.php:75
|
1125 |
-
msgid "No results"
|
1126 |
-
msgstr ""
|
1127 |
-
|
1128 |
#: core/classes/parts/class-part-single-line-text.php:8
|
1129 |
msgid "Short Answer"
|
1130 |
msgstr ""
|
@@ -1173,1028 +1152,1028 @@ msgstr ""
|
|
1173 |
msgid "Spam protection, skip this field"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
-
#: core/helpers/helper-form-templates.php:
|
1177 |
msgid "January"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
-
#: core/helpers/helper-form-templates.php:
|
1181 |
msgid "February"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
-
#: core/helpers/helper-form-templates.php:
|
1185 |
msgid "March"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
-
#: core/helpers/helper-form-templates.php:
|
1189 |
msgid "April"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
-
#: core/helpers/helper-form-templates.php:
|
1193 |
msgid "May"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
-
#: core/helpers/helper-form-templates.php:
|
1197 |
msgid "June"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: core/helpers/helper-form-templates.php:
|
1201 |
msgid "July"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: core/helpers/helper-form-templates.php:
|
1205 |
msgid "August"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: core/helpers/helper-form-templates.php:
|
1209 |
msgid "September"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: core/helpers/helper-form-templates.php:
|
1213 |
msgid "October"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: core/helpers/helper-form-templates.php:
|
1217 |
msgid "November"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: core/helpers/helper-form-templates.php:
|
1221 |
msgid "December"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: core/helpers/helper-form-templates.php:
|
1225 |
msgid "Ascension Island"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: core/helpers/helper-form-templates.php:
|
1229 |
msgid "Andorra"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: core/helpers/helper-form-templates.php:
|
1233 |
msgid "United Arab Emirates"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: core/helpers/helper-form-templates.php:
|
1237 |
msgid "Afghanistan"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: core/helpers/helper-form-templates.php:
|
1241 |
msgid "Antigua and Barbuda"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: core/helpers/helper-form-templates.php:
|
1245 |
msgid "Anguilla"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: core/helpers/helper-form-templates.php:
|
1249 |
msgid "Albania"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
-
#: core/helpers/helper-form-templates.php:
|
1253 |
msgid "Armenia"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: core/helpers/helper-form-templates.php:
|
1257 |
msgid "Angola"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: core/helpers/helper-form-templates.php:
|
1261 |
msgid "Argentina"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: core/helpers/helper-form-templates.php:
|
1265 |
msgid "American Samoa"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: core/helpers/helper-form-templates.php:
|
1269 |
msgid "Austria"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: core/helpers/helper-form-templates.php:
|
1273 |
msgid "Australia"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: core/helpers/helper-form-templates.php:
|
1277 |
msgid "Aruba"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: core/helpers/helper-form-templates.php:
|
1281 |
msgid "Åland Islands"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: core/helpers/helper-form-templates.php:
|
1285 |
msgid "Azerbaijan"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: core/helpers/helper-form-templates.php:
|
1289 |
msgid "Bosnia and Herzegovina"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: core/helpers/helper-form-templates.php:
|
1293 |
msgid "Barbados"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: core/helpers/helper-form-templates.php:
|
1297 |
msgid "Bangladesh"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: core/helpers/helper-form-templates.php:
|
1301 |
msgid "Belgium"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: core/helpers/helper-form-templates.php:
|
1305 |
msgid "Burkina Faso"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: core/helpers/helper-form-templates.php:
|
1309 |
msgid "Bulgaria"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: core/helpers/helper-form-templates.php:
|
1313 |
msgid "Bahrain"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
-
#: core/helpers/helper-form-templates.php:
|
1317 |
msgid "Burundi"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
-
#: core/helpers/helper-form-templates.php:
|
1321 |
msgid "Benin"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: core/helpers/helper-form-templates.php:
|
1325 |
msgid "Saint Barthélemy"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: core/helpers/helper-form-templates.php:
|
1329 |
msgid "Bermuda"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: core/helpers/helper-form-templates.php:
|
1333 |
msgid "Brunei Darussalam"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: core/helpers/helper-form-templates.php:
|
1337 |
msgid "Bolivia"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: core/helpers/helper-form-templates.php:
|
1341 |
msgid "Bonaire, Sint Eustatius and Saba"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: core/helpers/helper-form-templates.php:
|
1345 |
msgid "Brazil"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: core/helpers/helper-form-templates.php:
|
1349 |
msgid "Bahamas"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: core/helpers/helper-form-templates.php:
|
1353 |
msgid "Bhutan"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: core/helpers/helper-form-templates.php:
|
1357 |
msgid "Botswana"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: core/helpers/helper-form-templates.php:
|
1361 |
msgid "Belarus"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
-
#: core/helpers/helper-form-templates.php:
|
1365 |
msgid "Belize"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: core/helpers/helper-form-templates.php:
|
1369 |
msgid "Canada"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: core/helpers/helper-form-templates.php:
|
1373 |
msgid "Cocos (Keeling) Islands"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: core/helpers/helper-form-templates.php:
|
1377 |
msgid "Congo, the Democratic Republic of the"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: core/helpers/helper-form-templates.php:
|
1381 |
msgid "Central African Republic"
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: core/helpers/helper-form-templates.php:
|
1385 |
msgid "Congo"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: core/helpers/helper-form-templates.php:
|
1389 |
msgid "Switzerland"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: core/helpers/helper-form-templates.php:
|
1393 |
msgid "Cote D'Ivoire"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: core/helpers/helper-form-templates.php:
|
1397 |
msgid "Cook Islands"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#: core/helpers/helper-form-templates.php:
|
1401 |
msgid "Chile"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
-
#: core/helpers/helper-form-templates.php:
|
1405 |
msgid "Cameroon"
|
1406 |
msgstr ""
|
1407 |
|
1408 |
-
#: core/helpers/helper-form-templates.php:
|
1409 |
msgid "China"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: core/helpers/helper-form-templates.php:
|
1413 |
msgid "Colombia"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: core/helpers/helper-form-templates.php:
|
1417 |
msgid "Costa Rica"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: core/helpers/helper-form-templates.php:
|
1421 |
msgid "Cuba"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#: core/helpers/helper-form-templates.php:
|
1425 |
msgid "Cape Verde"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: core/helpers/helper-form-templates.php:
|
1429 |
msgid "Curaçao"
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: core/helpers/helper-form-templates.php:
|
1433 |
msgid "Christmas Island"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
-
#: core/helpers/helper-form-templates.php:
|
1437 |
msgid "Cyprus"
|
1438 |
msgstr ""
|
1439 |
|
1440 |
-
#: core/helpers/helper-form-templates.php:
|
1441 |
msgid "Czech Republic"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
-
#: core/helpers/helper-form-templates.php:
|
1445 |
msgid "Germany"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
-
#: core/helpers/helper-form-templates.php:
|
1449 |
msgid "Djibouti"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: core/helpers/helper-form-templates.php:
|
1453 |
msgid "Denmark"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: core/helpers/helper-form-templates.php:
|
1457 |
msgid "Dominica"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: core/helpers/helper-form-templates.php:
|
1461 |
msgid "Dominican Republic"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: core/helpers/helper-form-templates.php:
|
1465 |
msgid "Algeria"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#: core/helpers/helper-form-templates.php:
|
1469 |
msgid "Ecuador"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: core/helpers/helper-form-templates.php:
|
1473 |
msgid "Estonia"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
-
#: core/helpers/helper-form-templates.php:
|
1477 |
msgid "Egypt"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#: core/helpers/helper-form-templates.php:
|
1481 |
msgid "Western Sahara"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
-
#: core/helpers/helper-form-templates.php:
|
1485 |
msgid "Eritrea"
|
1486 |
msgstr ""
|
1487 |
|
1488 |
-
#: core/helpers/helper-form-templates.php:
|
1489 |
msgid "Spain"
|
1490 |
msgstr ""
|
1491 |
|
1492 |
-
#: core/helpers/helper-form-templates.php:
|
1493 |
msgid "Ethiopia"
|
1494 |
msgstr ""
|
1495 |
|
1496 |
-
#: core/helpers/helper-form-templates.php:
|
1497 |
msgid "Finland"
|
1498 |
msgstr ""
|
1499 |
|
1500 |
-
#: core/helpers/helper-form-templates.php:
|
1501 |
msgid "Fiji"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#: core/helpers/helper-form-templates.php:
|
1505 |
msgid "Falkland Islands (Malvinas)"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#: core/helpers/helper-form-templates.php:
|
1509 |
msgid "Micronesia, Federated States of"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#: core/helpers/helper-form-templates.php:
|
1513 |
msgid "Faroe Islands"
|
1514 |
msgstr ""
|
1515 |
|
1516 |
-
#: core/helpers/helper-form-templates.php:
|
1517 |
msgid "France"
|
1518 |
msgstr ""
|
1519 |
|
1520 |
-
#: core/helpers/helper-form-templates.php:
|
1521 |
msgid "Gabon"
|
1522 |
msgstr ""
|
1523 |
|
1524 |
-
#: core/helpers/helper-form-templates.php:
|
1525 |
msgid "United Kingdom"
|
1526 |
msgstr ""
|
1527 |
|
1528 |
-
#: core/helpers/helper-form-templates.php:
|
1529 |
msgid "Grenada"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#: core/helpers/helper-form-templates.php:
|
1533 |
msgid "Georgia"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
-
#: core/helpers/helper-form-templates.php:
|
1537 |
msgid "French Guiana"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
-
#: core/helpers/helper-form-templates.php:
|
1541 |
msgid "Guernsey"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: core/helpers/helper-form-templates.php:
|
1545 |
msgid "Ghana"
|
1546 |
msgstr ""
|
1547 |
|
1548 |
-
#: core/helpers/helper-form-templates.php:
|
1549 |
msgid "Gibraltar"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
-
#: core/helpers/helper-form-templates.php:
|
1553 |
msgid "Greenland"
|
1554 |
msgstr ""
|
1555 |
|
1556 |
-
#: core/helpers/helper-form-templates.php:
|
1557 |
msgid "Gambia"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
-
#: core/helpers/helper-form-templates.php:
|
1561 |
msgid "Guinea"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
-
#: core/helpers/helper-form-templates.php:
|
1565 |
msgid "Guadeloupe"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
-
#: core/helpers/helper-form-templates.php:
|
1569 |
msgid "Equatorial Guinea"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
-
#: core/helpers/helper-form-templates.php:
|
1573 |
msgid "Greece"
|
1574 |
msgstr ""
|
1575 |
|
1576 |
-
#: core/helpers/helper-form-templates.php:
|
1577 |
msgid "Guatemala"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
-
#: core/helpers/helper-form-templates.php:
|
1581 |
msgid "Guam"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
-
#: core/helpers/helper-form-templates.php:
|
1585 |
msgid "Guinea-Bissau"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
-
#: core/helpers/helper-form-templates.php:
|
1589 |
msgid "Guyana"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
-
#: core/helpers/helper-form-templates.php:
|
1593 |
msgid "Hong Kong"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
-
#: core/helpers/helper-form-templates.php:
|
1597 |
msgid "Honduras"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
-
#: core/helpers/helper-form-templates.php:
|
1601 |
msgid "Croatia"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
-
#: core/helpers/helper-form-templates.php:
|
1605 |
msgid "Haiti"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
-
#: core/helpers/helper-form-templates.php:
|
1609 |
msgid "Hungary"
|
1610 |
msgstr ""
|
1611 |
|
1612 |
-
#: core/helpers/helper-form-templates.php:
|
1613 |
msgid "Indonesia"
|
1614 |
msgstr ""
|
1615 |
|
1616 |
-
#: core/helpers/helper-form-templates.php:
|
1617 |
msgid "Ireland"
|
1618 |
msgstr ""
|
1619 |
|
1620 |
-
#: core/helpers/helper-form-templates.php:
|
1621 |
msgid "Israel"
|
1622 |
msgstr ""
|
1623 |
|
1624 |
-
#: core/helpers/helper-form-templates.php:
|
1625 |
msgid "Isle of Man"
|
1626 |
msgstr ""
|
1627 |
|
1628 |
-
#: core/helpers/helper-form-templates.php:
|
1629 |
msgid "India"
|
1630 |
msgstr ""
|
1631 |
|
1632 |
-
#: core/helpers/helper-form-templates.php:
|
1633 |
msgid "British Indian Ocean Territory"
|
1634 |
msgstr ""
|
1635 |
|
1636 |
-
#: core/helpers/helper-form-templates.php:
|
1637 |
msgid "Iraq"
|
1638 |
msgstr ""
|
1639 |
|
1640 |
-
#: core/helpers/helper-form-templates.php:
|
1641 |
msgid "Iran, Islamic Republic of"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
-
#: core/helpers/helper-form-templates.php:
|
1645 |
msgid "Iceland"
|
1646 |
msgstr ""
|
1647 |
|
1648 |
-
#: core/helpers/helper-form-templates.php:
|
1649 |
msgid "Italy"
|
1650 |
msgstr ""
|
1651 |
|
1652 |
-
#: core/helpers/helper-form-templates.php:
|
1653 |
msgid "Jersey"
|
1654 |
msgstr ""
|
1655 |
|
1656 |
-
#: core/helpers/helper-form-templates.php:
|
1657 |
msgid "Jamaica"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
-
#: core/helpers/helper-form-templates.php:
|
1661 |
msgid "Jordan"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: core/helpers/helper-form-templates.php:
|
1665 |
msgid "Japan"
|
1666 |
msgstr ""
|
1667 |
|
1668 |
-
#: core/helpers/helper-form-templates.php:
|
1669 |
msgid "Kenya"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
-
#: core/helpers/helper-form-templates.php:
|
1673 |
msgid "Kyrgyzstan"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
-
#: core/helpers/helper-form-templates.php:
|
1677 |
msgid "Cambodia"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
-
#: core/helpers/helper-form-templates.php:
|
1681 |
msgid "Kiribati"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
-
#: core/helpers/helper-form-templates.php:
|
1685 |
msgid "Comoros"
|
1686 |
msgstr ""
|
1687 |
|
1688 |
-
#: core/helpers/helper-form-templates.php:
|
1689 |
msgid "Saint Kitts and Nevis"
|
1690 |
msgstr ""
|
1691 |
|
1692 |
-
#: core/helpers/helper-form-templates.php:
|
1693 |
msgid "North Korea"
|
1694 |
msgstr ""
|
1695 |
|
1696 |
-
#: core/helpers/helper-form-templates.php:
|
1697 |
msgid "South Korea"
|
1698 |
msgstr ""
|
1699 |
|
1700 |
-
#: core/helpers/helper-form-templates.php:
|
1701 |
msgid "Kuwait"
|
1702 |
msgstr ""
|
1703 |
|
1704 |
-
#: core/helpers/helper-form-templates.php:
|
1705 |
msgid "Cayman Islands"
|
1706 |
msgstr ""
|
1707 |
|
1708 |
-
#: core/helpers/helper-form-templates.php:
|
1709 |
msgid "Kazakhstan"
|
1710 |
msgstr ""
|
1711 |
|
1712 |
-
#: core/helpers/helper-form-templates.php:
|
1713 |
msgid "Lao People's Democratic Republic"
|
1714 |
msgstr ""
|
1715 |
|
1716 |
-
#: core/helpers/helper-form-templates.php:
|
1717 |
msgid "Lebanon"
|
1718 |
msgstr ""
|
1719 |
|
1720 |
-
#: core/helpers/helper-form-templates.php:
|
1721 |
msgid "Saint Lucia"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: core/helpers/helper-form-templates.php:
|
1725 |
msgid "Liechtenstein"
|
1726 |
msgstr ""
|
1727 |
|
1728 |
-
#: core/helpers/helper-form-templates.php:
|
1729 |
msgid "Sri Lanka"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
-
#: core/helpers/helper-form-templates.php:
|
1733 |
msgid "Liberia"
|
1734 |
msgstr ""
|
1735 |
|
1736 |
-
#: core/helpers/helper-form-templates.php:
|
1737 |
msgid "Lesotho"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
-
#: core/helpers/helper-form-templates.php:
|
1741 |
msgid "Lithuania"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
-
#: core/helpers/helper-form-templates.php:
|
1745 |
msgid "Luxembourg"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
-
#: core/helpers/helper-form-templates.php:
|
1749 |
msgid "Latvia"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
-
#: core/helpers/helper-form-templates.php:
|
1753 |
msgid "Libya"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
-
#: core/helpers/helper-form-templates.php:
|
1757 |
msgid "Morocco"
|
1758 |
msgstr ""
|
1759 |
|
1760 |
-
#: core/helpers/helper-form-templates.php:
|
1761 |
msgid "Monaco"
|
1762 |
msgstr ""
|
1763 |
|
1764 |
-
#: core/helpers/helper-form-templates.php:
|
1765 |
msgid "Moldova, Republic of"
|
1766 |
msgstr ""
|
1767 |
|
1768 |
-
#: core/helpers/helper-form-templates.php:
|
1769 |
msgid "Montenegro"
|
1770 |
msgstr ""
|
1771 |
|
1772 |
-
#: core/helpers/helper-form-templates.php:
|
1773 |
msgid "Saint Martin (French part)"
|
1774 |
msgstr ""
|
1775 |
|
1776 |
-
#: core/helpers/helper-form-templates.php:
|
1777 |
msgid "Madagascar"
|
1778 |
msgstr ""
|
1779 |
|
1780 |
-
#: core/helpers/helper-form-templates.php:
|
1781 |
msgid "Marshall Islands"
|
1782 |
msgstr ""
|
1783 |
|
1784 |
-
#: core/helpers/helper-form-templates.php:
|
1785 |
msgid "North Macedonia, Republic of"
|
1786 |
msgstr ""
|
1787 |
|
1788 |
-
#: core/helpers/helper-form-templates.php:
|
1789 |
msgid "Mali"
|
1790 |
msgstr ""
|
1791 |
|
1792 |
-
#: core/helpers/helper-form-templates.php:
|
1793 |
msgid "Myanmar"
|
1794 |
msgstr ""
|
1795 |
|
1796 |
-
#: core/helpers/helper-form-templates.php:
|
1797 |
msgid "Mongolia"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
-
#: core/helpers/helper-form-templates.php:
|
1801 |
msgid "Macao"
|
1802 |
msgstr ""
|
1803 |
|
1804 |
-
#: core/helpers/helper-form-templates.php:
|
1805 |
msgid "Northern Mariana Islands"
|
1806 |
msgstr ""
|
1807 |
|
1808 |
-
#: core/helpers/helper-form-templates.php:
|
1809 |
msgid "Martinique"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
-
#: core/helpers/helper-form-templates.php:
|
1813 |
msgid "Mauritania"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
-
#: core/helpers/helper-form-templates.php:
|
1817 |
msgid "Montserrat"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
-
#: core/helpers/helper-form-templates.php:
|
1821 |
msgid "Malta"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
-
#: core/helpers/helper-form-templates.php:
|
1825 |
msgid "Mauritius"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
-
#: core/helpers/helper-form-templates.php:
|
1829 |
msgid "Maldives"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
-
#: core/helpers/helper-form-templates.php:
|
1833 |
msgid "Malawi"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
-
#: core/helpers/helper-form-templates.php:
|
1837 |
msgid "Mexico"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
-
#: core/helpers/helper-form-templates.php:
|
1841 |
msgid "Malaysia"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
-
#: core/helpers/helper-form-templates.php:
|
1845 |
msgid "Mozambique"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
-
#: core/helpers/helper-form-templates.php:
|
1849 |
msgid "Namibia"
|
1850 |
msgstr ""
|
1851 |
|
1852 |
-
#: core/helpers/helper-form-templates.php:
|
1853 |
msgid "New Caledonia"
|
1854 |
msgstr ""
|
1855 |
|
1856 |
-
#: core/helpers/helper-form-templates.php:
|
1857 |
msgid "Niger"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
-
#: core/helpers/helper-form-templates.php:
|
1861 |
msgid "Norfolk Island"
|
1862 |
msgstr ""
|
1863 |
|
1864 |
-
#: core/helpers/helper-form-templates.php:
|
1865 |
msgid "Nigeria"
|
1866 |
msgstr ""
|
1867 |
|
1868 |
-
#: core/helpers/helper-form-templates.php:
|
1869 |
msgid "Nicaragua"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
-
#: core/helpers/helper-form-templates.php:
|
1873 |
msgid "Netherlands"
|
1874 |
msgstr ""
|
1875 |
|
1876 |
-
#: core/helpers/helper-form-templates.php:
|
1877 |
msgid "Norway"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
-
#: core/helpers/helper-form-templates.php:
|
1881 |
msgid "Nepal"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: core/helpers/helper-form-templates.php:
|
1885 |
msgid "Nauru"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
-
#: core/helpers/helper-form-templates.php:
|
1889 |
msgid "Niue"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
-
#: core/helpers/helper-form-templates.php:
|
1893 |
msgid "New Zealand"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
-
#: core/helpers/helper-form-templates.php:
|
1897 |
msgid "Oman"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
-
#: core/helpers/helper-form-templates.php:
|
1901 |
msgid "Panama"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
-
#: core/helpers/helper-form-templates.php:
|
1905 |
msgid "Peru"
|
1906 |
msgstr ""
|
1907 |
|
1908 |
-
#: core/helpers/helper-form-templates.php:
|
1909 |
msgid "French Polynesia"
|
1910 |
msgstr ""
|
1911 |
|
1912 |
-
#: core/helpers/helper-form-templates.php:
|
1913 |
msgid "Papua New Guinea"
|
1914 |
msgstr ""
|
1915 |
|
1916 |
-
#: core/helpers/helper-form-templates.php:
|
1917 |
msgid "Philippines"
|
1918 |
msgstr ""
|
1919 |
|
1920 |
-
#: core/helpers/helper-form-templates.php:
|
1921 |
msgid "Pakistan"
|
1922 |
msgstr ""
|
1923 |
|
1924 |
-
#: core/helpers/helper-form-templates.php:
|
1925 |
msgid "Poland"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
-
#: core/helpers/helper-form-templates.php:
|
1929 |
msgid "Saint Pierre and Miquelon"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
-
#: core/helpers/helper-form-templates.php:
|
1933 |
msgid "Puerto Rico"
|
1934 |
msgstr ""
|
1935 |
|
1936 |
-
#: core/helpers/helper-form-templates.php:
|
1937 |
msgid "Palestinian Territory, Occupied"
|
1938 |
msgstr ""
|
1939 |
|
1940 |
-
#: core/helpers/helper-form-templates.php:
|
1941 |
msgid "Portugal"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
-
#: core/helpers/helper-form-templates.php:
|
1945 |
msgid "Palau"
|
1946 |
msgstr ""
|
1947 |
|
1948 |
-
#: core/helpers/helper-form-templates.php:
|
1949 |
msgid "Paraguay"
|
1950 |
msgstr ""
|
1951 |
|
1952 |
-
#: core/helpers/helper-form-templates.php:
|
1953 |
msgid "Qatar"
|
1954 |
msgstr ""
|
1955 |
|
1956 |
-
#: core/helpers/helper-form-templates.php:
|
1957 |
msgid "Reunion"
|
1958 |
msgstr ""
|
1959 |
|
1960 |
-
#: core/helpers/helper-form-templates.php:
|
1961 |
msgid "Romania"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
-
#: core/helpers/helper-form-templates.php:
|
1965 |
msgid "Serbia"
|
1966 |
msgstr ""
|
1967 |
|
1968 |
-
#: core/helpers/helper-form-templates.php:
|
1969 |
msgid "Russian Federation"
|
1970 |
msgstr ""
|
1971 |
|
1972 |
-
#: core/helpers/helper-form-templates.php:
|
1973 |
msgid "Rwanda"
|
1974 |
msgstr ""
|
1975 |
|
1976 |
-
#: core/helpers/helper-form-templates.php:
|
1977 |
msgid "Saudi Arabia"
|
1978 |
msgstr ""
|
1979 |
|
1980 |
-
#: core/helpers/helper-form-templates.php:
|
1981 |
msgid "Solomon Islands"
|
1982 |
msgstr ""
|
1983 |
|
1984 |
-
#: core/helpers/helper-form-templates.php:
|
1985 |
msgid "Seychelles"
|
1986 |
msgstr ""
|
1987 |
|
1988 |
-
#: core/helpers/helper-form-templates.php:
|
1989 |
msgid "Sudan"
|
1990 |
msgstr ""
|
1991 |
|
1992 |
-
#: core/helpers/helper-form-templates.php:
|
1993 |
msgid "Sweden"
|
1994 |
msgstr ""
|
1995 |
|
1996 |
-
#: core/helpers/helper-form-templates.php:
|
1997 |
msgid "Singapore"
|
1998 |
msgstr ""
|
1999 |
|
2000 |
-
#: core/helpers/helper-form-templates.php:
|
2001 |
-
#: core/helpers/helper-form-templates.php:
|
2002 |
msgid "Saint Helena"
|
2003 |
msgstr ""
|
2004 |
|
2005 |
-
#: core/helpers/helper-form-templates.php:
|
2006 |
msgid "Slovenia"
|
2007 |
msgstr ""
|
2008 |
|
2009 |
-
#: core/helpers/helper-form-templates.php:
|
2010 |
msgid "Svalbard and Jan Mayen"
|
2011 |
msgstr ""
|
2012 |
|
2013 |
-
#: core/helpers/helper-form-templates.php:
|
2014 |
msgid "Slovakia"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
-
#: core/helpers/helper-form-templates.php:
|
2018 |
msgid "Sierra Leone"
|
2019 |
msgstr ""
|
2020 |
|
2021 |
-
#: core/helpers/helper-form-templates.php:
|
2022 |
msgid "San Marino"
|
2023 |
msgstr ""
|
2024 |
|
2025 |
-
#: core/helpers/helper-form-templates.php:
|
2026 |
msgid "Senegal"
|
2027 |
msgstr ""
|
2028 |
|
2029 |
-
#: core/helpers/helper-form-templates.php:
|
2030 |
msgid "Somalia"
|
2031 |
msgstr ""
|
2032 |
|
2033 |
-
#: core/helpers/helper-form-templates.php:
|
2034 |
msgid "Suriname"
|
2035 |
msgstr ""
|
2036 |
|
2037 |
-
#: core/helpers/helper-form-templates.php:
|
2038 |
msgid "South Sudan"
|
2039 |
msgstr ""
|
2040 |
|
2041 |
-
#: core/helpers/helper-form-templates.php:
|
2042 |
msgid "Sao Tome and Principe"
|
2043 |
msgstr ""
|
2044 |
|
2045 |
-
#: core/helpers/helper-form-templates.php:
|
2046 |
msgid "El Salvador"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
-
#: core/helpers/helper-form-templates.php:
|
2050 |
msgid "Sint Maarten (Dutch part)"
|
2051 |
msgstr ""
|
2052 |
|
2053 |
-
#: core/helpers/helper-form-templates.php:
|
2054 |
msgid "Syrian Arab Republic"
|
2055 |
msgstr ""
|
2056 |
|
2057 |
-
#: core/helpers/helper-form-templates.php:
|
2058 |
msgid "Eswatini"
|
2059 |
msgstr ""
|
2060 |
|
2061 |
-
#: core/helpers/helper-form-templates.php:
|
2062 |
msgid "Turks and Caicos Islands"
|
2063 |
msgstr ""
|
2064 |
|
2065 |
-
#: core/helpers/helper-form-templates.php:
|
2066 |
msgid "Chad"
|
2067 |
msgstr ""
|
2068 |
|
2069 |
-
#: core/helpers/helper-form-templates.php:
|
2070 |
msgid "Togo"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
-
#: core/helpers/helper-form-templates.php:
|
2074 |
msgid "Thailand"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
-
#: core/helpers/helper-form-templates.php:
|
2078 |
msgid "Tajikistan"
|
2079 |
msgstr ""
|
2080 |
|
2081 |
-
#: core/helpers/helper-form-templates.php:
|
2082 |
msgid "Tokelau"
|
2083 |
msgstr ""
|
2084 |
|
2085 |
-
#: core/helpers/helper-form-templates.php:
|
2086 |
msgid "Timor-Leste"
|
2087 |
msgstr ""
|
2088 |
|
2089 |
-
#: core/helpers/helper-form-templates.php:
|
2090 |
msgid "Turkmenistan"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
-
#: core/helpers/helper-form-templates.php:
|
2094 |
msgid "Tunisia"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
-
#: core/helpers/helper-form-templates.php:
|
2098 |
msgid "Tonga"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
-
#: core/helpers/helper-form-templates.php:
|
2102 |
msgid "Turkey"
|
2103 |
msgstr ""
|
2104 |
|
2105 |
-
#: core/helpers/helper-form-templates.php:
|
2106 |
msgid "Trinidad and Tobago"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
-
#: core/helpers/helper-form-templates.php:
|
2110 |
msgid "Tuvalu"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
-
#: core/helpers/helper-form-templates.php:
|
2114 |
msgid "Taiwan"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
-
#: core/helpers/helper-form-templates.php:
|
2118 |
msgid "Tanzania, United Republic of"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
-
#: core/helpers/helper-form-templates.php:
|
2122 |
msgid "Ukraine"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
-
#: core/helpers/helper-form-templates.php:
|
2126 |
msgid "Uganda"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
-
#: core/helpers/helper-form-templates.php:
|
2130 |
msgid "United States of America"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
-
#: core/helpers/helper-form-templates.php:
|
2134 |
msgid "Uruguay"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
-
#: core/helpers/helper-form-templates.php:
|
2138 |
msgid "Uzbekistan"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
-
#: core/helpers/helper-form-templates.php:
|
2142 |
msgid "Holy See (Vatican City State)"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: core/helpers/helper-form-templates.php:
|
2146 |
msgid "Saint Vincent and the Grenadines"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
-
#: core/helpers/helper-form-templates.php:
|
2150 |
msgid "Venezuela"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
-
#: core/helpers/helper-form-templates.php:
|
2154 |
msgid "Virgin Islands, British"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: core/helpers/helper-form-templates.php:
|
2158 |
msgid "Virgin Islands, U.S."
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: core/helpers/helper-form-templates.php:
|
2162 |
msgid "Vietnam"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: core/helpers/helper-form-templates.php:
|
2166 |
msgid "Vanuatu"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
-
#: core/helpers/helper-form-templates.php:
|
2170 |
msgid "Wallis and Futuna"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
-
#: core/helpers/helper-form-templates.php:
|
2174 |
msgid "Samoa"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
-
#: core/helpers/helper-form-templates.php:
|
2178 |
msgid "Kosovo"
|
2179 |
msgstr ""
|
2180 |
|
2181 |
-
#: core/helpers/helper-form-templates.php:
|
2182 |
msgid "Yemen"
|
2183 |
msgstr ""
|
2184 |
|
2185 |
-
#: core/helpers/helper-form-templates.php:
|
2186 |
msgid "Mayotte"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
-
#: core/helpers/helper-form-templates.php:
|
2190 |
msgid "South Africa"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
-
#: core/helpers/helper-form-templates.php:
|
2194 |
msgid "Zambia"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
-
#: core/helpers/helper-form-templates.php:
|
2198 |
msgid "Zimbabwe"
|
2199 |
msgstr ""
|
2200 |
|
@@ -2875,41 +2854,41 @@ msgid "Yoruba"
|
|
2875 |
msgstr ""
|
2876 |
|
2877 |
#: core/helpers/helper-misc.php:931
|
2878 |
-
#: core/templates/parts/customize-checkbox.php:
|
2879 |
-
#: core/templates/parts/customize-checkbox.php:
|
2880 |
-
#: core/templates/parts/customize-radio.php:
|
2881 |
msgid "Full"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
#: core/helpers/helper-misc.php:932
|
2885 |
-
#: core/templates/parts/customize-checkbox.php:
|
2886 |
-
#: core/templates/parts/customize-checkbox.php:
|
2887 |
-
#: core/templates/parts/customize-radio.php:
|
2888 |
msgid "Half"
|
2889 |
msgstr ""
|
2890 |
|
2891 |
#: core/helpers/helper-misc.php:933
|
2892 |
-
#: core/templates/parts/customize-checkbox.php:
|
2893 |
-
#: core/templates/parts/customize-checkbox.php:
|
2894 |
-
#: core/templates/parts/customize-radio.php:
|
2895 |
msgid "Third"
|
2896 |
msgstr ""
|
2897 |
|
2898 |
#: core/helpers/helper-misc.php:934
|
2899 |
-
#: core/templates/parts/customize-checkbox.php:
|
2900 |
-
#: core/templates/parts/customize-radio.php:
|
2901 |
msgid "Quarter"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
#: core/helpers/helper-misc.php:935
|
2905 |
-
#: core/templates/parts/customize-checkbox.php:
|
2906 |
-
#: core/templates/parts/customize-checkbox.php:
|
2907 |
-
#: core/templates/parts/customize-radio.php:
|
2908 |
msgid "Auto"
|
2909 |
msgstr ""
|
2910 |
|
2911 |
#: core/helpers/helper-misc.php:940
|
2912 |
-
#: core/templates/parts/customize-checkbox.php:
|
2913 |
msgid "Apply to all fields"
|
2914 |
msgstr ""
|
2915 |
|
@@ -2953,15 +2932,15 @@ msgstr ""
|
|
2953 |
msgid "You are customizing"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
-
#: core/templates/customize-form-build.php:
|
2957 |
msgid "Add title"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
-
#: core/templates/customize-form-build.php:
|
2961 |
msgid "Add fields here to appear in your form."
|
2962 |
msgstr ""
|
2963 |
|
2964 |
-
#: core/templates/customize-form-build.php:
|
2965 |
msgid "Add a Field"
|
2966 |
msgstr ""
|
2967 |
|
@@ -2975,15 +2954,15 @@ msgid "Setup"
|
|
2975 |
msgstr ""
|
2976 |
|
2977 |
#: core/templates/customize-form-item.php:24
|
2978 |
-
#: core/templates/customize-form-steps.php:
|
2979 |
msgid "Style"
|
2980 |
msgstr ""
|
2981 |
|
2982 |
#: core/templates/customize-form-item.php:33
|
2983 |
#: core/templates/customize-form-part-footer.php:3
|
2984 |
-
#: core/templates/parts/customize-checkbox.php:
|
2985 |
-
#: core/templates/parts/customize-radio.php:
|
2986 |
-
#: core/templates/parts/customize-select.php:
|
2987 |
msgid "Delete"
|
2988 |
msgstr ""
|
2989 |
|
@@ -2992,13 +2971,6 @@ msgid "Preview"
|
|
2992 |
msgstr ""
|
2993 |
|
2994 |
#: core/templates/customize-form-part-footer.php:5
|
2995 |
-
#: core/templates/parts/customize-checkbox.php:114
|
2996 |
-
#: core/templates/parts/customize-radio.php:97
|
2997 |
-
#: core/templates/parts/customize-select.php:95
|
2998 |
-
msgid "More"
|
2999 |
-
msgstr ""
|
3000 |
-
|
3001 |
-
#: core/templates/customize-form-part-footer.php:6
|
3002 |
#: core/templates/customize-form-part-logic.php:2
|
3003 |
msgid "Logic"
|
3004 |
msgstr ""
|
@@ -3028,6 +3000,10 @@ msgstr ""
|
|
3028 |
msgid "Email"
|
3029 |
msgstr ""
|
3030 |
|
|
|
|
|
|
|
|
|
3031 |
#: core/templates/customize-header-actions.php:5
|
3032 |
msgid "Save"
|
3033 |
msgstr ""
|
@@ -3064,7 +3040,7 @@ msgstr ""
|
|
3064 |
#: core/templates/parts/customize-checkbox.php:17
|
3065 |
#: core/templates/parts/customize-radio.php:17
|
3066 |
#: core/templates/parts/customize-select.php:21
|
3067 |
-
msgid "No choices added yet.
|
3068 |
msgstr ""
|
3069 |
|
3070 |
#: core/templates/parts/customize-checkbox.php:21
|
@@ -3098,146 +3074,120 @@ msgid "Cancel"
|
|
3098 |
msgstr ""
|
3099 |
|
3100 |
#: core/templates/parts/customize-checkbox.php:37
|
3101 |
-
#: core/templates/parts/customize-email.php:
|
3102 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
3103 |
-
#: core/templates/parts/customize-number.php:
|
3104 |
#: core/templates/parts/customize-radio.php:37
|
3105 |
#: core/templates/parts/customize-select.php:41
|
3106 |
-
#: core/templates/parts/customize-single-line-text.php:
|
3107 |
-
msgid "
|
3108 |
msgstr ""
|
3109 |
|
3110 |
-
#: core/templates/parts/customize-checkbox.php:
|
3111 |
msgid "Add 'select all' choice"
|
3112 |
msgstr ""
|
3113 |
|
3114 |
-
#: core/templates/parts/customize-checkbox.php:
|
3115 |
-
#: core/templates/parts/customize-radio.php:
|
3116 |
msgid "Choices display"
|
3117 |
msgstr ""
|
3118 |
|
3119 |
-
#: core/templates/parts/customize-checkbox.php:
|
3120 |
-
#: core/templates/parts/customize-radio.php:
|
3121 |
msgid "Horizontal"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: core/templates/parts/customize-checkbox.php:
|
3125 |
-
#: core/templates/parts/customize-radio.php:
|
3126 |
msgid "Vertical"
|
3127 |
msgstr ""
|
3128 |
|
3129 |
-
#: core/templates/parts/customize-checkbox.php:
|
3130 |
-
#: core/templates/parts/customize-radio.php:
|
3131 |
msgid "Choices width"
|
3132 |
msgstr ""
|
3133 |
|
3134 |
-
#: core/templates/parts/customize-checkbox.php:
|
3135 |
-
#: core/templates/parts/customize-email.php:
|
3136 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
3137 |
-
#: core/templates/parts/customize-number.php:
|
3138 |
-
#: core/templates/parts/customize-radio.php:
|
3139 |
-
#: core/templates/parts/customize-select.php:
|
3140 |
-
#: core/templates/parts/customize-single-line-text.php:
|
3141 |
msgid "CSS classes"
|
3142 |
msgstr ""
|
3143 |
|
3144 |
-
#: core/templates/parts/customize-checkbox.php:
|
3145 |
-
#: core/templates/parts/customize-radio.php:
|
3146 |
-
#: core/templates/parts/customize-select.php:
|
3147 |
msgid "Make this choice default"
|
3148 |
msgstr ""
|
3149 |
|
3150 |
-
#: core/templates/parts/customize-
|
3151 |
-
|
3152 |
-
|
3153 |
-
|
3154 |
-
#: core/templates/parts/customize-email.php:36
|
3155 |
-
#: core/templates/parts/customize-number.php:56
|
3156 |
-
msgid "Require confirmation"
|
3157 |
-
msgstr ""
|
3158 |
-
|
3159 |
-
#: core/templates/parts/customize-email.php:41
|
3160 |
-
#: core/templates/parts/customize-number.php:61
|
3161 |
-
msgid "'Confirmation' label"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
-
#: core/templates/parts/customize-email.php:
|
3165 |
-
#: core/templates/parts/customize-
|
3166 |
-
|
|
|
|
|
3167 |
msgstr ""
|
3168 |
|
3169 |
-
#: core/templates/parts/customize-email.php:
|
3170 |
-
#: core/templates/parts/customize-number.php:
|
3171 |
-
#: core/templates/parts/customize-single-line-text.php:
|
3172 |
msgid "Prefix"
|
3173 |
msgstr ""
|
3174 |
|
3175 |
-
#: core/templates/parts/customize-email.php:
|
3176 |
-
#: core/templates/parts/customize-number.php:
|
3177 |
-
#: core/templates/parts/customize-single-line-text.php:
|
3178 |
msgid "Suffix"
|
3179 |
msgstr ""
|
3180 |
|
3181 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
3182 |
msgid "Limit words/characters"
|
3183 |
msgstr ""
|
3184 |
|
3185 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
3186 |
msgid "Limit"
|
3187 |
msgstr ""
|
3188 |
|
3189 |
-
#: core/templates/parts/customize-multi-line-text.php:41
|
3190 |
-
msgid "Count"
|
3191 |
-
msgstr ""
|
3192 |
-
|
3193 |
#: core/templates/parts/customize-multi-line-text.php:44
|
3194 |
-
msgid "
|
3195 |
-
msgstr ""
|
3196 |
-
|
3197 |
-
#: core/templates/parts/customize-multi-line-text.php:45
|
3198 |
-
msgid "Max characters"
|
3199 |
-
msgstr ""
|
3200 |
-
|
3201 |
-
#: core/templates/parts/customize-multi-line-text.php:50
|
3202 |
-
msgid "'Characters' label"
|
3203 |
-
msgstr ""
|
3204 |
-
|
3205 |
-
#: core/templates/parts/customize-multi-line-text.php:54
|
3206 |
-
msgid "'Words' label"
|
3207 |
msgstr ""
|
3208 |
|
3209 |
-
#: core/templates/parts/customize-multi-line-text.php:
|
3210 |
msgid "Rows"
|
3211 |
msgstr ""
|
3212 |
|
3213 |
-
#: core/templates/parts/customize-number.php:
|
3214 |
msgid "Min number"
|
3215 |
msgstr ""
|
3216 |
|
3217 |
-
#: core/templates/parts/customize-number.php:
|
3218 |
msgid "Max number"
|
3219 |
msgstr ""
|
3220 |
|
3221 |
-
#: core/templates/parts/customize-number.php:
|
3222 |
msgid "Use number separators"
|
3223 |
msgstr ""
|
3224 |
|
3225 |
-
#: core/templates/parts/customize-number.php:
|
3226 |
msgid "Grouping"
|
3227 |
msgstr ""
|
3228 |
|
3229 |
-
#: core/templates/parts/customize-number.php:
|
3230 |
msgid "Decimal"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
-
#: core/templates/parts/customize-select.php:
|
3234 |
msgid "Make searchable"
|
3235 |
msgstr ""
|
3236 |
|
3237 |
-
#: core/templates/parts/customize-select.php:57
|
3238 |
-
msgid "'No results' label"
|
3239 |
-
msgstr ""
|
3240 |
-
|
3241 |
#: core/templates/preview-form-pencil.php:3
|
3242 |
msgid "Click to edit this part."
|
3243 |
msgstr ""
|
@@ -3277,7 +3227,7 @@ msgid ""
|
|
3277 |
msgstr ""
|
3278 |
|
3279 |
#: inc/classes/class-happyforms.php:132
|
3280 |
-
msgid "Save abandoned
|
3281 |
msgstr ""
|
3282 |
|
3283 |
#: inc/classes/class-happyforms.php:133
|
@@ -3285,7 +3235,7 @@ msgid "Keep incomplete users responses stored in your WordPress database."
|
|
3285 |
msgstr ""
|
3286 |
|
3287 |
#: inc/classes/class-happyforms.php:139
|
3288 |
-
msgid "
|
3289 |
msgstr ""
|
3290 |
|
3291 |
#: inc/classes/class-happyforms.php:140
|
@@ -3295,7 +3245,7 @@ msgid ""
|
|
3295 |
msgstr ""
|
3296 |
|
3297 |
#: inc/classes/class-happyforms.php:146
|
3298 |
-
msgid "
|
3299 |
msgstr ""
|
3300 |
|
3301 |
#: inc/classes/class-happyforms.php:147
|
@@ -3558,13 +3508,18 @@ msgstr ""
|
|
3558 |
msgid "field"
|
3559 |
msgstr ""
|
3560 |
|
|
|
|
|
|
|
|
|
3561 |
#. Author URI of the plugin/theme
|
3562 |
msgid "https://happyforms.me"
|
3563 |
msgstr ""
|
3564 |
|
3565 |
#. Description of the plugin/theme
|
3566 |
-
msgid ""
|
3567 |
-
|
3568 |
-
|
3569 |
-
|
|
|
3570 |
msgstr ""
|
1 |
+
# Copyright (C) 2021 Happyforms
|
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.10.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
|
7 |
+
"POT-Creation-Date: 2021-02-16 14:03:18+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Language-Team: The Theme Foundry\n"
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
15 |
|
16 |
+
#: core/classes/class-block.php:49 core/classes/class-form-controller.php:68
|
17 |
+
#: core/classes/class-happyforms-core.php:174
|
18 |
+
#: core/classes/class-happyforms-core.php:175
|
19 |
+
#: core/classes/class-happyforms-widget.php:13
|
20 |
+
msgid "Forms"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: core/classes/class-block.php:50 core/classes/class-happyforms-widget.php:15
|
24 |
+
msgid "Displays a form."
|
25 |
msgstr ""
|
26 |
|
27 |
#: core/classes/class-block.php:102
|
139 |
msgid "Last modified"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: core/classes/class-form-admin.php:353
|
143 |
msgid "Edit"
|
144 |
msgstr ""
|
145 |
|
161 |
msgid "Undo"
|
162 |
msgstr ""
|
163 |
|
|
|
|
|
|
|
|
|
164 |
#: core/classes/class-form-controller.php:69
|
165 |
msgid "Form"
|
166 |
msgstr ""
|
167 |
|
168 |
#: core/classes/class-form-controller.php:70
|
169 |
+
#: core/classes/class-happyforms-core.php:190
|
170 |
+
#: core/classes/class-happyforms-core.php:191
|
171 |
msgid "Add New"
|
172 |
msgstr ""
|
173 |
|
198 |
|
199 |
#: core/classes/class-form-controller.php:79
|
200 |
#: core/classes/class-form-controller.php:80
|
201 |
+
#: core/classes/class-happyforms-core.php:182
|
202 |
+
#: core/classes/class-happyforms-core.php:183
|
203 |
msgid "All Forms"
|
204 |
msgstr ""
|
205 |
|
207 |
msgid "(no title)"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: core/classes/class-form-controller.php:618
|
211 |
msgid " Copy"
|
212 |
msgstr ""
|
213 |
|
226 |
msgstr ""
|
227 |
|
228 |
#: core/classes/class-form-email.php:87
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
#: core/classes/class-form-email.php:102
|
237 |
msgid "Email Bcc address"
|
238 |
msgstr ""
|
239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
#: core/classes/class-form-email.php:108 core/classes/class-form-email.php:142
|
241 |
msgid "Email display name"
|
242 |
msgstr ""
|
243 |
|
|
|
|
|
|
|
|
|
244 |
#: core/classes/class-form-email.php:114 core/classes/class-form-email.php:148
|
245 |
msgid "Email subject"
|
246 |
msgstr ""
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
#: core/classes/class-form-email.php:123
|
249 |
+
msgid "Email respondent a copy of their submission"
|
250 |
msgstr ""
|
251 |
|
252 |
#: core/classes/class-form-email.php:132
|
257 |
msgid "Reply email address"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: core/classes/class-form-email.php:154
|
261 |
+
msgid "Email content"
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: core/classes/class-form-email.php:160
|
265 |
+
msgid "Include submitted values"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: core/classes/class-form-messages.php:32
|
269 |
+
#: core/templates/parts/customize-multi-line-text.php:47
|
270 |
+
msgid "Min words"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
#: core/classes/class-form-messages.php:36
|
274 |
+
#: core/classes/parts/class-part-multi-line-text.php:74
|
275 |
+
#: core/templates/parts/customize-multi-line-text.php:46
|
276 |
+
msgid "Max words"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: core/classes/class-form-messages.php:40
|
280 |
+
#: core/classes/parts/class-part-multi-line-text.php:70
|
281 |
+
#: core/templates/parts/customize-multi-line-text.php:49
|
282 |
+
msgid "Min characters"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: core/classes/class-form-messages.php:44
|
286 |
+
#: core/templates/parts/customize-multi-line-text.php:48
|
287 |
+
msgid "Max characters"
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: core/classes/class-form-messages.php:48
|
291 |
+
msgid "Nothing found"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: core/classes/class-form-messages.php:52
|
295 |
+
msgid "Oops. This number isn't big enough."
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: core/classes/class-form-messages.php:56
|
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 ""
|
373 |
|
374 |
+
#: core/classes/class-form-part-library.php:196
|
375 |
+
msgid "Field definition not found"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: core/classes/class-form-part-library.php:227
|
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 ""
|
591 |
|
592 |
#: core/classes/class-form-styles.php:560
|
593 |
#: core/classes/class-form-styles.php:885 core/helpers/helper-misc.php:929
|
594 |
+
#: core/templates/parts/customize-checkbox.php:68
|
595 |
msgid "Width"
|
596 |
msgstr ""
|
597 |
|
640 |
msgstr ""
|
641 |
|
642 |
#: core/classes/class-form-styles.php:615
|
|
|
643 |
#: inc/classes/parts/class-part-layout-title-dummy.php:8
|
644 |
#: inc/classes/parts/class-part-title-dummy.php:8
|
645 |
msgid "Title"
|
730 |
msgstr ""
|
731 |
|
732 |
#: core/classes/class-form-styles.php:720
|
733 |
+
msgid "Hint alignment"
|
734 |
msgstr ""
|
735 |
|
736 |
#: core/classes/class-form-styles.php:725
|
737 |
+
msgid "Hint font size"
|
738 |
msgstr ""
|
739 |
|
740 |
#: core/classes/class-form-styles.php:730
|
741 |
+
msgid "Hint display"
|
742 |
msgstr ""
|
743 |
|
744 |
#: core/classes/class-form-styles.php:735
|
751 |
|
752 |
#: core/classes/class-form-styles.php:750
|
753 |
#: core/templates/parts/customize-checkbox.php:4
|
754 |
+
#: core/templates/parts/customize-checkbox.php:102
|
755 |
#: core/templates/parts/customize-email.php:4
|
756 |
#: core/templates/parts/customize-multi-line-text.php:4
|
757 |
#: core/templates/parts/customize-number.php:4
|
758 |
#: core/templates/parts/customize-radio.php:4
|
759 |
+
#: core/templates/parts/customize-radio.php:85
|
760 |
#: core/templates/parts/customize-select.php:4
|
761 |
+
#: core/templates/parts/customize-select.php:77
|
762 |
#: core/templates/parts/customize-single-line-text.php:4
|
763 |
msgid "Label"
|
764 |
msgstr ""
|
779 |
|
780 |
#: core/classes/class-form-styles.php:765
|
781 |
#: core/templates/parts/customize-checkbox.php:8
|
782 |
+
#: core/templates/parts/customize-email.php:16
|
783 |
+
#: core/templates/parts/customize-multi-line-text.php:16
|
784 |
+
#: core/templates/parts/customize-number.php:16
|
785 |
#: core/templates/parts/customize-radio.php:8
|
786 |
#: core/templates/parts/customize-select.php:12
|
787 |
+
#: core/templates/parts/customize-single-line-text.php:16
|
788 |
+
msgid "Hint"
|
789 |
msgstr ""
|
790 |
|
791 |
#: core/classes/class-form-styles.php:770
|
891 |
msgid "Additional CSS"
|
892 |
msgstr ""
|
893 |
|
894 |
+
#: core/classes/class-happyforms-core.php:198
|
895 |
+
#: core/classes/class-happyforms-core.php:199
|
|
|
|
|
|
|
|
|
896 |
msgid "Activity"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: core/classes/class-happyforms-core.php:207
|
900 |
+
#: core/classes/class-happyforms-core.php:208
|
901 |
msgid "Integrations"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: core/classes/class-happyforms-core.php:216
|
905 |
+
#: core/classes/class-happyforms-core.php:217
|
906 |
msgid "Settings"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: core/classes/class-happyforms-core.php:225
|
910 |
+
#: core/classes/class-happyforms-core.php:226
|
911 |
msgid "Welcome"
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: core/classes/class-happyforms-core.php:459
|
915 |
+
msgid "Add form"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
916 |
msgstr ""
|
917 |
|
918 |
#: core/classes/class-happyforms-widget.php:79
|
953 |
msgid "Error description"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: core/classes/class-validation-messages.php:71
|
957 |
+
msgid "Field is answered incorrectly"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: core/classes/class-validation-messages.php:76
|
961 |
+
msgid "Required field isn't answered"
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: core/classes/class-validation-messages.php:81
|
965 |
+
msgid "Required choice isn't selected"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: core/classes/class-validation-messages.php:86
|
969 |
+
msgid "Too many words/characters typed"
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: core/classes/class-validation-messages.php:91
|
973 |
+
msgid "Not enough words/characters typed"
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: core/classes/class-validation-messages.php:101
|
977 |
+
msgid "Oops. Looks like there's a mistake here."
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: core/classes/class-validation-messages.php:105
|
981 |
+
msgid "Oops. Please answer this question."
|
982 |
+
msgstr ""
|
983 |
+
|
984 |
+
#: core/classes/class-validation-messages.php:109
|
985 |
+
msgid "Oops. Please make a selection."
|
986 |
+
msgstr ""
|
987 |
+
|
988 |
+
#: core/classes/class-validation-messages.php:113
|
989 |
+
msgid "Oops. This answer is too long."
|
990 |
+
msgstr ""
|
991 |
+
|
992 |
+
#: core/classes/class-validation-messages.php:117
|
993 |
+
msgid "Oops. This answer isn't long enough."
|
994 |
msgstr ""
|
995 |
|
996 |
#: core/classes/class-wp-customize-form-manager.php:167
|
1002 |
msgstr ""
|
1003 |
|
1004 |
#: core/classes/class-wp-customize-form-manager.php:169
|
1005 |
+
msgid "Add your form to a page or post"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
#: core/classes/class-wp-customize-form-manager.php:170
|
1010 |
msgstr ""
|
1011 |
|
1012 |
#: core/classes/class-wp-customize-form-manager.php:170
|
1013 |
+
msgid "Select the Forms content block."
|
1014 |
msgstr ""
|
1015 |
|
1016 |
#: core/classes/class-wp-customize-form-manager.php:170
|
1023 |
msgstr ""
|
1024 |
|
1025 |
#: core/classes/class-wp-customize-form-manager.php:171
|
1026 |
+
msgid "Use your form in a widget area"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
#: core/classes/class-wp-customize-form-manager.php:173
|
1031 |
msgstr ""
|
1032 |
|
1033 |
#: core/classes/class-wp-customize-form-manager.php:174
|
1034 |
+
msgid "Drag the Forms widget to your sidebar."
|
1035 |
msgstr ""
|
1036 |
|
1037 |
#: core/classes/class-wp-customize-form-manager.php:176
|
1059 |
msgid "For checkboxes allowing multiple selections."
|
1060 |
msgstr ""
|
1061 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1062 |
#: core/classes/parts/class-part-checkbox.php:83
|
1063 |
#: core/templates/parts/frontend-checkbox.php:13
|
1064 |
msgid "Select all"
|
1080 |
msgid "For paragraph text fields."
|
1081 |
msgstr ""
|
1082 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1083 |
#: core/classes/parts/class-part-number.php:8
|
1084 |
msgid "Number"
|
1085 |
msgstr ""
|
1104 |
msgid "For selecting one option from a long list. Default value adjustable."
|
1105 |
msgstr ""
|
1106 |
|
|
|
|
|
|
|
|
|
1107 |
#: core/classes/parts/class-part-single-line-text.php:8
|
1108 |
msgid "Short Answer"
|
1109 |
msgstr ""
|
1152 |
msgid "Spam protection, skip this field"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
+
#: core/helpers/helper-form-templates.php:1006
|
1156 |
msgid "January"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: core/helpers/helper-form-templates.php:1007
|
1160 |
msgid "February"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
+
#: core/helpers/helper-form-templates.php:1008
|
1164 |
msgid "March"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: core/helpers/helper-form-templates.php:1009
|
1168 |
msgid "April"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
+
#: core/helpers/helper-form-templates.php:1010
|
1172 |
msgid "May"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
+
#: core/helpers/helper-form-templates.php:1011
|
1176 |
msgid "June"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
+
#: core/helpers/helper-form-templates.php:1012
|
1180 |
msgid "July"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
+
#: core/helpers/helper-form-templates.php:1013
|
1184 |
msgid "August"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
+
#: core/helpers/helper-form-templates.php:1014
|
1188 |
msgid "September"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: core/helpers/helper-form-templates.php:1015
|
1192 |
msgid "October"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: core/helpers/helper-form-templates.php:1016
|
1196 |
msgid "November"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: core/helpers/helper-form-templates.php:1017
|
1200 |
msgid "December"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: core/helpers/helper-form-templates.php:1058
|
1204 |
msgid "Ascension Island"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: core/helpers/helper-form-templates.php:1059 core/helpers/helper-misc.php:228
|
1208 |
msgid "Andorra"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
+
#: core/helpers/helper-form-templates.php:1060 core/helpers/helper-misc.php:446
|
1212 |
msgid "United Arab Emirates"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
+
#: core/helpers/helper-form-templates.php:1061 core/helpers/helper-misc.php:224
|
1216 |
msgid "Afghanistan"
|
1217 |
msgstr ""
|
1218 |
|
1219 |
+
#: core/helpers/helper-form-templates.php:1062 core/helpers/helper-misc.php:232
|
1220 |
msgid "Antigua and Barbuda"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
+
#: core/helpers/helper-form-templates.php:1063 core/helpers/helper-misc.php:230
|
1224 |
msgid "Anguilla"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: core/helpers/helper-form-templates.php:1064 core/helpers/helper-misc.php:225
|
1228 |
msgid "Albania"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: core/helpers/helper-form-templates.php:1065 core/helpers/helper-misc.php:234
|
1232 |
msgid "Armenia"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: core/helpers/helper-form-templates.php:1066 core/helpers/helper-misc.php:229
|
1236 |
msgid "Angola"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: core/helpers/helper-form-templates.php:1067 core/helpers/helper-misc.php:233
|
1240 |
msgid "Argentina"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: core/helpers/helper-form-templates.php:1068 core/helpers/helper-misc.php:227
|
1244 |
msgid "American Samoa"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: core/helpers/helper-form-templates.php:1069 core/helpers/helper-misc.php:237
|
1248 |
msgid "Austria"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: core/helpers/helper-form-templates.php:1070 core/helpers/helper-misc.php:236
|
1252 |
msgid "Australia"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: core/helpers/helper-form-templates.php:1071 core/helpers/helper-misc.php:235
|
1256 |
msgid "Aruba"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: core/helpers/helper-form-templates.php:1072
|
1260 |
msgid "Åland Islands"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: core/helpers/helper-form-templates.php:1073 core/helpers/helper-misc.php:238
|
1264 |
msgid "Azerbaijan"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: core/helpers/helper-form-templates.php:1074
|
1268 |
msgid "Bosnia and Herzegovina"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: core/helpers/helper-form-templates.php:1075 core/helpers/helper-misc.php:242
|
1272 |
msgid "Barbados"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: core/helpers/helper-form-templates.php:1076 core/helpers/helper-misc.php:241
|
1276 |
msgid "Bangladesh"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: core/helpers/helper-form-templates.php:1077 core/helpers/helper-misc.php:244
|
1280 |
msgid "Belgium"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: core/helpers/helper-form-templates.php:1078 core/helpers/helper-misc.php:257
|
1284 |
msgid "Burkina Faso"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: core/helpers/helper-form-templates.php:1079 core/helpers/helper-misc.php:256
|
1288 |
msgid "Bulgaria"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: core/helpers/helper-form-templates.php:1080 core/helpers/helper-misc.php:240
|
1292 |
msgid "Bahrain"
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: core/helpers/helper-form-templates.php:1081 core/helpers/helper-misc.php:258
|
1296 |
msgid "Burundi"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
+
#: core/helpers/helper-form-templates.php:1082 core/helpers/helper-misc.php:246
|
1300 |
msgid "Benin"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
+
#: core/helpers/helper-form-templates.php:1083
|
1304 |
msgid "Saint Barthélemy"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
+
#: core/helpers/helper-form-templates.php:1084 core/helpers/helper-misc.php:247
|
1308 |
msgid "Bermuda"
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: core/helpers/helper-form-templates.php:1085 core/helpers/helper-misc.php:255
|
1312 |
msgid "Brunei Darussalam"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
+
#: core/helpers/helper-form-templates.php:1086 core/helpers/helper-misc.php:249
|
1316 |
msgid "Bolivia"
|
1317 |
msgstr ""
|
1318 |
|
1319 |
+
#: core/helpers/helper-form-templates.php:1087
|
1320 |
msgid "Bonaire, Sint Eustatius and Saba"
|
1321 |
msgstr ""
|
1322 |
|
1323 |
+
#: core/helpers/helper-form-templates.php:1088 core/helpers/helper-misc.php:253
|
1324 |
msgid "Brazil"
|
1325 |
msgstr ""
|
1326 |
|
1327 |
+
#: core/helpers/helper-form-templates.php:1089 core/helpers/helper-misc.php:239
|
1328 |
msgid "Bahamas"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: core/helpers/helper-form-templates.php:1090 core/helpers/helper-misc.php:248
|
1332 |
msgid "Bhutan"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: core/helpers/helper-form-templates.php:1091 core/helpers/helper-misc.php:251
|
1336 |
msgid "Botswana"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
+
#: core/helpers/helper-form-templates.php:1092 core/helpers/helper-misc.php:243
|
1340 |
msgid "Belarus"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: core/helpers/helper-form-templates.php:1093 core/helpers/helper-misc.php:245
|
1344 |
msgid "Belize"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#: core/helpers/helper-form-templates.php:1094 core/helpers/helper-misc.php:261
|
1348 |
msgid "Canada"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
+
#: core/helpers/helper-form-templates.php:1095 core/helpers/helper-misc.php:269
|
1352 |
msgid "Cocos (Keeling) Islands"
|
1353 |
msgstr ""
|
1354 |
|
1355 |
+
#: core/helpers/helper-form-templates.php:1096 core/helpers/helper-misc.php:273
|
1356 |
msgid "Congo, the Democratic Republic of the"
|
1357 |
msgstr ""
|
1358 |
|
1359 |
+
#: core/helpers/helper-form-templates.php:1097 core/helpers/helper-misc.php:264
|
1360 |
msgid "Central African Republic"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: core/helpers/helper-form-templates.php:1098 core/helpers/helper-misc.php:272
|
1364 |
msgid "Congo"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: core/helpers/helper-form-templates.php:1099 core/helpers/helper-misc.php:429
|
1368 |
msgid "Switzerland"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
+
#: core/helpers/helper-form-templates.php:1100
|
1372 |
msgid "Cote D'Ivoire"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: core/helpers/helper-form-templates.php:1101 core/helpers/helper-misc.php:274
|
1376 |
msgid "Cook Islands"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: core/helpers/helper-form-templates.php:1102 core/helpers/helper-misc.php:266
|
1380 |
msgid "Chile"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
+
#: core/helpers/helper-form-templates.php:1103 core/helpers/helper-misc.php:260
|
1384 |
msgid "Cameroon"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
+
#: core/helpers/helper-form-templates.php:1104 core/helpers/helper-misc.php:267
|
1388 |
msgid "China"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: core/helpers/helper-form-templates.php:1105 core/helpers/helper-misc.php:270
|
1392 |
msgid "Colombia"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: core/helpers/helper-form-templates.php:1106 core/helpers/helper-misc.php:275
|
1396 |
msgid "Costa Rica"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
+
#: core/helpers/helper-form-templates.php:1107 core/helpers/helper-misc.php:278
|
1400 |
msgid "Cuba"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
+
#: core/helpers/helper-form-templates.php:1108 core/helpers/helper-misc.php:262
|
1404 |
msgid "Cape Verde"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: core/helpers/helper-form-templates.php:1109
|
1408 |
msgid "Curaçao"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: core/helpers/helper-form-templates.php:1110 core/helpers/helper-misc.php:268
|
1412 |
msgid "Christmas Island"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: core/helpers/helper-form-templates.php:1111 core/helpers/helper-misc.php:279
|
1416 |
msgid "Cyprus"
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: core/helpers/helper-form-templates.php:1112 core/helpers/helper-misc.php:280
|
1420 |
msgid "Czech Republic"
|
1421 |
msgstr ""
|
1422 |
|
1423 |
+
#: core/helpers/helper-form-templates.php:1113 core/helpers/helper-misc.php:305
|
1424 |
msgid "Germany"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
+
#: core/helpers/helper-form-templates.php:1114 core/helpers/helper-misc.php:282
|
1428 |
msgid "Djibouti"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
+
#: core/helpers/helper-form-templates.php:1115 core/helpers/helper-misc.php:281
|
1432 |
msgid "Denmark"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
+
#: core/helpers/helper-form-templates.php:1116 core/helpers/helper-misc.php:283
|
1436 |
msgid "Dominica"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
+
#: core/helpers/helper-form-templates.php:1117 core/helpers/helper-misc.php:284
|
1440 |
msgid "Dominican Republic"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
+
#: core/helpers/helper-form-templates.php:1118 core/helpers/helper-misc.php:226
|
1444 |
msgid "Algeria"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
+
#: core/helpers/helper-form-templates.php:1119 core/helpers/helper-misc.php:286
|
1448 |
msgid "Ecuador"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: core/helpers/helper-form-templates.php:1120 core/helpers/helper-misc.php:291
|
1452 |
msgid "Estonia"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
+
#: core/helpers/helper-form-templates.php:1121 core/helpers/helper-misc.php:287
|
1456 |
msgid "Egypt"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
+
#: core/helpers/helper-form-templates.php:1122 core/helpers/helper-misc.php:458
|
1460 |
msgid "Western Sahara"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
+
#: core/helpers/helper-form-templates.php:1123 core/helpers/helper-misc.php:290
|
1464 |
msgid "Eritrea"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
+
#: core/helpers/helper-form-templates.php:1124 core/helpers/helper-misc.php:420
|
1468 |
msgid "Spain"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
+
#: core/helpers/helper-form-templates.php:1125 core/helpers/helper-misc.php:292
|
1472 |
msgid "Ethiopia"
|
1473 |
msgstr ""
|
1474 |
|
1475 |
+
#: core/helpers/helper-form-templates.php:1126 core/helpers/helper-misc.php:296
|
1476 |
msgid "Finland"
|
1477 |
msgstr ""
|
1478 |
|
1479 |
+
#: core/helpers/helper-form-templates.php:1127 core/helpers/helper-misc.php:295
|
1480 |
msgid "Fiji"
|
1481 |
msgstr ""
|
1482 |
|
1483 |
+
#: core/helpers/helper-form-templates.php:1128 core/helpers/helper-misc.php:293
|
1484 |
msgid "Falkland Islands (Malvinas)"
|
1485 |
msgstr ""
|
1486 |
|
1487 |
+
#: core/helpers/helper-form-templates.php:1129 core/helpers/helper-misc.php:364
|
1488 |
msgid "Micronesia, Federated States of"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
+
#: core/helpers/helper-form-templates.php:1130 core/helpers/helper-misc.php:294
|
1492 |
msgid "Faroe Islands"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
+
#: core/helpers/helper-form-templates.php:1131 core/helpers/helper-misc.php:297
|
1496 |
msgid "France"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
+
#: core/helpers/helper-form-templates.php:1132 core/helpers/helper-misc.php:302
|
1500 |
msgid "Gabon"
|
1501 |
msgstr ""
|
1502 |
|
1503 |
+
#: core/helpers/helper-form-templates.php:1133 core/helpers/helper-misc.php:447
|
1504 |
msgid "United Kingdom"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
+
#: core/helpers/helper-form-templates.php:1134 core/helpers/helper-misc.php:310
|
1508 |
msgid "Grenada"
|
1509 |
msgstr ""
|
1510 |
|
1511 |
+
#: core/helpers/helper-form-templates.php:1135 core/helpers/helper-misc.php:304
|
1512 |
msgid "Georgia"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
+
#: core/helpers/helper-form-templates.php:1136 core/helpers/helper-misc.php:299
|
1516 |
msgid "French Guiana"
|
1517 |
msgstr ""
|
1518 |
|
1519 |
+
#: core/helpers/helper-form-templates.php:1137
|
1520 |
msgid "Guernsey"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
+
#: core/helpers/helper-form-templates.php:1138 core/helpers/helper-misc.php:306
|
1524 |
msgid "Ghana"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: core/helpers/helper-form-templates.php:1139 core/helpers/helper-misc.php:307
|
1528 |
msgid "Gibraltar"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: core/helpers/helper-form-templates.php:1140 core/helpers/helper-misc.php:309
|
1532 |
msgid "Greenland"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: core/helpers/helper-form-templates.php:1141 core/helpers/helper-misc.php:303
|
1536 |
msgid "Gambia"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
+
#: core/helpers/helper-form-templates.php:1142 core/helpers/helper-misc.php:314
|
1540 |
msgid "Guinea"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
+
#: core/helpers/helper-form-templates.php:1143 core/helpers/helper-misc.php:311
|
1544 |
msgid "Guadeloupe"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: core/helpers/helper-form-templates.php:1144 core/helpers/helper-misc.php:289
|
1548 |
msgid "Equatorial Guinea"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: core/helpers/helper-form-templates.php:1145 core/helpers/helper-misc.php:308
|
1552 |
msgid "Greece"
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: core/helpers/helper-form-templates.php:1146 core/helpers/helper-misc.php:313
|
1556 |
msgid "Guatemala"
|
1557 |
msgstr ""
|
1558 |
|
1559 |
+
#: core/helpers/helper-form-templates.php:1147 core/helpers/helper-misc.php:312
|
1560 |
msgid "Guam"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
+
#: core/helpers/helper-form-templates.php:1148 core/helpers/helper-misc.php:315
|
1564 |
msgid "Guinea-Bissau"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
+
#: core/helpers/helper-form-templates.php:1149 core/helpers/helper-misc.php:316
|
1568 |
msgid "Guyana"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: core/helpers/helper-form-templates.php:1150 core/helpers/helper-misc.php:321
|
1572 |
msgid "Hong Kong"
|
1573 |
msgstr ""
|
1574 |
|
1575 |
+
#: core/helpers/helper-form-templates.php:1151 core/helpers/helper-misc.php:320
|
1576 |
msgid "Honduras"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: core/helpers/helper-form-templates.php:1152
|
1580 |
msgid "Croatia"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: core/helpers/helper-form-templates.php:1153 core/helpers/helper-misc.php:317
|
1584 |
msgid "Haiti"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
+
#: core/helpers/helper-form-templates.php:1154 core/helpers/helper-misc.php:322
|
1588 |
msgid "Hungary"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
+
#: core/helpers/helper-form-templates.php:1155 core/helpers/helper-misc.php:325
|
1592 |
msgid "Indonesia"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: core/helpers/helper-form-templates.php:1156 core/helpers/helper-misc.php:328
|
1596 |
msgid "Ireland"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: core/helpers/helper-form-templates.php:1157 core/helpers/helper-misc.php:329
|
1600 |
msgid "Israel"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
+
#: core/helpers/helper-form-templates.php:1158
|
1604 |
msgid "Isle of Man"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: core/helpers/helper-form-templates.php:1159 core/helpers/helper-misc.php:324
|
1608 |
msgid "India"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: core/helpers/helper-form-templates.php:1160 core/helpers/helper-misc.php:254
|
1612 |
msgid "British Indian Ocean Territory"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: core/helpers/helper-form-templates.php:1161 core/helpers/helper-misc.php:327
|
1616 |
msgid "Iraq"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: core/helpers/helper-form-templates.php:1162
|
1620 |
msgid "Iran, Islamic Republic of"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: core/helpers/helper-form-templates.php:1163 core/helpers/helper-misc.php:323
|
1624 |
msgid "Iceland"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
+
#: core/helpers/helper-form-templates.php:1164 core/helpers/helper-misc.php:330
|
1628 |
msgid "Italy"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: core/helpers/helper-form-templates.php:1165
|
1632 |
msgid "Jersey"
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: core/helpers/helper-form-templates.php:1166 core/helpers/helper-misc.php:331
|
1636 |
msgid "Jamaica"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
+
#: core/helpers/helper-form-templates.php:1167 core/helpers/helper-misc.php:333
|
1640 |
msgid "Jordan"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
+
#: core/helpers/helper-form-templates.php:1168 core/helpers/helper-misc.php:332
|
1644 |
msgid "Japan"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: core/helpers/helper-form-templates.php:1169 core/helpers/helper-misc.php:335
|
1648 |
msgid "Kenya"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: core/helpers/helper-form-templates.php:1170 core/helpers/helper-misc.php:340
|
1652 |
msgid "Kyrgyzstan"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: core/helpers/helper-form-templates.php:1171 core/helpers/helper-misc.php:259
|
1656 |
msgid "Cambodia"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: core/helpers/helper-form-templates.php:1172 core/helpers/helper-misc.php:336
|
1660 |
msgid "Kiribati"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: core/helpers/helper-form-templates.php:1173 core/helpers/helper-misc.php:271
|
1664 |
msgid "Comoros"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: core/helpers/helper-form-templates.php:1174 core/helpers/helper-misc.php:403
|
1668 |
msgid "Saint Kitts and Nevis"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: core/helpers/helper-form-templates.php:1175
|
1672 |
msgid "North Korea"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: core/helpers/helper-form-templates.php:1176
|
1676 |
msgid "South Korea"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: core/helpers/helper-form-templates.php:1177 core/helpers/helper-misc.php:339
|
1680 |
msgid "Kuwait"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: core/helpers/helper-form-templates.php:1178 core/helpers/helper-misc.php:263
|
1684 |
msgid "Cayman Islands"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: core/helpers/helper-form-templates.php:1179 core/helpers/helper-misc.php:334
|
1688 |
msgid "Kazakhstan"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: core/helpers/helper-form-templates.php:1180
|
1692 |
msgid "Lao People's Democratic Republic"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: core/helpers/helper-form-templates.php:1181 core/helpers/helper-misc.php:343
|
1696 |
msgid "Lebanon"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: core/helpers/helper-form-templates.php:1182 core/helpers/helper-misc.php:404
|
1700 |
msgid "Saint Lucia"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: core/helpers/helper-form-templates.php:1183 core/helpers/helper-misc.php:347
|
1704 |
msgid "Liechtenstein"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
+
#: core/helpers/helper-form-templates.php:1184 core/helpers/helper-misc.php:421
|
1708 |
msgid "Sri Lanka"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: core/helpers/helper-form-templates.php:1185 core/helpers/helper-misc.php:345
|
1712 |
msgid "Liberia"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: core/helpers/helper-form-templates.php:1186 core/helpers/helper-misc.php:344
|
1716 |
msgid "Lesotho"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: core/helpers/helper-form-templates.php:1187 core/helpers/helper-misc.php:348
|
1720 |
msgid "Lithuania"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: core/helpers/helper-form-templates.php:1188 core/helpers/helper-misc.php:349
|
1724 |
msgid "Luxembourg"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: core/helpers/helper-form-templates.php:1189 core/helpers/helper-misc.php:342
|
1728 |
msgid "Latvia"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: core/helpers/helper-form-templates.php:1190
|
1732 |
msgid "Libya"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: core/helpers/helper-form-templates.php:1191 core/helpers/helper-misc.php:369
|
1736 |
msgid "Morocco"
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: core/helpers/helper-form-templates.php:1192 core/helpers/helper-misc.php:366
|
1740 |
msgid "Monaco"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: core/helpers/helper-form-templates.php:1193 core/helpers/helper-misc.php:365
|
1744 |
msgid "Moldova, Republic of"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: core/helpers/helper-form-templates.php:1194
|
1748 |
msgid "Montenegro"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: core/helpers/helper-form-templates.php:1195
|
1752 |
msgid "Saint Martin (French part)"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: core/helpers/helper-form-templates.php:1196 core/helpers/helper-misc.php:352
|
1756 |
msgid "Madagascar"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: core/helpers/helper-form-templates.php:1197 core/helpers/helper-misc.php:358
|
1760 |
msgid "Marshall Islands"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: core/helpers/helper-form-templates.php:1198
|
1764 |
msgid "North Macedonia, Republic of"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: core/helpers/helper-form-templates.php:1199 core/helpers/helper-misc.php:356
|
1768 |
msgid "Mali"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: core/helpers/helper-form-templates.php:1200 core/helpers/helper-misc.php:371
|
1772 |
msgid "Myanmar"
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: core/helpers/helper-form-templates.php:1201 core/helpers/helper-misc.php:367
|
1776 |
msgid "Mongolia"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: core/helpers/helper-form-templates.php:1202
|
1780 |
msgid "Macao"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: core/helpers/helper-form-templates.php:1203 core/helpers/helper-misc.php:384
|
1784 |
msgid "Northern Mariana Islands"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: core/helpers/helper-form-templates.php:1204 core/helpers/helper-misc.php:359
|
1788 |
msgid "Martinique"
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: core/helpers/helper-form-templates.php:1205 core/helpers/helper-misc.php:360
|
1792 |
msgid "Mauritania"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: core/helpers/helper-form-templates.php:1206 core/helpers/helper-misc.php:368
|
1796 |
msgid "Montserrat"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: core/helpers/helper-form-templates.php:1207 core/helpers/helper-misc.php:357
|
1800 |
msgid "Malta"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: core/helpers/helper-form-templates.php:1208 core/helpers/helper-misc.php:361
|
1804 |
msgid "Mauritius"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: core/helpers/helper-form-templates.php:1209 core/helpers/helper-misc.php:355
|
1808 |
msgid "Maldives"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
+
#: core/helpers/helper-form-templates.php:1210 core/helpers/helper-misc.php:353
|
1812 |
msgid "Malawi"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
+
#: core/helpers/helper-form-templates.php:1211 core/helpers/helper-misc.php:363
|
1816 |
msgid "Mexico"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
+
#: core/helpers/helper-form-templates.php:1212 core/helpers/helper-misc.php:354
|
1820 |
msgid "Malaysia"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
+
#: core/helpers/helper-form-templates.php:1213 core/helpers/helper-misc.php:370
|
1824 |
msgid "Mozambique"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
+
#: core/helpers/helper-form-templates.php:1214 core/helpers/helper-misc.php:372
|
1828 |
msgid "Namibia"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
+
#: core/helpers/helper-form-templates.php:1215 core/helpers/helper-misc.php:377
|
1832 |
msgid "New Caledonia"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: core/helpers/helper-form-templates.php:1216 core/helpers/helper-misc.php:380
|
1836 |
msgid "Niger"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
+
#: core/helpers/helper-form-templates.php:1217 core/helpers/helper-misc.php:383
|
1840 |
msgid "Norfolk Island"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: core/helpers/helper-form-templates.php:1218 core/helpers/helper-misc.php:381
|
1844 |
msgid "Nigeria"
|
1845 |
msgstr ""
|
1846 |
|
1847 |
+
#: core/helpers/helper-form-templates.php:1219 core/helpers/helper-misc.php:379
|
1848 |
msgid "Nicaragua"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
+
#: core/helpers/helper-form-templates.php:1220 core/helpers/helper-misc.php:375
|
1852 |
msgid "Netherlands"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
+
#: core/helpers/helper-form-templates.php:1221 core/helpers/helper-misc.php:385
|
1856 |
msgid "Norway"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
+
#: core/helpers/helper-form-templates.php:1222 core/helpers/helper-misc.php:374
|
1860 |
msgid "Nepal"
|
1861 |
msgstr ""
|
1862 |
|
1863 |
+
#: core/helpers/helper-form-templates.php:1223 core/helpers/helper-misc.php:373
|
1864 |
msgid "Nauru"
|
1865 |
msgstr ""
|
1866 |
|
1867 |
+
#: core/helpers/helper-form-templates.php:1224 core/helpers/helper-misc.php:382
|
1868 |
msgid "Niue"
|
1869 |
msgstr ""
|
1870 |
|
1871 |
+
#: core/helpers/helper-form-templates.php:1225 core/helpers/helper-misc.php:378
|
1872 |
msgid "New Zealand"
|
1873 |
msgstr ""
|
1874 |
|
1875 |
+
#: core/helpers/helper-form-templates.php:1226 core/helpers/helper-misc.php:386
|
1876 |
msgid "Oman"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
+
#: core/helpers/helper-form-templates.php:1227 core/helpers/helper-misc.php:389
|
1880 |
msgid "Panama"
|
1881 |
msgstr ""
|
1882 |
|
1883 |
+
#: core/helpers/helper-form-templates.php:1228 core/helpers/helper-misc.php:392
|
1884 |
msgid "Peru"
|
1885 |
msgstr ""
|
1886 |
|
1887 |
+
#: core/helpers/helper-form-templates.php:1229 core/helpers/helper-misc.php:300
|
1888 |
msgid "French Polynesia"
|
1889 |
msgstr ""
|
1890 |
|
1891 |
+
#: core/helpers/helper-form-templates.php:1230 core/helpers/helper-misc.php:390
|
1892 |
msgid "Papua New Guinea"
|
1893 |
msgstr ""
|
1894 |
|
1895 |
+
#: core/helpers/helper-form-templates.php:1231 core/helpers/helper-misc.php:393
|
1896 |
msgid "Philippines"
|
1897 |
msgstr ""
|
1898 |
|
1899 |
+
#: core/helpers/helper-form-templates.php:1232 core/helpers/helper-misc.php:387
|
1900 |
msgid "Pakistan"
|
1901 |
msgstr ""
|
1902 |
|
1903 |
+
#: core/helpers/helper-form-templates.php:1233 core/helpers/helper-misc.php:395
|
1904 |
msgid "Poland"
|
1905 |
msgstr ""
|
1906 |
|
1907 |
+
#: core/helpers/helper-form-templates.php:1234
|
1908 |
msgid "Saint Pierre and Miquelon"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
+
#: core/helpers/helper-form-templates.php:1235 core/helpers/helper-misc.php:397
|
1912 |
msgid "Puerto Rico"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
+
#: core/helpers/helper-form-templates.php:1236
|
1916 |
msgid "Palestinian Territory, Occupied"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
+
#: core/helpers/helper-form-templates.php:1237 core/helpers/helper-misc.php:396
|
1920 |
msgid "Portugal"
|
1921 |
msgstr ""
|
1922 |
|
1923 |
+
#: core/helpers/helper-form-templates.php:1238 core/helpers/helper-misc.php:388
|
1924 |
msgid "Palau"
|
1925 |
msgstr ""
|
1926 |
|
1927 |
+
#: core/helpers/helper-form-templates.php:1239 core/helpers/helper-misc.php:391
|
1928 |
msgid "Paraguay"
|
1929 |
msgstr ""
|
1930 |
|
1931 |
+
#: core/helpers/helper-form-templates.php:1240 core/helpers/helper-misc.php:398
|
1932 |
msgid "Qatar"
|
1933 |
msgstr ""
|
1934 |
|
1935 |
+
#: core/helpers/helper-form-templates.php:1241 core/helpers/helper-misc.php:399
|
1936 |
msgid "Reunion"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
+
#: core/helpers/helper-form-templates.php:1242 core/helpers/helper-misc.php:400
|
1940 |
msgid "Romania"
|
1941 |
msgstr ""
|
1942 |
|
1943 |
+
#: core/helpers/helper-form-templates.php:1243
|
1944 |
msgid "Serbia"
|
1945 |
msgstr ""
|
1946 |
|
1947 |
+
#: core/helpers/helper-form-templates.php:1244 core/helpers/helper-misc.php:401
|
1948 |
msgid "Russian Federation"
|
1949 |
msgstr ""
|
1950 |
|
1951 |
+
#: core/helpers/helper-form-templates.php:1245 core/helpers/helper-misc.php:402
|
1952 |
msgid "Rwanda"
|
1953 |
msgstr ""
|
1954 |
|
1955 |
+
#: core/helpers/helper-form-templates.php:1246 core/helpers/helper-misc.php:409
|
1956 |
msgid "Saudi Arabia"
|
1957 |
msgstr ""
|
1958 |
|
1959 |
+
#: core/helpers/helper-form-templates.php:1247 core/helpers/helper-misc.php:416
|
1960 |
msgid "Solomon Islands"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
+
#: core/helpers/helper-form-templates.php:1248 core/helpers/helper-misc.php:411
|
1964 |
msgid "Seychelles"
|
1965 |
msgstr ""
|
1966 |
|
1967 |
+
#: core/helpers/helper-form-templates.php:1249 core/helpers/helper-misc.php:424
|
1968 |
msgid "Sudan"
|
1969 |
msgstr ""
|
1970 |
|
1971 |
+
#: core/helpers/helper-form-templates.php:1250 core/helpers/helper-misc.php:428
|
1972 |
msgid "Sweden"
|
1973 |
msgstr ""
|
1974 |
|
1975 |
+
#: core/helpers/helper-form-templates.php:1251 core/helpers/helper-misc.php:413
|
1976 |
msgid "Singapore"
|
1977 |
msgstr ""
|
1978 |
|
1979 |
+
#: core/helpers/helper-form-templates.php:1252
|
1980 |
+
#: core/helpers/helper-form-templates.php:1267
|
1981 |
msgid "Saint Helena"
|
1982 |
msgstr ""
|
1983 |
|
1984 |
+
#: core/helpers/helper-form-templates.php:1253 core/helpers/helper-misc.php:415
|
1985 |
msgid "Slovenia"
|
1986 |
msgstr ""
|
1987 |
|
1988 |
+
#: core/helpers/helper-form-templates.php:1254
|
1989 |
msgid "Svalbard and Jan Mayen"
|
1990 |
msgstr ""
|
1991 |
|
1992 |
+
#: core/helpers/helper-form-templates.php:1255
|
1993 |
msgid "Slovakia"
|
1994 |
msgstr ""
|
1995 |
|
1996 |
+
#: core/helpers/helper-form-templates.php:1256 core/helpers/helper-misc.php:412
|
1997 |
msgid "Sierra Leone"
|
1998 |
msgstr ""
|
1999 |
|
2000 |
+
#: core/helpers/helper-form-templates.php:1257 core/helpers/helper-misc.php:407
|
2001 |
msgid "San Marino"
|
2002 |
msgstr ""
|
2003 |
|
2004 |
+
#: core/helpers/helper-form-templates.php:1258 core/helpers/helper-misc.php:410
|
2005 |
msgid "Senegal"
|
2006 |
msgstr ""
|
2007 |
|
2008 |
+
#: core/helpers/helper-form-templates.php:1259 core/helpers/helper-misc.php:417
|
2009 |
msgid "Somalia"
|
2010 |
msgstr ""
|
2011 |
|
2012 |
+
#: core/helpers/helper-form-templates.php:1260 core/helpers/helper-misc.php:425
|
2013 |
msgid "Suriname"
|
2014 |
msgstr ""
|
2015 |
|
2016 |
+
#: core/helpers/helper-form-templates.php:1261
|
2017 |
msgid "South Sudan"
|
2018 |
msgstr ""
|
2019 |
|
2020 |
+
#: core/helpers/helper-form-templates.php:1262 core/helpers/helper-misc.php:408
|
2021 |
msgid "Sao Tome and Principe"
|
2022 |
msgstr ""
|
2023 |
|
2024 |
+
#: core/helpers/helper-form-templates.php:1263 core/helpers/helper-misc.php:288
|
2025 |
msgid "El Salvador"
|
2026 |
msgstr ""
|
2027 |
|
2028 |
+
#: core/helpers/helper-form-templates.php:1264
|
2029 |
msgid "Sint Maarten (Dutch part)"
|
2030 |
msgstr ""
|
2031 |
|
2032 |
+
#: core/helpers/helper-form-templates.php:1265 core/helpers/helper-misc.php:430
|
2033 |
msgid "Syrian Arab Republic"
|
2034 |
msgstr ""
|
2035 |
|
2036 |
+
#: core/helpers/helper-form-templates.php:1266
|
2037 |
msgid "Eswatini"
|
2038 |
msgstr ""
|
2039 |
|
2040 |
+
#: core/helpers/helper-form-templates.php:1268 core/helpers/helper-misc.php:442
|
2041 |
msgid "Turks and Caicos Islands"
|
2042 |
msgstr ""
|
2043 |
|
2044 |
+
#: core/helpers/helper-form-templates.php:1269 core/helpers/helper-misc.php:265
|
2045 |
msgid "Chad"
|
2046 |
msgstr ""
|
2047 |
|
2048 |
+
#: core/helpers/helper-form-templates.php:1270 core/helpers/helper-misc.php:435
|
2049 |
msgid "Togo"
|
2050 |
msgstr ""
|
2051 |
|
2052 |
+
#: core/helpers/helper-form-templates.php:1271 core/helpers/helper-misc.php:434
|
2053 |
msgid "Thailand"
|
2054 |
msgstr ""
|
2055 |
|
2056 |
+
#: core/helpers/helper-form-templates.php:1272 core/helpers/helper-misc.php:432
|
2057 |
msgid "Tajikistan"
|
2058 |
msgstr ""
|
2059 |
|
2060 |
+
#: core/helpers/helper-form-templates.php:1273 core/helpers/helper-misc.php:436
|
2061 |
msgid "Tokelau"
|
2062 |
msgstr ""
|
2063 |
|
2064 |
+
#: core/helpers/helper-form-templates.php:1274
|
2065 |
msgid "Timor-Leste"
|
2066 |
msgstr ""
|
2067 |
|
2068 |
+
#: core/helpers/helper-form-templates.php:1275 core/helpers/helper-misc.php:441
|
2069 |
msgid "Turkmenistan"
|
2070 |
msgstr ""
|
2071 |
|
2072 |
+
#: core/helpers/helper-form-templates.php:1276 core/helpers/helper-misc.php:439
|
2073 |
msgid "Tunisia"
|
2074 |
msgstr ""
|
2075 |
|
2076 |
+
#: core/helpers/helper-form-templates.php:1277 core/helpers/helper-misc.php:437
|
2077 |
msgid "Tonga"
|
2078 |
msgstr ""
|
2079 |
|
2080 |
+
#: core/helpers/helper-form-templates.php:1278 core/helpers/helper-misc.php:440
|
2081 |
msgid "Turkey"
|
2082 |
msgstr ""
|
2083 |
|
2084 |
+
#: core/helpers/helper-form-templates.php:1279 core/helpers/helper-misc.php:438
|
2085 |
msgid "Trinidad and Tobago"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
+
#: core/helpers/helper-form-templates.php:1280 core/helpers/helper-misc.php:443
|
2089 |
msgid "Tuvalu"
|
2090 |
msgstr ""
|
2091 |
|
2092 |
+
#: core/helpers/helper-form-templates.php:1281
|
2093 |
msgid "Taiwan"
|
2094 |
msgstr ""
|
2095 |
|
2096 |
+
#: core/helpers/helper-form-templates.php:1282 core/helpers/helper-misc.php:433
|
2097 |
msgid "Tanzania, United Republic of"
|
2098 |
msgstr ""
|
2099 |
|
2100 |
+
#: core/helpers/helper-form-templates.php:1283 core/helpers/helper-misc.php:445
|
2101 |
msgid "Ukraine"
|
2102 |
msgstr ""
|
2103 |
|
2104 |
+
#: core/helpers/helper-form-templates.php:1284 core/helpers/helper-misc.php:444
|
2105 |
msgid "Uganda"
|
2106 |
msgstr ""
|
2107 |
|
2108 |
+
#: core/helpers/helper-form-templates.php:1285
|
2109 |
msgid "United States of America"
|
2110 |
msgstr ""
|
2111 |
|
2112 |
+
#: core/helpers/helper-form-templates.php:1286 core/helpers/helper-misc.php:450
|
2113 |
msgid "Uruguay"
|
2114 |
msgstr ""
|
2115 |
|
2116 |
+
#: core/helpers/helper-form-templates.php:1287 core/helpers/helper-misc.php:451
|
2117 |
msgid "Uzbekistan"
|
2118 |
msgstr ""
|
2119 |
|
2120 |
+
#: core/helpers/helper-form-templates.php:1288 core/helpers/helper-misc.php:319
|
2121 |
msgid "Holy See (Vatican City State)"
|
2122 |
msgstr ""
|
2123 |
|
2124 |
+
#: core/helpers/helper-form-templates.php:1289 core/helpers/helper-misc.php:405
|
2125 |
msgid "Saint Vincent and the Grenadines"
|
2126 |
msgstr ""
|
2127 |
|
2128 |
+
#: core/helpers/helper-form-templates.php:1290 core/helpers/helper-misc.php:453
|
2129 |
msgid "Venezuela"
|
2130 |
msgstr ""
|
2131 |
|
2132 |
+
#: core/helpers/helper-form-templates.php:1291
|
2133 |
msgid "Virgin Islands, British"
|
2134 |
msgstr ""
|
2135 |
|
2136 |
+
#: core/helpers/helper-form-templates.php:1292
|
2137 |
msgid "Virgin Islands, U.S."
|
2138 |
msgstr ""
|
2139 |
|
2140 |
+
#: core/helpers/helper-form-templates.php:1293 core/helpers/helper-misc.php:454
|
2141 |
msgid "Vietnam"
|
2142 |
msgstr ""
|
2143 |
|
2144 |
+
#: core/helpers/helper-form-templates.php:1294 core/helpers/helper-misc.php:452
|
2145 |
msgid "Vanuatu"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
+
#: core/helpers/helper-form-templates.php:1295
|
2149 |
msgid "Wallis and Futuna"
|
2150 |
msgstr ""
|
2151 |
|
2152 |
+
#: core/helpers/helper-form-templates.php:1296 core/helpers/helper-misc.php:406
|
2153 |
msgid "Samoa"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
+
#: core/helpers/helper-form-templates.php:1297
|
2157 |
msgid "Kosovo"
|
2158 |
msgstr ""
|
2159 |
|
2160 |
+
#: core/helpers/helper-form-templates.php:1298 core/helpers/helper-misc.php:459
|
2161 |
msgid "Yemen"
|
2162 |
msgstr ""
|
2163 |
|
2164 |
+
#: core/helpers/helper-form-templates.php:1299 core/helpers/helper-misc.php:362
|
2165 |
msgid "Mayotte"
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: core/helpers/helper-form-templates.php:1300 core/helpers/helper-misc.php:418
|
2169 |
msgid "South Africa"
|
2170 |
msgstr ""
|
2171 |
|
2172 |
+
#: core/helpers/helper-form-templates.php:1301 core/helpers/helper-misc.php:461
|
2173 |
msgid "Zambia"
|
2174 |
msgstr ""
|
2175 |
|
2176 |
+
#: core/helpers/helper-form-templates.php:1302 core/helpers/helper-misc.php:462
|
2177 |
msgid "Zimbabwe"
|
2178 |
msgstr ""
|
2179 |
|
2854 |
msgstr ""
|
2855 |
|
2856 |
#: core/helpers/helper-misc.php:931
|
2857 |
+
#: core/templates/parts/customize-checkbox.php:60
|
2858 |
+
#: core/templates/parts/customize-checkbox.php:70
|
2859 |
+
#: core/templates/parts/customize-radio.php:55
|
2860 |
msgid "Full"
|
2861 |
msgstr ""
|
2862 |
|
2863 |
#: core/helpers/helper-misc.php:932
|
2864 |
+
#: core/templates/parts/customize-checkbox.php:61
|
2865 |
+
#: core/templates/parts/customize-checkbox.php:71
|
2866 |
+
#: core/templates/parts/customize-radio.php:56
|
2867 |
msgid "Half"
|
2868 |
msgstr ""
|
2869 |
|
2870 |
#: core/helpers/helper-misc.php:933
|
2871 |
+
#: core/templates/parts/customize-checkbox.php:62
|
2872 |
+
#: core/templates/parts/customize-checkbox.php:72
|
2873 |
+
#: core/templates/parts/customize-radio.php:57
|
2874 |
msgid "Third"
|
2875 |
msgstr ""
|
2876 |
|
2877 |
#: core/helpers/helper-misc.php:934
|
2878 |
+
#: core/templates/parts/customize-checkbox.php:63
|
2879 |
+
#: core/templates/parts/customize-radio.php:58
|
2880 |
msgid "Quarter"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
#: core/helpers/helper-misc.php:935
|
2884 |
+
#: core/templates/parts/customize-checkbox.php:64
|
2885 |
+
#: core/templates/parts/customize-checkbox.php:73
|
2886 |
+
#: core/templates/parts/customize-radio.php:59
|
2887 |
msgid "Auto"
|
2888 |
msgstr ""
|
2889 |
|
2890 |
#: core/helpers/helper-misc.php:940
|
2891 |
+
#: core/templates/parts/customize-checkbox.php:78
|
2892 |
msgid "Apply to all fields"
|
2893 |
msgstr ""
|
2894 |
|
2932 |
msgid "You are customizing"
|
2933 |
msgstr ""
|
2934 |
|
2935 |
+
#: core/templates/customize-form-build.php:4
|
2936 |
msgid "Add title"
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: core/templates/customize-form-build.php:9
|
2940 |
msgid "Add fields here to appear in your form."
|
2941 |
msgstr ""
|
2942 |
|
2943 |
+
#: core/templates/customize-form-build.php:12
|
2944 |
msgid "Add a Field"
|
2945 |
msgstr ""
|
2946 |
|
2954 |
msgstr ""
|
2955 |
|
2956 |
#: core/templates/customize-form-item.php:24
|
2957 |
+
#: core/templates/customize-form-steps.php:7
|
2958 |
msgid "Style"
|
2959 |
msgstr ""
|
2960 |
|
2961 |
#: core/templates/customize-form-item.php:33
|
2962 |
#: core/templates/customize-form-part-footer.php:3
|
2963 |
+
#: core/templates/parts/customize-checkbox.php:111
|
2964 |
+
#: core/templates/parts/customize-radio.php:94
|
2965 |
+
#: core/templates/parts/customize-select.php:86
|
2966 |
msgid "Delete"
|
2967 |
msgstr ""
|
2968 |
|
2971 |
msgstr ""
|
2972 |
|
2973 |
#: core/templates/customize-form-part-footer.php:5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2974 |
#: core/templates/customize-form-part-logic.php:2
|
2975 |
msgid "Logic"
|
2976 |
msgstr ""
|
3000 |
msgid "Email"
|
3001 |
msgstr ""
|
3002 |
|
3003 |
+
#: core/templates/customize-form-steps.php:6
|
3004 |
+
msgid "Messages"
|
3005 |
+
msgstr ""
|
3006 |
+
|
3007 |
#: core/templates/customize-header-actions.php:5
|
3008 |
msgid "Save"
|
3009 |
msgstr ""
|
3040 |
#: core/templates/parts/customize-checkbox.php:17
|
3041 |
#: core/templates/parts/customize-radio.php:17
|
3042 |
#: core/templates/parts/customize-select.php:21
|
3043 |
+
msgid "No choices added yet."
|
3044 |
msgstr ""
|
3045 |
|
3046 |
#: core/templates/parts/customize-checkbox.php:21
|
3074 |
msgstr ""
|
3075 |
|
3076 |
#: core/templates/parts/customize-checkbox.php:37
|
3077 |
+
#: core/templates/parts/customize-email.php:24
|
3078 |
+
#: core/templates/parts/customize-multi-line-text.php:24
|
3079 |
+
#: core/templates/parts/customize-number.php:34
|
3080 |
#: core/templates/parts/customize-radio.php:37
|
3081 |
#: core/templates/parts/customize-select.php:41
|
3082 |
+
#: core/templates/parts/customize-single-line-text.php:24
|
3083 |
+
msgid "Require an answer"
|
3084 |
msgstr ""
|
3085 |
|
3086 |
+
#: core/templates/parts/customize-checkbox.php:47
|
3087 |
msgid "Add 'select all' choice"
|
3088 |
msgstr ""
|
3089 |
|
3090 |
+
#: core/templates/parts/customize-checkbox.php:51
|
3091 |
+
#: core/templates/parts/customize-radio.php:46
|
3092 |
msgid "Choices display"
|
3093 |
msgstr ""
|
3094 |
|
3095 |
+
#: core/templates/parts/customize-checkbox.php:53
|
3096 |
+
#: core/templates/parts/customize-radio.php:48
|
3097 |
msgid "Horizontal"
|
3098 |
msgstr ""
|
3099 |
|
3100 |
+
#: core/templates/parts/customize-checkbox.php:54
|
3101 |
+
#: core/templates/parts/customize-radio.php:49
|
3102 |
msgid "Vertical"
|
3103 |
msgstr ""
|
3104 |
|
3105 |
+
#: core/templates/parts/customize-checkbox.php:58
|
3106 |
+
#: core/templates/parts/customize-radio.php:53
|
3107 |
msgid "Choices width"
|
3108 |
msgstr ""
|
3109 |
|
3110 |
+
#: core/templates/parts/customize-checkbox.php:85
|
3111 |
+
#: core/templates/parts/customize-email.php:46
|
3112 |
+
#: core/templates/parts/customize-multi-line-text.php:64
|
3113 |
+
#: core/templates/parts/customize-number.php:69
|
3114 |
+
#: core/templates/parts/customize-radio.php:66
|
3115 |
+
#: core/templates/parts/customize-select.php:60
|
3116 |
+
#: core/templates/parts/customize-single-line-text.php:45
|
3117 |
msgid "CSS classes"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
+
#: core/templates/parts/customize-checkbox.php:107
|
3121 |
+
#: core/templates/parts/customize-radio.php:90
|
3122 |
+
#: core/templates/parts/customize-select.php:82
|
3123 |
msgid "Make this choice default"
|
3124 |
msgstr ""
|
3125 |
|
3126 |
+
#: core/templates/parts/customize-checkbox.php:112
|
3127 |
+
#: core/templates/parts/customize-radio.php:95
|
3128 |
+
#: core/templates/parts/customize-select.php:87
|
3129 |
+
msgid "More"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3130 |
msgstr ""
|
3131 |
|
3132 |
+
#: core/templates/parts/customize-email.php:12
|
3133 |
+
#: core/templates/parts/customize-multi-line-text.php:12
|
3134 |
+
#: core/templates/parts/customize-number.php:12
|
3135 |
+
#: core/templates/parts/customize-single-line-text.php:12
|
3136 |
+
msgid "Prefill"
|
3137 |
msgstr ""
|
3138 |
|
3139 |
+
#: core/templates/parts/customize-email.php:33
|
3140 |
+
#: core/templates/parts/customize-number.php:58
|
3141 |
+
#: core/templates/parts/customize-single-line-text.php:32
|
3142 |
msgid "Prefix"
|
3143 |
msgstr ""
|
3144 |
|
3145 |
+
#: core/templates/parts/customize-email.php:37
|
3146 |
+
#: core/templates/parts/customize-number.php:62
|
3147 |
+
#: core/templates/parts/customize-single-line-text.php:36
|
3148 |
msgid "Suffix"
|
3149 |
msgstr ""
|
3150 |
|
3151 |
+
#: core/templates/parts/customize-multi-line-text.php:34
|
3152 |
msgid "Limit words/characters"
|
3153 |
msgstr ""
|
3154 |
|
3155 |
+
#: core/templates/parts/customize-multi-line-text.php:40
|
3156 |
msgid "Limit"
|
3157 |
msgstr ""
|
3158 |
|
|
|
|
|
|
|
|
|
3159 |
#: core/templates/parts/customize-multi-line-text.php:44
|
3160 |
+
msgid "Count"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3161 |
msgstr ""
|
3162 |
|
3163 |
+
#: core/templates/parts/customize-multi-line-text.php:55
|
3164 |
msgid "Rows"
|
3165 |
msgstr ""
|
3166 |
|
3167 |
+
#: core/templates/parts/customize-number.php:24
|
3168 |
msgid "Min number"
|
3169 |
msgstr ""
|
3170 |
|
3171 |
+
#: core/templates/parts/customize-number.php:28
|
3172 |
msgid "Max number"
|
3173 |
msgstr ""
|
3174 |
|
3175 |
+
#: core/templates/parts/customize-number.php:44
|
3176 |
msgid "Use number separators"
|
3177 |
msgstr ""
|
3178 |
|
3179 |
+
#: core/templates/parts/customize-number.php:49
|
3180 |
msgid "Grouping"
|
3181 |
msgstr ""
|
3182 |
|
3183 |
+
#: core/templates/parts/customize-number.php:53
|
3184 |
msgid "Decimal"
|
3185 |
msgstr ""
|
3186 |
|
3187 |
+
#: core/templates/parts/customize-select.php:51
|
3188 |
msgid "Make searchable"
|
3189 |
msgstr ""
|
3190 |
|
|
|
|
|
|
|
|
|
3191 |
#: core/templates/preview-form-pencil.php:3
|
3192 |
msgid "Click to edit this part."
|
3193 |
msgstr ""
|
3227 |
msgstr ""
|
3228 |
|
3229 |
#: inc/classes/class-happyforms.php:132
|
3230 |
+
msgid "Save incomplete and abandoned submissions"
|
3231 |
msgstr ""
|
3232 |
|
3233 |
#: inc/classes/class-happyforms.php:133
|
3235 |
msgstr ""
|
3236 |
|
3237 |
#: inc/classes/class-happyforms.php:139
|
3238 |
+
msgid "Let respondents save a draft submission and come back to it later"
|
3239 |
msgstr ""
|
3240 |
|
3241 |
#: inc/classes/class-happyforms.php:140
|
3245 |
msgstr ""
|
3246 |
|
3247 |
#: inc/classes/class-happyforms.php:146
|
3248 |
+
msgid "Require respondents to review a submission before submitting"
|
3249 |
msgstr ""
|
3250 |
|
3251 |
#: inc/classes/class-happyforms.php:147
|
3508 |
msgid "field"
|
3509 |
msgstr ""
|
3510 |
|
3511 |
+
#. Plugin Name of the plugin/theme
|
3512 |
+
msgid "Happyforms (free)"
|
3513 |
+
msgstr ""
|
3514 |
+
|
3515 |
#. Author URI of the plugin/theme
|
3516 |
msgid "https://happyforms.me"
|
3517 |
msgstr ""
|
3518 |
|
3519 |
#. Description of the plugin/theme
|
3520 |
+
msgid "We're changin' WordPress forms."
|
3521 |
+
msgstr ""
|
3522 |
+
|
3523 |
+
#. Author of the plugin/theme
|
3524 |
+
msgid "Happyforms"
|
3525 |
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.6
|
7 |
Requires PHP: 5.3
|
8 |
-
Stable tag: 1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -144,6 +144,11 @@ Note: you'll need to upgrade to our paid contact form builder plugin to get some
|
|
144 |
|
145 |
== Changelog ==
|
146 |
|
|
|
|
|
|
|
|
|
|
|
147 |
= 1.9.30 =
|
148 |
* Improvement: Better styling control for choice fields option labels.
|
149 |
|
@@ -745,6 +750,9 @@ Note: you'll need to upgrade to our paid contact form builder plugin to get some
|
|
745 |
|
746 |
== Upgrade Notice ==
|
747 |
|
|
|
|
|
|
|
748 |
= 1.9.30 =
|
749 |
* Minor improvements and bugfixes.
|
750 |
|
5 |
Requires at least: 4.8
|
6 |
Tested up to: 5.6
|
7 |
Requires PHP: 5.3
|
8 |
+
Stable tag: 1.10.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
144 |
|
145 |
== Changelog ==
|
146 |
|
147 |
+
= 1.10.0 =
|
148 |
+
* New feature: Messages tab in Edit Form screen allows for complete language customization.
|
149 |
+
* New feature: Prefill control for setting a default value on Short Text, Long Text, Email Address and Number fields.
|
150 |
+
* Bugfix: "Email respondent a copy of their submission" → "Include submitted" feature was misbehaving.
|
151 |
+
|
152 |
= 1.9.30 =
|
153 |
* Improvement: Better styling control for choice fields option labels.
|
154 |
|
750 |
|
751 |
== Upgrade Notice ==
|
752 |
|
753 |
+
= 1.10.0 =
|
754 |
+
* New Messages tab, Prefill control, miscellaneous bugfixes.
|
755 |
+
|
756 |
= 1.9.30 =
|
757 |
* Minor improvements and bugfixes.
|
758 |
|