Formidable Forms – Form Builder for WordPress - Version 4.03.02

Version Description

  • Add 'frm_form_object' hook run when a form is fetched from the database.
  • Include more education about field types, including the new Appointments field.
  • Fix: Dropdown fields weren't saving HTML values correctly.
Download this release

Release Info

Developer sswells
Plugin Icon 128x128 Formidable Forms – Form Builder for WordPress
Version 4.03.02
Comparing to
See all releases

Code changes from version 4.03.01 to 4.03.02

classes/controllers/FrmAppController.php CHANGED
@@ -253,6 +253,8 @@ class FrmAppController {
253
  'medium' => 'builder',
254
  'content' => 'upgrade',
255
  );
 
 
256
  include( FrmAppHelper::plugin_path() . '/classes/views/shared/upgrade_overlay.php' );
257
 
258
  include( FrmAppHelper::plugin_path() . '/classes/views/shared/confirm-overlay.php' );
253
  'medium' => 'builder',
254
  'content' => 'upgrade',
255
  );
256
+ $default_link = FrmAppHelper::admin_upgrade_link( $upgrade_link );
257
+
258
  include( FrmAppHelper::plugin_path() . '/classes/views/shared/upgrade_overlay.php' );
259
 
260
  include( FrmAppHelper::plugin_path() . '/classes/views/shared/confirm-overlay.php' );
classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '4.03.01';
15
 
16
  /**
17
  * @since 1.07.02
@@ -110,7 +110,8 @@ class FrmAppHelper {
110
  $query_args['f'] = $args['param'];
111
  }
112
 
113
- return add_query_arg( $query_args, $page ) . $anchor;
 
114
  }
115
 
116
  /**
@@ -164,6 +165,29 @@ class FrmAppHelper {
164
  echo self::kses( self::svg_logo( $atts ), 'all' ); // WPCS: XSS ok.
165
  }
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  /**
168
  * @since 2.02.04
169
  */
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '4.03.02';
15
 
16
  /**
17
  * @since 1.07.02
110
  $query_args['f'] = $args['param'];
111
  }
112
 
113
+ $link = add_query_arg( $query_args, $page ) . $anchor;
114
+ return self::make_affiliate_url( $link );
115
  }
116
 
117
  /**
165
  echo self::kses( self::svg_logo( $atts ), 'all' ); // WPCS: XSS ok.
166
  }
167
 
168
+ /**
169
+ * @since 4.03.02
170
+ */
171
+ public static function show_header_logo() {
172
+ $icon = self::svg_logo(
173
+ array(
174
+ 'height' => 35,
175
+ 'width' => 35,
176
+ )
177
+ );
178
+
179
+ $new_icon = apply_filters( 'frm_icon', $icon, true );
180
+ if ( $new_icon !== $icon ) {
181
+ if ( strpos( $new_icon, '<svg' ) === 0 ) {
182
+ $icon = str_replace( 'viewBox="0 0 20', 'width="30" height="35" style="color:#929699" viewBox="0 0 20', $new_icon );
183
+ } else {
184
+ // Show nothing if it isn't an SVG.
185
+ $icon = '<div style="height:39px"></div>';
186
+ }
187
+ }
188
+ echo self::kses( $icon, 'all' ); // WPCS: XSS ok.
189
+ }
190
+
191
  /**
192
  * @since 2.02.04
193
  */
classes/helpers/FrmTipsHelper.php CHANGED
@@ -21,7 +21,7 @@ class FrmTipsHelper {
21
  $tip['link']['medium'] = 'tip';
22
  }
23
 
24
- $link = FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( $tip['link'], $tip['page'] ) );
25
  ?>
26
  <a href="<?php echo esc_url( $link ); ?>" target="_blank" class="frm_pro_tip">
27
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_star_full_icon', array( 'aria-hidden' => 'true' ) ); ?>
21
  $tip['link']['medium'] = 'tip';
22
  }
23
 
24
+ $link = FrmAppHelper::admin_upgrade_link( $tip['link'], $tip['page'] );
25
  ?>
26
  <a href="<?php echo esc_url( $link ); ?>" target="_blank" class="frm_pro_tip">
27
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_star_full_icon', array( 'aria-hidden' => 'true' ) ); ?>
classes/models/FrmEntryValues.php CHANGED
@@ -267,7 +267,7 @@ class FrmEntryValues {
267
  * @return bool
268
  */
269
  protected function is_field_in_array( $field, $array ) {
270
- return in_array( $field->id, $array ) || in_array( $field->field_key, $array );
271
  }
272
 
273
  /**
267
  * @return bool
268
  */
269
  protected function is_field_in_array( $field, $array ) {
270
+ return in_array( $field->id, $array ) || in_array( (string) $field->field_key, $array, true );
271
  }
272
 
273
  /**
classes/models/FrmField.php CHANGED
@@ -72,6 +72,7 @@ class FrmField {
72
  'file' => array(
73
  'name' => __( 'File Upload', 'formidable' ),
74
  'icon' => 'frm_icon_font frm_upload_icon',
 
75
  ),
76
  'rte' => array(
77
  'name' => __( 'Rich Text', 'formidable' ),
@@ -88,6 +89,7 @@ class FrmField {
88
  'scale' => array(
89
  'name' => __( 'Scale', 'formidable' ),
90
  'icon' => 'frm_icon_font frm_linear_scale_icon',
 
91
  ),
92
  'star' => array(
93
  'name' => __( 'Star Rating', 'formidable' ),
@@ -104,14 +106,17 @@ class FrmField {
104
  'data' => array(
105
  'name' => __( 'Dynamic', 'formidable' ),
106
  'icon' => 'frm_icon_font frm_sitemap_icon',
 
107
  ),
108
  'lookup' => array(
109
  'name' => __( 'Lookup', 'formidable' ),
110
  'icon' => 'frm_icon_font frm_search_icon',
 
111
  ),
112
  'divider|repeat' => array(
113
  'name' => __( 'Repeater', 'formidable' ),
114
  'icon' => 'frm_icon_font frm_repeater_icon',
 
115
  ),
116
  'end_divider' => array(
117
  'name' => __( 'Section Buttons', 'formidable' ),
@@ -124,6 +129,7 @@ class FrmField {
124
  'break' => array(
125
  'name' => __( 'Page Break', 'formidable' ),
126
  'icon' => 'frm_icon_font frm_page_break_icon',
 
127
  ),
128
  'form' => array(
129
  'name' => __( 'Embed Form', 'formidable' ),
@@ -146,6 +152,11 @@ class FrmField {
146
  'name' => __( 'Address', 'formidable' ),
147
  'icon' => 'frm_icon_font frm_location_icon',
148
  ),
 
 
 
 
 
149
  'signature' => array(
150
  'name' => __( 'Signature', 'formidable' ),
151
  'icon' => 'frm_icon_font frm_signature_icon frm_show_upgrade',
@@ -156,9 +167,13 @@ class FrmField {
156
  'icon' => 'frm_icon_font frm_percent_icon frm_show_upgrade',
157
  'addon' => 'quizzes',
158
  ),
159
- 'summary' => array(
160
- 'name' => __( 'Summary', 'formidable' ),
161
- 'icon' => 'frm_icon_font frm_file_text_icon',
 
 
 
 
162
  ),
163
  );
164
 
72
  'file' => array(
73
  'name' => __( 'File Upload', 'formidable' ),
74
  'icon' => 'frm_icon_font frm_upload_icon',
75
+ 'message' => 'Add file uploads to save time and cut down on back-and-forth. Upgrade to Pro to get Upload fields and more.',
76
  ),
77
  'rte' => array(
78
  'name' => __( 'Rich Text', 'formidable' ),
89
  'scale' => array(
90
  'name' => __( 'Scale', 'formidable' ),
91
  'icon' => 'frm_icon_font frm_linear_scale_icon',
92
+ 'message' => 'Add a set of radio buttons with whatever range you choose. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/scale_field.png" alt="Scale Field" />',
93
  ),
94
  'star' => array(
95
  'name' => __( 'Star Rating', 'formidable' ),
106
  'data' => array(
107
  'name' => __( 'Dynamic', 'formidable' ),
108
  'icon' => 'frm_icon_font frm_sitemap_icon',
109
+ 'message' => 'Create relationships between multiple forms. You can link a member to a team, a rating to a product, a comment to a submission, and much more.',
110
  ),
111
  'lookup' => array(
112
  'name' => __( 'Lookup', 'formidable' ),
113
  'icon' => 'frm_icon_font frm_search_icon',
114
+ 'message' => 'Filter the options in the next field and automatically add values to other fields. Upgrade to Pro to get Lookup fields and more. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/look-up_year-make-model.gif" alt="cascading lookup fields" />',
115
  ),
116
  'divider|repeat' => array(
117
  'name' => __( 'Repeater', 'formidable' ),
118
  'icon' => 'frm_icon_font frm_repeater_icon',
119
+ 'message' => 'Allow your visitors to add new sets of fields while filling out forms. Increase conversions while saving building time and server resources. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/repeatable-section_frontend.gif" alt="Dynamically Add Form Fields with repeatable sections" />',
120
  ),
121
  'end_divider' => array(
122
  'name' => __( 'Section Buttons', 'formidable' ),
129
  'break' => array(
130
  'name' => __( 'Page Break', 'formidable' ),
131
  'icon' => 'frm_icon_font frm_page_break_icon',
132
+ 'message' => 'Get multi-paged forms with progress bars. Did you know you can upgrade to PRO to unlock multi-step forms with more awesome features?',
133
  ),
134
  'form' => array(
135
  'name' => __( 'Embed Form', 'formidable' ),
152
  'name' => __( 'Address', 'formidable' ),
153
  'icon' => 'frm_icon_font frm_location_icon',
154
  ),
155
+ 'summary' => array(
156
+ 'name' => __( 'Summary', 'formidable' ),
157
+ 'icon' => 'frm_icon_font frm_file_text_icon',
158
+ 'message' => 'Allow visitors to review their responses before a form is submitted. Upgrade to Pro to get Summary fields and more.',
159
+ ),
160
  'signature' => array(
161
  'name' => __( 'Signature', 'formidable' ),
162
  'icon' => 'frm_icon_font frm_signature_icon frm_show_upgrade',
167
  'icon' => 'frm_icon_font frm_percent_icon frm_show_upgrade',
168
  'addon' => 'quizzes',
169
  ),
170
+ 'ssa-appointment' => array(
171
+ 'name' => __( 'Appointment', 'formidable' ),
172
+ 'icon' => 'frm_icon_font frm_calendar_icon frm_show_upgrade',
173
+ 'require' => 'Simply Schedule Appointments',
174
+ 'message' => 'Appointment fields are an integration with <a href="https://simplyscheduleappointments.com/meet/formidable/">Simply Schedule Appointments</a>. Get started now to schedule appointments directly from your forms.
175
+ <img src="https://s3.amazonaws.com/fp.strategy11.com/images/appointments/appointments.png" alt="Scheduling" />',
176
+ 'link' => 'https://simplyscheduleappointments.com/meet/formidable/',
177
  ),
178
  );
179
 
classes/models/FrmForm.php CHANGED
@@ -589,7 +589,7 @@ class FrmForm {
589
  FrmAppHelper::unserialize_or_decode( $results->options );
590
  }
591
 
592
- return wp_unslash( $results );
593
  }
594
 
595
  /**
589
  FrmAppHelper::unserialize_or_decode( $results->options );
590
  }
591
 
592
+ return apply_filters( 'frm_form_object', wp_unslash( $results ) );
593
  }
594
 
595
  /**
classes/models/fields/FrmFieldSelect.php CHANGED
@@ -74,11 +74,4 @@ class FrmFieldSelect extends FrmFieldType {
74
 
75
  return $value;
76
  }
77
-
78
- /**
79
- * @since 4.0.04
80
- */
81
- public function sanitize_value( &$value ) {
82
- FrmAppHelper::sanitize_value( 'sanitize_text_field', $value );
83
- }
84
  }
74
 
75
  return $value;
76
  }
 
 
 
 
 
 
 
77
  }
classes/views/addons/upgrade_to_pro.php CHANGED
@@ -2,7 +2,7 @@
2
  <h1 class="frm_pro_heading">
3
  <img src="<?php echo esc_url( FrmAppHelper::plugin_url() ); ?>/images/logo.png" alt="Upgrade to Pro" />
4
  <span class="alignright">Take on bigger projects, earn more clients and grow your business.<br/>
5
- <a href="<?php echo esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ) ); ?>" target="_blank">Upgrade to Pro</a>.</span>
6
  <span class="clear"></span>
7
  </h1>
8
 
@@ -14,7 +14,7 @@
14
 
15
 
16
  <p class="frmcenter">
17
- <a href="<?php echo esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ) ); ?>" class="button-primary frm-button-primary frm_large" target="_blank">
18
  <?php esc_html_e( 'Get Started Now', 'formidable' ); ?>
19
  </a>
20
  </p>
@@ -71,7 +71,7 @@
71
 
72
  <br/>
73
  <p class="frmcenter">
74
- <a href="<?php echo esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ) ); ?>" class="button-primary frm-button-primary frm_large" target="_blank">
75
  <?php esc_html_e( 'Get Started Now', 'formidable' ); ?>
76
  </a>
77
  </p>
2
  <h1 class="frm_pro_heading">
3
  <img src="<?php echo esc_url( FrmAppHelper::plugin_url() ); ?>/images/logo.png" alt="Upgrade to Pro" />
4
  <span class="alignright">Take on bigger projects, earn more clients and grow your business.<br/>
5
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ); ?>" target="_blank">Upgrade to Pro</a>.</span>
6
  <span class="clear"></span>
7
  </h1>
8
 
14
 
15
 
16
  <p class="frmcenter">
17
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ); ?>" class="button-primary frm-button-primary frm_large" target="_blank">
18
  <?php esc_html_e( 'Get Started Now', 'formidable' ); ?>
19
  </a>
20
  </p>
71
 
72
  <br/>
73
  <p class="frmcenter">
74
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $link_parts ) ); ?>" class="button-primary frm-button-primary frm_large" target="_blank">
75
  <?php esc_html_e( 'Get Started Now', 'formidable' ); ?>
76
  </a>
77
  </p>
classes/views/frm-fields/back-end/smart-values.php CHANGED
@@ -1,5 +1,5 @@
1
  <div class="cta-inside">
2
- <p id="frm-upgrade-message">
3
  <?php
4
  /* translators: %s: Feature name */
5
  $message = __( '%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?', 'formidable' );
@@ -7,7 +7,7 @@
7
  ?>
8
  </p>
9
  <p>
10
- <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $upgrade_link ) ); ?>" class="button button-primary frm-button-primary" target="_blank" rel="noopener noreferrer" id="frm-upgrade-modal-link">
11
  <?php esc_html_e( 'Upgrade to Pro', 'formidable' ); ?>
12
  </a>
13
 
1
  <div class="cta-inside">
2
+ <p>
3
  <?php
4
  /* translators: %s: Feature name */
5
  $message = __( '%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?', 'formidable' );
7
  ?>
8
  </p>
9
  <p>
10
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $upgrade_link ) ); ?>" class="button button-primary frm-button-primary" target="_blank" rel="noopener noreferrer">
11
  <?php esc_html_e( 'Upgrade to Pro', 'formidable' ); ?>
12
  </a>
13
 
classes/views/frm-forms/add_field_links.php CHANGED
@@ -86,6 +86,8 @@ foreach ( FrmField::pro_field_selection() as $field_key => $field_type ) {
86
  $single_no_allow = ' ';
87
  $install_data = '';
88
  $requires = '';
 
 
89
  if ( strpos( $field_type['icon'], ' frm_show_upgrade' ) ) {
90
  $single_no_allow .= 'frm_show_upgrade';
91
  $field_type['icon'] = str_replace( ' frm_show_upgrade', '', $field_type['icon'] );
@@ -96,10 +98,16 @@ foreach ( FrmField::pro_field_selection() as $field_key => $field_type ) {
96
  $install_data = json_encode( $upgrading );
97
  }
98
  $requires = FrmFormsHelper::get_plan_required( $upgrading );
 
 
99
  }
100
  }
 
 
 
 
101
  ?>
102
- <li class="frmbutton <?php echo esc_attr( $no_allow_class . $single_no_allow . ' frm_t' . str_replace( '|', '-', $field_key ) ); ?>" id="<?php echo esc_attr( $field_key ); ?>" data-upgrade="<?php echo esc_attr( $upgrade_label ); ?>" data-medium="builder" data-oneclick="<?php echo esc_attr( $install_data ); ?>" data-content="<?php echo esc_attr( $field_key ); ?>" data-requires="<?php echo esc_attr( $requires ); ?>">
103
  <?php
104
  if ( $run_filter ) {
105
  $field_label = apply_filters( 'frmpro_field_links', $field_label, $id, $field_key );
86
  $single_no_allow = ' ';
87
  $install_data = '';
88
  $requires = '';
89
+ $upgrade_message = '';
90
+ $link = isset( $field_type['link'] ) ? esc_url_raw( $field_type['link'] ) : '';
91
  if ( strpos( $field_type['icon'], ' frm_show_upgrade' ) ) {
92
  $single_no_allow .= 'frm_show_upgrade';
93
  $field_type['icon'] = str_replace( ' frm_show_upgrade', '', $field_type['icon'] );
98
  $install_data = json_encode( $upgrading );
99
  }
100
  $requires = FrmFormsHelper::get_plan_required( $upgrading );
101
+ } elseif ( isset( $field_type['require'] ) ) {
102
+ $requires = $field_type['require'];
103
  }
104
  }
105
+
106
+ if ( isset( $field_type['message'] ) ) {
107
+ $upgrade_message = FrmAppHelper::kses( $field_type['message'], array( 'a', 'img' ) );
108
+ }
109
  ?>
110
+ <li class="frmbutton <?php echo esc_attr( $no_allow_class . $single_no_allow . ' frm_t' . str_replace( '|', '-', $field_key ) ); ?>" id="<?php echo esc_attr( $field_key ); ?>" data-upgrade="<?php echo esc_attr( $upgrade_label ); ?>" data-message="<?php echo esc_attr( $upgrade_message ); ?>" data-link="<?php echo esc_attr( $link ); ?>" data-medium="builder" data-oneclick="<?php echo esc_attr( $install_data ); ?>" data-content="<?php echo esc_attr( $field_key ); ?>" data-requires="<?php echo esc_attr( $requires ); ?>">
111
  <?php
112
  if ( $run_filter ) {
113
  $field_label = apply_filters( 'frmpro_field_links', $field_label, $id, $field_key );
classes/views/frm-settings/license_box.php CHANGED
@@ -4,7 +4,7 @@
4
  <?php esc_html_e( 'Connect an Account', 'formidable' ); ?>
5
  </a>
6
  or
7
- <a href="<?php echo esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( 'settings-license' ) ) ); ?>" target="_blank" class="button-secondary frm-secondary-button">
8
  <?php esc_html_e( 'Get Formidable Now', 'formidable' ); ?>
9
  </a>
10
  </p>
@@ -16,7 +16,7 @@
16
  printf(
17
  /* translators: %1$s: Start link HTML, %2$s: End link HTML */
18
  esc_html__( 'To unlock more features consider %1$supgrading to PRO%2$s.', 'formidable' ),
19
- '<a href="' . esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( 'settings-license' ) ) ) . '">',
20
  '</a>'
21
  );
22
  ?>
4
  <?php esc_html_e( 'Connect an Account', 'formidable' ); ?>
5
  </a>
6
  or
7
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'settings-license' ) ); ?>" target="_blank" class="button-secondary frm-secondary-button">
8
  <?php esc_html_e( 'Get Formidable Now', 'formidable' ); ?>
9
  </a>
10
  </p>
16
  printf(
17
  /* translators: %1$s: Start link HTML, %2$s: End link HTML */
18
  esc_html__( 'To unlock more features consider %1$supgrading to PRO%2$s.', 'formidable' ),
19
+ '<a href="' . esc_url( FrmAppHelper::admin_upgrade_link( 'settings-license' ) ) . '">',
20
  '</a>'
21
  );
22
  ?>
classes/views/shared/admin-header.php CHANGED
@@ -15,14 +15,7 @@
15
  </div>
16
 
17
  <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable' ) ); ?>" class="frm-header-logo">
18
- <?php
19
- FrmAppHelper::show_logo(
20
- array(
21
- 'height' => 35,
22
- 'width' => 35,
23
- )
24
- );
25
- ?>
26
  </a>
27
 
28
  <?php
15
  </div>
16
 
17
  <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable' ) ); ?>" class="frm-header-logo">
18
+ <?php FrmAppHelper::show_header_logo(); ?>
 
 
 
 
 
 
 
19
  </a>
20
 
21
  <?php
classes/views/shared/upgrade_overlay.php CHANGED
@@ -27,20 +27,21 @@
27
  <?php esc_html_e( 'Install', 'formidable' ); ?>
28
  </a>
29
 
30
- <p id="frm-upgrade-message">
31
- <?php
32
- if ( $is_pro ) {
33
- /* translators: %s: Feature name */
34
- $message = __( '%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features.', 'formidable' );
35
- } else {
36
- /* translators: %s: Feature name */
37
- $message = __( '%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?', 'formidable' );
38
- }
39
- printf( esc_html( $message ), '<span class="frm_feature_label"></span>' );
40
- ?>
 
41
  </p>
42
  <?php if ( $is_pro ) { ?>
43
- <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $upgrade_link ) ); ?>" class="button button-primary frm-button-primary" id="frm-upgrade-modal-link">
44
  <?php
45
  printf(
46
  /* translators: %s: Plan name */
@@ -50,12 +51,18 @@
50
  ?>
51
  </a>
52
  <?php } else { ?>
53
- <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $upgrade_link ) ); ?>" class="button button-primary frm-button-primary" target="_blank" rel="noopener noreferrer" id="frm-upgrade-modal-link">
54
- <?php esc_html_e( 'Upgrade to Pro', 'formidable' ); ?>
 
 
 
 
 
 
55
  </a>
56
 
57
  <p>
58
- <a href="<?php echo esc_url( FrmAppHelper::make_affiliate_url( FrmAppHelper::admin_upgrade_link( $upgrade_link, 'knowledgebase/install-formidable-forms/' ) ) ); ?>" target="_blank" class="frm-link-secondary">
59
  <?php esc_html_e( 'Already purchased?', 'formidable' ); ?>
60
  </a>
61
  </p>
27
  <?php esc_html_e( 'Install', 'formidable' ); ?>
28
  </a>
29
 
30
+ <?php
31
+ if ( $is_pro ) {
32
+ /* translators: %s: Feature name */
33
+ $message = __( '%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features.', 'formidable' );
34
+ } else {
35
+ /* translators: %s: Feature name */
36
+ $message = __( '%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?', 'formidable' );
37
+ }
38
+ $message = sprintf( esc_html( $message ), '<span class="frm_feature_label"></span>' );
39
+ ?>
40
+ <p id="frm-upgrade-message" data-default="<?php echo esc_attr( $message ); ?>">
41
+ <?php echo FrmAppHelper::kses( $message, array( 'span' ) ); // WPCS: XSS ok. ?>
42
  </p>
43
  <?php if ( $is_pro ) { ?>
44
+ <a href="<?php echo esc_url( $default_link ); ?>" class="button button-primary frm-button-primary" id="frm-upgrade-modal-link" data-default="<?php echo esc_url( $default_link ); ?>">
45
  <?php
46
  printf(
47
  /* translators: %s: Plan name */
51
  ?>
52
  </a>
53
  <?php } else { ?>
54
+ <a href="<?php echo esc_url( $default_link ); ?>" class="button button-primary frm-button-primary" target="_blank" rel="noopener noreferrer" id="frm-upgrade-modal-link" data-default="<?php echo esc_url( $default_link ); ?>">
55
+ <?php
56
+ printf(
57
+ /* translators: %s: Plan name */
58
+ esc_html__( 'Upgrade to %s', 'formidable' ),
59
+ '<span class="license-level">Pro</span>'
60
+ );
61
+ ?>
62
  </a>
63
 
64
  <p>
65
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( $upgrade_link, 'knowledgebase/install-formidable-forms/' ) ); ?>" target="_blank" class="frm-link-secondary">
66
  <?php esc_html_e( 'Already purchased?', 'formidable' ); ?>
67
  </a>
68
  </p>
css/_single_theme.css.php CHANGED
@@ -476,6 +476,10 @@ if ( ! empty( $important ) ) {
476
  color: <?php echo esc_html( $submit_active_color . $important ); ?>;
477
  }
478
 
 
 
 
 
479
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit,
480
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:hover,
481
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:active,
@@ -484,6 +488,7 @@ if ( ! empty( $important ) ) {
484
  background: <?php echo esc_html( $submit_bg_color . $important ); ?>;
485
  }
486
 
 
487
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:before {
488
  border-bottom-color: <?php echo esc_html( $submit_text_color . $important ); ?>;
489
  border-right-color: <?php echo esc_html( $submit_text_color . $important ); ?>;
476
  color: <?php echo esc_html( $submit_active_color . $important ); ?>;
477
  }
478
 
479
+ .<?php echo esc_html( $style_class ); ?> .frm_loading_prev .frm_prev_page,
480
+ .<?php echo esc_html( $style_class ); ?> .frm_loading_prev .frm_prev_page:hover,
481
+ .<?php echo esc_html( $style_class ); ?> .frm_loading_prev .frm_prev_page:active,
482
+ .<?php echo esc_html( $style_class ); ?> .frm_loading_prev .frm_prev_page:focus,
483
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit,
484
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:hover,
485
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:active,
488
  background: <?php echo esc_html( $submit_bg_color . $important ); ?>;
489
  }
490
 
491
+ .<?php echo esc_html( $style_class ); ?> .frm_loading_prev .frm_prev_page:before,
492
  .<?php echo esc_html( $style_class ); ?> .frm_loading_form .frm_button_submit:before {
493
  border-bottom-color: <?php echo esc_html( $submit_text_color . $important ); ?>;
494
  border-right-color: <?php echo esc_html( $submit_text_color . $important ); ?>;
css/custom_theme.css.php CHANGED
@@ -224,11 +224,13 @@ legend.frm_hidden{
224
  margin: 0 auto;
225
  }
226
 
 
227
  .with_frm_style .frm_loading_form .frm_ajax_loading{
228
  /* keep this for reverse compatibility for old HTML */
229
  visibility:visible !important;
230
  }
231
 
 
232
  .with_frm_style .frm_loading_form .frm_button_submit {
233
  position: relative;
234
  opacity: .8;
@@ -236,6 +238,9 @@ legend.frm_hidden{
236
  text-shadow: none !important;
237
  }
238
 
 
 
 
239
  .with_frm_style .frm_loading_form .frm_button_submit:hover,
240
  .with_frm_style .frm_loading_form .frm_button_submit:active,
241
  .with_frm_style .frm_loading_form .frm_button_submit:focus {
@@ -245,6 +250,7 @@ legend.frm_hidden{
245
  box-shadow: none;
246
  }
247
 
 
248
  .with_frm_style .frm_loading_form .frm_button_submit:before {
249
  content: '';
250
  display: inline-block;
224
  margin: 0 auto;
225
  }
226
 
227
+ .with_frm_style .frm_loading_prev .frm_ajax_loading,
228
  .with_frm_style .frm_loading_form .frm_ajax_loading{
229
  /* keep this for reverse compatibility for old HTML */
230
  visibility:visible !important;
231
  }
232
 
233
+ .with_frm_style .frm_loading_prev .frm_prev_page,
234
  .with_frm_style .frm_loading_form .frm_button_submit {
235
  position: relative;
236
  opacity: .8;
238
  text-shadow: none !important;
239
  }
240
 
241
+ .with_frm_style .frm_loading_prev .frm_prev_page:hover,
242
+ .with_frm_style .frm_loading_prev .frm_prev_page:active,
243
+ .with_frm_style .frm_loading_prev .frm_prev_page:focus,
244
  .with_frm_style .frm_loading_form .frm_button_submit:hover,
245
  .with_frm_style .frm_loading_form .frm_button_submit:active,
246
  .with_frm_style .frm_loading_form .frm_button_submit:focus {
250
  box-shadow: none;
251
  }
252
 
253
+ .with_frm_style .frm_loading_prev .frm_prev_page::before,
254
  .with_frm_style .frm_loading_form .frm_button_submit:before {
255
  content: '';
256
  display: inline-block;
css/frm_admin.css CHANGED
@@ -5843,6 +5843,7 @@ ul .frm_col_two {
5843
  padding: 5px 20px;
5844
  box-sizing: border-box;
5845
  cursor: pointer;
 
5846
  }
5847
 
5848
  #frm-insert-fields li a span {
@@ -6089,6 +6090,10 @@ h2 .frm-sub-label {
6089
  padding-bottom: 20px;
6090
  }
6091
 
 
 
 
 
6092
  a.frm-link-secondary {
6093
  color: #c4c4c4;
6094
  font-size: 14px;
5843
  padding: 5px 20px;
5844
  box-sizing: border-box;
5845
  cursor: pointer;
5846
+ opacity: .5;
5847
  }
5848
 
5849
  #frm-insert-fields li a span {
6090
  padding-bottom: 20px;
6091
  }
6092
 
6093
+ #frm-upgrade-message img {
6094
+ max-width: 100%;
6095
+ }
6096
+
6097
  a.frm-link-secondary {
6098
  color: #c4c4c4;
6099
  font-size: 14px;
formidable.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
- Version: 4.03.01
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
+ Version: 4.03.02
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
js/formidable.js CHANGED
@@ -632,12 +632,21 @@ function frmFrontFormJS(){
632
  }
633
 
634
  function showLoadingIndicator( $object ) {
635
- if ( !$object.hasClass('frm_loading_form') ) {
636
- $object.addClass('frm_loading_form');
637
-
638
  $object.trigger( 'frmStartFormLoading' );
639
  }
640
  }
 
 
 
 
 
 
 
 
 
 
641
 
642
  function removeSubmitLoading( $object, enable, processesRunning ) {
643
  if ( processesRunning > 0 ) {
@@ -646,6 +655,7 @@ function frmFrontFormJS(){
646
 
647
  var loadingForm = jQuery( '.frm_loading_form' );
648
  loadingForm.removeClass('frm_loading_form');
 
649
 
650
  loadingForm.trigger( 'frmEndFormLoading' );
651
 
@@ -688,7 +698,7 @@ function frmFrontFormJS(){
688
  /*jshint validthis:true */
689
  toggleDefault(jQuery(this), 'replace');
690
  }
691
-
692
  function toggleDefault($thisField, e){
693
  // TODO: Fix this for a default value that is a number or array
694
  var v = $thisField.data('frmval').replace(/(\n|\r\n)/g, '\r');
@@ -696,7 +706,7 @@ function frmFrontFormJS(){
696
  return false;
697
  }
698
  var thisVal = $thisField.val().replace(/(\n|\r\n)/g, '\r');
699
-
700
  if ( 'replace' == e ) {
701
  if ( thisVal === '' ) {
702
  $thisField.addClass('frm_default').val(v);
@@ -843,7 +853,7 @@ function frmFrontFormJS(){
843
  jQuery( this ).blur();
844
  }
845
  } );
846
-
847
  jQuery(document).on('focus', '.frm_toggle_default', clearDefault);
848
  jQuery(document).on('blur', '.frm_toggle_default', replaceDefault);
849
  jQuery('.frm_toggle_default').blur();
@@ -1146,7 +1156,7 @@ function frmFrontFormJS(){
1146
  frmProForm.removeUsedTimes();
1147
  }
1148
  },
1149
-
1150
  escapeHtml: function(text){
1151
  return text
1152
  .replace(/&/g, '&amp;')
@@ -1159,7 +1169,7 @@ function frmFrontFormJS(){
1159
  invisible: function(classes) {
1160
  jQuery(classes).css('visibility', 'hidden');
1161
  },
1162
-
1163
  visible: function(classes) {
1164
  jQuery(classes).css('visibility', 'visible');
1165
  }
@@ -1208,18 +1218,18 @@ function frmDeleteEntry(entry_id,prefix){
1208
  jQuery(document.getElementById(prefix+entry_id)).fadeOut('slow');
1209
  else
1210
  jQuery(document.getElementById('frm_delete_'+entry_id)).replaceWith(html);
1211
-
1212
  }
1213
  });
1214
  }
1215
 
1216
  function frmOnSubmit(e){
1217
- console.warn('DEPRECATED: function frmOnSubmit in v2.0 use frmFrontForm.submitForm');
1218
  frmFrontForm.submitForm(e, this);
1219
  }
1220
 
1221
  function frm_resend_email(entry_id,form_id){
1222
- console.warn('DEPRECATED: function frm_resend_email in v2.0');
1223
  var $link = jQuery(document.getElementById('frm_resend_email'));
1224
  $link.append('<span class="spinner" style="display:inline"></span>');
1225
  jQuery.ajax({
632
  }
633
 
634
  function showLoadingIndicator( $object ) {
635
+ if ( ! $object.hasClass( 'frm_loading_form' ) && ! $object.hasClass( 'frm_loading_prev' ) ) {
636
+ addLoadingClass( $object );
 
637
  $object.trigger( 'frmStartFormLoading' );
638
  }
639
  }
640
+
641
+ function addLoadingClass( $object ) {
642
+ var loading_class = isGoingToPrevPage( $object ) ? 'frm_loading_prev' : 'frm_loading_form';
643
+
644
+ $object.addClass( loading_class );
645
+ }
646
+
647
+ function isGoingToPrevPage( $object ) {
648
+ return ( typeof frmProForm !== undefined && frmProForm.goingToPreviousPage( $object ) );
649
+ }
650
 
651
  function removeSubmitLoading( $object, enable, processesRunning ) {
652
  if ( processesRunning > 0 ) {
655
 
656
  var loadingForm = jQuery( '.frm_loading_form' );
657
  loadingForm.removeClass('frm_loading_form');
658
+ loadingForm.removeClass( 'frm_loading_prev' );
659
 
660
  loadingForm.trigger( 'frmEndFormLoading' );
661
 
698
  /*jshint validthis:true */
699
  toggleDefault(jQuery(this), 'replace');
700
  }
701
+
702
  function toggleDefault($thisField, e){
703
  // TODO: Fix this for a default value that is a number or array
704
  var v = $thisField.data('frmval').replace(/(\n|\r\n)/g, '\r');
706
  return false;
707
  }
708
  var thisVal = $thisField.val().replace(/(\n|\r\n)/g, '\r');
709
+
710
  if ( 'replace' == e ) {
711
  if ( thisVal === '' ) {
712
  $thisField.addClass('frm_default').val(v);
853
  jQuery( this ).blur();
854
  }
855
  } );
856
+
857
  jQuery(document).on('focus', '.frm_toggle_default', clearDefault);
858
  jQuery(document).on('blur', '.frm_toggle_default', replaceDefault);
859
  jQuery('.frm_toggle_default').blur();
1156
  frmProForm.removeUsedTimes();
1157
  }
1158
  },
1159
+
1160
  escapeHtml: function(text){
1161
  return text
1162
  .replace(/&/g, '&amp;')
1169
  invisible: function(classes) {
1170
  jQuery(classes).css('visibility', 'hidden');
1171
  },
1172
+
1173
  visible: function(classes) {
1174
  jQuery(classes).css('visibility', 'visible');
1175
  }
1218
  jQuery(document.getElementById(prefix+entry_id)).fadeOut('slow');
1219
  else
1220
  jQuery(document.getElementById('frm_delete_'+entry_id)).replaceWith(html);
1221
+
1222
  }
1223
  });
1224
  }
1225
 
1226
  function frmOnSubmit(e){
1227
+ console.warn('DEPRECATED: function frmOnSubmit in v2.0 use frmFrontForm.submitForm');
1228
  frmFrontForm.submitForm(e, this);
1229
  }
1230
 
1231
  function frm_resend_email(entry_id,form_id){
1232
+ console.warn('DEPRECATED: function frm_resend_email in v2.0');
1233
  var $link = jQuery(document.getElementById('frm_resend_email'));
1234
  $link.append('<span class="spinner" style="display:inline"></span>');
1235
  jQuery.ajax({
js/formidable.min.js CHANGED
@@ -23,29 +23,30 @@ object.submit()}})}function afterFormSubmitted(object,response){var formComplete
23
  typeof response.page!=="undefined"){var url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){key=encodeURI(key);value=encodeURI(value);var kvp=document.location.search.substr(1).split("&");var i=kvp.length;var x;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){if($fieldCont.length&&
24
  $fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");var input=$fieldCont.find("input, select, textarea"),id="frm_error_field_"+key,describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{$fieldCont.append('<div class="frm_error" id="'+id+'">'+jsErrors[key]+"</div>");if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",
25
  describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function removeFieldError($fieldCont){var errorMessage=$fieldCont.find(".frm_error"),errorId=errorMessage.attr("id"),input=$fieldCont.find("input, select, textarea"),describedBy=input.attr("aria-describedby");$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,
26
- "");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}function scrollToFirstField(object){var field=jQuery(object).find(".frm_blank_field:first");if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")){$object.addClass("frm_loading_form");
27
- $object.trigger("frmStartFormLoading")}}function removeSubmitLoading($object,enable,processesRunning){if(processesRunning>0)return;var loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.trigger("frmEndFormLoading");if(enable==="enable")enableSubmitButton(loadingForm)}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&
28
- file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,checkPage){var $recapField=jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),
29
- "clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"==e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entry_id=this.getAttribute("data-eid"),form_id=
30
- this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:entry_id,form_id:form_id,nonce:frm_js.nonce},success:function(msg){label.html(msg)}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");
31
- else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){if(!Array.prototype.filter)Array.prototype.filter=
32
- function(fun){if(this===void 0||this===null)throw new TypeError;var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=arguments[1];for(var i=0;i<len;i++)if(i in t){var val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){if(!Object.keys)Object.keys=function(obj){var keys=[];for(var i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}return{init:function(){jQuery(document).off("submit.formidable",
33
- ".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).blur()});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(resendEmail);jQuery(document).on("change",
34
- '.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",maybeShowLabel);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").click(toggleDiv);addIndexOfFallbackForIE8();addTrimFallbackForIE8();
35
- addFilterFallbackForIE8();addKeysFallbackForIE8()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var size=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){var formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();
36
- params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}var recaptchaID=grecaptcha.render(captcha.id,params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(token){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,
37
- this)},submitFormManual:function(e,object){var invisibleRecaptcha=hasInvisibleRecaptcha(object);var classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){var isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));
38
- executeInvisibleRecaptcha(invisibleRecaptcha)}else{var errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var classList=object.className.trim().split(/\s+/gi);if(classList.indexOf("frm_ajax_submit")>-1){var hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();
39
- frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=
40
- jQuery(object).find('input[name="frm_action"]').val();var customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(var key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){removeAllErrors();for(var key in jsErrors){var $fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object)},checkFormErrors:function(object,
41
- action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var scrollObj="";if(typeof object==="undefined"){scrollObj=
42
- jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;var newPos=scrollObj.offset().top;if(!newPos)return;newPos=newPos-frm_js.offset;var m=jQuery("html").css("margin-top");var b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){var screenTop=document.documentElement.scrollTop||document.body.scrollTop;
43
- var screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate==="undefined")jQuery(window).scrollTop(newPos);else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var field_id=frmFrontForm.getFieldId(this,false);if(!field_id||typeof field_id==="undefined")return;if(e.frmTriggered&&e.frmTriggered==field_id)return;jQuery(document).trigger("frmFieldChanged",[this,field_id,e]);if(e.selfTriggered!==true)maybeValidateChange(field_id,
44
- this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(ids,event){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");
45
- if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!==
46
- "undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");frmProForm.loadGoogle()},removeUsedTimes:function(obj,timeField){console.warn("DEPRECATED: function frmFrontForm.removeUsedTimes in v3.0 use frmProForm.removeUsedTimes");
47
- if(typeof frmProForm!=="undefined")frmProForm.removeUsedTimes()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}var frmFrontForm=frmFrontFormJS();jQuery(document).ready(function($){frmFrontForm.init()});
48
- function frmRecaptcha(){var captchas=jQuery(".frm-g-recaptcha");for(var c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
 
49
  function frmUpdateField(entry_id,field_id,value,message,num){jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entry_id,field_id:field_id,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).fadeOut("slow");
50
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
51
  function frmDeleteEntry(entry_id,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entry_id)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entry_id+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entry_id,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entry_id)).fadeOut("slow");
23
  typeof response.page!=="undefined"){var url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){key=encodeURI(key);value=encodeURI(value);var kvp=document.location.search.substr(1).split("&");var i=kvp.length;var x;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){if($fieldCont.length&&
24
  $fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");var input=$fieldCont.find("input, select, textarea"),id="frm_error_field_"+key,describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{$fieldCont.append('<div class="frm_error" id="'+id+'">'+jsErrors[key]+"</div>");if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",
25
  describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function removeFieldError($fieldCont){var errorMessage=$fieldCont.find(".frm_error"),errorId=errorMessage.attr("id"),input=$fieldCont.find("input, select, textarea"),describedBy=input.attr("aria-describedby");$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,
26
+ "");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}function scrollToFirstField(object){var field=jQuery(object).find(".frm_blank_field:first");if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&
27
+ !$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loading_class=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loading_class)}function isGoingToPrevPage($object){return typeof frmProForm!==undefined&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){if(processesRunning>0)return;var loadingForm=jQuery(".frm_loading_form");
28
+ loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable")enableSubmitButton(loadingForm)}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,checkPage){var $recapField=
29
+ jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,
30
+ e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"==e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entry_id=this.getAttribute("data-eid"),form_id=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');
31
+ jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:entry_id,form_id:form_id,nonce:frm_js.nonce},success:function(msg){label.html(msg)}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){if(!Array.prototype.indexOf)Array.prototype.indexOf=
32
+ function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){if(!Array.prototype.filter)Array.prototype.filter=function(fun){if(this===void 0||this===null)throw new TypeError;
33
+ var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=arguments[1];for(var i=0;i<len;i++)if(i in t){var val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){if(!Object.keys)Object.keys=function(obj){var keys=[];for(var i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",
34
+ frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).blur()});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',
35
+ frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",maybeShowLabel);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").click(toggleDiv);addIndexOfFallbackForIE8();addTrimFallbackForIE8();addFilterFallbackForIE8();addKeysFallbackForIE8()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var size=
36
+ captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){var formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}var recaptchaID=grecaptcha.render(captcha.id,
37
+ params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(token){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){var invisibleRecaptcha=hasInvisibleRecaptcha(object);var classList=object.className.trim().split(/\s+/gi);
38
+ if(classList&&invisibleRecaptcha.length<1){var isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{var errors=frmFrontForm.validateFormSubmit(object);
39
+ if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var classList=object.className.trim().split(/\s+/gi);if(classList.indexOf("frm_ajax_submit")>-1){var hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},
40
+ validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();var customErrors=frmThemeOverride_jsErrors(action,
41
+ object);if(Object.keys(customErrors).length)for(var key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){removeAllErrors();for(var key in jsErrors){var $fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object)},checkFormErrors:function(object,action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,
42
+ errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id===
43
+ "string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;var newPos=scrollObj.offset().top;if(!newPos)return;newPos=newPos-frm_js.offset;var m=jQuery("html").css("margin-top");var b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){var screenTop=document.documentElement.scrollTop||document.body.scrollTop;var screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate===
44
+ "undefined")jQuery(window).scrollTop(newPos);else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var field_id=frmFrontForm.getFieldId(this,false);if(!field_id||typeof field_id==="undefined")return;if(e.frmTriggered&&e.frmTriggered==field_id)return;jQuery(document).trigger("frmFieldChanged",[this,field_id,e]);if(e.selfTriggered!==true)maybeValidateChange(field_id,this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");
45
+ if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(ids,event){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},
46
+ hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");
47
+ if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");frmProForm.loadGoogle()},removeUsedTimes:function(obj,timeField){console.warn("DEPRECATED: function frmFrontForm.removeUsedTimes in v3.0 use frmProForm.removeUsedTimes");if(typeof frmProForm!=="undefined")frmProForm.removeUsedTimes()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,
48
+ "&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}var frmFrontForm=frmFrontFormJS();jQuery(document).ready(function($){frmFrontForm.init()});function frmRecaptcha(){var captchas=jQuery(".frm-g-recaptcha");for(var c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}
49
+ function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
50
  function frmUpdateField(entry_id,field_id,value,message,num){jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entry_id,field_id:field_id,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).fadeOut("slow");
51
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
52
  function frmDeleteEntry(entry_id,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entry_id)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entry_id+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entry_id,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entry_id)).fadeOut("slow");
js/formidable_admin.js CHANGED
@@ -2860,13 +2860,11 @@ function frmAdminBuildJS() {
2860
 
2861
  jQuery( document ).on( 'click', '[data-upgrade]', function( event ) {
2862
  event.preventDefault();
2863
- jQuery('.frm_feature_label').html( this.getAttribute( 'data-upgrade' ) );
2864
- jQuery( '#frm_upgrade_modal h2' ).show();
2865
  jQuery( '#frm_upgrade_modal .frm_lock_icon' ).removeClass( 'frm_lock_open_icon' );
2866
  jQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_icon' );
2867
 
2868
  var requires = this.getAttribute( 'data-requires' );
2869
- if ( requires === undefined ) {
2870
  requires = 'Pro';
2871
  }
2872
  jQuery( '.license-level' ).html( requires );
@@ -2874,6 +2872,9 @@ function frmAdminBuildJS() {
2874
  // If one click upgrade, hide other content
2875
  addOneClickModal( this );
2876
 
 
 
 
2877
  $info.dialog('open');
2878
 
2879
  // set the utm medium
@@ -2893,13 +2894,17 @@ function frmAdminBuildJS() {
2893
  * Allow addons to be installed from the upgrade modal.
2894
  */
2895
  function addOneClickModal( link ) {
2896
- // If one click upgrade, hide other content
2897
  var oneclickMessage = document.getElementById( 'frm-oneclick' ),
2898
  oneclick = link.getAttribute( 'data-oneclick' ),
 
 
 
 
2899
  button = document.getElementById( 'frm-oneclick-button' ),
2900
  showIt = 'block',
2901
  hideIt = 'none';
2902
 
 
2903
  if ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {
2904
  showIt = 'none';
2905
  hideIt = 'block';
@@ -2910,11 +2915,23 @@ function frmAdminBuildJS() {
2910
  button.rel = oneclick.url;
2911
  }
2912
 
 
 
 
 
 
 
 
 
 
 
 
 
2913
  document.getElementById( 'frm-addon-status' ).style.display = 'none';
2914
  oneclickMessage.style.display = hideIt;
2915
  button.style.display = hideIt == 'block' ? 'inline-block' : hideIt;
2916
- document.getElementById( 'frm-upgrade-message' ).style.display = showIt;
2917
- document.getElementById( 'frm-upgrade-modal-link' ).style.display = showIt == 'block' ? 'inline-block' : showIt;
2918
  }
2919
 
2920
  /* Form settings */
2860
 
2861
  jQuery( document ).on( 'click', '[data-upgrade]', function( event ) {
2862
  event.preventDefault();
 
 
2863
  jQuery( '#frm_upgrade_modal .frm_lock_icon' ).removeClass( 'frm_lock_open_icon' );
2864
  jQuery( '#frm_upgrade_modal .frm_lock_icon use' ).attr( 'xlink:href', '#frm_lock_icon' );
2865
 
2866
  var requires = this.getAttribute( 'data-requires' );
2867
+ if ( typeof requires === 'undefined' || requires === null || requires === '' ) {
2868
  requires = 'Pro';
2869
  }
2870
  jQuery( '.license-level' ).html( requires );
2872
  // If one click upgrade, hide other content
2873
  addOneClickModal( this );
2874
 
2875
+ jQuery('.frm_feature_label').html( this.getAttribute( 'data-upgrade' ) );
2876
+ jQuery( '#frm_upgrade_modal h2' ).show();
2877
+
2878
  $info.dialog('open');
2879
 
2880
  // set the utm medium
2894
  * Allow addons to be installed from the upgrade modal.
2895
  */
2896
  function addOneClickModal( link ) {
 
2897
  var oneclickMessage = document.getElementById( 'frm-oneclick' ),
2898
  oneclick = link.getAttribute( 'data-oneclick' ),
2899
+ customLink = link.getAttribute( 'data-link' ),
2900
+ showLink = document.getElementById( 'frm-upgrade-modal-link' ),
2901
+ upgradeMessage = document.getElementById( 'frm-upgrade-message' ),
2902
+ newMessage = link.getAttribute('data-message'),
2903
  button = document.getElementById( 'frm-oneclick-button' ),
2904
  showIt = 'block',
2905
  hideIt = 'none';
2906
 
2907
+ // If one click upgrade, hide other content.
2908
  if ( oneclickMessage !== null && typeof oneclick !== 'undefined' && oneclick ) {
2909
  showIt = 'none';
2910
  hideIt = 'block';
2915
  button.rel = oneclick.url;
2916
  }
2917
 
2918
+ // Use a custom message in the modal.
2919
+ if ( newMessage === null || typeof newMessage === 'undefined' || newMessage === '' ) {
2920
+ newMessage = upgradeMessage.getAttribute('data-default');
2921
+ }
2922
+ upgradeMessage.innerHTML = newMessage;
2923
+
2924
+ // Either set the link or use the default.
2925
+ if ( customLink === null || typeof customLink === 'undefined' || customLink === '' ) {
2926
+ customLink = showLink.getAttribute('data-default');
2927
+ }
2928
+ showLink.href = customLink;
2929
+
2930
  document.getElementById( 'frm-addon-status' ).style.display = 'none';
2931
  oneclickMessage.style.display = hideIt;
2932
  button.style.display = hideIt == 'block' ? 'inline-block' : hideIt;
2933
+ upgradeMessage.style.display = showIt;
2934
+ showLink.style.display = showIt == 'block' ? 'inline-block' : showIt;
2935
  }
2936
 
2937
  /* Form settings */
languages/formidable.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Formidable Forms 4.03.01\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\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: 2019-10-15T15:44:18+02:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
@@ -278,89 +278,93 @@ msgstr ""
278
  msgid "File Upload"
279
  msgstr ""
280
 
281
- #: classes/models/FrmField.php:77
282
  msgid "Rich Text"
283
  msgstr ""
284
 
285
- #: classes/models/FrmField.php:81
286
  #: classes/controllers/FrmFormsController.php:732
287
  msgid "Date"
288
  msgstr ""
289
 
290
- #: classes/models/FrmField.php:85
291
  msgid "Time"
292
  msgstr ""
293
 
294
- #: classes/models/FrmField.php:89
295
  msgid "Scale"
296
  msgstr ""
297
 
298
- #: classes/models/FrmField.php:93
299
  msgid "Star Rating"
300
  msgstr ""
301
 
302
- #: classes/models/FrmField.php:97
303
  msgid "Slider"
304
  msgstr ""
305
 
306
- #: classes/models/FrmField.php:101
307
  msgid "Toggle"
308
  msgstr ""
309
 
310
- #: classes/models/FrmField.php:105
311
  msgid "Dynamic"
312
  msgstr ""
313
 
314
- #: classes/models/FrmField.php:109
315
  msgid "Lookup"
316
  msgstr ""
317
 
318
- #: classes/models/FrmField.php:113
319
  msgid "Repeater"
320
  msgstr ""
321
 
322
- #: classes/models/FrmField.php:117
323
  msgid "Section Buttons"
324
  msgstr ""
325
 
326
- #: classes/models/FrmField.php:121
327
  msgid "Section"
328
  msgstr ""
329
 
330
- #: classes/models/FrmField.php:125
331
  msgid "Page Break"
332
  msgstr ""
333
 
334
- #: classes/models/FrmField.php:129
335
  msgid "Embed Form"
336
  msgstr ""
337
 
338
- #: classes/models/FrmField.php:133
339
  msgid "Password"
340
  msgstr ""
341
 
342
- #: classes/models/FrmField.php:137
343
  msgid "Tags"
344
  msgstr ""
345
 
346
- #: classes/models/FrmField.php:141
347
  msgid "Credit Card"
348
  msgstr ""
349
 
350
- #: classes/models/FrmField.php:146
351
  msgid "Address"
352
  msgstr ""
353
 
354
- #: classes/models/FrmField.php:150
 
 
 
 
355
  msgid "Signature"
356
  msgstr ""
357
 
358
- #: classes/models/FrmField.php:155
359
  msgid "Quiz Score"
360
  msgstr ""
361
 
362
- #: classes/models/FrmField.php:160
363
- msgid "Summary"
364
  msgstr ""
365
 
366
  #: classes/models/FrmDb.php:430
@@ -553,7 +557,6 @@ msgstr ""
553
 
554
  #: classes/controllers/FrmAddonsController.php:19
555
  #: classes/controllers/FrmAddonsController.php:20
556
- #: classes/views/shared/upgrade_overlay.php:54
557
  #: classes/views/frm-fields/back-end/smart-values.php:11
558
  msgid "Upgrade to Pro"
559
  msgstr ""
@@ -567,7 +570,7 @@ msgid "Installed"
567
  msgstr ""
568
 
569
  #: classes/controllers/FrmAddonsController.php:481
570
- #: classes/helpers/FrmAppHelper.php:2186
571
  msgid "Active"
572
  msgstr ""
573
 
@@ -707,7 +710,7 @@ msgstr ""
707
  #: classes/controllers/FrmSettingsController.php:237
708
  #: classes/views/frm-forms/_publish_box.php:9
709
  #: classes/views/frm-forms/edit.php:23
710
- #: classes/views/frm-forms/add_field_links.php:167
711
  #: classes/views/styles/header-buttons.php:7
712
  #: classes/views/styles/manage.php:84
713
  #: classes/helpers/FrmStylesHelper.php:70
@@ -1290,8 +1293,8 @@ msgstr ""
1290
 
1291
  #: classes/views/frm-forms/new-form-overlay.php:31
1292
  #: classes/views/shared/confirm-overlay.php:14
1293
- #: classes/views/shared/admin-header.php:44
1294
- #: classes/helpers/FrmAppHelper.php:2154
1295
  msgid "Cancel"
1296
  msgstr ""
1297
 
@@ -1303,7 +1306,7 @@ msgstr ""
1303
  #: classes/views/shared/mb_adv_info.php:35
1304
  #: classes/views/shared/mb_adv_info.php:178
1305
  #: classes/views/frm-entries/list.php:38
1306
- #: classes/helpers/FrmAppHelper.php:891
1307
  msgid "Search"
1308
  msgstr ""
1309
 
@@ -1605,19 +1608,19 @@ msgstr ""
1605
  msgid "%s fields"
1606
  msgstr ""
1607
 
1608
- #: classes/views/frm-forms/add_field_links.php:125
1609
  msgid "Select a field to see the options"
1610
  msgstr ""
1611
 
1612
- #: classes/views/frm-forms/add_field_links.php:139
1613
  msgid "Smart Default Values"
1614
  msgstr ""
1615
 
1616
- #: classes/views/frm-forms/add_field_links.php:147
1617
  msgid "Add Layout Classes"
1618
  msgstr ""
1619
 
1620
- #: classes/views/frm-forms/add_field_links.php:155
1621
  msgid "Input Mask Format"
1622
  msgstr ""
1623
 
@@ -1784,7 +1787,7 @@ msgstr ""
1784
  #: classes/views/addons/list.php:61
1785
  #: classes/views/addons/list.php:62
1786
  #: classes/views/shared/upgrade_overlay.php:27
1787
- #: classes/helpers/FrmAppHelper.php:2185
1788
  msgid "Install"
1789
  msgstr ""
1790
 
@@ -1805,7 +1808,7 @@ msgid "Dismiss this message"
1805
  msgstr ""
1806
 
1807
  #: classes/views/shared/confirm-overlay.php:10
1808
- #: classes/helpers/FrmAppHelper.php:2160
1809
  msgid "Are you sure?"
1810
  msgstr ""
1811
 
@@ -1831,22 +1834,23 @@ msgid "That add-on is not installed. Would you like to install it now?"
1831
  msgstr ""
1832
 
1833
  #. translators: %s: Feature name
1834
- #: classes/views/shared/upgrade_overlay.php:34
1835
  msgid "%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features."
1836
  msgstr ""
1837
 
1838
  #. translators: %s: Feature name
1839
- #: classes/views/shared/upgrade_overlay.php:37
1840
  #: classes/views/frm-fields/back-end/smart-values.php:5
1841
  msgid "%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?"
1842
  msgstr ""
1843
 
1844
  #. translators: %s: Plan name
1845
- #: classes/views/shared/upgrade_overlay.php:47
 
1846
  msgid "Upgrade to %s"
1847
  msgstr ""
1848
 
1849
- #: classes/views/shared/upgrade_overlay.php:59
1850
  #: classes/views/frm-fields/back-end/smart-values.php:15
1851
  msgid "Already purchased?"
1852
  msgstr ""
@@ -1919,7 +1923,7 @@ msgstr ""
1919
 
1920
  #: classes/views/shared/mb_adv_info.php:90
1921
  #: classes/helpers/FrmCSVExportHelper.php:154
1922
- #: classes/helpers/FrmAppHelper.php:2137
1923
  msgid "ID"
1924
  msgstr ""
1925
 
@@ -2544,7 +2548,7 @@ msgid "Label Position"
2544
  msgstr ""
2545
 
2546
  #: classes/views/frm-fields/back-end/settings.php:265
2547
- #: classes/helpers/FrmAppHelper.php:2155
2548
  msgid "Default"
2549
  msgstr ""
2550
 
@@ -3239,7 +3243,7 @@ msgid "No Forms Found."
3239
  msgstr ""
3240
 
3241
  #: classes/helpers/FrmFormsListHelper.php:114
3242
- #: classes/helpers/FrmAppHelper.php:876
3243
  msgid "Add New"
3244
  msgstr ""
3245
 
@@ -3291,7 +3295,7 @@ msgid "Draft"
3291
  msgstr ""
3292
 
3293
  #: classes/helpers/FrmFieldsHelper.php:284
3294
- #: classes/helpers/FrmAppHelper.php:2165
3295
  msgid "The entered values do not match"
3296
  msgstr ""
3297
 
@@ -3302,7 +3306,7 @@ msgstr ""
3302
 
3303
  #: classes/helpers/FrmFieldsHelper.php:454
3304
  #: classes/helpers/FrmFieldsHelper.php:455
3305
- #: classes/helpers/FrmAppHelper.php:2169
3306
  msgid "New Option"
3307
  msgstr ""
3308
 
@@ -4665,538 +4669,538 @@ msgstr ""
4665
  msgid "Parent ID"
4666
  msgstr ""
4667
 
4668
- #: classes/helpers/FrmAppHelper.php:1093
4669
  msgid "View Forms and Templates"
4670
  msgstr ""
4671
 
4672
- #: classes/helpers/FrmAppHelper.php:1094
4673
  msgid "Add/Edit Forms and Templates"
4674
  msgstr ""
4675
 
4676
- #: classes/helpers/FrmAppHelper.php:1095
4677
  msgid "Delete Forms and Templates"
4678
  msgstr ""
4679
 
4680
- #: classes/helpers/FrmAppHelper.php:1096
4681
  msgid "Access this Settings Page"
4682
  msgstr ""
4683
 
4684
- #: classes/helpers/FrmAppHelper.php:1097
4685
  msgid "View Entries from Admin Area"
4686
  msgstr ""
4687
 
4688
- #: classes/helpers/FrmAppHelper.php:1098
4689
  msgid "Delete Entries from Admin Area"
4690
  msgstr ""
4691
 
4692
- #: classes/helpers/FrmAppHelper.php:1105
4693
  msgid "Add Entries from Admin Area"
4694
  msgstr ""
4695
 
4696
- #: classes/helpers/FrmAppHelper.php:1106
4697
  msgid "Edit Entries from Admin Area"
4698
  msgstr ""
4699
 
4700
- #: classes/helpers/FrmAppHelper.php:1107
4701
  msgid "View Reports"
4702
  msgstr ""
4703
 
4704
- #: classes/helpers/FrmAppHelper.php:1108
4705
  msgid "Add/Edit Views"
4706
  msgstr ""
4707
 
4708
- #: classes/helpers/FrmAppHelper.php:1739
4709
  msgid "at"
4710
  msgstr ""
4711
 
4712
- #: classes/helpers/FrmAppHelper.php:1790
4713
- #: classes/helpers/FrmAppHelper.php:1809
4714
  msgid "seconds"
4715
  msgstr ""
4716
 
4717
- #: classes/helpers/FrmAppHelper.php:1803
4718
  msgid "year"
4719
  msgstr ""
4720
 
4721
- #: classes/helpers/FrmAppHelper.php:1803
4722
  msgid "years"
4723
  msgstr ""
4724
 
4725
- #: classes/helpers/FrmAppHelper.php:1804
4726
  msgid "month"
4727
  msgstr ""
4728
 
4729
- #: classes/helpers/FrmAppHelper.php:1804
4730
  msgid "months"
4731
  msgstr ""
4732
 
4733
- #: classes/helpers/FrmAppHelper.php:1805
4734
  msgid "week"
4735
  msgstr ""
4736
 
4737
- #: classes/helpers/FrmAppHelper.php:1805
4738
  msgid "weeks"
4739
  msgstr ""
4740
 
4741
- #: classes/helpers/FrmAppHelper.php:1806
4742
  msgid "day"
4743
  msgstr ""
4744
 
4745
- #: classes/helpers/FrmAppHelper.php:1806
4746
  msgid "days"
4747
  msgstr ""
4748
 
4749
- #: classes/helpers/FrmAppHelper.php:1807
4750
  msgid "hour"
4751
  msgstr ""
4752
 
4753
- #: classes/helpers/FrmAppHelper.php:1807
4754
  msgid "hours"
4755
  msgstr ""
4756
 
4757
- #: classes/helpers/FrmAppHelper.php:1808
4758
  msgid "minute"
4759
  msgstr ""
4760
 
4761
- #: classes/helpers/FrmAppHelper.php:1808
4762
  msgid "minutes"
4763
  msgstr ""
4764
 
4765
- #: classes/helpers/FrmAppHelper.php:1809
4766
  msgid "second"
4767
  msgstr ""
4768
 
4769
- #: classes/helpers/FrmAppHelper.php:1901
4770
  msgid "Give this action a label for easy reference."
4771
  msgstr ""
4772
 
4773
- #: classes/helpers/FrmAppHelper.php:1902
4774
  msgid "Add one or more recipient addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com. [admin_email] is the address set in WP General Settings."
4775
  msgstr ""
4776
 
4777
- #: classes/helpers/FrmAppHelper.php:1903
4778
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4779
  msgstr ""
4780
 
4781
- #: classes/helpers/FrmAppHelper.php:1904
4782
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4783
  msgstr ""
4784
 
4785
- #: classes/helpers/FrmAppHelper.php:1905
4786
  msgid "If you would like a different reply to address than the \"from\" address, add a single address here. FORMAT: Name <name@email.com> or name@email.com."
4787
  msgstr ""
4788
 
4789
- #: classes/helpers/FrmAppHelper.php:1906
4790
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
4791
  msgstr ""
4792
 
4793
  #. translators: %1$s: Form name, %2$s: Date
4794
- #: classes/helpers/FrmAppHelper.php:1908
4795
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
4796
  msgstr ""
4797
 
4798
- #: classes/helpers/FrmAppHelper.php:2102
4799
- #: classes/helpers/FrmAppHelper.php:2174
4800
  msgid "Please wait while your site updates."
4801
  msgstr ""
4802
 
4803
- #: classes/helpers/FrmAppHelper.php:2103
4804
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
4805
  msgstr ""
4806
 
4807
- #: classes/helpers/FrmAppHelper.php:2106
4808
- #: classes/helpers/FrmAppHelper.php:2133
4809
  msgid "Loading&hellip;"
4810
  msgstr ""
4811
 
4812
- #: classes/helpers/FrmAppHelper.php:2134
4813
  msgid "Remove"
4814
  msgstr ""
4815
 
4816
- #: classes/helpers/FrmAppHelper.php:2138
4817
  msgid "No results match"
4818
  msgstr ""
4819
 
4820
- #: classes/helpers/FrmAppHelper.php:2139
4821
  msgid "That file looks like Spam."
4822
  msgstr ""
4823
 
4824
- #: classes/helpers/FrmAppHelper.php:2140
4825
  msgid "There is an error in the calculation in the field with key"
4826
  msgstr ""
4827
 
4828
- #: classes/helpers/FrmAppHelper.php:2141
4829
  msgid "Please complete the preceding required fields before uploading a file."
4830
  msgstr ""
4831
 
4832
- #: classes/helpers/FrmAppHelper.php:2148
4833
  msgid "(Click to add description)"
4834
  msgstr ""
4835
 
4836
- #: classes/helpers/FrmAppHelper.php:2149
4837
  msgid "(Blank)"
4838
  msgstr ""
4839
 
4840
- #: classes/helpers/FrmAppHelper.php:2150
4841
  msgid "(no label)"
4842
  msgstr ""
4843
 
4844
- #: classes/helpers/FrmAppHelper.php:2151
4845
  msgid "Saving"
4846
  msgstr ""
4847
 
4848
- #: classes/helpers/FrmAppHelper.php:2152
4849
  msgid "Saved"
4850
  msgstr ""
4851
 
4852
- #: classes/helpers/FrmAppHelper.php:2153
4853
  msgid "OK"
4854
  msgstr ""
4855
 
4856
- #: classes/helpers/FrmAppHelper.php:2156
4857
  msgid "Clear default value when typing"
4858
  msgstr ""
4859
 
4860
- #: classes/helpers/FrmAppHelper.php:2157
4861
  msgid "Do not clear default value when typing"
4862
  msgstr ""
4863
 
4864
- #: classes/helpers/FrmAppHelper.php:2158
4865
  msgid "Default value will pass form validation"
4866
  msgstr ""
4867
 
4868
- #: classes/helpers/FrmAppHelper.php:2159
4869
  msgid "Default value will NOT pass form validation"
4870
  msgstr ""
4871
 
4872
- #: classes/helpers/FrmAppHelper.php:2161
4873
  msgid "Are you sure you want to delete this field and all data associated with it?"
4874
  msgstr ""
4875
 
4876
- #: classes/helpers/FrmAppHelper.php:2162
4877
  msgid "WARNING: This will delete all fields inside of the section as well."
4878
  msgstr ""
4879
 
4880
- #: classes/helpers/FrmAppHelper.php:2163
4881
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
4882
  msgstr ""
4883
 
4884
- #: classes/helpers/FrmAppHelper.php:2166
4885
  msgid "Enter Email"
4886
  msgstr ""
4887
 
4888
- #: classes/helpers/FrmAppHelper.php:2167
4889
  msgid "Confirm Email"
4890
  msgstr ""
4891
 
4892
- #: classes/helpers/FrmAppHelper.php:2168
4893
  msgid "Conditional content here"
4894
  msgstr ""
4895
 
4896
- #: classes/helpers/FrmAppHelper.php:2170
4897
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
4898
  msgstr ""
4899
 
4900
- #: classes/helpers/FrmAppHelper.php:2171
4901
  msgid "Enter Password"
4902
  msgstr ""
4903
 
4904
- #: classes/helpers/FrmAppHelper.php:2172
4905
  msgid "Confirm Password"
4906
  msgstr ""
4907
 
4908
- #: classes/helpers/FrmAppHelper.php:2173
4909
  msgid "Import Complete"
4910
  msgstr ""
4911
 
4912
- #: classes/helpers/FrmAppHelper.php:2175
4913
  msgid "Warning: There is no way to retrieve unsaved entries."
4914
  msgstr ""
4915
 
4916
- #: classes/helpers/FrmAppHelper.php:2176
4917
  msgid "Private"
4918
  msgstr ""
4919
 
4920
- #: classes/helpers/FrmAppHelper.php:2179
4921
  msgid "No new licenses were found"
4922
  msgstr ""
4923
 
4924
- #: classes/helpers/FrmAppHelper.php:2180
4925
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
4926
  msgstr ""
4927
 
4928
- #: classes/helpers/FrmAppHelper.php:2181
4929
  msgid "This calculation may have shortcodes that work in Views but not forms."
4930
  msgstr ""
4931
 
4932
- #: classes/helpers/FrmAppHelper.php:2182
4933
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
4934
  msgstr ""
4935
 
4936
- #: classes/helpers/FrmAppHelper.php:2183
4937
  msgid "Please enter a Repeat Limit that is greater than 1."
4938
  msgstr ""
4939
 
4940
- #: classes/helpers/FrmAppHelper.php:2184
4941
  msgid "Please select a limit between 0 and 200."
4942
  msgstr ""
4943
 
4944
- #: classes/helpers/FrmAppHelper.php:2209
4945
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
4946
  msgstr ""
4947
 
4948
- #: classes/helpers/FrmAppHelper.php:2236
4949
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
4950
  msgstr ""
4951
 
4952
- #: classes/helpers/FrmAppHelper.php:2264
4953
  msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+."
4954
  msgstr ""
4955
 
4956
- #: classes/helpers/FrmAppHelper.php:2270
4957
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
4958
  msgstr ""
4959
 
4960
- #: classes/helpers/FrmAppHelper.php:2284
4961
  msgid "English"
4962
  msgstr ""
4963
 
4964
- #: classes/helpers/FrmAppHelper.php:2285
4965
  msgid "Afrikaans"
4966
  msgstr ""
4967
 
4968
- #: classes/helpers/FrmAppHelper.php:2286
4969
  msgid "Albanian"
4970
  msgstr ""
4971
 
4972
- #: classes/helpers/FrmAppHelper.php:2287
4973
  msgid "Arabic"
4974
  msgstr ""
4975
 
4976
- #: classes/helpers/FrmAppHelper.php:2288
4977
  msgid "Armenian"
4978
  msgstr ""
4979
 
4980
- #: classes/helpers/FrmAppHelper.php:2289
4981
  msgid "Azerbaijani"
4982
  msgstr ""
4983
 
4984
- #: classes/helpers/FrmAppHelper.php:2290
4985
  msgid "Basque"
4986
  msgstr ""
4987
 
4988
- #: classes/helpers/FrmAppHelper.php:2291
4989
  msgid "Bosnian"
4990
  msgstr ""
4991
 
4992
- #: classes/helpers/FrmAppHelper.php:2292
4993
  msgid "Bulgarian"
4994
  msgstr ""
4995
 
4996
- #: classes/helpers/FrmAppHelper.php:2293
4997
  msgid "Catalan"
4998
  msgstr ""
4999
 
5000
- #: classes/helpers/FrmAppHelper.php:2294
5001
  msgid "Chinese Hong Kong"
5002
  msgstr ""
5003
 
5004
- #: classes/helpers/FrmAppHelper.php:2295
5005
  msgid "Chinese Simplified"
5006
  msgstr ""
5007
 
5008
- #: classes/helpers/FrmAppHelper.php:2296
5009
  msgid "Chinese Traditional"
5010
  msgstr ""
5011
 
5012
- #: classes/helpers/FrmAppHelper.php:2297
5013
  msgid "Croatian"
5014
  msgstr ""
5015
 
5016
- #: classes/helpers/FrmAppHelper.php:2298
5017
  msgid "Czech"
5018
  msgstr ""
5019
 
5020
- #: classes/helpers/FrmAppHelper.php:2299
5021
  msgid "Danish"
5022
  msgstr ""
5023
 
5024
- #: classes/helpers/FrmAppHelper.php:2300
5025
  msgid "Dutch"
5026
  msgstr ""
5027
 
5028
- #: classes/helpers/FrmAppHelper.php:2301
5029
  msgid "English/UK"
5030
  msgstr ""
5031
 
5032
- #: classes/helpers/FrmAppHelper.php:2302
5033
  msgid "Esperanto"
5034
  msgstr ""
5035
 
5036
- #: classes/helpers/FrmAppHelper.php:2303
5037
  msgid "Estonian"
5038
  msgstr ""
5039
 
5040
- #: classes/helpers/FrmAppHelper.php:2304
5041
  msgid "Faroese"
5042
  msgstr ""
5043
 
5044
- #: classes/helpers/FrmAppHelper.php:2305
5045
  msgid "Farsi/Persian"
5046
  msgstr ""
5047
 
5048
- #: classes/helpers/FrmAppHelper.php:2306
5049
  msgid "Filipino"
5050
  msgstr ""
5051
 
5052
- #: classes/helpers/FrmAppHelper.php:2307
5053
  msgid "Finnish"
5054
  msgstr ""
5055
 
5056
- #: classes/helpers/FrmAppHelper.php:2308
5057
  msgid "French"
5058
  msgstr ""
5059
 
5060
- #: classes/helpers/FrmAppHelper.php:2309
5061
  msgid "French/Canadian"
5062
  msgstr ""
5063
 
5064
- #: classes/helpers/FrmAppHelper.php:2310
5065
  msgid "French/Swiss"
5066
  msgstr ""
5067
 
5068
- #: classes/helpers/FrmAppHelper.php:2311
5069
  msgid "German"
5070
  msgstr ""
5071
 
5072
- #: classes/helpers/FrmAppHelper.php:2312
5073
  msgid "German/Austria"
5074
  msgstr ""
5075
 
5076
- #: classes/helpers/FrmAppHelper.php:2313
5077
  msgid "German/Switzerland"
5078
  msgstr ""
5079
 
5080
- #: classes/helpers/FrmAppHelper.php:2314
5081
  msgid "Greek"
5082
  msgstr ""
5083
 
5084
- #: classes/helpers/FrmAppHelper.php:2315
5085
- #: classes/helpers/FrmAppHelper.php:2316
5086
  msgid "Hebrew"
5087
  msgstr ""
5088
 
5089
- #: classes/helpers/FrmAppHelper.php:2317
5090
  msgid "Hindi"
5091
  msgstr ""
5092
 
5093
- #: classes/helpers/FrmAppHelper.php:2318
5094
  msgid "Hungarian"
5095
  msgstr ""
5096
 
5097
- #: classes/helpers/FrmAppHelper.php:2319
5098
  msgid "Icelandic"
5099
  msgstr ""
5100
 
5101
- #: classes/helpers/FrmAppHelper.php:2320
5102
  msgid "Indonesian"
5103
  msgstr ""
5104
 
5105
- #: classes/helpers/FrmAppHelper.php:2321
5106
  msgid "Italian"
5107
  msgstr ""
5108
 
5109
- #: classes/helpers/FrmAppHelper.php:2322
5110
  msgid "Japanese"
5111
  msgstr ""
5112
 
5113
- #: classes/helpers/FrmAppHelper.php:2323
5114
  msgid "Korean"
5115
  msgstr ""
5116
 
5117
- #: classes/helpers/FrmAppHelper.php:2324
5118
  msgid "Latvian"
5119
  msgstr ""
5120
 
5121
- #: classes/helpers/FrmAppHelper.php:2325
5122
  msgid "Lithuanian"
5123
  msgstr ""
5124
 
5125
- #: classes/helpers/FrmAppHelper.php:2326
5126
  msgid "Malaysian"
5127
  msgstr ""
5128
 
5129
- #: classes/helpers/FrmAppHelper.php:2327
5130
  msgid "Norwegian"
5131
  msgstr ""
5132
 
5133
- #: classes/helpers/FrmAppHelper.php:2328
5134
  msgid "Polish"
5135
  msgstr ""
5136
 
5137
- #: classes/helpers/FrmAppHelper.php:2329
5138
  msgid "Portuguese"
5139
  msgstr ""
5140
 
5141
- #: classes/helpers/FrmAppHelper.php:2330
5142
  msgid "Portuguese/Brazilian"
5143
  msgstr ""
5144
 
5145
- #: classes/helpers/FrmAppHelper.php:2331
5146
  msgid "Portuguese/Portugal"
5147
  msgstr ""
5148
 
5149
- #: classes/helpers/FrmAppHelper.php:2332
5150
  msgid "Romanian"
5151
  msgstr ""
5152
 
5153
- #: classes/helpers/FrmAppHelper.php:2333
5154
  msgid "Russian"
5155
  msgstr ""
5156
 
5157
- #: classes/helpers/FrmAppHelper.php:2334
5158
- #: classes/helpers/FrmAppHelper.php:2335
5159
  msgid "Serbian"
5160
  msgstr ""
5161
 
5162
- #: classes/helpers/FrmAppHelper.php:2336
5163
  msgid "Slovak"
5164
  msgstr ""
5165
 
5166
- #: classes/helpers/FrmAppHelper.php:2337
5167
  msgid "Slovenian"
5168
  msgstr ""
5169
 
5170
- #: classes/helpers/FrmAppHelper.php:2338
5171
  msgid "Spanish"
5172
  msgstr ""
5173
 
5174
- #: classes/helpers/FrmAppHelper.php:2339
5175
  msgid "Spanish/Latin America"
5176
  msgstr ""
5177
 
5178
- #: classes/helpers/FrmAppHelper.php:2340
5179
  msgid "Swedish"
5180
  msgstr ""
5181
 
5182
- #: classes/helpers/FrmAppHelper.php:2341
5183
  msgid "Tamil"
5184
  msgstr ""
5185
 
5186
- #: classes/helpers/FrmAppHelper.php:2342
5187
  msgid "Thai"
5188
  msgstr ""
5189
 
5190
- #: classes/helpers/FrmAppHelper.php:2343
5191
- #: classes/helpers/FrmAppHelper.php:2344
5192
  msgid "Turkish"
5193
  msgstr ""
5194
 
5195
- #: classes/helpers/FrmAppHelper.php:2345
5196
  msgid "Ukranian"
5197
  msgstr ""
5198
 
5199
- #: classes/helpers/FrmAppHelper.php:2346
5200
  msgid "Vietnamese"
5201
  msgstr ""
5202
 
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Formidable Forms 4.03.02\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\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: 2019-11-06T17:46:02+01:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
278
  msgid "File Upload"
279
  msgstr ""
280
 
281
+ #: classes/models/FrmField.php:78
282
  msgid "Rich Text"
283
  msgstr ""
284
 
285
+ #: classes/models/FrmField.php:82
286
  #: classes/controllers/FrmFormsController.php:732
287
  msgid "Date"
288
  msgstr ""
289
 
290
+ #: classes/models/FrmField.php:86
291
  msgid "Time"
292
  msgstr ""
293
 
294
+ #: classes/models/FrmField.php:90
295
  msgid "Scale"
296
  msgstr ""
297
 
298
+ #: classes/models/FrmField.php:95
299
  msgid "Star Rating"
300
  msgstr ""
301
 
302
+ #: classes/models/FrmField.php:99
303
  msgid "Slider"
304
  msgstr ""
305
 
306
+ #: classes/models/FrmField.php:103
307
  msgid "Toggle"
308
  msgstr ""
309
 
310
+ #: classes/models/FrmField.php:107
311
  msgid "Dynamic"
312
  msgstr ""
313
 
314
+ #: classes/models/FrmField.php:112
315
  msgid "Lookup"
316
  msgstr ""
317
 
318
+ #: classes/models/FrmField.php:117
319
  msgid "Repeater"
320
  msgstr ""
321
 
322
+ #: classes/models/FrmField.php:122
323
  msgid "Section Buttons"
324
  msgstr ""
325
 
326
+ #: classes/models/FrmField.php:126
327
  msgid "Section"
328
  msgstr ""
329
 
330
+ #: classes/models/FrmField.php:130
331
  msgid "Page Break"
332
  msgstr ""
333
 
334
+ #: classes/models/FrmField.php:135
335
  msgid "Embed Form"
336
  msgstr ""
337
 
338
+ #: classes/models/FrmField.php:139
339
  msgid "Password"
340
  msgstr ""
341
 
342
+ #: classes/models/FrmField.php:143
343
  msgid "Tags"
344
  msgstr ""
345
 
346
+ #: classes/models/FrmField.php:147
347
  msgid "Credit Card"
348
  msgstr ""
349
 
350
+ #: classes/models/FrmField.php:152
351
  msgid "Address"
352
  msgstr ""
353
 
354
+ #: classes/models/FrmField.php:156
355
+ msgid "Summary"
356
+ msgstr ""
357
+
358
+ #: classes/models/FrmField.php:161
359
  msgid "Signature"
360
  msgstr ""
361
 
362
+ #: classes/models/FrmField.php:166
363
  msgid "Quiz Score"
364
  msgstr ""
365
 
366
+ #: classes/models/FrmField.php:171
367
+ msgid "Appointment"
368
  msgstr ""
369
 
370
  #: classes/models/FrmDb.php:430
557
 
558
  #: classes/controllers/FrmAddonsController.php:19
559
  #: classes/controllers/FrmAddonsController.php:20
 
560
  #: classes/views/frm-fields/back-end/smart-values.php:11
561
  msgid "Upgrade to Pro"
562
  msgstr ""
570
  msgstr ""
571
 
572
  #: classes/controllers/FrmAddonsController.php:481
573
+ #: classes/helpers/FrmAppHelper.php:2210
574
  msgid "Active"
575
  msgstr ""
576
 
710
  #: classes/controllers/FrmSettingsController.php:237
711
  #: classes/views/frm-forms/_publish_box.php:9
712
  #: classes/views/frm-forms/edit.php:23
713
+ #: classes/views/frm-forms/add_field_links.php:175
714
  #: classes/views/styles/header-buttons.php:7
715
  #: classes/views/styles/manage.php:84
716
  #: classes/helpers/FrmStylesHelper.php:70
1293
 
1294
  #: classes/views/frm-forms/new-form-overlay.php:31
1295
  #: classes/views/shared/confirm-overlay.php:14
1296
+ #: classes/views/shared/admin-header.php:37
1297
+ #: classes/helpers/FrmAppHelper.php:2178
1298
  msgid "Cancel"
1299
  msgstr ""
1300
 
1306
  #: classes/views/shared/mb_adv_info.php:35
1307
  #: classes/views/shared/mb_adv_info.php:178
1308
  #: classes/views/frm-entries/list.php:38
1309
+ #: classes/helpers/FrmAppHelper.php:915
1310
  msgid "Search"
1311
  msgstr ""
1312
 
1608
  msgid "%s fields"
1609
  msgstr ""
1610
 
1611
+ #: classes/views/frm-forms/add_field_links.php:133
1612
  msgid "Select a field to see the options"
1613
  msgstr ""
1614
 
1615
+ #: classes/views/frm-forms/add_field_links.php:147
1616
  msgid "Smart Default Values"
1617
  msgstr ""
1618
 
1619
+ #: classes/views/frm-forms/add_field_links.php:155
1620
  msgid "Add Layout Classes"
1621
  msgstr ""
1622
 
1623
+ #: classes/views/frm-forms/add_field_links.php:163
1624
  msgid "Input Mask Format"
1625
  msgstr ""
1626
 
1787
  #: classes/views/addons/list.php:61
1788
  #: classes/views/addons/list.php:62
1789
  #: classes/views/shared/upgrade_overlay.php:27
1790
+ #: classes/helpers/FrmAppHelper.php:2209
1791
  msgid "Install"
1792
  msgstr ""
1793
 
1808
  msgstr ""
1809
 
1810
  #: classes/views/shared/confirm-overlay.php:10
1811
+ #: classes/helpers/FrmAppHelper.php:2184
1812
  msgid "Are you sure?"
1813
  msgstr ""
1814
 
1834
  msgstr ""
1835
 
1836
  #. translators: %s: Feature name
1837
+ #: classes/views/shared/upgrade_overlay.php:33
1838
  msgid "%s are not available on your plan. Please upgrade or renew your license to unlock more awesome features."
1839
  msgstr ""
1840
 
1841
  #. translators: %s: Feature name
1842
+ #: classes/views/shared/upgrade_overlay.php:36
1843
  #: classes/views/frm-fields/back-end/smart-values.php:5
1844
  msgid "%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?"
1845
  msgstr ""
1846
 
1847
  #. translators: %s: Plan name
1848
+ #: classes/views/shared/upgrade_overlay.php:48
1849
+ #: classes/views/shared/upgrade_overlay.php:58
1850
  msgid "Upgrade to %s"
1851
  msgstr ""
1852
 
1853
+ #: classes/views/shared/upgrade_overlay.php:66
1854
  #: classes/views/frm-fields/back-end/smart-values.php:15
1855
  msgid "Already purchased?"
1856
  msgstr ""
1923
 
1924
  #: classes/views/shared/mb_adv_info.php:90
1925
  #: classes/helpers/FrmCSVExportHelper.php:154
1926
+ #: classes/helpers/FrmAppHelper.php:2161
1927
  msgid "ID"
1928
  msgstr ""
1929
 
2548
  msgstr ""
2549
 
2550
  #: classes/views/frm-fields/back-end/settings.php:265
2551
+ #: classes/helpers/FrmAppHelper.php:2179
2552
  msgid "Default"
2553
  msgstr ""
2554
 
3243
  msgstr ""
3244
 
3245
  #: classes/helpers/FrmFormsListHelper.php:114
3246
+ #: classes/helpers/FrmAppHelper.php:900
3247
  msgid "Add New"
3248
  msgstr ""
3249
 
3295
  msgstr ""
3296
 
3297
  #: classes/helpers/FrmFieldsHelper.php:284
3298
+ #: classes/helpers/FrmAppHelper.php:2189
3299
  msgid "The entered values do not match"
3300
  msgstr ""
3301
 
3306
 
3307
  #: classes/helpers/FrmFieldsHelper.php:454
3308
  #: classes/helpers/FrmFieldsHelper.php:455
3309
+ #: classes/helpers/FrmAppHelper.php:2193
3310
  msgid "New Option"
3311
  msgstr ""
3312
 
4669
  msgid "Parent ID"
4670
  msgstr ""
4671
 
4672
+ #: classes/helpers/FrmAppHelper.php:1117
4673
  msgid "View Forms and Templates"
4674
  msgstr ""
4675
 
4676
+ #: classes/helpers/FrmAppHelper.php:1118
4677
  msgid "Add/Edit Forms and Templates"
4678
  msgstr ""
4679
 
4680
+ #: classes/helpers/FrmAppHelper.php:1119
4681
  msgid "Delete Forms and Templates"
4682
  msgstr ""
4683
 
4684
+ #: classes/helpers/FrmAppHelper.php:1120
4685
  msgid "Access this Settings Page"
4686
  msgstr ""
4687
 
4688
+ #: classes/helpers/FrmAppHelper.php:1121
4689
  msgid "View Entries from Admin Area"
4690
  msgstr ""
4691
 
4692
+ #: classes/helpers/FrmAppHelper.php:1122
4693
  msgid "Delete Entries from Admin Area"
4694
  msgstr ""
4695
 
4696
+ #: classes/helpers/FrmAppHelper.php:1129
4697
  msgid "Add Entries from Admin Area"
4698
  msgstr ""
4699
 
4700
+ #: classes/helpers/FrmAppHelper.php:1130
4701
  msgid "Edit Entries from Admin Area"
4702
  msgstr ""
4703
 
4704
+ #: classes/helpers/FrmAppHelper.php:1131
4705
  msgid "View Reports"
4706
  msgstr ""
4707
 
4708
+ #: classes/helpers/FrmAppHelper.php:1132
4709
  msgid "Add/Edit Views"
4710
  msgstr ""
4711
 
4712
+ #: classes/helpers/FrmAppHelper.php:1763
4713
  msgid "at"
4714
  msgstr ""
4715
 
4716
+ #: classes/helpers/FrmAppHelper.php:1814
4717
+ #: classes/helpers/FrmAppHelper.php:1833
4718
  msgid "seconds"
4719
  msgstr ""
4720
 
4721
+ #: classes/helpers/FrmAppHelper.php:1827
4722
  msgid "year"
4723
  msgstr ""
4724
 
4725
+ #: classes/helpers/FrmAppHelper.php:1827
4726
  msgid "years"
4727
  msgstr ""
4728
 
4729
+ #: classes/helpers/FrmAppHelper.php:1828
4730
  msgid "month"
4731
  msgstr ""
4732
 
4733
+ #: classes/helpers/FrmAppHelper.php:1828
4734
  msgid "months"
4735
  msgstr ""
4736
 
4737
+ #: classes/helpers/FrmAppHelper.php:1829
4738
  msgid "week"
4739
  msgstr ""
4740
 
4741
+ #: classes/helpers/FrmAppHelper.php:1829
4742
  msgid "weeks"
4743
  msgstr ""
4744
 
4745
+ #: classes/helpers/FrmAppHelper.php:1830
4746
  msgid "day"
4747
  msgstr ""
4748
 
4749
+ #: classes/helpers/FrmAppHelper.php:1830
4750
  msgid "days"
4751
  msgstr ""
4752
 
4753
+ #: classes/helpers/FrmAppHelper.php:1831
4754
  msgid "hour"
4755
  msgstr ""
4756
 
4757
+ #: classes/helpers/FrmAppHelper.php:1831
4758
  msgid "hours"
4759
  msgstr ""
4760
 
4761
+ #: classes/helpers/FrmAppHelper.php:1832
4762
  msgid "minute"
4763
  msgstr ""
4764
 
4765
+ #: classes/helpers/FrmAppHelper.php:1832
4766
  msgid "minutes"
4767
  msgstr ""
4768
 
4769
+ #: classes/helpers/FrmAppHelper.php:1833
4770
  msgid "second"
4771
  msgstr ""
4772
 
4773
+ #: classes/helpers/FrmAppHelper.php:1925
4774
  msgid "Give this action a label for easy reference."
4775
  msgstr ""
4776
 
4777
+ #: classes/helpers/FrmAppHelper.php:1926
4778
  msgid "Add one or more recipient addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com. [admin_email] is the address set in WP General Settings."
4779
  msgstr ""
4780
 
4781
+ #: classes/helpers/FrmAppHelper.php:1927
4782
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4783
  msgstr ""
4784
 
4785
+ #: classes/helpers/FrmAppHelper.php:1928
4786
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4787
  msgstr ""
4788
 
4789
+ #: classes/helpers/FrmAppHelper.php:1929
4790
  msgid "If you would like a different reply to address than the \"from\" address, add a single address here. FORMAT: Name <name@email.com> or name@email.com."
4791
  msgstr ""
4792
 
4793
+ #: classes/helpers/FrmAppHelper.php:1930
4794
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
4795
  msgstr ""
4796
 
4797
  #. translators: %1$s: Form name, %2$s: Date
4798
+ #: classes/helpers/FrmAppHelper.php:1932
4799
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
4800
  msgstr ""
4801
 
4802
+ #: classes/helpers/FrmAppHelper.php:2126
4803
+ #: classes/helpers/FrmAppHelper.php:2198
4804
  msgid "Please wait while your site updates."
4805
  msgstr ""
4806
 
4807
+ #: classes/helpers/FrmAppHelper.php:2127
4808
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
4809
  msgstr ""
4810
 
4811
+ #: classes/helpers/FrmAppHelper.php:2130
4812
+ #: classes/helpers/FrmAppHelper.php:2157
4813
  msgid "Loading&hellip;"
4814
  msgstr ""
4815
 
4816
+ #: classes/helpers/FrmAppHelper.php:2158
4817
  msgid "Remove"
4818
  msgstr ""
4819
 
4820
+ #: classes/helpers/FrmAppHelper.php:2162
4821
  msgid "No results match"
4822
  msgstr ""
4823
 
4824
+ #: classes/helpers/FrmAppHelper.php:2163
4825
  msgid "That file looks like Spam."
4826
  msgstr ""
4827
 
4828
+ #: classes/helpers/FrmAppHelper.php:2164
4829
  msgid "There is an error in the calculation in the field with key"
4830
  msgstr ""
4831
 
4832
+ #: classes/helpers/FrmAppHelper.php:2165
4833
  msgid "Please complete the preceding required fields before uploading a file."
4834
  msgstr ""
4835
 
4836
+ #: classes/helpers/FrmAppHelper.php:2172
4837
  msgid "(Click to add description)"
4838
  msgstr ""
4839
 
4840
+ #: classes/helpers/FrmAppHelper.php:2173
4841
  msgid "(Blank)"
4842
  msgstr ""
4843
 
4844
+ #: classes/helpers/FrmAppHelper.php:2174
4845
  msgid "(no label)"
4846
  msgstr ""
4847
 
4848
+ #: classes/helpers/FrmAppHelper.php:2175
4849
  msgid "Saving"
4850
  msgstr ""
4851
 
4852
+ #: classes/helpers/FrmAppHelper.php:2176
4853
  msgid "Saved"
4854
  msgstr ""
4855
 
4856
+ #: classes/helpers/FrmAppHelper.php:2177
4857
  msgid "OK"
4858
  msgstr ""
4859
 
4860
+ #: classes/helpers/FrmAppHelper.php:2180
4861
  msgid "Clear default value when typing"
4862
  msgstr ""
4863
 
4864
+ #: classes/helpers/FrmAppHelper.php:2181
4865
  msgid "Do not clear default value when typing"
4866
  msgstr ""
4867
 
4868
+ #: classes/helpers/FrmAppHelper.php:2182
4869
  msgid "Default value will pass form validation"
4870
  msgstr ""
4871
 
4872
+ #: classes/helpers/FrmAppHelper.php:2183
4873
  msgid "Default value will NOT pass form validation"
4874
  msgstr ""
4875
 
4876
+ #: classes/helpers/FrmAppHelper.php:2185
4877
  msgid "Are you sure you want to delete this field and all data associated with it?"
4878
  msgstr ""
4879
 
4880
+ #: classes/helpers/FrmAppHelper.php:2186
4881
  msgid "WARNING: This will delete all fields inside of the section as well."
4882
  msgstr ""
4883
 
4884
+ #: classes/helpers/FrmAppHelper.php:2187
4885
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
4886
  msgstr ""
4887
 
4888
+ #: classes/helpers/FrmAppHelper.php:2190
4889
  msgid "Enter Email"
4890
  msgstr ""
4891
 
4892
+ #: classes/helpers/FrmAppHelper.php:2191
4893
  msgid "Confirm Email"
4894
  msgstr ""
4895
 
4896
+ #: classes/helpers/FrmAppHelper.php:2192
4897
  msgid "Conditional content here"
4898
  msgstr ""
4899
 
4900
+ #: classes/helpers/FrmAppHelper.php:2194
4901
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
4902
  msgstr ""
4903
 
4904
+ #: classes/helpers/FrmAppHelper.php:2195
4905
  msgid "Enter Password"
4906
  msgstr ""
4907
 
4908
+ #: classes/helpers/FrmAppHelper.php:2196
4909
  msgid "Confirm Password"
4910
  msgstr ""
4911
 
4912
+ #: classes/helpers/FrmAppHelper.php:2197
4913
  msgid "Import Complete"
4914
  msgstr ""
4915
 
4916
+ #: classes/helpers/FrmAppHelper.php:2199
4917
  msgid "Warning: There is no way to retrieve unsaved entries."
4918
  msgstr ""
4919
 
4920
+ #: classes/helpers/FrmAppHelper.php:2200
4921
  msgid "Private"
4922
  msgstr ""
4923
 
4924
+ #: classes/helpers/FrmAppHelper.php:2203
4925
  msgid "No new licenses were found"
4926
  msgstr ""
4927
 
4928
+ #: classes/helpers/FrmAppHelper.php:2204
4929
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
4930
  msgstr ""
4931
 
4932
+ #: classes/helpers/FrmAppHelper.php:2205
4933
  msgid "This calculation may have shortcodes that work in Views but not forms."
4934
  msgstr ""
4935
 
4936
+ #: classes/helpers/FrmAppHelper.php:2206
4937
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
4938
  msgstr ""
4939
 
4940
+ #: classes/helpers/FrmAppHelper.php:2207
4941
  msgid "Please enter a Repeat Limit that is greater than 1."
4942
  msgstr ""
4943
 
4944
+ #: classes/helpers/FrmAppHelper.php:2208
4945
  msgid "Please select a limit between 0 and 200."
4946
  msgstr ""
4947
 
4948
+ #: classes/helpers/FrmAppHelper.php:2233
4949
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
4950
  msgstr ""
4951
 
4952
+ #: classes/helpers/FrmAppHelper.php:2260
4953
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
4954
  msgstr ""
4955
 
4956
+ #: classes/helpers/FrmAppHelper.php:2288
4957
  msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+."
4958
  msgstr ""
4959
 
4960
+ #: classes/helpers/FrmAppHelper.php:2294
4961
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
4962
  msgstr ""
4963
 
4964
+ #: classes/helpers/FrmAppHelper.php:2308
4965
  msgid "English"
4966
  msgstr ""
4967
 
4968
+ #: classes/helpers/FrmAppHelper.php:2309
4969
  msgid "Afrikaans"
4970
  msgstr ""
4971
 
4972
+ #: classes/helpers/FrmAppHelper.php:2310
4973
  msgid "Albanian"
4974
  msgstr ""
4975
 
4976
+ #: classes/helpers/FrmAppHelper.php:2311
4977
  msgid "Arabic"
4978
  msgstr ""
4979
 
4980
+ #: classes/helpers/FrmAppHelper.php:2312
4981
  msgid "Armenian"
4982
  msgstr ""
4983
 
4984
+ #: classes/helpers/FrmAppHelper.php:2313
4985
  msgid "Azerbaijani"
4986
  msgstr ""
4987
 
4988
+ #: classes/helpers/FrmAppHelper.php:2314
4989
  msgid "Basque"
4990
  msgstr ""
4991
 
4992
+ #: classes/helpers/FrmAppHelper.php:2315
4993
  msgid "Bosnian"
4994
  msgstr ""
4995
 
4996
+ #: classes/helpers/FrmAppHelper.php:2316
4997
  msgid "Bulgarian"
4998
  msgstr ""
4999
 
5000
+ #: classes/helpers/FrmAppHelper.php:2317
5001
  msgid "Catalan"
5002
  msgstr ""
5003
 
5004
+ #: classes/helpers/FrmAppHelper.php:2318
5005
  msgid "Chinese Hong Kong"
5006
  msgstr ""
5007
 
5008
+ #: classes/helpers/FrmAppHelper.php:2319
5009
  msgid "Chinese Simplified"
5010
  msgstr ""
5011
 
5012
+ #: classes/helpers/FrmAppHelper.php:2320
5013
  msgid "Chinese Traditional"
5014
  msgstr ""
5015
 
5016
+ #: classes/helpers/FrmAppHelper.php:2321
5017
  msgid "Croatian"
5018
  msgstr ""
5019
 
5020
+ #: classes/helpers/FrmAppHelper.php:2322
5021
  msgid "Czech"
5022
  msgstr ""
5023
 
5024
+ #: classes/helpers/FrmAppHelper.php:2323
5025
  msgid "Danish"
5026
  msgstr ""
5027
 
5028
+ #: classes/helpers/FrmAppHelper.php:2324
5029
  msgid "Dutch"
5030
  msgstr ""
5031
 
5032
+ #: classes/helpers/FrmAppHelper.php:2325
5033
  msgid "English/UK"
5034
  msgstr ""
5035
 
5036
+ #: classes/helpers/FrmAppHelper.php:2326
5037
  msgid "Esperanto"
5038
  msgstr ""
5039
 
5040
+ #: classes/helpers/FrmAppHelper.php:2327
5041
  msgid "Estonian"
5042
  msgstr ""
5043
 
5044
+ #: classes/helpers/FrmAppHelper.php:2328
5045
  msgid "Faroese"
5046
  msgstr ""
5047
 
5048
+ #: classes/helpers/FrmAppHelper.php:2329
5049
  msgid "Farsi/Persian"
5050
  msgstr ""
5051
 
5052
+ #: classes/helpers/FrmAppHelper.php:2330
5053
  msgid "Filipino"
5054
  msgstr ""
5055
 
5056
+ #: classes/helpers/FrmAppHelper.php:2331
5057
  msgid "Finnish"
5058
  msgstr ""
5059
 
5060
+ #: classes/helpers/FrmAppHelper.php:2332
5061
  msgid "French"
5062
  msgstr ""
5063
 
5064
+ #: classes/helpers/FrmAppHelper.php:2333
5065
  msgid "French/Canadian"
5066
  msgstr ""
5067
 
5068
+ #: classes/helpers/FrmAppHelper.php:2334
5069
  msgid "French/Swiss"
5070
  msgstr ""
5071
 
5072
+ #: classes/helpers/FrmAppHelper.php:2335
5073
  msgid "German"
5074
  msgstr ""
5075
 
5076
+ #: classes/helpers/FrmAppHelper.php:2336
5077
  msgid "German/Austria"
5078
  msgstr ""
5079
 
5080
+ #: classes/helpers/FrmAppHelper.php:2337
5081
  msgid "German/Switzerland"
5082
  msgstr ""
5083
 
5084
+ #: classes/helpers/FrmAppHelper.php:2338
5085
  msgid "Greek"
5086
  msgstr ""
5087
 
5088
+ #: classes/helpers/FrmAppHelper.php:2339
5089
+ #: classes/helpers/FrmAppHelper.php:2340
5090
  msgid "Hebrew"
5091
  msgstr ""
5092
 
5093
+ #: classes/helpers/FrmAppHelper.php:2341
5094
  msgid "Hindi"
5095
  msgstr ""
5096
 
5097
+ #: classes/helpers/FrmAppHelper.php:2342
5098
  msgid "Hungarian"
5099
  msgstr ""
5100
 
5101
+ #: classes/helpers/FrmAppHelper.php:2343
5102
  msgid "Icelandic"
5103
  msgstr ""
5104
 
5105
+ #: classes/helpers/FrmAppHelper.php:2344
5106
  msgid "Indonesian"
5107
  msgstr ""
5108
 
5109
+ #: classes/helpers/FrmAppHelper.php:2345
5110
  msgid "Italian"
5111
  msgstr ""
5112
 
5113
+ #: classes/helpers/FrmAppHelper.php:2346
5114
  msgid "Japanese"
5115
  msgstr ""
5116
 
5117
+ #: classes/helpers/FrmAppHelper.php:2347
5118
  msgid "Korean"
5119
  msgstr ""
5120
 
5121
+ #: classes/helpers/FrmAppHelper.php:2348
5122
  msgid "Latvian"
5123
  msgstr ""
5124
 
5125
+ #: classes/helpers/FrmAppHelper.php:2349
5126
  msgid "Lithuanian"
5127
  msgstr ""
5128
 
5129
+ #: classes/helpers/FrmAppHelper.php:2350
5130
  msgid "Malaysian"
5131
  msgstr ""
5132
 
5133
+ #: classes/helpers/FrmAppHelper.php:2351
5134
  msgid "Norwegian"
5135
  msgstr ""
5136
 
5137
+ #: classes/helpers/FrmAppHelper.php:2352
5138
  msgid "Polish"
5139
  msgstr ""
5140
 
5141
+ #: classes/helpers/FrmAppHelper.php:2353
5142
  msgid "Portuguese"
5143
  msgstr ""
5144
 
5145
+ #: classes/helpers/FrmAppHelper.php:2354
5146
  msgid "Portuguese/Brazilian"
5147
  msgstr ""
5148
 
5149
+ #: classes/helpers/FrmAppHelper.php:2355
5150
  msgid "Portuguese/Portugal"
5151
  msgstr ""
5152
 
5153
+ #: classes/helpers/FrmAppHelper.php:2356
5154
  msgid "Romanian"
5155
  msgstr ""
5156
 
5157
+ #: classes/helpers/FrmAppHelper.php:2357
5158
  msgid "Russian"
5159
  msgstr ""
5160
 
5161
+ #: classes/helpers/FrmAppHelper.php:2358
5162
+ #: classes/helpers/FrmAppHelper.php:2359
5163
  msgid "Serbian"
5164
  msgstr ""
5165
 
5166
+ #: classes/helpers/FrmAppHelper.php:2360
5167
  msgid "Slovak"
5168
  msgstr ""
5169
 
5170
+ #: classes/helpers/FrmAppHelper.php:2361
5171
  msgid "Slovenian"
5172
  msgstr ""
5173
 
5174
+ #: classes/helpers/FrmAppHelper.php:2362
5175
  msgid "Spanish"
5176
  msgstr ""
5177
 
5178
+ #: classes/helpers/FrmAppHelper.php:2363
5179
  msgid "Spanish/Latin America"
5180
  msgstr ""
5181
 
5182
+ #: classes/helpers/FrmAppHelper.php:2364
5183
  msgid "Swedish"
5184
  msgstr ""
5185
 
5186
+ #: classes/helpers/FrmAppHelper.php:2365
5187
  msgid "Tamil"
5188
  msgstr ""
5189
 
5190
+ #: classes/helpers/FrmAppHelper.php:2366
5191
  msgid "Thai"
5192
  msgstr ""
5193
 
5194
+ #: classes/helpers/FrmAppHelper.php:2367
5195
+ #: classes/helpers/FrmAppHelper.php:2368
5196
  msgid "Turkish"
5197
  msgstr ""
5198
 
5199
+ #: classes/helpers/FrmAppHelper.php:2369
5200
  msgid "Ukranian"
5201
  msgstr ""
5202
 
5203
+ #: classes/helpers/FrmAppHelper.php:2370
5204
  msgid "Vietnamese"
5205
  msgstr ""
5206
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: forms, contact form, form builder, survey, form maker, form, form creator
4
  Requires at least: 4.6
5
  Tested up to: 5.2.3
6
  Requires PHP: 5.6
7
- Stable tag: 4.03.01
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
@@ -356,6 +356,11 @@ The Formidable drag & drop form builder combined with our add-ons is the most po
356
  To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced forms, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
357
 
358
  == Changelog ==
 
 
 
 
 
359
  = 4.03.01 =
360
  * Add an option to filter form templates by category.
361
  * Add the refresh downloads link on the add-ons and form templates pages.
4
  Requires at least: 4.6
5
  Tested up to: 5.2.3
6
  Requires PHP: 5.6
7
+ Stable tag: 4.03.02
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
356
  To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced forms, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
357
 
358
  == Changelog ==
359
+ = 4.03.02 =
360
+ * Add 'frm_form_object' hook run when a form is fetched from the database.
361
+ * Include more education about field types, including the new Appointments field.
362
+ * Fix: Dropdown fields weren't saving HTML values correctly.
363
+
364
  = 4.03.01 =
365
  * Add an option to filter form templates by category.
366
  * Add the refresh downloads link on the add-ons and form templates pages.