Formidable Forms – Form Builder for WordPress - Version 4.07

Version Description

  • New: Use frm_inline_success for the form class in the customized HTML to move the success message next to the submit button. "frm_inline_success frm_alignright_success" will right-align the message.
  • Tweak: Improve the form listing page and entry listings page when nothing has been created.
  • Fix: Update the recaptcha for better reliability to catch more spam.
Download this release

Release Info

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

Code changes from version 4.06.03 to 4.07

classes/controllers/FrmAppController.php CHANGED
@@ -83,6 +83,7 @@ class FrmAppController {
83
  $white_pages = array(
84
  'formidable',
85
  'formidable-entries',
 
86
  'formidable-pro-upgrade',
87
  'formidable-addons',
88
  'formidable-import',
@@ -167,27 +168,23 @@ class FrmAppController {
167
  // Let people know reports and views exist.
168
  if ( ! FrmAppHelper::pro_is_installed() ) {
169
  $nav_items[] = array(
170
- 'link' => '',
171
  'label' => __( 'Views', 'formidable' ),
172
  'current' => array(),
173
- 'page' => '',
174
  'permission' => 'frm_view_entries',
175
  'atts' => array(
176
- 'class' => 'frm_show_upgrade frm_noallow',
177
- 'data-upgrade' => __( 'Views', 'formidable' ),
178
- 'data-medium' => 'views-nav',
179
  ),
180
  );
181
  $nav_items[] = array(
182
- 'link' => '',
183
  'label' => __( 'Reports', 'formidable' ),
184
- 'current' => array(),
185
- 'page' => '',
186
  'permission' => 'frm_view_entries',
187
  'atts' => array(
188
- 'class' => 'frm_show_upgrade frm_noallow',
189
- 'data-upgrade' => __( 'Reports', 'formidable' ),
190
- 'data-medium' => 'reports-nav',
191
  ),
192
  );
193
  }
83
  $white_pages = array(
84
  'formidable',
85
  'formidable-entries',
86
+ 'formidable-views',
87
  'formidable-pro-upgrade',
88
  'formidable-addons',
89
  'formidable-import',
168
  // Let people know reports and views exist.
169
  if ( ! FrmAppHelper::pro_is_installed() ) {
170
  $nav_items[] = array(
171
+ 'link' => admin_url( 'admin.php?page=formidable-views&frm-full=1&form=' . absint( $id ) ),
172
  'label' => __( 'Views', 'formidable' ),
173
  'current' => array(),
174
+ 'page' => 'formidable-views',
175
  'permission' => 'frm_view_entries',
176
  'atts' => array(
177
+ 'class' => 'frm_noallow',
 
 
178
  ),
179
  );
180
  $nav_items[] = array(
181
+ 'link' => admin_url( 'admin.php?page=formidable&frm_action=lite-reports&frm-full=1&form=' . absint( $id ) ),
182
  'label' => __( 'Reports', 'formidable' ),
183
+ 'current' => array( 'reports' ),
184
+ 'page' => 'formidable',
185
  'permission' => 'frm_view_entries',
186
  'atts' => array(
187
+ 'class' => 'frm_noallow',
 
 
188
  ),
189
  );
190
  }
classes/controllers/FrmEntriesController.php CHANGED
@@ -7,6 +7,10 @@ class FrmEntriesController {
7
 
8
  add_submenu_page( 'formidable', 'Formidable | ' . __( 'Entries', 'formidable' ), __( 'Entries', 'formidable' ), 'frm_view_entries', 'formidable-entries', 'FrmEntriesController::route' );
9
 
 
 
 
 
10
  if ( FrmAppHelper::is_admin_page( 'formidable-entries' ) ) {
11
  self::load_manage_entries_hooks();
12
  }
7
 
8
  add_submenu_page( 'formidable', 'Formidable | ' . __( 'Entries', 'formidable' ), __( 'Entries', 'formidable' ), 'frm_view_entries', 'formidable-entries', 'FrmEntriesController::route' );
9
 
10
+ if ( ! FrmAppHelper::pro_is_installed() ) {
11
+ add_submenu_page( 'formidable', 'Formidable | ' . __( 'Views', 'formidable' ), __( 'Views', 'formidable' ), 'frm_view_entries', 'formidable-views', 'FrmFormsController::no_views' );
12
+ }
13
+
14
  if ( FrmAppHelper::is_admin_page( 'formidable-entries' ) ) {
15
  self::load_manage_entries_hooks();
16
  }
classes/controllers/FrmFormsController.php CHANGED
@@ -1386,6 +1386,10 @@ class FrmFormsController {
1386
  case 'settings':
1387
  case 'update_settings':
1388
  return self::$action( $vars );
 
 
 
 
1389
  default:
1390
  do_action( 'frm_form_action_' . $action );
1391
  if ( apply_filters( 'frm_form_stop_action_' . $action, false ) ) {
@@ -1422,6 +1426,31 @@ class FrmFormsController {
1422
  include( FrmAppHelper::plugin_path() . '/classes/views/frm-forms/add_form_style_options.php' );
1423
  }
1424
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1425
  /* FRONT-END FORMS */
1426
  public static function admin_bar_css() {
1427
  if ( is_admin() || ! current_user_can( 'frm_edit_forms' ) ) {
@@ -1878,14 +1907,19 @@ class FrmFormsController {
1878
  }
1879
 
1880
  /**
1881
- * @return string - 'before' or 'after'
1882
  *
1883
  * @since 4.05.02
1884
  */
1885
  private static function message_placement( $form, $message ) {
1886
  $place = 'before';
1887
- if ( ! empty( $message ) && isset( $form->options['form_class'] ) && strpos( $form->options['form_class'], 'frm_below_success' ) !== false ) {
1888
- $place = 'after';
 
 
 
 
 
1889
  }
1890
 
1891
  /**
1386
  case 'settings':
1387
  case 'update_settings':
1388
  return self::$action( $vars );
1389
+ case 'lite-reports':
1390
+ return self::no_reports( $vars );
1391
+ case 'views':
1392
+ return self::no_views( $vars );
1393
  default:
1394
  do_action( 'frm_form_action_' . $action );
1395
  if ( apply_filters( 'frm_form_stop_action_' . $action, false ) ) {
1426
  include( FrmAppHelper::plugin_path() . '/classes/views/frm-forms/add_form_style_options.php' );
1427
  }
1428
 
1429
+ /**
1430
+ * Add education about views.
1431
+ *
1432
+ * @since 4.07
1433
+ */
1434
+ public static function no_views( $values = array() ) {
1435
+ FrmAppHelper::include_svg();
1436
+ $id = FrmAppHelper::get_param( 'form', '', 'get', 'absint' );
1437
+ $form = $id ? FrmForm::getOne( $id ) : false;
1438
+
1439
+ include FrmAppHelper::plugin_path() . '/classes/views/shared/views-info.php';
1440
+ }
1441
+
1442
+ /**
1443
+ * Add education about reports.
1444
+ *
1445
+ * @since 4.07
1446
+ */
1447
+ public static function no_reports( $values = array() ) {
1448
+ $id = FrmAppHelper::get_param( 'form', '', 'get', 'absint' );
1449
+ $form = $id ? FrmForm::getOne( $id ) : false;
1450
+
1451
+ include FrmAppHelper::plugin_path() . '/classes/views/shared/reports-info.php';
1452
+ }
1453
+
1454
  /* FRONT-END FORMS */
1455
  public static function admin_bar_css() {
1456
  if ( is_admin() || ! current_user_can( 'frm_edit_forms' ) ) {
1907
  }
1908
 
1909
  /**
1910
+ * @return string - 'before', 'after', or 'submit'
1911
  *
1912
  * @since 4.05.02
1913
  */
1914
  private static function message_placement( $form, $message ) {
1915
  $place = 'before';
1916
+
1917
+ if ( $message && isset( $form->options['form_class'] ) ) {
1918
+ if ( strpos( $form->options['form_class'], 'frm_below_success' ) !== false ) {
1919
+ $place = 'after';
1920
+ } elseif ( strpos( $form->options['form_class'], 'frm_inline_success' ) !== false ) {
1921
+ $place = 'submit';
1922
+ }
1923
  }
1924
 
1925
  /**
classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '4.06.03';
15
 
16
  /**
17
  * @since 1.07.02
@@ -115,6 +115,27 @@ class FrmAppHelper {
115
  return self::make_affiliate_url( $link );
116
  }
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  /**
119
  * Get the Formidable settings
120
  *
@@ -899,7 +920,8 @@ class FrmAppHelper {
899
  * @since 3.0
900
  */
901
  public static function add_new_item_link( $atts ) {
902
- if ( isset( $atts['new_link'] ) && ! empty( $atts['new_link'] ) ) { ?>
 
903
  <a href="<?php echo esc_url( $atts['new_link'] ); ?>" class="button button-primary frm-button-primary frm-with-plus">
904
  <?php self::icon_by_class( 'frmfont frm_plus_icon frm_svg15' ); ?>
905
  <?php esc_html_e( 'Add New', 'formidable' ); ?>
@@ -1157,6 +1179,19 @@ class FrmAppHelper {
1157
  <?php
1158
  }
1159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1160
  /**
1161
  * @param string|array $capability
1162
  */
@@ -1172,7 +1207,7 @@ class FrmAppHelper {
1172
  foreach ( $editable_roles as $role => $details ) {
1173
  $name = translate_user_role( $details['name'] );
1174
  ?>
1175
- <option value="<?php echo esc_attr( $role ); ?>" <?php echo in_array( $role, (array) $capability ) ? ' selected="selected"' : ''; ?>><?php echo esc_attr( $name ); ?> </option>
1176
  <?php
1177
  unset( $role, $details );
1178
  }
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '4.07';
15
 
16
  /**
17
  * @since 1.07.02
115
  return self::make_affiliate_url( $link );
116
  }
117
 
118
+ /**
119
+ * @since 4.07
120
+ */
121
+ public static function renewal_message() {
122
+ if ( ! FrmAddonsController::is_license_expired() ) {
123
+ return;
124
+ }
125
+ ?>
126
+ <div class="frm_error_style" style="text-align:left">
127
+ <?php self::icon_by_class( 'frmfont frm_alert_icon' ); ?>
128
+ &nbsp;
129
+ <?php esc_attr_e( 'Your account has expired', 'formidable' ); ?>
130
+ <div style="float:right">
131
+ <a href="<?php echo esc_url( self::admin_upgrade_link( 'form-renew', 'account/downloads/' ) ); ?>">
132
+ Renew Now
133
+ </a>
134
+ </div>
135
+ </div>
136
+ <?php
137
+ }
138
+
139
  /**
140
  * Get the Formidable settings
141
  *
920
  * @since 3.0
921
  */
922
  public static function add_new_item_link( $atts ) {
923
+ if ( isset( $atts['new_link'] ) && ! empty( $atts['new_link'] ) ) {
924
+ ?>
925
  <a href="<?php echo esc_url( $atts['new_link'] ); ?>" class="button button-primary frm-button-primary frm-with-plus">
926
  <?php self::icon_by_class( 'frmfont frm_plus_icon frm_svg15' ); ?>
927
  <?php esc_html_e( 'Add New', 'formidable' ); ?>
1179
  <?php
1180
  }
1181
 
1182
+ /**
1183
+ * @since 4.07
1184
+ * @param array|string $selected
1185
+ * @param string $current
1186
+ */
1187
+ private static function selected( $selected, $current ) {
1188
+ if ( is_callable( 'FrmProAppHelper::selected' ) ) {
1189
+ FrmProAppHelper::selected( $selected, $current );
1190
+ } else {
1191
+ selected( in_array( $current, (array) $selected, true ) );
1192
+ }
1193
+ }
1194
+
1195
  /**
1196
  * @param string|array $capability
1197
  */
1207
  foreach ( $editable_roles as $role => $details ) {
1208
  $name = translate_user_role( $details['name'] );
1209
  ?>
1210
+ <option value="<?php echo esc_attr( $role ); ?>" <?php self::selected( $capability, $role ); ?>><?php echo esc_attr( $name ); ?> </option>
1211
  <?php
1212
  unset( $role, $details );
1213
  }
classes/helpers/FrmEntriesListHelper.php CHANGED
@@ -5,6 +5,11 @@ class FrmEntriesListHelper extends FrmListHelper {
5
  protected $item;
6
  protected $field;
7
 
 
 
 
 
 
8
  public function prepare_items() {
9
  global $per_page;
10
 
@@ -70,6 +75,7 @@ class FrmEntriesListHelper extends FrmListHelper {
70
  $limit = FrmDb::esc_limit( $start . ',' . $per_page );
71
  $this->items = FrmEntry::getAll( $s_query, $order, $limit, true, $join_form_in_query );
72
  $total_items = FrmEntry::getRecordCount( $s_query );
 
73
 
74
  $this->set_pagination_args(
75
  array(
5
  protected $item;
6
  protected $field;
7
 
8
+ /**
9
+ * @since 4.07
10
+ */
11
+ public $total_items = 0;
12
+
13
  public function prepare_items() {
14
  global $per_page;
15
 
75
  $limit = FrmDb::esc_limit( $start . ',' . $per_page );
76
  $this->items = FrmEntry::getAll( $s_query, $order, $limit, true, $join_form_in_query );
77
  $total_items = FrmEntry::getRecordCount( $s_query );
78
+ $this->total_items = $total_items;
79
 
80
  $this->set_pagination_args(
81
  array(
classes/helpers/FrmFormsListHelper.php CHANGED
@@ -6,6 +6,8 @@ if ( ! defined( 'ABSPATH' ) ) {
6
  class FrmFormsListHelper extends FrmListHelper {
7
  public $status = '';
8
 
 
 
9
  public function __construct( $args ) {
10
  $this->status = self::get_param( array( 'param' => 'form_type' ) );
11
 
@@ -88,6 +90,7 @@ class FrmFormsListHelper extends FrmListHelper {
88
 
89
  $this->items = FrmForm::getAll( $s_query, $orderby . ' ' . $order, $start . ',' . $per_page );
90
  $total_items = FrmDb::get_count( 'frm_forms', $s_query );
 
91
 
92
  $this->set_pagination_args(
93
  array(
@@ -98,24 +101,19 @@ class FrmFormsListHelper extends FrmListHelper {
98
  }
99
 
100
  public function no_items() {
101
- echo '<p>';
102
  if ( $this->status === 'trash' ) {
 
103
  esc_html_e( 'No forms found in the trash.', 'formidable' );
104
  ?>
105
  <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable' ) ); ?>">
106
  <?php esc_html_e( 'See all forms.', 'formidable' ); ?>
107
  </a>
108
  <?php
 
109
  } else {
110
-
111
- esc_html_e( 'No Forms Found.', 'formidable' );
112
- ?>
113
- <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable&frm_action=add_new' ) ); ?>">
114
- <?php esc_html_e( 'Add New', 'formidable' ); ?>
115
- </a>
116
- <?php
117
  }
118
- echo '</p>';
119
  }
120
 
121
  public function get_bulk_actions() {
6
  class FrmFormsListHelper extends FrmListHelper {
7
  public $status = '';
8
 
9
+ public $total_items = 0;
10
+
11
  public function __construct( $args ) {
12
  $this->status = self::get_param( array( 'param' => 'form_type' ) );
13
 
90
 
91
  $this->items = FrmForm::getAll( $s_query, $orderby . ' ' . $order, $start . ',' . $per_page );
92
  $total_items = FrmDb::get_count( 'frm_forms', $s_query );
93
+ $this->total_items = $total_items;
94
 
95
  $this->set_pagination_args(
96
  array(
101
  }
102
 
103
  public function no_items() {
 
104
  if ( $this->status === 'trash' ) {
105
+ echo '<p>';
106
  esc_html_e( 'No forms found in the trash.', 'formidable' );
107
  ?>
108
  <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable' ) ); ?>">
109
  <?php esc_html_e( 'See all forms.', 'formidable' ); ?>
110
  </a>
111
  <?php
112
+ echo '</p>';
113
  } else {
114
+ $title = __( 'No Forms Found', 'formidable' );
115
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-forms/_no_forms.php';
 
 
 
 
 
116
  }
 
117
  }
118
 
119
  public function get_bulk_actions() {
classes/helpers/FrmListHelper.php CHANGED
@@ -13,6 +13,11 @@ class FrmListHelper {
13
  */
14
  public $items;
15
 
 
 
 
 
 
16
  /**
17
  * Various information about the current table
18
  *
@@ -945,6 +950,10 @@ class FrmListHelper {
945
  $class = "class='" . esc_attr( join( ' ', $class ) ) . "'";
946
  }
947
 
 
 
 
 
948
  echo "<$tag $scope $id $class>$column_display_name</$tag>"; // WPCS: XSS ok.
949
  }
950
  }
@@ -961,22 +970,25 @@ class FrmListHelper {
961
  $this->display_tablenav( 'top' );
962
  ?>
963
  <table class="wp-list-table <?php echo esc_attr( implode( ' ', $this->get_table_classes() ) ); ?>">
 
964
  <thead>
965
  <tr>
966
  <?php $this->print_column_headers(); ?>
967
  </tr>
968
  </thead>
 
969
 
970
  <tbody id="the-list"<?php echo( $singular ? " data-wp-lists='list:" . esc_attr( $singular ) . "'" : '' ); // WPCS: XSS ok. ?>>
971
  <?php $this->display_rows_or_placeholder(); ?>
972
  </tbody>
973
 
 
974
  <tfoot>
975
  <tr>
976
  <?php $this->print_column_headers( false ); ?>
977
  </tr>
978
  </tfoot>
979
-
980
  </table>
981
  <?php
982
  $this->display_tablenav( 'bottom' );
@@ -1005,6 +1017,13 @@ class FrmListHelper {
1005
  protected function display_tablenav( $which ) {
1006
  if ( 'top' == $which ) {
1007
  wp_nonce_field( 'bulk-' . $this->_args['plural'] );
 
 
 
 
 
 
 
1008
  }
1009
  ?>
1010
  <div class="tablenav <?php echo esc_attr( $which ); ?>">
@@ -1022,6 +1041,16 @@ class FrmListHelper {
1022
  <?php
1023
  }
1024
 
 
 
 
 
 
 
 
 
 
 
1025
  /**
1026
  * Extra controls to be displayed between bulk actions and pagination
1027
  *
13
  */
14
  public $items;
15
 
16
+ /**
17
+ * @since 4.07
18
+ */
19
+ public $total_items = false;
20
+
21
  /**
22
  * Various information about the current table
23
  *
950
  $class = "class='" . esc_attr( join( ' ', $class ) ) . "'";
951
  }
952
 
953
+ if ( ! $this->has_min_items() && ! $with_id ) {
954
+ // Hide the labels but show the border.
955
+ $column_display_name = '';
956
+ }
957
  echo "<$tag $scope $id $class>$column_display_name</$tag>"; // WPCS: XSS ok.
958
  }
959
  }
970
  $this->display_tablenav( 'top' );
971
  ?>
972
  <table class="wp-list-table <?php echo esc_attr( implode( ' ', $this->get_table_classes() ) ); ?>">
973
+ <?php if ( $this->has_min_items( 1 ) ) { ?>
974
  <thead>
975
  <tr>
976
  <?php $this->print_column_headers(); ?>
977
  </tr>
978
  </thead>
979
+ <?php } ?>
980
 
981
  <tbody id="the-list"<?php echo( $singular ? " data-wp-lists='list:" . esc_attr( $singular ) . "'" : '' ); // WPCS: XSS ok. ?>>
982
  <?php $this->display_rows_or_placeholder(); ?>
983
  </tbody>
984
 
985
+ <?php if ( $this->has_min_items( 1 ) ) { ?>
986
  <tfoot>
987
  <tr>
988
  <?php $this->print_column_headers( false ); ?>
989
  </tr>
990
  </tfoot>
991
+ <?php } ?>
992
  </table>
993
  <?php
994
  $this->display_tablenav( 'bottom' );
1017
  protected function display_tablenav( $which ) {
1018
  if ( 'top' == $which ) {
1019
  wp_nonce_field( 'bulk-' . $this->_args['plural'] );
1020
+ if ( ! $this->has_min_items( 1 ) ) {
1021
+ // Don't show bulk actions if no items.
1022
+ return;
1023
+ }
1024
+ } elseif ( ! $this->has_min_items() ) {
1025
+ // don't show the bulk actions when there aren't many rows.
1026
+ return;
1027
  }
1028
  ?>
1029
  <div class="tablenav <?php echo esc_attr( $which ); ?>">
1041
  <?php
1042
  }
1043
 
1044
+ /**
1045
+ * Use this to exclude the footer labels and bulk items.
1046
+ * When close together, it feels like duplicates.
1047
+ *
1048
+ * @since 4.07
1049
+ */
1050
+ protected function has_min_items( $limit = 5 ) {
1051
+ return $this->has_items() && ( $this->total_items === false || $this->total_items >= $limit );
1052
+ }
1053
+
1054
  /**
1055
  * Extra controls to be displayed between bulk actions and pagination
1056
  *
classes/models/FrmDb.php CHANGED
@@ -188,7 +188,7 @@ class FrmDb {
188
  public static function get_count( $table, $where = array(), $args = array() ) {
189
  $count = self::get_var( $table, $where, 'COUNT(*)', $args );
190
 
191
- return $count;
192
  }
193
 
194
  /**
188
  public static function get_count( $table, $where = array(), $args = array() ) {
189
  $count = self::get_var( $table, $where, 'COUNT(*)', $args );
190
 
191
+ return (int) $count;
192
  }
193
 
194
  /**
classes/models/fields/FrmFieldCaptcha.php CHANGED
@@ -131,55 +131,64 @@ class FrmFieldCaptcha extends FrmFieldType {
131
  return ( $frm_settings->re_type == 'invisible' ) ? 'invisible' : $captcha_size;
132
  }
133
 
134
- public function validate( $args ) {
135
- $errors = array();
136
-
137
- if ( ! $this->should_validate() ) {
138
- return $errors;
139
- }
140
-
141
- if ( ! isset( $_POST['g-recaptcha-response'] ) ) {
142
- // If captcha is missing, check if it was already verified.
143
- $checked = FrmAppHelper::get_param( 'recaptcha_checked', '', 'post', 'sanitize_text_field' );
144
- if ( ! isset( $_POST['recaptcha_checked'] ) || ! wp_verify_nonce( $checked, 'frm_ajax' ) ) {
145
- // There was no captcha submitted.
146
- $errors[ 'field' . $args['id'] ] = __( 'The captcha is missing from this form', 'formidable' );
147
- }
148
-
149
- return $errors;
150
- }
151
-
152
  $frm_settings = FrmAppHelper::get_settings();
153
-
154
- $resp = $this->send_api_check( $frm_settings );
155
- $response = json_decode( wp_remote_retrieve_body( $resp ), true );
156
 
157
  if ( isset( $response['success'] ) && ! $response['success'] ) {
158
  // What happens when the CAPTCHA was entered incorrectly
159
  $invalid_message = FrmField::get_option( $this->field, 'invalid' );
160
  $errors[ 'field' . $args['id'] ] = ( $invalid_message == '' ? $frm_settings->re_msg : $invalid_message );
161
  } elseif ( is_wp_error( $resp ) ) {
162
- $error_string = $resp->get_error_message();
163
- $errors[ 'field' . $args['id'] ] = __( 'There was a problem verifying your recaptcha', 'formidable' );
164
  $errors[ 'field' . $args['id'] ] .= ' ' . $error_string;
165
  }
166
 
167
  return $errors;
168
  }
169
 
170
- protected function should_validate() {
171
- $is_hidden_field = apply_filters( 'frm_is_field_hidden', false, $this->field, wp_unslash( $_POST ) ); // WPCS: CSRF ok.
172
- if ( FrmAppHelper::is_admin() || $is_hidden_field ) {
173
- return false;
 
 
 
174
  }
175
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  $frm_settings = FrmAppHelper::get_settings();
177
- if ( empty( $frm_settings->pubkey ) ) {
178
- // don't require the captcha if it shouldn't be shown
 
 
 
 
179
  return false;
180
  }
181
 
182
- return true;
 
183
  }
184
 
185
  protected function send_api_check( $frm_settings ) {
131
  return ( $frm_settings->re_type == 'invisible' ) ? 'invisible' : $captcha_size;
132
  }
133
 
134
+ /**
135
+ * @since 4.07
136
+ * @param array $args
137
+ * @return array
138
+ */
139
+ protected function validate_against_api( $args ) {
140
+ $errors = array();
 
 
 
 
 
 
 
 
 
 
 
141
  $frm_settings = FrmAppHelper::get_settings();
142
+ $resp = $this->send_api_check( $frm_settings );
143
+ $response = json_decode( wp_remote_retrieve_body( $resp ), true );
 
144
 
145
  if ( isset( $response['success'] ) && ! $response['success'] ) {
146
  // What happens when the CAPTCHA was entered incorrectly
147
  $invalid_message = FrmField::get_option( $this->field, 'invalid' );
148
  $errors[ 'field' . $args['id'] ] = ( $invalid_message == '' ? $frm_settings->re_msg : $invalid_message );
149
  } elseif ( is_wp_error( $resp ) ) {
150
+ $error_string = $resp->get_error_message();
151
+ $errors[ 'field' . $args['id'] ] = __( 'There was a problem verifying your recaptcha', 'formidable' );
152
  $errors[ 'field' . $args['id'] ] .= ' ' . $error_string;
153
  }
154
 
155
  return $errors;
156
  }
157
 
158
+ /**
159
+ * @param array $args
160
+ * @return array
161
+ */
162
+ public function validate( $args ) {
163
+ if ( ! $this->should_validate() ) {
164
+ return array();
165
  }
166
 
167
+ if ( ! isset( $_POST['g-recaptcha-response'] ) ) {
168
+ // There was no captcha submitted.
169
+ return array( 'field' . $args['id'] => __( 'The captcha is missing from this form', 'formidable' ) );
170
+ }
171
+
172
+ return $this->validate_against_api( $args );
173
+ }
174
+
175
+ /**
176
+ * @since 4.07
177
+ * @return bool
178
+ */
179
+ private function should_show_captcha() {
180
  $frm_settings = FrmAppHelper::get_settings();
181
+ return ! empty( $frm_settings->pubkey );
182
+ }
183
+
184
+ protected function should_validate() {
185
+ $is_hidden_field = apply_filters( 'frm_is_field_hidden', false, $this->field, wp_unslash( $_POST ) ); // WPCS: CSRF ok.
186
+ if ( FrmAppHelper::is_admin() || $is_hidden_field ) {
187
  return false;
188
  }
189
 
190
+ // don't require the captcha if it shouldn't be shown
191
+ return $this->should_show_captcha();
192
  }
193
 
194
  protected function send_api_check( $frm_settings ) {
classes/views/frm-entries/form.php CHANGED
@@ -73,11 +73,24 @@ if ( isset( $frm_vars['collapse_div'] ) && $frm_vars['collapse_div'] ) {
73
  echo FrmFormsHelper::replace_shortcodes( $values['after_html'], $form ); // WPCS: XSS ok.
74
 
75
  if ( FrmForm::show_submit( $form ) ) {
76
-
77
  $copy_values = $values;
78
  unset( $copy_values['fields'] );
79
 
80
- FrmFormsHelper::get_custom_submit( $copy_values['submit_html'], $form, $submit, $form_action, $copy_values );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
  ?>
83
  <div class="frm_verify" aria-hidden="true">
73
  echo FrmFormsHelper::replace_shortcodes( $values['after_html'], $form ); // WPCS: XSS ok.
74
 
75
  if ( FrmForm::show_submit( $form ) ) {
 
76
  $copy_values = $values;
77
  unset( $copy_values['fields'] );
78
 
79
+ if ( isset( $form->options['form_class'] ) && strpos( $form->options['form_class'], 'frm_inline_success' ) !== false ) {
80
+ ob_start();
81
+ ob_implicit_flush( false );
82
+ FrmFormsHelper::get_custom_submit( $copy_values['submit_html'], $form, $submit, $form_action, $copy_values );
83
+ $clip = ob_get_clean();
84
+
85
+ ob_start();
86
+ ob_implicit_flush( false );
87
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-entries/errors.php';
88
+ $message = ob_get_clean();
89
+
90
+ echo preg_replace( '~\<\/div\>(?!.*\<\/div\>)~', $message . '</div>', $clip ); // WPCS: XSS ok.
91
+ } else {
92
+ FrmFormsHelper::get_custom_submit( $copy_values['submit_html'], $form, $submit, $form_action, $copy_values );
93
+ }
94
  }
95
  ?>
96
  <div class="frm_verify" aria-hidden="true">
classes/views/frm-entries/list.php CHANGED
@@ -46,6 +46,7 @@
46
  <div class="clear"></div>
47
  <?php require( FrmAppHelper::plugin_path() . '/classes/views/shared/errors.php' ); ?>
48
  <?php $wp_list_table->display(); ?>
 
49
  </form>
50
  </div>
51
  <?php if ( $form ) { ?>
46
  <div class="clear"></div>
47
  <?php require( FrmAppHelper::plugin_path() . '/classes/views/shared/errors.php' ); ?>
48
  <?php $wp_list_table->display(); ?>
49
+ <?php FrmAppHelper::renewal_message(); ?>
50
  </form>
51
  </div>
52
  <?php if ( $form ) { ?>
classes/views/frm-entries/new.php CHANGED
@@ -8,15 +8,15 @@
8
 
9
  $message_placement = isset( $message_placement ) ? $message_placement : 'before';
10
 
11
- if ( $message_placement !== 'after' ) {
12
- include( FrmAppHelper::plugin_path() . '/classes/views/frm-entries/errors.php' );
13
  }
14
 
15
  $form_action = 'create';
16
- require( FrmAppHelper::plugin_path() . '/classes/views/frm-entries/form.php' );
17
 
18
  if ( $message_placement === 'after' ) {
19
- include( FrmAppHelper::plugin_path() . '/classes/views/frm-entries/errors.php' );
20
  }
21
 
22
  if ( ! isset( $include_form_tag ) || $include_form_tag ) {
8
 
9
  $message_placement = isset( $message_placement ) ? $message_placement : 'before';
10
 
11
+ if ( ! in_array( $message_placement, array( 'after', 'submit' ), true ) ) {
12
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-entries/errors.php';
13
  }
14
 
15
  $form_action = 'create';
16
+ require FrmAppHelper::plugin_path() . '/classes/views/frm-entries/form.php';
17
 
18
  if ( $message_placement === 'after' ) {
19
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-entries/errors.php';
20
  }
21
 
22
  if ( ! isset( $include_form_tag ) || $include_form_tag ) {
classes/views/frm-entries/no_entries.php CHANGED
@@ -6,20 +6,22 @@
6
  printf(
7
  /* translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML */
8
  esc_html__( 'If you would like to save entries in this form, go to the %1$sform Settings%2$s page %3$s and uncheck the "Do not store any entries submitted from this form" box.', 'formidable' ),
9
- '<a href="' . esc_url( admin_url( 'admin.php?page=formidable&frm_action=settings&id=' . $form->id ) ) . '">',
10
  '</a>',
11
  '</br>'
12
  );
13
  ?>
14
  </p>
15
  <?php } elseif ( $form || $has_form ) { ?>
 
 
16
  <div class="frm_no_entries_header">
17
  <?php
18
  if ( $form ) {
19
  /* translators: %s: The form name */
20
  printf( esc_html__( 'No Entries for form: %s', 'formidable' ), esc_html( $form->name ) );
21
  } else {
22
- esc_html_e( 'No Entries found.', 'formidable' );
23
  }
24
  ?>
25
  </div>
@@ -33,17 +35,12 @@
33
  );
34
  ?>
35
  </p>
36
- <?php } else { ?>
37
- <div class="frm_no_entries_header"><?php esc_html_e( 'You have not created any forms yet.', 'formidable' ); ?></div>
38
- <p class="frm_no_entries_text">
39
  <?php
40
- printf(
41
- /* translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML */
42
- esc_html__( 'To view entries, you must first %1$sbuild a form%2$s', 'formidable' ),
43
- '<a href="' . esc_url( admin_url( 'admin.php?page=formidable&frm_action=add_new' ) ) . '">',
44
- '</a>'
45
- );
46
- ?>
47
- </p>
48
- <?php } ?>
49
  </div>
6
  printf(
7
  /* translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML */
8
  esc_html__( 'If you would like to save entries in this form, go to the %1$sform Settings%2$s page %3$s and uncheck the "Do not store any entries submitted from this form" box.', 'formidable' ),
9
+ '<a href="' . esc_url( admin_url( 'admin.php?page=formidable&frm_action=settings&id=' . absint( $form->id ) ) ) . '">',
10
  '</a>',
11
  '</br>'
12
  );
13
  ?>
14
  </p>
15
  <?php } elseif ( $form || $has_form ) { ?>
16
+ <div class="frmcenter">
17
+ <svg width="450" height="308" viewBox="0 0 450 308" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d)"><rect x="118" y="28" width="312" height="205" rx="10.1" fill="#fff"/></g><rect x="174" y="84" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="174" y="69" width="179.1" height="9.4" rx="4.7" fill="#9EA9B8" fill-opacity=".7"/><rect x="174" y="132.2" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="174" y="117" width="148" height="10" rx="5" fill="#9EA9B8" fill-opacity=".7"/><rect x="174" y="183.2" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="174" y="168.2" width="179.1" height="9.4" rx="4.7" fill="#9EA9B8" fill-opacity=".7"/><ellipse cx="137" cy="42.2" rx="4" ry="3.8" fill="#F54242"/><ellipse cx="151" cy="42.2" rx="4" ry="3.8" fill="#F8E434"/><ellipse cx="165" cy="42.2" rx="4" ry="3.8" fill="#ADD779"/><g filter="url(#filter1_d)"><rect x="25" y="62" width="312" height="205" rx="10.1" fill="#fff"/></g><rect x="81" y="118" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="81" y="103" width="179.1" height="9.4" rx="4.7" fill="#9EA9B8" fill-opacity=".7"/><rect x="81" y="166.2" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="81" y="151" width="148" height="10" rx="5" fill="#9EA9B8" fill-opacity=".7"/><rect x="81" y="217.2" width="202" height="15" rx="2" fill="#8F99A6" fill-opacity=".2"/><rect x="81" y="202.2" width="179.1" height="9.4" rx="4.7" fill="#9EA9B8" fill-opacity=".7"/><ellipse cx="44" cy="76.2" rx="4" ry="3.8" fill="#F54242"/><ellipse cx="58" cy="76.2" rx="4" ry="3.8" fill="#F8E434"/><ellipse cx="72" cy="76.2" rx="4" ry="3.8" fill="#ADD779"/><defs><filter id="filter0_d" x="93.6" y=".5" width="360.9" height="253.9" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-3.1"/><feGaussianBlur stdDeviation="12.2"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter1_d" x=".6" y="34.5" width="360.9" height="253.9" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-3.1"/><feGaussianBlur stdDeviation="12.2"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
18
  <div class="frm_no_entries_header">
19
  <?php
20
  if ( $form ) {
21
  /* translators: %s: The form name */
22
  printf( esc_html__( 'No Entries for form: %s', 'formidable' ), esc_html( $form->name ) );
23
  } else {
24
+ esc_html_e( 'No Entries found', 'formidable' );
25
  }
26
  ?>
27
  </div>
35
  );
36
  ?>
37
  </p>
38
+ </div>
 
 
39
  <?php
40
+ } else {
41
+ $title = __( 'You have not created any forms yet', 'formidable' );
42
+ $info = __( 'Start collecting leads and data today.', 'formidable' );
43
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-forms/_no_forms.php';
44
+ }
45
+ ?>
 
 
 
46
  </div>
classes/views/frm-forms/_no_forms.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="frmcenter">
2
+ <svg width="369" height="238" viewBox="0 0 369 238" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d)"><g clip-path="url(#clip0)"><g filter="url(#filter1_d)"><mask id="a" maskUnits="userSpaceOnUse" x="27" y="23" width="317" height="190"><rect x="27" y="23" width="316.3" height="189.8" rx="7" fill="#fff"/></mask><g mask="url(#a)"><rect x="27" y="21.6" width="315.2" height="185.9" rx="7" fill="#fff"/><g clip-path="url(#clip1)"><path d="M136.9 22.3H27v306.5h109.9V22.3z" fill="#fff"/><path d="M27 22.3h109.9V345H27V22.3z" fill="#F6F7FB"/><rect x="39.6" y="46.1" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="56.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="67" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="77.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="88" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="98.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="109" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="46.1" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="56.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="67" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="77.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="88" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="98.5" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="109" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="150.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="129.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="140.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="150.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="161.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="171.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="39.6" y="182.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="129.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="140.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="161.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="171.9" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="84.7" y="182.4" width="37.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><path d="M136.9 22.3H27v13.6h109.9V22.3z" fill="#F6F7FB"/></g><rect x="156.5" y="139.9" width="148.9" height="36.7" rx="3" fill="#579AF6" fill-opacity=".1" stroke="#579AF6" stroke-width=".3" stroke-dasharray="1.75 1.75"/>
3
+ <path d="M162 42.6v-6h-1.1l-1.9 4.6-2-4.5h-1v5.9h.8v-4.3h.1l1.7 4.1h.7l1.8-4v4.2h.9zm2 1.6c.8 0 1.3-.3 1.6-1.4l1.7-4.7h-1l-1 3.6h-.1L164 38h-1l1.6 4.5v.2c-.2.5-.4.6-.8.6h-.3v.8h.3zm9.3-1.6c1.3 0 2-.7 2-1.7 0-.8-.5-1.3-1.3-1.4.6-.2 1-.7 1-1.4 0-.9-.6-1.4-1.7-1.4h-2.4v5.9h2.4zm-1.5-5.2h1.2c.7 0 1.1.4 1.1 1 0 .5-.4.8-1.2.8h-1.1v-1.8zm0 4.4v-1.9h1.3c.8 0 1.3.3 1.3 1 0 .6-.4.9-1.3.9h-1.3zm6.6-3c.6 0 1 .4 1 1.1h-2.2c0-.7.5-1.1 1.2-1.1zm1 2.6c0 .3-.5.5-1 .5-.7 0-1.1-.5-1.2-1.3h3.2v-.3c0-1.4-.8-2.3-2-2.3-1.3 0-2 1-2 2.4s.7 2.3 2 2.3c1 0 1.7-.5 2-1.3h-1zm2-2c0 .6.5 1 1.3 1.2l.8.2c.4.1.6.3.6.6s-.3.6-.9.6c-.5 0-.9-.3-1-.6h-.8c0 .8.7 1.3 1.8 1.3 1 0 1.8-.6 1.8-1.4 0-.7-.4-1-1.2-1.3l-.8-.1c-.4-.1-.7-.3-.7-.6s.4-.5.9-.5.8.2.9.5h.8c0-.8-.7-1.3-1.7-1.3s-1.7.6-1.7 1.4zm5.1-2.4v1.1h-.7v.8h.7v2.5c0 .9.4 1.2 1.4 1.2h.5v-.8h-.4c-.4 0-.6-.2-.6-.6v-2.3h1V38h-1v-1h-.9zm9 1.2l1.2 4.4h1l1.5-6h-1l-1 4.6-1.3-4.5h-.9l-1.2 4.5-1.2-4.5h-1l1.7 5.9h.9l1.2-4.4zm6.3 4.5c1.3 0 2.1-1 2.1-2.4s-.8-2.3-2.1-2.3-2.1 1-2.1 2.3c0 1.5.8 2.4 2.1 2.4zm0-.8c-.8 0-1.2-.6-1.2-1.6s.4-1.5 1.2-1.5c.8 0 1.2.6 1.2 1.5 0 1-.4 1.6-1.2 1.6zm3.3.7h.9v-2.7c0-.6.4-1 1.1-1h.5v-.8h-.4c-.6 0-1 .3-1.2.7v-.7h-.9v4.5zm5 0c.6 0 1.1-.2 1.4-.7v.7h1v-6.2h-1v2.4c-.3-.5-.8-.8-1.4-.8-1.1 0-1.8 1-1.8 2.3 0 1.5.7 2.4 1.8 2.4zm.3-3.8c.7 0 1.2.6 1.2 1.6 0 .9-.5 1.5-1.2 1.5-.8 0-1.2-.6-1.2-1.6 0-.9.4-1.5 1.2-1.5zm3.6-2.1v5.9h1v-2h1.3c1.1 0 2-.8 2-2 0-1.1-.8-2-2-2H214zm1 .8h1c.9 0 1.3.4 1.3 1.1 0 .8-.4 1.2-1.2 1.2h-1.2v-2.3zm4.5 5h.9V40c0-.6.4-1 1-1h.6v-.8h-.4c-.6 0-1 .3-1.2.7v-.7h-1v4.5zm5.2-3.7c.6 0 1 .4 1 1.1h-2.2c0-.7.5-1.1 1.2-1.1zm1 2.6c0 .3-.4.5-1 .5-.7 0-1.1-.5-1.2-1.3h3.2v-.3c0-1.4-.8-2.3-2-2.3-1.3 0-2 1-2 2.4s.7 2.3 2 2.3c1 0 1.7-.5 2-1.3h-1zm2-2c0 .6.5 1 1.3 1.2l.8.2c.4.1.7.3.7.6s-.4.6-1 .6c-.5 0-.8-.3-1-.6h-.8c0 .8.7 1.3 1.8 1.3 1 0 1.8-.6 1.8-1.4 0-.7-.4-1-1.2-1.3l-.7-.1c-.5-.1-.8-.3-.8-.6s.4-.5 1-.5c.4 0 .7.2.8.5h.9c-.1-.8-.8-1.3-1.8-1.3s-1.7.6-1.7 1.4zm4.7 0c0 .6.3 1 1.2 1.2l.8.2c.4.1.6.3.6.6s-.4.6-1 .6c-.4 0-.8-.3-.9-.6h-.9c.1.8.8 1.3 1.9 1.3 1 0 1.8-.6 1.8-1.4 0-.7-.4-1-1.2-1.3l-.8-.1c-.5-.1-.7-.3-.7-.6s.4-.5.9-.5.8.2.9.5h.8c0-.8-.7-1.3-1.7-1.3s-1.7.6-1.7 1.4zm8.2 3.2V40h2.5v-.8h-2.5v-1.8h2.7v-.8h-3.6v5.9h.9zm5.9 0c1.3 0 2-.8 2-2.3 0-1.4-.7-2.3-2-2.3s-2.1 1-2.1 2.3c0 1.5.8 2.4 2 2.4zm0-.7c-.8 0-1.2-.6-1.2-1.6s.4-1.5 1.2-1.5c.7 0 1.2.6 1.2 1.5 0 1-.5 1.6-1.2 1.6zm3.3.7h.8v-2.7c0-.6.5-1 1.2-1h.5v-.8h-.4c-.6 0-1.1.3-1.2.7v-.7h-1v4.5zm3.5 0h.9v-2.7c0-.6.4-1 1-1 .5 0 .8.2.8.8v2.9h.9v-2.8c0-.5.3-1 1-1 .5 0 .8.3.8 1v2.8h.9v-3c0-1-.6-1.6-1.5-1.6-.6 0-1.1.4-1.3.8h-.1c-.2-.4-.6-.8-1.2-.8s-1 .3-1.3.8v-.7h-.9v4.5z" fill="#3F4B5B"/><g filter="url(#filter2_d)"><rect x="158.9" y="73.8" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><g filter="url(#filter3_d)"><rect x="158.9" y="81.9" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><g filter="url(#filter4_d)"><rect x="158.9" y="89.9" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><g filter="url(#filter5_d)"><rect x="158.9" y="98" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><g filter="url(#filter6_d)"><rect x="158.9" y="106.3" width="4.2" height="4.2" rx="2.1" stroke="#579AF6" stroke-width=".3"/></g><g filter="url(#filter7_d)"><rect x="159.8" y="107.2" width="2.4" height="2.4" rx="1.2" fill="#579AF6"/></g><g filter="url(#filter8_d)"><rect x="158.9" y="114.4" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><g filter="url(#filter9_d)"><rect x="158.9" y="122.4" width="4.2" height="4.2" rx="2.1" stroke="#3F4B5B" stroke-width=".3"/></g><rect x="155.3" y="61.8" width="105.5" height="7" rx="3.5" fill="#9EA9B8" fill-opacity=".7"/><rect x="167.5" y="73.3" width="19.6" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="167.5" y="81.4" width="22.7" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="167.5" y="89.4" width="38.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="167.5" y="97.4" width="40.5" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/>
4
+ <rect x="167.5" y="105.5" width="56.6" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="167.5" y="113.5" width="23.4" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/><rect x="167.5" y="121.5" width="12.6" height="4.9" rx="2.4" fill="#9AA6B5" fill-opacity=".5"/></g></g><g filter="url(#filter10_d)"><rect x="128.7" y="126.4" width="148.2" height="41.2" rx="4.5" fill="#fff"/><rect x="137.4" y="147.1" width="129.7" height="11.2" rx="1.4" fill="#8F99A6" fill-opacity=".2"/><rect x="137.4" y="135.9" width="115" height="7" rx="3.5" fill="#9EA9B8" fill-opacity=".7"/></g></g></g><defs><filter id="filter0_d" x=".8" y=".9" width="368.4" height="236.6" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="4.1"/><feGaussianBlur stdDeviation="13.1"/><feColorMatrix values="0 0 0 0 0.247059 0 0 0 0 0.294118 0 0 0 0 0.356863 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter1_d" x="4.6" y="-2.2" width="359.9" height="234.5" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-2.8"/><feGaussianBlur stdDeviation="11.2"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.1 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter2_d" x="158.4" y="73.7" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter3_d" x="158.4" y="81.7" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter4_d" x="158.4" y="89.7" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter5_d" x="158.4" y="97.8" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter6_d" x="158.4" y="106.2" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
5
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter7_d" x="159.4" y="107.2" width="3.1" height="3.1" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter8_d" x="158.4" y="114.2" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter9_d" x="158.4" y="122.2" width="5.2" height="5.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".3"/><feGaussianBlur stdDeviation=".2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.075 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter10_d" x="110.6" y="106.1" width="184.4" height="77.4" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-2.3"/><feGaussianBlur stdDeviation="9"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><clipPath id="clip0"><rect x="27" y="23" width="316" height="184.2" rx="11.5" fill="#fff"/></clipPath><clipPath id="clip1"><path fill="#fff" transform="translate(27 22.3)" d="M0 0h109.9v306.5H0z"/></clipPath></defs></svg>
6
+ <h2><?php echo esc_html( $title ); ?></h2>
7
+ <?php if ( isset( $info ) ) { ?>
8
+ <p><?php echo esc_html( $info ); ?></p>
9
+ <?php } ?>
10
+ <p>
11
+ <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable&frm_action=add_new' ) ); ?>" class="button-primary frm-button-primary">
12
+ <?php esc_html_e( 'Add New Form', 'formidable' ); ?>
13
+ </a>
14
+ </p>
15
+ </div>
classes/views/frm-forms/form.php CHANGED
@@ -31,6 +31,7 @@
31
  }
32
  ?>
33
  </ul>
 
34
  <p id="frm-form-button">
35
  <button class="frm_button_submit" disabled="disabled">
36
  <?php echo esc_attr( isset( $form->options['submit_value'] ) ? $form->options['submit_value'] : __( 'Submit', 'formidable' ) ); ?>
31
  }
32
  ?>
33
  </ul>
34
+ <?php FrmAppHelper::renewal_message(); ?>
35
  <p id="frm-form-button">
36
  <button class="frm_button_submit" disabled="disabled">
37
  <?php echo esc_attr( isset( $form->options['submit_value'] ) ? $form->options['submit_value'] : __( 'Submit', 'formidable' ) ); ?>
classes/views/frm-forms/list.php CHANGED
@@ -22,6 +22,20 @@ $wp_list_table->views();
22
  $wp_list_table->search_box( __( 'Search', 'formidable' ), 'entry' );
23
  $wp_list_table->display();
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  ?>
26
  </form>
27
 
22
  $wp_list_table->search_box( __( 'Search', 'formidable' ), 'entry' );
23
  $wp_list_table->display();
24
 
25
+ if ( $wp_list_table->total_items === 1 && empty( $_REQUEST['s'] ) && $wp_list_table->status === '' ) {
26
+ $is_default = false;
27
+ foreach ( $wp_list_table->items as $item ) {
28
+ $is_default = $item->form_key === 'contact-form';
29
+ }
30
+ // Show no form created info if only the default form exists.
31
+ if ( $is_default ) {
32
+ $title = __( 'You have not created any forms yet', 'formidable' );
33
+ $info = __( 'Start collecting leads and data today.', 'formidable' );
34
+ include FrmAppHelper::plugin_path() . '/classes/views/frm-forms/_no_forms.php';
35
+ }
36
+ }
37
+
38
+ FrmAppHelper::renewal_message();
39
  ?>
40
  </form>
41
 
classes/views/shared/admin-header.php CHANGED
@@ -6,13 +6,21 @@
6
  </a>
7
  </div>
8
  <?php } ?>
9
- <div id="frm-publishing">
10
  <?php
11
  if ( isset( $atts['publish'] ) ) {
 
12
  call_user_func( $atts['publish'][0], $atts['publish'][1] );
 
 
 
 
 
 
 
 
 
13
  }
14
  ?>
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(); ?>
@@ -27,7 +35,6 @@
27
  } else {
28
  // Used when no form is currently selected.
29
  ?>
30
-
31
  <div class="frm_top_left <?php echo esc_attr( $atts['import_link'] ? 'frm_top_wide' : '' ); ?>">
32
  <h1>
33
  <?php echo esc_html( $atts['label'] ); ?>
6
  </a>
7
  </div>
8
  <?php } ?>
 
9
  <?php
10
  if ( isset( $atts['publish'] ) ) {
11
+ echo '<div id="frm-publishing">';
12
  call_user_func( $atts['publish'][0], $atts['publish'][1] );
13
+ echo '</div>';
14
+ } elseif ( ! FrmAppHelper::pro_is_installed() ) {
15
+ ?>
16
+ <div id="frm-publishing">
17
+ <a href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'header' ) ); ?>" class="button button-secondary frm-button-secondary">
18
+ <?php esc_html_e( 'Upgrade', 'formidable' ); ?>
19
+ </a>
20
+ </div>
21
+ <?php
22
  }
23
  ?>
 
24
 
25
  <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable' ) ); ?>" class="frm-header-logo">
26
  <?php FrmAppHelper::show_header_logo(); ?>
35
  } else {
36
  // Used when no form is currently selected.
37
  ?>
 
38
  <div class="frm_top_left <?php echo esc_attr( $atts['import_link'] ? 'frm_top_wide' : '' ); ?>">
39
  <h1>
40
  <?php echo esc_html( $atts['label'] ); ?>
classes/views/shared/reports-info.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="frm_wrap">
2
+ <div class="frm_page_container">
3
+ <?php
4
+ FrmAppHelper::get_admin_header(
5
+ array(
6
+ 'label' => __( 'Reports', 'formidable' ),
7
+ 'form' => $form,
8
+ 'close' => $form ? admin_url( 'admin.php?page=formidable&frm_action=reports&form=' . $form->id ) : '',
9
+ )
10
+ );
11
+ ?>
12
+ <div class="frmcenter" style="margin-top:10vh">
13
+ <img src="<?php echo esc_attr( FrmAppHelper::plugin_url() . '/images/reports.svg' ); ?>" alt="<?php esc_attr_e( 'View reports', 'formidable' ); ?>" height="243" />
14
+ <h2><?php esc_html_e( 'Get Live Graphs and Reports', 'formidable' ); ?></h2>
15
+ <p style="max-width:400px;margin:20px auto">
16
+ <?php esc_html_e( 'Get more insight for surveys, polls, daily contacts, and more.', 'formidable' ); ?>
17
+ </p>
18
+ <a class="button button-primary frm-button-primary" href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'reports-info' ) ); ?>" target="_blank" rel="noopener">
19
+ <?php esc_html_e( 'Upgrade Now', 'formidable' ); ?>
20
+ </a>
21
+ </div>
22
+ </div>
23
+ </div>
classes/views/shared/views-info.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="frm_wrap">
2
+ <div class="frm_page_container">
3
+ <?php
4
+ FrmAppHelper::get_admin_header(
5
+ array(
6
+ 'label' => __( 'Views', 'formidable' ),
7
+ 'form' => $form,
8
+ 'close' => $form ? admin_url( 'admin.php?page=formidable&frm_action=views&form=' . $form->id ) : '',
9
+ )
10
+ );
11
+ ?>
12
+ <div class="frmcenter" style="margin-top:10vh">
13
+ <img src="<?php echo esc_attr( FrmAppHelper::plugin_url() . '/images/views.svg' ); ?>" alt="<?php esc_attr_e( 'Create a View', 'formidable' ); ?>" width="403" height="243" />
14
+ <h2><?php esc_html_e( 'Show and Edit Entries with Views', 'formidable' ); ?></h2>
15
+ <p style="max-width:400px;margin:20px auto">
16
+ <?php esc_html_e( 'Bring entries to the front-end of your site for full-featured applications or just to show the content.', 'formidable' ); ?>
17
+ </p>
18
+ <a class="button button-primary frm-button-primary" href="<?php echo esc_url( FrmAppHelper::admin_upgrade_link( 'views-info' ) ); ?>" target="_blank" rel="noopener">
19
+ <?php esc_html_e( 'Upgrade Now', 'formidable' ); ?>
20
+ </a>
21
+ </div>
22
+ </div>
23
+ </div>
css/custom_theme.css.php CHANGED
@@ -551,6 +551,23 @@ legend.frm_hidden{
551
  text-align:center;
552
  }
553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
  .with_frm_style.frm_center_submit .frm_submit input[type=submit],
555
  .with_frm_style.frm_center_submit .frm_submit input[type=button],
556
  .with_frm_style.frm_center_submit .frm_submit button{
551
  text-align:center;
552
  }
553
 
554
+ .with_frm_style .frm_inline_success .frm_submit{
555
+ display: flex;
556
+ flex-direction: row;
557
+ align-items: center;
558
+ margin: 0;
559
+ }
560
+
561
+ .with_frm_style .frm_inline_success .frm_submit .frm_message{
562
+ flex: 1;
563
+ margin: 0;
564
+ padding-left: 10px;
565
+ }
566
+
567
+ .with_frm_style .frm_inline_success.frm_alignright_success .frm_submit .frm_message{
568
+ text-align: right;
569
+ }
570
+
571
  .with_frm_style.frm_center_submit .frm_submit input[type=submit],
572
  .with_frm_style.frm_center_submit .frm_submit input[type=button],
573
  .with_frm_style.frm_center_submit .frm_submit button{
css/frm_admin.css CHANGED
@@ -90,7 +90,7 @@ a, .widget .widget-top, .stuffbox h3, .frm-collapsed {
90
 
91
  .frm-white-body #screen-meta-links .screen-meta-toggle {
92
  position: absolute;
93
- right: 90px;
94
  box-shadow: none;
95
  border-bottom-left-radius: var(--small-radius);
96
  border-bottom-right-radius: var(--small-radius);
@@ -411,6 +411,10 @@ ul.frm_form_nav > li {
411
  border-left: 2px solid var(--grey);
412
  }
413
 
 
 
 
 
414
  #frm-publishing {
415
  float: right;
416
  margin-top: 15px;
@@ -1531,11 +1535,21 @@ div.frm_updated_message {
1531
  }
1532
 
1533
  .frm_error_style {
1534
- color: #B94A48;
1535
- border-color: #EBCCD1;
1536
  background-color: #F2DEDE;
1537
  }
1538
 
 
 
 
 
 
 
 
 
 
 
1539
  .frm_warning_style {
1540
  color: #8B6E3C;
1541
  border-color: #FBECCD;
@@ -2293,6 +2307,7 @@ a.frm_option_icon:hover::before {
2293
  left: auto;
2294
  font-size: 14px;
2295
  padding-top: 3px;
 
2296
  }
2297
 
2298
  .frm-right-panel .accordion-section-content {
@@ -5401,8 +5416,11 @@ li.selected .divider_section_only:before {
5401
  content: '\e62a';
5402
  }
5403
 
 
 
 
 
5404
  .frm-collapse-me {
5405
- overflow: hidden !important;
5406
  padding-bottom: 10px;
5407
  }
5408
 
@@ -5900,13 +5918,9 @@ i.frm-show-inline-modal {
5900
  text-overflow: ellipsis;
5901
  }
5902
 
5903
- span.multiselect-selected-text {
5904
- white-space: nowrap;
5905
- display: inline-block;
5906
- }
5907
-
5908
  .frm-search span.multiselect-selected-text {
5909
  white-space: nowrap;
 
5910
  }
5911
 
5912
  .frm-search #search-submit {
90
 
91
  .frm-white-body #screen-meta-links .screen-meta-toggle {
92
  position: absolute;
93
+ right: 160px;
94
  box-shadow: none;
95
  border-bottom-left-radius: var(--small-radius);
96
  border-bottom-right-radius: var(--small-radius);
411
  border-left: 2px solid var(--grey);
412
  }
413
 
414
+ .frm_wrap > #frm_top_bar #frm-publishing {
415
+ margin-top: 0;
416
+ }
417
+
418
  #frm-publishing {
419
  float: right;
420
  margin-top: 15px;
1535
  }
1536
 
1537
  .frm_error_style {
1538
+ color: #973937;
1539
+ border-color: #F2DEDE;
1540
  background-color: #F2DEDE;
1541
  }
1542
 
1543
+ .frm_error_style a {
1544
+ color: #973937;
1545
+ text-decoration: underline;
1546
+ font-weight: 600;
1547
+ }
1548
+
1549
+ .frm_error_style svg {
1550
+ opacity: .7;
1551
+ }
1552
+
1553
  .frm_warning_style {
1554
  color: #8B6E3C;
1555
  border-color: #FBECCD;
2307
  left: auto;
2308
  font-size: 14px;
2309
  padding-top: 3px;
2310
+ margin-bottom: 3px;
2311
  }
2312
 
2313
  .frm-right-panel .accordion-section-content {
5416
  content: '\e62a';
5417
  }
5418
 
5419
+ .frm-collapsed + .frm-collapse-me {
5420
+ overflow: hidden !important;
5421
+ }
5422
+
5423
  .frm-collapse-me {
 
5424
  padding-bottom: 10px;
5425
  }
5426
 
5918
  text-overflow: ellipsis;
5919
  }
5920
 
 
 
 
 
 
5921
  .frm-search span.multiselect-selected-text {
5922
  white-space: nowrap;
5923
+ display: inline-block;
5924
  }
5925
 
5926
  .frm-search #search-submit {
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.06.03
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.07
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
images/icons.svg CHANGED
@@ -918,5 +918,6 @@
918
  <symbol id="frm_zapier_icon" viewBox="0 0 28 27">
919
  <title>Zapier</title>
920
  <path fill-rule="evenodd" clip-rule="evenodd" d="M13.6 1.7h-.2a1 1 0 00-.2 0h-.7l-.1.1h-.1-.1-.2v6.9A879.5 879.5 0 016.7 4l-.1.1h-.1v.1h-.1l-.1.1-.1.1-.2.1-.1.1-.1.1-.1.1A15.2 15.2 0 004 6.6a797.2 797.2 0 005 5H2V12.6l-.1.2V15.3l.1.1v.1h7.2l-.4.4a734.5 734.5 0 00-4.5 4.7v.1l.1.1.1.1v.1h.1v.1h.1v.1l.1.1.1.1H5l.1.2A15.2 15.2 0 006.9 23a275.5 275.5 0 005-4.9v6.9h.5l.1.1H16v-3.5-3.5a884.4 884.4 0 015.3 4.8v-.1h.2v-.1h.1v-.1h.1l.1-.1.2-.1v-.1h.1l.1-.1.1-.1a16 16 0 001.7-1.9 702.3 702.3 0 00-5-4.8H26v-.1-.1-.2-.1-.1-.2l.1-.2v-.1-.1-.2-.3-.3-.4-.2-.2-.1-.1-.2-.1-.1-.1-.2l-.1-.2h-7.2a886 886 0 015-5.1l-.1-.1v-.1h-.1l-.1-.1V6h-.1V6l-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1a16 16 0 00-1.9-1.6 272 272 0 00-5 4.8V1.8H16h-.2-.1-.2-.1-.1-.1-.1-.2-.1-.2a1 1 0 01-.2-.1h-.8zm.6 8.8H14.8l.2.1h.5v.1h.4l.1.1H16.4v.1h.2v.1h.1v.2l.1.1v.2h.1v.4h.1v.5l.1.1v1a3.8 3.8 0 010 .8v.6l-.1.1V15.4h-.1V15.7l-.1.1v.2h-.1v.1h-.1-.1l-.1.1h-.1-.1-.1v.1h-.1-.1-.1-.1l-.1.1h-.1-.1-.1-.2-.1l-.1.1h-.1-.1-.4-.4-.8H12.7h-.1l-.1-.1H12.1l-.1-.1H12h-.1-.1V16h-.2-.1V16h-.1v-.1-.1h-.1v-.1-.1-.1l-.1-.1v-.1-.1-.1L11 15v-.1-.1-.1-.1-.1H11v-.1-.1-.1-.1-.2-.4a3.8 3.8 0 010-.8v-.2-.2-.1-.1l.1-.1v-.1-.1-.1l.1-.1v-.1-.1-.1h.1v-.1-.1h.1V11h.2v-.1H12l.1-.1H12.4l.1-.1h.5l.1-.1h1.2z" fill="currentColor"/></symbol>
 
921
  </defs>
922
  </svg>
918
  <symbol id="frm_zapier_icon" viewBox="0 0 28 27">
919
  <title>Zapier</title>
920
  <path fill-rule="evenodd" clip-rule="evenodd" d="M13.6 1.7h-.2a1 1 0 00-.2 0h-.7l-.1.1h-.1-.1-.2v6.9A879.5 879.5 0 016.7 4l-.1.1h-.1v.1h-.1l-.1.1-.1.1-.2.1-.1.1-.1.1-.1.1A15.2 15.2 0 004 6.6a797.2 797.2 0 005 5H2V12.6l-.1.2V15.3l.1.1v.1h7.2l-.4.4a734.5 734.5 0 00-4.5 4.7v.1l.1.1.1.1v.1h.1v.1h.1v.1l.1.1.1.1H5l.1.2A15.2 15.2 0 006.9 23a275.5 275.5 0 005-4.9v6.9h.5l.1.1H16v-3.5-3.5a884.4 884.4 0 015.3 4.8v-.1h.2v-.1h.1v-.1h.1l.1-.1.2-.1v-.1h.1l.1-.1.1-.1a16 16 0 001.7-1.9 702.3 702.3 0 00-5-4.8H26v-.1-.1-.2-.1-.1-.2l.1-.2v-.1-.1-.2-.3-.3-.4-.2-.2-.1-.1-.2-.1-.1-.1-.2l-.1-.2h-7.2a886 886 0 015-5.1l-.1-.1v-.1h-.1l-.1-.1V6h-.1V6l-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1a16 16 0 00-1.9-1.6 272 272 0 00-5 4.8V1.8H16h-.2-.1-.2-.1-.1-.1-.1-.2-.1-.2a1 1 0 01-.2-.1h-.8zm.6 8.8H14.8l.2.1h.5v.1h.4l.1.1H16.4v.1h.2v.1h.1v.2l.1.1v.2h.1v.4h.1v.5l.1.1v1a3.8 3.8 0 010 .8v.6l-.1.1V15.4h-.1V15.7l-.1.1v.2h-.1v.1h-.1-.1l-.1.1h-.1-.1-.1v.1h-.1-.1-.1-.1l-.1.1h-.1-.1-.1-.2-.1l-.1.1h-.1-.1-.4-.4-.8H12.7h-.1l-.1-.1H12.1l-.1-.1H12h-.1-.1V16h-.2-.1V16h-.1v-.1-.1h-.1v-.1-.1-.1l-.1-.1v-.1-.1-.1L11 15v-.1-.1-.1-.1-.1H11v-.1-.1-.1-.1-.2-.4a3.8 3.8 0 010-.8v-.2-.2-.1-.1l.1-.1v-.1-.1-.1l.1-.1v-.1-.1-.1h.1v-.1-.1h.1V11h.2v-.1H12l.1-.1H12.4l.1-.1h.5l.1-.1h1.2z" fill="currentColor"/></symbol>
921
+ <symbol id="frm_alert_icon" viewBox="0 0 17 15"><path d="M16.8 12.9c.6 1-.1 2.1-1.2 2.1H1.4c-1 0-1.8-1.2-1.2-2.1L7.2.7c.6-1 2-1 2.5 0l7.1 12.2zm-8.3-2.5c-.7 0-1.4.6-1.4 1.3 0 .8.7 1.4 1.4 1.4s1.4-.6 1.4-1.4c0-.7-.7-1.3-1.4-1.3zM7.2 5.5l.2 4c0 .2.2.3.4.3h1.4c.2 0 .4-.1.4-.3l.2-4c0-.2-.2-.3-.4-.3H7.6c-.2 0-.4.1-.4.3z" fill="currentColor"/></symbol>
922
  </defs>
923
  </svg>
images/reports.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg width="477" height="326" viewBox="0 0 477 326" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d)"><rect x="63" y="46" width="331.7" height="238.7" rx="10.1" fill="#fff"/><rect x="77.4" y="60.9" width="289.5" height="16.4" rx="8.2" fill="#9EA9B8" fill-opacity=".7"/><rect x="77.4" y="85.7" width="160.1" height="8.7" rx="4.3" fill="#9AA6B5" fill-opacity=".5"/><path d="M98.2 184.9L81 213.2v52.4h294.7V144.9c0-.6-.9-1-1.3-.4l-15.8 19.5a7.2 7.2 0 01-11.2 0L337 151a7.2 7.2 0 00-11.9 1l-13.4 23.6a7.2 7.2 0 01-10.6 2.2l-9-6.8a7.2 7.2 0 00-11 2.7L269.8 198a7.2 7.2 0 01-13.3-.7l-12.7-34.8a7.2 7.2 0 00-12-2.4l-8.6 9.3a7.2 7.2 0 01-11.3-.8L199.2 150a7.2 7.2 0 00-11-1L178 159.3a7.2 7.2 0 01-11.2-1.2l-9.4-14.8a7.2 7.2 0 00-13 1.8l-14.1 46.5c-1.7 5.6-9 7-12.6 2.4l-7.7-9.8a7.2 7.2 0 00-11.8.7z" fill="url(#paint0_linear)"/><path d="M81 213l17.2-28.4a7.2 7.2 0 0111.8-.7l7.7 9.8a7.2 7.2 0 0012.6-2.4l14-46.3c1.9-5.9 9.8-7 13-1.8l9.5 14.8c2.5 3.9 8 4.5 11.2 1.2l10.2-10.3a7.2 7.2 0 0111 1l12.7 18.4a7.2 7.2 0 0011.2.8l8.5-9.2a7.2 7.2 0 0112.1 2.4l12.7 34.6a7.2 7.2 0 0013.3.7l11.5-24c2-4.2 7.2-5.5 10.8-2.8l9.1 6.8a7.2 7.2 0 0010.6-2.2L325 152c2.5-4.4 8.7-5 11.9-1l10.4 12.9a7.2 7.2 0 0011.2 0l17-21" stroke="#4278C1" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></g><g filter="url(#filter1_d)"><rect x="252" y="160" width="200.1" height="144" rx="6.1" fill="#fff"/></g><path d="M402 232a50 50 0 00-50-50v28.4a21.6 21.6 0 0121.6 21.6H402z" fill="#4278C0"/><path d="M402 233.3a50 50 0 01-79.3 39.2l16.6-23a21.6 21.6 0 0034.3-17l28.4.8z" fill="#EEF3FA"/><path d="M321.3 271.5A50 50 0 01351 182l.6 28.4a21.6 21.6 0 00-12.8 38.7l-17.4 22.4z" fill="#3F4B5B"/><defs><filter id="filter0_d" x="22.5" y=".4" width="412.8" height="319.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-5.1"/><feGaussianBlur stdDeviation="20.3"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter1_d" x="227.6" y="132.5" width="249" height="192.9" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-3.1"/><feGaussianBlur stdDeviation="12.2"/><feColorMatrix values="0 0 0 0 0.164706 0 0 0 0 0.223529 0 0 0 0 0.294118 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><linearGradient id="paint0_linear" x1="228.3" y1="130.1" x2="228.3" y2="265.7" gradientUnits="userSpaceOnUse"><stop stop-color="#4278C1" stop-opacity=".4"/><stop offset="1" stop-color="#7CADF0" stop-opacity=".1"/></linearGradient></defs></svg>
images/views.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg width="403" height="243" viewBox="0 0 403 243" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d)"><rect x="52" y="27" width="290" height="175" rx="15.3" fill="#fff"/><mask id="a" maskUnits="userSpaceOnUse" x="52" y="27" width="290" height="175"><rect x="52" y="27" width="290" height="175" rx="15.3" fill="#fff"/></mask><g mask="url(#a)"><path fill="#F6F7FB" d="M52 27h290v38H52z"/><rect x="74" y="44" width="24" height="9" rx="4.5" fill="#9AA6B5" fill-opacity=".5"/><rect x="74" y="71" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="88" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="105" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="123" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="141" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="159" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="177" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="74" y="195" width="24" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="44" width="53" height="9" rx="4.5" fill="#9AA6B5" fill-opacity=".5"/><rect x="120" y="71" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="88" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="105" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="123" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="141" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="159" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="177" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="120" y="195" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="44" width="54" height="9" rx="4.5" fill="#9AA6B5" fill-opacity=".5"/><rect x="193" y="71" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="88" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="105" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="123" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="141" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="159" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="177" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="193" y="195" width="54" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="44" width="53" height="9" rx="4.5" fill="#9AA6B5" fill-opacity=".5"/><rect x="267" y="71" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="88" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="105" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="123" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="141" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="159" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="177" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><rect x="267" y="195" width="53" height="4" rx="2" fill="#9AA6B5" fill-opacity=".3"/><path fill="#9AA6B5" fill-opacity=".2" d="M108 27h1v175h-1z"/><path fill="#9AA6B5" fill-opacity=".2" d="M51 81v-1h292v1zM51 99v-1h292v1zM51 117v-1h292v1zM51 135v-1h292v1zM51 153v-1h292v1zM51 171v-1h292v1zM51 189v-1h292v1z"/><path fill="#9AA6B5" fill-opacity=".2" d="M182 27h1v175h-1zM256 27h1v175h-1z"/></g></g><g filter="url(#filter1_d)"><g filter="url(#filter2_d)"><rect x="17" y="150" width="168" height="62" rx="3.8" fill="#fff"/></g><circle cx="46" cy="181.3" r="17" fill="#BCC4CE"/><rect x="84.8" y="167.5" width="59.7" height="9" rx="4.5" fill="#9EA9B8" fill-opacity=".7"/><rect x="85" y="181" width="73" height="5" rx="2.5" fill="#9AA6B5" fill-opacity=".3"/><rect x="85" y="191" width="73" height="5" rx="2.5" fill="#9AA6B5" fill-opacity=".3"/></g><g filter="url(#filter3_d)"><rect x="253" y="102" width="132.8" height="115" rx="1.5" fill="#fff"/><rect x="287" y="111" width="46" height="5" rx="2.5" fill="#9EA9B8" fill-opacity=".7"/><rect x="336" y="111" width="18" height="5" rx="2.5" fill="#9EA9B8" fill-opacity=".7"/><path d="M376 113.6l-.1-.2-2.3-2.2a.3.3 0 00-.4 0v.3l2 2.1-2 2v.5h.4l2.3-2.3v-.2zM265.7 113.6v.2l2.4 2.3h.4c.1-.1.1-.3 0-.4l-2-2 2-2.2v-.3a.3.3 0 00-.4 0l-2.3 2.2-.1.2z" fill="#6B6C7E"/><circle cx="372.2" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="354.8" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="337.4" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="319.9" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="302.5" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="285.1" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="267.7" cy="202.7" r="4" fill="#E1E4E9"/><circle cx="372" cy="188" r="5.8" fill="#9CA4AF"/><circle cx="354.8" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="337.4" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="319.9" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="302.5" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="285.1" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="267.7" cy="188.2" r="4" fill="#E1E4E9"/><circle cx="372.2" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="354.8" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="337.4" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="319.9" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="302.5" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="285.1" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="267.7" cy="173.7" r="4" fill="#E1E4E9"/><circle cx="372.2" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="354.8" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="337.4" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="319.9" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="302.5" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="285.1" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="267.7" cy="159.2" r="4" fill="#E1E4E9"/><circle cx="372.2" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="354.8" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="337.4" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="319.9" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="302.5" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="285.1" cy="144.6" r="4" fill="#E1E4E9"/><circle cx="267.7" cy="144.6" r="4" fill="#E1E4E9"/><path d="M373.2 130.2c0 .4-.2.6-.4.8-.2.2-.5.3-1 .3l-1-.2v-.6a2.7 2.7 0 001 .3c.3 0 .5 0 .6-.2l.2-.3c0-.2 0-.3-.2-.4l-.6-.3c-.3-.1-.6-.3-.7-.5a1 1 0 01-.2-.6c0-.3 0-.5.3-.7.2-.2.5-.3.9-.3.3 0 .7.1 1 .3l-.2.5-.8-.3c-.2 0-.4 0-.5.2l-.1.3v.2l.2.2.5.3c.3 0 .5.2.6.3l.3.3v.4zM355.8 130.2c0 .4-.2.6-.4.8-.2.2-.6.3-1 .3l-1-.2v-.6a2.7 2.7 0 001 .3c.3 0 .5 0 .6-.2l.2-.3c0-.2 0-.3-.2-.4l-.6-.3c-.4-.1-.6-.3-.7-.5a1 1 0 01-.2-.6c0-.3 0-.5.3-.7.2-.2.5-.3.9-.3.3 0 .7.1 1 .3l-.2.5-.9-.3c-.1 0-.3 0-.4.2l-.1.3v.2l.2.2.5.3c.3 0 .5.2.6.3l.3.3v.4zM336.9 131.2h-.6v-3.6h2v.5H337v1.1h1.3v.5H337v1.5zM320 131.2h-.5v-3.1h-1.1v-.5h2.7v.5h-1v3.1zM303.8 131.2h-.7l-.6-2.1a8.2 8.2 0 01-.2-.8 6.1 6.1 0 01-.1.8l-.6 2.1h-.7l-.5-1.8-.4-1.8h.6l.5 2.1.2.9a6.2 6.2 0 01.1-.9l.6-2.1h.6l.6 2.1.2.9c0-.2 0-.5.2-.9l.5-2.1h.6l-1 3.6zM285.2 131.2h-.6v-3.1h-1v-.5h2.7v.5h-1v3.1zM267.2 131.2l-1-3v3h-.6v-3.6h.9l1 2.9 1-3h.9v3.7h-.6v-1.8a26.7 26.7 0 010-1.2l-1 3h-.6z" fill="#596069"/></g><defs><filter id="filter0_d" x="20" y="0" width="354" height="239" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="5"/><feGaussianBlur stdDeviation="16"/><feColorMatrix values="0 0 0 0 0.247059 0 0 0 0 0.294118 0 0 0 0 0.356863 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter1_d" x=".2" y="141.6" width="201.7" height="95.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="8.4"/><feGaussianBlur stdDeviation="8.4"/><feColorMatrix values="0 0 0 0 0.247059 0 0 0 0 0.294118 0 0 0 0 0.356863 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter2_d" x="13.2" y="147" width="175.5" height="69.5" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy=".8"/><feGaussianBlur stdDeviation="1.9"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter><filter id="filter3_d" x="236.2" y="93.6" width="166.5" height="148.7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="8.4"/><feGaussianBlur stdDeviation="8.4"/><feColorMatrix values="0 0 0 0 0.247059 0 0 0 0 0.294118 0 0 0 0 0.356863 0 0 0 0.15 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/><feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/></filter></defs></svg>
js/formidable.js CHANGED
@@ -412,7 +412,16 @@ function frmFrontFormJS() {
412
  $recaptcha = jQuery( form ).find( '.frm-g-recaptcha' );
413
  if ( $recaptcha.length ) {
414
  recaptchaID = $recaptcha.data( 'rid' );
415
- response = grecaptcha.getResponse( recaptchaID );
 
 
 
 
 
 
 
 
 
416
 
417
  if ( response.length === 0 ) {
418
  fieldContainer = $recaptcha.closest( '.frm_form_field' );
@@ -454,8 +463,7 @@ function frmFrontFormJS() {
454
  data: jQuery( object ).serialize() + '&action=frm_entries_' + action + '&nonce=' + frm_js.nonce,
455
  success: function( response ) {
456
  var formID, replaceContent, pageOrder, formReturned, contSubmit, delay,
457
- showCaptcha, $fieldCont, key, inCollapsedSection, frmTrigger,
458
- $recaptcha, recaptchaID,
459
  defaultResponse = { 'content': '', 'errors': {}, 'pass': false };
460
  if ( response === null ) {
461
  response = defaultResponse;
@@ -486,6 +494,8 @@ function frmFrontFormJS() {
486
 
487
  setTimeout(
488
  function() {
 
 
489
  replaceContent.replaceWith( response.content );
490
 
491
  addUrlParam( response );
@@ -496,11 +506,22 @@ function frmFrontFormJS() {
496
  frmThemeOverride_frmAfterSubmit( formReturned, pageOrder, response.content, object );
497
  }
498
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  afterFormSubmitted( object, response );
500
  },
501
  delay
502
  );
503
-
504
  } else if ( Object.keys( response.errors ).length ) {
505
  // errors were returned
506
 
@@ -510,11 +531,9 @@ function frmFrontFormJS() {
510
  contSubmit = true;
511
  removeAllErrors();
512
 
513
- showCaptcha = false;
514
  $fieldCont = null;
515
 
516
  for ( key in response.errors ) {
517
-
518
  $fieldCont = jQuery( object ).find( '#frm_field_' + key + '_container' );
519
 
520
  if ( $fieldCont.length ) {
@@ -532,34 +551,29 @@ function frmFrontFormJS() {
532
 
533
  if ( $fieldCont.is( ':visible' ) ) {
534
  addFieldError( $fieldCont, key, response.errors );
535
-
536
  contSubmit = false;
537
-
538
- $recaptcha = jQuery( object ).find( '#frm_field_' + key + '_container .frm-g-recaptcha, #frm_field_' + key + '_container .g-recaptcha' );
539
- if ( $recaptcha.length ) {
540
- showCaptcha = true;
541
- recaptchaID = $recaptcha.data( 'rid' );
542
- if ( jQuery().grecaptcha ) {
543
- if ( recaptchaID ) {
544
- grecaptcha.reset( recaptchaID );
545
- } else {
546
- grecaptcha.reset();
547
- }
548
- }
549
- }
550
  }
551
  }
552
  }
553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
  jQuery( document ).trigger( 'frmFormErrors', [ object, response ]);
555
 
556
  fieldset.removeClass( 'frm_doing_ajax' );
557
  scrollToFirstField( object );
558
 
559
- if ( showCaptcha !== true ) {
560
- replaceCheckedRecaptcha( object, false );
561
- }
562
-
563
  if ( contSubmit ) {
564
  object.submit();
565
  } else {
@@ -569,7 +583,6 @@ function frmFrontFormJS() {
569
  // there may have been a plugin conflict, or the form is not set to submit with ajax
570
 
571
  showFileLoading( object );
572
- replaceCheckedRecaptcha( object, true );
573
 
574
  object.submit();
575
  }
@@ -757,20 +770,6 @@ function frmFrontFormJS() {
757
  }
758
  }
759
 
760
- function replaceCheckedRecaptcha( object, checkPage ) {
761
- var morePages,
762
- $recapField = jQuery( object ).find( '.frm-g-recaptcha, .g-recaptcha' );
763
- if ( $recapField.length ) {
764
- if ( checkPage ) {
765
- morePages = jQuery( object ).find( '.frm_next_page' ).length < 1 || jQuery( object ).find( '.frm_next_page' ).val() < 1;
766
- if ( ! morePages ) {
767
- return;
768
- }
769
- }
770
- $recapField.closest( '.frm_form_field' ).replaceWith( '<input type="hidden" name="recaptcha_checked" value="' + frm_js.nonce + '">' );
771
- }
772
- }
773
-
774
  function clearDefault() {
775
  /*jshint validthis:true */
776
  toggleDefault( jQuery( this ), 'clear' );
412
  $recaptcha = jQuery( form ).find( '.frm-g-recaptcha' );
413
  if ( $recaptcha.length ) {
414
  recaptchaID = $recaptcha.data( 'rid' );
415
+
416
+ try {
417
+ response = grecaptcha.getResponse( recaptchaID );
418
+ } catch ( e ) {
419
+ if ( jQuery( form ).find( 'input[name="recaptcha_checked"]' ).length ) {
420
+ return errors;
421
+ } else {
422
+ response = '';
423
+ }
424
+ }
425
 
426
  if ( response.length === 0 ) {
427
  fieldContainer = $recaptcha.closest( '.frm_form_field' );
463
  data: jQuery( object ).serialize() + '&action=frm_entries_' + action + '&nonce=' + frm_js.nonce,
464
  success: function( response ) {
465
  var formID, replaceContent, pageOrder, formReturned, contSubmit, delay,
466
+ $fieldCont, key, inCollapsedSection, frmTrigger,
 
467
  defaultResponse = { 'content': '', 'errors': {}, 'pass': false };
468
  if ( response === null ) {
469
  response = defaultResponse;
494
 
495
  setTimeout(
496
  function() {
497
+ var container, input, previousInput;
498
+
499
  replaceContent.replaceWith( response.content );
500
 
501
  addUrlParam( response );
506
  frmThemeOverride_frmAfterSubmit( formReturned, pageOrder, response.content, object );
507
  }
508
 
509
+ if ( typeof response.recaptcha !== 'undefined' ) {
510
+ container = jQuery( '#frm_form_' + formID + '_container' ).find( '.frm_fields_container' );
511
+ input = '<input type="hidden" name="recaptcha_checked" value="' + response.recaptcha + '">';
512
+ previousInput = container.find( 'input[name="recaptcha_checked"]' );
513
+
514
+ if ( previousInput.length ) {
515
+ previousInput.replaceWith( input );
516
+ } else {
517
+ container.append( input );
518
+ }
519
+ }
520
+
521
  afterFormSubmitted( object, response );
522
  },
523
  delay
524
  );
 
525
  } else if ( Object.keys( response.errors ).length ) {
526
  // errors were returned
527
 
531
  contSubmit = true;
532
  removeAllErrors();
533
 
 
534
  $fieldCont = null;
535
 
536
  for ( key in response.errors ) {
 
537
  $fieldCont = jQuery( object ).find( '#frm_field_' + key + '_container' );
538
 
539
  if ( $fieldCont.length ) {
551
 
552
  if ( $fieldCont.is( ':visible' ) ) {
553
  addFieldError( $fieldCont, key, response.errors );
 
554
  contSubmit = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
555
  }
556
  }
557
  }
558
 
559
+ jQuery( object ).find( '.frm-g-recaptcha, .g-recaptcha' ).each( function() {
560
+ var $recaptcha = jQuery( this ),
561
+ recaptchaID = $recaptcha.data( 'rid' );
562
+
563
+ if ( typeof grecaptcha !== 'undefined' && grecaptcha ) {
564
+ if ( recaptchaID ) {
565
+ grecaptcha.reset( recaptchaID );
566
+ } else {
567
+ grecaptcha.reset();
568
+ }
569
+ }
570
+ });
571
+
572
  jQuery( document ).trigger( 'frmFormErrors', [ object, response ]);
573
 
574
  fieldset.removeClass( 'frm_doing_ajax' );
575
  scrollToFirstField( object );
576
 
 
 
 
 
577
  if ( contSubmit ) {
578
  object.submit();
579
  } else {
583
  // there may have been a plugin conflict, or the form is not set to submit with ajax
584
 
585
  showFileLoading( object );
 
586
 
587
  object.submit();
588
  }
770
  }
771
  }
772
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
773
  function clearDefault() {
774
  /*jshint validthis:true */
775
  toggleDefault( jQuery( this ), 'clear' );
js/formidable.min.js CHANGED
@@ -13,38 +13,38 @@ fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]
13
  invalidMsg=getFieldValidationMessage(field,"data-invmsg");if(emailAddress!==""&&re.test(emailAddress)===false){errors[fieldID]=invalidMsg;if(isConf)errors[fieldID.replace("conf_","")]=""}else if(isConf){confName=field.name.replace("conf_","");match=emailFields.filter('[name="'+confName+'"]').val();if(match!==emailAddress){errors[fieldID]="";errors[fieldID.replace("conf_","")]=""}}}return errors}function checkNumberField(field,errors){var fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==
14
  false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkPatternField(field,errors){var fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors)){format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}return errors}function hasInvisibleRecaptcha(object){var recaptcha,
15
  recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha;else return false}else return false}function executeInvisibleRecaptcha(invisibleRecaptcha){var recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}
16
- function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=$recaptcha.data("rid");response=grecaptcha.getResponse(recaptchaID);if(response.length===0){fieldContainer=$recaptcha.closest(".frm_form_field");fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg=field.getAttribute(messageType);
17
- if(msg===null)msg="";return msg}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){var fieldset;if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");jQuery.ajax({type:"POST",
18
- url:frm_js.ajax_url,data:jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce,success:function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,showCaptcha,$fieldCont,key,inCollapsedSection,frmTrigger,$recaptcha,recaptchaID,defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=jQuery.parseJSON(response);else response=defaultResponse;
19
- if(typeof response.redirect!=="undefined"){jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,
20
- formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),
21
- "enable");contSubmit=true;removeAllErrors();showCaptcha=false;$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.click()}}if($fieldCont.is(":visible")){addFieldError($fieldCont,
22
- key,response.errors);contSubmit=false;$recaptcha=jQuery(object).find("#frm_field_"+key+"_container .frm-g-recaptcha, #frm_field_"+key+"_container .g-recaptcha");if($recaptcha.length){showCaptcha=true;recaptchaID=$recaptcha.data("rid");if(jQuery().grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()}}}}jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(showCaptcha!==true)replaceCheckedRecaptcha(object,
23
- false);if(contSubmit)object.submit();else jQuery(object).prepend(response.error_message)}else{showFileLoading(object);replaceCheckedRecaptcha(object,true);object.submit()}},error:function(){jQuery(object).find('input[type="submit"], input[type="button"]').removeAttr("disabled");object.submit()}})}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",
24
- [object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0}
25
- function addUrlParam(response){var url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;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,
26
- key,jsErrors){var input,id,describedBy;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");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)===
27
- -1)describedBy=describedBy+" "+id;input.attr("aria-describedby",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!==
28
- "undefined"){describedBy=describedBy.replace(errorId,"");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);
29
- disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,
30
- enable,processesRunning){var loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var fileval,loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!==
31
- "undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,checkPage){var morePages,$recapField=jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){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+'">')}}
32
- function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,e){var thisVal,v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;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=
33
- jQuery(this),entryId=this.getAttribute("data-eid"),formId=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:entryId,form_id:formId,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=
34
- 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(){var len,from;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){len=this.length>>>0;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]===
35
- 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(){var t,len,res,thisp,i,val;if(!Array.prototype.filter)Array.prototype.filter=function(fun){if(this===void 0||this===null)throw new TypeError;t=Object(this);len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;res=[];thisp=arguments[1];for(i=0;i<len;i++)if(i in t){val=t[i];if(fun.call(thisp,
36
- val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){var keys,i;if(!Object.keys)Object.keys=function(obj){keys=[];for(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",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",
37
- ".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"]',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",
38
- 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 formID,recaptchaID,size=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,
39
- "theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){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)}}recaptchaID=grecaptcha.render(captcha.id,params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},
40
- 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 isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<
41
- 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{errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var hasFileFields,classList=object.className.trim().split(/\s+/gi);
42
- if(classList.indexOf("frm_ajax_submit")>-1){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()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);
43
- if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){var customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){var key,$fieldCont;
44
- removeAllErrors();for(key in jsErrors){$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,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,
45
- enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=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;scrollObj.focus();newPos=scrollObj.offset().top;
46
- if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;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}}},
47
- fieldValueChanged:function(e){var fieldId=frmFrontForm.getFieldId(this,false);if(!fieldId||typeof fieldId==="undefined")return;if(e.frmTriggered&&e.frmTriggered==fieldId)return;jQuery(document).trigger("frmFieldChanged",[this,fieldId,e]);if(e.selfTriggered!==true)maybeValidateChange(fieldId,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");
48
  if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");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()},
49
  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");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");
50
  frmProForm.loadGoogle()},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")}}}frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});
13
  invalidMsg=getFieldValidationMessage(field,"data-invmsg");if(emailAddress!==""&&re.test(emailAddress)===false){errors[fieldID]=invalidMsg;if(isConf)errors[fieldID.replace("conf_","")]=""}else if(isConf){confName=field.name.replace("conf_","");match=emailFields.filter('[name="'+confName+'"]').val();if(match!==emailAddress){errors[fieldID]="";errors[fieldID.replace("conf_","")]=""}}}return errors}function checkNumberField(field,errors){var fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==
14
  false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkPatternField(field,errors){var fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors)){format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}return errors}function hasInvisibleRecaptcha(object){var recaptcha,
15
  recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha;else return false}else return false}function executeInvisibleRecaptcha(invisibleRecaptcha){var recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}
16
+ function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=$recaptcha.data("rid");try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;else response=""}if(response.length===0){fieldContainer=$recaptcha.closest(".frm_form_field");fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container",
17
+ "");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg=field.getAttribute(messageType);if(msg===null)msg="";return msg}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){var fieldset;if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();
18
+ fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce,success:function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger,defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===
19
+ 0)response=jQuery.parseJSON(response);else response=defaultResponse;if(typeof response.redirect!=="undefined"){jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=
20
+ jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){var container,input,previousInput;replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,
21
+ response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");input='<input type="hidden" name="recaptcha_checked" value="'+response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),
22
+ "enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.click()}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);
23
+ contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha").each(function(){var $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else jQuery(object).prepend(response.error_message)}else{showFileLoading(object);
24
+ object.submit()}},error:function(){jQuery(object).find('input[type="submit"], input[type="button"]').removeAttr("disabled");object.submit()}})}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);
25
+ if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0}function addUrlParam(response){var url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",
26
+ response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");i=kvp.length;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){var input,id,describedBy;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");
27
+ 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",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",
28
+ [$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,"");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");
29
+ 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);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);
30
+ $object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){var loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");
31
+ loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var fileval,loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!=="undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),
32
+ "replace")}function toggleDefault($thisField,e){var thisVal,v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;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),entryId=this.getAttribute("data-eid"),formId=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");
33
+ 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:entryId,form_id:formId,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");
34
+ if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){var len,from;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){len=this.length>>>0;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=
35
+ function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){var t,len,res,thisp,i,val;if(!Array.prototype.filter)Array.prototype.filter=function(fun){if(this===void 0||this===null)throw new TypeError;t=Object(this);len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;res=[];thisp=arguments[1];for(i=0;i<len;i++)if(i in t){val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){var keys,i;if(!Object.keys)Object.keys=function(obj){keys=
36
+ [];for(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",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();
37
+ 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"]',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);
38
+ jQuery("a[data-frmtoggle]").click(toggleDiv);addIndexOfFallbackForIE8();addTrimFallbackForIE8();addFilterFallbackForIE8();addKeysFallbackForIE8()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var formID,recaptchaID,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"){formID=
39
+ 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)}}recaptchaID=grecaptcha.render(captcha.id,params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+
40
+ formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){var isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){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!==
41
+ "undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var hasFileFields,classList=object.className.trim().split(/\s+/gi);if(classList.indexOf("frm_ajax_submit")>
42
+ -1){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()},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},
43
+ getAjaxFormErrors:function(object){var customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){var key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont=jQuery(object).find("#frm_field_"+key+
44
+ "_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,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));
45
+ frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=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;scrollObj.focus();newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");
46
+ b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;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 fieldId=frmFrontForm.getFieldId(this,false);if(!fieldId||typeof fieldId===
47
+ "undefined")return;if(e.frmTriggered&&e.frmTriggered==fieldId)return;jQuery(document).trigger("frmFieldChanged",[this,fieldId,e]);if(e.selfTriggered!==true)maybeValidateChange(fieldId,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");
48
  if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");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()},
49
  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");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");
50
  frmProForm.loadGoogle()},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")}}}frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});
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.06.03\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: 2020-08-12T22:54:16+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"
@@ -552,7 +552,7 @@ msgid "We're sorry. It looks like you've already submitted that."
552
  msgstr ""
553
 
554
  #: classes/models/FrmSettings.php:105
555
- #: classes/views/frm-forms/form.php:36
556
  #: classes/views/styles/_sample_form.php:74
557
  msgid "Submit"
558
  msgstr ""
@@ -627,12 +627,12 @@ msgstr ""
627
  msgid "Please select a lower number"
628
  msgstr ""
629
 
630
- #: classes/models/fields/FrmFieldCaptcha.php:146
631
- msgid "The captcha is missing from this form"
632
  msgstr ""
633
 
634
- #: classes/models/fields/FrmFieldCaptcha.php:163
635
- msgid "There was a problem verifying your recaptcha"
636
  msgstr ""
637
 
638
  #: classes/models/FrmFormAction.php:38
@@ -660,7 +660,6 @@ msgid "Entry is imported"
660
  msgstr ""
661
 
662
  #: classes/models/FrmFormMigrator.php:67
663
- #: classes/helpers/FrmFormsListHelper.php:111
664
  msgid "No Forms Found."
665
  msgstr ""
666
 
@@ -712,6 +711,7 @@ msgstr ""
712
 
713
  #: classes/controllers/FrmAddonsController.php:19
714
  #: classes/controllers/FrmAddonsController.php:20
 
715
  #: classes/views/frm-fields/back-end/smart-values.php:11
716
  #: classes/helpers/FrmFormsHelper.php:1285
717
  msgid "Upgrade"
@@ -726,7 +726,7 @@ msgid "Installed"
726
  msgstr ""
727
 
728
  #: classes/controllers/FrmAddonsController.php:520
729
- #: classes/helpers/FrmAppHelper.php:2432
730
  msgid "Active"
731
  msgstr ""
732
 
@@ -750,37 +750,38 @@ msgstr ""
750
  msgid "Your plugins have been installed and activated."
751
  msgstr ""
752
 
753
- #: classes/controllers/FrmAppController.php:146
754
  msgid "Build"
755
  msgstr ""
756
 
757
- #: classes/controllers/FrmAppController.php:153
758
  #: classes/views/frm-forms/settings.php:8
759
  #: classes/views/frm-settings/form.php:9
760
- #: classes/helpers/FrmFormsListHelper.php:304
761
  msgid "Settings"
762
  msgstr ""
763
 
764
- #: classes/controllers/FrmAppController.php:160
765
  #: classes/controllers/FrmXMLController.php:256
766
  #: classes/controllers/FrmFormsController.php:741
767
  #: classes/controllers/FrmEntriesController.php:8
768
- #: classes/controllers/FrmEntriesController.php:92
769
  #: classes/views/xml/import_form.php:116
770
  msgid "Entries"
771
  msgstr ""
772
 
773
- #: classes/controllers/FrmAppController.php:171
774
- #: classes/controllers/FrmAppController.php:177
 
775
  msgid "Views"
776
  msgstr ""
777
 
778
- #: classes/controllers/FrmAppController.php:183
779
- #: classes/controllers/FrmAppController.php:189
780
  msgid "Reports"
781
  msgstr ""
782
 
783
- #: classes/controllers/FrmAppController.php:205
784
  msgid "Build a Form"
785
  msgstr ""
786
 
@@ -1022,7 +1023,7 @@ msgstr ""
1022
  #: classes/views/addons/list.php:81
1023
  #: classes/views/shared/upgrade_overlay.php:27
1024
  #: classes/helpers/FrmFormMigratorsHelper.php:131
1025
- #: classes/helpers/FrmAppHelper.php:2431
1026
  msgid "Install"
1027
  msgstr ""
1028
 
@@ -1066,7 +1067,7 @@ msgstr ""
1066
 
1067
  #: classes/controllers/FrmStylesController.php:38
1068
  #: classes/views/frm-entries/sidebar-shared.php:35
1069
- #: classes/helpers/FrmFormsListHelper.php:303
1070
  msgid "Edit"
1071
  msgstr ""
1072
 
@@ -1223,7 +1224,7 @@ msgid "Add forms and content"
1223
  msgstr ""
1224
 
1225
  #: classes/controllers/FrmFormsController.php:642
1226
- #: classes/controllers/FrmEntriesController.php:76
1227
  #: classes/views/xml/import_form.php:147
1228
  #: classes/widgets/FrmShowForm.php:56
1229
  msgid "Form"
@@ -1368,7 +1369,7 @@ msgid "Entry ID"
1368
  msgstr ""
1369
 
1370
  #: classes/controllers/FrmFormsController.php:1194
1371
- #: classes/controllers/FrmEntriesController.php:71
1372
  #: classes/views/frm-entries/sidebar-shared.php:52
1373
  #: classes/views/frm-entries/form.php:50
1374
  msgid "Entry Key"
@@ -1414,15 +1415,15 @@ msgstr ""
1414
  msgid "No forms were specified"
1415
  msgstr ""
1416
 
1417
- #: classes/controllers/FrmFormsController.php:1411
1418
  msgid "Abnormal HTML characters prevented your form from saving correctly"
1419
  msgstr ""
1420
 
1421
- #: classes/controllers/FrmFormsController.php:1501
1422
  #: classes/views/frm-forms/list-templates.php:198
1423
  #: classes/views/xml/import_form.php:128
1424
  #: classes/views/styles/manage.php:54
1425
- #: classes/helpers/FrmFormsListHelper.php:317
1426
  #: classes/helpers/FrmFormsHelper.php:57
1427
  #: classes/helpers/FrmFormsHelper.php:112
1428
  #: classes/helpers/FrmFormsHelper.php:166
@@ -1430,17 +1431,17 @@ msgstr ""
1430
  msgid "(no title)"
1431
  msgstr ""
1432
 
1433
- #: classes/controllers/FrmFormsController.php:1547
1434
- #: classes/controllers/FrmFormsController.php:1561
1435
  msgid "Please select a valid form"
1436
  msgstr ""
1437
 
1438
- #: classes/controllers/FrmFormsController.php:1783
1439
  msgid "Please wait while you are redirected."
1440
  msgstr ""
1441
 
1442
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
1443
- #: classes/controllers/FrmFormsController.php:1819
1444
  msgid "%1$sClick here%2$s if you are not automatically redirected."
1445
  msgstr ""
1446
 
@@ -1487,37 +1488,37 @@ msgstr ""
1487
  msgid "%s form actions"
1488
  msgstr ""
1489
 
1490
- #: classes/controllers/FrmEntriesController.php:77
1491
  msgid "Entry Name"
1492
  msgstr ""
1493
 
1494
- #: classes/controllers/FrmEntriesController.php:78
1495
  #: classes/helpers/FrmCSVExportHelper.php:150
1496
  msgid "Created By"
1497
  msgstr ""
1498
 
1499
- #: classes/controllers/FrmEntriesController.php:81
1500
  msgid "Entry creation date"
1501
  msgstr ""
1502
 
1503
- #: classes/controllers/FrmEntriesController.php:82
1504
  msgid "Entry update date"
1505
  msgstr ""
1506
 
1507
- #: classes/controllers/FrmEntriesController.php:388
1508
  msgid "Your import is complete"
1509
  msgstr ""
1510
 
1511
  #. translators: %1$s: Time string
1512
- #: classes/controllers/FrmEntriesController.php:400
1513
  msgid "This form is in the trash and is scheduled to be deleted permanently in %s along with any entries."
1514
  msgstr ""
1515
 
1516
- #: classes/controllers/FrmEntriesController.php:419
1517
  msgid "You are trying to view an entry that does not exist."
1518
  msgstr ""
1519
 
1520
- #: classes/controllers/FrmEntriesController.php:447
1521
  msgid "Entry was Successfully Deleted"
1522
  msgstr ""
1523
 
@@ -1553,7 +1554,7 @@ msgstr ""
1553
  #: classes/views/frm-forms/_publish_box.php:16
1554
  #: classes/views/frm-forms/list-templates.php:155
1555
  #: classes/views/frm-forms/list-templates.php:264
1556
- #: classes/helpers/FrmFormsListHelper.php:308
1557
  msgid "Preview"
1558
  msgstr ""
1559
 
@@ -1577,6 +1578,11 @@ msgstr ""
1577
  msgid "Slide vertically"
1578
  msgstr ""
1579
 
 
 
 
 
 
1580
  #: classes/views/frm-forms/settings-html.php:3
1581
  msgid "Form Classes"
1582
  msgstr ""
@@ -1614,8 +1620,8 @@ msgstr ""
1614
 
1615
  #: classes/views/frm-forms/new-form-overlay.php:31
1616
  #: classes/views/shared/confirm-overlay.php:14
1617
- #: classes/views/shared/admin-header.php:42
1618
- #: classes/helpers/FrmAppHelper.php:2392
1619
  msgid "Cancel"
1620
  msgstr ""
1621
 
@@ -1627,12 +1633,18 @@ msgstr ""
1627
  #: classes/views/shared/mb_adv_info.php:35
1628
  #: classes/views/shared/mb_adv_info.php:178
1629
  #: classes/views/frm-entries/list.php:42
1630
- #: classes/helpers/FrmAppHelper.php:920
1631
  msgid "Search"
1632
  msgstr ""
1633
 
1634
- #: classes/views/frm-forms/list-templates.php:5
1635
- msgid "Add New Form"
 
 
 
 
 
 
1636
  msgstr ""
1637
 
1638
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
@@ -1645,7 +1657,7 @@ msgid "Blank Form"
1645
  msgstr ""
1646
 
1647
  #: classes/views/frm-forms/list-templates.php:58
1648
- #: classes/views/shared/admin-header.php:37
1649
  #: classes/views/xml/import_form.php:12
1650
  #: classes/views/frm-entries/list.php:29
1651
  msgid "Import"
@@ -1656,7 +1668,7 @@ msgid "Search Templates"
1656
  msgstr ""
1657
 
1658
  #: classes/views/frm-forms/list-templates.php:74
1659
- #: classes/helpers/FrmEntriesListHelper.php:141
1660
  msgid "Filter"
1661
  msgstr ""
1662
 
@@ -1696,7 +1708,6 @@ msgid "Select form for new template"
1696
  msgstr ""
1697
 
1698
  #: classes/views/frm-forms/list-templates.php:190
1699
- #: classes/views/frm-entries/no_entries.php:37
1700
  msgid "You have not created any forms yet."
1701
  msgstr ""
1702
 
@@ -1714,8 +1725,8 @@ msgstr ""
1714
 
1715
  #: classes/views/frm-forms/list-templates.php:256
1716
  #: classes/views/frm-form-actions/form_action.php:21
1717
- #: classes/helpers/FrmEntriesListHelper.php:286
1718
- #: classes/helpers/FrmFormsListHelper.php:135
1719
  #: classes/helpers/FrmFormsHelper.php:1103
1720
  msgid "Delete"
1721
  msgstr ""
@@ -1813,7 +1824,7 @@ msgid "Show Page Content"
1813
  msgstr ""
1814
 
1815
  #: classes/views/frm-forms/settings-advanced.php:93
1816
- #: classes/helpers/FrmAppHelper.php:1045
1817
  msgid "Select a Page"
1818
  msgstr ""
1819
 
@@ -1882,11 +1893,11 @@ msgstr ""
1882
  msgid "Page %s"
1883
  msgstr ""
1884
 
1885
- #: classes/views/frm-forms/form.php:43
1886
  msgid "Add Fields Here"
1887
  msgstr ""
1888
 
1889
- #: classes/views/frm-forms/form.php:46
1890
  msgid "Click or drag a field from the sidebar to add it to your form"
1891
  msgstr ""
1892
 
@@ -2118,6 +2129,8 @@ msgstr ""
2118
  #: classes/views/addons/list.php:84
2119
  #: classes/views/addons/list.php:94
2120
  #: classes/views/addons/list.php:95
 
 
2121
  msgid "Upgrade Now"
2122
  msgstr ""
2123
 
@@ -2144,7 +2157,7 @@ msgstr ""
2144
 
2145
  #: classes/views/shared/confirm-overlay.php:10
2146
  #: classes/views/shared/info-overlay.php:10
2147
- #: classes/helpers/FrmAppHelper.php:2399
2148
  msgid "Are you sure?"
2149
  msgstr ""
2150
 
@@ -2219,6 +2232,18 @@ msgstr ""
2219
  msgid "Sorry to hear you aren't enjoying building with Formidable. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
2220
  msgstr ""
2221
 
 
 
 
 
 
 
 
 
 
 
 
 
2222
  #: classes/views/shared/mb_adv_info.php:5
2223
  msgid "Fields"
2224
  msgstr ""
@@ -2246,7 +2271,7 @@ msgstr ""
2246
 
2247
  #: classes/views/shared/mb_adv_info.php:90
2248
  #: classes/helpers/FrmCSVExportHelper.php:154
2249
- #: classes/helpers/FrmAppHelper.php:2371
2250
  msgid "ID"
2251
  msgstr ""
2252
 
@@ -2256,7 +2281,7 @@ msgstr ""
2256
 
2257
  #: classes/views/shared/mb_adv_info.php:108
2258
  #: classes/views/shared/mb_adv_info.php:122
2259
- #: classes/helpers/FrmAppHelper.php:2433
2260
  msgid "Select a Field"
2261
  msgstr ""
2262
 
@@ -2268,6 +2293,18 @@ msgstr ""
2268
  msgid "Click to Insert"
2269
  msgstr ""
2270
 
 
 
 
 
 
 
 
 
 
 
 
 
2271
  #: classes/views/shared/info-overlay.php:14
2272
  msgid "Got it!"
2273
  msgstr ""
@@ -2594,6 +2631,7 @@ msgid "Styling disabled"
2594
  msgstr ""
2595
 
2596
  #: classes/views/styles/manage.php:76
 
2597
  msgid "No Forms Found"
2598
  msgstr ""
2599
 
@@ -2867,7 +2905,7 @@ msgid "Label Position"
2867
  msgstr ""
2868
 
2869
  #: classes/views/frm-fields/back-end/settings.php:265
2870
- #: classes/helpers/FrmAppHelper.php:2393
2871
  msgid "Default"
2872
  msgstr ""
2873
 
@@ -3255,7 +3293,7 @@ msgid "Post"
3255
  msgstr ""
3256
 
3257
  #: classes/views/frm-entries/sidebar-shared.php:38
3258
- #: classes/helpers/FrmEntriesListHelper.php:281
3259
  msgid "View"
3260
  msgstr ""
3261
 
@@ -3299,7 +3337,7 @@ msgstr ""
3299
  msgid "You did not add any fields to your form. %1$sGo back%2$s and add some."
3300
  msgstr ""
3301
 
3302
- #: classes/views/frm-entries/form.php:85
3303
  msgid "If you are human, leave this field blank."
3304
  msgstr ""
3305
 
@@ -3313,24 +3351,19 @@ msgid "If you would like to save entries in this form, go to the %1$sform Settin
3313
  msgstr ""
3314
 
3315
  #. translators: %s: The form name
3316
- #: classes/views/frm-entries/no_entries.php:20
3317
  msgid "No Entries for form: %s"
3318
  msgstr ""
3319
 
3320
- #: classes/views/frm-entries/no_entries.php:22
3321
- msgid "No Entries found."
3322
  msgstr ""
3323
 
3324
  #. translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML
3325
- #: classes/views/frm-entries/no_entries.php:30
3326
  msgid "See the %1$sform documentation%2$s for instructions on publishing your form"
3327
  msgstr ""
3328
 
3329
- #. translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML
3330
- #: classes/views/frm-entries/no_entries.php:42
3331
- msgid "To view entries, you must first %1$sbuild a form%2$s"
3332
- msgstr ""
3333
-
3334
  #: classes/helpers/FrmTipsHelper.php:29
3335
  msgid "Pro Tip:"
3336
  msgstr ""
@@ -3541,96 +3574,91 @@ msgstr ""
3541
  msgid "Collect instant payments, and send leads to MailChimp."
3542
  msgstr ""
3543
 
3544
- #: classes/helpers/FrmEntriesListHelper.php:90
3545
  msgid "No Entries Found"
3546
  msgstr ""
3547
 
3548
- #: classes/helpers/FrmEntriesListHelper.php:122
3549
  msgid "Getting spam form submissions?"
3550
  msgstr ""
3551
 
3552
- #: classes/helpers/FrmEntriesListHelper.php:124
3553
  msgid "Learn how to prevent them."
3554
  msgstr ""
3555
 
3556
- #: classes/helpers/FrmEntriesListHelper.php:140
3557
  msgid "View all forms"
3558
  msgstr ""
3559
 
3560
- #: classes/helpers/FrmEntriesListHelper.php:251
3561
  msgid "No"
3562
  msgstr ""
3563
 
3564
- #: classes/helpers/FrmEntriesListHelper.php:251
3565
  msgid "Yes"
3566
  msgstr ""
3567
 
3568
- #: classes/helpers/FrmEntriesListHelper.php:286
3569
  msgid "Permanently delete this entry?"
3570
  msgstr ""
3571
 
3572
- #: classes/helpers/FrmFormsListHelper.php:103
3573
  msgid "No forms found in the trash."
3574
  msgstr ""
3575
 
3576
- #: classes/helpers/FrmFormsListHelper.php:106
3577
  msgid "See all forms."
3578
  msgstr ""
3579
 
3580
- #: classes/helpers/FrmFormsListHelper.php:114
3581
- #: classes/helpers/FrmAppHelper.php:905
3582
- msgid "Add New"
3583
- msgstr ""
3584
-
3585
- #: classes/helpers/FrmFormsListHelper.php:126
3586
  #: classes/helpers/FrmFormsHelper.php:1091
3587
  msgid "Restore"
3588
  msgstr ""
3589
 
3590
- #: classes/helpers/FrmFormsListHelper.php:130
3591
  #: classes/helpers/FrmFormsHelper.php:1102
3592
  msgid "Delete Permanently"
3593
  msgstr ""
3594
 
3595
- #: classes/helpers/FrmFormsListHelper.php:133
3596
  msgid "Move to Trash"
3597
  msgstr ""
3598
 
3599
- #: classes/helpers/FrmFormsListHelper.php:149
3600
  msgid "Empty Trash"
3601
  msgstr ""
3602
 
3603
- #: classes/helpers/FrmFormsListHelper.php:158
3604
  msgid "My Forms"
3605
  msgstr ""
3606
 
3607
- #: classes/helpers/FrmFormsListHelper.php:159
3608
  msgid "Drafts"
3609
  msgstr ""
3610
 
3611
- #: classes/helpers/FrmFormsListHelper.php:160
3612
  #: classes/helpers/FrmFormsHelper.php:1096
3613
  #: classes/helpers/FrmFormsHelper.php:1199
3614
  msgid "Trash"
3615
  msgstr ""
3616
 
3617
  #. translators: %1$s: Status, %2$s: Number of items
3618
- #: classes/helpers/FrmFormsListHelper.php:182
3619
  msgid "%1$s <span class=\"count\">(%2$s)</span>"
3620
  msgstr ""
3621
 
3622
- #: classes/helpers/FrmFormsListHelper.php:264
3623
  msgid "Saving entries is disabled for this form"
3624
  msgstr ""
3625
 
3626
- #: classes/helpers/FrmFormsListHelper.php:344
3627
  #: classes/helpers/FrmFormsHelper.php:1198
3628
  #: classes/helpers/FrmCSVExportHelper.php:152
3629
  msgid "Draft"
3630
  msgstr ""
3631
 
3632
  #: classes/helpers/FrmFieldsHelper.php:286
3633
- #: classes/helpers/FrmAppHelper.php:2404
3634
  msgid "The entered values do not match"
3635
  msgstr ""
3636
 
@@ -3641,7 +3669,7 @@ msgstr ""
3641
 
3642
  #: classes/helpers/FrmFieldsHelper.php:456
3643
  #: classes/helpers/FrmFieldsHelper.php:457
3644
- #: classes/helpers/FrmAppHelper.php:2408
3645
  msgid "New Option"
3646
  msgstr ""
3647
 
@@ -4832,71 +4860,71 @@ msgstr ""
4832
  msgid "Placeholder inside the field"
4833
  msgstr ""
4834
 
4835
- #: classes/helpers/FrmListHelper.php:138
4836
  msgid "List View"
4837
  msgstr ""
4838
 
4839
- #: classes/helpers/FrmListHelper.php:139
4840
  msgid "Excerpt View"
4841
  msgstr ""
4842
 
4843
- #: classes/helpers/FrmListHelper.php:257
4844
- #: classes/helpers/FrmAppHelper.php:2434
4845
  msgid "No items found."
4846
  msgstr ""
4847
 
4848
- #: classes/helpers/FrmListHelper.php:384
4849
  msgid "Select bulk action"
4850
  msgstr ""
4851
 
4852
- #: classes/helpers/FrmListHelper.php:386
4853
  msgid "Bulk Actions"
4854
  msgstr ""
4855
 
4856
- #: classes/helpers/FrmListHelper.php:396
4857
  msgid "Apply"
4858
  msgstr ""
4859
 
4860
- #: classes/helpers/FrmListHelper.php:464
4861
- #: classes/helpers/FrmListHelper.php:1129
4862
  msgid "Show more details"
4863
  msgstr ""
4864
 
4865
  #. translators: %s: Number of items
4866
- #: classes/helpers/FrmListHelper.php:572
4867
- #: classes/helpers/FrmListHelper.php:1155
4868
  msgid "%s item"
4869
  msgid_plural "%s items"
4870
  msgstr[0] ""
4871
 
4872
- #: classes/helpers/FrmListHelper.php:603
4873
- #: classes/helpers/FrmListHelper.php:607
4874
  msgid "Current Page"
4875
  msgstr ""
4876
 
4877
  #. translators: %1$s: Current page number, %2$s: Total pages
4878
- #: classes/helpers/FrmListHelper.php:615
4879
  msgctxt "paging"
4880
  msgid "%1$s of %2$s"
4881
  msgstr ""
4882
 
4883
- #: classes/helpers/FrmListHelper.php:679
4884
  msgid "First page"
4885
  msgstr ""
4886
 
4887
- #: classes/helpers/FrmListHelper.php:680
4888
  msgid "Last page"
4889
  msgstr ""
4890
 
4891
- #: classes/helpers/FrmListHelper.php:681
4892
  msgid "Previous page"
4893
  msgstr ""
4894
 
4895
- #: classes/helpers/FrmListHelper.php:682
4896
  msgid "Next page"
4897
  msgstr ""
4898
 
4899
- #: classes/helpers/FrmListHelper.php:902
4900
  msgid "Select All"
4901
  msgstr ""
4902
 
@@ -5113,7 +5141,7 @@ msgid "Is this intentional?"
5113
  msgstr ""
5114
 
5115
  #: classes/helpers/FrmFormsHelper.php:1457
5116
- #: classes/helpers/FrmAppHelper.php:2428
5117
  msgid "See the list of reserved words in WordPress."
5118
  msgstr ""
5119
 
@@ -5163,555 +5191,563 @@ msgstr ""
5163
  msgid "Parent ID"
5164
  msgstr ""
5165
 
5166
- #: classes/helpers/FrmAppHelper.php:1183
 
 
 
 
 
 
 
 
5167
  msgid "View Forms"
5168
  msgstr ""
5169
 
5170
- #: classes/helpers/FrmAppHelper.php:1184
5171
  msgid "Add and Edit Forms"
5172
  msgstr ""
5173
 
5174
- #: classes/helpers/FrmAppHelper.php:1185
5175
  msgid "Delete Forms"
5176
  msgstr ""
5177
 
5178
- #: classes/helpers/FrmAppHelper.php:1186
5179
  msgid "Access this Settings Page"
5180
  msgstr ""
5181
 
5182
- #: classes/helpers/FrmAppHelper.php:1187
5183
  msgid "View Entries from Admin Area"
5184
  msgstr ""
5185
 
5186
- #: classes/helpers/FrmAppHelper.php:1188
5187
  msgid "Delete Entries from Admin Area"
5188
  msgstr ""
5189
 
5190
- #: classes/helpers/FrmAppHelper.php:1195
5191
  msgid "Add Entries from Admin Area"
5192
  msgstr ""
5193
 
5194
- #: classes/helpers/FrmAppHelper.php:1196
5195
  msgid "Edit Entries from Admin Area"
5196
  msgstr ""
5197
 
5198
- #: classes/helpers/FrmAppHelper.php:1197
5199
  msgid "View Reports"
5200
  msgstr ""
5201
 
5202
- #: classes/helpers/FrmAppHelper.php:1198
5203
  msgid "Add/Edit Views"
5204
  msgstr ""
5205
 
5206
- #: classes/helpers/FrmAppHelper.php:1864
5207
  msgid "at"
5208
  msgstr ""
5209
 
5210
- #: classes/helpers/FrmAppHelper.php:2008
5211
  msgid "year"
5212
  msgstr ""
5213
 
5214
- #: classes/helpers/FrmAppHelper.php:2009
5215
  msgid "years"
5216
  msgstr ""
5217
 
5218
- #: classes/helpers/FrmAppHelper.php:2013
5219
  msgid "month"
5220
  msgstr ""
5221
 
5222
- #: classes/helpers/FrmAppHelper.php:2014
5223
  msgid "months"
5224
  msgstr ""
5225
 
5226
- #: classes/helpers/FrmAppHelper.php:2018
5227
  msgid "week"
5228
  msgstr ""
5229
 
5230
- #: classes/helpers/FrmAppHelper.php:2019
5231
  msgid "weeks"
5232
  msgstr ""
5233
 
5234
- #: classes/helpers/FrmAppHelper.php:2023
5235
  msgid "day"
5236
  msgstr ""
5237
 
5238
- #: classes/helpers/FrmAppHelper.php:2024
5239
  msgid "days"
5240
  msgstr ""
5241
 
5242
- #: classes/helpers/FrmAppHelper.php:2028
5243
  msgid "hour"
5244
  msgstr ""
5245
 
5246
- #: classes/helpers/FrmAppHelper.php:2029
5247
  msgid "hours"
5248
  msgstr ""
5249
 
5250
- #: classes/helpers/FrmAppHelper.php:2033
5251
  msgid "minute"
5252
  msgstr ""
5253
 
5254
- #: classes/helpers/FrmAppHelper.php:2034
5255
  msgid "minutes"
5256
  msgstr ""
5257
 
5258
- #: classes/helpers/FrmAppHelper.php:2038
5259
  msgid "second"
5260
  msgstr ""
5261
 
5262
- #: classes/helpers/FrmAppHelper.php:2039
5263
  msgid "seconds"
5264
  msgstr ""
5265
 
5266
- #: classes/helpers/FrmAppHelper.php:2133
5267
  msgid "Give this action a label for easy reference."
5268
  msgstr ""
5269
 
5270
- #: classes/helpers/FrmAppHelper.php:2134
5271
  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."
5272
  msgstr ""
5273
 
5274
- #: classes/helpers/FrmAppHelper.php:2135
5275
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5276
  msgstr ""
5277
 
5278
- #: classes/helpers/FrmAppHelper.php:2136
5279
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5280
  msgstr ""
5281
 
5282
- #: classes/helpers/FrmAppHelper.php:2137
5283
  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."
5284
  msgstr ""
5285
 
5286
- #: classes/helpers/FrmAppHelper.php:2138
5287
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
5288
  msgstr ""
5289
 
5290
  #. translators: %1$s: Form name, %2$s: Date
5291
- #: classes/helpers/FrmAppHelper.php:2140
5292
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
5293
  msgstr ""
5294
 
5295
- #: classes/helpers/FrmAppHelper.php:2334
5296
- #: classes/helpers/FrmAppHelper.php:2413
5297
  msgid "Please wait while your site updates."
5298
  msgstr ""
5299
 
5300
- #: classes/helpers/FrmAppHelper.php:2335
5301
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
5302
  msgstr ""
5303
 
5304
- #: classes/helpers/FrmAppHelper.php:2338
5305
- #: classes/helpers/FrmAppHelper.php:2367
5306
  msgid "Loading&hellip;"
5307
  msgstr ""
5308
 
5309
- #: classes/helpers/FrmAppHelper.php:2368
5310
  msgid "Remove"
5311
  msgstr ""
5312
 
5313
- #: classes/helpers/FrmAppHelper.php:2372
5314
  msgid "No results match"
5315
  msgstr ""
5316
 
5317
- #: classes/helpers/FrmAppHelper.php:2373
5318
  msgid "That file looks like Spam."
5319
  msgstr ""
5320
 
5321
- #: classes/helpers/FrmAppHelper.php:2374
5322
  msgid "There is an error in the calculation in the field with key"
5323
  msgstr ""
5324
 
5325
- #: classes/helpers/FrmAppHelper.php:2375
5326
  msgid "Please complete the preceding required fields before uploading a file."
5327
  msgstr ""
5328
 
5329
- #: classes/helpers/FrmAppHelper.php:2386
5330
  msgid "(Click to add description)"
5331
  msgstr ""
5332
 
5333
- #: classes/helpers/FrmAppHelper.php:2387
5334
  msgid "(Blank)"
5335
  msgstr ""
5336
 
5337
- #: classes/helpers/FrmAppHelper.php:2388
5338
  msgid "(no label)"
5339
  msgstr ""
5340
 
5341
- #: classes/helpers/FrmAppHelper.php:2389
5342
  msgid "Saving"
5343
  msgstr ""
5344
 
5345
- #: classes/helpers/FrmAppHelper.php:2390
5346
  msgid "Saved"
5347
  msgstr ""
5348
 
5349
- #: classes/helpers/FrmAppHelper.php:2391
5350
  msgid "OK"
5351
  msgstr ""
5352
 
5353
- #: classes/helpers/FrmAppHelper.php:2394
5354
  msgid "Clear default value when typing"
5355
  msgstr ""
5356
 
5357
- #: classes/helpers/FrmAppHelper.php:2395
5358
  msgid "Do not clear default value when typing"
5359
  msgstr ""
5360
 
5361
- #: classes/helpers/FrmAppHelper.php:2396
5362
  msgid "Default value will pass form validation"
5363
  msgstr ""
5364
 
5365
- #: classes/helpers/FrmAppHelper.php:2397
5366
  msgid "Default value will NOT pass form validation"
5367
  msgstr ""
5368
 
5369
- #: classes/helpers/FrmAppHelper.php:2398
5370
  msgid "Heads up"
5371
  msgstr ""
5372
 
5373
- #: classes/helpers/FrmAppHelper.php:2400
5374
  msgid "Are you sure you want to delete this field and all data associated with it?"
5375
  msgstr ""
5376
 
5377
- #: classes/helpers/FrmAppHelper.php:2401
5378
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
5379
  msgstr ""
5380
 
5381
- #: classes/helpers/FrmAppHelper.php:2402
5382
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
5383
  msgstr ""
5384
 
5385
- #: classes/helpers/FrmAppHelper.php:2405
5386
  msgid "Enter Email"
5387
  msgstr ""
5388
 
5389
- #: classes/helpers/FrmAppHelper.php:2406
5390
  msgid "Confirm Email"
5391
  msgstr ""
5392
 
5393
- #: classes/helpers/FrmAppHelper.php:2407
5394
  msgid "Conditional content here"
5395
  msgstr ""
5396
 
5397
- #: classes/helpers/FrmAppHelper.php:2409
5398
  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."
5399
  msgstr ""
5400
 
5401
- #: classes/helpers/FrmAppHelper.php:2410
5402
  msgid "Enter Password"
5403
  msgstr ""
5404
 
5405
- #: classes/helpers/FrmAppHelper.php:2411
5406
  msgid "Confirm Password"
5407
  msgstr ""
5408
 
5409
- #: classes/helpers/FrmAppHelper.php:2412
5410
  msgid "Import Complete"
5411
  msgstr ""
5412
 
5413
- #: classes/helpers/FrmAppHelper.php:2414
5414
  msgid "Warning: There is no way to retrieve unsaved entries."
5415
  msgstr ""
5416
 
5417
- #: classes/helpers/FrmAppHelper.php:2415
5418
  msgid "Private"
5419
  msgstr ""
5420
 
5421
- #: classes/helpers/FrmAppHelper.php:2418
5422
  msgid "No new licenses were found"
5423
  msgstr ""
5424
 
5425
- #: classes/helpers/FrmAppHelper.php:2419
5426
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
5427
  msgstr ""
5428
 
5429
- #: classes/helpers/FrmAppHelper.php:2420
5430
  msgid "This calculation may have shortcodes that work in Views but not forms."
5431
  msgstr ""
5432
 
5433
- #: classes/helpers/FrmAppHelper.php:2421
5434
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
5435
  msgstr ""
5436
 
5437
- #: classes/helpers/FrmAppHelper.php:2422
5438
  msgid "This form action is limited to one per form. Please edit the existing form action."
5439
  msgstr ""
5440
 
5441
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
5442
- #: classes/helpers/FrmAppHelper.php:2425
5443
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
5444
  msgstr ""
5445
 
5446
  #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common.
5447
- #: classes/helpers/FrmAppHelper.php:2427
5448
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
5449
  msgstr ""
5450
 
5451
- #: classes/helpers/FrmAppHelper.php:2429
5452
  msgid "Please enter a Repeat Limit that is greater than 1."
5453
  msgstr ""
5454
 
5455
- #: classes/helpers/FrmAppHelper.php:2430
5456
  msgid "Please select a limit between 0 and 200."
5457
  msgstr ""
5458
 
5459
- #: classes/helpers/FrmAppHelper.php:2462
5460
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
5461
  msgstr ""
5462
 
5463
- #: classes/helpers/FrmAppHelper.php:2489
5464
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
5465
  msgstr ""
5466
 
5467
- #: classes/helpers/FrmAppHelper.php:2517
5468
  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+."
5469
  msgstr ""
5470
 
5471
- #: classes/helpers/FrmAppHelper.php:2523
5472
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
5473
  msgstr ""
5474
 
5475
- #: classes/helpers/FrmAppHelper.php:2537
5476
  msgid "English"
5477
  msgstr ""
5478
 
5479
- #: classes/helpers/FrmAppHelper.php:2538
5480
  msgid "Afrikaans"
5481
  msgstr ""
5482
 
5483
- #: classes/helpers/FrmAppHelper.php:2539
5484
  msgid "Albanian"
5485
  msgstr ""
5486
 
5487
- #: classes/helpers/FrmAppHelper.php:2540
5488
  msgid "Arabic"
5489
  msgstr ""
5490
 
5491
- #: classes/helpers/FrmAppHelper.php:2541
5492
  msgid "Armenian"
5493
  msgstr ""
5494
 
5495
- #: classes/helpers/FrmAppHelper.php:2542
5496
  msgid "Azerbaijani"
5497
  msgstr ""
5498
 
5499
- #: classes/helpers/FrmAppHelper.php:2543
5500
  msgid "Basque"
5501
  msgstr ""
5502
 
5503
- #: classes/helpers/FrmAppHelper.php:2544
5504
  msgid "Bosnian"
5505
  msgstr ""
5506
 
5507
- #: classes/helpers/FrmAppHelper.php:2545
5508
  msgid "Bulgarian"
5509
  msgstr ""
5510
 
5511
- #: classes/helpers/FrmAppHelper.php:2546
5512
  msgid "Catalan"
5513
  msgstr ""
5514
 
5515
- #: classes/helpers/FrmAppHelper.php:2547
5516
  msgid "Chinese Hong Kong"
5517
  msgstr ""
5518
 
5519
- #: classes/helpers/FrmAppHelper.php:2548
5520
  msgid "Chinese Simplified"
5521
  msgstr ""
5522
 
5523
- #: classes/helpers/FrmAppHelper.php:2549
5524
  msgid "Chinese Traditional"
5525
  msgstr ""
5526
 
5527
- #: classes/helpers/FrmAppHelper.php:2550
5528
  msgid "Croatian"
5529
  msgstr ""
5530
 
5531
- #: classes/helpers/FrmAppHelper.php:2551
5532
  msgid "Czech"
5533
  msgstr ""
5534
 
5535
- #: classes/helpers/FrmAppHelper.php:2552
5536
  msgid "Danish"
5537
  msgstr ""
5538
 
5539
- #: classes/helpers/FrmAppHelper.php:2553
5540
  msgid "Dutch"
5541
  msgstr ""
5542
 
5543
- #: classes/helpers/FrmAppHelper.php:2554
5544
  msgid "English/UK"
5545
  msgstr ""
5546
 
5547
- #: classes/helpers/FrmAppHelper.php:2555
5548
  msgid "Esperanto"
5549
  msgstr ""
5550
 
5551
- #: classes/helpers/FrmAppHelper.php:2556
5552
  msgid "Estonian"
5553
  msgstr ""
5554
 
5555
- #: classes/helpers/FrmAppHelper.php:2557
5556
  msgid "Faroese"
5557
  msgstr ""
5558
 
5559
- #: classes/helpers/FrmAppHelper.php:2558
5560
  msgid "Farsi/Persian"
5561
  msgstr ""
5562
 
5563
- #: classes/helpers/FrmAppHelper.php:2559
5564
  msgid "Filipino"
5565
  msgstr ""
5566
 
5567
- #: classes/helpers/FrmAppHelper.php:2560
5568
  msgid "Finnish"
5569
  msgstr ""
5570
 
5571
- #: classes/helpers/FrmAppHelper.php:2561
5572
  msgid "French"
5573
  msgstr ""
5574
 
5575
- #: classes/helpers/FrmAppHelper.php:2562
5576
  msgid "French/Canadian"
5577
  msgstr ""
5578
 
5579
- #: classes/helpers/FrmAppHelper.php:2563
5580
  msgid "French/Swiss"
5581
  msgstr ""
5582
 
5583
- #: classes/helpers/FrmAppHelper.php:2564
5584
  msgid "German"
5585
  msgstr ""
5586
 
5587
- #: classes/helpers/FrmAppHelper.php:2565
5588
  msgid "German/Austria"
5589
  msgstr ""
5590
 
5591
- #: classes/helpers/FrmAppHelper.php:2566
5592
  msgid "German/Switzerland"
5593
  msgstr ""
5594
 
5595
- #: classes/helpers/FrmAppHelper.php:2567
5596
  msgid "Greek"
5597
  msgstr ""
5598
 
5599
- #: classes/helpers/FrmAppHelper.php:2568
5600
- #: classes/helpers/FrmAppHelper.php:2569
5601
  msgid "Hebrew"
5602
  msgstr ""
5603
 
5604
- #: classes/helpers/FrmAppHelper.php:2570
5605
  msgid "Hindi"
5606
  msgstr ""
5607
 
5608
- #: classes/helpers/FrmAppHelper.php:2571
5609
  msgid "Hungarian"
5610
  msgstr ""
5611
 
5612
- #: classes/helpers/FrmAppHelper.php:2572
5613
  msgid "Icelandic"
5614
  msgstr ""
5615
 
5616
- #: classes/helpers/FrmAppHelper.php:2573
5617
  msgid "Indonesian"
5618
  msgstr ""
5619
 
5620
- #: classes/helpers/FrmAppHelper.php:2574
5621
  msgid "Italian"
5622
  msgstr ""
5623
 
5624
- #: classes/helpers/FrmAppHelper.php:2575
5625
  msgid "Japanese"
5626
  msgstr ""
5627
 
5628
- #: classes/helpers/FrmAppHelper.php:2576
5629
  msgid "Korean"
5630
  msgstr ""
5631
 
5632
- #: classes/helpers/FrmAppHelper.php:2577
5633
  msgid "Latvian"
5634
  msgstr ""
5635
 
5636
- #: classes/helpers/FrmAppHelper.php:2578
5637
  msgid "Lithuanian"
5638
  msgstr ""
5639
 
5640
- #: classes/helpers/FrmAppHelper.php:2579
5641
  msgid "Malaysian"
5642
  msgstr ""
5643
 
5644
- #: classes/helpers/FrmAppHelper.php:2580
5645
  msgid "Norwegian"
5646
  msgstr ""
5647
 
5648
- #: classes/helpers/FrmAppHelper.php:2581
5649
  msgid "Polish"
5650
  msgstr ""
5651
 
5652
- #: classes/helpers/FrmAppHelper.php:2582
5653
  msgid "Portuguese"
5654
  msgstr ""
5655
 
5656
- #: classes/helpers/FrmAppHelper.php:2583
5657
  msgid "Portuguese/Brazilian"
5658
  msgstr ""
5659
 
5660
- #: classes/helpers/FrmAppHelper.php:2584
5661
  msgid "Portuguese/Portugal"
5662
  msgstr ""
5663
 
5664
- #: classes/helpers/FrmAppHelper.php:2585
5665
  msgid "Romanian"
5666
  msgstr ""
5667
 
5668
- #: classes/helpers/FrmAppHelper.php:2586
5669
  msgid "Russian"
5670
  msgstr ""
5671
 
5672
- #: classes/helpers/FrmAppHelper.php:2587
5673
- #: classes/helpers/FrmAppHelper.php:2588
5674
  msgid "Serbian"
5675
  msgstr ""
5676
 
5677
- #: classes/helpers/FrmAppHelper.php:2589
5678
  msgid "Slovak"
5679
  msgstr ""
5680
 
5681
- #: classes/helpers/FrmAppHelper.php:2590
5682
  msgid "Slovenian"
5683
  msgstr ""
5684
 
5685
- #: classes/helpers/FrmAppHelper.php:2591
5686
  msgid "Spanish"
5687
  msgstr ""
5688
 
5689
- #: classes/helpers/FrmAppHelper.php:2592
5690
  msgid "Spanish/Latin America"
5691
  msgstr ""
5692
 
5693
- #: classes/helpers/FrmAppHelper.php:2593
5694
  msgid "Swedish"
5695
  msgstr ""
5696
 
5697
- #: classes/helpers/FrmAppHelper.php:2594
5698
  msgid "Tamil"
5699
  msgstr ""
5700
 
5701
- #: classes/helpers/FrmAppHelper.php:2595
5702
  msgid "Thai"
5703
  msgstr ""
5704
 
5705
- #: classes/helpers/FrmAppHelper.php:2596
5706
- #: classes/helpers/FrmAppHelper.php:2597
5707
  msgid "Turkish"
5708
  msgstr ""
5709
 
5710
- #: classes/helpers/FrmAppHelper.php:2598
5711
  msgid "Ukranian"
5712
  msgstr ""
5713
 
5714
- #: classes/helpers/FrmAppHelper.php:2599
5715
  msgid "Vietnamese"
5716
  msgstr ""
5717
 
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.07\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: 2020-08-26T16:53:54+00: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"
552
  msgstr ""
553
 
554
  #: classes/models/FrmSettings.php:105
555
+ #: classes/views/frm-forms/form.php:37
556
  #: classes/views/styles/_sample_form.php:74
557
  msgid "Submit"
558
  msgstr ""
627
  msgid "Please select a lower number"
628
  msgstr ""
629
 
630
+ #: classes/models/fields/FrmFieldCaptcha.php:151
631
+ msgid "There was a problem verifying your recaptcha"
632
  msgstr ""
633
 
634
+ #: classes/models/fields/FrmFieldCaptcha.php:169
635
+ msgid "The captcha is missing from this form"
636
  msgstr ""
637
 
638
  #: classes/models/FrmFormAction.php:38
660
  msgstr ""
661
 
662
  #: classes/models/FrmFormMigrator.php:67
 
663
  msgid "No Forms Found."
664
  msgstr ""
665
 
711
 
712
  #: classes/controllers/FrmAddonsController.php:19
713
  #: classes/controllers/FrmAddonsController.php:20
714
+ #: classes/views/shared/admin-header.php:18
715
  #: classes/views/frm-fields/back-end/smart-values.php:11
716
  #: classes/helpers/FrmFormsHelper.php:1285
717
  msgid "Upgrade"
726
  msgstr ""
727
 
728
  #: classes/controllers/FrmAddonsController.php:520
729
+ #: classes/helpers/FrmAppHelper.php:2467
730
  msgid "Active"
731
  msgstr ""
732
 
750
  msgid "Your plugins have been installed and activated."
751
  msgstr ""
752
 
753
+ #: classes/controllers/FrmAppController.php:147
754
  msgid "Build"
755
  msgstr ""
756
 
757
+ #: classes/controllers/FrmAppController.php:154
758
  #: classes/views/frm-forms/settings.php:8
759
  #: classes/views/frm-settings/form.php:9
760
+ #: classes/helpers/FrmFormsListHelper.php:302
761
  msgid "Settings"
762
  msgstr ""
763
 
764
+ #: classes/controllers/FrmAppController.php:161
765
  #: classes/controllers/FrmXMLController.php:256
766
  #: classes/controllers/FrmFormsController.php:741
767
  #: classes/controllers/FrmEntriesController.php:8
768
+ #: classes/controllers/FrmEntriesController.php:96
769
  #: classes/views/xml/import_form.php:116
770
  msgid "Entries"
771
  msgstr ""
772
 
773
+ #: classes/controllers/FrmAppController.php:172
774
+ #: classes/controllers/FrmEntriesController.php:11
775
+ #: classes/views/shared/views-info.php:6
776
  msgid "Views"
777
  msgstr ""
778
 
779
+ #: classes/controllers/FrmAppController.php:182
780
+ #: classes/views/shared/reports-info.php:6
781
  msgid "Reports"
782
  msgstr ""
783
 
784
+ #: classes/controllers/FrmAppController.php:202
785
  msgid "Build a Form"
786
  msgstr ""
787
 
1023
  #: classes/views/addons/list.php:81
1024
  #: classes/views/shared/upgrade_overlay.php:27
1025
  #: classes/helpers/FrmFormMigratorsHelper.php:131
1026
+ #: classes/helpers/FrmAppHelper.php:2466
1027
  msgid "Install"
1028
  msgstr ""
1029
 
1067
 
1068
  #: classes/controllers/FrmStylesController.php:38
1069
  #: classes/views/frm-entries/sidebar-shared.php:35
1070
+ #: classes/helpers/FrmFormsListHelper.php:301
1071
  msgid "Edit"
1072
  msgstr ""
1073
 
1224
  msgstr ""
1225
 
1226
  #: classes/controllers/FrmFormsController.php:642
1227
+ #: classes/controllers/FrmEntriesController.php:80
1228
  #: classes/views/xml/import_form.php:147
1229
  #: classes/widgets/FrmShowForm.php:56
1230
  msgid "Form"
1369
  msgstr ""
1370
 
1371
  #: classes/controllers/FrmFormsController.php:1194
1372
+ #: classes/controllers/FrmEntriesController.php:75
1373
  #: classes/views/frm-entries/sidebar-shared.php:52
1374
  #: classes/views/frm-entries/form.php:50
1375
  msgid "Entry Key"
1415
  msgid "No forms were specified"
1416
  msgstr ""
1417
 
1418
+ #: classes/controllers/FrmFormsController.php:1415
1419
  msgid "Abnormal HTML characters prevented your form from saving correctly"
1420
  msgstr ""
1421
 
1422
+ #: classes/controllers/FrmFormsController.php:1530
1423
  #: classes/views/frm-forms/list-templates.php:198
1424
  #: classes/views/xml/import_form.php:128
1425
  #: classes/views/styles/manage.php:54
1426
+ #: classes/helpers/FrmFormsListHelper.php:315
1427
  #: classes/helpers/FrmFormsHelper.php:57
1428
  #: classes/helpers/FrmFormsHelper.php:112
1429
  #: classes/helpers/FrmFormsHelper.php:166
1431
  msgid "(no title)"
1432
  msgstr ""
1433
 
1434
+ #: classes/controllers/FrmFormsController.php:1576
1435
+ #: classes/controllers/FrmFormsController.php:1590
1436
  msgid "Please select a valid form"
1437
  msgstr ""
1438
 
1439
+ #: classes/controllers/FrmFormsController.php:1812
1440
  msgid "Please wait while you are redirected."
1441
  msgstr ""
1442
 
1443
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
1444
+ #: classes/controllers/FrmFormsController.php:1848
1445
  msgid "%1$sClick here%2$s if you are not automatically redirected."
1446
  msgstr ""
1447
 
1488
  msgid "%s form actions"
1489
  msgstr ""
1490
 
1491
+ #: classes/controllers/FrmEntriesController.php:81
1492
  msgid "Entry Name"
1493
  msgstr ""
1494
 
1495
+ #: classes/controllers/FrmEntriesController.php:82
1496
  #: classes/helpers/FrmCSVExportHelper.php:150
1497
  msgid "Created By"
1498
  msgstr ""
1499
 
1500
+ #: classes/controllers/FrmEntriesController.php:85
1501
  msgid "Entry creation date"
1502
  msgstr ""
1503
 
1504
+ #: classes/controllers/FrmEntriesController.php:86
1505
  msgid "Entry update date"
1506
  msgstr ""
1507
 
1508
+ #: classes/controllers/FrmEntriesController.php:392
1509
  msgid "Your import is complete"
1510
  msgstr ""
1511
 
1512
  #. translators: %1$s: Time string
1513
+ #: classes/controllers/FrmEntriesController.php:404
1514
  msgid "This form is in the trash and is scheduled to be deleted permanently in %s along with any entries."
1515
  msgstr ""
1516
 
1517
+ #: classes/controllers/FrmEntriesController.php:423
1518
  msgid "You are trying to view an entry that does not exist."
1519
  msgstr ""
1520
 
1521
+ #: classes/controllers/FrmEntriesController.php:451
1522
  msgid "Entry was Successfully Deleted"
1523
  msgstr ""
1524
 
1554
  #: classes/views/frm-forms/_publish_box.php:16
1555
  #: classes/views/frm-forms/list-templates.php:155
1556
  #: classes/views/frm-forms/list-templates.php:264
1557
+ #: classes/helpers/FrmFormsListHelper.php:306
1558
  msgid "Preview"
1559
  msgstr ""
1560
 
1578
  msgid "Slide vertically"
1579
  msgstr ""
1580
 
1581
+ #: classes/views/frm-forms/_no_forms.php:12
1582
+ #: classes/views/frm-forms/list-templates.php:5
1583
+ msgid "Add New Form"
1584
+ msgstr ""
1585
+
1586
  #: classes/views/frm-forms/settings-html.php:3
1587
  msgid "Form Classes"
1588
  msgstr ""
1620
 
1621
  #: classes/views/frm-forms/new-form-overlay.php:31
1622
  #: classes/views/shared/confirm-overlay.php:14
1623
+ #: classes/views/shared/admin-header.php:49
1624
+ #: classes/helpers/FrmAppHelper.php:2427
1625
  msgid "Cancel"
1626
  msgstr ""
1627
 
1633
  #: classes/views/shared/mb_adv_info.php:35
1634
  #: classes/views/shared/mb_adv_info.php:178
1635
  #: classes/views/frm-entries/list.php:42
1636
+ #: classes/helpers/FrmAppHelper.php:942
1637
  msgid "Search"
1638
  msgstr ""
1639
 
1640
+ #: classes/views/frm-forms/list.php:32
1641
+ #: classes/views/frm-entries/no_entries.php:41
1642
+ msgid "You have not created any forms yet"
1643
+ msgstr ""
1644
+
1645
+ #: classes/views/frm-forms/list.php:33
1646
+ #: classes/views/frm-entries/no_entries.php:42
1647
+ msgid "Start collecting leads and data today."
1648
  msgstr ""
1649
 
1650
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
1657
  msgstr ""
1658
 
1659
  #: classes/views/frm-forms/list-templates.php:58
1660
+ #: classes/views/shared/admin-header.php:44
1661
  #: classes/views/xml/import_form.php:12
1662
  #: classes/views/frm-entries/list.php:29
1663
  msgid "Import"
1668
  msgstr ""
1669
 
1670
  #: classes/views/frm-forms/list-templates.php:74
1671
+ #: classes/helpers/FrmEntriesListHelper.php:147
1672
  msgid "Filter"
1673
  msgstr ""
1674
 
1708
  msgstr ""
1709
 
1710
  #: classes/views/frm-forms/list-templates.php:190
 
1711
  msgid "You have not created any forms yet."
1712
  msgstr ""
1713
 
1725
 
1726
  #: classes/views/frm-forms/list-templates.php:256
1727
  #: classes/views/frm-form-actions/form_action.php:21
1728
+ #: classes/helpers/FrmEntriesListHelper.php:292
1729
+ #: classes/helpers/FrmFormsListHelper.php:133
1730
  #: classes/helpers/FrmFormsHelper.php:1103
1731
  msgid "Delete"
1732
  msgstr ""
1824
  msgstr ""
1825
 
1826
  #: classes/views/frm-forms/settings-advanced.php:93
1827
+ #: classes/helpers/FrmAppHelper.php:1067
1828
  msgid "Select a Page"
1829
  msgstr ""
1830
 
1893
  msgid "Page %s"
1894
  msgstr ""
1895
 
1896
+ #: classes/views/frm-forms/form.php:44
1897
  msgid "Add Fields Here"
1898
  msgstr ""
1899
 
1900
+ #: classes/views/frm-forms/form.php:47
1901
  msgid "Click or drag a field from the sidebar to add it to your form"
1902
  msgstr ""
1903
 
2129
  #: classes/views/addons/list.php:84
2130
  #: classes/views/addons/list.php:94
2131
  #: classes/views/addons/list.php:95
2132
+ #: classes/views/shared/views-info.php:19
2133
+ #: classes/views/shared/reports-info.php:19
2134
  msgid "Upgrade Now"
2135
  msgstr ""
2136
 
2157
 
2158
  #: classes/views/shared/confirm-overlay.php:10
2159
  #: classes/views/shared/info-overlay.php:10
2160
+ #: classes/helpers/FrmAppHelper.php:2434
2161
  msgid "Are you sure?"
2162
  msgstr ""
2163
 
2232
  msgid "Sorry to hear you aren't enjoying building with Formidable. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
2233
  msgstr ""
2234
 
2235
+ #: classes/views/shared/views-info.php:13
2236
+ msgid "Create a View"
2237
+ msgstr ""
2238
+
2239
+ #: classes/views/shared/views-info.php:14
2240
+ msgid "Show and Edit Entries with Views"
2241
+ msgstr ""
2242
+
2243
+ #: classes/views/shared/views-info.php:16
2244
+ msgid "Bring entries to the front-end of your site for full-featured applications or just to show the content."
2245
+ msgstr ""
2246
+
2247
  #: classes/views/shared/mb_adv_info.php:5
2248
  msgid "Fields"
2249
  msgstr ""
2271
 
2272
  #: classes/views/shared/mb_adv_info.php:90
2273
  #: classes/helpers/FrmCSVExportHelper.php:154
2274
+ #: classes/helpers/FrmAppHelper.php:2406
2275
  msgid "ID"
2276
  msgstr ""
2277
 
2281
 
2282
  #: classes/views/shared/mb_adv_info.php:108
2283
  #: classes/views/shared/mb_adv_info.php:122
2284
+ #: classes/helpers/FrmAppHelper.php:2468
2285
  msgid "Select a Field"
2286
  msgstr ""
2287
 
2293
  msgid "Click to Insert"
2294
  msgstr ""
2295
 
2296
+ #: classes/views/shared/reports-info.php:13
2297
+ msgid "View reports"
2298
+ msgstr ""
2299
+
2300
+ #: classes/views/shared/reports-info.php:14
2301
+ msgid "Get Live Graphs and Reports"
2302
+ msgstr ""
2303
+
2304
+ #: classes/views/shared/reports-info.php:16
2305
+ msgid "Get more insight for surveys, polls, daily contacts, and more."
2306
+ msgstr ""
2307
+
2308
  #: classes/views/shared/info-overlay.php:14
2309
  msgid "Got it!"
2310
  msgstr ""
2631
  msgstr ""
2632
 
2633
  #: classes/views/styles/manage.php:76
2634
+ #: classes/helpers/FrmFormsListHelper.php:114
2635
  msgid "No Forms Found"
2636
  msgstr ""
2637
 
2905
  msgstr ""
2906
 
2907
  #: classes/views/frm-fields/back-end/settings.php:265
2908
+ #: classes/helpers/FrmAppHelper.php:2428
2909
  msgid "Default"
2910
  msgstr ""
2911
 
3293
  msgstr ""
3294
 
3295
  #: classes/views/frm-entries/sidebar-shared.php:38
3296
+ #: classes/helpers/FrmEntriesListHelper.php:287
3297
  msgid "View"
3298
  msgstr ""
3299
 
3337
  msgid "You did not add any fields to your form. %1$sGo back%2$s and add some."
3338
  msgstr ""
3339
 
3340
+ #: classes/views/frm-entries/form.php:98
3341
  msgid "If you are human, leave this field blank."
3342
  msgstr ""
3343
 
3351
  msgstr ""
3352
 
3353
  #. translators: %s: The form name
3354
+ #: classes/views/frm-entries/no_entries.php:22
3355
  msgid "No Entries for form: %s"
3356
  msgstr ""
3357
 
3358
+ #: classes/views/frm-entries/no_entries.php:24
3359
+ msgid "No Entries found"
3360
  msgstr ""
3361
 
3362
  #. translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Line break HTML
3363
+ #: classes/views/frm-entries/no_entries.php:32
3364
  msgid "See the %1$sform documentation%2$s for instructions on publishing your form"
3365
  msgstr ""
3366
 
 
 
 
 
 
3367
  #: classes/helpers/FrmTipsHelper.php:29
3368
  msgid "Pro Tip:"
3369
  msgstr ""
3574
  msgid "Collect instant payments, and send leads to MailChimp."
3575
  msgstr ""
3576
 
3577
+ #: classes/helpers/FrmEntriesListHelper.php:96
3578
  msgid "No Entries Found"
3579
  msgstr ""
3580
 
3581
+ #: classes/helpers/FrmEntriesListHelper.php:128
3582
  msgid "Getting spam form submissions?"
3583
  msgstr ""
3584
 
3585
+ #: classes/helpers/FrmEntriesListHelper.php:130
3586
  msgid "Learn how to prevent them."
3587
  msgstr ""
3588
 
3589
+ #: classes/helpers/FrmEntriesListHelper.php:146
3590
  msgid "View all forms"
3591
  msgstr ""
3592
 
3593
+ #: classes/helpers/FrmEntriesListHelper.php:257
3594
  msgid "No"
3595
  msgstr ""
3596
 
3597
+ #: classes/helpers/FrmEntriesListHelper.php:257
3598
  msgid "Yes"
3599
  msgstr ""
3600
 
3601
+ #: classes/helpers/FrmEntriesListHelper.php:292
3602
  msgid "Permanently delete this entry?"
3603
  msgstr ""
3604
 
3605
+ #: classes/helpers/FrmFormsListHelper.php:106
3606
  msgid "No forms found in the trash."
3607
  msgstr ""
3608
 
3609
+ #: classes/helpers/FrmFormsListHelper.php:109
3610
  msgid "See all forms."
3611
  msgstr ""
3612
 
3613
+ #: classes/helpers/FrmFormsListHelper.php:124
 
 
 
 
 
3614
  #: classes/helpers/FrmFormsHelper.php:1091
3615
  msgid "Restore"
3616
  msgstr ""
3617
 
3618
+ #: classes/helpers/FrmFormsListHelper.php:128
3619
  #: classes/helpers/FrmFormsHelper.php:1102
3620
  msgid "Delete Permanently"
3621
  msgstr ""
3622
 
3623
+ #: classes/helpers/FrmFormsListHelper.php:131
3624
  msgid "Move to Trash"
3625
  msgstr ""
3626
 
3627
+ #: classes/helpers/FrmFormsListHelper.php:147
3628
  msgid "Empty Trash"
3629
  msgstr ""
3630
 
3631
+ #: classes/helpers/FrmFormsListHelper.php:156
3632
  msgid "My Forms"
3633
  msgstr ""
3634
 
3635
+ #: classes/helpers/FrmFormsListHelper.php:157
3636
  msgid "Drafts"
3637
  msgstr ""
3638
 
3639
+ #: classes/helpers/FrmFormsListHelper.php:158
3640
  #: classes/helpers/FrmFormsHelper.php:1096
3641
  #: classes/helpers/FrmFormsHelper.php:1199
3642
  msgid "Trash"
3643
  msgstr ""
3644
 
3645
  #. translators: %1$s: Status, %2$s: Number of items
3646
+ #: classes/helpers/FrmFormsListHelper.php:180
3647
  msgid "%1$s <span class=\"count\">(%2$s)</span>"
3648
  msgstr ""
3649
 
3650
+ #: classes/helpers/FrmFormsListHelper.php:262
3651
  msgid "Saving entries is disabled for this form"
3652
  msgstr ""
3653
 
3654
+ #: classes/helpers/FrmFormsListHelper.php:342
3655
  #: classes/helpers/FrmFormsHelper.php:1198
3656
  #: classes/helpers/FrmCSVExportHelper.php:152
3657
  msgid "Draft"
3658
  msgstr ""
3659
 
3660
  #: classes/helpers/FrmFieldsHelper.php:286
3661
+ #: classes/helpers/FrmAppHelper.php:2439
3662
  msgid "The entered values do not match"
3663
  msgstr ""
3664
 
3669
 
3670
  #: classes/helpers/FrmFieldsHelper.php:456
3671
  #: classes/helpers/FrmFieldsHelper.php:457
3672
+ #: classes/helpers/FrmAppHelper.php:2443
3673
  msgid "New Option"
3674
  msgstr ""
3675
 
4860
  msgid "Placeholder inside the field"
4861
  msgstr ""
4862
 
4863
+ #: classes/helpers/FrmListHelper.php:143
4864
  msgid "List View"
4865
  msgstr ""
4866
 
4867
+ #: classes/helpers/FrmListHelper.php:144
4868
  msgid "Excerpt View"
4869
  msgstr ""
4870
 
4871
+ #: classes/helpers/FrmListHelper.php:262
4872
+ #: classes/helpers/FrmAppHelper.php:2469
4873
  msgid "No items found."
4874
  msgstr ""
4875
 
4876
+ #: classes/helpers/FrmListHelper.php:389
4877
  msgid "Select bulk action"
4878
  msgstr ""
4879
 
4880
+ #: classes/helpers/FrmListHelper.php:391
4881
  msgid "Bulk Actions"
4882
  msgstr ""
4883
 
4884
+ #: classes/helpers/FrmListHelper.php:401
4885
  msgid "Apply"
4886
  msgstr ""
4887
 
4888
+ #: classes/helpers/FrmListHelper.php:469
4889
+ #: classes/helpers/FrmListHelper.php:1158
4890
  msgid "Show more details"
4891
  msgstr ""
4892
 
4893
  #. translators: %s: Number of items
4894
+ #: classes/helpers/FrmListHelper.php:577
4895
+ #: classes/helpers/FrmListHelper.php:1184
4896
  msgid "%s item"
4897
  msgid_plural "%s items"
4898
  msgstr[0] ""
4899
 
4900
+ #: classes/helpers/FrmListHelper.php:608
4901
+ #: classes/helpers/FrmListHelper.php:612
4902
  msgid "Current Page"
4903
  msgstr ""
4904
 
4905
  #. translators: %1$s: Current page number, %2$s: Total pages
4906
+ #: classes/helpers/FrmListHelper.php:620
4907
  msgctxt "paging"
4908
  msgid "%1$s of %2$s"
4909
  msgstr ""
4910
 
4911
+ #: classes/helpers/FrmListHelper.php:684
4912
  msgid "First page"
4913
  msgstr ""
4914
 
4915
+ #: classes/helpers/FrmListHelper.php:685
4916
  msgid "Last page"
4917
  msgstr ""
4918
 
4919
+ #: classes/helpers/FrmListHelper.php:686
4920
  msgid "Previous page"
4921
  msgstr ""
4922
 
4923
+ #: classes/helpers/FrmListHelper.php:687
4924
  msgid "Next page"
4925
  msgstr ""
4926
 
4927
+ #: classes/helpers/FrmListHelper.php:907
4928
  msgid "Select All"
4929
  msgstr ""
4930
 
5141
  msgstr ""
5142
 
5143
  #: classes/helpers/FrmFormsHelper.php:1457
5144
+ #: classes/helpers/FrmAppHelper.php:2463
5145
  msgid "See the list of reserved words in WordPress."
5146
  msgstr ""
5147
 
5191
  msgid "Parent ID"
5192
  msgstr ""
5193
 
5194
+ #: classes/helpers/FrmAppHelper.php:129
5195
+ msgid "Your account has expired"
5196
+ msgstr ""
5197
+
5198
+ #: classes/helpers/FrmAppHelper.php:927
5199
+ msgid "Add New"
5200
+ msgstr ""
5201
+
5202
+ #: classes/helpers/FrmAppHelper.php:1218
5203
  msgid "View Forms"
5204
  msgstr ""
5205
 
5206
+ #: classes/helpers/FrmAppHelper.php:1219
5207
  msgid "Add and Edit Forms"
5208
  msgstr ""
5209
 
5210
+ #: classes/helpers/FrmAppHelper.php:1220
5211
  msgid "Delete Forms"
5212
  msgstr ""
5213
 
5214
+ #: classes/helpers/FrmAppHelper.php:1221
5215
  msgid "Access this Settings Page"
5216
  msgstr ""
5217
 
5218
+ #: classes/helpers/FrmAppHelper.php:1222
5219
  msgid "View Entries from Admin Area"
5220
  msgstr ""
5221
 
5222
+ #: classes/helpers/FrmAppHelper.php:1223
5223
  msgid "Delete Entries from Admin Area"
5224
  msgstr ""
5225
 
5226
+ #: classes/helpers/FrmAppHelper.php:1230
5227
  msgid "Add Entries from Admin Area"
5228
  msgstr ""
5229
 
5230
+ #: classes/helpers/FrmAppHelper.php:1231
5231
  msgid "Edit Entries from Admin Area"
5232
  msgstr ""
5233
 
5234
+ #: classes/helpers/FrmAppHelper.php:1232
5235
  msgid "View Reports"
5236
  msgstr ""
5237
 
5238
+ #: classes/helpers/FrmAppHelper.php:1233
5239
  msgid "Add/Edit Views"
5240
  msgstr ""
5241
 
5242
+ #: classes/helpers/FrmAppHelper.php:1899
5243
  msgid "at"
5244
  msgstr ""
5245
 
5246
+ #: classes/helpers/FrmAppHelper.php:2043
5247
  msgid "year"
5248
  msgstr ""
5249
 
5250
+ #: classes/helpers/FrmAppHelper.php:2044
5251
  msgid "years"
5252
  msgstr ""
5253
 
5254
+ #: classes/helpers/FrmAppHelper.php:2048
5255
  msgid "month"
5256
  msgstr ""
5257
 
5258
+ #: classes/helpers/FrmAppHelper.php:2049
5259
  msgid "months"
5260
  msgstr ""
5261
 
5262
+ #: classes/helpers/FrmAppHelper.php:2053
5263
  msgid "week"
5264
  msgstr ""
5265
 
5266
+ #: classes/helpers/FrmAppHelper.php:2054
5267
  msgid "weeks"
5268
  msgstr ""
5269
 
5270
+ #: classes/helpers/FrmAppHelper.php:2058
5271
  msgid "day"
5272
  msgstr ""
5273
 
5274
+ #: classes/helpers/FrmAppHelper.php:2059
5275
  msgid "days"
5276
  msgstr ""
5277
 
5278
+ #: classes/helpers/FrmAppHelper.php:2063
5279
  msgid "hour"
5280
  msgstr ""
5281
 
5282
+ #: classes/helpers/FrmAppHelper.php:2064
5283
  msgid "hours"
5284
  msgstr ""
5285
 
5286
+ #: classes/helpers/FrmAppHelper.php:2068
5287
  msgid "minute"
5288
  msgstr ""
5289
 
5290
+ #: classes/helpers/FrmAppHelper.php:2069
5291
  msgid "minutes"
5292
  msgstr ""
5293
 
5294
+ #: classes/helpers/FrmAppHelper.php:2073
5295
  msgid "second"
5296
  msgstr ""
5297
 
5298
+ #: classes/helpers/FrmAppHelper.php:2074
5299
  msgid "seconds"
5300
  msgstr ""
5301
 
5302
+ #: classes/helpers/FrmAppHelper.php:2168
5303
  msgid "Give this action a label for easy reference."
5304
  msgstr ""
5305
 
5306
+ #: classes/helpers/FrmAppHelper.php:2169
5307
  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."
5308
  msgstr ""
5309
 
5310
+ #: classes/helpers/FrmAppHelper.php:2170
5311
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5312
  msgstr ""
5313
 
5314
+ #: classes/helpers/FrmAppHelper.php:2171
5315
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5316
  msgstr ""
5317
 
5318
+ #: classes/helpers/FrmAppHelper.php:2172
5319
  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."
5320
  msgstr ""
5321
 
5322
+ #: classes/helpers/FrmAppHelper.php:2173
5323
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
5324
  msgstr ""
5325
 
5326
  #. translators: %1$s: Form name, %2$s: Date
5327
+ #: classes/helpers/FrmAppHelper.php:2175
5328
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
5329
  msgstr ""
5330
 
5331
+ #: classes/helpers/FrmAppHelper.php:2369
5332
+ #: classes/helpers/FrmAppHelper.php:2448
5333
  msgid "Please wait while your site updates."
5334
  msgstr ""
5335
 
5336
+ #: classes/helpers/FrmAppHelper.php:2370
5337
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
5338
  msgstr ""
5339
 
5340
+ #: classes/helpers/FrmAppHelper.php:2373
5341
+ #: classes/helpers/FrmAppHelper.php:2402
5342
  msgid "Loading&hellip;"
5343
  msgstr ""
5344
 
5345
+ #: classes/helpers/FrmAppHelper.php:2403
5346
  msgid "Remove"
5347
  msgstr ""
5348
 
5349
+ #: classes/helpers/FrmAppHelper.php:2407
5350
  msgid "No results match"
5351
  msgstr ""
5352
 
5353
+ #: classes/helpers/FrmAppHelper.php:2408
5354
  msgid "That file looks like Spam."
5355
  msgstr ""
5356
 
5357
+ #: classes/helpers/FrmAppHelper.php:2409
5358
  msgid "There is an error in the calculation in the field with key"
5359
  msgstr ""
5360
 
5361
+ #: classes/helpers/FrmAppHelper.php:2410
5362
  msgid "Please complete the preceding required fields before uploading a file."
5363
  msgstr ""
5364
 
5365
+ #: classes/helpers/FrmAppHelper.php:2421
5366
  msgid "(Click to add description)"
5367
  msgstr ""
5368
 
5369
+ #: classes/helpers/FrmAppHelper.php:2422
5370
  msgid "(Blank)"
5371
  msgstr ""
5372
 
5373
+ #: classes/helpers/FrmAppHelper.php:2423
5374
  msgid "(no label)"
5375
  msgstr ""
5376
 
5377
+ #: classes/helpers/FrmAppHelper.php:2424
5378
  msgid "Saving"
5379
  msgstr ""
5380
 
5381
+ #: classes/helpers/FrmAppHelper.php:2425
5382
  msgid "Saved"
5383
  msgstr ""
5384
 
5385
+ #: classes/helpers/FrmAppHelper.php:2426
5386
  msgid "OK"
5387
  msgstr ""
5388
 
5389
+ #: classes/helpers/FrmAppHelper.php:2429
5390
  msgid "Clear default value when typing"
5391
  msgstr ""
5392
 
5393
+ #: classes/helpers/FrmAppHelper.php:2430
5394
  msgid "Do not clear default value when typing"
5395
  msgstr ""
5396
 
5397
+ #: classes/helpers/FrmAppHelper.php:2431
5398
  msgid "Default value will pass form validation"
5399
  msgstr ""
5400
 
5401
+ #: classes/helpers/FrmAppHelper.php:2432
5402
  msgid "Default value will NOT pass form validation"
5403
  msgstr ""
5404
 
5405
+ #: classes/helpers/FrmAppHelper.php:2433
5406
  msgid "Heads up"
5407
  msgstr ""
5408
 
5409
+ #: classes/helpers/FrmAppHelper.php:2435
5410
  msgid "Are you sure you want to delete this field and all data associated with it?"
5411
  msgstr ""
5412
 
5413
+ #: classes/helpers/FrmAppHelper.php:2436
5414
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
5415
  msgstr ""
5416
 
5417
+ #: classes/helpers/FrmAppHelper.php:2437
5418
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
5419
  msgstr ""
5420
 
5421
+ #: classes/helpers/FrmAppHelper.php:2440
5422
  msgid "Enter Email"
5423
  msgstr ""
5424
 
5425
+ #: classes/helpers/FrmAppHelper.php:2441
5426
  msgid "Confirm Email"
5427
  msgstr ""
5428
 
5429
+ #: classes/helpers/FrmAppHelper.php:2442
5430
  msgid "Conditional content here"
5431
  msgstr ""
5432
 
5433
+ #: classes/helpers/FrmAppHelper.php:2444
5434
  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."
5435
  msgstr ""
5436
 
5437
+ #: classes/helpers/FrmAppHelper.php:2445
5438
  msgid "Enter Password"
5439
  msgstr ""
5440
 
5441
+ #: classes/helpers/FrmAppHelper.php:2446
5442
  msgid "Confirm Password"
5443
  msgstr ""
5444
 
5445
+ #: classes/helpers/FrmAppHelper.php:2447
5446
  msgid "Import Complete"
5447
  msgstr ""
5448
 
5449
+ #: classes/helpers/FrmAppHelper.php:2449
5450
  msgid "Warning: There is no way to retrieve unsaved entries."
5451
  msgstr ""
5452
 
5453
+ #: classes/helpers/FrmAppHelper.php:2450
5454
  msgid "Private"
5455
  msgstr ""
5456
 
5457
+ #: classes/helpers/FrmAppHelper.php:2453
5458
  msgid "No new licenses were found"
5459
  msgstr ""
5460
 
5461
+ #: classes/helpers/FrmAppHelper.php:2454
5462
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
5463
  msgstr ""
5464
 
5465
+ #: classes/helpers/FrmAppHelper.php:2455
5466
  msgid "This calculation may have shortcodes that work in Views but not forms."
5467
  msgstr ""
5468
 
5469
+ #: classes/helpers/FrmAppHelper.php:2456
5470
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
5471
  msgstr ""
5472
 
5473
+ #: classes/helpers/FrmAppHelper.php:2457
5474
  msgid "This form action is limited to one per form. Please edit the existing form action."
5475
  msgstr ""
5476
 
5477
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
5478
+ #: classes/helpers/FrmAppHelper.php:2460
5479
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
5480
  msgstr ""
5481
 
5482
  #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common.
5483
+ #: classes/helpers/FrmAppHelper.php:2462
5484
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
5485
  msgstr ""
5486
 
5487
+ #: classes/helpers/FrmAppHelper.php:2464
5488
  msgid "Please enter a Repeat Limit that is greater than 1."
5489
  msgstr ""
5490
 
5491
+ #: classes/helpers/FrmAppHelper.php:2465
5492
  msgid "Please select a limit between 0 and 200."
5493
  msgstr ""
5494
 
5495
+ #: classes/helpers/FrmAppHelper.php:2497
5496
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
5497
  msgstr ""
5498
 
5499
+ #: classes/helpers/FrmAppHelper.php:2524
5500
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
5501
  msgstr ""
5502
 
5503
+ #: classes/helpers/FrmAppHelper.php:2552
5504
  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+."
5505
  msgstr ""
5506
 
5507
+ #: classes/helpers/FrmAppHelper.php:2558
5508
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
5509
  msgstr ""
5510
 
5511
+ #: classes/helpers/FrmAppHelper.php:2572
5512
  msgid "English"
5513
  msgstr ""
5514
 
5515
+ #: classes/helpers/FrmAppHelper.php:2573
5516
  msgid "Afrikaans"
5517
  msgstr ""
5518
 
5519
+ #: classes/helpers/FrmAppHelper.php:2574
5520
  msgid "Albanian"
5521
  msgstr ""
5522
 
5523
+ #: classes/helpers/FrmAppHelper.php:2575
5524
  msgid "Arabic"
5525
  msgstr ""
5526
 
5527
+ #: classes/helpers/FrmAppHelper.php:2576
5528
  msgid "Armenian"
5529
  msgstr ""
5530
 
5531
+ #: classes/helpers/FrmAppHelper.php:2577
5532
  msgid "Azerbaijani"
5533
  msgstr ""
5534
 
5535
+ #: classes/helpers/FrmAppHelper.php:2578
5536
  msgid "Basque"
5537
  msgstr ""
5538
 
5539
+ #: classes/helpers/FrmAppHelper.php:2579
5540
  msgid "Bosnian"
5541
  msgstr ""
5542
 
5543
+ #: classes/helpers/FrmAppHelper.php:2580
5544
  msgid "Bulgarian"
5545
  msgstr ""
5546
 
5547
+ #: classes/helpers/FrmAppHelper.php:2581
5548
  msgid "Catalan"
5549
  msgstr ""
5550
 
5551
+ #: classes/helpers/FrmAppHelper.php:2582
5552
  msgid "Chinese Hong Kong"
5553
  msgstr ""
5554
 
5555
+ #: classes/helpers/FrmAppHelper.php:2583
5556
  msgid "Chinese Simplified"
5557
  msgstr ""
5558
 
5559
+ #: classes/helpers/FrmAppHelper.php:2584
5560
  msgid "Chinese Traditional"
5561
  msgstr ""
5562
 
5563
+ #: classes/helpers/FrmAppHelper.php:2585
5564
  msgid "Croatian"
5565
  msgstr ""
5566
 
5567
+ #: classes/helpers/FrmAppHelper.php:2586
5568
  msgid "Czech"
5569
  msgstr ""
5570
 
5571
+ #: classes/helpers/FrmAppHelper.php:2587
5572
  msgid "Danish"
5573
  msgstr ""
5574
 
5575
+ #: classes/helpers/FrmAppHelper.php:2588
5576
  msgid "Dutch"
5577
  msgstr ""
5578
 
5579
+ #: classes/helpers/FrmAppHelper.php:2589
5580
  msgid "English/UK"
5581
  msgstr ""
5582
 
5583
+ #: classes/helpers/FrmAppHelper.php:2590
5584
  msgid "Esperanto"
5585
  msgstr ""
5586
 
5587
+ #: classes/helpers/FrmAppHelper.php:2591
5588
  msgid "Estonian"
5589
  msgstr ""
5590
 
5591
+ #: classes/helpers/FrmAppHelper.php:2592
5592
  msgid "Faroese"
5593
  msgstr ""
5594
 
5595
+ #: classes/helpers/FrmAppHelper.php:2593
5596
  msgid "Farsi/Persian"
5597
  msgstr ""
5598
 
5599
+ #: classes/helpers/FrmAppHelper.php:2594
5600
  msgid "Filipino"
5601
  msgstr ""
5602
 
5603
+ #: classes/helpers/FrmAppHelper.php:2595
5604
  msgid "Finnish"
5605
  msgstr ""
5606
 
5607
+ #: classes/helpers/FrmAppHelper.php:2596
5608
  msgid "French"
5609
  msgstr ""
5610
 
5611
+ #: classes/helpers/FrmAppHelper.php:2597
5612
  msgid "French/Canadian"
5613
  msgstr ""
5614
 
5615
+ #: classes/helpers/FrmAppHelper.php:2598
5616
  msgid "French/Swiss"
5617
  msgstr ""
5618
 
5619
+ #: classes/helpers/FrmAppHelper.php:2599
5620
  msgid "German"
5621
  msgstr ""
5622
 
5623
+ #: classes/helpers/FrmAppHelper.php:2600
5624
  msgid "German/Austria"
5625
  msgstr ""
5626
 
5627
+ #: classes/helpers/FrmAppHelper.php:2601
5628
  msgid "German/Switzerland"
5629
  msgstr ""
5630
 
5631
+ #: classes/helpers/FrmAppHelper.php:2602
5632
  msgid "Greek"
5633
  msgstr ""
5634
 
5635
+ #: classes/helpers/FrmAppHelper.php:2603
5636
+ #: classes/helpers/FrmAppHelper.php:2604
5637
  msgid "Hebrew"
5638
  msgstr ""
5639
 
5640
+ #: classes/helpers/FrmAppHelper.php:2605
5641
  msgid "Hindi"
5642
  msgstr ""
5643
 
5644
+ #: classes/helpers/FrmAppHelper.php:2606
5645
  msgid "Hungarian"
5646
  msgstr ""
5647
 
5648
+ #: classes/helpers/FrmAppHelper.php:2607
5649
  msgid "Icelandic"
5650
  msgstr ""
5651
 
5652
+ #: classes/helpers/FrmAppHelper.php:2608
5653
  msgid "Indonesian"
5654
  msgstr ""
5655
 
5656
+ #: classes/helpers/FrmAppHelper.php:2609
5657
  msgid "Italian"
5658
  msgstr ""
5659
 
5660
+ #: classes/helpers/FrmAppHelper.php:2610
5661
  msgid "Japanese"
5662
  msgstr ""
5663
 
5664
+ #: classes/helpers/FrmAppHelper.php:2611
5665
  msgid "Korean"
5666
  msgstr ""
5667
 
5668
+ #: classes/helpers/FrmAppHelper.php:2612
5669
  msgid "Latvian"
5670
  msgstr ""
5671
 
5672
+ #: classes/helpers/FrmAppHelper.php:2613
5673
  msgid "Lithuanian"
5674
  msgstr ""
5675
 
5676
+ #: classes/helpers/FrmAppHelper.php:2614
5677
  msgid "Malaysian"
5678
  msgstr ""
5679
 
5680
+ #: classes/helpers/FrmAppHelper.php:2615
5681
  msgid "Norwegian"
5682
  msgstr ""
5683
 
5684
+ #: classes/helpers/FrmAppHelper.php:2616
5685
  msgid "Polish"
5686
  msgstr ""
5687
 
5688
+ #: classes/helpers/FrmAppHelper.php:2617
5689
  msgid "Portuguese"
5690
  msgstr ""
5691
 
5692
+ #: classes/helpers/FrmAppHelper.php:2618
5693
  msgid "Portuguese/Brazilian"
5694
  msgstr ""
5695
 
5696
+ #: classes/helpers/FrmAppHelper.php:2619
5697
  msgid "Portuguese/Portugal"
5698
  msgstr ""
5699
 
5700
+ #: classes/helpers/FrmAppHelper.php:2620
5701
  msgid "Romanian"
5702
  msgstr ""
5703
 
5704
+ #: classes/helpers/FrmAppHelper.php:2621
5705
  msgid "Russian"
5706
  msgstr ""
5707
 
5708
+ #: classes/helpers/FrmAppHelper.php:2622
5709
+ #: classes/helpers/FrmAppHelper.php:2623
5710
  msgid "Serbian"
5711
  msgstr ""
5712
 
5713
+ #: classes/helpers/FrmAppHelper.php:2624
5714
  msgid "Slovak"
5715
  msgstr ""
5716
 
5717
+ #: classes/helpers/FrmAppHelper.php:2625
5718
  msgid "Slovenian"
5719
  msgstr ""
5720
 
5721
+ #: classes/helpers/FrmAppHelper.php:2626
5722
  msgid "Spanish"
5723
  msgstr ""
5724
 
5725
+ #: classes/helpers/FrmAppHelper.php:2627
5726
  msgid "Spanish/Latin America"
5727
  msgstr ""
5728
 
5729
+ #: classes/helpers/FrmAppHelper.php:2628
5730
  msgid "Swedish"
5731
  msgstr ""
5732
 
5733
+ #: classes/helpers/FrmAppHelper.php:2629
5734
  msgid "Tamil"
5735
  msgstr ""
5736
 
5737
+ #: classes/helpers/FrmAppHelper.php:2630
5738
  msgid "Thai"
5739
  msgstr ""
5740
 
5741
+ #: classes/helpers/FrmAppHelper.php:2631
5742
+ #: classes/helpers/FrmAppHelper.php:2632
5743
  msgid "Turkish"
5744
  msgstr ""
5745
 
5746
+ #: classes/helpers/FrmAppHelper.php:2633
5747
  msgid "Ukranian"
5748
  msgstr ""
5749
 
5750
+ #: classes/helpers/FrmAppHelper.php:2634
5751
  msgid "Vietnamese"
5752
  msgstr ""
5753
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: forms, contact form, form builder, survey, form maker, form creator, paypa
5
  Requires at least: 4.7
6
  Tested up to: 5.5
7
  Requires PHP: 5.6
8
- Stable tag: 4.06.03
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
11
 
@@ -436,6 +436,11 @@ Using our Zapier integration, you can easily connect Formidable with over 1000+
436
  See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
437
 
438
  == Changelog ==
 
 
 
 
 
439
  = 4.06.03 =
440
  * More consistent dropdown styling with multiselect dropdowns.
441
  * Prepare the code for handling permissions options as an array of roles.
@@ -449,10 +454,4 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
449
  * Fix: Add more checks to the installation triggers to prevent them from being triggered at unintended times.
450
  * Show a more helpful error message in some cases when the XML import fails.
451
 
452
- = 4.06.01 =
453
- * Remove the top level nav notification for inbox notifications.
454
- * Use the frm_display_value hook for each different case where values are displayed (entries list table, view an entry, summary field...)
455
- * Fix: Left and right margin setting on buttons was being ignored. Use something like "10px 10px" in the button margin setting to show margins on the sides.
456
- * Fix: Prevent a js error in some cases when the ajax response isn't json.
457
-
458
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
5
  Requires at least: 4.7
6
  Tested up to: 5.5
7
  Requires PHP: 5.6
8
+ Stable tag: 4.07
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
11
 
436
  See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
437
 
438
  == Changelog ==
439
+ = 4.07 =
440
+ * New: Use frm_inline_success for the form class in the customized HTML to move the success message next to the submit button. "frm_inline_success frm_alignright_success" will right-align the message.
441
+ * Tweak: Improve the form listing page and entry listings page when nothing has been created.
442
+ * Fix: Update the recaptcha for better reliability to catch more spam.
443
+
444
  = 4.06.03 =
445
  * More consistent dropdown styling with multiselect dropdowns.
446
  * Prepare the code for handling permissions options as an array of roles.
454
  * Fix: Add more checks to the installation triggers to prevent them from being triggered at unintended times.
455
  * Show a more helpful error message in some cases when the XML import fails.
456
 
 
 
 
 
 
 
457
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>