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

Version Description

  • New feature: Form error message and required field label are now easy to edit in Step 2.
Download this release

Release Info

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

Code changes from version 1.8.13 to 1.8.14

Files changed (56) hide show
  1. happyforms.php +2 -2
  2. inc/{core/assets → assets}/js/customize.js +1 -0
  3. inc/{core/assets → assets}/js/frontend.js +0 -0
  4. inc/{core/assets → assets}/js/preview.js +0 -0
  5. inc/classes/class-happyforms.php +5 -5
  6. inc/classes/class-message-controller.php +3 -3
  7. inc/core/assets/css/customize.css +6 -0
  8. inc/core/assets/css/layout.css +4 -0
  9. inc/core/assets/svg/welcome.svg +0 -1
  10. inc/core/classes/class-form-controller.php +1 -1
  11. inc/core/classes/class-form-setup.php +37 -1
  12. inc/core/classes/class-happyforms-core.php +2 -2
  13. inc/core/classes/class-wp-customize-form-manager.php +1 -1
  14. inc/core/classes/parts/class-part-checkbox.php +1 -1
  15. inc/core/classes/parts/class-part-email.php +3 -3
  16. inc/core/classes/parts/class-part-multi-line-text.php +1 -1
  17. inc/core/classes/parts/class-part-number.php +2 -2
  18. inc/core/classes/parts/class-part-radio.php +3 -3
  19. inc/core/classes/parts/class-part-select.php +1 -1
  20. inc/core/classes/parts/class-part-single-line-text.php +1 -1
  21. inc/core/helpers/helper-form-templates.php +2 -2
  22. inc/core/templates/customize-controls/setup/checkbox-group.php +16 -0
  23. inc/core/templates/customize-controls/setup/select.php +11 -7
  24. inc/core/templates/parts/block-rich-text.php +0 -23
  25. inc/core/templates/parts/customize-address.php +0 -110
  26. inc/core/templates/parts/customize-date.php +0 -140
  27. inc/core/templates/parts/customize-legal.php +0 -39
  28. inc/core/templates/parts/customize-narrative.php +0 -70
  29. inc/core/templates/parts/customize-phone.php +0 -114
  30. inc/core/templates/parts/customize-placeholder.php +0 -64
  31. inc/core/templates/parts/customize-rating.php +0 -111
  32. inc/core/templates/parts/customize-rich-text.php +0 -88
  33. inc/core/templates/parts/customize-scale.php +0 -123
  34. inc/core/templates/parts/customize-table.php +0 -153
  35. inc/core/templates/parts/customize-title.php +0 -81
  36. inc/core/templates/parts/customize-website-url.php +0 -83
  37. inc/core/templates/parts/frontend-address.php +0 -74
  38. inc/core/templates/parts/frontend-date-day.php +0 -35
  39. inc/core/templates/parts/frontend-date-month.php +0 -36
  40. inc/core/templates/parts/frontend-date.php +0 -153
  41. inc/core/templates/parts/frontend-legal.php +0 -17
  42. inc/core/templates/parts/frontend-narrative.php +0 -30
  43. inc/core/templates/parts/frontend-phone.php +0 -66
  44. inc/core/templates/parts/frontend-placeholder.php +0 -17
  45. inc/core/templates/parts/frontend-rating-scale.php +0 -21
  46. inc/core/templates/parts/frontend-rating-yesno.php +0 -19
  47. inc/core/templates/parts/frontend-rating.php +0 -29
  48. inc/core/templates/parts/frontend-rich-text.php +0 -25
  49. inc/core/templates/parts/frontend-scale.php +0 -35
  50. inc/core/templates/parts/frontend-table.php +0 -61
  51. inc/core/templates/parts/frontend-title.php +0 -30
  52. inc/core/templates/parts/frontend-website-url.php +0 -22
  53. inc/templates/admin/export-upgrade-modal.php +1 -1
  54. inc/templates/admin/responses-upgrade-modal.php +1 -1
  55. languages/happyforms.pot +128 -666
  56. readme.txt +7 -2
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.me
6
  * Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
7
  * Author: The Theme Foundry
8
- * Version: 1.8.13
9
  * Author URI: https://thethemefoundry.com
10
  * Upgrade URI: https://thethemefoundry.com
11
  */
@@ -13,7 +13,7 @@
13
  /**
14
  * The current version of the plugin.
15
  */
16
- define( 'HAPPYFORMS_VERSION', '1.8.13' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
5
  * Plugin URI: https://happyforms.me
6
  * Description: Your friendly drag and drop contact form builder for creating contact forms, lead generation forms, feedback forms, quote forms, survey forms and more!
7
  * Author: The Theme Foundry
8
+ * Version: 1.8.14
9
  * Author URI: https://thethemefoundry.com
10
  * Upgrade URI: https://thethemefoundry.com
11
  */
13
  /**
14
  * The current version of the plugin.
15
  */
16
+ define( 'HAPPYFORMS_VERSION', '1.8.14' );
17
 
18
  if ( ! function_exists( 'happyforms_plugin_file' ) ):
19
  /**
inc/{core/assets → assets}/js/customize.js RENAMED
@@ -1376,6 +1376,7 @@
1376
 
1377
  editorIds: [
1378
  'confirmation_message',
 
1379
  'confirmation_email_content'
1380
  ],
1381
 
1376
 
1377
  editorIds: [
1378
  'confirmation_message',
1379
+ 'error_message',
1380
  'confirmation_email_content'
1381
  ],
1382
 
inc/{core/assets → assets}/js/frontend.js RENAMED
File without changes
inc/{core/assets → assets}/js/preview.js RENAMED
File without changes
inc/classes/class-happyforms.php CHANGED
@@ -13,7 +13,7 @@ class HappyForms extends HappyForms_Core {
13
  add_action( 'admin_print_footer_scripts', array( $this, 'print_upgrade_modals' ) );
14
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
15
  add_action( 'admin_notices', array( $this, 'display_notices' ) );
16
-
17
  $this->register_dummy_parts();
18
  $this->add_setup_logic_upgrade_links();
19
  }
@@ -288,7 +288,7 @@ class HappyForms extends HappyForms_Core {
288
  }
289
 
290
  $forms = happyforms_get_form_controller()->get();
291
-
292
  if ( 0 === count( $forms ) ) {
293
  return;
294
  }
@@ -296,7 +296,7 @@ class HappyForms extends HappyForms_Core {
296
  if ( ! $this->is_new_user( $forms ) ) {
297
  $this->display_removal_notice( $forms );
298
  }
299
-
300
  $this->display_review_notice( $forms );
301
  }
302
 
@@ -320,7 +320,7 @@ class HappyForms extends HappyForms_Core {
320
  happyforms_get_admin_notices()->register(
321
  'happyforms_feature_removal',
322
  sprintf(
323
- __( '<p><strong>Important changes to HappyForms</strong></p><p>We want to continue developing the free HappyForms plugin, but we can\'t do this without the support of more paying customers. So, starting with HappyForms 1.8.11, we\'ve transitioned the following features to the paid plugin: Scale, Rating, Story, Website Link, Table, Phone, Date & Time, Address, Title, Legal, Placeholder and Text Editor form parts along with redirects, submit button fade, Google ReCaptcha and response reviews.</p><p>If you\'re using these parts and features in your forms, they will be removed from the free plugin with this release. Please review all your existing forms for changes.</p><p>To make your transition easier, <a href="%s" target="_blank" class="external">we\'re offering 50%% off upgrades</a>. Use the coupon code “TRANSITION” to save.</p>', 'happyforms' ),
324
  $upgrade_link
325
  ),
326
  array(
@@ -348,7 +348,7 @@ class HappyForms extends HappyForms_Core {
348
 
349
  happyforms_get_admin_notices()->register(
350
  'happyforms_leave_a_review',
351
- sprintf(
352
  __( '<p>Can we ask a favor?</p><p>You created your first form %s days ago — how time flies! Since then, we’ve answered hundreds of community emails and spent %s hours coding and improving HappyForms.</p><p>As you probably know, plugin reviews are an important way in helping a young business like ours grow.</p><p>If you could please spare one minute for a review, it would put a huge smile on our faces. 😊</p><p><a href="%s" target="_blank" rel="noopener">Leave a review now</a>, or show your support by <a href="%s" target="_blank" class="external">upgrading to a paid plan</a>.</p>', 'happyforms' ),
353
  $days, $hours, $review_link, $upgrade_link
354
  ),
13
  add_action( 'admin_print_footer_scripts', array( $this, 'print_upgrade_modals' ) );
14
  add_action( 'parse_request', array( $this, 'parse_archive_request' ) );
15
  add_action( 'admin_notices', array( $this, 'display_notices' ) );
16
+
17
  $this->register_dummy_parts();
18
  $this->add_setup_logic_upgrade_links();
19
  }
288
  }
289
 
290
  $forms = happyforms_get_form_controller()->get();
291
+
292
  if ( 0 === count( $forms ) ) {
293
  return;
294
  }
296
  if ( ! $this->is_new_user( $forms ) ) {
297
  $this->display_removal_notice( $forms );
298
  }
299
+
300
  $this->display_review_notice( $forms );
301
  }
302
 
320
  happyforms_get_admin_notices()->register(
321
  'happyforms_feature_removal',
322
  sprintf(
323
+ __( '<p><strong>Important changes to HappyForms</strong></p><p>We want to continue developing the free HappyForms plugin, but we can\'t do this without the support of more paying customers. So, starting with HappyForms 1.8.11, we\'ve transitioned the following features to the paid plugin: Scale, Rating, Story, Website Link, Table, Phone, Date & Time, Address, Title, Legal, Placeholder and Text Editor form parts along with redirects, submit button fade, Google ReCaptcha and response reviews.</p><p>If you\'re using these parts and features in your forms, they will be removed from the free plugin with this release. Please review all your existing forms for changes.</p><p>To make your transition easier, <a href="%s" target="_blank" class="external">we\'re offering $20 off upgrades</a>. Use the coupon code “TRANSITION20” to save.</p>', 'happyforms' ),
324
  $upgrade_link
325
  ),
326
  array(
348
 
349
  happyforms_get_admin_notices()->register(
350
  'happyforms_leave_a_review',
351
+ sprintf(
352
  __( '<p>Can we ask a favor?</p><p>You created your first form %s days ago — how time flies! Since then, we’ve answered hundreds of community emails and spent %s hours coding and improving HappyForms.</p><p>As you probably know, plugin reviews are an important way in helping a young business like ours grow.</p><p>If you could please spare one minute for a review, it would put a huge smile on our faces. 😊</p><p><a href="%s" target="_blank" rel="noopener">Leave a review now</a>, or show your support by <a href="%s" target="_blank" class="external">upgrading to a paid plan</a>.</p>', 'happyforms' ),
353
  $days, $hours, $review_link, $upgrade_link
354
  ),
inc/classes/class-message-controller.php CHANGED
@@ -214,7 +214,7 @@ class HappyForms_Message_Controller {
214
 
215
  if ( false === $submission ) {
216
  // Add a general error notice at the top
217
- $session->add_error( $form_id, __( 'Oops! Your response is invalid — please review your message.', 'happyforms' ) );
218
 
219
  // Reset to start step
220
  $session->reset_step();
@@ -287,7 +287,7 @@ class HappyForms_Message_Controller {
287
 
288
  if ( false === $submission ) {
289
  // Add a general error notice at the top
290
- $session->add_error( $form_id, __( 'Oops! Your response is invalid — please review your message.', 'happyforms' ) );
291
 
292
  // Reset to start step
293
  $session->reset_step();
@@ -322,7 +322,7 @@ class HappyForms_Message_Controller {
322
 
323
  if ( false === $submission ) {
324
  // Add a general error notice at the top
325
- $session->add_error( $form_id, __( 'Oops! Your response is invalid — please review your message.', 'happyforms' ) );
326
  }
327
 
328
  // Reset to start step
214
 
215
  if ( false === $submission ) {
216
  // Add a general error notice at the top
217
+ $session->add_error( $form_id, html_entity_decode( $form['error_message'] ) );
218
 
219
  // Reset to start step
220
  $session->reset_step();
287
 
288
  if ( false === $submission ) {
289
  // Add a general error notice at the top
290
+ $session->add_error( $form_id, html_entity_decode( $form['error_message'] ) );
291
 
292
  // Reset to start step
293
  $session->reset_step();
322
 
323
  if ( false === $submission ) {
324
  // Add a general error notice at the top
325
+ $session->add_error( $form_id, html_entity_decode( $form['error_message'] ) );
326
  }
327
 
328
  // Reset to start step
inc/core/assets/css/customize.css CHANGED
@@ -280,6 +280,12 @@ a.happyforms-form-part-advanced-settings {
280
  float: right;
281
  }
282
 
 
 
 
 
 
 
283
  a.happyforms-form-part-logic {
284
  float: right;
285
  margin-right: 10px;
280
  float: right;
281
  }
282
 
283
+ .happyforms-widget-actions:after {
284
+ content: '';
285
+ display: table;
286
+ clear: both;
287
+ }
288
+
289
  a.happyforms-form-part-logic {
290
  float: right;
291
  margin-right: 10px;
inc/core/assets/css/layout.css CHANGED
@@ -1294,6 +1294,10 @@ form .happyforms-flex>.happyforms-message-notices .happyforms-message-notice a {
1294
  text-decoration: underline;
1295
  }
1296
 
 
 
 
 
1297
  .happyforms-form__part .happyforms-message-notice.error h2 {
1298
  color: #ff7550;
1299
  }
1294
  text-decoration: underline;
1295
  }
1296
 
1297
+ .happyforms-flex>.happyforms-message-notices p:last-child {
1298
+ margin-bottom: 0;
1299
+ }
1300
+
1301
  .happyforms-form__part .happyforms-message-notice.error h2 {
1302
  color: #ff7550;
1303
  }
inc/core/assets/svg/welcome.svg DELETED
@@ -1 +0,0 @@
1
- <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 311.37 299.05"><defs><style>.cls-1,.cls-4{fill:#0073aa;}.cls-1,.cls-11,.cls-12,.cls-2,.cls-4,.cls-7{stroke:#0073aa;}.cls-1,.cls-10,.cls-11,.cls-12,.cls-2,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9{stroke-width:4px;}.cls-1,.cls-3{opacity:0.3;}.cls-12,.cls-2,.cls-5{fill:#fff;}.cls-10,.cls-5,.cls-6,.cls-8,.cls-9{stroke:#00a0d2;}.cls-10,.cls-11,.cls-6,.cls-7,.cls-8,.cls-9{fill:none;}.cls-10,.cls-11,.cls-12,.cls-8{stroke-linecap:round;}.cls-10,.cls-11,.cls-9{stroke-miterlimit:10;}</style></defs><title>welcome</title><rect class="cls-1" x="74.36" y="75.89" width="155.25" height="194.75" rx="4" ry="4"/><rect class="cls-2" x="74.36" y="69.89" width="155.25" height="194.75" rx="4" ry="4"/><rect class="cls-1" x="84.61" y="93.8" width="134.75" height="163.98"/><rect class="cls-2" x="84.61" y="87.8" width="134.75" height="163.98"/><g class="cls-3"><path class="cls-4" d="M762.77,578.3h73.9a2,2,0,0,1,2,2v39.79a2,2,0,0,1-2,2H823a2,2,0,0,0-2,2v7.81a2,2,0,0,1-3.57,1.25l-8.19-10.3a2,2,0,0,0-1.57-.76H762.77a2,2,0,0,1-2-2V580.3A2,2,0,0,1,762.77,578.3Z" transform="translate(-597.64 -336.86)"/></g><path class="cls-1" d="M751.76,435.12h46.09V424.66a5,5,0,0,0-5-5h-27.6a15.63,15.63,0,0,0-31.25,0H706.4a5,5,0,0,0-5,5v10.46h50.36Z" transform="translate(-597.64 -336.86)"/><path class="cls-5" d="M751.76,430.12h46.09V419.66a5,5,0,0,0-5-5h-27.6a15.63,15.63,0,0,0-31.25,0H706.4a5,5,0,0,0-5,5v10.46h50.36Z" transform="translate(-597.64 -336.86)"/><circle class="cls-6" cx="749.63" cy="413.88" r="4.68" transform="translate(-376.62 750.67) rotate(-80.78)"/><rect class="cls-7" x="100.71" y="115.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="145.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="175.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><rect class="cls-7" x="100.71" y="205.99" width="13.3" height="13.3" rx="6.65" ry="6.65"/><line class="cls-8" x1="124.11" y1="118.64" x2="200.21" y2="118.64"/><line class="cls-8" x1="124.11" y1="128.64" x2="200.21" y2="128.64"/><line class="cls-8" x1="124.11" y1="148.64" x2="200.21" y2="148.64"/><line class="cls-8" x1="124.11" y1="158.64" x2="200.21" y2="158.64"/><line class="cls-8" x1="124.11" y1="178.64" x2="200.21" y2="178.64"/><line class="cls-8" x1="124.11" y1="188.64" x2="200.21" y2="188.64"/><line class="cls-8" x1="124.11" y1="208.64" x2="200.21" y2="208.64"/><line class="cls-8" x1="124.11" y1="218.64" x2="200.21" y2="218.64"/><path class="cls-9" d="M743.11,352.57l-4.47.33a1,1,0,0,0-.81.55l-7.5,15.75a1,1,0,0,0,.47,1.31L754.92,382a1,1,0,0,0,1.31-.46l7.5-15.75a1,1,0,0,0-.08-1l-2.54-3.66" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M737.34,354.48l9.08,13.15a1,1,0,0,0,.9.43l15.93-1.25" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M740.22,358.65l5.57-11.7a1,1,0,0,1,1.31-.46l16.21,7.72a1,1,0,0,1,.48,1.31l-5.58,11.7" transform="translate(-597.64 -336.86)"/><line class="cls-10" x1="150.66" y1="16.75" x2="159.46" y2="20.94"/><line class="cls-10" x1="148.56" y1="21.17" x2="157.35" y2="25.36"/><path class="cls-10" d="M889,422.34l7,7a1,1,0,0,1,0,1.41l-18.66,18.66a1,1,0,0,1-1.41,0l-18.86-18.86a1,1,0,0,1,0-1.42l6.39-6.39" transform="translate(-597.64 -336.86)"/><path class="cls-10" d="M879.26,440l-6.83-6.82s-8.19-11.36,4-23.15c0,0,9.34,5.47,4,10.48a1,1,0,0,0,.4,1.68l2.11.62a1,1,0,0,1,.72,1.1,24.05,24.05,0,0,1-7.13,13.37" transform="translate(-597.64 -336.86)"/><rect class="cls-11" x="67.25" y="22.86" width="28.69" height="28.69" rx="2" ry="2"/><path class="cls-11" d="M673.53,374.82l2.74,2.73a1,1,0,0,0,1.4,0l7.25-7.26" transform="translate(-597.64 -336.86)"/><circle class="cls-10" cx="295.03" cy="173.18" r="14.35"/><circle class="cls-10" cx="295.03" cy="173.18" r="5.45"/><rect class="cls-10" x="604.79" y="445.57" width="28.65" height="28.65" rx="2" ry="2" transform="translate(-431.14 -501.42) rotate(17.46)"/><path class="cls-10" d="M626.33,458.85l-7.69,4a.64.64,0,0,1-.86-.27l-4-7.66" transform="translate(-597.64 -336.86)"/><path class="cls-9" d="M639.06,563.1l1.59-1.61a1,1,0,0,0-.12-1.46L636,555.47a1,1,0,0,1-.11-1.46l2.23-2.28a1,1,0,0,0-.35-1.58l-15.24-5.09a1,1,0,0,0-1.2,1.21l5,15.49a.92.92,0,0,0,1.55.36l2.24-2.27a.93.93,0,0,1,1.43.12L636,564.6a.94.94,0,0,0,1.44.12Z" transform="translate(-597.64 -336.86)"/><path class="cls-10" d="M643.64,554.83V537.34a1,1,0,0,0-1-1H616a1,1,0,0,0-1,1v20a1,1,0,0,0,1,1h3.41" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M646,490.21l.75-.74a5.2,5.2,0,1,1,7.36,7.35l-.75.75" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M636,514.48l-6.88-6.87a.36.36,0,0,1,0-.49L646,490.21l7.36,7.36-16.91,16.91A.34.34,0,0,1,636,514.48Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M629.1,507.61l-2.1,8.57a.33.33,0,0,0,.4.4l8.58-2.1" transform="translate(-597.64 -336.86)"/><line class="cls-11" x1="52.05" y1="157.03" x2="34.9" y2="174.18"/><rect class="cls-11" x="844.09" y="461.52" width="28.65" height="28.65" rx="2" ry="2" transform="translate(-423.51 -564.61) rotate(16.8)"/><line class="cls-11" x1="254.54" y1="133.34" x2="269.1" y2="137.74"/><line class="cls-11" x1="252.4" y1="140.44" x2="266.96" y2="144.83"/><line class="cls-11" x1="259.33" y1="130.6" x2="254.93" y2="145.17"/><line class="cls-11" x1="266.89" y1="132.89" x2="262.5" y2="147.45"/><rect class="cls-11" x="790.34" y="344.21" width="28.65" height="24.28" rx="2" ry="2" transform="translate(-672.53 48.71) rotate(-25.79)"/><rect class="cls-11" x="792.43" y="353.37" width="28.65" height="14.64" rx="2" ry="2" transform="translate(-674.21 50.06) rotate(-25.79)"/><line class="cls-11" x1="193.7" y1="7.59" x2="197.22" y2="14.87"/><line class="cls-11" x1="205.27" y1="2" x2="208.79" y2="9.29"/><path class="cls-11" d="M852.63,368.65l3.62,7.69a1.1,1.1,0,0,0,.79.6l8.1,1.23a1.11,1.11,0,0,1,.58,1.87l-5.86,6a1.12,1.12,0,0,0-.3,1l1.38,8.45a1.05,1.05,0,0,1-1.51,1.16l-7.25-4a1,1,0,0,0-1,0l-7.25,4a1.05,1.05,0,0,1-1.51-1.16l1.38-8.45a1.15,1.15,0,0,0-.3-1l-5.86-6a1.11,1.11,0,0,1,.57-1.87l8.11-1.23a1.06,1.06,0,0,0,.78-.6l3.63-7.69A1,1,0,0,1,852.63,368.65Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M866.66,530.23c3.94,3.93,3.43,18.26,2.9,22a1.4,1.4,0,0,1-1.15,1.15c-3.77.53-18.09,1-22-2.9-4.61-4.6-3.1-12.18,2.5-17.78S862.06,525.62,866.66,530.23Z" transform="translate(-597.64 -336.86)"/><circle class="cls-11" cx="259.42" cy="204.05" r="4.16"/><line class="cls-11" x1="13.17" y1="75.21" x2="16.99" y2="71.39"/><line class="cls-11" x1="9.74" y1="71.77" x2="13.55" y2="67.95"/><line class="cls-11" x1="16.61" y1="78.64" x2="20.42" y2="74.83"/><line class="cls-11" x1="23.3" y1="65.08" x2="27.12" y2="61.26"/><line class="cls-11" x1="19.86" y1="61.64" x2="23.68" y2="57.83"/><line class="cls-11" x1="26.74" y1="68.51" x2="30.55" y2="64.7"/><path class="cls-11" d="M599.93,406.1l5.24-5.24a5.89,5.89,0,0,1,8.32-.06l12,12h0l-9.44,9.43a1,1,0,0,1-1.38,0l-14.78-14.78A1,1,0,0,1,599.93,406.1Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M635,403.4l-9.43,9.43h0l-12-12a5.89,5.89,0,0,1,.06-8.32l5.24-5.24a1,1,0,0,1,1.39,0L635,402A1,1,0,0,1,635,403.4Z" transform="translate(-597.64 -336.86)"/><path class="cls-11" d="M631.73,414.69l-3.21,1.15-1.14,3.2a1,1,0,0,1-1.67.3L622.36,416l6.31-6.31L632,413A1,1,0,0,1,631.73,414.69Z" transform="translate(-597.64 -336.86)"/><path class="cls-2" d="M762.77,572.3h73.9a2,2,0,0,1,2,2v39.79a2,2,0,0,1-2,2H823a2,2,0,0,0-2,2v7.81a2,2,0,0,1-3.57,1.25l-8.19-10.3a2,2,0,0,0-1.57-.76H762.77a2,2,0,0,1-2-2V574.3A2,2,0,0,1,762.77,572.3Z" transform="translate(-597.64 -336.86)"/><line class="cls-12" x1="229.95" y1="251.53" x2="177.68" y2="251.53"/><line class="cls-12" x1="229.95" y1="262.83" x2="177.68" y2="262.83"/></svg>
 
inc/core/classes/class-form-controller.php CHANGED
@@ -739,7 +739,7 @@ class HappyForms_Form_Controller {
739
  return array(
740
  'form_error' => array(
741
  'type' => 'error-submission',
742
- 'message' => __( 'Oops! Your response is invalid — please review your message.', 'happyforms' ),
743
  ),
744
  'form_success' => array(
745
  'type' => 'success',
739
  return array(
740
  'form_error' => array(
741
  'type' => 'error-submission',
742
+ 'message' => html_entity_decode( $form_data['error_message'] ),
743
  ),
744
  'form_success' => array(
745
  'type' => 'success',
inc/core/classes/class-form-setup.php CHANGED
@@ -50,6 +50,10 @@ class HappyForms_Form_Setup {
50
  'default' => __( 'Thank you! Your response has been successfully submitted.', 'happyforms' ),
51
  'sanitize' => 'esc_html',
52
  ),
 
 
 
 
53
  'receive_email_alerts' => array(
54
  'default' => 1,
55
  'sanitize' => 'happyforms_sanitize_checkbox'
@@ -106,6 +110,10 @@ class HappyForms_Form_Setup {
106
  'default' => 1,
107
  'sanitize' => 'happyforms_sanitize_checkbox',
108
  ),
 
 
 
 
109
  'optional_part_label' => array(
110
  'default' => __( '(optional)', 'happyforms' ),
111
  'sanitize' => 'sanitize_text_field',
@@ -172,7 +180,7 @@ class HappyForms_Form_Setup {
172
  ),
173
  'disable_submit_until_valid' => array(
174
  'default' => '',
175
- 'sanitize' => 'sanitize_text_field'
176
  ),
177
  'submit_button_html_class' => array(
178
  'default' => '',
@@ -191,6 +199,12 @@ class HappyForms_Form_Setup {
191
  'tooltip' => __( 'This is the message your users will see after succesfully submitting your form.', 'happyforms' ),
192
  'field' => 'confirmation_message',
193
  ),
 
 
 
 
 
 
194
  200 => array(
195
  'type' => 'checkbox',
196
  'label' => __( 'Receive submission alerts', 'happyforms' ),
@@ -242,6 +256,11 @@ class HappyForms_Form_Setup {
242
  'label' => __( 'Include submitted values', 'happyforms' ),
243
  'field' => 'confirmation_email_include_values'
244
  ),
 
 
 
 
 
245
  900 => array(
246
  'type' => 'text',
247
  'label' => __( 'Optional part label', 'happyforms' ),
@@ -282,6 +301,22 @@ class HappyForms_Form_Setup {
282
  return $controls;
283
  }
284
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
285
  public function do_control( $control, $field, $index ) {
286
  $type = $control['type'];
287
  $path = happyforms_get_include_folder() . '/core/templates/customize-controls/setup';
@@ -289,6 +324,7 @@ class HappyForms_Form_Setup {
289
  switch( $control['type'] ) {
290
  case 'editor':
291
  case 'checkbox':
 
292
  case 'text':
293
  case 'number':
294
  case 'radio':
50
  'default' => __( 'Thank you! Your response has been successfully submitted.', 'happyforms' ),
51
  'sanitize' => 'esc_html',
52
  ),
53
+ 'error_message' => array(
54
+ 'default' => __( 'Oops! Your response is invalid — please review your message.', 'happyforms' ),
55
+ 'sanitize' => 'esc_html'
56
+ ),
57
  'receive_email_alerts' => array(
58
  'default' => 1,
59
  'sanitize' => 'happyforms_sanitize_checkbox'
110
  'default' => 1,
111
  'sanitize' => 'happyforms_sanitize_checkbox',
112
  ),
113
+ 'required_part_label' => array(
114
+ 'default' => __( 'This field is required.', 'happyforms' ),
115
+ 'sanitize' => 'sanitize_text_field'
116
+ ),
117
  'optional_part_label' => array(
118
  'default' => __( '(optional)', 'happyforms' ),
119
  'sanitize' => 'sanitize_text_field',
180
  ),
181
  'disable_submit_until_valid' => array(
182
  'default' => '',
183
+ 'sanitize' => 'happyforms_sanitize_checkbox'
184
  ),
185
  'submit_button_html_class' => array(
186
  'default' => '',
199
  'tooltip' => __( 'This is the message your users will see after succesfully submitting your form.', 'happyforms' ),
200
  'field' => 'confirmation_message',
201
  ),
202
+ 110 => array(
203
+ 'type' => 'editor',
204
+ 'label' => __( 'Error message', 'happyforms' ),
205
+ 'tooltip' => __( 'This is the message your users will see when there are form errors preventing submission.', 'happyforms' ),
206
+ 'field' => 'error_message',
207
+ ),
208
  200 => array(
209
  'type' => 'checkbox',
210
  'label' => __( 'Receive submission alerts', 'happyforms' ),
256
  'label' => __( 'Include submitted values', 'happyforms' ),
257
  'field' => 'confirmation_email_include_values'
258
  ),
259
+ 899 => array(
260
+ 'type' => 'text',
261
+ 'label' => __( 'Required part label', 'happyforms' ),
262
+ 'field' => 'required_part_label'
263
+ ),
264
  900 => array(
265
  'type' => 'text',
266
  'label' => __( 'Optional part label', 'happyforms' ),
301
  return $controls;
302
  }
303
 
304
+ public function get_control_index_by_field( $field = '' ) {
305
+ if ( empty( $field ) ) {
306
+ return;
307
+ }
308
+
309
+ $controls = $this->get_controls();
310
+
311
+ foreach ( $controls as $key => $control ) {
312
+ if ( isset( $control['field'] ) && $control['field'] === $field ) {
313
+ return $key;
314
+ }
315
+ }
316
+
317
+ return;
318
+ }
319
+
320
  public function do_control( $control, $field, $index ) {
321
  $type = $control['type'];
322
  $path = happyforms_get_include_folder() . '/core/templates/customize-controls/setup';
324
  switch( $control['type'] ) {
325
  case 'editor':
326
  case 'checkbox':
327
+ case 'checkbox-group':
328
  case 'text':
329
  case 'number':
330
  case 'radio':
inc/core/classes/class-happyforms-core.php CHANGED
@@ -540,7 +540,7 @@ class HappyForms_Core {
540
 
541
  wp_enqueue_script(
542
  'happyforms-frontend',
543
- happyforms_get_plugin_url() . 'inc/core/assets/js/frontend.js',
544
  $dependencies, HAPPYFORMS_VERSION, true
545
  );
546
 
@@ -594,7 +594,7 @@ class HappyForms_Core {
594
 
595
  wp_enqueue_script(
596
  'happyforms-preview',
597
- happyforms_get_plugin_url() . 'inc/core/assets/js/preview.js',
598
  $preview_deps, HAPPYFORMS_VERSION, true
599
  );
600
 
540
 
541
  wp_enqueue_script(
542
  'happyforms-frontend',
543
+ happyforms_get_plugin_url() . 'inc/assets/js/frontend.js',
544
  $dependencies, HAPPYFORMS_VERSION, true
545
  );
546
 
594
 
595
  wp_enqueue_script(
596
  'happyforms-preview',
597
+ happyforms_get_plugin_url() . 'inc/assets/js/preview.js',
598
  $preview_deps, HAPPYFORMS_VERSION, true
599
  );
600
 
inc/core/classes/class-wp-customize-form-manager.php CHANGED
@@ -298,7 +298,7 @@ class HappyForms_WP_Customize_Form_Manager {
298
 
299
  wp_register_script(
300
  'happyforms-customize',
301
- happyforms_get_plugin_url() . 'inc/core/assets/js/customize.js',
302
  $customize_deps, HAPPYFORMS_VERSION, true
303
  );
304
 
298
 
299
  wp_register_script(
300
  'happyforms-customize',
301
+ happyforms_get_plugin_url() . 'inc/assets/js/customize.js',
302
  $customize_deps, HAPPYFORMS_VERSION, true
303
  );
304
 
inc/core/classes/parts/class-part-checkbox.php CHANGED
@@ -182,7 +182,7 @@ class HappyForms_Part_Checkbox extends HappyForms_Form_Part {
182
  $validated_value = $value;
183
 
184
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
185
- $validated_value = new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
186
  return $validated_value;
187
  }
188
 
182
  $validated_value = $value;
183
 
184
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
185
+ $validated_value = new WP_Error( 'error', $form['required_part_label'] );
186
  return $validated_value;
187
  }
188
 
inc/core/classes/parts/class-part-email.php CHANGED
@@ -72,7 +72,7 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
72
  'sanitize' => 'happyforms_sanitize_checkbox',
73
  ),
74
  );
75
-
76
  return happyforms_get_part_customize_fields( $fields, $this->type );
77
  }
78
 
@@ -149,11 +149,11 @@ class HappyForms_Part_Email extends HappyForms_Form_Part {
149
  $validated_values = $value;
150
 
151
  if ( $part['required'] && empty( $validated_values ) ) {
152
- return new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
153
  }
154
 
155
  if ( $part['required'] && empty( $validated_values[0] ) ) {
156
- return new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
157
  }
158
 
159
  if ( ! empty( $validated_values[0] ) && ! is_email( $validated_values[0] ) ) {
72
  'sanitize' => 'happyforms_sanitize_checkbox',
73
  ),
74
  );
75
+
76
  return happyforms_get_part_customize_fields( $fields, $this->type );
77
  }
78
 
149
  $validated_values = $value;
150
 
151
  if ( $part['required'] && empty( $validated_values ) ) {
152
+ return new WP_Error( 'error', $form['required_part_label'] );
153
  }
154
 
155
  if ( $part['required'] && empty( $validated_values[0] ) ) {
156
+ return new WP_Error( 'error', $form['required_part_label'] );
157
  }
158
 
159
  if ( ! empty( $validated_values[0] ) && ! is_email( $validated_values[0] ) ) {
inc/core/classes/parts/class-part-multi-line-text.php CHANGED
@@ -160,7 +160,7 @@ class HappyForms_Part_MultiLineText extends HappyForms_Form_Part {
160
  $validated_value = $value;
161
 
162
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
163
- $validated_value = new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
164
  }
165
 
166
  $character_limit = intval( $part['character_limit'] );
160
  $validated_value = $value;
161
 
162
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
163
+ $validated_value = new WP_Error( 'error', $form['required_part_label'] );
164
  }
165
 
166
  $character_limit = intval( $part['character_limit'] );
inc/core/classes/parts/class-part-number.php CHANGED
@@ -91,7 +91,7 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
91
  'sanitize' => 'happyforms_sanitize_checkbox',
92
  ),
93
  );
94
-
95
  return happyforms_get_part_customize_fields( $fields, $this->type );
96
  }
97
 
@@ -171,7 +171,7 @@ class HappyForms_Part_Number extends HappyForms_Form_Part {
171
  $validated_values = $value;
172
 
173
  if ( $part['required'] && ( empty( $validated_values ) || '' === $validated_values[0] ) ) {
174
- return new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
175
  }
176
 
177
  $validation_number = $validated_values[0];
91
  'sanitize' => 'happyforms_sanitize_checkbox',
92
  ),
93
  );
94
+
95
  return happyforms_get_part_customize_fields( $fields, $this->type );
96
  }
97
 
171
  $validated_values = $value;
172
 
173
  if ( $part['required'] && ( empty( $validated_values ) || '' === $validated_values[0] ) ) {
174
+ return new WP_Error( 'error', $form['required_part_label'] );
175
  }
176
 
177
  $validation_number = $validated_values[0];
inc/core/classes/parts/class-part-radio.php CHANGED
@@ -3,11 +3,11 @@
3
  class HappyForms_Part_Radio extends HappyForms_Form_Part {
4
 
5
  public $type = 'radio';
6
-
7
  public $template_id = 'happyforms-radio-template';
8
 
9
  public static $parent;
10
-
11
  public function __construct() {
12
  $this->label = __( 'Single Choice', 'happyforms' );
13
  $this->description = __( 'For radio buttons allowing one selection.', 'happyforms' );
@@ -178,7 +178,7 @@ class HappyForms_Part_Radio extends HappyForms_Form_Part {
178
  $validated_value = $value;
179
 
180
  if ( 1 === $part['required'] && '' === $validated_value ) {
181
- return new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
182
  }
183
 
184
  if ( '' !== $validated_value ) {
3
  class HappyForms_Part_Radio extends HappyForms_Form_Part {
4
 
5
  public $type = 'radio';
6
+
7
  public $template_id = 'happyforms-radio-template';
8
 
9
  public static $parent;
10
+
11
  public function __construct() {
12
  $this->label = __( 'Single Choice', 'happyforms' );
13
  $this->description = __( 'For radio buttons allowing one selection.', 'happyforms' );
178
  $validated_value = $value;
179
 
180
  if ( 1 === $part['required'] && '' === $validated_value ) {
181
+ return new WP_Error( 'error', $form['required_part_label'] );
182
  }
183
 
184
  if ( '' !== $validated_value ) {
inc/core/classes/parts/class-part-select.php CHANGED
@@ -172,7 +172,7 @@ class HappyForms_Part_Select extends HappyForms_Form_Part {
172
  $validated_value = $value;
173
 
174
  if ( 1 === $part['required'] && '' === $validated_value ) {
175
- return new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
176
  }
177
 
178
  if ( '' !== $validated_value ) {
172
  $validated_value = $value;
173
 
174
  if ( 1 === $part['required'] && '' === $validated_value ) {
175
+ return new WP_Error( 'error', $form['required_part_label'] );
176
  }
177
 
178
  if ( '' !== $validated_value ) {
inc/core/classes/parts/class-part-single-line-text.php CHANGED
@@ -131,7 +131,7 @@ class HappyForms_Part_SingleLineText extends HappyForms_Form_Part {
131
  $validated_value = $value;
132
 
133
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
134
- $validated_value = new WP_Error( 'error', __( 'This field is required.', 'happyforms' ) );
135
  }
136
 
137
  return $validated_value;
131
  $validated_value = $value;
132
 
133
  if ( 1 === $part['required'] && empty( $validated_value ) ) {
134
+ $validated_value = new WP_Error( 'error', $form['required_part_label'] );
135
  }
136
 
137
  return $validated_value;
inc/core/helpers/helper-form-templates.php CHANGED
@@ -80,7 +80,7 @@ if ( ! function_exists( 'happyforms_submit' ) ):
80
  * @return void
81
  */
82
  function happyforms_submit( $form ) {
83
- $template_path = happyforms_template_path( 'partials/form-submit', $form );
84
  $template_path = apply_filters( 'happyforms_get_submit_template_path', $template_path, $form );
85
  include( $template_path );
86
  }
@@ -1309,7 +1309,7 @@ if ( ! function_exists( 'happyforms_template_path' ) ) :
1309
 
1310
  function happyforms_template_path( $path, $form = array(), $part = array() ) {
1311
  $path = apply_filters( 'happyforms_get_template_path', $path, $form, $part );
1312
- $path = "/core/templates/{$path}.php";
1313
  $path = happyforms_get_include_folder() . $path;
1314
 
1315
  return $path;
80
  * @return void
81
  */
82
  function happyforms_submit( $form ) {
83
+ $template_path = happyforms_template_path( '/core/templates/partials/form-submit', $form );
84
  $template_path = apply_filters( 'happyforms_get_submit_template_path', $template_path, $form );
85
  include( $template_path );
86
  }
1309
 
1310
  function happyforms_template_path( $path, $form = array(), $part = array() ) {
1311
  $path = apply_filters( 'happyforms_get_template_path', $path, $form, $part );
1312
+ $path = "{$path}.php";
1313
  $path = happyforms_get_include_folder() . $path;
1314
 
1315
  return $path;
inc/core/templates/customize-controls/setup/checkbox-group.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="customize-control customize-control-checkbox <% if ( <?php echo $control['field']; ?> ) { %>checked<% } %>" id="customize-control-<?php echo $control['field']; ?>">
2
+ <?php do_action( "happyforms_setup_control_{$control['field']}_before", $control ); ?>
3
+
4
+ <p class="customize-control-title"><?php echo $control['label']; ?> <?php if ( isset( $control['tooltip'] ) ) : ?><i class="fa fa-question-circle" aria-hidden="true" data-pointer><span><?php echo $control['tooltip']; ?></span></i><?php endif; ?></p>
5
+
6
+ <div class="customize-inside-control-row" data-pointer-target>
7
+ <?php foreach ( $control['options'] as $option => $label ) : ?>
8
+ <div>
9
+ <input type="checkbox" id="<?php echo $control['field']; ?>_<?php echo $option; ?>" value="<?php echo $option; ?>" <% if ( -1 !== <?php echo $control['field']; ?>.indexOf( '<?php echo $option; ?>' ) ) { %>checked="checked"<% } %> data-attribute="<?php echo $control['field']; ?>" />
10
+ <label for="<?php echo $control['field']; ?>_<?php echo $option; ?>"><?php echo $label; ?></label>
11
+ </div>
12
+ <?php endforeach; ?>
13
+ </div>
14
+
15
+ <?php do_action( "happyforms_setup_control_{$control['field']}_after", $control ); ?>
16
+ </div>
inc/core/templates/customize-controls/setup/select.php CHANGED
@@ -1,8 +1,12 @@
1
  <div class="customize-control customize-control-select" id="customize-control-<?php echo $control['field']; ?>">
2
- <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?> <?php if ( isset( $control['tooltip'] ) ) : ?><i class="fa fa-question-circle" aria-hidden="true" data-pointer><span><?php echo $control['tooltip']; ?></span></i><?php endif; ?></label>
3
- <select name="<?php echo $control['field']; ?>" id="<?php echo $control['field']; ?>" data-attribute="<?php echo $control['field']; ?>" data-pointer-target>
4
- <?php foreach ( $control['options'] as $option => $label ) : ?>
5
- <option value="<?php echo $option; ?>" <% if ( '<?php echo $option; ?>' === <?php echo $control['field']; ?> ) { %>selected="selected"<% } %>><?php echo $label; ?></option>
6
- <?php endforeach; ?>
7
- </select>
8
- </div>
 
 
 
 
1
  <div class="customize-control customize-control-select" id="customize-control-<?php echo $control['field']; ?>">
2
+ <?php do_action( "happyforms_setup_control_{$control['field']}_before", $control ); ?>
3
+
4
+ <label for="<?php echo $control['field']; ?>" class="customize-control-title"><?php echo $control['label']; ?> <?php if ( isset( $control['tooltip'] ) ) : ?><i class="fa fa-question-circle" aria-hidden="true" data-pointer><span><?php echo $control['tooltip']; ?></span></i><?php endif; ?></label>
5
+ <select name="<?php echo $control['field']; ?>" id="<?php echo $control['field']; ?>" data-attribute="<?php echo $control['field']; ?>" data-pointer-target>
6
+ <?php foreach ( $control['options'] as $option => $label ) : ?>
7
+ <option value="<?php echo $option; ?>" <% if ( '<?php echo $option; ?>' === <?php echo $control['field']; ?> ) { %>selected="selected"<% } %>><?php echo $label; ?></option>
8
+ <?php endforeach; ?>
9
+ </select>
10
+
11
+ <?php do_action( "happyforms_setup_control_{$control['field']}_after", $control ); ?>
12
+ </div>
inc/core/templates/parts/block-rich-text.php DELETED
@@ -1,23 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
9
-
10
- <textarea id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" rows="5" <?php happyforms_the_part_attributes( $part, $form ); ?>><?php happyforms_the_part_value( $part, $form ); ?></textarea>
11
-
12
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
13
- <?php happyforms_the_part_label( $part, $form ); ?>
14
- <?php endif; ?>
15
-
16
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
17
-
18
- <?php happyforms_print_part_description( $part ); ?>
19
-
20
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
21
- </div>
22
- </div>
23
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-address.php DELETED
@@ -1,110 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-address-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="inside"<%= (instance.label_placement == 'inside') ? ' selected' : '' %>><?php _e( 'Inside', 'happyforms' ); ?></option>
14
- <option value="as_placeholder"<%= (instance.label_placement == 'as_placeholder') ? ' selected' : '' %>><?php _e( 'Display as placeholder', 'happyforms' ); ?></option>
15
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
16
- </select>
17
- </p>
18
- <p class="label_placement-options" style="display: none">
19
- <label>
20
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
21
- </label>
22
- </p>
23
- <p>
24
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
25
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
26
- </p>
27
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
28
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
29
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
30
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
31
- <option value="focus-reveal"<%= (instance.description_mode == 'focus-reveal') ? ' selected' : '' %>><?php _e( 'Reveal on focus', 'happyforms' ); ?></option>
32
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
33
- </select>
34
- </p>
35
- <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
36
- <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
37
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
38
- </p>
39
-
40
- <?php do_action( 'happyforms_part_customize_address_before_options' ); ?>
41
-
42
- <p>
43
- <label for="<%= instance.id %>_mode"><?php _e( 'Mode', 'happyforms' ); ?></label>
44
- <select id="<%= instance.id %>_mode" name="mode" data-bind="mode" class="widefat">
45
- <option value="simple"<%= (instance.mode == 'simple') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
46
- <option value="autocomplete"<%= (instance.mode == 'autocomplete') ? ' selected' : '' %>><?php _e( 'Full with autocomplete', 'happyforms' ); ?></option>
47
- <option value="country-city"<%= (instance.mode == 'country-city') ? ' selected' : '' %>><?php _e( 'Country and city', 'happyforms' ); ?></option>
48
- <option value="country"<%= (instance.mode == 'country') ? ' selected' : '' %>><?php _e( 'Country only', 'happyforms' ); ?></option>
49
- </select>
50
- </p>
51
- <p>
52
- <label>
53
- <input type="checkbox" name="has_geolocation" class="checkbox" value="1" <% if ( instance.has_geolocation ) { %>checked="checked"<% } %> data-bind="has_geolocation" /> <?php _e( 'Allow geolocation', 'happyforms' ); ?>
54
- </label>
55
- </p>
56
- <div class="address-apikey">
57
- <p>
58
- <label for="<%= instance.id %>_apikey"><?php _e( 'Google API Key', 'happyforms' ); ?></label>
59
- <input type="text" id="<%= instance.id %>_apikey class="widefat title" value="<%= instance.apikey %>" data-bind="apikey" />
60
- </p>
61
- <p class="description">
62
- <?php printf(
63
- '%s <a href="https://developers.google.com/places/web-service/get-api-key" target="_blank" class="external">%s</a>.',
64
- __( 'Address autocompletion requires a', 'happyforms' ),
65
- __( 'Google Places API key', 'happyforms' )
66
- ); ?>
67
- <?php printf(
68
- '%s <a href="https://developers.google.com/maps/documentation/geocoding/start" target="_blank" class="external">%s</a>.',
69
- __( 'Geolocation requires a', 'happyforms' ),
70
- __( 'Google Geocoding API key', 'happyforms' )
71
- ); ?>
72
- </p>
73
- </div>
74
- <p>
75
- <label>
76
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
77
- </label>
78
- </p>
79
-
80
- <?php do_action( 'happyforms_part_customize_address_after_options' ); ?>
81
-
82
- <div class="happyforms-part-advanced-settings-wrap">
83
- <?php do_action( 'happyforms_part_customize_address_before_advanced_options' ); ?>
84
-
85
- <p>
86
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
87
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
88
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
89
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
90
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
91
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
92
- </select>
93
- </p>
94
-
95
- <?php do_action( 'happyforms_part_customize_address_after_advanced_options' ); ?>
96
-
97
- <p>
98
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
99
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
100
- </p>
101
- </div>
102
-
103
- <div class="happyforms-part-logic-wrap">
104
- <div class="happyforms-logic-view">
105
- <?php happyforms_customize_part_logic(); ?>
106
- </div>
107
- </div>
108
-
109
- <?php happyforms_customize_part_footer(); ?>
110
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-date.php DELETED
@@ -1,140 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-date-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
- <p>
22
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
23
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
24
- </p>
25
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
26
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
27
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
28
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
29
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
30
- </select>
31
- </p>
32
-
33
- <?php do_action( 'happyforms_part_customize_date_before_options' ); ?>
34
-
35
- <p>
36
- <label for="<%= instance.id %>_date_type"><?php _e( 'Show', 'happyforms' ); ?></label>
37
- <select id="<%= instance.id %>_date_type" name="date_type" data-bind="date_type" class="widefat">
38
- <option value="date"<%= (instance.date_type == 'date') ? ' selected' : '' %>><?php _e( 'Date', 'happyforms' ); ?></option>
39
- <option value="datetime"<%= (instance.date_type == 'datetime') ? ' selected' : '' %>><?php _e( 'Date &amp; Time', 'happyforms' ); ?></option>
40
- <option value="time"<%= (instance.date_type == 'time') ? ' selected' : '' %>><?php _e( 'Time', 'happyforms' ); ?></option>
41
- <option value="month_year"<%= (instance.date_type == 'month_year') ? ' selected' : '' %>><?php _e( 'Month &amp; Year', 'happyforms' ); ?></option>
42
- <option value="month"<%= (instance.date_type == 'month') ? ' selected' : '' %>><?php _e( 'Month only', 'happyforms' ); ?></option>
43
- <option value="year"<%= (instance.date_type == 'year') ? ' selected' : '' %>><?php _e( 'Year only', 'happyforms' ); ?></option>
44
- </select>
45
- </p>
46
- <p>
47
- <label for="<%= instance.id %>_default_datetime"><?php _e( 'Default value', 'happyforms' ); ?></label>
48
- <select id="<%= instance.id %>_default_datetime" name="default_datetime" data-bind="default_datetime" class="widefat">
49
- <option value=""<%= (instance.default_datetime == 'blank') ? ' selected' : '' %>><?php _e( 'Blank', 'happyforms' ); ?></option>
50
- <option value="current"<%= (instance.default_datetime == 'current') ? ' selected' : '' %>><?php _e( 'Current date and time', 'happyforms' ); ?></option>
51
- </select>
52
- </p>
53
- <p>
54
- <label>
55
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
56
- </label>
57
- </p>
58
-
59
- <?php do_action( 'happyforms_part_customize_date_after_options' ); ?>
60
-
61
- <div class="happyforms-part-advanced-settings-wrap">
62
- <?php do_action( 'happyforms_part_customize_date_before_advanced_options' ); ?>
63
-
64
- <p class="date-options" style="margin-bottom: 0<%= (instance.date_type == 'time') ? '; display: none' : '' %>">
65
- <label for="<%= instance.id %>_years_option"><?php _e( 'Show', 'happyforms' ); ?></label>
66
- <select id="<%= instance.id %>_years_option" name="years_option" data-bind="years_option" class="widefat">
67
- <option value="all"<%= (instance.years_option == 'all') ? ' selected' : '' %>><?php _e( 'All years', 'happyforms' ); ?></option>
68
- <option value="past"<%= (instance.years_option == 'past') ? ' selected' : '' %>><?php _e( 'Past years only', 'happyforms' ); ?></option>
69
- <option value="future"<%= (instance.years_option == 'future') ? ' selected' : '' %>><?php _e( 'Future years only', 'happyforms' ); ?></option>
70
- </select>
71
- </p>
72
- <div class="date-options happyforms-customize-controls-wrap--side-by-side"<%= (instance.date_type == 'time') ? ' style="display: none"' : '' %>>
73
- <p>
74
- <label for="<%= instance.id %>_min_year"><?php _e( 'Start from', 'happyforms' ); ?></label>
75
- <input type="number" id="<%= instance.id %>_min_year" data-bind="min_year" value="<%= instance.min_year %>">
76
- </p>
77
- <p>
78
- <label for="<%= instance.id %>_max_year"><?php _e( 'End at', 'happyforms' ); ?></label>
79
- <input type="number" id="<%= instance.id %>_max_year" data-bind="max_year" min="<%= instance.min_year %>" max="<?php echo date( 'Y' ) + 2; ?>" value="<%= instance.max_year %>">
80
- </p>
81
- </div>
82
- <p class="date-options" style="margin-top: 0;<%= (instance.date_type == 'time') ? ' display: none' : '' %>">
83
- <label for="<%= instance.id %>_years_order"><?php _e( 'Years order', 'happyforms' ); ?></label>
84
- <select id="<%= instance.id %>_years_order" name="years_order" data-bind="years_order" class="widefat">
85
- <option value="desc"<%= (instance.years_order == 'desc') ? ' selected' : '' %>>DESC</option>
86
- <option value="asc"<%= (instance.years_order == 'asc') ? ' selected' : '' %>>ASC</option>
87
- </select>
88
- </p>
89
- <div class="time-options happyforms-customize-controls-wrap--side-by-side"<%= (instance.date_type == 'date') ? ' style="display: none"' : '' %>>
90
- <p>
91
- <label for="<%= instance.id %>_min_hour"><?php _e( 'Min hour', 'happyforms' ); ?></label>
92
- <input type="number" id="<%= instance.id %>_min_hour" data-bind="min_hour" value="<%= instance.min_hour %>">
93
- </p>
94
- <p>
95
- <label for="<%= instance.id %>_max_hour"><?php _e( 'Max hour', 'happyforms' ); ?></label>
96
- <input type="number" id="<%= instance.id %>_max_hour" data-bind="max_hour" min="<%= instance.max_hour %>" max="<?php echo date( 'Y' ) + 2; ?>" value="<%= instance.max_hour %>">
97
- </p>
98
- </div>
99
- <p class="time-options">
100
- <label for="<%= instance.id %>_minute_step"><?php _e( 'Minute step', 'happyforms' ); ?></label>
101
- <input type="number" id="<%= instance.id %>_minute_step" min="0" max="30" step="15" data-bind="minute_step" value="<%= instance.minute_step %>">
102
- </p>
103
- <p class="time-options"<%= (instance.date_type == 'date') ? ' style="display: none"' : '' %>>
104
- <label for="<%= instance.id %>_time_format"><?php _e( 'Time format', 'happyforms' ); ?></label>
105
- <select id="<%= instance.id %>_time_format" name="time_format" data-bind="time_format" class="widefat">
106
- <option value="12"<%= (instance.time_format == '12') ? ' selected' : '' %>><?php _e( '12h', 'happyforms' ); ?></option>
107
- <option value="24"<%= (instance.time_format == '24') ? ' selected' : '' %>><?php _e( '24h', 'happyforms' ); ?></option>
108
- </select>
109
- </p>
110
- <p>
111
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
112
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
113
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
114
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
115
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
116
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
117
- </select>
118
- </p>
119
- <p class="width-options" style="display: none">
120
- <label>
121
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
122
- </label>
123
- </p>
124
-
125
- <?php do_action( 'happyforms_part_customize_date_after_advanced_options' ); ?>
126
-
127
- <p>
128
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
129
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
130
- </p>
131
- </div>
132
-
133
- <div class="happyforms-part-logic-wrap">
134
- <div class="happyforms-logic-view">
135
- <?php happyforms_customize_part_logic(); ?>
136
- </div>
137
- </div>
138
-
139
- <?php happyforms_customize_part_footer(); ?>
140
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-legal.php DELETED
@@ -1,39 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-legal-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
5
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
6
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
7
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
8
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
9
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
10
- </select>
11
- </p>
12
-
13
- <?php do_action( 'happyforms_part_customize_legal_before_options' ); ?>
14
-
15
- <p>
16
- <label for="<%= instance.id %>_legal_text"><?php _e( 'Text', 'happyforms' ); ?></label>
17
- <textarea id="<%= instance.id %>_legal_text" rows="5" name="legal_text" data-bind="legal_text" class="widefat"><%= instance.legal_text %></textarea>
18
- </p>
19
-
20
- <?php do_action( 'happyforms_part_customize_legal_after_options' ); ?>
21
- <div class="happyforms-part-advanced-settings-wrap">
22
- <?php do_action( 'happyforms_part_customize_legal_before_advanced_options' ); ?>
23
-
24
- <?php do_action( 'happyforms_part_customize_legal_after_advanced_options' ); ?>
25
-
26
- <p>
27
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
28
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
29
- </p>
30
- </div>
31
-
32
- <div class="happyforms-part-logic-wrap">
33
- <div class="happyforms-logic-view">
34
- <?php happyforms_customize_part_logic(); ?>
35
- </div>
36
- </div>
37
-
38
- <?php happyforms_customize_part_footer(); ?>
39
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-narrative.php DELETED
@@ -1,70 +0,0 @@
1
- <script type="text/template" id="customize-happyforms-narrative-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
-
22
- <?php do_action( 'happyforms_part_customize_narrative_before_options' ); ?>
23
-
24
- <p>
25
- <label for="<%= instance.id %>_format"><?php _e( 'Text', 'happyforms' ); ?></label>
26
- <textarea id="<%= instance.id %>_format" data-bind="format"><%= instance.format %></textarea>
27
- <p class="description"><?php _e( 'Text between brackets is turned into input placeholders.', 'happyforms-upgrade' ); ?></p>
28
- </p>
29
- <p>
30
- <label>
31
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Each input is required', 'happyforms' ); ?>
32
- </label>
33
- </p>
34
-
35
- <?php do_action( 'happyforms_part_customize_narrative_after_options' ); ?>
36
-
37
- <div class="happyforms-part-advanced-settings-wrap">
38
- <?php do_action( 'happyforms_part_customize_narrative_before_advanced_options' ); ?>
39
-
40
- <p>
41
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
42
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
43
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
44
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
45
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
46
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
47
- </select>
48
- </p>
49
- <p class="width-options" style="display: none">
50
- <label>
51
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
52
- </label>
53
- </p>
54
-
55
- <?php do_action( 'happyforms_part_customize_narrative_after_advanced_options' ); ?>
56
-
57
- <p>
58
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
59
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
60
- </p>
61
- </div>
62
-
63
- <div class="happyforms-part-logic-wrap">
64
- <div class="happyforms-logic-view">
65
- <?php happyforms_customize_part_logic(); ?>
66
- </div>
67
- </div>
68
-
69
- <?php happyforms_customize_part_footer(); ?>
70
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-phone.php DELETED
@@ -1,114 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-phone-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="inside"<%= (instance.label_placement == 'inside') ? ' selected' : '' %>><?php _e( 'Inside input', 'happyforms' ); ?></option>
14
- <option value="as_placeholder"<%= (instance.label_placement == 'as_placeholder') ? ' selected' : '' %>><?php _e( 'Display as placeholder', 'happyforms' ); ?></option>
15
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
16
- </select>
17
- </p>
18
- <p class="label_placement-options" style="display: none">
19
- <label>
20
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
21
- </label>
22
- </p>
23
- <p>
24
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
25
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
26
- </p>
27
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
28
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
29
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
30
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
31
- <option value="focus-reveal"<%= (instance.description_mode == 'focus-reveal') ? ' selected' : '' %>><?php _e( 'Reveal on focus', 'happyforms' ); ?></option>
32
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
33
- </select>
34
- </p>
35
- <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
36
- <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
37
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
38
- </p>
39
-
40
- <?php do_action( 'happyforms_part_customize_phone_before_options' ); ?>
41
-
42
- <p>
43
- <label>
44
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
45
- </label>
46
- </p>
47
-
48
- <?php do_action( 'happyforms_part_customize_phone_after_options' ); ?>
49
-
50
- <div class="happyforms-part-advanced-settings-wrap">
51
- <?php do_action( 'happyforms_part_customize_phone_before_advanced_options' ); ?>
52
-
53
- <p>
54
- <label>
55
- <input type="checkbox" name="masked" class="checkbox" value="1" <% if ( instance.masked ) { %>checked="checked"<% } %> data-bind="masked" /> <?php _e( 'International format', 'happyforms' ); ?>
56
- </label>
57
- </p>
58
- <div class="number-options number-options--phone" style="display: <%= (instance.masked != 0) ? 'block' : 'none' %>">
59
- <p>
60
- <label for="<%= instance.id %>_mask_phone_country"><?php _e( 'Default phone number region', 'happyforms' ); ?></label>
61
- <select id="<%= instance.id %>_mask_phone_country" class="widefat title" data-bind="mask_phone_country">
62
- <?php
63
- $phone_countries = happyforms_get_phone_countries();
64
-
65
- foreach ( $phone_countries as $country_code => $country ) : ?>
66
- <option value="<?php echo esc_attr( $country_code ); ?>"<% if (instance.mask_phone_country == <?php echo $country['code']; ?> || instance.mask_phone_country == '<?php echo $country_code; ?>') { %> selected<% } %>><?php echo ucwords( strtolower( $country['name'] ) ); ?></option>
67
- <?php endforeach; ?>
68
- </select>
69
- </p>
70
- <p>
71
- <label>
72
- <input type="checkbox" name="mask_allow_all_countries" class="checkbox" value="1" <% if ( instance.mask_allow_all_countries ) { %>checked="checked"<% } %> data-bind="mask_allow_all_countries" /> <?php _e( 'Allow other regions to be selected', 'happyforms' ); ?>
73
- </label>
74
- </p>
75
- </div>
76
- <p>
77
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
78
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
79
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
80
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
81
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
82
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
83
- </select>
84
- </p>
85
- <p class="width-options" style="display: none">
86
- <label>
87
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
88
- </label>
89
- </p>
90
- <p>
91
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
92
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
93
- </p>
94
- <p>
95
- <label>
96
- <input type="checkbox" class="checkbox confirmation-checkbox" value="1" <% if ( instance.confirmation_field ) { %>checked="checked"<% } %> data-bind="confirmation_field" /> <?php _e( 'Require confirmation of the value', 'happyforms' ); ?>
97
- </label>
98
- </p>
99
- <p class="confirmation-field-setting" style="display: <%= (instance.confirmation_field == 1) ? 'block' : 'none' %>">
100
- <label for="<%= instance.id %>_confirmation_field_label"><?php _e( 'Confirmation field title', 'happyforms' ); ?></label>
101
- <input type="text" id="<%= instance.id %>_confirmation_field_label" class="widefat title" value="<%= instance.confirmation_field_label %>" data-bind="confirmation_field_label" />
102
- </p>
103
-
104
- <?php do_action( 'happyforms_part_customize_phone_after_advanced_options' ); ?>
105
- </div>
106
-
107
- <div class="happyforms-part-logic-wrap">
108
- <div class="happyforms-logic-view">
109
- <?php happyforms_customize_part_logic(); ?>
110
- </div>
111
- </div>
112
-
113
- <?php happyforms_customize_part_footer(); ?>
114
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-placeholder.php DELETED
@@ -1,64 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-placeholder-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
-
22
- <?php do_action( 'happyforms_part_customize_placeholder_before_options' ); ?>
23
-
24
- <p>
25
- <label for="<%= instance.id %>_placeholder_text"><?php _e( 'Text', 'happyforms' ); ?></label>
26
- <textarea id="<%= instance.id %>_placeholder_text" class="widefat title" name="placeholder_text" data-bind="placeholder_text"><%= instance.placeholder_text %></textarea>
27
- </p>
28
-
29
- <?php do_action( 'happyforms_part_customize_placeholder_after_options' ); ?>
30
-
31
- <div class="happyforms-part-advanced-settings-wrap">
32
- <?php do_action( 'happyforms_part_customize_placeholder_before_advanced_options' ); ?>
33
-
34
- <p>
35
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
36
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
37
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
38
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
39
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
40
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
41
- </select>
42
- </p>
43
- <p class="width-options" style="display: none">
44
- <label>
45
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
46
- </label>
47
- </p>
48
-
49
- <?php do_action( 'happyforms_part_customize_placeholder_after_advanced_options' ); ?>
50
-
51
- <p>
52
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
53
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
54
- </p>
55
- </div>
56
-
57
- <div class="happyforms-part-logic-wrap">
58
- <div class="happyforms-logic-view">
59
- <?php happyforms_customize_part_logic(); ?>
60
- </div>
61
- </div>
62
-
63
- <?php happyforms_customize_part_footer(); ?>
64
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-rating.php DELETED
@@ -1,111 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-rating-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
- <p>
22
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
23
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
24
- </p>
25
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
26
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
27
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
28
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
29
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
30
- </select>
31
- </p>
32
-
33
- <?php do_action( 'happyforms_part_customize_rating_before_options' ); ?>
34
-
35
- <p>
36
- <label for="<%= instance.id %>_rating_type"><?php _e( 'Rating type', 'happyforms' ); ?></label>
37
- <select id="<%= instance.id %>_rating_type" data-bind="rating_type">
38
- <option value="yesno"<%= (instance.rating_type == 'yesno') ? ' selected' : '' %>><?php _e( 'No / Yes', 'happyforms' ); ?></option>
39
- <option value="scale"<%= (instance.rating_type == 'scale') ? ' selected' : '' %>><?php _e( 'Scale of 1 to 5', 'happyforms' ); ?></option>
40
- </select>
41
- </p>
42
- <p>
43
- <label for="<%= instance.id %>_rating_visuals"><?php _e( 'Rating visuals', 'happyforms' ); ?></label>
44
- <select id="<%= instance.id %>_rating_visuals" data-bind="rating_visuals">
45
- <option class="scale-default" data-allowed-for="scale" value="stars"<%= (instance.rating_visuals == 'stars') ? ' selected' : '' %><%= (instance.rating_type == 'yesno' ) ? ' disabled' : '' %>><?php _e( 'Stars', 'happyforms' ); ?></option>
46
- <option class="yesno-default" data-allowed-for="scale,yesno" value="smileys"<%= (instance.rating_visuals == 'smileys') ? ' selected' : '' %>><?php _e( 'Smileys', 'happyforms' ); ?></option>
47
- <option value="thumbs" data-allowed-for="yesno" <%= (instance.rating_visuals == 'thumbs') ? ' selected' : '' %><%= (instance.rating_type == 'scale' ) ? ' disabled' : '' %>><?php _e( 'Thumbs', 'happyforms' ); ?></option>
48
- </select>
49
- </p>
50
- <p>
51
- <label>
52
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
53
- </label>
54
- </p>
55
-
56
- <?php do_action( 'happyforms_part_customize_rating_after_options' ); ?>
57
-
58
- <div class="happyforms-part-advanced-settings-wrap">
59
- <?php do_action( 'happyforms_part_customize_rating_before_advanced_options' ); ?>
60
-
61
- <p class="happyforms-rating-labels-scale" style="display: <%= ( instance.rating_type == 'scale' && instance.rating_visuals == 'smileys' ) ? 'block' : 'none' %>">
62
- <label>
63
- <?php _e( 'Rating Labels', 'happyforms' ); ?>
64
- <% if ( instance.rating_labels_scale ) { %>
65
- <% _.each( instance.rating_labels_scale, function( label, index ) { %>
66
- <input type="text" class="widefat title happyforms-self-spaced-input rating-label" value="<%= label %>" data-attribute="rating_labels_scale" data-index="<%= index %>">
67
- <% }); %>
68
- <% } %>
69
- </label>
70
- </p>
71
- <p class="happyforms-rating-labels-yesno" style="display: <%= ( instance.rating_type == 'yesno' ) ? 'block' : 'none' %>">
72
- <label>
73
- <?php _e( 'Rating Labels', 'happyforms' ); ?>
74
- <% if ( instance.rating_labels_yesno ) { %>
75
- <% _.each( instance.rating_labels_yesno, function( label, index ) { %>
76
- <input type="text" class="widefat title happyforms-self-spaced-input rating-label" value="<%= label %>" data-attribute="rating_labels_yesno" data-index="<%= index %>">
77
- <% }); %>
78
- <% } %>
79
- </label>
80
- </p>
81
- <p>
82
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
83
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
84
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
85
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
86
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
87
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
88
- </select>
89
- </p>
90
- <p class="width-options" style="display: none">
91
- <label>
92
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
93
- </label>
94
- </p>
95
-
96
- <?php do_action( 'happyforms_part_customize_rating_after_advanced_options' ); ?>
97
-
98
- <p>
99
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
100
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
101
- </p>
102
- </div>
103
-
104
- <div class="happyforms-part-logic-wrap">
105
- <div class="happyforms-logic-view">
106
- <?php happyforms_customize_part_logic(); ?>
107
- </div>
108
- </div>
109
-
110
- <?php happyforms_customize_part_footer(); ?>
111
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-rich-text.php DELETED
@@ -1,88 +0,0 @@
1
- <script type="text/template" id="customize-happyforms-rich-text-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
- <p>
22
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
23
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
24
- </p>
25
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
26
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
27
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
28
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
29
- <option value="focus-reveal"<%= (instance.description_mode == 'focus-reveal') ? ' selected' : '' %>><?php _e( 'Reveal on focus', 'happyforms' ); ?></option>
30
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
31
- </select>
32
- </p>
33
-
34
- <?php do_action( 'happyforms_part_customize_rich_text_before_options' ); ?>
35
-
36
- <p>
37
- <label>
38
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
39
- </label>
40
- </p>
41
-
42
- <?php do_action( 'happyforms_part_customize_rich_text_after_options' ); ?>
43
-
44
- <div class="happyforms-part-advanced-settings-wrap">
45
- <?php do_action( 'happyforms_part_customize_rich_text_before_advanced_options' ); ?>
46
-
47
- <p>
48
- <label for="<%= instance.id %>_character_limit"><?php _e( 'Character count', 'happyforms' ); ?></label>
49
- <div class="character-limit-settings">
50
- <input type="number" id="<%= instance.id %>_character_limit" class="widefat title" step="1" value="<%= instance.character_limit %>" data-bind="character_limit" />
51
- <select id="<%= instance.id %>_character_limit_mode" data-bind="character_limit_mode">
52
- <option value="word_max"<%= (instance.character_limit_mode == 'word_max') ? ' selected' : '' %>><?php _e( 'Words (max)', 'happyforms' ); ?></option>
53
- <option value="word_min"<%= (instance.character_limit_mode == 'word_min') ? ' selected' : '' %>><?php _e( 'Words (min)', 'happyforms' ); ?></option>
54
- <option value="character_max"<%= (instance.character_limit_mode == 'character_max') ? ' selected' : '' %>><?php _e( 'Characters (max)', 'happyforms' ); ?></option>
55
- <option value="character_min"<%= (instance.character_limit_mode == 'character_min') ? ' selected' : '' %>><?php _e( 'Characters (min)', 'happyforms' ); ?></option>
56
- </select>
57
- </div>
58
- </p>
59
- <p>
60
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
61
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
62
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
63
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
64
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
65
- </select>
66
- </p>
67
- <p class="width-options" style="display: none">
68
- <label>
69
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
70
- </label>
71
- </p>
72
-
73
- <?php do_action( 'happyforms_part_customize_rich_text_after_advanced_options' ); ?>
74
-
75
- <p>
76
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
77
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
78
- </p>
79
- </div>
80
-
81
- <div class="happyforms-part-logic-wrap">
82
- <div class="happyforms-logic-view">
83
- <?php happyforms_customize_part_logic(); ?>
84
- </div>
85
- </div>
86
-
87
- <?php happyforms_customize_part_footer(); ?>
88
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-scale.php DELETED
@@ -1,123 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-scale-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
- <p>
22
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
23
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
24
- </p>
25
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
26
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
27
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
28
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
29
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
30
- </select>
31
- </p>
32
-
33
- <?php do_action( 'happyforms_part_customize_scale_before_options' ); ?>
34
-
35
- <div class="happyforms-customize-controls-wrap--side-by-side">
36
- <p>
37
- <label for="<%= instance.id %>_max_value"><?php _e( 'Minimum value', 'happyforms' ); ?></label>
38
- <input type="text" id="<%= instance.id %>_max_value" class="widefat title" value="<%= instance.min_value %>" data-bind="min_value" />
39
- </p>
40
- <p>
41
- <label for="<%= instance.id %>_max_value"><?php _e( 'Maximum value', 'happyforms' ); ?></label>
42
- <input type="text" id="<%= instance.id %>_max_value" class="widefat title" value="<%= instance.max_value %>" data-bind="max_value" />
43
- </p>
44
- </div>
45
- <p>
46
- <label>
47
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
48
- </label>
49
- </p>
50
-
51
- <?php do_action( 'happyforms_part_customize_scale_after_options' ); ?>
52
-
53
- <div class="happyforms-part-advanced-settings-wrap">
54
- <?php do_action( 'happyforms_part_customize_scale_before_advanced_options' ); ?>
55
-
56
- <p>
57
- <label>
58
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.multiple ) { %>checked="checked"<% } %> data-bind="multiple" /> <?php _e( 'Allow range select', 'happyforms' ); ?>
59
- </label>
60
- </p>
61
- <div class="happyforms-customize-controls-wrap--side-by-side scale-multiple-options" style="display: <%= ( instance.multiple ) ? 'flex' : 'none' %>">
62
- <p>
63
- <label for="<%= instance.id %>_default_range_from"><?php _e( 'Default range from', 'happyforms' ); ?></label>
64
- <input type="text" id="<%= instance.id %>_default_range_from" class="widefat title" value="<%= instance.default_range_from %>" data-bind="default_range_from" />
65
- </p>
66
- <p>
67
- <label for="<%= instance.id %>_default_range_to"><?php _e( 'Default range to', 'happyforms' ); ?></label>
68
- <input type="text" id="<%= instance.id %>_default_range_to" class="widefat title" value="<%= instance.default_range_to %>" data-bind="default_range_to" />
69
- </p>
70
- </div>
71
- <p class="scale-single-options" style="display: <%= ( instance.multiple ) ? 'none' : 'block' %>">
72
- <label for="<%= instance.id %>_default_value"><?php _e( 'Default value', 'happyforms' ); ?></label>
73
- <input type="text" id="<%= instance.id %>_default_value" class="widefat title" value="<%= instance.default_value %>" data-bind="default_value" />
74
- </p>
75
- <div class="happyforms-customize-controls-wrap--side-by-side">
76
- <p>
77
- <label for="<%= instance.id %>_min_label"><?php _e( 'Min value label', 'happyforms' ); ?></label>
78
- <input type="text" id="<%= instance.id %>_min_label" class="widefat title" value="<%= instance.min_label %>" data-bind="min_label" />
79
- </p>
80
- <p>
81
- <label for="<%= instance.id %>_max_label"><?php _e( 'Max value label', 'happyforms' ); ?></label>
82
- <input type="text" id="<%= instance.id %>_max_label" class="widefat title" value="<%= instance.max_label %>" data-bind="max_label" />
83
- </p>
84
- </div>
85
- <p>
86
- <label for="<%= instance.id %>_step"><?php _e( 'Step', 'happyforms' ); ?></label>
87
- <select id="<%= instance.id %>_step" data-bind="step" class="widefat">
88
- <option value="1"<%= (instance.step == '1') ? ' selected' : '' %>>1</option>
89
- <option value="0.1"<%= (instance.width == '0.1') ? ' selected' : '' %>>0.1</option>
90
- <option value="10"<%= (instance.width == '10') ? ' selected' : '' %>>10</option>
91
- </select>
92
- </p>
93
- <p>
94
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
95
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
96
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
97
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
98
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
99
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
100
- </select>
101
- </p>
102
- <p class="width-options" style="display: none">
103
- <label>
104
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
105
- </label>
106
- </p>
107
-
108
- <?php do_action( 'happyforms_part_customize_scale_after_advanced_options' ); ?>
109
-
110
- <p>
111
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
112
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
113
- </p>
114
- </div>
115
-
116
- <div class="happyforms-part-logic-wrap">
117
- <div class="happyforms-logic-view">
118
- <?php happyforms_customize_part_logic(); ?>
119
- </div>
120
- </div>
121
-
122
- <?php happyforms_customize_part_footer(); ?>
123
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-table.php DELETED
@@ -1,153 +0,0 @@
1
- <script type="text/template" id="customize-happyforms-table-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
14
- </select>
15
- </p>
16
- <p class="label_placement-options" style="display: none">
17
- <label>
18
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
19
- </label>
20
- </p>
21
- <p>
22
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
23
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
24
- </p>
25
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
26
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
27
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
28
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
29
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
30
- </select>
31
- </p>
32
-
33
- <?php do_action( 'happyforms_part_customize_table_before_options' ); ?>
34
-
35
- <p>
36
- <label>
37
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.allow_multiple_selection ) { %>checked="checked"<% } %> data-bind="allow_multiple_selection" /> <?php _e( 'Allow multiple selections', 'happyforms' ); ?>
38
- </label>
39
- </p>
40
- <div class="tab-links">
41
- <a href="#" data-happyforms-tab="tab-content-columns" class="active"><?php _e( 'Columns', 'happyforms' ); ?></a>
42
- <a href="#" data-happyforms-tab="tab-content-rows"><?php _e( 'Rows', 'happyforms' ); ?></a>
43
- </div>
44
- <div class="tab-content">
45
- <div class="tab-content-columns active">
46
- <div class="options columns">
47
- <ul class="column-list"></ul>
48
- <h3><?php _e( 'Columns', 'happyforms' ); ?></h3>
49
- <p class="no-options description"><?php _e( 'No columns added yet. Add one by clicking <i>Add Column</i> below.', 'happyforms' ); ?></p>
50
- </div>
51
- <p class="links">
52
- <a href="#" class="button add-column"><?php _e( 'Add column', 'happyforms' ); ?></a>
53
- </p>
54
- </div>
55
- <div class="tab-content-rows">
56
- <div class="options rows">
57
- <ul class="row-list"></ul>
58
- <h3><?php _e( 'Rows', 'happyforms' ); ?></h3>
59
- <p class="no-options description"><?php _e( 'No rows added yet. Add one by clicking <i>Add Row</i> below.', 'happyforms' ); ?></p>
60
- </div>
61
- <div class="options-import">
62
- <h3><?php _e( 'Options', 'happyforms' ); ?></h3>
63
- <textarea class="option-import-area" cols="30" rows="10" placeholder="<?php _e( 'Type or paste your rows here, adding each on a new line.' ); ?>"></textarea>
64
- </div>
65
- <p class="links mode-manual">
66
- <a href="#" class="button add-row"><?php _e( 'Add row', 'happyforms' ); ?></a>
67
- <span class="centered">
68
- <a href="#" class="import-options"><?php _e( 'Or, bulk add rows', 'happyforms' ); ?></a>
69
- </span>
70
- </p>
71
- <p class="links mode-import">
72
- <a href="#" class="button import-option"><?php _e( 'Add rows', 'happyforms' ); ?></a>
73
- <span class="centered">
74
- <a href="#" class="add-options"><?php _e( 'Cancel', 'happyforms' ); ?></a>
75
- </span>
76
- </p>
77
- </div>
78
- </div>
79
- <p>
80
- <label>
81
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'Each row is required', 'happyforms' ); ?>
82
- </label>
83
- </p>
84
-
85
- <?php do_action( 'happyforms_part_customize_table_after_options' ); ?>
86
-
87
- <div class="happyforms-part-advanced-settings-wrap">
88
- <?php do_action( 'happyforms_part_customize_table_before_advanced_options' ); ?>
89
-
90
- <p>
91
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
92
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
93
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
94
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
95
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
96
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
97
- </select>
98
- </p>
99
- <p class="width-options" style="display: none">
100
- <label>
101
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
102
- </label>
103
- </p>
104
- <p>
105
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
106
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
107
- </p>
108
-
109
- <?php do_action( 'happyforms_part_customize_table_after_advanced_options' ); ?>
110
- </div>
111
-
112
- <div class="happyforms-part-logic-wrap">
113
- <div class="happyforms-logic-view">
114
- <?php happyforms_customize_part_logic(); ?>
115
- </div>
116
- </div>
117
-
118
- <?php happyforms_customize_part_footer(); ?>
119
- </script>
120
- <script type="text/template" id="customize-happyforms-table-column-template">
121
- <li data-column-id="<%= id %>">
122
- <div class="happyforms-part-item-body">
123
- <div class="happyforms-part-item-handle"></div>
124
- <label>
125
- <?php _e( 'Label', 'happyforms' ); ?>
126
- <input type="text" class="widefat" name="label" value="<%= label %>" data-option-attribute="label">
127
- </label>
128
- <div class="happyforms-part-item-advanced">
129
- <label>
130
- <input type="checkbox" name="is_default" value="1" class="default-option-switch"<% if (is_default == 1) { %> checked="checked"<% } %>> <?php _e( 'Checked by default', 'happyforms' ); ?>
131
- </label>
132
- </div>
133
- <div class="option-actions">
134
- <a href="#" class="delete-column"><?php _e( 'Delete', 'happyforms' ); ?></a> |
135
- <a href="#" class="advanced-column"><?php _e( 'Advanced', 'happyforms' ); ?></a>
136
- </div>
137
- </div>
138
- </li>
139
- </script>
140
- <script type="text/template" id="customize-happyforms-table-row-template">
141
- <li data-row-id="<%= id %>">
142
- <div class="happyforms-part-item-body">
143
- <div class="happyforms-part-item-handle"></div>
144
- <label>
145
- <?php _e( 'Label', 'happyforms' ); ?>
146
- <input type="text" class="widefat" name="label" value="<%= label %>" data-option-attribute="label">
147
- </label>
148
- <div class="option-actions">
149
- <a href="#" class="delete-row"><?php _e( 'Delete', 'happyforms' ); ?></a>
150
- </div>
151
- </div>
152
- </li>
153
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-title.php DELETED
@@ -1,81 +0,0 @@
1
- <script type="text/template" id="happyforms-customize-title-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="as_placeholder"<%= (instance.label_placement == 'as_placeholder') ? ' selected' : '' %>><?php _e( 'Display as placeholder', 'happyforms' ); ?></option>
14
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
15
- </select>
16
- </p>
17
- <p class="label_placement-options" style="display: none">
18
- <label>
19
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
20
- </label>
21
- </p>
22
- <p>
23
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
24
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
25
- </p>
26
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
27
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
28
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
29
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
30
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
31
- </select>
32
- </p>
33
- <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
34
- <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
35
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
36
- </p>
37
-
38
- <?php do_action( 'happyforms_part_customize_title_before_options' ); ?>
39
-
40
- <p>
41
- <label>
42
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
43
- </label>
44
- </p>
45
-
46
- <?php do_action( 'happyforms_part_customize_title_after_options' ); ?>
47
-
48
- <div class="happyforms-part-advanced-settings-wrap">
49
- <?php do_action( 'happyforms_part_customize_title_before_advanced_options' ); ?>
50
-
51
- <p>
52
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
53
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
54
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
55
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
56
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
57
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
58
- </select>
59
- </p>
60
- <p class="width-options" style="display: none">
61
- <label>
62
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
63
- </label>
64
- </p>
65
-
66
- <?php do_action( 'happyforms_part_customize_title_after_advanced_options' ); ?>
67
-
68
- <p>
69
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', '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
- </div>
73
-
74
- <div class="happyforms-part-logic-wrap">
75
- <div class="happyforms-logic-view">
76
- <?php happyforms_customize_part_logic(); ?>
77
- </div>
78
- </div>
79
-
80
- <?php happyforms_customize_part_footer(); ?>
81
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/customize-website-url.php DELETED
@@ -1,83 +0,0 @@
1
- <script type="text/template" id="customize-happyforms-website-url-template">
2
- <?php include( happyforms_get_include_folder() . '/core/templates/customize-form-part-header.php' ); ?>
3
- <p>
4
- <label for="<%= instance.id %>_title"><?php _e( 'Title', 'happyforms' ); ?></label>
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 %>_label_placement"><?php _e( 'Title placement', 'happyforms' ); ?></label>
9
- <select id="<%= instance.id %>_label_placement" data-bind="label_placement">
10
- <option value="above"<%= (instance.label_placement == 'above') ? ' selected' : '' %>><?php _e( 'Above', 'happyforms' ); ?></option>
11
- <option value="left"<%= (instance.label_placement == 'left') ? ' selected' : '' %>><?php _e( 'Left', 'happyforms' ); ?></option>
12
- <option value="below"<%= (instance.label_placement == 'below') ? ' selected' : '' %>><?php _e( 'Below', 'happyforms' ); ?></option>
13
- <option value="inside"<%= (instance.label_placement == 'inside') ? ' selected' : '' %>><?php _e( 'Inside input', 'happyforms' ); ?></option>
14
- <option value="as_placeholder"<%= (instance.label_placement == 'as_placeholder') ? ' selected' : '' %>><?php _e( 'Display as placeholder', 'happyforms' ); ?></option>
15
- <option value="hidden"<%= (instance.label_placement == 'hidden') ? ' selected' : '' %>><?php _e( 'Hidden', 'happyforms' ); ?></option>
16
- </select>
17
- </p>
18
- <p class="label_placement-options" style="display: none">
19
- <label>
20
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="label_placement" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
21
- </label>
22
- </p>
23
- <p>
24
- <label for="<%= instance.id %>_description"><?php _e( 'Description', 'happyforms' ); ?></label>
25
- <textarea id="<%= instance.id %>_description" data-bind="description"><%= instance.description %></textarea>
26
- </p>
27
- <p class="happyforms-description-options" style="display: <%= (instance.description != '') ? 'block' : 'none' %>">
28
- <label for="<%= instance.id %>_description_mode"><?php _e( 'Description appearance', 'happyforms' ); ?></label>
29
- <select id="<%= instance.id %>_description_mode" data-bind="description_mode">
30
- <option value=""><?php _e( 'Standard', 'happyforms' ); ?></option>
31
- <option value="focus-reveal"<%= (instance.description_mode == 'focus-reveal') ? ' selected' : '' %>><?php _e( 'Reveal on focus', 'happyforms' ); ?></option>
32
- <option value="tooltip"<%= (instance.description_mode == 'tooltip' || instance.tooltip_description ) ? ' selected' : '' %>><?php _e( 'Tooltip', 'happyforms' ); ?></option>
33
- </select>
34
- </p>
35
- <p class="happyforms-placeholder-option" style="display: <%= ( 'as_placeholder' !== instance.label_placement ) ? 'block' : 'none' %>">
36
- <label for="<%= instance.id %>_placeholder"><?php _e( 'Placeholder', 'happyforms' ); ?></label>
37
- <input type="text" id="<%= instance.id %>_placeholder" class="widefat title" value="<%= instance.placeholder %>" data-bind="placeholder" />
38
- </p>
39
-
40
- <?php do_action( 'happyforms_part_customize_website_url_before_options' ); ?>
41
-
42
- <p>
43
- <label>
44
- <input type="checkbox" class="checkbox" value="1" <% if ( instance.required ) { %>checked="checked"<% } %> data-bind="required" /> <?php _e( 'This is required', 'happyforms' ); ?>
45
- </label>
46
- </p>
47
-
48
- <?php do_action( 'happyforms_part_customize_website_url_after_options' ); ?>
49
-
50
- <div class="happyforms-part-advanced-settings-wrap">
51
- <?php do_action( 'happyforms_part_customize_website_url_before_advanced_options' ); ?>
52
-
53
- <p>
54
- <label for="<%= instance.id %>_width"><?php _e( 'Width', 'happyforms' ); ?></label>
55
- <select id="<%= instance.id %>_width" name="width" data-bind="width" class="widefat">
56
- <option value="full"<%= (instance.width == 'full') ? ' selected' : '' %>><?php _e( 'Full', 'happyforms' ); ?></option>
57
- <option value="half"<%= (instance.width == 'half') ? ' selected' : '' %>><?php _e( 'Half', 'happyforms' ); ?></option>
58
- <option value="third"<%= (instance.width == 'third') ? ' selected' : '' %>><?php _e( 'Third', 'happyforms' ); ?></option>
59
- <option value="auto"<%= (instance.width == 'auto') ? ' selected' : '' %>><?php _e( 'Auto', 'happyforms' ); ?></option>
60
- </select>
61
- </p>
62
- <p class="width-options" style="display: none">
63
- <label>
64
- <input type="checkbox" class="checkbox apply-all-check" value="" data-apply-to="width" /> <?php _e( 'Apply to all parts', 'happyforms' ); ?>
65
- </label>
66
- </p>
67
-
68
- <?php do_action( 'happyforms_part_customize_website_url_after_advanced_options' ); ?>
69
-
70
- <p>
71
- <label for="<%= instance.id %>_css_class"><?php _e( 'Custom CSS class', 'happyforms' ); ?></label>
72
- <input type="text" id="<%= instance.id %>_css_class" class="widefat title" value="<%= instance.css_class %>" data-bind="css_class" />
73
- </p>
74
- </div>
75
-
76
- <div class="happyforms-part-logic-wrap">
77
- <div class="happyforms-logic-view">
78
- <?php happyforms_customize_part_logic(); ?>
79
- </div>
80
- </div>
81
-
82
- <?php happyforms_customize_part_footer(); ?>
83
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-address.php DELETED
@@ -1,74 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
9
-
10
- <?php if ( 'simple' === $part['mode'] ) : ?>
11
- <div class="happyforms-part-el-wrap">
12
- <div class="happyforms-part__dummy-input">
13
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>[full]" class="address-full" type="text" value="<?php happyforms_the_part_value( $part, $form, 'full' ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 'full' ); ?> />
14
- <?php happyforms_geolocation_link( $part ); ?>
15
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
16
- <?php happyforms_the_part_label( $part, $form ); ?>
17
- <?php endif; ?>
18
- </div>
19
- </div>
20
- <?php elseif ( 'autocomplete' === $part['mode'] ) : ?>
21
- <div class="happyforms-part-el-wrap">
22
- <div class="happyforms-part__dummy-input">
23
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[full]" value="<?php happyforms_the_part_value( $part, $form, 'full' ); ?>" data-serialize />
24
-
25
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_id( $part, $form ); ?>_full_dummy_<?php echo time(); ?>" class="happyforms-part--address__autocomplete address-full" type="text" value="<?php happyforms_the_part_value( $part, $form, 'full' ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" autocomplete="none" <?php happyforms_the_part_attributes( $part, $form, 'full' ); ?> />
26
- <?php happyforms_geolocation_link( $part ); ?>
27
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
28
- <?php happyforms_the_part_label( $part, $form ); ?>
29
- <?php endif; ?>
30
-
31
- <?php happyforms_select( array(), $part, $form ); ?>
32
- </div>
33
- </div>
34
- <?php elseif ( 'country' === $part['mode'] ) : ?>
35
- <div class="happyforms-part-el-wrap">
36
- <div class="happyforms-part__dummy-input">
37
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[country]" value="<?php happyforms_the_part_value( $part, $form, 'country' ); ?>" data-serialize />
38
-
39
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_id( $part, $form ); ?>_country_dummy_<?php echo time(); ?>" class="happyforms-part--address__autocomplete address-country" type="text" value="<?php happyforms_the_part_value( $part, $form, 'country' ); ?>" placeholder="<?php _e( 'Country', 'happyforms' ); ?>" autocomplete="off" <?php happyforms_the_part_attributes( $part, $form, 'country' ); ?> />
40
- <?php happyforms_geolocation_link( $part ); ?>
41
-
42
- <?php happyforms_select( array(), $part, $form ); ?>
43
-
44
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
45
- <?php happyforms_the_part_label( $part, $form ); ?>
46
- <?php endif; ?>
47
- </div>
48
- </div>
49
- <?php else: ?>
50
- <div class="happyforms-part-el-wrap">
51
- <div class="happyforms-part__dummy-input">
52
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[country]" value="<?php happyforms_the_part_value( $part, $form, 'country' ); ?>" data-serialize />
53
-
54
- <input id ="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>_country_dummy_<?php echo time(); ?>" class="happyforms-part--address__autocomplete address-country" type="text" value="<?php happyforms_the_part_value( $part, $form, 'country' ); ?>" placeholder="<?php _e( 'Country', 'happyforms' ); ?>" autocomplete="off" <?php happyforms_the_part_attributes( $part, $form, 'country' ); ?> />
55
- <?php happyforms_geolocation_link( $part ); ?>
56
-
57
- <?php happyforms_select( array(), $part, $form ); ?>
58
-
59
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
60
- <?php happyforms_the_part_label( $part, $form ); ?>
61
- <?php endif; ?>
62
- </div>
63
-
64
- <input name="<?php happyforms_the_part_name( $part, $form ); ?>[city]" class="address-city" type="text" value="<?php happyforms_the_part_value( $part, $form, 'city' ); ?>" placeholder="<?php _e( 'City', 'happyforms' ); ?>" <?php happyforms_the_part_attributes( $part, $form, 'city' ); ?> />
65
- </div>
66
- <?php endif; ?>
67
-
68
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
69
-
70
- <?php happyforms_print_part_description( $part ); ?>
71
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
72
- </div>
73
- </div>
74
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-date-day.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
- $current_timestamp = current_time( 'timestamp', false );
3
-
4
- $day_value = ( happyforms_get_part_value( $part, $form, 'day' ) ) ? happyforms_get_part_value( $part, $form, 'day' ) : '';
5
-
6
- if ( '' === $day_value && 'current' === $part['default_datetime'] ) {
7
- $day_value = date( 'j', $current_timestamp );
8
- }
9
- ?>
10
- <div class="happyforms-part-date__date-input happyforms-part--date__input-wrap">
11
- <div class="happyforms-custom-select" data-searchable="true">
12
- <div class="happyforms-part__select-wrap">
13
- <?php $placeholder_text = __( 'Day', 'happyforms' ); ?>
14
-
15
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[day]" value="<?php echo $day_value; ?>" data-serialize />
16
-
17
- <input type="text" value="<?php echo $day_value; ?>" placeholder="<?php echo $placeholder_text; ?>" data-searchable="false" autocomplete="off" <?php happyforms_the_part_attributes( $part, $form ); ?> />
18
-
19
- <?php
20
- $options = array();
21
- $days = happyforms_get_days();
22
-
23
- foreach( $days as $i ) {
24
- $options[] = array(
25
- 'label' => $i,
26
- 'value' => $i,
27
- 'is_default' => ( intval( $day_value ) === $i )
28
- );
29
- }
30
-
31
- happyforms_select( $options, $part, $form, $placeholder_text );
32
- ?>
33
- </div>
34
- </div>
35
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-date-month.php DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
- $current_timestamp = current_time( 'timestamp', false );
3
- $month_value = ( happyforms_get_part_value( $part, $form, 'month' ) ) ? happyforms_get_part_value( $part, $form, 'month' ) : '';
4
-
5
- if ( '' === $month_value && 'current' === $part['default_datetime'] ) {
6
- $month_value = date( 'n', $current_timestamp );
7
- }
8
- ?>
9
- <div class="happyforms-part-date__date-input happyforms-part--date__input-wrap">
10
- <div class="happyforms-custom-select" data-searchable="true">
11
- <div class="happyforms-part__select-wrap">
12
- <?php
13
- $months = happyforms_get_months( $form );
14
- $placeholder_text = __( 'Month', 'happyforms' );
15
- ?>
16
-
17
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[month]" value="<?php echo $month_value; ?>" data-serialize />
18
-
19
- <input type="text" value="<?php echo ( $month_value ) ? $months[$month_value] : ''; ?>" placeholder="<?php echo $placeholder_text; ?>" data-searchable="false" autocomplete="off" <?php happyforms_the_part_attributes( $part, $form ); ?> />
20
-
21
- <?php
22
- $options = array();
23
-
24
- foreach ( $months as $i => $month ) {
25
- $options[] = array(
26
- 'label' => $month,
27
- 'value' => $i,
28
- 'is_default' => ( intval( $month_value ) === $i )
29
- );
30
- }
31
-
32
- happyforms_select( $options, $part, $form, $placeholder_text );
33
- ?>
34
- </div>
35
- </div>
36
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-date.php DELETED
@@ -1,153 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php $current_timestamp = current_time( 'timestamp', false ); ?>
4
- <?php if ( 'inside' !== $part['label_placement'] ) : ?>
5
- <?php happyforms_the_part_label( $part, $form ); ?>
6
- <?php endif; ?>
7
-
8
- <div class="happyforms-part__el">
9
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
10
- <?php
11
- if ( 'datetime' === $part['date_type'] || 'date' === $part['date_type'] ) {
12
- if ( 'month_first' === happyforms_get_site_date_format() ) {
13
- require( 'frontend-date-month.php' );
14
- require( 'frontend-date-day.php' );
15
- } else {
16
- require( 'frontend-date-day.php' );
17
- require( 'frontend-date-month.php' );
18
- }
19
- }
20
-
21
- if ( 'month_year' === $part['date_type'] || 'month' === $part['date_type'] ) {
22
- require( 'frontend-date-month.php' );
23
- }
24
-
25
- if ( 'time' !== $part['date_type'] && 'month' !== $part['date_type'] ) {
26
- $year_value = ( happyforms_get_part_value( $part, $form, 'year' ) ) ? happyforms_get_part_value( $part, $form, 'year' ) : '';
27
-
28
- if ( '' === $year_value && 'current' === $part['default_datetime'] ) {
29
- $year_value = date( 'Y', $current_timestamp );
30
- }
31
- ?>
32
- <div class="happyforms-part-date__date-input happyforms-part--date__input-wrap">
33
- <div class="happyforms-custom-select">
34
- <div class="happyforms-part__select-wrap">
35
- <?php $placeholder_text = __( 'Year', 'happyforms' ); ?>
36
-
37
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[year]" value="<?php echo $year_value; ?>" data-serialize />
38
-
39
- <input type="text" value="<?php echo $year_value; ?>" placeholder="<?php echo $placeholder_text; ?>" data-searchable="false" autocomplete="off" <?php happyforms_the_part_attributes( $part, $form ); ?> />
40
-
41
- <?php
42
- $order = ( isset( $part['years_order'] ) ) ? $part['years_order'] : 'desc';
43
- $min_year = $part['min_year'];
44
- $max_year = ( $part['max_year'] > $min_year ) ? $part['max_year'] : date('Y');
45
- $options = array();
46
-
47
- if ( 'desc' === $order ) {
48
- for ( $i = $max_year; $i >= $min_year; $i-- ) {
49
- $options[] = array(
50
- 'label' => $i,
51
- 'value' => $i,
52
- 'is_default' => ( intval( $year_value ) === $i )
53
- );
54
- }
55
- } else {
56
- for ( $i = $min_year; $i <= $max_year; $i++ ) {
57
- $options[] = array(
58
- 'label' => $i,
59
- 'value' => $i,
60
- 'is_default' => ( intval( $year_value ) === $i )
61
- );
62
- }
63
- }
64
- ?>
65
-
66
- <?php happyforms_select( $options, $part, $form, $placeholder_text ); ?>
67
- </div>
68
- </div>
69
- </div>
70
- <?php } ?>
71
- <?php if ( 'datetime' === $part['date_type'] || 'time' === $part['date_type'] ) : ?>
72
- <?php
73
- if ( 12 == $part['time_format'] ) {
74
- $hour_pattern = '(0[0-9]|1[0-2])';
75
- $hour_date_string = 'h';
76
- } else {
77
- $hour_pattern = '(0[0-9]|1[0-9]|2[0-3])';
78
- $hour_date_string = 'H';
79
- }
80
-
81
- $default_hour = sprintf( '%02d', intval( $part['min_hour'] ) );
82
- $happyforms_hour_value = ( happyforms_get_part_value( $part, $form, 'hour' ) ) ? happyforms_get_part_value( $part, $form, 'hour' ) : '';
83
- $hour_value = ( '' === $happyforms_hour_value && 'current' === $part['default_datetime'] ) ? date( $hour_date_string, $current_timestamp ) : $happyforms_hour_value;
84
-
85
- if ( '' === $hour_value ) {
86
- $hour_value = '00';
87
- }
88
- ?>
89
- <div class="happyforms-part--date__input-wrap happyforms-part-date__time-input happyforms-part-date__time-input--hours">
90
- <input type="text" name="<?php happyforms_the_part_name( $part, $form ); ?>[hour]" min="<?php echo $part['min_hour']; ?>" max="<?php echo $part['max_hour']; ?>" maxlength="2" pattern="<?php echo $hour_pattern; ?>" autocomplete="off" value="<?php echo $hour_value; ?>" <?php happyforms_the_part_attributes( $part, $form ); ?>>
91
- <span class="happyforms-spinner-arrow happyforms-spinner-arrow--up"></span>
92
- <span class="happyforms-spinner-arrow happyforms-spinner-arrow--down"></span>
93
- </div>
94
- <div class="happyforms-part--date__time-separator">
95
- <span>:</span>
96
- </div>
97
- <?php
98
- $happyforms_minute_value = ( happyforms_get_part_value( $part, $form, 'minute' ) ) ? happyforms_get_part_value( $part, $form, 'minute' ) : '';
99
-
100
- $minute_value = ( '' === $happyforms_minute_value && 'current' === $part['default_datetime'] ) ? date( 'i', $current_timestamp ) : $happyforms_minute_value;
101
-
102
- if ( '' === $minute_value ) {
103
- $minute_value = '00';
104
- }
105
- ?>
106
- <div class="happyforms-part--date__input-wrap happyforms-part-date__time-input happyforms-part-date__time-input--minutes">
107
- <input type="text" name="<?php happyforms_the_part_name( $part, $form ); ?>[minute]" min="0" max="59" step="<?php echo $part['minute_step']; ?>" maxlength="2" pattern="([0-5][0-9])" autocomplete="off" value="<?php echo $minute_value; ?>" <?php happyforms_the_part_attributes( $part, $form ); ?>>
108
- <span class="happyforms-spinner-arrow happyforms-spinner-arrow--up"></span>
109
- <span class="happyforms-spinner-arrow happyforms-spinner-arrow--down"></span>
110
- </div>
111
- <?php if ( 12 == intval( $part['time_format'] ) ) : ?>
112
- <?php
113
- $happyforms_period_value = ( happyforms_get_part_value( $part, $form, 'period' ) ) ? happyforms_get_part_value( $part, $form, 'period' ) : '';
114
- $period_value = ( 'current' === $part['default_datetime'] && '' === $happyforms_period_value ) ? date( 'A', $current_timestamp ) : 'AM';
115
- $period_value_label = ( 'AM' === $period_value ) ? __( 'AM', 'happyforms' ) : __( 'PM', 'happyforms' ); ?>
116
- <div class="happyforms-part--date__input-wrap happyforms-part-date__time-input happyforms-part-date__time-input--period">
117
- <div class="happyforms-custom-select" data-searchable="false">
118
- <div class="happyforms-part__select-wrap">
119
- <?php $placeholder_text = __( 'Period', 'happyforms' ); ?>
120
-
121
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[period]" value="<?php echo $period_value; ?>" data-serialize />
122
-
123
- <input type="text" value="<?php echo $period_value_label; ?>" placeholder="<?php echo $placeholder_text; ?>" data-default-label="<?php echo $period_value_label; ?>" data-default-value="<?php echo $period_value_label; ?>" <?php happyforms_the_part_attributes( $part, $form ); ?> />
124
-
125
- <?php
126
- $options = array(
127
- array(
128
- 'label' => __( 'AM', 'happyforms' ),
129
- 'value' => 'AM',
130
- 'is_default' => ( 'AM' === $period_value )
131
- ),
132
- array(
133
- 'label' => __( 'PM', 'happyforms' ),
134
- 'value' => 'PM',
135
- 'is_default' => ( 'PM' === $period_value )
136
- )
137
- );
138
-
139
- happyforms_select( $options, $part, $form, $placeholder_text );
140
- ?>
141
- </div>
142
- </div>
143
- </div>
144
- <?php endif; ?>
145
- <?php endif; ?>
146
-
147
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
148
-
149
- <?php happyforms_print_part_description( $part ); ?>
150
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
151
- </div>
152
- </div>
153
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-legal.php DELETED
@@ -1,17 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <div class="happyforms-part__el">
4
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
5
-
6
- <label class="option-label">
7
- <input type="checkbox" class="happyforms-visuallyhidden" id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" value="yes" <?php checked( happyforms_get_part_value( $part, $form ), 'yes' ); ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
8
- <span class="checkmark"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg></span>
9
- <span class="label"><?php echo html_entity_decode( $part['legal_text'] ); ?></span>
10
- </label>
11
-
12
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
13
-
14
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
15
- </div>
16
- </div>
17
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-narrative.php DELETED
@@ -1,30 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
9
-
10
- <p><?php
11
- $tokens = happyforms_get_narrative_tokens( $part['format'], true );
12
- $format = happyforms_get_narrative_format( $part['format'] );
13
- $inputs = array();
14
-
15
- foreach ( $tokens as $t => $placeholder ) {
16
- ob_start(); ?>
17
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="text" name="<?php happyforms_the_part_name( $part, $form ); ?>[]" <?php if ( ! empty( $placeholder ) ) : ?>placeholder="<?php echo esc_html( $placeholder ); ?>" <?php endif; ?> value="<?php happyforms_the_part_value( $part, $form, $t ); ?>" <?php happyforms_the_part_attributes( $part, $form, $t ); ?> /><?php
18
- $input = ob_get_clean();
19
- $inputs[$t] = $input;
20
- }
21
-
22
- vprintf( html_entity_decode( stripslashes( $format ) ), $inputs );
23
- ?></p>
24
-
25
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
26
-
27
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
28
- </div>
29
- </div>
30
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-phone.php DELETED
@@ -1,66 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <div class="happyforms-part-phone-wrap">
9
- <?php
10
- $countries = happyforms_get_phone_countries();
11
- $code_value = happyforms_get_part_value( $part, $form, 'code' );
12
- $country_value = happyforms_get_part_value( $part, $form, 'country' );
13
-
14
- $default_country_code = $part['mask_phone_country'];
15
-
16
- if ( empty( $code_value ) ) {
17
- if ( intval( $default_country_code ) ) {
18
- $code_value = $default_country_code;
19
- } else {
20
- $code_value = $countries[$default_country_code]['code'];
21
- }
22
- }
23
-
24
- if ( empty( $country_value ) ) {
25
- $country_value = $default_country_code;
26
- }
27
- ?>
28
-
29
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
30
-
31
- <?php if ( 1 === intval( $part['masked'] ) ) : ?>
32
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[code]" class="happyforms-phone-code" value="<?php echo $code_value; ?>" <?php happyforms_the_part_attributes( $part, $form, 'code' ); ?> />
33
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[country]" class="happyforms-phone-country" value="<?php echo $country_value; ?>" <?php happyforms_the_part_attributes( $part, $form, 'country' ); ?> />
34
- <?php endif; ?>
35
- <?php include( happyforms_get_include_folder() . '/core/templates/partials/part-phone-dropdown.php' ); ?>
36
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="text" value="<?php happyforms_the_part_value( $part, $form, 'number' ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>[number]" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" <?php happyforms_the_part_attributes( $part, $form, 'number' ); ?> />
37
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
38
- <?php happyforms_the_part_label( $part, $form ); ?>
39
- <?php endif; ?>
40
-
41
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
42
- </div>
43
-
44
- <?php happyforms_print_part_description( $part ); ?>
45
-
46
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
47
- </div>
48
- </div>
49
- <?php if ( 1 === intval( $part['confirmation_field'] ) ) : ?>
50
- <div class="happyforms-part-wrap happyforms-part-wrap--confirmation" id="<?php happyforms_the_part_id( $part, $form ); ?>-part_confirmation">
51
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
52
- <?php happyforms_the_part_confirmation_label( $part, $form ); ?>
53
- <?php endif; ?>
54
-
55
- <div class="happyforms-part__el">
56
- <div class="happyforms-part-phone-wrap">
57
- <?php include( happyforms_get_include_folder() . '/core/templates/partials/part-phone-dropdown.php' ); ?>
58
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>_confirmation" type="text" name="<?php happyforms_the_part_name( $part, $form ); ?>[confirmation]" value="<?php happyforms_the_part_value( $part, $form, 'confirmation' ); ?>" class="happyforms-confirmation-input" <?php happyforms_the_part_attributes( $part, $form, 1 ); ?> />
59
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
60
- <?php happyforms_the_part_confirmation_label( $part, $form ); ?>
61
- <?php endif; ?>
62
- </div>
63
- </div>
64
- </div>
65
- <?php endif; ?>
66
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-placeholder.php DELETED
@@ -1,17 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php
4
- if ( ! empty( $part['label'] ) || happyforms_is_preview() ) {
5
- happyforms_the_part_label( $part, $form );
6
- }
7
- ?>
8
-
9
- <div class="happyforms-part__el">
10
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
11
-
12
- <?php echo html_entity_decode( $part['placeholder_text'] ); ?>
13
-
14
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
15
- </div>
16
- </div>
17
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-rating-scale.php DELETED
@@ -1,21 +0,0 @@
1
- <input class="happyforms-visuallyhidden" type="radio" value="0" id="<?php echo esc_attr( $part['id'] ); ?>_0" name="<?php happyforms_the_part_name( $part, $form ); ?>" checked <?php happyforms_the_part_attributes( $part, $form ); ?>>
2
-
3
- <?php
4
- $label_class = ( 'stars' === $part['rating_visuals'] ) ? 'happyforms-star__label' : '';
5
- $rating_labels = $part['rating_labels_scale'];
6
-
7
- for ( $i = 1; $i <= $part['stars_num']; $i++ ) {
8
- ?>
9
- <input class="happyforms-visuallyhidden" type="radio" value="<?php echo esc_attr( $i ); ?>" id="<?php echo esc_attr( $part['id'] ); ?>_<?php echo esc_attr( $i ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" <?php checked( happyforms_get_part_value( $part, $form ), $i ); ?> <?php happyforms_the_part_attributes( $part, $form ); ?> />
10
- <label class="<?php echo $label_class; ?>" for="<?php echo esc_attr( $part['id'] ); ?>_<?php echo esc_attr( $i ); ?>">
11
- <?php if ( 'stars' === $part['rating_visuals'] ) { ?>
12
- <span class="happyforms-visuallyhidden"><?php echo esc_attr( $i ); ?> <?php _e( 'Stars', 'happyforms' ); ?></span>
13
- <svg class="happyforms-star" viewBox="0 0 512 512" fill=""><path class="happyforms-star__star" d="M512 198.525l-176.89-25.704-79.11-160.291-79.108 160.291-176.892 25.704 128 124.769-30.216 176.176 158.216-83.179 158.216 83.179-30.217-176.176 128.001-124.769z"></path></svg>
14
- <?php } else { ?>
15
- <span class="happyforms-rating__item-wrap">
16
- <?php echo $icons[$i-1]; ?>
17
- <span class="happyforms-rating__item-label"><?php echo ( ! empty( $rating_labels[$i-1] ) ) ? $rating_labels[$i-1] : '<span class="happyforms-visuallyhidden">' . sprintf( __( '%d out of %d', 'happyforms' ), $i, $part['stars_num'] ) .'</span>'; ?></span>
18
- </span>
19
- <?php } ?>
20
- </label>
21
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-rating-yesno.php DELETED
@@ -1,19 +0,0 @@
1
- <?php $rating_labels = $part['rating_labels_yesno']; ?>
2
-
3
- <input class="happyforms-visuallyhidden" type="radio" value="0" id="<?php echo esc_attr( $part['id'] ); ?>_0" name="<?php happyforms_the_part_name( $part, $form ); ?>" checked <?php happyforms_the_part_attributes( $part, $form ); ?>>
4
-
5
- <input class="happyforms-visuallyhidden" type="radio" value="1" id="<?php echo esc_attr( $part['id'] ); ?>_1" name="<?php happyforms_the_part_name( $part, $form ); ?>" <?php checked( happyforms_get_part_value( $part, $form ), 1 ); ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
6
- <label class="happyforms-rating__label" for="<?php echo esc_attr( $part['id'] ); ?>_1">
7
- <span class="happyforms-rating__item-wrap">
8
- <?php echo $icons[0]; ?>
9
- <span class="happyforms-rating__item-label"><?php echo ( ! empty( $rating_labels[0] ) ) ? $rating_labels[0] : '<span class="happyforms-visuallyhidden">'. __( 'No', 'happyforms' ) .'</span>'; ?></span>
10
- </span>
11
- </label>
12
-
13
- <input class="happyforms-visuallyhidden" type="radio" value="2" id="<?php echo esc_attr( $part['id'] ); ?>_2" name="<?php happyforms_the_part_name( $part, $form ); ?>" <?php checked( happyforms_get_part_value( $part, $form ), 2 ); ?> <?php happyforms_the_part_attributes( $part, $form ); ?> />
14
- <label class="happyforms-rating__label" for="<?php echo esc_attr( $part['id'] ); ?>_2">
15
- <span class="happyforms-rating__item-wrap">
16
- <?php echo $icons[1]; ?>
17
- <span class="happyforms-rating__item-label"><?php echo ( ! empty( $rating_labels[1] ) ) ? $rating_labels[1] : '<span class="happyforms-visuallyhidden">'. __( 'Yes', 'happyforms' ) .'</span>'; ?></span>
18
- </span>
19
- </label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-rating.php DELETED
@@ -1,29 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php happyforms_the_part_label( $part, $form ); ?>
4
-
5
- <div class="happyforms-part__el">
6
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
7
-
8
- <div class="happyforms-rating-wrap">
9
- <?php
10
- $icons = happyforms_get_rating_icons( $part );
11
-
12
- switch( $part[ 'rating_type' ] ) {
13
- case 'yesno':
14
- require( 'frontend-rating-yesno.php' );
15
- break;
16
- case 'scale':
17
- require( 'frontend-rating-scale.php' );
18
- break;
19
- }
20
- ?>
21
- </div>
22
-
23
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
24
-
25
- <?php happyforms_print_part_description( $part ); ?>
26
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
27
- </div>
28
- </div>
29
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-rich-text.php DELETED
@@ -1,25 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <div class="happyforms-visual-editor">
9
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
10
-
11
- <textarea id="<?php happyforms_the_part_id( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" rows="5" <?php happyforms_the_part_attributes( $part, $form ); ?>><?php happyforms_the_part_value( $part, $form ); ?></textarea>
12
-
13
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
14
- <?php happyforms_the_part_label( $part, $form ); ?>
15
- <?php endif; ?>
16
-
17
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
18
- </div>
19
-
20
- <?php happyforms_print_part_description( $part ); ?>
21
-
22
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
23
- </div>
24
- </div>
25
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-scale.php DELETED
@@ -1,35 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php happyforms_the_part_label( $part, $form ); ?>
4
-
5
- <?php
6
- $part_name = happyforms_get_part_name( $part, $form );
7
-
8
- if ( 1 === intval( $part['multiple'] ) ) {
9
- $part_name = $part_name . '[]';
10
- }
11
- ?>
12
- <div class="happyforms-part__el">
13
- <div class="happyforms-part--scale__inputwrap">
14
- <div class="happyforms-part--scale__labels">
15
- <span class="label-min"><?php echo $part['min_label']; ?></span>
16
- <span class="label-max"><?php echo $part['max_label']; ?></span>
17
- </div>
18
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>"<?php if ( 1 === intval( $part['multiple'] ) ) : ?> multiple<?php endif; ?> type="range" name="<?php echo $part_name; ?>" step="<?php echo esc_attr( $part['step'] ); ?>" min="<?php echo esc_attr( $part['min_value'] ); ?>" max="<?php echo esc_attr( $part['max_value'] ); ?>" value="<?php happyforms_the_part_value( $part, $form ); ?>" <?php happyforms_the_part_attributes( $part, $form ); ?> />
19
- <output for="<?php happyforms_the_part_id( $part, $form ); ?>">
20
- <span><?php happyforms_the_part_value( $part, $form ); ?></span>
21
- </output>
22
- <?php if ( 1 === intval( $part['multiple'] ) ) : ?>
23
- <output for="<?php happyforms_the_part_id( $part, $form ); ?>_clone">
24
- <span><?php happyforms_the_part_value( $part, $form ); ?></span>
25
- </output>
26
- <?php endif; ?>
27
- </div>
28
-
29
- <?php happyforms_print_part_description( $part ); ?>
30
-
31
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
32
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
33
- </div>
34
- </div>
35
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-table.php DELETED
@@ -1,61 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php happyforms_the_part_label( $part, $form ); ?>
4
-
5
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
6
-
7
- <div class="happyforms-part__el">
8
- <?php
9
- $columns = happyforms_get_part_options( $part['columns'], $part, $form );
10
- $columns_num = max( count( $columns ), 1 );
11
- ?>
12
- <div class="happyforms-table">
13
- <div class="happyforms-table__row happyforms-table__row--head">
14
- <div class="happyforms-table__cell" style="width: <?php echo 100 / $columns_num; ?>%"></div>
15
- <?php
16
- foreach( $columns as $column ) : ?>
17
- <div class="happyforms-table__cell happyforms-table__cell--column-title" id="<?php echo esc_attr( $column['id'] ); ?>" style="width: <?php echo 100 / $columns_num; ?>%">
18
- <span><?php echo esc_attr( $column['label'] ); ?></span>
19
- </div>
20
- <?php endforeach; ?>
21
- </div>
22
- <?php
23
- $rows = happyforms_get_part_options( $part['rows'], $part, $form );
24
-
25
- foreach( $rows as $row ) : ?>
26
- <div class="happyforms-table__row happyforms-table__row--body" id="<?php echo esc_attr( $row['id'] ); ?>">
27
- <div class="happyforms-table__cell happyforms-table__cell--row-title" style="width: <?php echo 100 / $columns_num; ?>%">
28
- <span class="happyforms-table__row-label"><?php echo esc_attr( $row['label'] ); ?></span>
29
- </div>
30
- <?php foreach( $columns as $c => $column ) : ?>
31
- <?php $value = happyforms_get_part_value( $part, $form, $row['id'] ); ?>
32
- <div class="happyforms-table__cell" style="width: <?php echo 100 / $columns_num; ?>%">
33
- <div class="happyforms-table__cell--column-title happyforms-table__cell--column-title-sm"><?php echo esc_attr( $column['label'] ); ?></div>
34
- <label class="option-label">
35
- <?php if ( ! $part['allow_multiple_selection'] ) : ?>
36
- <?php $checked = ! empty( $column['label'] ) ? checked( $value, $c, false ) : ''; ?>
37
- <input type="radio" class="happyforms-visuallyhidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[<?php echo esc_attr( $row['id'] ); ?>]" value="<?php echo $c; ?>" <?php echo $checked; ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
38
- <span class="checkmark"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg></span>
39
- <span class="border"></span>
40
- <?php else: ?>
41
- <?php
42
- $value = happyforms_get_part_value( $part, $form, $row['id'], array() );
43
- $checked = in_array( $c, $value ) ? 'checked="checked"' : '';
44
- ?>
45
- <input type="checkbox" class="happyforms-visuallyhidden" name="<?php happyforms_the_part_name( $part, $form ); ?>[<?php echo esc_attr( $row['id'] ); ?>][]" value="<?php echo $c; ?>" <?php echo $checked; ?> <?php happyforms_the_part_attributes( $part, $form ); ?>>
46
- <span class="checkmark"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg></span>
47
- <?php endif; ?>
48
- </label>
49
- </div>
50
- <?php endforeach; ?>
51
- </div>
52
- <?php endforeach; ?>
53
- </div>
54
-
55
- <?php happyforms_print_part_description( $part ); ?>
56
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
57
- </div>
58
-
59
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
60
- </div>
61
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-title.php DELETED
@@ -1,30 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php happyforms_the_part_label( $part, $form ); ?>
4
-
5
- <?php
6
- $options = happyforms_get_part_options( $part['options'], $part, $form );
7
- $value = happyforms_get_part_value( $part, $form );
8
- $default_label = ( '' !== $value ) ? $options[$value]['label'] : '';
9
- $placeholder_text = $part['placeholder'];
10
- ?>
11
-
12
- <div class="happyforms-part__el">
13
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
14
- <div class="happyforms-custom-select">
15
- <div class="happyforms-part__select-wrap">
16
- <input type="hidden" name="<?php happyforms_the_part_name( $part, $form ); ?>" value="<?php echo $value; ?>" data-serialize />
17
-
18
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="text" value="<?php echo $default_label; ?>" placeholder="<?php echo $placeholder_text; ?>" data-searchable="false" <?php happyforms_the_part_attributes( $part, $form ); ?> />
19
-
20
- <?php happyforms_select( $options, $part, $form ); ?>
21
- </div>
22
- </div>
23
-
24
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
25
-
26
- <?php happyforms_print_part_description( $part ); ?>
27
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
28
- </div>
29
- </div>
30
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/core/templates/parts/frontend-website-url.php DELETED
@@ -1,22 +0,0 @@
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
- <div class="happyforms-part-wrap">
3
- <?php if ( 'as_placeholder' !== $part['label_placement'] ) : ?>
4
- <?php happyforms_the_part_label( $part, $form ); ?>
5
- <?php endif; ?>
6
-
7
- <div class="happyforms-part__el">
8
- <?php do_action( 'happyforms_part_input_before', $part, $form ); ?>
9
-
10
- <input id="<?php happyforms_the_part_id( $part, $form ); ?>" type="text" value="<?php happyforms_the_part_value( $part, $form ); ?>" name="<?php happyforms_the_part_name( $part, $form ); ?>" placeholder="<?php echo esc_attr( $part['placeholder'] ); ?>" <?php happyforms_the_part_attributes( $part, $form ); ?> />
11
-
12
- <?php do_action( 'happyforms_part_input_after', $part, $form ); ?>
13
-
14
- <?php if ( 'as_placeholder' === $part['label_placement'] ) : ?>
15
- <?php happyforms_the_part_label( $part, $form ); ?>
16
- <?php endif; ?>
17
-
18
- <?php happyforms_print_part_description( $part ); ?>
19
- <?php happyforms_message_notices( happyforms_get_part_name( $part, $form ) ); ?>
20
- </div>
21
- </div>
22
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/templates/admin/export-upgrade-modal.php CHANGED
@@ -11,7 +11,7 @@
11
 
12
  <p>Want to backup all data? Transfer forms and responses? Or share form designs from this website to another? We have good news! Our upgrade plans now make these tricky tasks super-easy.</p>
13
 
14
- <p>To make your transition easier, we're offering 50% off upgrades.<br>Use the coupon code “TRANSITION” or <a href="mailto:support@thethemefoundry.com">email us for help</a>.</p>
15
 
16
  <div class="happyforms-upgrade-modal__buttons">
17
  <div class="happyforms-upgrade-modal__button">
11
 
12
  <p>Want to backup all data? Transfer forms and responses? Or share form designs from this website to another? We have good news! Our upgrade plans now make these tricky tasks super-easy.</p>
13
 
14
+ <p>To make your transition easier, we're offering $20 off upgrades.<br>Use the coupon code “TRANSITION20” or <a href="mailto:support@thethemefoundry.com">email us for help</a>.</p>
15
 
16
  <div class="happyforms-upgrade-modal__buttons">
17
  <div class="happyforms-upgrade-modal__button">
inc/templates/admin/responses-upgrade-modal.php CHANGED
@@ -13,7 +13,7 @@
13
 
14
  <p>We know this is surprising, and we're sorry! 😔 We want to continue developing the free HappyForms plugin, but we can't do this without the support of more paying customers.</p>
15
 
16
- <p>To make your transition easier, we're offering 50% off upgrades.<br>Use the coupon code “TRANSITION” or <a href="mailto:support@thethemefoundry.com">email us for help</a>.</p>
17
 
18
  <div class="happyforms-upgrade-modal__buttons">
19
  <?php $forms = happyforms_get_message_controller()->get_archivable_forms(); ?>
13
 
14
  <p>We know this is surprising, and we're sorry! 😔 We want to continue developing the free HappyForms plugin, but we can't do this without the support of more paying customers.</p>
15
 
16
+ <p>To make your transition easier, we're offering $20 off upgrades.<br>Use the coupon code “TRANSITION20” or <a href="mailto:support@thethemefoundry.com">email us for help</a>.</p>
17
 
18
  <div class="happyforms-upgrade-modal__buttons">
19
  <?php $forms = happyforms_get_message_controller()->get_archivable_forms(); ?>
languages/happyforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the HappyForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: HappyForms 1.8.13\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
- "POT-Creation-Date: 2019-08-01 09:24:15+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -165,8 +165,8 @@ msgid ""
165
  "using these parts and features in your forms, they will be removed from the "
166
  "free plugin with this release. Please review all your existing forms for "
167
  "changes.</p><p>To make your transition easier, <a href=\"%s\" "
168
- "target=\"_blank\" class=\"external\">we're offering 50%% off upgrades</a>. "
169
- "Use the coupon code “TRANSITION” to save.</p>"
170
  msgstr ""
171
 
172
  #: inc/classes/class-happyforms.php:352
@@ -182,13 +182,6 @@ msgid ""
182
  "plan</a>.</p>"
183
  msgstr ""
184
 
185
- #: inc/classes/class-message-controller.php:217
186
- #: inc/classes/class-message-controller.php:290
187
- #: inc/classes/class-message-controller.php:325
188
- #: inc/core/classes/class-form-controller.php:742
189
- msgid "Oops! Your response is invalid — please review your message."
190
- msgstr ""
191
-
192
  #: inc/classes/class-message-controller.php:608
193
  #: inc/templates/email-owner.php:29
194
  msgid "Tracking number"
@@ -252,15 +245,11 @@ msgstr ""
252
 
253
  #: inc/classes/parts/class-part-placeholder-dummy.php:8
254
  #: inc/core/classes/class-form-styles.php:714
255
- #: inc/core/templates/parts/customize-address.php:36
256
  #: inc/core/templates/parts/customize-email.php:36
257
  #: inc/core/templates/parts/customize-multi-line-text.php:36
258
  #: inc/core/templates/parts/customize-number.php:36
259
- #: inc/core/templates/parts/customize-phone.php:36
260
  #: inc/core/templates/parts/customize-select.php:34
261
  #: inc/core/templates/parts/customize-single-line-text.php:36
262
- #: inc/core/templates/parts/customize-title.php:34
263
- #: inc/core/templates/parts/customize-website-url.php:36
264
  msgid "Placeholder"
265
  msgstr ""
266
 
@@ -311,24 +300,13 @@ msgstr ""
311
 
312
  #: inc/classes/parts/class-part-title-dummy.php:8
313
  #: inc/core/classes/class-form-styles.php:704
314
- #: inc/core/templates/parts/customize-address.php:4
315
  #: inc/core/templates/parts/customize-checkbox.php:4
316
- #: inc/core/templates/parts/customize-date.php:4
317
  #: inc/core/templates/parts/customize-email.php:4
318
  #: inc/core/templates/parts/customize-multi-line-text.php:4
319
- #: inc/core/templates/parts/customize-narrative.php:4
320
  #: inc/core/templates/parts/customize-number.php:4
321
- #: inc/core/templates/parts/customize-phone.php:4
322
- #: inc/core/templates/parts/customize-placeholder.php:4
323
  #: inc/core/templates/parts/customize-radio.php:4
324
- #: inc/core/templates/parts/customize-rating.php:4
325
- #: inc/core/templates/parts/customize-rich-text.php:4
326
- #: inc/core/templates/parts/customize-scale.php:4
327
  #: inc/core/templates/parts/customize-select.php:4
328
  #: inc/core/templates/parts/customize-single-line-text.php:4
329
- #: inc/core/templates/parts/customize-table.php:4
330
- #: inc/core/templates/parts/customize-title.php:4
331
- #: inc/core/templates/parts/customize-website-url.php:4
332
  msgid "Title"
333
  msgstr ""
334
 
@@ -560,147 +538,169 @@ msgstr ""
560
  msgid "Thank you! Your response has been successfully submitted."
561
  msgstr ""
562
 
563
- #: inc/core/classes/class-form-setup.php:70
 
 
 
 
564
  msgid "You received a new message"
565
  msgstr ""
566
 
567
- #: inc/core/classes/class-form-setup.php:82
568
  msgid "We received your message"
569
  msgstr ""
570
 
571
- #: inc/core/classes/class-form-setup.php:86
572
  msgid ""
573
  "Your message has been successfully sent. We appreciate you contacting us "
574
  "and we’ll be in touch soon."
575
  msgstr ""
576
 
577
- #: inc/core/classes/class-form-setup.php:110
 
 
 
 
578
  msgid "(optional)"
579
  msgstr ""
580
 
581
- #: inc/core/classes/class-form-setup.php:114
582
  msgid "Submit Form"
583
  msgstr ""
584
 
585
- #: inc/core/classes/class-form-setup.php:138
586
  msgid "Validate your submission"
587
  msgstr ""
588
 
589
- #: inc/core/classes/class-form-setup.php:146
590
  msgid "Review submission"
591
  msgstr ""
592
 
593
- #: inc/core/classes/class-form-setup.php:190
594
  msgid "Confirmation message"
595
  msgstr ""
596
 
597
- #: inc/core/classes/class-form-setup.php:191
598
  msgid ""
599
  "This is the message your users will see after succesfully submitting your "
600
  "form."
601
  msgstr ""
602
 
603
- #: inc/core/classes/class-form-setup.php:196
 
 
 
 
 
 
 
 
 
 
604
  msgid "Receive submission alerts"
605
  msgstr ""
606
 
607
- #: inc/core/classes/class-form-setup.php:201
608
  #: inc/core/templates/admin-tracking.php:15
609
  msgid "Email address"
610
  msgstr ""
611
 
612
- #: inc/core/classes/class-form-setup.php:202
613
  msgid ""
614
  "Add your email address here to receive a confirmation email for each form "
615
  "response. You can add multiple email addresses by separating each address "
616
  "with a comma."
617
  msgstr ""
618
 
619
- #: inc/core/classes/class-form-setup.php:207
620
  msgid "Email Bcc address"
621
  msgstr ""
622
 
623
- #: inc/core/classes/class-form-setup.php:208
624
  msgid ""
625
  "Add your Bcc email address here to receive a confirmation email for each "
626
  "form response without appearing in the received message header. You can "
627
  "add multiple email addresses by separating each address with a comma."
628
  msgstr ""
629
 
630
- #: inc/core/classes/class-form-setup.php:213
631
- #: inc/core/classes/class-form-setup.php:230
632
  msgid "Email subject"
633
  msgstr ""
634
 
635
- #: inc/core/classes/class-form-setup.php:214
636
  msgid ""
637
  "Each time a user submits a message, you'll receive an email with this "
638
  "subject."
639
  msgstr ""
640
 
641
- #: inc/core/classes/class-form-setup.php:219
642
  msgid "Send confirmation email"
643
  msgstr ""
644
 
645
- #: inc/core/classes/class-form-setup.php:224
646
  msgid "Email display name"
647
  msgstr ""
648
 
649
- #: inc/core/classes/class-form-setup.php:225
650
  msgid ""
651
  "If your form contains an email field, recipients will receive an email with "
652
  "this sender name."
653
  msgstr ""
654
 
655
- #: inc/core/classes/class-form-setup.php:231
656
  msgid ""
657
  "If your form contains an email field, recipients will receive an email with "
658
  "this subject."
659
  msgstr ""
660
 
661
- #: inc/core/classes/class-form-setup.php:236
662
  msgid "Email content"
663
  msgstr ""
664
 
665
- #: inc/core/classes/class-form-setup.php:237
666
  msgid ""
667
  "If your form contains an email field, recipients will receive an email with "
668
  "this content."
669
  msgstr ""
670
 
671
- #: inc/core/classes/class-form-setup.php:242
672
  msgid "Include submitted values"
673
  msgstr ""
674
 
675
- #: inc/core/classes/class-form-setup.php:247
 
 
 
 
676
  msgid "Optional part label"
677
  msgstr ""
678
 
679
- #: inc/core/classes/class-form-setup.php:252
680
  msgid "Submit button label"
681
  msgstr ""
682
 
683
- #: inc/core/classes/class-form-setup.php:257
684
  msgid "Submit button HTML class"
685
  msgstr ""
686
 
687
- #: inc/core/classes/class-form-setup.php:262
688
  msgid "Set custom form HTML ID"
689
  msgstr ""
690
 
691
- #: inc/core/classes/class-form-setup.php:264
692
  msgid "Add a unique HTML ID to your form. Write without a hash (#) character."
693
  msgstr ""
694
 
695
- #: inc/core/classes/class-form-setup.php:268
696
  msgid "Form HTML ID"
697
  msgstr ""
698
 
699
- #: inc/core/classes/class-form-setup.php:273
700
  msgid "Spam prevention"
701
  msgstr ""
702
 
703
- #: inc/core/classes/class-form-setup.php:274
704
  msgid "Protect your form against bots by using HoneyPot security."
705
  msgstr ""
706
 
@@ -737,8 +737,6 @@ msgstr ""
737
  #: inc/core/classes/class-form-styles.php:81
738
  #: inc/core/classes/class-form-styles.php:110
739
  #: inc/core/classes/class-form-styles.php:233
740
- #: inc/core/templates/parts/customize-date.php:36
741
- #: inc/core/templates/parts/customize-date.php:65
742
  msgid "Show"
743
  msgstr ""
744
 
@@ -753,24 +751,13 @@ msgstr ""
753
  #: inc/core/classes/class-form-styles.php:193
754
  #: inc/core/classes/class-form-styles.php:213
755
  #: inc/core/classes/class-form-styles.php:290
756
- #: inc/core/templates/parts/customize-address.php:11
757
  #: inc/core/templates/parts/customize-checkbox.php:11
758
- #: inc/core/templates/parts/customize-date.php:11
759
  #: inc/core/templates/parts/customize-email.php:11
760
  #: inc/core/templates/parts/customize-multi-line-text.php:11
761
- #: inc/core/templates/parts/customize-narrative.php:11
762
  #: inc/core/templates/parts/customize-number.php:11
763
- #: inc/core/templates/parts/customize-phone.php:11
764
- #: inc/core/templates/parts/customize-placeholder.php:11
765
  #: inc/core/templates/parts/customize-radio.php:11
766
- #: inc/core/templates/parts/customize-rating.php:11
767
- #: inc/core/templates/parts/customize-rich-text.php:11
768
- #: inc/core/templates/parts/customize-scale.php:11
769
  #: inc/core/templates/parts/customize-select.php:11
770
  #: inc/core/templates/parts/customize-single-line-text.php:11
771
- #: inc/core/templates/parts/customize-table.php:11
772
- #: inc/core/templates/parts/customize-title.php:11
773
- #: inc/core/templates/parts/customize-website-url.php:11
774
  msgid "Left"
775
  msgstr ""
776
 
@@ -841,25 +828,13 @@ msgstr ""
841
 
842
  #: inc/core/classes/class-form-styles.php:524
843
  #: inc/core/classes/class-form-styles.php:834
844
- #: inc/core/templates/parts/customize-address.php:86
845
  #: inc/core/templates/parts/customize-checkbox.php:80
846
- #: inc/core/templates/parts/customize-date.php:111
847
  #: inc/core/templates/parts/customize-email.php:54
848
- #: inc/core/templates/parts/customize-legal.php:4
849
  #: inc/core/templates/parts/customize-multi-line-text.php:66
850
- #: inc/core/templates/parts/customize-narrative.php:41
851
  #: inc/core/templates/parts/customize-number.php:85
852
- #: inc/core/templates/parts/customize-phone.php:77
853
- #: inc/core/templates/parts/customize-placeholder.php:35
854
  #: inc/core/templates/parts/customize-radio.php:75
855
- #: inc/core/templates/parts/customize-rating.php:82
856
- #: inc/core/templates/parts/customize-rich-text.php:60
857
- #: inc/core/templates/parts/customize-scale.php:94
858
  #: inc/core/templates/parts/customize-select.php:78
859
  #: inc/core/templates/parts/customize-single-line-text.php:59
860
- #: inc/core/templates/parts/customize-table.php:91
861
- #: inc/core/templates/parts/customize-title.php:52
862
- #: inc/core/templates/parts/customize-website-url.php:54
863
  msgid "Width"
864
  msgstr ""
865
 
@@ -1023,9 +998,6 @@ msgstr ""
1023
  #: inc/core/classes/class-form-styles.php:884
1024
  #: inc/core/classes/parts/class-part-multi-line-text.php:34
1025
  #: inc/core/classes/parts/class-part-single-line-text.php:29
1026
- #: inc/core/templates/parts/customize-legal.php:16
1027
- #: inc/core/templates/parts/customize-narrative.php:25
1028
- #: inc/core/templates/parts/customize-placeholder.php:25
1029
  msgid "Text"
1030
  msgstr ""
1031
 
@@ -1246,21 +1218,9 @@ msgstr ""
1246
  #: inc/core/templates/parts/customize-radio.php:41
1247
  #: inc/core/templates/parts/customize-select.php:42
1248
  #: inc/core/templates/parts/customize-select.php:46
1249
- #: inc/core/templates/parts/customize-table.php:62
1250
  msgid "Options"
1251
  msgstr ""
1252
 
1253
- #: inc/core/classes/parts/class-part-checkbox.php:185
1254
- #: inc/core/classes/parts/class-part-email.php:152
1255
- #: inc/core/classes/parts/class-part-email.php:156
1256
- #: inc/core/classes/parts/class-part-multi-line-text.php:163
1257
- #: inc/core/classes/parts/class-part-number.php:174
1258
- #: inc/core/classes/parts/class-part-radio.php:181
1259
- #: inc/core/classes/parts/class-part-select.php:175
1260
- #: inc/core/classes/parts/class-part-single-line-text.php:134
1261
- msgid "This field is required."
1262
- msgstr ""
1263
-
1264
  #: inc/core/classes/parts/class-part-checkbox.php:193
1265
  msgid "Checkbox values are not valid."
1266
  msgstr ""
@@ -3338,8 +3298,6 @@ msgstr ""
3338
  #: inc/core/templates/parts/customize-checkbox.php:128
3339
  #: inc/core/templates/parts/customize-radio.php:122
3340
  #: inc/core/templates/parts/customize-select.php:122
3341
- #: inc/core/templates/parts/customize-table.php:134
3342
- #: inc/core/templates/parts/customize-table.php:149
3343
  msgid "Delete"
3344
  msgstr ""
3345
 
@@ -3378,7 +3336,6 @@ msgid "Save & Close"
3378
  msgstr ""
3379
 
3380
  #: inc/core/templates/customize-form-steps.php:30
3381
- #: inc/core/templates/parts/customize-scale.php:86
3382
  msgid "Step"
3383
  msgstr ""
3384
 
@@ -3402,618 +3359,294 @@ msgstr ""
3402
  msgid "Close"
3403
  msgstr ""
3404
 
3405
- #: inc/core/templates/parts/customize-address.php:8
3406
  #: inc/core/templates/parts/customize-checkbox.php:8
3407
- #: inc/core/templates/parts/customize-date.php:8
3408
  #: inc/core/templates/parts/customize-email.php:8
3409
  #: inc/core/templates/parts/customize-multi-line-text.php:8
3410
- #: inc/core/templates/parts/customize-narrative.php:8
3411
  #: inc/core/templates/parts/customize-number.php:8
3412
- #: inc/core/templates/parts/customize-phone.php:8
3413
- #: inc/core/templates/parts/customize-placeholder.php:8
3414
  #: inc/core/templates/parts/customize-radio.php:8
3415
- #: inc/core/templates/parts/customize-rating.php:8
3416
- #: inc/core/templates/parts/customize-rich-text.php:8
3417
- #: inc/core/templates/parts/customize-scale.php:8
3418
  #: inc/core/templates/parts/customize-select.php:8
3419
  #: inc/core/templates/parts/customize-single-line-text.php:8
3420
- #: inc/core/templates/parts/customize-table.php:8
3421
- #: inc/core/templates/parts/customize-title.php:8
3422
- #: inc/core/templates/parts/customize-website-url.php:8
3423
  msgid "Title placement"
3424
  msgstr ""
3425
 
3426
- #: inc/core/templates/parts/customize-address.php:10
3427
  #: inc/core/templates/parts/customize-checkbox.php:10
3428
- #: inc/core/templates/parts/customize-date.php:10
3429
  #: inc/core/templates/parts/customize-email.php:10
3430
  #: inc/core/templates/parts/customize-multi-line-text.php:10
3431
- #: inc/core/templates/parts/customize-narrative.php:10
3432
  #: inc/core/templates/parts/customize-number.php:10
3433
- #: inc/core/templates/parts/customize-phone.php:10
3434
- #: inc/core/templates/parts/customize-placeholder.php:10
3435
  #: inc/core/templates/parts/customize-radio.php:10
3436
- #: inc/core/templates/parts/customize-rating.php:10
3437
- #: inc/core/templates/parts/customize-rich-text.php:10
3438
- #: inc/core/templates/parts/customize-scale.php:10
3439
  #: inc/core/templates/parts/customize-select.php:10
3440
  #: inc/core/templates/parts/customize-single-line-text.php:10
3441
- #: inc/core/templates/parts/customize-table.php:10
3442
- #: inc/core/templates/parts/customize-title.php:10
3443
- #: inc/core/templates/parts/customize-website-url.php:10
3444
  msgid "Above"
3445
  msgstr ""
3446
 
3447
- #: inc/core/templates/parts/customize-address.php:12
3448
  #: inc/core/templates/parts/customize-checkbox.php:12
3449
- #: inc/core/templates/parts/customize-date.php:12
3450
  #: inc/core/templates/parts/customize-email.php:12
3451
  #: inc/core/templates/parts/customize-multi-line-text.php:12
3452
- #: inc/core/templates/parts/customize-narrative.php:12
3453
  #: inc/core/templates/parts/customize-number.php:12
3454
- #: inc/core/templates/parts/customize-phone.php:12
3455
- #: inc/core/templates/parts/customize-placeholder.php:12
3456
  #: inc/core/templates/parts/customize-radio.php:12
3457
- #: inc/core/templates/parts/customize-rating.php:12
3458
- #: inc/core/templates/parts/customize-rich-text.php:12
3459
- #: inc/core/templates/parts/customize-scale.php:12
3460
  #: inc/core/templates/parts/customize-select.php:12
3461
  #: inc/core/templates/parts/customize-single-line-text.php:12
3462
- #: inc/core/templates/parts/customize-table.php:12
3463
- #: inc/core/templates/parts/customize-title.php:12
3464
- #: inc/core/templates/parts/customize-website-url.php:12
3465
  msgid "Below"
3466
  msgstr ""
3467
 
3468
- #: inc/core/templates/parts/customize-address.php:13
3469
- #: inc/core/templates/parts/customize-multi-line-text.php:13
3470
- msgid "Inside"
3471
- msgstr ""
3472
-
3473
- #: inc/core/templates/parts/customize-address.php:14
3474
- #: inc/core/templates/parts/customize-email.php:14
3475
- #: inc/core/templates/parts/customize-multi-line-text.php:14
3476
- #: inc/core/templates/parts/customize-number.php:14
3477
- #: inc/core/templates/parts/customize-phone.php:14
3478
- #: inc/core/templates/parts/customize-select.php:13
3479
- #: inc/core/templates/parts/customize-single-line-text.php:14
3480
- #: inc/core/templates/parts/customize-title.php:13
3481
- #: inc/core/templates/parts/customize-website-url.php:14
3482
- msgid "Display as placeholder"
3483
- msgstr ""
3484
-
3485
- #: inc/core/templates/parts/customize-address.php:15
3486
  #: inc/core/templates/parts/customize-checkbox.php:13
3487
- #: inc/core/templates/parts/customize-date.php:13
3488
  #: inc/core/templates/parts/customize-email.php:15
3489
  #: inc/core/templates/parts/customize-multi-line-text.php:15
3490
- #: inc/core/templates/parts/customize-narrative.php:13
3491
  #: inc/core/templates/parts/customize-number.php:15
3492
- #: inc/core/templates/parts/customize-phone.php:15
3493
- #: inc/core/templates/parts/customize-placeholder.php:13
3494
  #: inc/core/templates/parts/customize-radio.php:13
3495
- #: inc/core/templates/parts/customize-rating.php:13
3496
- #: inc/core/templates/parts/customize-rich-text.php:13
3497
- #: inc/core/templates/parts/customize-scale.php:13
3498
  #: inc/core/templates/parts/customize-select.php:14
3499
  #: inc/core/templates/parts/customize-single-line-text.php:15
3500
- #: inc/core/templates/parts/customize-table.php:13
3501
- #: inc/core/templates/parts/customize-title.php:14
3502
- #: inc/core/templates/parts/customize-website-url.php:15
3503
  msgid "Hidden"
3504
  msgstr ""
3505
 
3506
- #: inc/core/templates/parts/customize-address.php:20
3507
  #: inc/core/templates/parts/customize-checkbox.php:18
3508
  #: inc/core/templates/parts/customize-checkbox.php:90
3509
- #: inc/core/templates/parts/customize-date.php:18
3510
- #: inc/core/templates/parts/customize-date.php:121
3511
  #: inc/core/templates/parts/customize-email.php:20
3512
  #: inc/core/templates/parts/customize-email.php:64
3513
  #: inc/core/templates/parts/customize-multi-line-text.php:20
3514
  #: inc/core/templates/parts/customize-multi-line-text.php:76
3515
- #: inc/core/templates/parts/customize-narrative.php:18
3516
- #: inc/core/templates/parts/customize-narrative.php:51
3517
  #: inc/core/templates/parts/customize-number.php:20
3518
  #: inc/core/templates/parts/customize-number.php:95
3519
- #: inc/core/templates/parts/customize-phone.php:20
3520
- #: inc/core/templates/parts/customize-phone.php:87
3521
- #: inc/core/templates/parts/customize-placeholder.php:18
3522
- #: inc/core/templates/parts/customize-placeholder.php:45
3523
  #: inc/core/templates/parts/customize-radio.php:18
3524
  #: inc/core/templates/parts/customize-radio.php:85
3525
- #: inc/core/templates/parts/customize-rating.php:18
3526
- #: inc/core/templates/parts/customize-rating.php:92
3527
- #: inc/core/templates/parts/customize-rich-text.php:18
3528
- #: inc/core/templates/parts/customize-rich-text.php:69
3529
- #: inc/core/templates/parts/customize-scale.php:18
3530
- #: inc/core/templates/parts/customize-scale.php:104
3531
  #: inc/core/templates/parts/customize-select.php:19
3532
  #: inc/core/templates/parts/customize-select.php:88
3533
  #: inc/core/templates/parts/customize-single-line-text.php:20
3534
  #: inc/core/templates/parts/customize-single-line-text.php:69
3535
- #: inc/core/templates/parts/customize-table.php:18
3536
- #: inc/core/templates/parts/customize-table.php:101
3537
- #: inc/core/templates/parts/customize-title.php:19
3538
- #: inc/core/templates/parts/customize-title.php:62
3539
- #: inc/core/templates/parts/customize-website-url.php:20
3540
- #: inc/core/templates/parts/customize-website-url.php:64
3541
  msgid "Apply to all parts"
3542
  msgstr ""
3543
 
3544
- #: inc/core/templates/parts/customize-address.php:24
3545
  #: inc/core/templates/parts/customize-checkbox.php:22
3546
  #: inc/core/templates/parts/customize-checkbox.php:120
3547
- #: inc/core/templates/parts/customize-date.php:22
3548
  #: inc/core/templates/parts/customize-email.php:24
3549
  #: inc/core/templates/parts/customize-multi-line-text.php:24
3550
  #: inc/core/templates/parts/customize-number.php:24
3551
- #: inc/core/templates/parts/customize-phone.php:24
3552
  #: inc/core/templates/parts/customize-radio.php:22
3553
  #: inc/core/templates/parts/customize-radio.php:114
3554
- #: inc/core/templates/parts/customize-rating.php:22
3555
- #: inc/core/templates/parts/customize-rich-text.php:22
3556
- #: inc/core/templates/parts/customize-scale.php:22
3557
  #: inc/core/templates/parts/customize-select.php:23
3558
  #: inc/core/templates/parts/customize-single-line-text.php:24
3559
- #: inc/core/templates/parts/customize-table.php:22
3560
- #: inc/core/templates/parts/customize-title.php:23
3561
- #: inc/core/templates/parts/customize-website-url.php:24
3562
  msgid "Description"
3563
  msgstr ""
3564
 
3565
- #: inc/core/templates/parts/customize-address.php:28
3566
  #: inc/core/templates/parts/customize-checkbox.php:26
3567
- #: inc/core/templates/parts/customize-date.php:26
3568
  #: inc/core/templates/parts/customize-email.php:28
3569
  #: inc/core/templates/parts/customize-multi-line-text.php:28
3570
  #: inc/core/templates/parts/customize-number.php:28
3571
- #: inc/core/templates/parts/customize-phone.php:28
3572
  #: inc/core/templates/parts/customize-radio.php:26
3573
- #: inc/core/templates/parts/customize-rating.php:26
3574
- #: inc/core/templates/parts/customize-rich-text.php:26
3575
- #: inc/core/templates/parts/customize-scale.php:26
3576
  #: inc/core/templates/parts/customize-select.php:27
3577
  #: inc/core/templates/parts/customize-single-line-text.php:28
3578
- #: inc/core/templates/parts/customize-table.php:26
3579
- #: inc/core/templates/parts/customize-title.php:27
3580
- #: inc/core/templates/parts/customize-website-url.php:28
3581
  msgid "Description appearance"
3582
  msgstr ""
3583
 
3584
- #: inc/core/templates/parts/customize-address.php:30
3585
  #: inc/core/templates/parts/customize-checkbox.php:28
3586
- #: inc/core/templates/parts/customize-date.php:28
3587
  #: inc/core/templates/parts/customize-email.php:30
3588
  #: inc/core/templates/parts/customize-multi-line-text.php:30
3589
  #: inc/core/templates/parts/customize-number.php:30
3590
- #: inc/core/templates/parts/customize-phone.php:30
3591
  #: inc/core/templates/parts/customize-radio.php:28
3592
- #: inc/core/templates/parts/customize-rating.php:28
3593
- #: inc/core/templates/parts/customize-rich-text.php:28
3594
- #: inc/core/templates/parts/customize-scale.php:28
3595
  #: inc/core/templates/parts/customize-select.php:29
3596
  #: inc/core/templates/parts/customize-single-line-text.php:30
3597
- #: inc/core/templates/parts/customize-table.php:28
3598
- #: inc/core/templates/parts/customize-title.php:29
3599
- #: inc/core/templates/parts/customize-website-url.php:30
3600
  msgid "Standard"
3601
  msgstr ""
3602
 
3603
- #: inc/core/templates/parts/customize-address.php:31
3604
- #: inc/core/templates/parts/customize-email.php:31
3605
- #: inc/core/templates/parts/customize-multi-line-text.php:31
3606
- #: inc/core/templates/parts/customize-number.php:31
3607
- #: inc/core/templates/parts/customize-phone.php:31
3608
- #: inc/core/templates/parts/customize-rich-text.php:29
3609
- #: inc/core/templates/parts/customize-single-line-text.php:31
3610
- #: inc/core/templates/parts/customize-website-url.php:31
3611
- msgid "Reveal on focus"
3612
- msgstr ""
3613
-
3614
- #: inc/core/templates/parts/customize-address.php:32
3615
  #: inc/core/templates/parts/customize-checkbox.php:29
3616
- #: inc/core/templates/parts/customize-date.php:29
3617
  #: inc/core/templates/parts/customize-email.php:32
3618
  #: inc/core/templates/parts/customize-multi-line-text.php:32
3619
  #: inc/core/templates/parts/customize-number.php:32
3620
- #: inc/core/templates/parts/customize-phone.php:32
3621
  #: inc/core/templates/parts/customize-radio.php:29
3622
- #: inc/core/templates/parts/customize-rating.php:29
3623
- #: inc/core/templates/parts/customize-rich-text.php:30
3624
- #: inc/core/templates/parts/customize-scale.php:29
3625
  #: inc/core/templates/parts/customize-select.php:30
3626
- #: inc/core/templates/parts/customize-table.php:29
3627
- #: inc/core/templates/parts/customize-title.php:30
3628
- #: inc/core/templates/parts/customize-website-url.php:32
3629
  msgid "Tooltip"
3630
  msgstr ""
3631
 
3632
- #: inc/core/templates/parts/customize-address.php:43
3633
- msgid "Mode"
 
 
3634
  msgstr ""
3635
 
3636
- #: inc/core/templates/parts/customize-address.php:45
3637
- #: inc/core/templates/parts/customize-address.php:88
3638
- #: inc/core/templates/parts/customize-checkbox.php:82
3639
- #: inc/core/templates/parts/customize-date.php:113
3640
- #: inc/core/templates/parts/customize-email.php:56
3641
- #: inc/core/templates/parts/customize-legal.php:6
3642
- #: inc/core/templates/parts/customize-multi-line-text.php:68
3643
- #: inc/core/templates/parts/customize-narrative.php:43
3644
- #: inc/core/templates/parts/customize-number.php:87
3645
- #: inc/core/templates/parts/customize-phone.php:79
3646
- #: inc/core/templates/parts/customize-placeholder.php:37
3647
- #: inc/core/templates/parts/customize-radio.php:77
3648
- #: inc/core/templates/parts/customize-rating.php:84
3649
- #: inc/core/templates/parts/customize-rich-text.php:62
3650
- #: inc/core/templates/parts/customize-scale.php:96
3651
- #: inc/core/templates/parts/customize-select.php:80
3652
- #: inc/core/templates/parts/customize-single-line-text.php:61
3653
- #: inc/core/templates/parts/customize-table.php:93
3654
- #: inc/core/templates/parts/customize-title.php:54
3655
- #: inc/core/templates/parts/customize-website-url.php:56
3656
- msgid "Full"
3657
  msgstr ""
3658
 
3659
- #: inc/core/templates/parts/customize-address.php:46
3660
- msgid "Full with autocomplete"
 
 
3661
  msgstr ""
3662
 
3663
- #: inc/core/templates/parts/customize-address.php:47
3664
- msgid "Country and city"
 
 
3665
  msgstr ""
3666
 
3667
- #: inc/core/templates/parts/customize-address.php:48
3668
- msgid "Country only"
 
 
3669
  msgstr ""
3670
 
3671
- #: inc/core/templates/parts/customize-address.php:53
3672
- msgid "Allow geolocation"
 
 
3673
  msgstr ""
3674
 
3675
- #: inc/core/templates/parts/customize-address.php:58
3676
- msgid "Google API Key"
 
 
 
 
 
 
3677
  msgstr ""
3678
 
3679
- #: inc/core/templates/parts/customize-address.php:64
3680
- msgid "Address autocompletion requires a"
3681
  msgstr ""
3682
 
3683
- #: inc/core/templates/parts/customize-address.php:65
3684
- msgid "Google Places API key"
 
3685
  msgstr ""
3686
 
3687
- #: inc/core/templates/parts/customize-address.php:69
3688
- msgid "Geolocation requires a"
 
3689
  msgstr ""
3690
 
3691
- #: inc/core/templates/parts/customize-address.php:70
3692
- msgid "Google Geocoding API key"
 
3693
  msgstr ""
3694
 
3695
- #: inc/core/templates/parts/customize-address.php:76
3696
- #: inc/core/templates/parts/customize-checkbox.php:58
3697
- #: inc/core/templates/parts/customize-date.php:55
3698
- #: inc/core/templates/parts/customize-email.php:44
3699
- #: inc/core/templates/parts/customize-multi-line-text.php:44
3700
- #: inc/core/templates/parts/customize-number.php:54
3701
- #: inc/core/templates/parts/customize-phone.php:44
3702
- #: inc/core/templates/parts/customize-radio.php:58
3703
- #: inc/core/templates/parts/customize-rating.php:52
3704
- #: inc/core/templates/parts/customize-rich-text.php:38
3705
- #: inc/core/templates/parts/customize-scale.php:47
3706
- #: inc/core/templates/parts/customize-select.php:63
3707
- #: inc/core/templates/parts/customize-single-line-text.php:44
3708
- #: inc/core/templates/parts/customize-title.php:42
3709
- #: inc/core/templates/parts/customize-website-url.php:44
3710
- msgid "This is required"
3711
  msgstr ""
3712
 
3713
- #: inc/core/templates/parts/customize-address.php:89
3714
  #: inc/core/templates/parts/customize-checkbox.php:83
3715
- #: inc/core/templates/parts/customize-date.php:114
3716
  #: inc/core/templates/parts/customize-email.php:57
3717
- #: inc/core/templates/parts/customize-legal.php:7
3718
  #: inc/core/templates/parts/customize-multi-line-text.php:69
3719
- #: inc/core/templates/parts/customize-narrative.php:44
3720
  #: inc/core/templates/parts/customize-number.php:88
3721
- #: inc/core/templates/parts/customize-phone.php:80
3722
- #: inc/core/templates/parts/customize-placeholder.php:38
3723
  #: inc/core/templates/parts/customize-radio.php:78
3724
- #: inc/core/templates/parts/customize-rating.php:85
3725
- #: inc/core/templates/parts/customize-rich-text.php:63
3726
- #: inc/core/templates/parts/customize-scale.php:97
3727
  #: inc/core/templates/parts/customize-select.php:81
3728
  #: inc/core/templates/parts/customize-single-line-text.php:62
3729
- #: inc/core/templates/parts/customize-table.php:94
3730
- #: inc/core/templates/parts/customize-title.php:55
3731
- #: inc/core/templates/parts/customize-website-url.php:57
3732
  msgid "Half"
3733
  msgstr ""
3734
 
3735
- #: inc/core/templates/parts/customize-address.php:90
3736
  #: inc/core/templates/parts/customize-checkbox.php:84
3737
- #: inc/core/templates/parts/customize-date.php:115
3738
  #: inc/core/templates/parts/customize-email.php:58
3739
- #: inc/core/templates/parts/customize-legal.php:8
3740
  #: inc/core/templates/parts/customize-multi-line-text.php:70
3741
- #: inc/core/templates/parts/customize-narrative.php:45
3742
  #: inc/core/templates/parts/customize-number.php:89
3743
- #: inc/core/templates/parts/customize-phone.php:81
3744
- #: inc/core/templates/parts/customize-placeholder.php:39
3745
  #: inc/core/templates/parts/customize-radio.php:79
3746
- #: inc/core/templates/parts/customize-rating.php:86
3747
- #: inc/core/templates/parts/customize-rich-text.php:64
3748
- #: inc/core/templates/parts/customize-scale.php:98
3749
  #: inc/core/templates/parts/customize-select.php:82
3750
  #: inc/core/templates/parts/customize-single-line-text.php:63
3751
- #: inc/core/templates/parts/customize-table.php:95
3752
- #: inc/core/templates/parts/customize-title.php:56
3753
- #: inc/core/templates/parts/customize-website-url.php:58
3754
  msgid "Third"
3755
  msgstr ""
3756
 
3757
- #: inc/core/templates/parts/customize-address.php:91
3758
  #: inc/core/templates/parts/customize-checkbox.php:85
3759
- #: inc/core/templates/parts/customize-date.php:116
3760
  #: inc/core/templates/parts/customize-email.php:59
3761
- #: inc/core/templates/parts/customize-legal.php:9
3762
  #: inc/core/templates/parts/customize-multi-line-text.php:71
3763
- #: inc/core/templates/parts/customize-narrative.php:46
3764
  #: inc/core/templates/parts/customize-number.php:90
3765
- #: inc/core/templates/parts/customize-phone.php:82
3766
- #: inc/core/templates/parts/customize-placeholder.php:40
3767
  #: inc/core/templates/parts/customize-radio.php:80
3768
- #: inc/core/templates/parts/customize-rating.php:87
3769
- #: inc/core/templates/parts/customize-scale.php:99
3770
  #: inc/core/templates/parts/customize-select.php:83
3771
  #: inc/core/templates/parts/customize-single-line-text.php:64
3772
- #: inc/core/templates/parts/customize-table.php:96
3773
- #: inc/core/templates/parts/customize-title.php:57
3774
- #: inc/core/templates/parts/customize-website-url.php:59
3775
  msgid "Auto"
3776
  msgstr ""
3777
 
3778
- #: inc/core/templates/parts/customize-address.php:98
3779
  #: inc/core/templates/parts/customize-checkbox.php:97
3780
- #: inc/core/templates/parts/customize-date.php:128
3781
  #: inc/core/templates/parts/customize-email.php:68
3782
- #: inc/core/templates/parts/customize-legal.php:27
3783
  #: inc/core/templates/parts/customize-multi-line-text.php:83
3784
- #: inc/core/templates/parts/customize-narrative.php:58
3785
  #: inc/core/templates/parts/customize-number.php:99
3786
- #: inc/core/templates/parts/customize-phone.php:91
3787
- #: inc/core/templates/parts/customize-placeholder.php:52
3788
  #: inc/core/templates/parts/customize-radio.php:89
3789
- #: inc/core/templates/parts/customize-rating.php:99
3790
- #: inc/core/templates/parts/customize-rich-text.php:76
3791
- #: inc/core/templates/parts/customize-scale.php:111
3792
  #: inc/core/templates/parts/customize-select.php:95
3793
  #: inc/core/templates/parts/customize-single-line-text.php:76
3794
- #: inc/core/templates/parts/customize-table.php:105
3795
- #: inc/core/templates/parts/customize-title.php:69
3796
- #: inc/core/templates/parts/customize-website-url.php:71
3797
  msgid "Custom CSS class"
3798
  msgstr ""
3799
 
3800
- #: inc/core/templates/parts/customize-checkbox.php:38
3801
- #: inc/core/templates/parts/customize-radio.php:38
3802
- #: inc/core/templates/parts/customize-select.php:43
3803
- msgid "No options added yet. Add one by clicking <i>Add Option</i> below."
3804
- msgstr ""
3805
-
3806
- #: inc/core/templates/parts/customize-checkbox.php:42
3807
- #: inc/core/templates/parts/customize-radio.php:42
3808
- #: inc/core/templates/parts/customize-select.php:47
3809
- msgid "Type or paste your options here, adding each on a new line."
3810
- msgstr ""
3811
-
3812
- #: inc/core/templates/parts/customize-checkbox.php:45
3813
- #: inc/core/templates/parts/customize-radio.php:45
3814
- #: inc/core/templates/parts/customize-select.php:50
3815
- msgid "Add option"
3816
- msgstr ""
3817
-
3818
- #: inc/core/templates/parts/customize-checkbox.php:47
3819
- #: inc/core/templates/parts/customize-radio.php:47
3820
- #: inc/core/templates/parts/customize-select.php:52
3821
- msgid "Or, bulk add options"
3822
- msgstr ""
3823
-
3824
- #: inc/core/templates/parts/customize-checkbox.php:51
3825
- #: inc/core/templates/parts/customize-radio.php:51
3826
- #: inc/core/templates/parts/customize-select.php:56
3827
- msgid "Add options"
3828
- msgstr ""
3829
-
3830
- #: inc/core/templates/parts/customize-checkbox.php:53
3831
- #: inc/core/templates/parts/customize-radio.php:53
3832
- #: inc/core/templates/parts/customize-select.php:58
3833
- #: inc/core/templates/parts/customize-table.php:74
3834
- msgid "Cancel"
3835
- msgstr ""
3836
-
3837
- #: inc/core/templates/parts/customize-checkbox.php:69
3838
- msgid "Show select all option"
3839
- msgstr ""
3840
-
3841
- #: inc/core/templates/parts/customize-checkbox.php:73
3842
- #: inc/core/templates/parts/customize-radio.php:68
3843
- msgid "Display options"
3844
- msgstr ""
3845
-
3846
- #: inc/core/templates/parts/customize-checkbox.php:75
3847
- #: inc/core/templates/parts/customize-radio.php:70
3848
- msgid "Horizontal"
3849
- msgstr ""
3850
-
3851
- #: inc/core/templates/parts/customize-checkbox.php:76
3852
- #: inc/core/templates/parts/customize-radio.php:71
3853
- msgid "Vertical"
3854
- msgstr ""
3855
-
3856
  #: inc/core/templates/parts/customize-checkbox.php:115
3857
  #: inc/core/templates/parts/customize-radio.php:109
3858
  #: inc/core/templates/parts/customize-select.php:113
3859
- #: inc/core/templates/parts/customize-table.php:125
3860
- #: inc/core/templates/parts/customize-table.php:145
3861
  msgid "Label"
3862
  msgstr ""
3863
 
3864
  #: inc/core/templates/parts/customize-checkbox.php:124
3865
- #: inc/core/templates/parts/customize-table.php:130
3866
  msgid "Checked by default"
3867
  msgstr ""
3868
 
3869
  #: inc/core/templates/parts/customize-checkbox.php:129
3870
  #: inc/core/templates/parts/customize-radio.php:123
3871
  #: inc/core/templates/parts/customize-select.php:123
3872
- #: inc/core/templates/parts/customize-table.php:135
3873
  msgid "Advanced"
3874
  msgstr ""
3875
 
3876
- #: inc/core/templates/parts/customize-date.php:38
3877
- msgid "Date"
3878
- msgstr ""
3879
-
3880
- #: inc/core/templates/parts/customize-date.php:39
3881
- msgid "Date &amp; Time"
3882
- msgstr ""
3883
-
3884
- #: inc/core/templates/parts/customize-date.php:40
3885
- msgid "Time"
3886
- msgstr ""
3887
-
3888
- #: inc/core/templates/parts/customize-date.php:41
3889
- msgid "Month &amp; Year"
3890
- msgstr ""
3891
-
3892
- #: inc/core/templates/parts/customize-date.php:42
3893
- msgid "Month only"
3894
- msgstr ""
3895
-
3896
- #: inc/core/templates/parts/customize-date.php:43
3897
- msgid "Year only"
3898
- msgstr ""
3899
-
3900
- #: inc/core/templates/parts/customize-date.php:47
3901
- #: inc/core/templates/parts/customize-scale.php:72
3902
- msgid "Default value"
3903
- msgstr ""
3904
-
3905
- #: inc/core/templates/parts/customize-date.php:49
3906
- msgid "Blank"
3907
- msgstr ""
3908
-
3909
- #: inc/core/templates/parts/customize-date.php:50
3910
- msgid "Current date and time"
3911
- msgstr ""
3912
-
3913
- #: inc/core/templates/parts/customize-date.php:67
3914
- msgid "All years"
3915
- msgstr ""
3916
-
3917
- #: inc/core/templates/parts/customize-date.php:68
3918
- msgid "Past years only"
3919
- msgstr ""
3920
-
3921
- #: inc/core/templates/parts/customize-date.php:69
3922
- msgid "Future years only"
3923
- msgstr ""
3924
-
3925
- #: inc/core/templates/parts/customize-date.php:74
3926
- msgid "Start from"
3927
- msgstr ""
3928
-
3929
- #: inc/core/templates/parts/customize-date.php:78
3930
- msgid "End at"
3931
- msgstr ""
3932
-
3933
- #: inc/core/templates/parts/customize-date.php:83
3934
- msgid "Years order"
3935
- msgstr ""
3936
-
3937
- #: inc/core/templates/parts/customize-date.php:91
3938
- msgid "Min hour"
3939
- msgstr ""
3940
-
3941
- #: inc/core/templates/parts/customize-date.php:95
3942
- msgid "Max hour"
3943
- msgstr ""
3944
-
3945
- #: inc/core/templates/parts/customize-date.php:100
3946
- msgid "Minute step"
3947
- msgstr ""
3948
-
3949
- #: inc/core/templates/parts/customize-date.php:104
3950
- msgid "Time format"
3951
- msgstr ""
3952
-
3953
- #: inc/core/templates/parts/customize-date.php:106
3954
- msgid "12h"
3955
- msgstr ""
3956
-
3957
- #: inc/core/templates/parts/customize-date.php:107
3958
- msgid "24h"
3959
- msgstr ""
3960
-
3961
  #: inc/core/templates/parts/customize-email.php:13
3962
  #: inc/core/templates/parts/customize-number.php:13
3963
- #: inc/core/templates/parts/customize-phone.php:13
3964
  #: inc/core/templates/parts/customize-single-line-text.php:13
3965
- #: inc/core/templates/parts/customize-website-url.php:13
3966
  msgid "Inside input"
3967
  msgstr ""
3968
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3969
  #: inc/core/templates/parts/customize-email.php:73
3970
  msgid "Suggest common email domains"
3971
  msgstr ""
3972
 
3973
  #: inc/core/templates/parts/customize-email.php:78
3974
  #: inc/core/templates/parts/customize-number.php:104
3975
- #: inc/core/templates/parts/customize-phone.php:96
3976
  msgid "Require confirmation of the value"
3977
  msgstr ""
3978
 
3979
  #: inc/core/templates/parts/customize-email.php:82
3980
  #: inc/core/templates/parts/customize-number.php:108
3981
- #: inc/core/templates/parts/customize-phone.php:100
3982
  msgid "Confirmation field title"
3983
  msgstr ""
3984
 
 
 
 
 
3985
  #: inc/core/templates/parts/customize-multi-line-text.php:54
3986
  msgid "Limit words/characters"
3987
  msgstr ""
3988
 
3989
  #: inc/core/templates/parts/customize-multi-line-text.php:58
3990
- #: inc/core/templates/parts/customize-rich-text.php:52
3991
  msgid "Words (max)"
3992
  msgstr ""
3993
 
3994
  #: inc/core/templates/parts/customize-multi-line-text.php:59
3995
- #: inc/core/templates/parts/customize-rich-text.php:53
3996
  msgid "Words (min)"
3997
  msgstr ""
3998
 
3999
  #: inc/core/templates/parts/customize-multi-line-text.php:60
4000
- #: inc/core/templates/parts/customize-rich-text.php:54
4001
  msgid "Characters (max)"
4002
  msgstr ""
4003
 
4004
  #: inc/core/templates/parts/customize-multi-line-text.php:61
4005
- #: inc/core/templates/parts/customize-rich-text.php:55
4006
  msgid "Characters (min)"
4007
  msgstr ""
4008
 
4009
- #: inc/core/templates/parts/customize-narrative.php:27
4010
- msgid "Text between brackets is turned into input placeholders."
4011
- msgstr ""
4012
-
4013
- #: inc/core/templates/parts/customize-narrative.php:31
4014
- msgid "Each input is required"
4015
- msgstr ""
4016
-
4017
  #: inc/core/templates/parts/customize-number.php:44
4018
  msgid "Min value"
4019
  msgstr ""
@@ -4038,89 +3671,11 @@ msgstr ""
4038
  msgid "Prefix"
4039
  msgstr ""
4040
 
4041
- #: inc/core/templates/parts/customize-phone.php:55
4042
- msgid "International format"
4043
- msgstr ""
4044
-
4045
- #: inc/core/templates/parts/customize-phone.php:60
4046
- msgid "Default phone number region"
4047
- msgstr ""
4048
-
4049
- #: inc/core/templates/parts/customize-phone.php:72
4050
- msgid "Allow other regions to be selected"
4051
- msgstr ""
4052
-
4053
  #: inc/core/templates/parts/customize-radio.php:118
4054
  #: inc/core/templates/parts/customize-select.php:118
4055
  msgid "Make this option default"
4056
  msgstr ""
4057
 
4058
- #: inc/core/templates/parts/customize-rating.php:36
4059
- msgid "Rating type"
4060
- msgstr ""
4061
-
4062
- #: inc/core/templates/parts/customize-rating.php:38
4063
- msgid "No / Yes"
4064
- msgstr ""
4065
-
4066
- #: inc/core/templates/parts/customize-rating.php:39
4067
- msgid "Scale of 1 to 5"
4068
- msgstr ""
4069
-
4070
- #: inc/core/templates/parts/customize-rating.php:43
4071
- msgid "Rating visuals"
4072
- msgstr ""
4073
-
4074
- #: inc/core/templates/parts/customize-rating.php:45
4075
- #: inc/core/templates/parts/frontend-rating-scale.php:12
4076
- msgid "Stars"
4077
- msgstr ""
4078
-
4079
- #: inc/core/templates/parts/customize-rating.php:46
4080
- msgid "Smileys"
4081
- msgstr ""
4082
-
4083
- #: inc/core/templates/parts/customize-rating.php:47
4084
- msgid "Thumbs"
4085
- msgstr ""
4086
-
4087
- #: inc/core/templates/parts/customize-rating.php:63
4088
- #: inc/core/templates/parts/customize-rating.php:73
4089
- msgid "Rating Labels"
4090
- msgstr ""
4091
-
4092
- #: inc/core/templates/parts/customize-rich-text.php:48
4093
- msgid "Character count"
4094
- msgstr ""
4095
-
4096
- #: inc/core/templates/parts/customize-scale.php:37
4097
- msgid "Minimum value"
4098
- msgstr ""
4099
-
4100
- #: inc/core/templates/parts/customize-scale.php:41
4101
- msgid "Maximum value"
4102
- msgstr ""
4103
-
4104
- #: inc/core/templates/parts/customize-scale.php:58
4105
- msgid "Allow range select"
4106
- msgstr ""
4107
-
4108
- #: inc/core/templates/parts/customize-scale.php:63
4109
- msgid "Default range from"
4110
- msgstr ""
4111
-
4112
- #: inc/core/templates/parts/customize-scale.php:67
4113
- msgid "Default range to"
4114
- msgstr ""
4115
-
4116
- #: inc/core/templates/parts/customize-scale.php:77
4117
- msgid "Min value label"
4118
- msgstr ""
4119
-
4120
- #: inc/core/templates/parts/customize-scale.php:81
4121
- msgid "Max value label"
4122
- msgstr ""
4123
-
4124
  #: inc/core/templates/parts/customize-select.php:74
4125
  msgid "Make searchable"
4126
  msgstr ""
@@ -4133,103 +3688,10 @@ msgstr ""
4133
  msgid "Use value as email subject"
4134
  msgstr ""
4135
 
4136
- #: inc/core/templates/parts/customize-table.php:37
4137
- msgid "Allow multiple selections"
4138
- msgstr ""
4139
-
4140
- #: inc/core/templates/parts/customize-table.php:41
4141
- #: inc/core/templates/parts/customize-table.php:48
4142
- msgid "Columns"
4143
- msgstr ""
4144
-
4145
- #: inc/core/templates/parts/customize-table.php:42
4146
- #: inc/core/templates/parts/customize-table.php:58
4147
- msgid "Rows"
4148
- msgstr ""
4149
-
4150
- #: inc/core/templates/parts/customize-table.php:49
4151
- msgid "No columns added yet. Add one by clicking <i>Add Column</i> below."
4152
- msgstr ""
4153
-
4154
- #: inc/core/templates/parts/customize-table.php:52
4155
- msgid "Add column"
4156
- msgstr ""
4157
-
4158
- #: inc/core/templates/parts/customize-table.php:59
4159
- msgid "No rows added yet. Add one by clicking <i>Add Row</i> below."
4160
- msgstr ""
4161
-
4162
- #: inc/core/templates/parts/customize-table.php:63
4163
- msgid "Type or paste your rows here, adding each on a new line."
4164
- msgstr ""
4165
-
4166
- #: inc/core/templates/parts/customize-table.php:66
4167
- msgid "Add row"
4168
- msgstr ""
4169
-
4170
- #: inc/core/templates/parts/customize-table.php:68
4171
- msgid "Or, bulk add rows"
4172
- msgstr ""
4173
-
4174
- #: inc/core/templates/parts/customize-table.php:72
4175
- msgid "Add rows"
4176
- msgstr ""
4177
-
4178
- #: inc/core/templates/parts/customize-table.php:81
4179
- msgid "Each row is required"
4180
- msgstr ""
4181
-
4182
- #: inc/core/templates/parts/frontend-address.php:39
4183
- #: inc/core/templates/parts/frontend-address.php:54
4184
- msgid "Country"
4185
- msgstr ""
4186
-
4187
- #: inc/core/templates/parts/frontend-address.php:64
4188
- msgid "City"
4189
- msgstr ""
4190
-
4191
  #: inc/core/templates/parts/frontend-checkbox.php:14
4192
  msgid "Select all"
4193
  msgstr ""
4194
 
4195
- #: inc/core/templates/parts/frontend-date-day.php:13
4196
- msgid "Day"
4197
- msgstr ""
4198
-
4199
- #: inc/core/templates/parts/frontend-date-month.php:14
4200
- msgid "Month"
4201
- msgstr ""
4202
-
4203
- #: inc/core/templates/parts/frontend-date.php:35
4204
- msgid "Year"
4205
- msgstr ""
4206
-
4207
- #: inc/core/templates/parts/frontend-date.php:115
4208
- #: inc/core/templates/parts/frontend-date.php:128
4209
- msgid "AM"
4210
- msgstr ""
4211
-
4212
- #: inc/core/templates/parts/frontend-date.php:115
4213
- #: inc/core/templates/parts/frontend-date.php:133
4214
- msgid "PM"
4215
- msgstr ""
4216
-
4217
- #: inc/core/templates/parts/frontend-date.php:119
4218
- msgid "Period"
4219
- msgstr ""
4220
-
4221
- #: inc/core/templates/parts/frontend-rating-scale.php:17
4222
- msgid "%d out of %d"
4223
- msgstr ""
4224
-
4225
- #: inc/core/templates/parts/frontend-rating-yesno.php:9
4226
- msgid "No"
4227
- msgstr ""
4228
-
4229
- #: inc/core/templates/parts/frontend-rating-yesno.php:17
4230
- msgid "Yes"
4231
- msgstr ""
4232
-
4233
  #: inc/core/templates/preview-form-pencil.php:3
4234
  msgid "Click to edit this part."
4235
  msgstr ""
2
  # This file is distributed under the same license as the HappyForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: HappyForms 1.8.14\n"
6
  "Report-Msgid-Bugs-To: https://thethemefoundry.com/support/\n"
7
+ "POT-Creation-Date: 2019-08-15 06:47:00+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
165
  "using these parts and features in your forms, they will be removed from the "
166
  "free plugin with this release. Please review all your existing forms for "
167
  "changes.</p><p>To make your transition easier, <a href=\"%s\" "
168
+ "target=\"_blank\" class=\"external\">we're offering $20 off upgrades</a>. "
169
+ "Use the coupon code “TRANSITION20” to save.</p>"
170
  msgstr ""
171
 
172
  #: inc/classes/class-happyforms.php:352
182
  "plan</a>.</p>"
183
  msgstr ""
184
 
 
 
 
 
 
 
 
185
  #: inc/classes/class-message-controller.php:608
186
  #: inc/templates/email-owner.php:29
187
  msgid "Tracking number"
245
 
246
  #: inc/classes/parts/class-part-placeholder-dummy.php:8
247
  #: inc/core/classes/class-form-styles.php:714
 
248
  #: inc/core/templates/parts/customize-email.php:36
249
  #: inc/core/templates/parts/customize-multi-line-text.php:36
250
  #: inc/core/templates/parts/customize-number.php:36
 
251
  #: inc/core/templates/parts/customize-select.php:34
252
  #: inc/core/templates/parts/customize-single-line-text.php:36
 
 
253
  msgid "Placeholder"
254
  msgstr ""
255
 
300
 
301
  #: inc/classes/parts/class-part-title-dummy.php:8
302
  #: inc/core/classes/class-form-styles.php:704
 
303
  #: inc/core/templates/parts/customize-checkbox.php:4
 
304
  #: inc/core/templates/parts/customize-email.php:4
305
  #: inc/core/templates/parts/customize-multi-line-text.php:4
 
306
  #: inc/core/templates/parts/customize-number.php:4
 
 
307
  #: inc/core/templates/parts/customize-radio.php:4
 
 
 
308
  #: inc/core/templates/parts/customize-select.php:4
309
  #: inc/core/templates/parts/customize-single-line-text.php:4
 
 
 
310
  msgid "Title"
311
  msgstr ""
312
 
538
  msgid "Thank you! Your response has been successfully submitted."
539
  msgstr ""
540
 
541
+ #: inc/core/classes/class-form-setup.php:54
542
+ msgid "Oops! Your response is invalid — please review your message."
543
+ msgstr ""
544
+
545
+ #: inc/core/classes/class-form-setup.php:74
546
  msgid "You received a new message"
547
  msgstr ""
548
 
549
+ #: inc/core/classes/class-form-setup.php:86
550
  msgid "We received your message"
551
  msgstr ""
552
 
553
+ #: inc/core/classes/class-form-setup.php:90
554
  msgid ""
555
  "Your message has been successfully sent. We appreciate you contacting us "
556
  "and we’ll be in touch soon."
557
  msgstr ""
558
 
559
+ #: inc/core/classes/class-form-setup.php:114
560
+ msgid "This field is required."
561
+ msgstr ""
562
+
563
+ #: inc/core/classes/class-form-setup.php:118
564
  msgid "(optional)"
565
  msgstr ""
566
 
567
+ #: inc/core/classes/class-form-setup.php:122
568
  msgid "Submit Form"
569
  msgstr ""
570
 
571
+ #: inc/core/classes/class-form-setup.php:146
572
  msgid "Validate your submission"
573
  msgstr ""
574
 
575
+ #: inc/core/classes/class-form-setup.php:154
576
  msgid "Review submission"
577
  msgstr ""
578
 
579
+ #: inc/core/classes/class-form-setup.php:198
580
  msgid "Confirmation message"
581
  msgstr ""
582
 
583
+ #: inc/core/classes/class-form-setup.php:199
584
  msgid ""
585
  "This is the message your users will see after succesfully submitting your "
586
  "form."
587
  msgstr ""
588
 
589
+ #: inc/core/classes/class-form-setup.php:204
590
+ msgid "Error message"
591
+ msgstr ""
592
+
593
+ #: inc/core/classes/class-form-setup.php:205
594
+ msgid ""
595
+ "This is the message your users will see when there are form errors "
596
+ "preventing submission."
597
+ msgstr ""
598
+
599
+ #: inc/core/classes/class-form-setup.php:210
600
  msgid "Receive submission alerts"
601
  msgstr ""
602
 
603
+ #: inc/core/classes/class-form-setup.php:215
604
  #: inc/core/templates/admin-tracking.php:15
605
  msgid "Email address"
606
  msgstr ""
607
 
608
+ #: inc/core/classes/class-form-setup.php:216
609
  msgid ""
610
  "Add your email address here to receive a confirmation email for each form "
611
  "response. You can add multiple email addresses by separating each address "
612
  "with a comma."
613
  msgstr ""
614
 
615
+ #: inc/core/classes/class-form-setup.php:221
616
  msgid "Email Bcc address"
617
  msgstr ""
618
 
619
+ #: inc/core/classes/class-form-setup.php:222
620
  msgid ""
621
  "Add your Bcc email address here to receive a confirmation email for each "
622
  "form response without appearing in the received message header. You can "
623
  "add multiple email addresses by separating each address with a comma."
624
  msgstr ""
625
 
626
+ #: inc/core/classes/class-form-setup.php:227
627
+ #: inc/core/classes/class-form-setup.php:244
628
  msgid "Email subject"
629
  msgstr ""
630
 
631
+ #: inc/core/classes/class-form-setup.php:228
632
  msgid ""
633
  "Each time a user submits a message, you'll receive an email with this "
634
  "subject."
635
  msgstr ""
636
 
637
+ #: inc/core/classes/class-form-setup.php:233
638
  msgid "Send confirmation email"
639
  msgstr ""
640
 
641
+ #: inc/core/classes/class-form-setup.php:238
642
  msgid "Email display name"
643
  msgstr ""
644
 
645
+ #: inc/core/classes/class-form-setup.php:239
646
  msgid ""
647
  "If your form contains an email field, recipients will receive an email with "
648
  "this sender name."
649
  msgstr ""
650
 
651
+ #: inc/core/classes/class-form-setup.php:245
652
  msgid ""
653
  "If your form contains an email field, recipients will receive an email with "
654
  "this subject."
655
  msgstr ""
656
 
657
+ #: inc/core/classes/class-form-setup.php:250
658
  msgid "Email content"
659
  msgstr ""
660
 
661
+ #: inc/core/classes/class-form-setup.php:251
662
  msgid ""
663
  "If your form contains an email field, recipients will receive an email with "
664
  "this content."
665
  msgstr ""
666
 
667
+ #: inc/core/classes/class-form-setup.php:256
668
  msgid "Include submitted values"
669
  msgstr ""
670
 
671
+ #: inc/core/classes/class-form-setup.php:261
672
+ msgid "Required part label"
673
+ msgstr ""
674
+
675
+ #: inc/core/classes/class-form-setup.php:266
676
  msgid "Optional part label"
677
  msgstr ""
678
 
679
+ #: inc/core/classes/class-form-setup.php:271
680
  msgid "Submit button label"
681
  msgstr ""
682
 
683
+ #: inc/core/classes/class-form-setup.php:276
684
  msgid "Submit button HTML class"
685
  msgstr ""
686
 
687
+ #: inc/core/classes/class-form-setup.php:281
688
  msgid "Set custom form HTML ID"
689
  msgstr ""
690
 
691
+ #: inc/core/classes/class-form-setup.php:283
692
  msgid "Add a unique HTML ID to your form. Write without a hash (#) character."
693
  msgstr ""
694
 
695
+ #: inc/core/classes/class-form-setup.php:287
696
  msgid "Form HTML ID"
697
  msgstr ""
698
 
699
+ #: inc/core/classes/class-form-setup.php:292
700
  msgid "Spam prevention"
701
  msgstr ""
702
 
703
+ #: inc/core/classes/class-form-setup.php:293
704
  msgid "Protect your form against bots by using HoneyPot security."
705
  msgstr ""
706
 
737
  #: inc/core/classes/class-form-styles.php:81
738
  #: inc/core/classes/class-form-styles.php:110
739
  #: inc/core/classes/class-form-styles.php:233
 
 
740
  msgid "Show"
741
  msgstr ""
742
 
751
  #: inc/core/classes/class-form-styles.php:193
752
  #: inc/core/classes/class-form-styles.php:213
753
  #: inc/core/classes/class-form-styles.php:290
 
754
  #: inc/core/templates/parts/customize-checkbox.php:11
 
755
  #: inc/core/templates/parts/customize-email.php:11
756
  #: inc/core/templates/parts/customize-multi-line-text.php:11
 
757
  #: inc/core/templates/parts/customize-number.php:11
 
 
758
  #: inc/core/templates/parts/customize-radio.php:11
 
 
 
759
  #: inc/core/templates/parts/customize-select.php:11
760
  #: inc/core/templates/parts/customize-single-line-text.php:11
 
 
 
761
  msgid "Left"
762
  msgstr ""
763
 
828
 
829
  #: inc/core/classes/class-form-styles.php:524
830
  #: inc/core/classes/class-form-styles.php:834
 
831
  #: inc/core/templates/parts/customize-checkbox.php:80
 
832
  #: inc/core/templates/parts/customize-email.php:54
 
833
  #: inc/core/templates/parts/customize-multi-line-text.php:66
 
834
  #: inc/core/templates/parts/customize-number.php:85
 
 
835
  #: inc/core/templates/parts/customize-radio.php:75
 
 
 
836
  #: inc/core/templates/parts/customize-select.php:78
837
  #: inc/core/templates/parts/customize-single-line-text.php:59
 
 
 
838
  msgid "Width"
839
  msgstr ""
840
 
998
  #: inc/core/classes/class-form-styles.php:884
999
  #: inc/core/classes/parts/class-part-multi-line-text.php:34
1000
  #: inc/core/classes/parts/class-part-single-line-text.php:29
 
 
 
1001
  msgid "Text"
1002
  msgstr ""
1003
 
1218
  #: inc/core/templates/parts/customize-radio.php:41
1219
  #: inc/core/templates/parts/customize-select.php:42
1220
  #: inc/core/templates/parts/customize-select.php:46
 
1221
  msgid "Options"
1222
  msgstr ""
1223
 
 
 
 
 
 
 
 
 
 
 
 
1224
  #: inc/core/classes/parts/class-part-checkbox.php:193
1225
  msgid "Checkbox values are not valid."
1226
  msgstr ""
3298
  #: inc/core/templates/parts/customize-checkbox.php:128
3299
  #: inc/core/templates/parts/customize-radio.php:122
3300
  #: inc/core/templates/parts/customize-select.php:122
 
 
3301
  msgid "Delete"
3302
  msgstr ""
3303
 
3336
  msgstr ""
3337
 
3338
  #: inc/core/templates/customize-form-steps.php:30
 
3339
  msgid "Step"
3340
  msgstr ""
3341
 
3359
  msgid "Close"
3360
  msgstr ""
3361
 
 
3362
  #: inc/core/templates/parts/customize-checkbox.php:8
 
3363
  #: inc/core/templates/parts/customize-email.php:8
3364
  #: inc/core/templates/parts/customize-multi-line-text.php:8
 
3365
  #: inc/core/templates/parts/customize-number.php:8
 
 
3366
  #: inc/core/templates/parts/customize-radio.php:8
 
 
 
3367
  #: inc/core/templates/parts/customize-select.php:8
3368
  #: inc/core/templates/parts/customize-single-line-text.php:8
 
 
 
3369
  msgid "Title placement"
3370
  msgstr ""
3371
 
 
3372
  #: inc/core/templates/parts/customize-checkbox.php:10
 
3373
  #: inc/core/templates/parts/customize-email.php:10
3374
  #: inc/core/templates/parts/customize-multi-line-text.php:10
 
3375
  #: inc/core/templates/parts/customize-number.php:10
 
 
3376
  #: inc/core/templates/parts/customize-radio.php:10
 
 
 
3377
  #: inc/core/templates/parts/customize-select.php:10
3378
  #: inc/core/templates/parts/customize-single-line-text.php:10
 
 
 
3379
  msgid "Above"
3380
  msgstr ""
3381
 
 
3382
  #: inc/core/templates/parts/customize-checkbox.php:12
 
3383
  #: inc/core/templates/parts/customize-email.php:12
3384
  #: inc/core/templates/parts/customize-multi-line-text.php:12
 
3385
  #: inc/core/templates/parts/customize-number.php:12
 
 
3386
  #: inc/core/templates/parts/customize-radio.php:12
 
 
 
3387
  #: inc/core/templates/parts/customize-select.php:12
3388
  #: inc/core/templates/parts/customize-single-line-text.php:12
 
 
 
3389
  msgid "Below"
3390
  msgstr ""
3391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3392
  #: inc/core/templates/parts/customize-checkbox.php:13
 
3393
  #: inc/core/templates/parts/customize-email.php:15
3394
  #: inc/core/templates/parts/customize-multi-line-text.php:15
 
3395
  #: inc/core/templates/parts/customize-number.php:15
 
 
3396
  #: inc/core/templates/parts/customize-radio.php:13
 
 
 
3397
  #: inc/core/templates/parts/customize-select.php:14
3398
  #: inc/core/templates/parts/customize-single-line-text.php:15
 
 
 
3399
  msgid "Hidden"
3400
  msgstr ""
3401
 
 
3402
  #: inc/core/templates/parts/customize-checkbox.php:18
3403
  #: inc/core/templates/parts/customize-checkbox.php:90
 
 
3404
  #: inc/core/templates/parts/customize-email.php:20
3405
  #: inc/core/templates/parts/customize-email.php:64
3406
  #: inc/core/templates/parts/customize-multi-line-text.php:20
3407
  #: inc/core/templates/parts/customize-multi-line-text.php:76
 
 
3408
  #: inc/core/templates/parts/customize-number.php:20
3409
  #: inc/core/templates/parts/customize-number.php:95
 
 
 
 
3410
  #: inc/core/templates/parts/customize-radio.php:18
3411
  #: inc/core/templates/parts/customize-radio.php:85
 
 
 
 
 
 
3412
  #: inc/core/templates/parts/customize-select.php:19
3413
  #: inc/core/templates/parts/customize-select.php:88
3414
  #: inc/core/templates/parts/customize-single-line-text.php:20
3415
  #: inc/core/templates/parts/customize-single-line-text.php:69
 
 
 
 
 
 
3416
  msgid "Apply to all parts"
3417
  msgstr ""
3418
 
 
3419
  #: inc/core/templates/parts/customize-checkbox.php:22
3420
  #: inc/core/templates/parts/customize-checkbox.php:120
 
3421
  #: inc/core/templates/parts/customize-email.php:24
3422
  #: inc/core/templates/parts/customize-multi-line-text.php:24
3423
  #: inc/core/templates/parts/customize-number.php:24
 
3424
  #: inc/core/templates/parts/customize-radio.php:22
3425
  #: inc/core/templates/parts/customize-radio.php:114
 
 
 
3426
  #: inc/core/templates/parts/customize-select.php:23
3427
  #: inc/core/templates/parts/customize-single-line-text.php:24
 
 
 
3428
  msgid "Description"
3429
  msgstr ""
3430
 
 
3431
  #: inc/core/templates/parts/customize-checkbox.php:26
 
3432
  #: inc/core/templates/parts/customize-email.php:28
3433
  #: inc/core/templates/parts/customize-multi-line-text.php:28
3434
  #: inc/core/templates/parts/customize-number.php:28
 
3435
  #: inc/core/templates/parts/customize-radio.php:26
 
 
 
3436
  #: inc/core/templates/parts/customize-select.php:27
3437
  #: inc/core/templates/parts/customize-single-line-text.php:28
 
 
 
3438
  msgid "Description appearance"
3439
  msgstr ""
3440
 
 
3441
  #: inc/core/templates/parts/customize-checkbox.php:28
 
3442
  #: inc/core/templates/parts/customize-email.php:30
3443
  #: inc/core/templates/parts/customize-multi-line-text.php:30
3444
  #: inc/core/templates/parts/customize-number.php:30
 
3445
  #: inc/core/templates/parts/customize-radio.php:28
 
 
 
3446
  #: inc/core/templates/parts/customize-select.php:29
3447
  #: inc/core/templates/parts/customize-single-line-text.php:30
 
 
 
3448
  msgid "Standard"
3449
  msgstr ""
3450
 
 
 
 
 
 
 
 
 
 
 
 
 
3451
  #: inc/core/templates/parts/customize-checkbox.php:29
 
3452
  #: inc/core/templates/parts/customize-email.php:32
3453
  #: inc/core/templates/parts/customize-multi-line-text.php:32
3454
  #: inc/core/templates/parts/customize-number.php:32
 
3455
  #: inc/core/templates/parts/customize-radio.php:29
 
 
 
3456
  #: inc/core/templates/parts/customize-select.php:30
 
 
 
3457
  msgid "Tooltip"
3458
  msgstr ""
3459
 
3460
+ #: inc/core/templates/parts/customize-checkbox.php:38
3461
+ #: inc/core/templates/parts/customize-radio.php:38
3462
+ #: inc/core/templates/parts/customize-select.php:43
3463
+ msgid "No options added yet. Add one by clicking <i>Add Option</i> below."
3464
  msgstr ""
3465
 
3466
+ #: inc/core/templates/parts/customize-checkbox.php:42
3467
+ #: inc/core/templates/parts/customize-radio.php:42
3468
+ #: inc/core/templates/parts/customize-select.php:47
3469
+ msgid "Type or paste your options here, adding each on a new line."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3470
  msgstr ""
3471
 
3472
+ #: inc/core/templates/parts/customize-checkbox.php:45
3473
+ #: inc/core/templates/parts/customize-radio.php:45
3474
+ #: inc/core/templates/parts/customize-select.php:50
3475
+ msgid "Add option"
3476
  msgstr ""
3477
 
3478
+ #: inc/core/templates/parts/customize-checkbox.php:47
3479
+ #: inc/core/templates/parts/customize-radio.php:47
3480
+ #: inc/core/templates/parts/customize-select.php:52
3481
+ msgid "Or, bulk add options"
3482
  msgstr ""
3483
 
3484
+ #: inc/core/templates/parts/customize-checkbox.php:51
3485
+ #: inc/core/templates/parts/customize-radio.php:51
3486
+ #: inc/core/templates/parts/customize-select.php:56
3487
+ msgid "Add options"
3488
  msgstr ""
3489
 
3490
+ #: inc/core/templates/parts/customize-checkbox.php:53
3491
+ #: inc/core/templates/parts/customize-radio.php:53
3492
+ #: inc/core/templates/parts/customize-select.php:58
3493
+ msgid "Cancel"
3494
  msgstr ""
3495
 
3496
+ #: inc/core/templates/parts/customize-checkbox.php:58
3497
+ #: inc/core/templates/parts/customize-email.php:44
3498
+ #: inc/core/templates/parts/customize-multi-line-text.php:44
3499
+ #: inc/core/templates/parts/customize-number.php:54
3500
+ #: inc/core/templates/parts/customize-radio.php:58
3501
+ #: inc/core/templates/parts/customize-select.php:63
3502
+ #: inc/core/templates/parts/customize-single-line-text.php:44
3503
+ msgid "This is required"
3504
  msgstr ""
3505
 
3506
+ #: inc/core/templates/parts/customize-checkbox.php:69
3507
+ msgid "Show select all option"
3508
  msgstr ""
3509
 
3510
+ #: inc/core/templates/parts/customize-checkbox.php:73
3511
+ #: inc/core/templates/parts/customize-radio.php:68
3512
+ msgid "Display options"
3513
  msgstr ""
3514
 
3515
+ #: inc/core/templates/parts/customize-checkbox.php:75
3516
+ #: inc/core/templates/parts/customize-radio.php:70
3517
+ msgid "Horizontal"
3518
  msgstr ""
3519
 
3520
+ #: inc/core/templates/parts/customize-checkbox.php:76
3521
+ #: inc/core/templates/parts/customize-radio.php:71
3522
+ msgid "Vertical"
3523
  msgstr ""
3524
 
3525
+ #: inc/core/templates/parts/customize-checkbox.php:82
3526
+ #: inc/core/templates/parts/customize-email.php:56
3527
+ #: inc/core/templates/parts/customize-multi-line-text.php:68
3528
+ #: inc/core/templates/parts/customize-number.php:87
3529
+ #: inc/core/templates/parts/customize-radio.php:77
3530
+ #: inc/core/templates/parts/customize-select.php:80
3531
+ #: inc/core/templates/parts/customize-single-line-text.php:61
3532
+ msgid "Full"
 
 
 
 
 
 
 
 
3533
  msgstr ""
3534
 
 
3535
  #: inc/core/templates/parts/customize-checkbox.php:83
 
3536
  #: inc/core/templates/parts/customize-email.php:57
 
3537
  #: inc/core/templates/parts/customize-multi-line-text.php:69
 
3538
  #: inc/core/templates/parts/customize-number.php:88
 
 
3539
  #: inc/core/templates/parts/customize-radio.php:78
 
 
 
3540
  #: inc/core/templates/parts/customize-select.php:81
3541
  #: inc/core/templates/parts/customize-single-line-text.php:62
 
 
 
3542
  msgid "Half"
3543
  msgstr ""
3544
 
 
3545
  #: inc/core/templates/parts/customize-checkbox.php:84
 
3546
  #: inc/core/templates/parts/customize-email.php:58
 
3547
  #: inc/core/templates/parts/customize-multi-line-text.php:70
 
3548
  #: inc/core/templates/parts/customize-number.php:89
 
 
3549
  #: inc/core/templates/parts/customize-radio.php:79
 
 
 
3550
  #: inc/core/templates/parts/customize-select.php:82
3551
  #: inc/core/templates/parts/customize-single-line-text.php:63
 
 
 
3552
  msgid "Third"
3553
  msgstr ""
3554
 
 
3555
  #: inc/core/templates/parts/customize-checkbox.php:85
 
3556
  #: inc/core/templates/parts/customize-email.php:59
 
3557
  #: inc/core/templates/parts/customize-multi-line-text.php:71
 
3558
  #: inc/core/templates/parts/customize-number.php:90
 
 
3559
  #: inc/core/templates/parts/customize-radio.php:80
 
 
3560
  #: inc/core/templates/parts/customize-select.php:83
3561
  #: inc/core/templates/parts/customize-single-line-text.php:64
 
 
 
3562
  msgid "Auto"
3563
  msgstr ""
3564
 
 
3565
  #: inc/core/templates/parts/customize-checkbox.php:97
 
3566
  #: inc/core/templates/parts/customize-email.php:68
 
3567
  #: inc/core/templates/parts/customize-multi-line-text.php:83
 
3568
  #: inc/core/templates/parts/customize-number.php:99
 
 
3569
  #: inc/core/templates/parts/customize-radio.php:89
 
 
 
3570
  #: inc/core/templates/parts/customize-select.php:95
3571
  #: inc/core/templates/parts/customize-single-line-text.php:76
 
 
 
3572
  msgid "Custom CSS class"
3573
  msgstr ""
3574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3575
  #: inc/core/templates/parts/customize-checkbox.php:115
3576
  #: inc/core/templates/parts/customize-radio.php:109
3577
  #: inc/core/templates/parts/customize-select.php:113
 
 
3578
  msgid "Label"
3579
  msgstr ""
3580
 
3581
  #: inc/core/templates/parts/customize-checkbox.php:124
 
3582
  msgid "Checked by default"
3583
  msgstr ""
3584
 
3585
  #: inc/core/templates/parts/customize-checkbox.php:129
3586
  #: inc/core/templates/parts/customize-radio.php:123
3587
  #: inc/core/templates/parts/customize-select.php:123
 
3588
  msgid "Advanced"
3589
  msgstr ""
3590
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3591
  #: inc/core/templates/parts/customize-email.php:13
3592
  #: inc/core/templates/parts/customize-number.php:13
 
3593
  #: inc/core/templates/parts/customize-single-line-text.php:13
 
3594
  msgid "Inside input"
3595
  msgstr ""
3596
 
3597
+ #: inc/core/templates/parts/customize-email.php:14
3598
+ #: inc/core/templates/parts/customize-multi-line-text.php:14
3599
+ #: inc/core/templates/parts/customize-number.php:14
3600
+ #: inc/core/templates/parts/customize-select.php:13
3601
+ #: inc/core/templates/parts/customize-single-line-text.php:14
3602
+ msgid "Display as placeholder"
3603
+ msgstr ""
3604
+
3605
+ #: inc/core/templates/parts/customize-email.php:31
3606
+ #: inc/core/templates/parts/customize-multi-line-text.php:31
3607
+ #: inc/core/templates/parts/customize-number.php:31
3608
+ #: inc/core/templates/parts/customize-single-line-text.php:31
3609
+ msgid "Reveal on focus"
3610
+ msgstr ""
3611
+
3612
  #: inc/core/templates/parts/customize-email.php:73
3613
  msgid "Suggest common email domains"
3614
  msgstr ""
3615
 
3616
  #: inc/core/templates/parts/customize-email.php:78
3617
  #: inc/core/templates/parts/customize-number.php:104
 
3618
  msgid "Require confirmation of the value"
3619
  msgstr ""
3620
 
3621
  #: inc/core/templates/parts/customize-email.php:82
3622
  #: inc/core/templates/parts/customize-number.php:108
 
3623
  msgid "Confirmation field title"
3624
  msgstr ""
3625
 
3626
+ #: inc/core/templates/parts/customize-multi-line-text.php:13
3627
+ msgid "Inside"
3628
+ msgstr ""
3629
+
3630
  #: inc/core/templates/parts/customize-multi-line-text.php:54
3631
  msgid "Limit words/characters"
3632
  msgstr ""
3633
 
3634
  #: inc/core/templates/parts/customize-multi-line-text.php:58
 
3635
  msgid "Words (max)"
3636
  msgstr ""
3637
 
3638
  #: inc/core/templates/parts/customize-multi-line-text.php:59
 
3639
  msgid "Words (min)"
3640
  msgstr ""
3641
 
3642
  #: inc/core/templates/parts/customize-multi-line-text.php:60
 
3643
  msgid "Characters (max)"
3644
  msgstr ""
3645
 
3646
  #: inc/core/templates/parts/customize-multi-line-text.php:61
 
3647
  msgid "Characters (min)"
3648
  msgstr ""
3649
 
 
 
 
 
 
 
 
 
3650
  #: inc/core/templates/parts/customize-number.php:44
3651
  msgid "Min value"
3652
  msgstr ""
3671
  msgid "Prefix"
3672
  msgstr ""
3673
 
 
 
 
 
 
 
 
 
 
 
 
 
3674
  #: inc/core/templates/parts/customize-radio.php:118
3675
  #: inc/core/templates/parts/customize-select.php:118
3676
  msgid "Make this option default"
3677
  msgstr ""
3678
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3679
  #: inc/core/templates/parts/customize-select.php:74
3680
  msgid "Make searchable"
3681
  msgstr ""
3688
  msgid "Use value as email subject"
3689
  msgstr ""
3690
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3691
  #: inc/core/templates/parts/frontend-checkbox.php:14
3692
  msgid "Select all"
3693
  msgstr ""
3694
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3695
  #: inc/core/templates/preview-form-pencil.php:3
3696
  msgid "Click to edit this part."
3697
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact, contact form, email, feedback form, form, form builder, custom fo
5
  Requires at least: 4.8
6
  Tested up to: 5.2
7
  Requires PHP: 5.3
8
- Stable tag: 1.8.13
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -26,7 +26,6 @@ https://www.youtube.com/watch?v=X1snk2vJbXI
26
  * 💌 Skip the hassle of spam messages.
27
  * 😍 Free expert support and feedback.
28
  * 🎨 Live preview form builder.
29
- * 💰 Save on average $476.72 each year.
30
 
31
  = Popular HappyForms Features: =
32
 
@@ -98,6 +97,9 @@ Yep! HappyForms free isn't going anywhere but for those looking for even more yo
98
 
99
  == Changelog ==
100
 
 
 
 
101
  = 1.8.13 =
102
  * Bugfix: Fixed error caused by admin notices during Wp Cron task execution.
103
 
@@ -523,6 +525,9 @@ Yep! HappyForms free isn't going anywhere but for those looking for even more yo
523
 
524
  == Upgrade Notice ==
525
 
 
 
 
526
  = 1.8.13 =
527
  * Fixed error caused by admin notices during Wp Cron task execution.
528
 
5
  Requires at least: 4.8
6
  Tested up to: 5.2
7
  Requires PHP: 5.3
8
+ Stable tag: 1.8.14
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
26
  * 💌 Skip the hassle of spam messages.
27
  * 😍 Free expert support and feedback.
28
  * 🎨 Live preview form builder.
 
29
 
30
  = Popular HappyForms Features: =
31
 
97
 
98
  == Changelog ==
99
 
100
+ = 1.8.14 =
101
+ * New feature: Form error message and required field label are now easy to edit in Step 2.
102
+
103
  = 1.8.13 =
104
  * Bugfix: Fixed error caused by admin notices during Wp Cron task execution.
105
 
525
 
526
  == Upgrade Notice ==
527
 
528
+ = 1.8.14 =
529
+ * Customizable form error message and required field label.
530
+
531
  = 1.8.13 =
532
  * Fixed error caused by admin notices during Wp Cron task execution.
533