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

Version Description

  • Improvement: Reworded dashboard and builder labels to improve usability.
  • Improvement: Empty labels in emails now won't result in excessive whitespace.
Download this release

Release Info

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

Code changes from version 1.15.4 to 1.16.0

core/assets/css/customize.css CHANGED
@@ -1184,10 +1184,6 @@ ul.happyforms-parts-list li[data-part-type="date_dummy"] .happyforms-parts-list-
1184
  background-image: url(../svg/icons/date-time.svg);
1185
  }
1186
 
1187
- ul.happyforms-parts-list li[data-part-type="address_dummy"] .happyforms-parts-list-item-title:before {
1188
- background-image: url(../svg/icons/address.svg);
1189
- }
1190
-
1191
  ul.happyforms-parts-list li[data-part-type="phone_dummy"] .happyforms-parts-list-item-title:before {
1192
  background-image: url(../svg/icons/phone.svg);
1193
  }
@@ -1256,6 +1252,10 @@ ul.happyforms-parts-list li[data-part-type="scrollable_terms_dummy"] .happyforms
1256
  background-image: url(../svg/icons/scrollable-terms.svg);
1257
  }
1258
 
 
 
 
 
1259
 
1260
  ul.happyforms-parts-list .happyforms-parts-list-item-title {
1261
  padding: 0 0 5px;
1184
  background-image: url(../svg/icons/date-time.svg);
1185
  }
1186
 
 
 
 
 
1187
  ul.happyforms-parts-list li[data-part-type="phone_dummy"] .happyforms-parts-list-item-title:before {
1188
  background-image: url(../svg/icons/phone.svg);
1189
  }
1252
  background-image: url(../svg/icons/scrollable-terms.svg);
1253
  }
1254
 
1255
+ ul.happyforms-parts-list li[data-part-type="toggletip_dummy"] .happyforms-parts-list-item-title:before {
1256
+ background-image: url(../svg/icons/toggletip.svg);
1257
+ }
1258
+
1259
 
1260
  ul.happyforms-parts-list .happyforms-parts-list-item-title {
1261
  padding: 0 0 5px;
core/assets/svg/icons/address.svg DELETED
@@ -1 +0,0 @@
1
- <svg enable-background="new 0 0 24 24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h24v24h-24z" fill="none"/><path d="m12 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm6-1.8c0-3.6-2.6-6.2-6-6.2s-6 2.6-6 6.2c0 2.3 1.9 5.4 6 9.1 4-3.7 6-6.8 6-9.1zm-6-8.2c4.2 0 8 3.2 8 8.2 0 3.3-2.7 7.3-8 11.8-5.3-4.5-8-8.5-8-11.8 0-5 3.8-8.2 8-8.2z" fill="#32373c"/></svg>
 
core/assets/svg/icons/toggletip.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg enable-background="new 0 0 24 24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h24v24h-24z" fill="none"/><path d="m0 0h24v24h-24z" fill="none"/><g fill="#32373c"><path d="m13 7h9v2h-9z"/><path d="m13 15h9v2h-9z"/><path d="m16 11h6v2h-6z"/><path d="m13 12-5-5v4h-6v2h6v4z"/></g></svg>
core/classes/class-email-message.php CHANGED
@@ -330,7 +330,7 @@ class HappyForms_Email_Message {
330
 
331
  public function send() {
332
  add_filter( 'wp_mail_content_type', array( $this, 'get_content_type' ) );
333
-
334
  $from = $this->get_from();
335
 
336
  if ( $from ) {
330
 
331
  public function send() {
332
  add_filter( 'wp_mail_content_type', array( $this, 'get_content_type' ) );
333
+
334
  $from = $this->get_from();
335
 
336
  if ( $from ) {
core/classes/class-form-email.php CHANGED
@@ -136,7 +136,7 @@ class HappyForms_Form_Email {
136
  ),
137
  550 => array(
138
  'type' => 'checkbox',
139
- 'label' => __( 'Email respondent a copy of their submission', 'happyforms' ),
140
  'field' => 'send_confirmation_email',
141
  ),
142
  551 => array(
@@ -170,7 +170,7 @@ class HappyForms_Form_Email {
170
  ),
171
  860 => array(
172
  'type' => 'checkbox',
173
- 'label' => __( 'Include submitted values', 'happyforms' ),
174
  'field' => 'confirmation_email_include_values'
175
  ),
176
  870 => array(
136
  ),
137
  550 => array(
138
  'type' => 'checkbox',
139
+ 'label' => __( 'Email submitter a copy of their reply', 'happyforms' ),
140
  'field' => 'send_confirmation_email',
141
  ),
142
  551 => array(
170
  ),
171
  860 => array(
172
  'type' => 'checkbox',
173
+ 'label' => __( "Include submitted values", 'happyforms' ),
174
  'field' => 'confirmation_email_include_values'
175
  ),
176
  870 => array(
core/classes/class-form-messages.php CHANGED
@@ -90,7 +90,7 @@ class HappyForms_Form_Messages {
90
  'group_type' => 'group',
91
  'group_id' => 'messages-view-alerts',
92
  'group_title' => __( 'Alerts', 'happyforms' ),
93
- 'group_description' => __( 'These messages are shown to respondents at the very top of the form to communicate the form’s status.', 'happyforms' ),
94
  ),
95
  2000 => array (
96
  'type' => 'group_end',
@@ -101,7 +101,7 @@ class HappyForms_Form_Messages {
101
  'group_type' => 'group',
102
  'group_id' => 'messages-view-buttons',
103
  'group_title' => __( 'Buttons', 'happyforms' ),
104
- 'group_description' => __( 'The messages are shown to respondents as they fill out the form to help them trigger an action.', 'happyforms' ),
105
  ),
106
  4000 => array (
107
  'type' => 'group_end',
@@ -111,7 +111,7 @@ class HappyForms_Form_Messages {
111
  'group_type' => 'group',
112
  'group_id' => 'messages-view-errors',
113
  'group_title' => __( 'Errors', 'happyforms' ),
114
- 'group_description' => __( 'These messages are shown to respondents when they try to submit their reply but one or more fields has a mistake.', 'happyforms' ),
115
  ),
116
  6000 => array (
117
  'type' => 'group_end',
@@ -121,7 +121,7 @@ class HappyForms_Form_Messages {
121
  'group_type' => 'group',
122
  'group_id' => 'messages-view-hints',
123
  'group_title' => __( 'Hints', 'happyforms' ),
124
- 'group_description' => __( 'These messages are shown to respondents as they fill out the form to help them avoid mistakes.', 'happyforms' ),
125
  ),
126
  8000 => array (
127
  'type' => 'group_end',
90
  'group_type' => 'group',
91
  'group_id' => 'messages-view-alerts',
92
  'group_title' => __( 'Alerts', 'happyforms' ),
93
+ 'group_description' => __( 'These messages are shown to submitters at the very top of the form to communicate the form’s status.', 'happyforms' ),
94
  ),
95
  2000 => array (
96
  'type' => 'group_end',
101
  'group_type' => 'group',
102
  'group_id' => 'messages-view-buttons',
103
  'group_title' => __( 'Buttons', 'happyforms' ),
104
+ 'group_description' => __( 'These messages are shown to submitters as they fill out the form to help them trigger an action.', 'happyforms' ),
105
  ),
106
  4000 => array (
107
  'type' => 'group_end',
111
  'group_type' => 'group',
112
  'group_id' => 'messages-view-errors',
113
  'group_title' => __( 'Errors', 'happyforms' ),
114
+ 'group_description' => __( 'These messages are shown to submitters when they try to submit but one or more fields has a mistake.', 'happyforms' ),
115
  ),
116
  6000 => array (
117
  'type' => 'group_end',
121
  'group_type' => 'group',
122
  'group_id' => 'messages-view-hints',
123
  'group_title' => __( 'Hints', 'happyforms' ),
124
+ 'group_description' => __( 'These messages are shown to submitters as they fill out the form to help them avoid mistakes.', 'happyforms' ),
125
  ),
126
  8000 => array (
127
  'type' => 'group_end',
core/classes/class-form-setup.php CHANGED
@@ -130,11 +130,11 @@ class HappyForms_Form_Setup {
130
  public function get_messages_fields( $fields ) {
131
  $messages_fields = array(
132
  'confirmation_message' => array(
133
- 'default' => __( 'Thank you. Your reply has been sent.', 'happyforms' ),
134
  'sanitize' => 'esc_html',
135
  ),
136
  'error_message' => array(
137
- 'default' => __( "Bummer. We can't submit your reply. Please check for mistakes.", 'happyforms' ),
138
  'sanitize' => 'esc_html'
139
  ),
140
  'submit_button_label' => array(
130
  public function get_messages_fields( $fields ) {
131
  $messages_fields = array(
132
  'confirmation_message' => array(
133
+ 'default' => __( 'Thank you. Your submission has been sent.', 'happyforms' ),
134
  'sanitize' => 'esc_html',
135
  ),
136
  'error_message' => array(
137
+ 'default' => __( "Bummer. The form can't be submitted. Please check for mistakes.", 'happyforms' ),
138
  'sanitize' => 'esc_html'
139
  ),
140
  'submit_button_label' => array(
core/classes/class-form-styles.php CHANGED
@@ -823,7 +823,7 @@ class HappyForms_Form_Styles {
823
  ),
824
  5750 => array(
825
  'type' => 'divider',
826
- 'label' => __( 'Dividers', 'happyforms' ),
827
  'id' => 'dividers',
828
  ),
829
  5751 => array(
823
  ),
824
  5750 => array(
825
  'type' => 'divider',
826
+ 'label' => __( 'Separators', 'happyforms' ),
827
  'id' => 'dividers',
828
  ),
829
  5751 => array(
core/classes/class-happyforms-core.php CHANGED
@@ -135,7 +135,7 @@ class HappyForms_Core {
135
 
136
  public function hide_legacy_form_widget( $widget_types ) {
137
  $widget_types[] = 'happyforms_widget';
138
-
139
  return $widget_types;
140
  }
141
 
@@ -207,8 +207,8 @@ class HappyForms_Core {
207
 
208
  add_submenu_page(
209
  'happyforms',
210
- __( 'Activity', 'happyforms' ),
211
- __( 'Activity', 'happyforms' ),
212
  apply_filters( 'happyforms_responses_page_capabilities', 'manage_options' ),
213
  apply_filters( 'happyforms_responses_page_url', '#responses' ),
214
  apply_filters( 'happyforms_responses_page_method', '' )
135
 
136
  public function hide_legacy_form_widget( $widget_types ) {
137
  $widget_types[] = 'happyforms_widget';
138
+
139
  return $widget_types;
140
  }
141
 
207
 
208
  add_submenu_page(
209
  'happyforms',
210
+ __( 'Submissions', 'happyforms' ),
211
+ __( 'Submissions', 'happyforms' ),
212
  apply_filters( 'happyforms_responses_page_capabilities', 'manage_options' ),
213
  apply_filters( 'happyforms_responses_page_url', '#responses' ),
214
  apply_filters( 'happyforms_responses_page_method', '' )
core/helpers/helper-misc.php CHANGED
@@ -11,7 +11,7 @@ if ( ! function_exists( 'happyforms_get_part_label' ) ):
11
  * @return string
12
  */
13
  function happyforms_get_part_label( $part_data ) {
14
- return ! empty( $part_data['label'] ) ? $part_data['label'] : $part_data['id'];
15
  }
16
 
17
  endif;
@@ -672,7 +672,7 @@ endif;
672
  if ( ! function_exists( 'happyforms_get_message_title' ) ):
673
 
674
  function happyforms_get_message_title( $message_id ) {
675
- $title = sprintf( __( 'Response #%s', 'happyforms' ), $message_id );
676
 
677
  return $title;
678
  }
@@ -998,7 +998,7 @@ if ( ! function_exists( 'happyforms_is_admin_screen' ) ):
998
 
999
  function happyforms_is_admin_screen( $id = '' ) {
1000
  $current_screen = get_current_screen();
1001
-
1002
  if ( ! $current_screen ) {
1003
  return false;
1004
  }
@@ -1100,4 +1100,4 @@ function happyforms_shuffle_array( $array, $seed = '' ) {
1100
  return $shuffled;
1101
  }
1102
 
1103
- endif;
11
  * @return string
12
  */
13
  function happyforms_get_part_label( $part_data ) {
14
+ return ( '' !== $part_data['label'] ) ? $part_data['label'] : $part_data['id'];
15
  }
16
 
17
  endif;
672
  if ( ! function_exists( 'happyforms_get_message_title' ) ):
673
 
674
  function happyforms_get_message_title( $message_id ) {
675
+ $title = sprintf( __( 'Submission #%s', 'happyforms' ), $message_id );
676
 
677
  return $title;
678
  }
998
 
999
  function happyforms_is_admin_screen( $id = '' ) {
1000
  $current_screen = get_current_screen();
1001
+
1002
  if ( ! $current_screen ) {
1003
  return false;
1004
  }
1100
  return $shuffled;
1101
  }
1102
 
1103
+ endif;
core/templates/customize-form-steps.php CHANGED
@@ -2,8 +2,8 @@
2
  <nav class="nav-tab-wrapper">
3
  <a href="#" class="nav-tab<%= ( 'build' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="build"><?php _e( 'Build', 'happyforms' ); ?></a>
4
  <a href="#" class="nav-tab<%= ( 'setup' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="setup"><?php _e( 'Setup', 'happyforms' ); ?></a>
5
- <a href="#" class="nav-tab<%= ( 'email' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="email"><?php _e( 'Email', 'happyforms' ); ?></a>
6
  <a href="#" class="nav-tab<%= ( 'messages' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="messages"><?php _e( 'Messages', 'happyforms' ); ?></a>
7
- <a href="#" class="nav-tab<%= ( 'style' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="style"><?php _e( 'Style', 'happyforms' ); ?></a>
8
  </nav>
9
  </script>
2
  <nav class="nav-tab-wrapper">
3
  <a href="#" class="nav-tab<%= ( 'build' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="build"><?php _e( 'Build', 'happyforms' ); ?></a>
4
  <a href="#" class="nav-tab<%= ( 'setup' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="setup"><?php _e( 'Setup', 'happyforms' ); ?></a>
5
+ <a href="#" class="nav-tab<%= ( 'email' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="email"><?php _e( 'Emails', 'happyforms' ); ?></a>
6
  <a href="#" class="nav-tab<%= ( 'messages' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="messages"><?php _e( 'Messages', 'happyforms' ); ?></a>
7
+ <a href="#" class="nav-tab<%= ( 'style' === happyForms.currentRoute ) ? ' nav-tab-active' : '' %>" data-step="style"><?php _e( 'Styles', 'happyforms' ); ?></a>
8
  </nav>
9
  </script>
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
- * Version: 1.15.4
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
@@ -22,7 +22,7 @@ if ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) {
22
  /**
23
  * The current version of the plugin.
24
  */
25
- define( 'HAPPYFORMS_VERSION', '1.15.4' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
+ * Version: 1.16.0
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
22
  /**
23
  * The current version of the plugin.
24
  */
25
+ define( 'HAPPYFORMS_VERSION', '1.16.0' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
inc/classes/class-happyforms.php CHANGED
@@ -49,9 +49,6 @@ class HappyForms extends HappyForms_Core {
49
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-date-dummy.php' );
50
  $part_library->register_part( 'HappyForms_Part_Date_Dummy', 12 );
51
 
52
- require_once( happyforms_get_include_folder() . '/classes/parts/class-part-address-dummy.php' );
53
- $part_library->register_part( 'HappyForms_Part_Address_Dummy', 13 );
54
-
55
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-scale-dummy.php' );
56
  $part_library->register_part( 'HappyForms_Part_Scale_Dummy', 14 );
57
 
@@ -85,11 +82,14 @@ class HappyForms extends HappyForms_Core {
85
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-media-dummy.php' );
86
  $part_library->register_part( 'HappyForms_Part_Media_Dummy', 28 );
87
 
 
 
 
88
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-divider-dummy.php' );
89
- $part_library->register_part( 'HappyForms_Part_Divider_Dummy', 29 );
90
 
91
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-page-break-dummy.php' );
92
- $part_library->register_part( 'HappyForms_Part_PageBreak_Dummy', 30 );
93
 
94
  require_once( happyforms_get_include_folder() . '/classes/class-answer-limiter-dummy.php' );
95
  }
@@ -123,13 +123,13 @@ class HappyForms extends HappyForms_Core {
123
  $controls[1655] = array(
124
  'type' => 'checkbox_dummy',
125
  'dummy_id' => 'allow_abandoned_resume',
126
- 'label' => __( 'Let respondents save a draft submission and come back to it later', 'happyforms' ),
127
  );
128
 
129
  $controls[1800] = array(
130
  'type' => 'checkbox_dummy',
131
  'dummy_id' => 'preview_before_submit',
132
- 'label' => __( 'Require respondents to review a submission before submitting', 'happyforms' ),
133
  );
134
 
135
  $controls[2301] = array(
@@ -141,13 +141,13 @@ class HappyForms extends HappyForms_Core {
141
  $controls[3190] = array(
142
  'type' => 'number_dummy',
143
  'dummy_id' => 'delete_submission_days',
144
- 'label' => __( "Erase respondent's personal data after set number of days", 'happyforms' ),
145
  );
146
 
147
  $controls[3191] = array(
148
  'type' => 'checkbox_dummy',
149
  'dummy_id' => 'save_submissions',
150
- 'label' => __( 'Capture user metadata (IP, language, platform, time and timezone)', 'happyforms' ),
151
  );
152
 
153
  $controls[3200] = array(
@@ -363,7 +363,7 @@ class HappyForms extends HappyForms_Core {
363
  } );
364
 
365
  } )( jQuery );
366
-
367
  <?php
368
  $script = ob_get_clean();
369
 
49
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-date-dummy.php' );
50
  $part_library->register_part( 'HappyForms_Part_Date_Dummy', 12 );
51
 
 
 
 
52
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-scale-dummy.php' );
53
  $part_library->register_part( 'HappyForms_Part_Scale_Dummy', 14 );
54
 
82
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-media-dummy.php' );
83
  $part_library->register_part( 'HappyForms_Part_Media_Dummy', 28 );
84
 
85
+ require_once( happyforms_get_include_folder() . '/classes/parts/class-part-toggletip-dummy.php' );
86
+ $part_library->register_part( 'HappyForms_Part_Toggletip_Dummy', 29 );
87
+
88
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-divider-dummy.php' );
89
+ $part_library->register_part( 'HappyForms_Part_Divider_Dummy', 30 );
90
 
91
  require_once( happyforms_get_include_folder() . '/classes/parts/class-part-page-break-dummy.php' );
92
+ $part_library->register_part( 'HappyForms_Part_PageBreak_Dummy', 31 );
93
 
94
  require_once( happyforms_get_include_folder() . '/classes/class-answer-limiter-dummy.php' );
95
  }
123
  $controls[1655] = array(
124
  'type' => 'checkbox_dummy',
125
  'dummy_id' => 'allow_abandoned_resume',
126
+ 'label' => __( 'Let submitters save a draft and come back to it later', 'happyforms' ),
127
  );
128
 
129
  $controls[1800] = array(
130
  'type' => 'checkbox_dummy',
131
  'dummy_id' => 'preview_before_submit',
132
+ 'label' => __( 'Require submitters to review a submission', 'happyforms' ),
133
  );
134
 
135
  $controls[2301] = array(
141
  $controls[3190] = array(
142
  'type' => 'number_dummy',
143
  'dummy_id' => 'delete_submission_days',
144
+ 'label' => __( "Erase submitter's personal data after set number of days", 'happyforms' ),
145
  );
146
 
147
  $controls[3191] = array(
148
  'type' => 'checkbox_dummy',
149
  'dummy_id' => 'save_submissions',
150
+ 'label' => __( "Capture submitter's metadata (IP, language, platform, time and timezone)", 'happyforms' ),
151
  );
152
 
153
  $controls[3200] = array(
363
  } );
364
 
365
  } )( jQuery );
366
+
367
  <?php
368
  $script = ob_get_clean();
369
 
inc/classes/class-message-admin.php CHANGED
@@ -12,7 +12,7 @@ class HappyForms_Message_Admin {
12
  private static $instance;
13
 
14
  /**
15
- * The dummy post type for activity screen.
16
  *
17
  * @since 1.13.0
18
  *
@@ -57,7 +57,7 @@ class HappyForms_Message_Admin {
57
  $columns = array( 'cb' => $cb_column );
58
 
59
  $columns['submission'] = __( 'Submission', 'happyforms' );
60
- $columns['form'] = __( 'In Response to', 'happyforms' );
61
  $columns['datetime'] = __( 'Submitted on', 'happyforms' );
62
 
63
  return $columns;
12
  private static $instance;
13
 
14
  /**
15
+ * The dummy post type for submissions screen.
16
  *
17
  * @since 1.13.0
18
  *
57
  $columns = array( 'cb' => $cb_column );
58
 
59
  $columns['submission'] = __( 'Submission', 'happyforms' );
60
+ $columns['form'] = __( 'Submitted to', 'happyforms' );
61
  $columns['datetime'] = __( 'Submitted on', 'happyforms' );
62
 
63
  return $columns;
inc/classes/class-message-controller.php CHANGED
@@ -558,11 +558,11 @@ class HappyForms_Message_Controller {
558
 
559
  public function register_dummy_post_type() {
560
  $labels = array(
561
- 'name' => __( 'Activity', 'happyforms' ),
562
- 'singular_name' => __( 'Activity', 'happyforms' ),
563
- 'all_items' => __( 'All Activity', 'happyforms' ),
564
- 'menu_name' => __( 'All Activity', 'happyforms' ),
565
- 'not_found' => __( 'No activity found.', 'happyforms' ),
566
  );
567
 
568
  $args = array(
558
 
559
  public function register_dummy_post_type() {
560
  $labels = array(
561
+ 'name' => __( 'Submissions', 'happyforms' ),
562
+ 'singular_name' => __( 'Submission', 'happyforms' ),
563
+ 'all_items' => __( 'All Submissions', 'happyforms' ),
564
+ 'menu_name' => __( 'All Submissions', 'happyforms' ),
565
+ 'not_found' => __( 'No submissions found.', 'happyforms' ),
566
  );
567
 
568
  $args = array(
inc/classes/parts/class-part-address-dummy.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- class HappyForms_Part_Address_Dummy extends HappyForms_Form_Part {
4
-
5
- public $type = 'address_dummy';
6
-
7
- public function __construct() {
8
- $this->label = __( 'Address', 'happyforms' );
9
- $this->description = __( 'For geographical locations. Includes Google Maps intergration.', 'happyforms' );
10
- }
11
-
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
inc/classes/parts/class-part-toggletip-dummy.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class HappyForms_Part_Toggletip_Dummy extends HappyForms_Form_Part {
4
+
5
+ public $type = 'toggletip_dummy';
6
+
7
+ public function __construct() {
8
+ $this->label = __( 'Toggletip', 'happyforms' );
9
+ $this->description = __( 'For letting submitters reveal more information as they need it.', 'happyforms' );
10
+ }
11
+
12
+ }
integrations/classes/class-integrations-page-controller.php CHANGED
@@ -34,8 +34,6 @@ class HappyForms_Integrations_Page_Controller {
34
  [ 'id' => 'sendgrid', 'label' => __( 'SendGrid', 'happyforms' ), 'context' => 'normal' ],
35
  [ 'id' => 'sendinblue', 'label' => __( 'Sendinblue', 'happyforms' ), 'context' => 'normal' ],
36
  [ 'id' => 'recaptcha', 'label' => __( 'reCAPTCHA', 'happyforms' ), 'context' => 'side' ],
37
- [ 'id' => 'google-places', 'label' => __( 'Google Places', 'happyforms' ), 'context' => 'side' ],
38
- [ 'id' => 'google-geocoding', 'label' => __( 'Google Geocoding', 'happyforms' ), 'context' => 'side' ],
39
  [ 'id' => 'stripe', 'label' => __( 'Stripe', 'happyforms' ), 'context' => 'side' ],
40
  [ 'id' => 'paypal', 'label' => __( 'PayPal', 'happyforms' ), 'context' => 'side' ],
41
  [ 'id' => 'zapier', 'label' => __( 'Zapier', 'happyforms' ), 'context' => 'column3' ],
34
  [ 'id' => 'sendgrid', 'label' => __( 'SendGrid', 'happyforms' ), 'context' => 'normal' ],
35
  [ 'id' => 'sendinblue', 'label' => __( 'Sendinblue', 'happyforms' ), 'context' => 'normal' ],
36
  [ 'id' => 'recaptcha', 'label' => __( 'reCAPTCHA', 'happyforms' ), 'context' => 'side' ],
 
 
37
  [ 'id' => 'stripe', 'label' => __( 'Stripe', 'happyforms' ), 'context' => 'side' ],
38
  [ 'id' => 'paypal', 'label' => __( 'PayPal', 'happyforms' ), 'context' => 'side' ],
39
  [ 'id' => 'zapier', 'label' => __( 'Zapier', 'happyforms' ), 'context' => 'column3' ],
languages/happyforms.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Happyforms (free) 1.15.4\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-06-13T07:21:30+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: happyforms\n"
@@ -203,7 +203,7 @@ msgid "Email subject"
203
  msgstr ""
204
 
205
  #: core/classes/class-form-email.php:139
206
- msgid "Email respondent a copy of their submission"
207
  msgstr ""
208
 
209
  #: core/classes/class-form-email.php:168
@@ -269,7 +269,7 @@ msgid "Alerts"
269
  msgstr ""
270
 
271
  #: core/classes/class-form-messages.php:93
272
- msgid "These messages are shown to respondents at the very top of the form to communicate the form’s status."
273
  msgstr ""
274
 
275
  #: core/classes/class-form-messages.php:103
@@ -277,7 +277,7 @@ msgid "Buttons"
277
  msgstr ""
278
 
279
  #: core/classes/class-form-messages.php:104
280
- msgid "The messages are shown to respondents as they fill out the form to help them trigger an action."
281
  msgstr ""
282
 
283
  #: core/classes/class-form-messages.php:113
@@ -285,7 +285,7 @@ msgid "Errors"
285
  msgstr ""
286
 
287
  #: core/classes/class-form-messages.php:114
288
- msgid "These messages are shown to respondents when they try to submit their reply but one or more fields has a mistake."
289
  msgstr ""
290
 
291
  #: core/classes/class-form-messages.php:123
@@ -293,7 +293,7 @@ msgid "Hints"
293
  msgstr ""
294
 
295
  #: core/classes/class-form-messages.php:124
296
- msgid "These messages are shown to respondents as they fill out the form to help them avoid mistakes."
297
  msgstr ""
298
 
299
  #: core/classes/class-form-messages.php:131
@@ -353,11 +353,11 @@ msgid "Validate your submission"
353
  msgstr ""
354
 
355
  #: core/classes/class-form-setup.php:133
356
- msgid "Thank you. Your reply has been sent."
357
  msgstr ""
358
 
359
  #: core/classes/class-form-setup.php:137
360
- msgid "Bummer. We can't submit your reply. Please check for mistakes."
361
  msgstr ""
362
 
363
  #: core/classes/class-form-setup.php:141
@@ -791,7 +791,7 @@ msgid "Even row secondary"
791
  msgstr ""
792
 
793
  #: core/classes/class-form-styles.php:826
794
- msgid "Dividers"
795
  msgstr ""
796
 
797
  #: core/classes/class-form-styles.php:831
@@ -834,8 +834,7 @@ msgstr ""
834
  #: core/classes/class-happyforms-core.php:210
835
  #: core/classes/class-happyforms-core.php:211
836
  #: inc/classes/class-message-controller.php:561
837
- #: inc/classes/class-message-controller.php:562
838
- msgid "Activity"
839
  msgstr ""
840
 
841
  #: core/classes/class-happyforms-core.php:219
@@ -925,7 +924,6 @@ msgid "Other"
925
  msgstr ""
926
 
927
  #: core/classes/parts/class-part-email.php:8
928
- #: core/templates/customize-form-steps.php:5
929
  msgid "Email"
930
  msgstr ""
931
 
@@ -2086,7 +2084,7 @@ msgid "Zimbabwe"
2086
  msgstr ""
2087
 
2088
  #: core/helpers/helper-misc.php:675
2089
- msgid "Response #%s"
2090
  msgstr ""
2091
 
2092
  #: core/helpers/helper-misc.php:734
@@ -2701,7 +2699,6 @@ msgid "Setup"
2701
  msgstr ""
2702
 
2703
  #: core/templates/customize-form-item.php:24
2704
- #: core/templates/customize-form-steps.php:7
2705
  msgid "Style"
2706
  msgstr ""
2707
 
@@ -2745,10 +2742,18 @@ msgstr ""
2745
  msgid "Build"
2746
  msgstr ""
2747
 
 
 
 
 
2748
  #: core/templates/customize-form-steps.php:6
2749
  msgid "Messages"
2750
  msgstr ""
2751
 
 
 
 
 
2752
  #: core/templates/customize-header-actions.php:5
2753
  msgid "Save"
2754
  msgstr ""
@@ -3007,19 +3012,19 @@ msgid "Save incomplete and abandoned submissions"
3007
  msgstr ""
3008
 
3009
  #: inc/classes/class-happyforms.php:126
3010
- msgid "Let respondents save a draft submission and come back to it later"
3011
  msgstr ""
3012
 
3013
  #: inc/classes/class-happyforms.php:132
3014
- msgid "Require respondents to review a submission before submitting"
3015
  msgstr ""
3016
 
3017
  #: inc/classes/class-happyforms.php:144
3018
- msgid "Erase respondent's personal data after set number of days"
3019
  msgstr ""
3020
 
3021
  #: inc/classes/class-happyforms.php:150
3022
- msgid "Capture user metadata (IP, language, platform, time and timezone)"
3023
  msgstr ""
3024
 
3025
  #: inc/classes/class-happyforms.php:156
@@ -3039,11 +3044,12 @@ msgid "Send abandonment email"
3039
  msgstr ""
3040
 
3041
  #: inc/classes/class-message-admin.php:59
 
3042
  msgid "Submission"
3043
  msgstr ""
3044
 
3045
  #: inc/classes/class-message-admin.php:60
3046
- msgid "In Response to"
3047
  msgstr ""
3048
 
3049
  #: inc/classes/class-message-admin.php:61
@@ -3068,19 +3074,11 @@ msgstr ""
3068
 
3069
  #: inc/classes/class-message-controller.php:563
3070
  #: inc/classes/class-message-controller.php:564
3071
- msgid "All Activity"
3072
  msgstr ""
3073
 
3074
  #: inc/classes/class-message-controller.php:565
3075
- msgid "No activity found."
3076
- msgstr ""
3077
-
3078
- #: inc/classes/parts/class-part-address-dummy.php:8
3079
- msgid "Address"
3080
- msgstr ""
3081
-
3082
- #: inc/classes/parts/class-part-address-dummy.php:9
3083
- msgid "For geographical locations. Includes Google Maps intergration."
3084
  msgstr ""
3085
 
3086
  #: inc/classes/parts/class-part-attachment-dummy.php:8
@@ -3215,6 +3213,14 @@ msgstr ""
3215
  msgid "For displaying personal honorifics."
3216
  msgstr ""
3217
 
 
 
 
 
 
 
 
 
3218
  #: inc/classes/parts/class-part-website-url-dummy.php:8
3219
  msgid "Website"
3220
  msgstr ""
@@ -3268,34 +3274,26 @@ msgid "reCAPTCHA"
3268
  msgstr ""
3269
 
3270
  #: integrations/classes/class-integrations-page-controller.php:37
3271
- msgid "Google Places"
3272
- msgstr ""
3273
-
3274
- #: integrations/classes/class-integrations-page-controller.php:38
3275
- msgid "Google Geocoding"
3276
- msgstr ""
3277
-
3278
- #: integrations/classes/class-integrations-page-controller.php:39
3279
  msgid "Stripe"
3280
  msgstr ""
3281
 
3282
- #: integrations/classes/class-integrations-page-controller.php:40
3283
  msgid "PayPal"
3284
  msgstr ""
3285
 
3286
- #: integrations/classes/class-integrations-page-controller.php:41
3287
  msgid "Zapier"
3288
  msgstr ""
3289
 
3290
- #: integrations/classes/class-integrations-page-controller.php:42
3291
  msgid "Integromat"
3292
  msgstr ""
3293
 
3294
- #: integrations/classes/class-integrations-page-controller.php:43
3295
  msgid "Integrately"
3296
  msgstr ""
3297
 
3298
- #: integrations/classes/class-integrations-page-controller.php:44
3299
  msgid "Google Analytics"
3300
  msgstr ""
3301
 
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Happyforms (free) 1.16.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-06-30T07:08:40+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: happyforms\n"
203
  msgstr ""
204
 
205
  #: core/classes/class-form-email.php:139
206
+ msgid "Email submitter a copy of their reply"
207
  msgstr ""
208
 
209
  #: core/classes/class-form-email.php:168
269
  msgstr ""
270
 
271
  #: core/classes/class-form-messages.php:93
272
+ msgid "These messages are shown to submitters at the very top of the form to communicate the form’s status."
273
  msgstr ""
274
 
275
  #: core/classes/class-form-messages.php:103
277
  msgstr ""
278
 
279
  #: core/classes/class-form-messages.php:104
280
+ msgid "These messages are shown to submitters as they fill out the form to help them trigger an action."
281
  msgstr ""
282
 
283
  #: core/classes/class-form-messages.php:113
285
  msgstr ""
286
 
287
  #: core/classes/class-form-messages.php:114
288
+ msgid "These messages are shown to submitters when they try to submit but one or more fields has a mistake."
289
  msgstr ""
290
 
291
  #: core/classes/class-form-messages.php:123
293
  msgstr ""
294
 
295
  #: core/classes/class-form-messages.php:124
296
+ msgid "These messages are shown to submitters as they fill out the form to help them avoid mistakes."
297
  msgstr ""
298
 
299
  #: core/classes/class-form-messages.php:131
353
  msgstr ""
354
 
355
  #: core/classes/class-form-setup.php:133
356
+ msgid "Thank you. Your submission has been sent."
357
  msgstr ""
358
 
359
  #: core/classes/class-form-setup.php:137
360
+ msgid "Bummer. The form can't be submitted. Please check for mistakes."
361
  msgstr ""
362
 
363
  #: core/classes/class-form-setup.php:141
791
  msgstr ""
792
 
793
  #: core/classes/class-form-styles.php:826
794
+ msgid "Separators"
795
  msgstr ""
796
 
797
  #: core/classes/class-form-styles.php:831
834
  #: core/classes/class-happyforms-core.php:210
835
  #: core/classes/class-happyforms-core.php:211
836
  #: inc/classes/class-message-controller.php:561
837
+ msgid "Submissions"
 
838
  msgstr ""
839
 
840
  #: core/classes/class-happyforms-core.php:219
924
  msgstr ""
925
 
926
  #: core/classes/parts/class-part-email.php:8
 
927
  msgid "Email"
928
  msgstr ""
929
 
2084
  msgstr ""
2085
 
2086
  #: core/helpers/helper-misc.php:675
2087
+ msgid "Submission #%s"
2088
  msgstr ""
2089
 
2090
  #: core/helpers/helper-misc.php:734
2699
  msgstr ""
2700
 
2701
  #: core/templates/customize-form-item.php:24
 
2702
  msgid "Style"
2703
  msgstr ""
2704
 
2742
  msgid "Build"
2743
  msgstr ""
2744
 
2745
+ #: core/templates/customize-form-steps.php:5
2746
+ msgid "Emails"
2747
+ msgstr ""
2748
+
2749
  #: core/templates/customize-form-steps.php:6
2750
  msgid "Messages"
2751
  msgstr ""
2752
 
2753
+ #: core/templates/customize-form-steps.php:7
2754
+ msgid "Styles"
2755
+ msgstr ""
2756
+
2757
  #: core/templates/customize-header-actions.php:5
2758
  msgid "Save"
2759
  msgstr ""
3012
  msgstr ""
3013
 
3014
  #: inc/classes/class-happyforms.php:126
3015
+ msgid "Let submitters save a draft and come back to it later"
3016
  msgstr ""
3017
 
3018
  #: inc/classes/class-happyforms.php:132
3019
+ msgid "Require submitters to review a submission"
3020
  msgstr ""
3021
 
3022
  #: inc/classes/class-happyforms.php:144
3023
+ msgid "Erase submitter's personal data after set number of days"
3024
  msgstr ""
3025
 
3026
  #: inc/classes/class-happyforms.php:150
3027
+ msgid "Capture submitter's metadata (IP, language, platform, time and timezone)"
3028
  msgstr ""
3029
 
3030
  #: inc/classes/class-happyforms.php:156
3044
  msgstr ""
3045
 
3046
  #: inc/classes/class-message-admin.php:59
3047
+ #: inc/classes/class-message-controller.php:562
3048
  msgid "Submission"
3049
  msgstr ""
3050
 
3051
  #: inc/classes/class-message-admin.php:60
3052
+ msgid "Submitted to"
3053
  msgstr ""
3054
 
3055
  #: inc/classes/class-message-admin.php:61
3074
 
3075
  #: inc/classes/class-message-controller.php:563
3076
  #: inc/classes/class-message-controller.php:564
3077
+ msgid "All Submissions"
3078
  msgstr ""
3079
 
3080
  #: inc/classes/class-message-controller.php:565
3081
+ msgid "No submissions found."
 
 
 
 
 
 
 
 
3082
  msgstr ""
3083
 
3084
  #: inc/classes/parts/class-part-attachment-dummy.php:8
3213
  msgid "For displaying personal honorifics."
3214
  msgstr ""
3215
 
3216
+ #: inc/classes/parts/class-part-toggletip-dummy.php:8
3217
+ msgid "Toggletip"
3218
+ msgstr ""
3219
+
3220
+ #: inc/classes/parts/class-part-toggletip-dummy.php:9
3221
+ msgid "For letting submitters reveal more information as they need it."
3222
+ msgstr ""
3223
+
3224
  #: inc/classes/parts/class-part-website-url-dummy.php:8
3225
  msgid "Website"
3226
  msgstr ""
3274
  msgstr ""
3275
 
3276
  #: integrations/classes/class-integrations-page-controller.php:37
 
 
 
 
 
 
 
 
3277
  msgid "Stripe"
3278
  msgstr ""
3279
 
3280
+ #: integrations/classes/class-integrations-page-controller.php:38
3281
  msgid "PayPal"
3282
  msgstr ""
3283
 
3284
+ #: integrations/classes/class-integrations-page-controller.php:39
3285
  msgid "Zapier"
3286
  msgstr ""
3287
 
3288
+ #: integrations/classes/class-integrations-page-controller.php:40
3289
  msgid "Integromat"
3290
  msgstr ""
3291
 
3292
+ #: integrations/classes/class-integrations-page-controller.php:41
3293
  msgid "Integrately"
3294
  msgstr ""
3295
 
3296
+ #: integrations/classes/class-integrations-page-controller.php:42
3297
  msgid "Google Analytics"
3298
  msgstr ""
3299
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: contact form, contact form plugin, forms, form builder, custom form, intak
5
  Requires at least: 5.0
6
  Tested up to: 6.0
7
  Requires PHP: 7.0
8
- Stable tag: 1.15.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -145,6 +145,10 @@ Aw, honestly, the thought that you're writing about our contact form builder is
145
 
146
  == Changelog ==
147
 
 
 
 
 
148
  = 1.15.4 =
149
  * New feature: "To email address" control under "Email me a copy of each submission" allows for more granular control of email settings.
150
  * New feature: "Reply email address" control under "Email me a copy of each submission" for easier exchanges with submitting users.
@@ -944,6 +948,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
944
 
945
  == Upgrade Notice ==
946
 
 
 
 
947
  = 1.15.4 =
948
  * New email controls, redesigned choice interface, miscellaneous improvements and bugfixes.
949
 
5
  Requires at least: 5.0
6
  Tested up to: 6.0
7
  Requires PHP: 7.0
8
+ Stable tag: 1.16.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
145
 
146
  == Changelog ==
147
 
148
+ = 1.16.0 =
149
+ * Improvement: Reworded dashboard and builder labels to improve usability.
150
+ * Improvement: Empty labels in emails now won't result in excessive whitespace.
151
+
152
  = 1.15.4 =
153
  * New feature: "To email address" control under "Email me a copy of each submission" allows for more granular control of email settings.
154
  * New feature: "Reply email address" control under "Email me a copy of each submission" for easier exchanges with submitting users.
948
 
949
  == Upgrade Notice ==
950
 
951
+ = 1.16.0 =
952
+ * Better rendering of empty labels in emails, improved wording.
953
+
954
  = 1.15.4 =
955
  * New email controls, redesigned choice interface, miscellaneous improvements and bugfixes.
956