Formidable Forms – Form Builder for WordPress - Version 5.0.08

Version Description

  • Deprecated: Calls to FrmFormsController::preview will no longer try to load WordPress if it is not already initialized. This could cause issues for users that still use old preview links (see https://formidableforms.com/knowledgebase/php-examples/#kb-use-the-old-preview-links for an example).
  • Security: Unsafe HTML will now be stripped from global message defaults, whitelabel settings, and when importing forms and fields with XML if the user saving HTML does not have the unfiltered_html permission or if the DISALLOW_UNFILTERED_HTML constant is set.
  • Updated Bootstrap used in back end to version 3.4.1.
  • A few images that were being loaded from S3 and CDN urls are now included in the plugin instead.
Download this release

Release Info

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

Code changes from version 5.0.07 to 5.0.08

classes/controllers/FrmAppController.php CHANGED
@@ -455,7 +455,7 @@ class FrmAppController {
455
 
456
  wp_register_script( 'formidable_admin', FrmAppHelper::plugin_url() . '/js/formidable_admin.js', $dependecies, $version, true );
457
  wp_register_style( 'formidable-admin', FrmAppHelper::plugin_url() . '/css/frm_admin.css', array(), $version );
458
- wp_register_script( 'bootstrap_tooltip', FrmAppHelper::plugin_url() . '/js/bootstrap.min.js', array( 'jquery' ), '3.3.4' );
459
  wp_register_style( 'formidable-grids', FrmAppHelper::plugin_url() . '/css/frm_grids.css', array(), $version );
460
 
461
  // load multselect js
455
 
456
  wp_register_script( 'formidable_admin', FrmAppHelper::plugin_url() . '/js/formidable_admin.js', $dependecies, $version, true );
457
  wp_register_style( 'formidable-admin', FrmAppHelper::plugin_url() . '/css/frm_admin.css', array(), $version );
458
+ wp_register_script( 'bootstrap_tooltip', FrmAppHelper::plugin_url() . '/js/bootstrap.min.js', array( 'jquery' ), '3.4.1' );
459
  wp_register_style( 'formidable-grids', FrmAppHelper::plugin_url() . '/css/frm_grids.css', array(), $version );
460
 
461
  // load multselect js
classes/controllers/FrmFormsController.php CHANGED
@@ -44,7 +44,10 @@ class FrmFormsController {
44
  * @since 4.06.03
45
  */
46
  public static function logic_tip() {
47
- echo '<a href="javascript:void(0)" class="frm_noallow frm_show_upgrade frm_add_logic_link" data-upgrade="' . esc_attr__( 'Conditional Logic options', 'formidable' ) . '" data-message="' . esc_attr__( 'Only show the fields you need and create branching forms. Upgrade to get conditional logic and question branching.', 'formidable' ) . esc_attr( ' <img src="https://cdn.formidableforms.com/wp-content/themes/fp2015git/images/survey/survey-logic.png" srcset="https://cdn.formidableforms.com/wp-content/themes/fp2015git/images/survey/survey-logic@2x.png 2x" alt="Conditional Logic options"/>' ) . '" data-medium="builder" data-content="logic">';
 
 
 
48
  FrmAppHelper::icon_by_class( 'frmfont frm_swap_icon' );
49
  esc_html_e( 'Add Conditional Logic', 'formidable' );
50
  echo '</a>';
@@ -273,8 +276,6 @@ class FrmFormsController {
273
  global $frm_vars;
274
  $frm_vars['preview'] = true;
275
 
276
- self::load_wp();
277
-
278
  $include_theme = FrmAppHelper::get_param( 'theme', '', 'get', 'absint' );
279
  if ( $include_theme ) {
280
  self::set_preview_query();
@@ -286,19 +287,6 @@ class FrmFormsController {
286
  wp_die();
287
  }
288
 
289
- /**
290
- * @since 3.0
291
- */
292
- private static function load_wp() {
293
- if ( ! defined( 'ABSPATH' ) && ! defined( 'XMLRPC_REQUEST' ) ) {
294
- global $wp;
295
- $root = dirname( dirname( dirname( dirname( __FILE__ ) ) ) );
296
- include_once( $root . '/wp-config.php' );
297
- $wp->init();
298
- $wp->register_globals();
299
- }
300
- }
301
-
302
  private static function set_preview_query() {
303
  $random_page = get_posts(
304
  array(
@@ -1903,12 +1891,12 @@ class FrmFormsController {
1903
 
1904
  do_action( 'frm_success_action', $args['conf_method'], $args['form'], $args['form']->options, $args['entry_id'], $extra_args );
1905
 
1906
- $opt = ( ! isset( $args['action'] ) || $args['action'] == 'create' ) ? 'success' : 'edit';
1907
 
1908
  $args['success_opt'] = $opt;
1909
- if ( $args['conf_method'] == 'page' && is_numeric( $args['form']->options[ $opt . '_page_id' ] ) ) {
1910
  self::load_page_after_submit( $args );
1911
- } elseif ( $args['conf_method'] == 'redirect' ) {
1912
  self::redirect_after_submit( $args );
1913
  } else {
1914
  self::show_message_after_save( $args );
44
  * @since 4.06.03
45
  */
46
  public static function logic_tip() {
47
+ $images_url = FrmAppHelper::plugin_url() . '/images/';
48
+ $data_message = __( 'Only show the fields you need and create branching forms. Upgrade to get conditional logic and question branching.', 'formidable' );
49
+ $data_message .= ' <img src="' . esc_attr( $images_url ) . '/survey-logic.png" srcset="' . esc_attr( $images_url ) . 'survey-logic@2x.png 2x" alt="' . esc_attr__( 'Conditional Logic options', 'formidable' ) . '"/>';
50
+ echo '<a href="javascript:void(0)" class="frm_noallow frm_show_upgrade frm_add_logic_link" data-upgrade="' . esc_attr__( 'Conditional Logic options', 'formidable' ) . '" data-message="' . esc_attr( $data_message ) . '" data-medium="builder" data-content="logic">';
51
  FrmAppHelper::icon_by_class( 'frmfont frm_swap_icon' );
52
  esc_html_e( 'Add Conditional Logic', 'formidable' );
53
  echo '</a>';
276
  global $frm_vars;
277
  $frm_vars['preview'] = true;
278
 
 
 
279
  $include_theme = FrmAppHelper::get_param( 'theme', '', 'get', 'absint' );
280
  if ( $include_theme ) {
281
  self::set_preview_query();
287
  wp_die();
288
  }
289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  private static function set_preview_query() {
291
  $random_page = get_posts(
292
  array(
1891
 
1892
  do_action( 'frm_success_action', $args['conf_method'], $args['form'], $args['form']->options, $args['entry_id'], $extra_args );
1893
 
1894
+ $opt = ( ! isset( $args['action'] ) || $args['action'] === 'create' ) ? 'success' : 'edit';
1895
 
1896
  $args['success_opt'] = $opt;
1897
+ if ( $args['conf_method'] === 'page' && is_numeric( $args['form']->options[ $opt . '_page_id' ] ) ) {
1898
  self::load_page_after_submit( $args );
1899
+ } elseif ( $args['conf_method'] === 'redirect' ) {
1900
  self::redirect_after_submit( $args );
1901
  } else {
1902
  self::show_message_after_save( $args );
classes/controllers/FrmStylesController.php CHANGED
@@ -59,7 +59,7 @@ class FrmStylesController {
59
  self::load_pro_hooks();
60
 
61
  $style_tab = FrmAppHelper::get_param( 'frm_action', '', 'get', 'sanitize_title' );
62
- if ( $style_tab == 'manage' || $style_tab == 'custom_css' ) {
63
  // we only need to load these styles/scripts on the styler page
64
  return;
65
  }
59
  self::load_pro_hooks();
60
 
61
  $style_tab = FrmAppHelper::get_param( 'frm_action', '', 'get', 'sanitize_title' );
62
+ if ( $style_tab === 'manage' || $style_tab === 'custom_css' ) {
63
  // we only need to load these styles/scripts on the styler page
64
  return;
65
  }
classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '5.0.07';
15
 
16
  /**
17
  * @since 1.07.02
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '5.0.08';
15
 
16
  /**
17
  * @since 1.07.02
classes/helpers/FrmStylesHelper.php CHANGED
@@ -432,7 +432,10 @@ class FrmStylesHelper {
432
  $color = trim( $color );
433
  if ( empty( $color ) ) {
434
  $color = $default;
435
- } elseif ( strpos( $color, '#' ) === false ) {
 
 
 
436
  $color = '#' . $color;
437
  }
438
  }
432
  $color = trim( $color );
433
  if ( empty( $color ) ) {
434
  $color = $default;
435
+ } elseif ( false !== strpos( $color, 'rgb(' ) ) {
436
+ $color = str_replace( 'rgb(', 'rgba(', $color );
437
+ $color = str_replace( ')', ',1)', $color );
438
+ } elseif ( strpos( $color, '#' ) === false && false === strpos( $color, 'rgba(' ) ) {
439
  $color = '#' . $color;
440
  }
441
  }
classes/helpers/FrmTipsHelper.php CHANGED
@@ -232,6 +232,22 @@ class FrmTipsHelper {
232
  'tip' => __( 'Make your sidebar and footer forms stand out.', 'formidable' ),
233
  'call' => __( 'Use multiple style templates.', 'formidable' ),
234
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  );
236
 
237
  return $tips;
232
  'tip' => __( 'Make your sidebar and footer forms stand out.', 'formidable' ),
233
  'call' => __( 'Use multiple style templates.', 'formidable' ),
234
  ),
235
+ array(
236
+ 'link' => array(
237
+ 'content' => 'style',
238
+ 'param' => 'bg-image-style-settings',
239
+ ),
240
+ 'tip' => __( 'Want to add a background image?', 'formidable' ),
241
+ 'call' => __( 'Upgrade to Pro.', 'formidable' ),
242
+ ),
243
+ array(
244
+ 'link' => array(
245
+ 'content' => 'style',
246
+ 'param' => 'bg-image-style-settings',
247
+ ),
248
+ 'tip' => __( 'Want to set a color with an alpha slider?', 'formidable' ),
249
+ 'call' => __( 'Upgrade to Pro.', 'formidable' ),
250
+ ),
251
  );
252
 
253
  return $tips;
classes/models/FrmField.php CHANGED
@@ -72,7 +72,8 @@ class FrmField {
72
  }
73
 
74
  public static function pro_field_selection() {
75
- $fields = array(
 
76
  'file' => array(
77
  'name' => __( 'File Upload', 'formidable' ),
78
  'icon' => 'frm_icon_font frm_upload_icon',
@@ -93,7 +94,7 @@ class FrmField {
93
  'scale' => array(
94
  'name' => __( 'Scale', 'formidable' ),
95
  'icon' => 'frm_icon_font frm_linear_scale_icon',
96
- 'message' => 'Add a set of radio buttons with whatever range you choose. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/scale_field.png" alt="Scale Field" />',
97
  ),
98
  'star' => array(
99
  'name' => __( 'Star Rating', 'formidable' ),
@@ -115,12 +116,12 @@ class FrmField {
115
  'lookup' => array(
116
  'name' => __( 'Lookup', 'formidable' ),
117
  'icon' => 'frm_icon_font frm_search_icon',
118
- 'message' => 'Filter the options in the next field and automatically add values to other fields. Upgrade to Pro to get Lookup fields and more. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/look-up_year-make-model.gif" alt="cascading lookup fields" />',
119
  ),
120
  'divider|repeat' => array(
121
  'name' => __( 'Repeater', 'formidable' ),
122
  'icon' => 'frm_icon_font frm_repeater_icon',
123
- 'message' => 'Allow your visitors to add new sets of fields while filling out forms. Increase conversions while saving building time and server resources. <img src="https://s3.amazonaws.com/fp.strategy11.com/images/knowledgebase/repeatable-section_frontend.gif" alt="Dynamically Add Form Fields with repeatable sections" />',
124
  ),
125
  'end_divider' => array(
126
  'name' => __( 'Section Buttons', 'formidable' ),
@@ -186,7 +187,7 @@ class FrmField {
186
  'icon' => 'frm_icon_font frm_calendar_icon frm_show_upgrade',
187
  'require' => 'Simply Schedule Appointments',
188
  'message' => 'Appointment fields are an integration with <a href="https://simplyscheduleappointments.com/meet/formidable/">Simply Schedule Appointments</a>. Get started now to schedule appointments directly from your forms.
189
- <img src="https://s3.amazonaws.com/fp.strategy11.com/images/appointments/appointments.png" alt="Scheduling" />',
190
  'link' => 'https://simplyscheduleappointments.com/meet/formidable/',
191
  ),
192
  'product' => array(
@@ -230,12 +231,13 @@ class FrmField {
230
  $key = isset( $values['field_key'] ) ? $values['field_key'] : $values['name'];
231
  $new_values['field_key'] = FrmAppHelper::get_unique_key( $key, $wpdb->prefix . 'frm_fields', 'field_key' );
232
 
 
 
233
  foreach ( array( 'name', 'description', 'type', 'default_value' ) as $col ) {
234
  $new_values[ $col ] = $values[ $col ];
235
  }
236
 
237
- $new_values['options'] = $values['options'];
238
-
239
  $new_values['field_order'] = isset( $values['field_order'] ) ? (int) $values['field_order'] : null;
240
  $new_values['required'] = isset( $values['required'] ) ? (int) $values['required'] : 0;
241
  $new_values['form_id'] = isset( $values['form_id'] ) ? (int) $values['form_id'] : null;
@@ -260,9 +262,6 @@ class FrmField {
260
  unset( $k, $v );
261
  }
262
 
263
- //if(isset($values['id']) and is_numeric($values['id']))
264
- // $new_values['id'] = $values['id'];
265
-
266
  $query_results = $wpdb->insert( $wpdb->prefix . 'frm_fields', $new_values );
267
  $new_id = 0;
268
  if ( $query_results ) {
@@ -285,6 +284,16 @@ class FrmField {
285
  }
286
  }
287
 
 
 
 
 
 
 
 
 
 
 
288
  /**
289
  * Process the field duplication.
290
  *
@@ -409,7 +418,9 @@ class FrmField {
409
  // serialize array values
410
  foreach ( array( 'field_options', 'options' ) as $opt ) {
411
  if ( isset( $values[ $opt ] ) && is_array( $values[ $opt ] ) ) {
412
- $values[ $opt ] = FrmAppHelper::maybe_filter_array( $values[ $opt ], array( 'custom_html' ) );
 
 
413
  $values[ $opt ] = serialize( $values[ $opt ] );
414
  }
415
  }
72
  }
73
 
74
  public static function pro_field_selection() {
75
+ $images_url = FrmAppHelper::plugin_url() . '/images/';
76
+ $fields = array(
77
  'file' => array(
78
  'name' => __( 'File Upload', 'formidable' ),
79
  'icon' => 'frm_icon_font frm_upload_icon',
94
  'scale' => array(
95
  'name' => __( 'Scale', 'formidable' ),
96
  'icon' => 'frm_icon_font frm_linear_scale_icon',
97
+ 'message' => 'Add a set of radio buttons with whatever range you choose. <img src="' . esc_attr( $images_url ) . 'scale_field.png" alt="Scale Field" />',
98
  ),
99
  'star' => array(
100
  'name' => __( 'Star Rating', 'formidable' ),
116
  'lookup' => array(
117
  'name' => __( 'Lookup', 'formidable' ),
118
  'icon' => 'frm_icon_font frm_search_icon',
119
+ 'message' => 'Filter the options in the next field and automatically add values to other fields. Upgrade to Pro to get Lookup fields and more. <img src="' . esc_attr( $images_url ) . 'look-up_year-make-model.gif" alt="cascading lookup fields" />',
120
  ),
121
  'divider|repeat' => array(
122
  'name' => __( 'Repeater', 'formidable' ),
123
  'icon' => 'frm_icon_font frm_repeater_icon',
124
+ 'message' => 'Allow your visitors to add new sets of fields while filling out forms. Increase conversions while saving building time and server resources. <img src="' . esc_attr( $images_url ) . 'repeatable-section_frontend.gif" alt="Dynamically Add Form Fields with repeatable sections" />',
125
  ),
126
  'end_divider' => array(
127
  'name' => __( 'Section Buttons', 'formidable' ),
187
  'icon' => 'frm_icon_font frm_calendar_icon frm_show_upgrade',
188
  'require' => 'Simply Schedule Appointments',
189
  'message' => 'Appointment fields are an integration with <a href="https://simplyscheduleappointments.com/meet/formidable/">Simply Schedule Appointments</a>. Get started now to schedule appointments directly from your forms.
190
+ <img src="' . esc_attr( $images_url ) . 'appointments.png" alt="Scheduling" />',
191
  'link' => 'https://simplyscheduleappointments.com/meet/formidable/',
192
  ),
193
  'product' => array(
231
  $key = isset( $values['field_key'] ) ? $values['field_key'] : $values['name'];
232
  $new_values['field_key'] = FrmAppHelper::get_unique_key( $key, $wpdb->prefix . 'frm_fields', 'field_key' );
233
 
234
+ $values = FrmAppHelper::maybe_filter_array( $values, array( 'name', 'description' ) );
235
+
236
  foreach ( array( 'name', 'description', 'type', 'default_value' ) as $col ) {
237
  $new_values[ $col ] = $values[ $col ];
238
  }
239
 
240
+ $new_values['options'] = self::maybe_filter_options( $values['options'] );
 
241
  $new_values['field_order'] = isset( $values['field_order'] ) ? (int) $values['field_order'] : null;
242
  $new_values['required'] = isset( $values['required'] ) ? (int) $values['required'] : 0;
243
  $new_values['form_id'] = isset( $values['form_id'] ) ? (int) $values['form_id'] : null;
262
  unset( $k, $v );
263
  }
264
 
 
 
 
265
  $query_results = $wpdb->insert( $wpdb->prefix . 'frm_fields', $new_values );
266
  $new_id = 0;
267
  if ( $query_results ) {
284
  }
285
  }
286
 
287
+ /**
288
+ * @since 5.0.08
289
+ *
290
+ * @param array $options
291
+ * @return array
292
+ */
293
+ private static function maybe_filter_options( $options ) {
294
+ return FrmAppHelper::maybe_filter_array( $options, array( 'custom_html' ) );
295
+ }
296
+
297
  /**
298
  * Process the field duplication.
299
  *
418
  // serialize array values
419
  foreach ( array( 'field_options', 'options' ) as $opt ) {
420
  if ( isset( $values[ $opt ] ) && is_array( $values[ $opt ] ) ) {
421
+ if ( 'field_options' === $opt ) {
422
+ $values[ $opt ] = self::maybe_filter_options( $values[ $opt ] );
423
+ }
424
  $values[ $opt ] = serialize( $values[ $opt ] );
425
  }
426
  }
classes/models/FrmForm.php CHANGED
@@ -6,11 +6,14 @@ if ( ! defined( 'ABSPATH' ) ) {
6
  class FrmForm {
7
 
8
  /**
 
9
  * @return int|boolean id on success or false on failure
10
  */
11
  public static function create( $values ) {
12
  global $wpdb;
13
 
 
 
14
  $new_values = array(
15
  'form_key' => FrmAppHelper::get_unique_key( $values['form_key'], $wpdb->prefix . 'frm_forms', 'form_key' ),
16
  'name' => $values['name'],
@@ -31,11 +34,9 @@ class FrmForm {
31
  $options['submit_html'] = isset( $values['options']['submit_html'] ) ? $values['options']['submit_html'] : FrmFormsHelper::get_default_html( 'submit' );
32
 
33
  $options = apply_filters( 'frm_form_options_before_update', $options, $values );
 
34
  $new_values['options'] = serialize( $options );
35
 
36
- //if(isset($values['id']) && is_numeric($values['id']))
37
- // $new_values['id'] = $values['id'];
38
-
39
  $wpdb->insert( $wpdb->prefix . 'frm_forms', $new_values );
40
 
41
  $id = $wpdb->insert_id;
@@ -46,6 +47,16 @@ class FrmForm {
46
  return $id;
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
49
  /**
50
  * @return int|boolean ID on success or false on failure
51
  */
@@ -185,7 +196,7 @@ class FrmForm {
185
  $options['submit_html'] = ( isset( $values['options']['submit_html'] ) && '' !== $values['options']['submit_html'] ) ? $values['options']['submit_html'] : FrmFormsHelper::get_default_html( 'submit' );
186
 
187
  $options = apply_filters( 'frm_form_options_before_update', $options, $values );
188
- $options = FrmAppHelper::maybe_filter_array( $options, array( 'submit_value', 'success_msg', 'before_html', 'after_html', 'submit_html' ) );
189
  $new_values['options'] = serialize( $options );
190
 
191
  return $new_values;
6
  class FrmForm {
7
 
8
  /**
9
+ * @param array $values
10
  * @return int|boolean id on success or false on failure
11
  */
12
  public static function create( $values ) {
13
  global $wpdb;
14
 
15
+ $values = FrmAppHelper::maybe_filter_array( $values, array( 'name', 'description' ) );
16
+
17
  $new_values = array(
18
  'form_key' => FrmAppHelper::get_unique_key( $values['form_key'], $wpdb->prefix . 'frm_forms', 'form_key' ),
19
  'name' => $values['name'],
34
  $options['submit_html'] = isset( $values['options']['submit_html'] ) ? $values['options']['submit_html'] : FrmFormsHelper::get_default_html( 'submit' );
35
 
36
  $options = apply_filters( 'frm_form_options_before_update', $options, $values );
37
+ $options = self::maybe_filter_form_options( $options );
38
  $new_values['options'] = serialize( $options );
39
 
 
 
 
40
  $wpdb->insert( $wpdb->prefix . 'frm_forms', $new_values );
41
 
42
  $id = $wpdb->insert_id;
47
  return $id;
48
  }
49
 
50
+ /**
51
+ * @since 5.0.08
52
+ *
53
+ * @param array $options
54
+ * @return array
55
+ */
56
+ private static function maybe_filter_form_options( $options ) {
57
+ return FrmAppHelper::maybe_filter_array( $options, array( 'submit_value', 'success_msg', 'before_html', 'after_html', 'submit_html' ) );
58
+ }
59
+
60
  /**
61
  * @return int|boolean ID on success or false on failure
62
  */
196
  $options['submit_html'] = ( isset( $values['options']['submit_html'] ) && '' !== $values['options']['submit_html'] ) ? $values['options']['submit_html'] : FrmFormsHelper::get_default_html( 'submit' );
197
 
198
  $options = apply_filters( 'frm_form_options_before_update', $options, $values );
199
+ $options = self::maybe_filter_form_options( $options );
200
  $new_values['options'] = serialize( $options );
201
 
202
  return $new_values;
classes/models/FrmSettings.php CHANGED
@@ -144,8 +144,21 @@ class FrmSettings {
144
  }
145
  }
146
 
 
 
 
147
  public function fill_with_defaults( $params = array() ) {
148
- $settings = $this->default_options();
 
 
 
 
 
 
 
 
 
 
149
 
150
  foreach ( $settings as $setting => $default ) {
151
  if ( isset( $params[ 'frm_' . $setting ] ) ) {
@@ -154,10 +167,14 @@ class FrmSettings {
154
  $this->{$setting} = $default;
155
  }
156
 
157
- if ( $setting == 'menu' && empty( $this->{$setting} ) ) {
158
  $this->{$setting} = $default;
159
  }
160
 
 
 
 
 
161
  unset( $setting, $default );
162
  }
163
  }
144
  }
145
  }
146
 
147
+ /**
148
+ * @param array $params
149
+ */
150
  public function fill_with_defaults( $params = array() ) {
151
+ $settings = $this->default_options();
152
+ $filter_html = ! FrmAppHelper::allow_unfiltered_html();
153
+
154
+ if ( $filter_html ) {
155
+ $filter_keys = array( 'failed_msg', 'blank_msg', 'invalid_msg', 'unique_msg', 'success_msg', 'submit_value', 'login_msg', 'menu' );
156
+ if ( ! empty( $params['additional_filter_keys'] ) ) {
157
+ $filter_keys = array_merge( $filter_keys, $params['additional_filter_keys'] );
158
+ }
159
+ } else {
160
+ $filter_keys = array();
161
+ }
162
 
163
  foreach ( $settings as $setting => $default ) {
164
  if ( isset( $params[ 'frm_' . $setting ] ) ) {
167
  $this->{$setting} = $default;
168
  }
169
 
170
+ if ( $setting === 'menu' && empty( $this->{$setting} ) ) {
171
  $this->{$setting} = $default;
172
  }
173
 
174
+ if ( $filter_html && in_array( $setting, $filter_keys, true ) ) {
175
+ $this->{$setting} = FrmAppHelper::kses( $this->{$setting}, 'all' );
176
+ }
177
+
178
  unset( $setting, $default );
179
  }
180
  }
classes/views/styles/_buttons.php CHANGED
@@ -42,17 +42,17 @@ if ( ! defined( 'ABSPATH' ) ) {
42
 
43
  <p class="frm4 frm_first frm_form_field">
44
  <label for="frm_submit_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
45
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_bg_color' ) ); ?>" id="frm_submit_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_bg_color'] ); ?>" />
46
  </p>
47
 
48
  <p class="frm4 frm_form_field">
49
  <label for="frm_submit_text_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
50
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_text_color' ) ); ?>" id="frm_submit_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_text_color'] ); ?>" />
51
  </p>
52
 
53
  <p class="frm4 frm_first frm_form_field">
54
  <label for="frm_submit_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
55
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_border_color' ) ); ?>" id="frm_submit_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_border_color'] ); ?>" />
56
  </p>
57
 
58
  <p class="frm4 frm_form_field">
@@ -62,7 +62,7 @@ if ( ! defined( 'ABSPATH' ) ) {
62
 
63
  <p class="frm4 frm_end frm_form_field">
64
  <label for="frm_submit_shadow_color"><?php esc_html_e( 'Shadow', 'formidable' ); ?></label>
65
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_shadow_color' ) ); ?>" id="frm_submit_shadow_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_shadow_color'] ); ?>" />
66
  </p>
67
 
68
  <p class="frm_clear">
@@ -85,17 +85,17 @@ if ( ! defined( 'ABSPATH' ) ) {
85
  </h4>
86
  <p class="frm4 frm_first frm_form_field">
87
  <label for="frm_submit_hover_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
88
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_bg_color' ) ); ?>" id="frm_submit_hover_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_bg_color'] ); ?>" />
89
  </p>
90
 
91
  <p class="frm4 frm_form_field">
92
  <label for="frm_submit_hover_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
93
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_color' ) ); ?>" id="frm_submit_hover_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_color'] ); ?>" />
94
  </p>
95
 
96
  <p class="frm4 frm_end frm_form_field">
97
  <label for="frm_submit_hover_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
98
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_border_color' ) ); ?>" id="frm_submit_hover_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_border_color'] ); ?>" />
99
  </p>
100
 
101
  <h4 class="frm_clear">
@@ -103,15 +103,15 @@ if ( ! defined( 'ABSPATH' ) ) {
103
  </h4>
104
  <p class="frm4 frm_first frm_form_field">
105
  <label for="frm_submit_active_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
106
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_bg_color' ) ); ?>" id="frm_submit_active_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_bg_color'] ); ?>" />
107
  </p>
108
 
109
  <p class="frm4 frm_form_field">
110
  <label for="frm_submit_active_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
111
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_color' ) ); ?>" id="frm_submit_active_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_color'] ); ?>" />
112
  </p>
113
 
114
  <p class="frm4 frm_end frm_form_field">
115
  <label for="frm_submit_active_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
116
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_border_color' ) ); ?>" id="frm_submit_active_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_border_color'] ); ?>" />
117
  </p>
42
 
43
  <p class="frm4 frm_first frm_form_field">
44
  <label for="frm_submit_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
45
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_bg_color' ) ); ?>" id="frm_submit_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_bg_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_bg_color' ); ?> />
46
  </p>
47
 
48
  <p class="frm4 frm_form_field">
49
  <label for="frm_submit_text_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
50
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_text_color' ) ); ?>" id="frm_submit_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_text_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_text_color' ); ?> />
51
  </p>
52
 
53
  <p class="frm4 frm_first frm_form_field">
54
  <label for="frm_submit_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
55
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_border_color' ) ); ?>" id="frm_submit_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_border_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_border_color' ); ?> />
56
  </p>
57
 
58
  <p class="frm4 frm_form_field">
62
 
63
  <p class="frm4 frm_end frm_form_field">
64
  <label for="frm_submit_shadow_color"><?php esc_html_e( 'Shadow', 'formidable' ); ?></label>
65
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_shadow_color' ) ); ?>" id="frm_submit_shadow_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_shadow_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_shadow_color' ); ?> />
66
  </p>
67
 
68
  <p class="frm_clear">
85
  </h4>
86
  <p class="frm4 frm_first frm_form_field">
87
  <label for="frm_submit_hover_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
88
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_bg_color' ) ); ?>" id="frm_submit_hover_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_bg_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_hover_bg_color' ); ?> />
89
  </p>
90
 
91
  <p class="frm4 frm_form_field">
92
  <label for="frm_submit_hover_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
93
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_color' ) ); ?>" id="frm_submit_hover_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_hover_color' ); ?> />
94
  </p>
95
 
96
  <p class="frm4 frm_end frm_form_field">
97
  <label for="frm_submit_hover_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
98
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_hover_border_color' ) ); ?>" id="frm_submit_hover_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_hover_border_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_hover_border_color' ); ?> />
99
  </p>
100
 
101
  <h4 class="frm_clear">
103
  </h4>
104
  <p class="frm4 frm_first frm_form_field">
105
  <label for="frm_submit_active_bg_color"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
106
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_bg_color' ) ); ?>" id="frm_submit_active_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_bg_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_active_bg_color' ); ?> />
107
  </p>
108
 
109
  <p class="frm4 frm_form_field">
110
  <label for="frm_submit_active_color"><?php esc_html_e( 'Text', 'formidable' ); ?></label>
111
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_color' ) ); ?>" id="frm_submit_active_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_active_color' ); ?> />
112
  </p>
113
 
114
  <p class="frm4 frm_end frm_form_field">
115
  <label for="frm_submit_active_border_color"><?php esc_html_e( 'Border', 'formidable' ); ?></label>
116
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'submit_active_border_color' ) ); ?>" id="frm_submit_active_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['submit_active_border_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'submit_active_border_color' ); ?> />
117
  </p>
classes/views/styles/_check-box-radio-fields.php CHANGED
@@ -29,7 +29,7 @@ if ( ! defined( 'ABSPATH' ) ) {
29
 
30
  <p class="frm4 frm_first frm_form_field">
31
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
32
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'check_label_color' ) ); ?>" id="frm_check_label_color" class="hex" value="<?php echo esc_attr( $style->post_content['check_label_color'] ); ?>" />
33
  </p>
34
  <p class="frm4 frm_form_field">
35
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
29
 
30
  <p class="frm4 frm_first frm_form_field">
31
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
32
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'check_label_color' ) ); ?>" id="frm_check_label_color" class="hex" value="<?php echo esc_attr( $style->post_content['check_label_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'check_label_color' ); ?> />
33
  </p>
34
  <p class="frm4 frm_form_field">
35
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
classes/views/styles/_field-colors.php CHANGED
@@ -5,15 +5,15 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
8
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color' ) ); ?>" id="frm_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color'] ); ?>" />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
12
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color' ) ); ?>" id="frm_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['text_color'] ); ?>" />
13
  </p>
14
  <p class="frm4 frm_first frm_form_field">
15
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
16
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color' ) ); ?>" id="frm_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['border_color'] ); ?>" />
17
  </p>
18
  <p class="frm4 frm_form_field">
19
  <label><?php esc_html_e( 'Thickness', 'formidable' ); ?></label>
@@ -47,11 +47,11 @@ if ( ! defined( 'ABSPATH' ) ) {
47
  <h4><span><?php esc_html_e( 'Active Style', 'formidable' ); ?></span></h4>
48
  <p class="frm4 frm_first frm_form_field">
49
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
50
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_active' ) ); ?>" id="frm_bg_color_active" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_active'] ); ?>" />
51
  </p>
52
  <p class="frm4 frm_form_field">
53
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
54
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_active' ) ); ?>" id="frm_border_color_active" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_active'] ); ?>" />
55
  </p>
56
 
57
  <p class="frm_clear frm_no_bottom_margin">
@@ -64,15 +64,15 @@ if ( ! defined( 'ABSPATH' ) ) {
64
  <h4><span><?php esc_html_e( 'Error Style', 'formidable' ); ?></span></h4>
65
  <p class="frm4 frm_first frm_form_field">
66
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
67
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_error' ) ); ?>" id="frm_bg_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_error'] ); ?>" />
68
  </p>
69
  <p class="frm4 frm_form_field">
70
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
71
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color_error' ) ); ?>" id="frm_text_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['text_color_error'] ); ?>" />
72
  </p>
73
  <p class="frm4 frm_first frm_form_field">
74
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
75
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_error' ) ); ?>" id="frm_border_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_error'] ); ?>" />
76
  </p>
77
  <p class="frm4 frm_first frm_form_field">
78
  <label><?php esc_html_e( 'Thickness', 'formidable' ); ?></label>
@@ -101,13 +101,13 @@ if ( ! defined( 'ABSPATH' ) ) {
101
  </h4>
102
  <p class="frm4 frm_first frm_form_field">
103
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
104
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_disabled' ) ); ?>" id="frm_bg_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_disabled'] ); ?>" />
105
  </p>
106
  <p class="frm4 frm_form_field">
107
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
108
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color_disabled' ) ); ?>" id="frm_text_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['text_color_disabled'] ); ?>" />
109
  </p>
110
  <p class="frm4 frm_end frm_form_field">
111
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
112
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_disabled' ) ); ?>" id="frm_border_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_disabled'] ); ?>" />
113
  </p>
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
8
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color' ) ); ?>" id="frm_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'bg_color' ); ?> />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
12
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color' ) ); ?>" id="frm_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['text_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'text_color' ); ?> />
13
  </p>
14
  <p class="frm4 frm_first frm_form_field">
15
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
16
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color' ) ); ?>" id="frm_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['border_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'border_color' ); ?> />
17
  </p>
18
  <p class="frm4 frm_form_field">
19
  <label><?php esc_html_e( 'Thickness', 'formidable' ); ?></label>
47
  <h4><span><?php esc_html_e( 'Active Style', 'formidable' ); ?></span></h4>
48
  <p class="frm4 frm_first frm_form_field">
49
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
50
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_active' ) ); ?>" id="frm_bg_color_active" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_active'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'bg_color_active' ); ?> />
51
  </p>
52
  <p class="frm4 frm_form_field">
53
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
54
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_active' ) ); ?>" id="frm_border_color_active" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_active'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'border_color_active' ); ?> />
55
  </p>
56
 
57
  <p class="frm_clear frm_no_bottom_margin">
64
  <h4><span><?php esc_html_e( 'Error Style', 'formidable' ); ?></span></h4>
65
  <p class="frm4 frm_first frm_form_field">
66
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
67
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_error' ) ); ?>" id="frm_bg_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_error'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'bg_color_error' ); ?> />
68
  </p>
69
  <p class="frm4 frm_form_field">
70
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
71
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color_error' ) ); ?>" id="frm_text_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['text_color_error'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'text_color_error' ); ?> />
72
  </p>
73
  <p class="frm4 frm_first frm_form_field">
74
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
75
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_error' ) ); ?>" id="frm_border_color_error" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_error'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'border_color_error' ); ?> />
76
  </p>
77
  <p class="frm4 frm_first frm_form_field">
78
  <label><?php esc_html_e( 'Thickness', 'formidable' ); ?></label>
101
  </h4>
102
  <p class="frm4 frm_first frm_form_field">
103
  <label class="background"><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
104
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'bg_color_disabled' ) ); ?>" id="frm_bg_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['bg_color_disabled'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'bg_color_disabled' ); ?> />
105
  </p>
106
  <p class="frm4 frm_form_field">
107
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
108
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'text_color_disabled' ) ); ?>" id="frm_text_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['text_color_disabled'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'text_color_disabled' ); ?> />
109
  </p>
110
  <p class="frm4 frm_end frm_form_field">
111
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
112
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'border_color_disabled' ) ); ?>" id="frm_border_color_disabled" class="hex" value="<?php echo esc_attr( $style->post_content['border_color_disabled'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'border_color_disabled' ); ?> />
113
  </p>
classes/views/styles/_field-description.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
8
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'description_color' ) ); ?>" id="frm_description_color" class="hex" value="<?php echo esc_attr( $style->post_content['description_color'] ); ?>" />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
8
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'description_color' ) ); ?>" id="frm_description_color" class="hex" value="<?php echo esc_attr( $style->post_content['description_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'description_color' ); ?> />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
classes/views/styles/_field-labels.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
8
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'label_color' ) ); ?>" id="frm_label_color" class="hex" value="<?php echo esc_attr( $style->post_content['label_color'] ); ?>" />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
@@ -56,7 +56,7 @@ if ( ! defined( 'ABSPATH' ) ) {
56
  </h4>
57
  <p class="frm4 frm_first frm_form_field">
58
  <label class="background"><?php esc_html_e( 'Color', 'formidable' ); ?></label>
59
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'required_color' ) ); ?>" id="frm_required_color" class="hex" value="<?php echo esc_attr( $style->post_content['required_color'] ); ?>" />
60
  </p>
61
  <p class="frm4 frm_form_field">
62
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
5
  ?>
6
  <p class="frm4 frm_first frm_form_field">
7
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
8
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'label_color' ) ); ?>" id="frm_label_color" class="hex" value="<?php echo esc_attr( $style->post_content['label_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'label_color' ); ?> />
9
  </p>
10
  <p class="frm4 frm_form_field">
11
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
56
  </h4>
57
  <p class="frm4 frm_first frm_form_field">
58
  <label class="background"><?php esc_html_e( 'Color', 'formidable' ); ?></label>
59
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'required_color' ) ); ?>" id="frm_required_color" class="hex" value="<?php echo esc_attr( $style->post_content['required_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'required_color' ); ?> />
60
  </p>
61
  <p class="frm4 frm_form_field">
62
  <label><?php esc_html_e( 'Weight', 'formidable' ); ?></label>
classes/views/styles/_form-description.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
 
11
  <p class="frm6 frm_end frm_form_field">
12
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
13
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'form_desc_color' ) ); ?>" id="frm_form_desc_color" class="hex" value="<?php echo esc_attr( $style->post_content['form_desc_color'] ); ?>" />
14
  </p>
15
  <p class="frm6 frm_first frm_form_field">
16
  <label><?php esc_html_e( 'Margin Top', 'formidable' ); ?></label>
10
 
11
  <p class="frm6 frm_end frm_form_field">
12
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
13
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'form_desc_color' ) ); ?>" id="frm_form_desc_color" class="hex" value="<?php echo esc_attr( $style->post_content['form_desc_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'form_desc_color' ); ?> />
14
  </p>
15
  <p class="frm6 frm_first frm_form_field">
16
  <label><?php esc_html_e( 'Margin Top', 'formidable' ); ?></label>
classes/views/styles/_form-messages.php CHANGED
@@ -6,15 +6,15 @@ if ( ! defined( 'ABSPATH' ) ) {
6
  <h4><span><?php esc_html_e( 'Success Messages', 'formidable' ); ?></span></h4>
7
  <p class="frm4 frm_first frm_form_field">
8
  <label><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
9
- <input name="<?php echo esc_attr( $frm_style->get_field_name( 'success_bg_color' ) ); ?>" id="frm_success_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_bg_color'] ); ?>" type="text" />
10
  </p>
11
  <p class="frm4 frm_form_field">
12
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
13
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'success_border_color' ) ); ?>" id="frm_success_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_border_color'] ); ?>" />
14
  </p>
15
  <p class="frm4 frm_end frm_form_field">
16
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
17
- <input name="<?php echo esc_attr( $frm_style->get_field_name( 'success_text_color' ) ); ?>" id="frm_success_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_text_color'] ); ?>" type="text" />
18
  </p>
19
  <p class="frm4 frm_first frm_form_field">
20
  <label><?php esc_html_e( 'Size', 'formidable' ); ?></label>
@@ -26,15 +26,15 @@ if ( ! defined( 'ABSPATH' ) ) {
26
  </h4>
27
  <p class="frm4 frm_first frm_form_field">
28
  <label><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
29
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_bg' ) ); ?>" id="frm_error_bg" class="hex" value="<?php echo esc_attr( $style->post_content['error_bg'] ); ?>" />
30
  </p>
31
  <p class="frm4 frm_form_field">
32
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
33
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_border' ) ); ?>" id="frm_error_border" class="hex" value="<?php echo esc_attr( $style->post_content['error_border'] ); ?>" />
34
  </p>
35
  <p class="frm4 frm_end frm_form_field">
36
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
37
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_text' ) ); ?>" id="frm_error_text" class="hex" value="<?php echo esc_attr( $style->post_content['error_text'] ); ?>" />
38
  </p>
39
 
40
  <p class="frm4 frm_first frm_form_field">
6
  <h4><span><?php esc_html_e( 'Success Messages', 'formidable' ); ?></span></h4>
7
  <p class="frm4 frm_first frm_form_field">
8
  <label><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
9
+ <input name="<?php echo esc_attr( $frm_style->get_field_name( 'success_bg_color' ) ); ?>" id="frm_success_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_bg_color'] ); ?>" type="text" <?php do_action( 'frm_style_settings_input_atts', 'success_bg_color' ); ?> />
10
  </p>
11
  <p class="frm4 frm_form_field">
12
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
13
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'success_border_color' ) ); ?>" id="frm_success_border_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_border_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'success_border_color' ); ?> />
14
  </p>
15
  <p class="frm4 frm_end frm_form_field">
16
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
17
+ <input name="<?php echo esc_attr( $frm_style->get_field_name( 'success_text_color' ) ); ?>" id="frm_success_text_color" class="hex" value="<?php echo esc_attr( $style->post_content['success_text_color'] ); ?>" type="text" <?php do_action( 'frm_style_settings_input_atts', 'success_text_color' ); ?> />
18
  </p>
19
  <p class="frm4 frm_first frm_form_field">
20
  <label><?php esc_html_e( 'Size', 'formidable' ); ?></label>
26
  </h4>
27
  <p class="frm4 frm_first frm_form_field">
28
  <label><?php esc_html_e( 'BG color', 'formidable' ); ?></label>
29
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_bg' ) ); ?>" id="frm_error_bg" class="hex" value="<?php echo esc_attr( $style->post_content['error_bg'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'error_bg' ); ?> />
30
  </p>
31
  <p class="frm4 frm_form_field">
32
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
33
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_border' ) ); ?>" id="frm_error_border" class="hex" value="<?php echo esc_attr( $style->post_content['error_border'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'error_border' ); ?> />
34
  </p>
35
  <p class="frm4 frm_end frm_form_field">
36
  <label><?php esc_html_e( 'Text', 'formidable' ); ?></label>
37
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'error_text' ) ); ?>" id="frm_error_text" class="hex" value="<?php echo esc_attr( $style->post_content['error_text'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'error_text' ); ?> />
38
  </p>
39
 
40
  <p class="frm4 frm_first frm_form_field">
classes/views/styles/_form-title.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
 
11
  <p class="frm6 frm_end frm_form_field">
12
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
13
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'title_color' ) ); ?>" id="frm_title_color" class="hex" value="<?php echo esc_attr( $style->post_content['title_color'] ); ?>" />
14
  </p>
15
  <p class="frm6 frm_first frm_form_field">
16
  <label><?php esc_html_e( 'Margin Top', 'formidable' ); ?></label>
10
 
11
  <p class="frm6 frm_end frm_form_field">
12
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
13
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'title_color' ) ); ?>" id="frm_title_color" class="hex" value="<?php echo esc_attr( $style->post_content['title_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'title_color' ); ?> />
14
  </p>
15
  <p class="frm6 frm_first frm_form_field">
16
  <label><?php esc_html_e( 'Margin Top', 'formidable' ); ?></label>
classes/views/styles/_general.php CHANGED
@@ -39,9 +39,23 @@ if ( ! defined( 'ABSPATH' ) ) {
39
 
40
  <p class="frm4 frm_form_field frm_end">
41
  <label><?php esc_html_e( 'Background', 'formidable' ); ?></label>
42
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset_bg_color' ) ); ?>" id="frm_fieldset_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['fieldset_bg_color'] ); ?>" size="4" />
43
  </p>
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  <p class="frm4 frm_first frm_form_field">
46
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
47
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset' ) ); ?>" id="frm_fieldset" value="<?php echo esc_attr( $style->post_content['fieldset'] ); ?>" size="4" />
@@ -49,7 +63,7 @@ if ( ! defined( 'ABSPATH' ) ) {
49
 
50
  <p class="frm4 frm_form_field">
51
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
52
- <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset_color' ) ); ?>" id="frm_fieldset_color" class="hex" value="<?php echo esc_attr( $style->post_content['fieldset_color'] ); ?>" />
53
  </p>
54
 
55
  <p class="frm4 frm_form_field">
39
 
40
  <p class="frm4 frm_form_field frm_end">
41
  <label><?php esc_html_e( 'Background', 'formidable' ); ?></label>
42
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset_bg_color' ) ); ?>" id="frm_fieldset_bg_color" class="hex" value="<?php echo esc_attr( $style->post_content['fieldset_bg_color'] ); ?>" size="4" <?php do_action( 'frm_style_settings_input_atts', 'fieldset_bg_color' ); ?> />
43
  </p>
44
 
45
+ <?php
46
+ do_action( 'frm_style_settings_general_section_after_background', compact( 'frm_style', 'style' ) );
47
+ if ( ! FrmAppHelper::pro_is_installed() ) {
48
+ ?>
49
+ <div class="frm_image_preview_wrapper" data-upgrade="<?php esc_attr_e( 'Background image styles', 'formidable' ); ?>" data-medium="background-image">
50
+ <button type="button" class="frm_choose_image_box frm_button frm_no_style_button frm_noallow">
51
+ <?php FrmAppHelper::icon_by_class( 'frm_icon_font frm_upload_icon' ); ?>
52
+ <?php esc_attr_e( 'Upload background image', 'formidable' ); ?>
53
+ </button>
54
+ </div>
55
+ <?php
56
+ }
57
+ ?>
58
+
59
  <p class="frm4 frm_first frm_form_field">
60
  <label><?php esc_html_e( 'Border', 'formidable' ); ?></label>
61
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset' ) ); ?>" id="frm_fieldset" value="<?php echo esc_attr( $style->post_content['fieldset'] ); ?>" size="4" />
63
 
64
  <p class="frm4 frm_form_field">
65
  <label><?php esc_html_e( 'Color', 'formidable' ); ?></label>
66
+ <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name( 'fieldset_color' ) ); ?>" id="frm_fieldset_color" class="hex" value="<?php echo esc_attr( $style->post_content['fieldset_color'] ); ?>" <?php do_action( 'frm_style_settings_input_atts', 'fieldset_color' ); ?> />
67
  </p>
68
 
69
  <p class="frm4 frm_form_field">
css/frm_admin.css CHANGED
@@ -26,7 +26,7 @@
26
  --biggest-sidebar: 450px;
27
  }
28
 
29
- .with_frm_style .frm_form_fields > fieldset {
30
  --fieldset-padding: 15px 0;
31
  }
32
 
@@ -3773,6 +3773,14 @@ li.ui-state-default.edit_field_type_divider .frm-show-hover {
3773
  width: calc(100% - 73px);
3774
  }
3775
 
 
 
 
 
 
 
 
 
3776
  .frm-right-panel .frm_single_option a.frm_remove_tag,
3777
  .frm_single_option a {
3778
  padding-left: 7px;
26
  --biggest-sidebar: 450px;
27
  }
28
 
29
+ body:not(.frm-admin-page-styles) .with_frm_style .frm_form_fields > fieldset {
30
  --fieldset-padding: 15px 0;
31
  }
32
 
3773
  width: calc(100% - 73px);
3774
  }
3775
 
3776
+ .frm-right-panel.styling_settings .frm_image_preview_wrapper {
3777
+ width: 100%;
3778
+ }
3779
+
3780
+ .frm-right-panel.styling_settings .frm_image_preview_wrapper .frm_choose_image_box {
3781
+ margin-left: 0;
3782
+ }
3783
+
3784
  .frm-right-panel .frm_single_option a.frm_remove_tag,
3785
  .frm_single_option a {
3786
  padding-left: 7px;
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: 5.0.07
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: 5.0.08
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
images/appointments.png ADDED
Binary file
images/look-up_year-make-model.gif ADDED
Binary file
images/repeatable-section_frontend.gif ADDED
Binary file
images/scale_field.png ADDED
Binary file
images/survey-logic.png ADDED
Binary file
images/survey-logic@2x.png ADDED
Binary file
js/bootstrap.min.js CHANGED
@@ -1,11 +1,6 @@
1
  /*!
2
- * Bootstrap v3.3.4 (http://getbootstrap.com)
3
- * Copyright 2011-2015 Twitter, Inc.
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
-
7
- /*!
8
- * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=6a925321fc7117876d39)
9
- * Config saved to config.json and https://gist.github.com/6a925321fc7117876d39
10
- */
11
- if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(n).remove(),t(r).each(function(){var i=t(this),n=o(i),r={relatedTarget:this};n.hasClass("open")&&(n.trigger(e=t.Event("hide.bs.dropdown",r)),e.isDefaultPrevented()||(i.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",r)))}))}function o(e){var o=e.attr("data-target");o||(o=e.attr("href"),o=o&&/#[A-Za-z]/.test(o)&&o.replace(/.*(?=#[^\s]*$)/,""));var i=o&&t(o);return i&&i.length?i:e.parent()}function i(e){return this.each(function(){var o=t(this),i=o.data("bs.dropdown");i||o.data("bs.dropdown",i=new s(this)),"string"==typeof e&&i[e].call(o)})}var n=".dropdown-backdrop",r='[data-toggle="dropdown"]',s=function(e){t(e).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.4",s.prototype.toggle=function(i){var n=t(this);if(!n.is(".disabled, :disabled")){var r=o(n),s=r.hasClass("open");if(e(),!s){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click",e);var a={relatedTarget:this};if(r.trigger(i=t.Event("show.bs.dropdown",a)),i.isDefaultPrevented())return;n.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger("shown.bs.dropdown",a)}return!1}},s.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var i=t(this);if(e.preventDefault(),e.stopPropagation(),!i.is(".disabled, :disabled")){var n=o(i),s=n.hasClass("open");if(!s&&27!=e.which||s&&27==e.which)return 27==e.which&&n.find(r).trigger("focus"),i.trigger("click");var a=" li:not(.disabled):visible a",p=n.find('[role="menu"]'+a+', [role="listbox"]'+a);if(p.length){var l=p.index(e.target);38==e.which&&l>0&&l--,40==e.which&&l<p.length-1&&l++,~l||(l=0),p.eq(l).trigger("focus")}}}};var a=t.fn.dropdown;t.fn.dropdown=i,t.fn.dropdown.Constructor=s,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=a,this},t(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,s.prototype.toggle).on("keydown.bs.dropdown.data-api",r,s.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',s.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',s.prototype.keydown)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),n=i.data("bs.tooltip"),r="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||i.data("bs.tooltip",n=new o(this,r)),"string"==typeof e&&n[e]())})}var o=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",t,e)};o.VERSION="3.3.4",o.TRANSITION_DURATION=150,o.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},o.prototype.init=function(e,o,i){if(this.enabled=!0,this.type=e,this.$element=t(o),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&t(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),r=n.length;r--;){var s=n[r];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",p="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(p+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},o.prototype.getDefaults=function(){return o.DEFAULTS},o.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},o.prototype.getDelegateOptions=function(){var e={},o=this.getDefaults();return this._options&&t.each(this._options,function(t,i){o[t]!=i&&(e[t]=i)}),e},o.prototype.enter=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o&&o.$tip&&o.$tip.is(":visible")?void(o.hoverState="in"):(o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="in",o.options.delay&&o.options.delay.show?void(o.timeout=setTimeout(function(){"in"==o.hoverState&&o.show()},o.options.delay.show)):o.show())},o.prototype.leave=function(e){var o=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o)),clearTimeout(o.timeout),o.hoverState="out",o.options.delay&&o.options.delay.hide?void(o.timeout=setTimeout(function(){"out"==o.hoverState&&o.hide()},o.options.delay.hide)):o.hide()},o.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!i)return;var n=this,r=this.tip(),s=this.getUID(this.type);this.setContent(),r.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,p=/\s?auto?\s?/i,l=p.test(a);l&&(a=a.replace(p,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element);var h=this.getPosition(),d=r[0].offsetWidth,c=r[0].offsetHeight;if(l){var f=a,u=this.options.container?t(this.options.container):this.$element.parent(),g=this.getPosition(u);a="bottom"==a&&h.bottom+c>g.bottom?"top":"top"==a&&h.top-c<g.top?"bottom":"right"==a&&h.right+d>g.width?"left":"left"==a&&h.left-d<g.left?"right":a,r.removeClass(f).addClass(a)}var v=this.getCalculatedOffset(a,h,d,c);this.applyPlacement(v,a);var y=function(){var t=n.hoverState;n.$element.trigger("shown.bs."+n.type),n.hoverState=null,"out"==t&&n.leave(n)};t.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",y).emulateTransitionEnd(o.TRANSITION_DURATION):y()}},o.prototype.applyPlacement=function(e,o){var i=this.tip(),n=i[0].offsetWidth,r=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),e.top=e.top+s,e.left=e.left+a,t.offset.setOffset(i[0],t.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),i.addClass("in");var p=i[0].offsetWidth,l=i[0].offsetHeight;"top"==o&&l!=r&&(e.top=e.top+r-l);var h=this.getViewportAdjustedDelta(o,e,p,l);h.left?e.left+=h.left:e.top+=h.top;var d=/top|bottom/.test(o),c=d?2*h.left-n+p:2*h.top-r+l,f=d?"offsetWidth":"offsetHeight";i.offset(e),this.replaceArrow(c,i[0][f],d)},o.prototype.replaceArrow=function(t,e,o){this.arrow().css(o?"left":"top",50*(1-t/e)+"%").css(o?"top":"left","")},o.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},o.prototype.hide=function(e){function i(){"in"!=n.hoverState&&r.detach(),n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),e&&e()}var n=this,r=t(this.$tip),s=t.Event("hide.bs."+this.type);return this.$element.trigger(s),s.isDefaultPrevented()?void 0:(r.removeClass("in"),t.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i(),this.hoverState=null,this)},o.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},o.prototype.hasContent=function(){return this.getTitle()},o.prototype.getPosition=function(e){e=e||this.$element;var o=e[0],i="BODY"==o.tagName,n=o.getBoundingClientRect();null==n.width&&(n=t.extend({},n,{width:n.right-n.left,height:n.bottom-n.top}));var r=i?{top:0,left:0}:e.offset(),s={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},a=i?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},n,s,a,r)},o.prototype.getCalculatedOffset=function(t,e,o,i){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-o/2}:"top"==t?{top:e.top-i,left:e.left+e.width/2-o/2}:"left"==t?{top:e.top+e.height/2-i/2,left:e.left-o}:{top:e.top+e.height/2-i/2,left:e.left+e.width}},o.prototype.getViewportAdjustedDelta=function(t,e,o,i){var n={top:0,left:0};if(!this.$viewport)return n;var r=this.options.viewport&&this.options.viewport.padding||0,s=this.getPosition(this.$viewport);if(/right|left/.test(t)){var a=e.top-r-s.scroll,p=e.top+r-s.scroll+i;a<s.top?n.top=s.top-a:p>s.top+s.height&&(n.top=s.top+s.height-p)}else{var l=e.left-r,h=e.left+r+o;l<s.left?n.left=s.left-l:h>s.width&&(n.left=s.left+s.width-h)}return n},o.prototype.getTitle=function(){var t,e=this.$element,o=this.options;return t=e.attr("data-original-title")||("function"==typeof o.title?o.title.call(e[0]):o.title)},o.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},o.prototype.tip=function(){return this.$tip=this.$tip||t(this.options.template)},o.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},o.prototype.enable=function(){this.enabled=!0},o.prototype.disable=function(){this.enabled=!1},o.prototype.toggleEnabled=function(){this.enabled=!this.enabled},o.prototype.toggle=function(e){var o=this;e&&(o=t(e.currentTarget).data("bs."+this.type),o||(o=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,o))),o.tip().hasClass("in")?o.leave(o):o.enter(o)},o.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type)})};var i=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=o,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=i,this}}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var o in e)if(void 0!==t.style[o])return{end:e[o]};return!1}t.fn.emulateTransitionEnd=function(e){var o=!1,i=this;t(this).one("bsTransitionEnd",function(){o=!0});var n=function(){o||t(i).trigger(t.support.transition.end)};return setTimeout(n,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){return t(e.target).is(this)?e.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery);
1
  /*!
2
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2019 Twitter, Inc.
4
+ * Licensed under the MIT license
5
  */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(n){"use strict";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.1",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.1",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i="#"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(".dropdown-backdrop").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.1",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.1",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css("padding-right");a(e).data("padding-right",i).css("padding-right",parseFloat(o)+n+"px")}))},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data("padding-right");a(e).removeData("padding-right"),e.style.paddingRight=i||""})},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var o=["sanitize","whiteList","sanitizeFn"],a=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],t={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&"function"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument("sanitization");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find("*"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e["*"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.1",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);
 
 
 
 
 
js/formidable_admin.js CHANGED
@@ -3022,9 +3022,7 @@ function frmAdminBuildJS() {
3022
  function addImageToOption( event ) {
3023
  var fileFrame,
3024
  $this = jQuery( this ),
3025
- $field = $this.closest( '.frm-single-settings' ),
3026
  $imagePreview = $this.closest( '.frm_image_preview_wrapper' ),
3027
- fieldId = $field.data( 'fid' ),
3028
  postID = 0;
3029
 
3030
  event.preventDefault();
@@ -3040,7 +3038,7 @@ function frmAdminBuildJS() {
3040
 
3041
  fileFrame.on( 'select', function() {
3042
  const attachment = fileFrame.state().get( 'selection' ).first().toJSON();
3043
- $imagePreview.find( 'img' ).attr( 'src', attachment.url );
3044
  $imagePreview.find( '.frm_image_preview_frame' ).show();
3045
  $imagePreview.find( '.frm_image_preview_title' ).text( attachment.filename );
3046
  $imagePreview.siblings( 'input[name*="[label]"]' ).data( 'frmimgurl', attachment.url );
@@ -3054,8 +3052,6 @@ function frmAdminBuildJS() {
3054
 
3055
  function removeImageFromOption( event ) {
3056
  var $this = jQuery( this ),
3057
- $field = $this.closest( '.frm-single-settings' ),
3058
- fieldId = $field.data( 'fid' ),
3059
  previewWrapper = $this.closest( '.frm_image_preview_wrapper' );
3060
 
3061
  event.preventDefault();
@@ -5704,7 +5700,7 @@ function frmAdminBuildJS() {
5704
  button = $info.find( '.button-primary:not(#frm-oneclick-button)' );
5705
  link = button.attr( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + this.getAttribute( 'data-medium' ) );
5706
  content = this.getAttribute( 'data-content' );
5707
- if ( content === undefined ) {
5708
  content = '';
5709
  }
5710
  link = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );
@@ -9293,6 +9289,8 @@ function frmAdminBuildJS() {
9293
  },
9294
 
9295
  styleInit: function() {
 
 
9296
  collapseAllSections();
9297
 
9298
  document.getElementById( 'frm_field_height' ).addEventListener( 'change', textSquishCheck );
@@ -9301,8 +9299,13 @@ function frmAdminBuildJS() {
9301
 
9302
  jQuery( 'input.hex' ).wpColorPicker({
9303
  change: function( event ) {
9304
- var hexcolor = jQuery( this ).wpColorPicker( 'color' );
9305
- jQuery( event.target ).val( hexcolor ).trigger( 'change' );
 
 
 
 
 
9306
  }
9307
  });
9308
  jQuery( '.wp-color-result-text' ).text( function( i, oldText ) {
@@ -9326,7 +9329,7 @@ function frmAdminBuildJS() {
9326
  }
9327
 
9328
  // update styling on change
9329
- jQuery( '#frm_styling_form .styling_settings' ).on( 'change', debounce( changeStyling, 100 ) );
9330
 
9331
  // menu tabs
9332
  jQuery( '#menu-settings-column' ).on( 'click', function( e ) {
@@ -9411,6 +9414,9 @@ function frmAdminBuildJS() {
9411
  document.getElementById( 'frm_theme_css' ).value = themeVal;
9412
  return false;
9413
  }).trigger( 'change' );
 
 
 
9414
  },
9415
 
9416
  customCSSInit: function() {
3022
  function addImageToOption( event ) {
3023
  var fileFrame,
3024
  $this = jQuery( this ),
 
3025
  $imagePreview = $this.closest( '.frm_image_preview_wrapper' ),
 
3026
  postID = 0;
3027
 
3028
  event.preventDefault();
3038
 
3039
  fileFrame.on( 'select', function() {
3040
  const attachment = fileFrame.state().get( 'selection' ).first().toJSON();
3041
+ $imagePreview.find( 'img' ).attr( 'src', attachment.url ).removeClass( 'frm_hidden' );
3042
  $imagePreview.find( '.frm_image_preview_frame' ).show();
3043
  $imagePreview.find( '.frm_image_preview_title' ).text( attachment.filename );
3044
  $imagePreview.siblings( 'input[name*="[label]"]' ).data( 'frmimgurl', attachment.url );
3052
 
3053
  function removeImageFromOption( event ) {
3054
  var $this = jQuery( this ),
 
 
3055
  previewWrapper = $this.closest( '.frm_image_preview_wrapper' );
3056
 
3057
  event.preventDefault();
5700
  button = $info.find( '.button-primary:not(#frm-oneclick-button)' );
5701
  link = button.attr( 'href' ).replace( /(medium=)[a-z_-]+/ig, '$1' + this.getAttribute( 'data-medium' ) );
5702
  content = this.getAttribute( 'data-content' );
5703
+ if ( content === null ) {
5704
  content = '';
5705
  }
5706
  link = link.replace( /(content=)[a-z_-]+/ig, '$1' + content );
9289
  },
9290
 
9291
  styleInit: function() {
9292
+ const debouncedPreviewUpdate = debounce( changeStyling, 100 );
9293
+
9294
  collapseAllSections();
9295
 
9296
  document.getElementById( 'frm_field_height' ).addEventListener( 'change', textSquishCheck );
9299
 
9300
  jQuery( 'input.hex' ).wpColorPicker({
9301
  change: function( event ) {
9302
+ if ( null !== event.target.getAttribute( 'data-alpha-color-type' ) ) {
9303
+ debouncedPreviewUpdate();
9304
+ return;
9305
+ } else {
9306
+ const hexcolor = jQuery( this ).wpColorPicker( 'color' );
9307
+ jQuery( event.target ).val( hexcolor ).trigger( 'change' );
9308
+ }
9309
  }
9310
  });
9311
  jQuery( '.wp-color-result-text' ).text( function( i, oldText ) {
9329
  }
9330
 
9331
  // update styling on change
9332
+ jQuery( '#frm_styling_form .styling_settings' ).on( 'change', debouncedPreviewUpdate );
9333
 
9334
  // menu tabs
9335
  jQuery( '#menu-settings-column' ).on( 'click', function( e ) {
9414
  document.getElementById( 'frm_theme_css' ).value = themeVal;
9415
  return false;
9416
  }).trigger( 'change' );
9417
+
9418
+ jQuery( '.frm_image_preview_wrapper' ).on( 'click', '.frm_choose_image_box', addImageToOption );
9419
+ jQuery( '.frm_image_preview_wrapper' ).on( 'click', '.frm_remove_image_option', removeImageFromOption );
9420
  },
9421
 
9422
  customCSSInit: function() {
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 5.0.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: 2021-10-05T19:59:18+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: formidable\n"
@@ -198,7 +198,7 @@ msgstr ""
198
  #: classes/controllers/FrmAppController.php:165
199
  #: classes/controllers/FrmEntriesController.php:11
200
  #: classes/controllers/FrmEntriesController.php:100
201
- #: classes/controllers/FrmFormsController.php:772
202
  #: classes/controllers/FrmXMLController.php:259
203
  #: classes/views/xml/import_form.php:121
204
  msgid "Entries"
@@ -224,14 +224,14 @@ msgid "Build a Form"
224
  msgstr ""
225
 
226
  #: classes/controllers/FrmEntriesController.php:79
227
- #: classes/controllers/FrmFormsController.php:1318
228
  #: classes/views/frm-entries/form.php:63
229
  #: classes/views/frm-entries/sidebar-shared.php:57
230
  msgid "Entry Key"
231
  msgstr ""
232
 
233
  #: classes/controllers/FrmEntriesController.php:84
234
- #: classes/controllers/FrmFormsController.php:673
235
  #: classes/views/xml/import_form.php:152
236
  #: classes/widgets/FrmElementorWidget.php:37
237
  #: classes/widgets/FrmShowForm.php:59
@@ -322,7 +322,7 @@ msgid "You do not have permission to do that"
322
  msgstr ""
323
 
324
  #: classes/controllers/FrmFormsController.php:9
325
- #: classes/controllers/FrmFormsController.php:782
326
  #: classes/controllers/FrmStylesController.php:51
327
  #: classes/controllers/FrmXMLController.php:258
328
  #: classes/views/frm-forms/list.php:10
@@ -330,123 +330,124 @@ msgstr ""
330
  msgid "Forms"
331
  msgstr ""
332
 
333
- #: classes/controllers/FrmFormsController.php:47
334
- msgid "Conditional Logic options"
335
- msgstr ""
336
-
337
- #: classes/controllers/FrmFormsController.php:47
338
  msgid "Only show the fields you need and create branching forms. Upgrade to get conditional logic and question branching."
339
  msgstr ""
340
 
341
  #: classes/controllers/FrmFormsController.php:49
 
 
 
 
 
342
  msgid "Add Conditional Logic"
343
  msgstr ""
344
 
345
- #: classes/controllers/FrmFormsController.php:148
346
  msgid "Settings Successfully Updated"
347
  msgstr ""
348
 
349
- #: classes/controllers/FrmFormsController.php:184
350
- #: classes/controllers/FrmFormsController.php:991
351
  msgid "Form was successfully updated."
352
  msgstr ""
353
 
354
  #. translators: %1$s: Start link HTML, %2$s: end link HTML
355
- #: classes/controllers/FrmFormsController.php:189
356
  msgid "However, your form is very long and may be %1$sreaching server limits%2$s."
357
  msgstr ""
358
 
359
- #: classes/controllers/FrmFormsController.php:243
360
  #: deprecated/FrmDeprecated.php:414
361
  msgid "Form template was Successfully Created"
362
  msgstr ""
363
 
364
- #: classes/controllers/FrmFormsController.php:243
365
  msgid "Form was Successfully Copied"
366
  msgstr ""
367
 
368
- #: classes/controllers/FrmFormsController.php:247
369
  msgid "There was a problem creating the new template."
370
  msgstr ""
371
 
372
- #: classes/controllers/FrmFormsController.php:376
373
  msgid "Form Preview"
374
  msgstr ""
375
 
376
  #. translators: %1$s: Number of forms
377
- #: classes/controllers/FrmFormsController.php:421
378
- #: classes/controllers/FrmFormsController.php:482
379
  msgid "%1$s form restored from the Trash."
380
  msgid_plural "%1$s forms restored from the Trash."
381
  msgstr[0] ""
382
  msgstr[1] ""
383
 
384
  #. translators: %1$s: Number of forms, %2$s: Start link HTML, %3$s: End link HTML
385
- #: classes/controllers/FrmFormsController.php:485
386
- #: classes/controllers/FrmFormsController.php:510
387
  msgid "%1$s form moved to the Trash. %2$sUndo%3$s"
388
  msgid_plural "%1$s forms moved to the Trash. %2$sUndo%3$s"
389
  msgstr[0] ""
390
  msgstr[1] ""
391
 
392
  #. translators: %1$s: Number of forms
393
- #: classes/controllers/FrmFormsController.php:533
394
  msgid "%1$s Form Permanently Deleted"
395
  msgid_plural "%1$s Forms Permanently Deleted"
396
  msgstr[0] ""
397
  msgstr[1] ""
398
 
399
  #. translators: %1$s: Number of forms
400
- #: classes/controllers/FrmFormsController.php:550
401
- #: classes/controllers/FrmFormsController.php:567
402
  msgid "%1$s form permanently deleted."
403
  msgid_plural "%1$s forms permanently deleted."
404
  msgstr[0] ""
405
  msgstr[1] ""
406
 
407
- #: classes/controllers/FrmFormsController.php:613
408
  msgid "There was an error creating a template."
409
  msgstr ""
410
 
411
- #: classes/controllers/FrmFormsController.php:657
412
  msgid "Add forms and content"
413
  msgstr ""
414
 
415
- #: classes/controllers/FrmFormsController.php:674
416
  #: classes/views/frm-forms/insert_form_popup.php:33
417
  msgid "Insert a Form"
418
  msgstr ""
419
 
420
- #: classes/controllers/FrmFormsController.php:703
421
  msgid "Display form title"
422
  msgstr ""
423
 
424
- #: classes/controllers/FrmFormsController.php:707
425
  msgid "Display form description"
426
  msgstr ""
427
 
428
- #: classes/controllers/FrmFormsController.php:711
429
  msgid "Minimize form HTML"
430
  msgstr ""
431
 
432
- #: classes/controllers/FrmFormsController.php:767
433
  #: classes/views/frm-forms/new-form-overlay.php:46
434
  msgid "Template Name"
435
  msgstr ""
436
 
437
- #: classes/controllers/FrmFormsController.php:768
438
  #: classes/views/xml/import_form.php:120
439
  msgid "Type"
440
  msgstr ""
441
 
442
- #: classes/controllers/FrmFormsController.php:769
443
- #: classes/controllers/FrmFormsController.php:773
444
  #: classes/helpers/FrmCSVExportHelper.php:230
445
  #: classes/views/shared/mb_adv_info.php:98
446
  msgid "Key"
447
  msgstr ""
448
 
449
- #: classes/controllers/FrmFormsController.php:771
450
  #: classes/controllers/FrmStylesController.php:394
451
  #: classes/views/frm-forms/settings-advanced.php:13
452
  #: classes/views/styles/manage.php:39
@@ -455,184 +456,184 @@ msgstr ""
455
  msgid "Form Title"
456
  msgstr ""
457
 
458
- #: classes/controllers/FrmFormsController.php:774
459
  msgid "Shortcodes"
460
  msgstr ""
461
 
462
- #: classes/controllers/FrmFormsController.php:777
463
- #: classes/models/FrmField.php:86
464
  msgid "Date"
465
  msgstr ""
466
 
467
- #: classes/controllers/FrmFormsController.php:897
468
  #: classes/helpers/FrmFormsHelper.php:1258
469
  msgid "My Templates"
470
  msgstr ""
471
 
472
- #: classes/controllers/FrmFormsController.php:956
473
  msgid "You are trying to edit a form that does not exist."
474
  msgstr ""
475
 
476
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
477
- #: classes/controllers/FrmFormsController.php:961
478
  msgid "You are trying to edit a child form. Please edit from %1$shere%2$s"
479
  msgstr ""
480
 
481
- #: classes/controllers/FrmFormsController.php:993
482
  msgid "Template was successfully updated."
483
  msgstr ""
484
 
485
- #: classes/controllers/FrmFormsController.php:1067
486
  #: classes/controllers/FrmStylesController.php:393
487
  msgid "General"
488
  msgstr ""
489
 
490
- #: classes/controllers/FrmFormsController.php:1068
491
  msgid "General Form Settings"
492
  msgstr ""
493
 
494
- #: classes/controllers/FrmFormsController.php:1073
495
  msgid "Actions & Notifications"
496
  msgstr ""
497
 
498
- #: classes/controllers/FrmFormsController.php:1079
499
- #: classes/controllers/FrmFormsController.php:1084
500
  msgid "Form Permissions"
501
  msgstr ""
502
 
503
- #: classes/controllers/FrmFormsController.php:1085
504
  msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
505
  msgstr ""
506
 
507
- #: classes/controllers/FrmFormsController.php:1089
508
  msgid "Form Scheduling"
509
  msgstr ""
510
 
511
- #: classes/controllers/FrmFormsController.php:1094
512
  msgid "Form scheduling settings"
513
  msgstr ""
514
 
515
- #: classes/controllers/FrmFormsController.php:1098
516
  msgid "Styling & Buttons"
517
  msgstr ""
518
 
519
- #: classes/controllers/FrmFormsController.php:1104
520
  msgid "Customize HTML"
521
  msgstr ""
522
 
523
- #: classes/controllers/FrmFormsController.php:1234
524
  msgid "Customize field values with the following parameters."
525
  msgstr ""
526
 
527
- #: classes/controllers/FrmFormsController.php:1271
528
  msgid "Separator"
529
  msgstr ""
530
 
531
- #: classes/controllers/FrmFormsController.php:1272
532
  msgid "Use a different separator for checkbox fields"
533
  msgstr ""
534
 
535
- #: classes/controllers/FrmFormsController.php:1275
536
  msgid "Date Format"
537
  msgstr ""
538
 
539
- #: classes/controllers/FrmFormsController.php:1278
540
  #: classes/views/frm-fields/back-end/settings.php:27
541
  msgid "Field Label"
542
  msgstr ""
543
 
544
- #: classes/controllers/FrmFormsController.php:1281
545
  msgid "No Auto P"
546
  msgstr ""
547
 
548
- #: classes/controllers/FrmFormsController.php:1282
549
  msgid "Do not automatically add any paragraphs or line breaks"
550
  msgstr ""
551
 
552
- #: classes/controllers/FrmFormsController.php:1297
553
  #: classes/models/FrmField.php:62
554
  msgid "User ID"
555
  msgstr ""
556
 
557
- #: classes/controllers/FrmFormsController.php:1298
558
  msgid "First Name"
559
  msgstr ""
560
 
561
- #: classes/controllers/FrmFormsController.php:1299
562
  msgid "Last Name"
563
  msgstr ""
564
 
565
- #: classes/controllers/FrmFormsController.php:1300
566
  msgid "Display Name"
567
  msgstr ""
568
 
569
- #: classes/controllers/FrmFormsController.php:1301
570
  msgid "User Login"
571
  msgstr ""
572
 
573
- #: classes/controllers/FrmFormsController.php:1302
574
  #: classes/models/FrmField.php:34
575
  msgid "Email"
576
  msgstr ""
577
 
578
- #: classes/controllers/FrmFormsController.php:1303
579
  msgid "Avatar"
580
  msgstr ""
581
 
582
- #: classes/controllers/FrmFormsController.php:1304
583
  msgid "Author Link"
584
  msgstr ""
585
 
586
- #: classes/controllers/FrmFormsController.php:1317
587
  #: classes/views/frm-entries/sidebar-shared.php:51
588
  msgid "Entry ID"
589
  msgstr ""
590
 
591
- #: classes/controllers/FrmFormsController.php:1319
592
  msgid "Post ID"
593
  msgstr ""
594
 
595
- #: classes/controllers/FrmFormsController.php:1320
596
  msgid "User IP"
597
  msgstr ""
598
 
599
- #: classes/controllers/FrmFormsController.php:1321
600
  msgid "Entry created"
601
  msgstr ""
602
 
603
- #: classes/controllers/FrmFormsController.php:1322
604
  msgid "Entry updated"
605
  msgstr ""
606
 
607
- #: classes/controllers/FrmFormsController.php:1324
608
  msgid "Site URL"
609
  msgstr ""
610
 
611
- #: classes/controllers/FrmFormsController.php:1325
612
  msgid "Site Name"
613
  msgstr ""
614
 
615
- #: classes/controllers/FrmFormsController.php:1333
616
  msgid "Default Msg"
617
  msgstr ""
618
 
619
- #: classes/controllers/FrmFormsController.php:1334
620
  msgid "Default HTML"
621
  msgstr ""
622
 
623
- #: classes/controllers/FrmFormsController.php:1335
624
  msgid "Default Plain"
625
  msgstr ""
626
 
627
- #: classes/controllers/FrmFormsController.php:1438
628
  msgid "No forms were specified"
629
  msgstr ""
630
 
631
- #: classes/controllers/FrmFormsController.php:1550
632
  msgid "Abnormal HTML characters prevented your form from saving correctly"
633
  msgstr ""
634
 
635
- #: classes/controllers/FrmFormsController.php:1665
636
  #: classes/helpers/FrmFormsHelper.php:57
637
  #: classes/helpers/FrmFormsHelper.php:112
638
  #: classes/helpers/FrmFormsHelper.php:166
@@ -645,17 +646,17 @@ msgstr ""
645
  msgid "(no title)"
646
  msgstr ""
647
 
648
- #: classes/controllers/FrmFormsController.php:1711
649
- #: classes/controllers/FrmFormsController.php:1725
650
  msgid "Please select a valid form"
651
  msgstr ""
652
 
653
- #: classes/controllers/FrmFormsController.php:1947
654
  msgid "Please wait while you are redirected."
655
  msgstr ""
656
 
657
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
658
- #: classes/controllers/FrmFormsController.php:1983
659
  msgid "%1$sClick here%2$s if you are not automatically redirected."
660
  msgstr ""
661
 
@@ -1220,7 +1221,7 @@ msgstr ""
1220
  #: classes/views/frm-forms/new-form-overlay.php:139
1221
  #: classes/views/shared/admin-header.php:64
1222
  #: classes/views/shared/confirm-overlay.php:19
1223
- #: js/formidable_admin.js:3680
1224
  msgid "Cancel"
1225
  msgstr ""
1226
 
@@ -1247,7 +1248,7 @@ msgstr ""
1247
 
1248
  #: classes/helpers/FrmAppHelper.php:2527
1249
  #: classes/helpers/FrmListHelper.php:405
1250
- #: js/formidable_admin.js:4072
1251
  msgid "Heads up"
1252
  msgstr ""
1253
 
@@ -3140,7 +3141,7 @@ msgid "This will permanently delete the form and all its entries. This is irreve
3140
  msgstr ""
3141
 
3142
  #: classes/helpers/FrmFormsHelper.php:1153
3143
- #: classes/models/FrmField.php:203
3144
  msgid "Total"
3145
  msgstr ""
3146
 
@@ -3425,8 +3426,10 @@ msgstr ""
3425
  #: classes/helpers/FrmTipsHelper.php:92
3426
  #: classes/helpers/FrmTipsHelper.php:154
3427
  #: classes/helpers/FrmTipsHelper.php:162
3428
- #: classes/helpers/FrmTipsHelper.php:256
3429
- #: classes/helpers/FrmTipsHelper.php:280
 
 
3430
  msgid "Upgrade to Pro."
3431
  msgstr ""
3432
 
@@ -3463,7 +3466,7 @@ msgid "Fill out forms automatically!"
3463
  msgstr ""
3464
 
3465
  #: classes/helpers/FrmTipsHelper.php:114
3466
- #: classes/helpers/FrmTipsHelper.php:263
3467
  msgid "A site with dynamic, user-generated content is within reach."
3468
  msgstr ""
3469
 
@@ -3564,47 +3567,55 @@ msgstr ""
3564
  msgid "Use multiple style templates."
3565
  msgstr ""
3566
 
3567
- #: classes/helpers/FrmTipsHelper.php:247
3568
- msgid "Want to edit form submissions?"
3569
  msgstr ""
3570
 
3571
  #: classes/helpers/FrmTipsHelper.php:248
 
 
 
 
 
 
 
 
3572
  msgid "Add entry management."
3573
  msgstr ""
3574
 
3575
- #: classes/helpers/FrmTipsHelper.php:255
3576
  msgid "Want to search submitted entries?"
3577
  msgstr ""
3578
 
3579
- #: classes/helpers/FrmTipsHelper.php:264
3580
  msgid "Display form data with Views."
3581
  msgstr ""
3582
 
3583
- #: classes/helpers/FrmTipsHelper.php:279
3584
  msgid "Want to import entries into your forms?"
3585
  msgstr ""
3586
 
3587
- #: classes/helpers/FrmTipsHelper.php:294
3588
  msgid "Looking for more ways to get professional results?"
3589
  msgstr ""
3590
 
3591
- #: classes/helpers/FrmTipsHelper.php:295
3592
  msgid "Take your forms to the next level."
3593
  msgstr ""
3594
 
3595
- #: classes/helpers/FrmTipsHelper.php:302
3596
  msgid "Increase conversions in long forms."
3597
  msgstr ""
3598
 
3599
- #: classes/helpers/FrmTipsHelper.php:303
3600
  msgid "Add conditional logic, page breaks, and section headings."
3601
  msgstr ""
3602
 
3603
- #: classes/helpers/FrmTipsHelper.php:310
3604
  msgid "Automate your business and increase revenue."
3605
  msgstr ""
3606
 
3607
- #: classes/helpers/FrmTipsHelper.php:311
3608
  msgid "Collect instant payments, and send leads to MailChimp."
3609
  msgstr ""
3610
 
@@ -3958,108 +3969,108 @@ msgstr ""
3958
  msgid "reCAPTCHA"
3959
  msgstr ""
3960
 
3961
- #: classes/models/FrmField.php:77
3962
  msgid "File Upload"
3963
  msgstr ""
3964
 
3965
- #: classes/models/FrmField.php:82
3966
  msgid "Rich Text"
3967
  msgstr ""
3968
 
3969
- #: classes/models/FrmField.php:90
3970
  msgid "Time"
3971
  msgstr ""
3972
 
3973
- #: classes/models/FrmField.php:94
3974
  msgid "Scale"
3975
  msgstr ""
3976
 
3977
- #: classes/models/FrmField.php:99
3978
  msgid "Star Rating"
3979
  msgstr ""
3980
 
3981
- #: classes/models/FrmField.php:103
3982
  msgid "Slider"
3983
  msgstr ""
3984
 
3985
- #: classes/models/FrmField.php:107
3986
  msgid "Toggle"
3987
  msgstr ""
3988
 
3989
- #: classes/models/FrmField.php:111
3990
  msgid "Dynamic"
3991
  msgstr ""
3992
 
3993
- #: classes/models/FrmField.php:116
3994
  msgid "Lookup"
3995
  msgstr ""
3996
 
3997
- #: classes/models/FrmField.php:121
3998
  msgid "Repeater"
3999
  msgstr ""
4000
 
4001
- #: classes/models/FrmField.php:126
4002
  #: classes/models/FrmFormMigrator.php:302
4003
  msgid "Section Buttons"
4004
  msgstr ""
4005
 
4006
- #: classes/models/FrmField.php:130
4007
  msgid "Section"
4008
  msgstr ""
4009
 
4010
- #: classes/models/FrmField.php:134
4011
  msgid "Page Break"
4012
  msgstr ""
4013
 
4014
- #: classes/models/FrmField.php:139
4015
  msgid "Embed Form"
4016
  msgstr ""
4017
 
4018
- #: classes/models/FrmField.php:143
4019
  msgid "Likert Scale"
4020
  msgstr ""
4021
 
4022
- #: classes/models/FrmField.php:148
4023
  msgid "NPS"
4024
  msgstr ""
4025
 
4026
- #: classes/models/FrmField.php:153
4027
  msgid "Password"
4028
  msgstr ""
4029
 
4030
- #: classes/models/FrmField.php:157
4031
  msgid "Tags"
4032
  msgstr ""
4033
 
4034
- #: classes/models/FrmField.php:161
4035
  msgid "Credit Card"
4036
  msgstr ""
4037
 
4038
- #: classes/models/FrmField.php:166
4039
  msgid "Address"
4040
  msgstr ""
4041
 
4042
- #: classes/models/FrmField.php:170
4043
  msgid "Summary"
4044
  msgstr ""
4045
 
4046
- #: classes/models/FrmField.php:175
4047
  msgid "Signature"
4048
  msgstr ""
4049
 
4050
- #: classes/models/FrmField.php:180
4051
  msgid "Quiz Score"
4052
  msgstr ""
4053
 
4054
- #: classes/models/FrmField.php:185
4055
  msgid "Appointment"
4056
  msgstr ""
4057
 
4058
- #: classes/models/FrmField.php:193
4059
  msgid "Product"
4060
  msgstr ""
4061
 
4062
- #: classes/models/FrmField.php:198
4063
  msgid "Quantity"
4064
  msgstr ""
4065
 
@@ -4206,7 +4217,7 @@ msgstr ""
4206
  msgid "You do not have permission to view this form."
4207
  msgstr ""
4208
 
4209
- #: classes/models/FrmSettings.php:178
4210
  msgid "The reCAPTCHA was not entered correctly"
4211
  msgstr ""
4212
 
@@ -4484,7 +4495,7 @@ msgstr ""
4484
  #: classes/views/frm-fields/back-end/inline-modal.php:7
4485
  #: classes/views/frm-fields/back-end/inline-modal.php:8
4486
  #: classes/views/shared/admin-header.php:19
4487
- #: js/formidable_admin.js:7645
4488
  msgid "Close"
4489
  msgstr ""
4490
 
@@ -5852,7 +5863,7 @@ msgstr ""
5852
  #: classes/views/styles/_field-colors.php:111
5853
  #: classes/views/styles/_form-messages.php:12
5854
  #: classes/views/styles/_form-messages.php:32
5855
- #: classes/views/styles/_general.php:46
5856
  msgid "Border"
5857
  msgstr ""
5858
 
@@ -5880,7 +5891,7 @@ msgstr ""
5880
  #: classes/views/styles/_field-labels.php:50
5881
  #: classes/views/styles/_field-sizes.php:27
5882
  #: classes/views/styles/_form-description.php:24
5883
- #: classes/views/styles/_general.php:56
5884
  msgid "Padding"
5885
  msgstr ""
5886
 
@@ -5916,7 +5927,7 @@ msgstr ""
5916
  #: classes/views/styles/_field-labels.php:58
5917
  #: classes/views/styles/_form-description.php:12
5918
  #: classes/views/styles/_form-title.php:12
5919
- #: classes/views/styles/_general.php:51
5920
  msgid "Color"
5921
  msgstr ""
5922
 
@@ -6032,19 +6043,27 @@ msgstr ""
6032
  msgid "Background"
6033
  msgstr ""
6034
 
6035
- #: classes/views/styles/_general.php:61
 
 
 
 
 
 
 
 
6036
  msgid "Font Family"
6037
  msgstr ""
6038
 
6039
- #: classes/views/styles/_general.php:66
6040
  msgid "Direction"
6041
  msgstr ""
6042
 
6043
- #: classes/views/styles/_general.php:69
6044
  msgid "Left to Right"
6045
  msgstr ""
6046
 
6047
- #: classes/views/styles/_general.php:72
6048
  msgid "Right to Left"
6049
  msgstr ""
6050
 
@@ -6288,39 +6307,39 @@ msgstr ""
6288
  msgid "Duplicate Group"
6289
  msgstr ""
6290
 
6291
- #: js/formidable_admin.js:3377
6292
  msgid "Custom layout"
6293
  msgstr ""
6294
 
6295
- #: js/formidable_admin.js:3400
6296
  msgid "Break into rows"
6297
  msgstr ""
6298
 
6299
- #: js/formidable_admin.js:3410
6300
  msgid "Row Layout"
6301
  msgstr ""
6302
 
6303
- #: js/formidable_admin.js:3665
6304
  msgid "Enter number of columns for each field"
6305
  msgstr ""
6306
 
6307
- #: js/formidable_admin.js:3669
6308
  msgid "Layouts are based on a 12-column grid system"
6309
  msgstr ""
6310
 
6311
- #: js/formidable_admin.js:3685
6312
  msgid "Save"
6313
  msgstr ""
6314
 
6315
- #: js/formidable_admin.js:3986
6316
  msgid "Merge into row"
6317
  msgstr ""
6318
 
6319
  #. translators: %1$s: Number of fields that are selected to be deleted.
6320
- #: js/formidable_admin.js:4074
6321
  msgid "Are you sure you want to delete these %1$s selected fields?"
6322
  msgstr ""
6323
 
6324
- #: js/formidable_admin.js:7637
6325
  msgid "Save and Reload"
6326
  msgstr ""
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Formidable Forms 5.0.08\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: 2021-10-07T12:48:23+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: formidable\n"
198
  #: classes/controllers/FrmAppController.php:165
199
  #: classes/controllers/FrmEntriesController.php:11
200
  #: classes/controllers/FrmEntriesController.php:100
201
+ #: classes/controllers/FrmFormsController.php:760
202
  #: classes/controllers/FrmXMLController.php:259
203
  #: classes/views/xml/import_form.php:121
204
  msgid "Entries"
224
  msgstr ""
225
 
226
  #: classes/controllers/FrmEntriesController.php:79
227
+ #: classes/controllers/FrmFormsController.php:1306
228
  #: classes/views/frm-entries/form.php:63
229
  #: classes/views/frm-entries/sidebar-shared.php:57
230
  msgid "Entry Key"
231
  msgstr ""
232
 
233
  #: classes/controllers/FrmEntriesController.php:84
234
+ #: classes/controllers/FrmFormsController.php:661
235
  #: classes/views/xml/import_form.php:152
236
  #: classes/widgets/FrmElementorWidget.php:37
237
  #: classes/widgets/FrmShowForm.php:59
322
  msgstr ""
323
 
324
  #: classes/controllers/FrmFormsController.php:9
325
+ #: classes/controllers/FrmFormsController.php:770
326
  #: classes/controllers/FrmStylesController.php:51
327
  #: classes/controllers/FrmXMLController.php:258
328
  #: classes/views/frm-forms/list.php:10
330
  msgid "Forms"
331
  msgstr ""
332
 
333
+ #: classes/controllers/FrmFormsController.php:48
 
 
 
 
334
  msgid "Only show the fields you need and create branching forms. Upgrade to get conditional logic and question branching."
335
  msgstr ""
336
 
337
  #: classes/controllers/FrmFormsController.php:49
338
+ #: classes/controllers/FrmFormsController.php:50
339
+ msgid "Conditional Logic options"
340
+ msgstr ""
341
+
342
+ #: classes/controllers/FrmFormsController.php:52
343
  msgid "Add Conditional Logic"
344
  msgstr ""
345
 
346
+ #: classes/controllers/FrmFormsController.php:151
347
  msgid "Settings Successfully Updated"
348
  msgstr ""
349
 
350
+ #: classes/controllers/FrmFormsController.php:187
351
+ #: classes/controllers/FrmFormsController.php:979
352
  msgid "Form was successfully updated."
353
  msgstr ""
354
 
355
  #. translators: %1$s: Start link HTML, %2$s: end link HTML
356
+ #: classes/controllers/FrmFormsController.php:192
357
  msgid "However, your form is very long and may be %1$sreaching server limits%2$s."
358
  msgstr ""
359
 
360
+ #: classes/controllers/FrmFormsController.php:246
361
  #: deprecated/FrmDeprecated.php:414
362
  msgid "Form template was Successfully Created"
363
  msgstr ""
364
 
365
+ #: classes/controllers/FrmFormsController.php:246
366
  msgid "Form was Successfully Copied"
367
  msgstr ""
368
 
369
+ #: classes/controllers/FrmFormsController.php:250
370
  msgid "There was a problem creating the new template."
371
  msgstr ""
372
 
373
+ #: classes/controllers/FrmFormsController.php:364
374
  msgid "Form Preview"
375
  msgstr ""
376
 
377
  #. translators: %1$s: Number of forms
378
+ #: classes/controllers/FrmFormsController.php:409
379
+ #: classes/controllers/FrmFormsController.php:470
380
  msgid "%1$s form restored from the Trash."
381
  msgid_plural "%1$s forms restored from the Trash."
382
  msgstr[0] ""
383
  msgstr[1] ""
384
 
385
  #. translators: %1$s: Number of forms, %2$s: Start link HTML, %3$s: End link HTML
386
+ #: classes/controllers/FrmFormsController.php:473
387
+ #: classes/controllers/FrmFormsController.php:498
388
  msgid "%1$s form moved to the Trash. %2$sUndo%3$s"
389
  msgid_plural "%1$s forms moved to the Trash. %2$sUndo%3$s"
390
  msgstr[0] ""
391
  msgstr[1] ""
392
 
393
  #. translators: %1$s: Number of forms
394
+ #: classes/controllers/FrmFormsController.php:521
395
  msgid "%1$s Form Permanently Deleted"
396
  msgid_plural "%1$s Forms Permanently Deleted"
397
  msgstr[0] ""
398
  msgstr[1] ""
399
 
400
  #. translators: %1$s: Number of forms
401
+ #: classes/controllers/FrmFormsController.php:538
402
+ #: classes/controllers/FrmFormsController.php:555
403
  msgid "%1$s form permanently deleted."
404
  msgid_plural "%1$s forms permanently deleted."
405
  msgstr[0] ""
406
  msgstr[1] ""
407
 
408
+ #: classes/controllers/FrmFormsController.php:601
409
  msgid "There was an error creating a template."
410
  msgstr ""
411
 
412
+ #: classes/controllers/FrmFormsController.php:645
413
  msgid "Add forms and content"
414
  msgstr ""
415
 
416
+ #: classes/controllers/FrmFormsController.php:662
417
  #: classes/views/frm-forms/insert_form_popup.php:33
418
  msgid "Insert a Form"
419
  msgstr ""
420
 
421
+ #: classes/controllers/FrmFormsController.php:691
422
  msgid "Display form title"
423
  msgstr ""
424
 
425
+ #: classes/controllers/FrmFormsController.php:695
426
  msgid "Display form description"
427
  msgstr ""
428
 
429
+ #: classes/controllers/FrmFormsController.php:699
430
  msgid "Minimize form HTML"
431
  msgstr ""
432
 
433
+ #: classes/controllers/FrmFormsController.php:755
434
  #: classes/views/frm-forms/new-form-overlay.php:46
435
  msgid "Template Name"
436
  msgstr ""
437
 
438
+ #: classes/controllers/FrmFormsController.php:756
439
  #: classes/views/xml/import_form.php:120
440
  msgid "Type"
441
  msgstr ""
442
 
443
+ #: classes/controllers/FrmFormsController.php:757
444
+ #: classes/controllers/FrmFormsController.php:761
445
  #: classes/helpers/FrmCSVExportHelper.php:230
446
  #: classes/views/shared/mb_adv_info.php:98
447
  msgid "Key"
448
  msgstr ""
449
 
450
+ #: classes/controllers/FrmFormsController.php:759
451
  #: classes/controllers/FrmStylesController.php:394
452
  #: classes/views/frm-forms/settings-advanced.php:13
453
  #: classes/views/styles/manage.php:39
456
  msgid "Form Title"
457
  msgstr ""
458
 
459
+ #: classes/controllers/FrmFormsController.php:762
460
  msgid "Shortcodes"
461
  msgstr ""
462
 
463
+ #: classes/controllers/FrmFormsController.php:765
464
+ #: classes/models/FrmField.php:87
465
  msgid "Date"
466
  msgstr ""
467
 
468
+ #: classes/controllers/FrmFormsController.php:885
469
  #: classes/helpers/FrmFormsHelper.php:1258
470
  msgid "My Templates"
471
  msgstr ""
472
 
473
+ #: classes/controllers/FrmFormsController.php:944
474
  msgid "You are trying to edit a form that does not exist."
475
  msgstr ""
476
 
477
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
478
+ #: classes/controllers/FrmFormsController.php:949
479
  msgid "You are trying to edit a child form. Please edit from %1$shere%2$s"
480
  msgstr ""
481
 
482
+ #: classes/controllers/FrmFormsController.php:981
483
  msgid "Template was successfully updated."
484
  msgstr ""
485
 
486
+ #: classes/controllers/FrmFormsController.php:1055
487
  #: classes/controllers/FrmStylesController.php:393
488
  msgid "General"
489
  msgstr ""
490
 
491
+ #: classes/controllers/FrmFormsController.php:1056
492
  msgid "General Form Settings"
493
  msgstr ""
494
 
495
+ #: classes/controllers/FrmFormsController.php:1061
496
  msgid "Actions & Notifications"
497
  msgstr ""
498
 
499
+ #: classes/controllers/FrmFormsController.php:1067
500
+ #: classes/controllers/FrmFormsController.php:1072
501
  msgid "Form Permissions"
502
  msgstr ""
503
 
504
+ #: classes/controllers/FrmFormsController.php:1073
505
  msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
506
  msgstr ""
507
 
508
+ #: classes/controllers/FrmFormsController.php:1077
509
  msgid "Form Scheduling"
510
  msgstr ""
511
 
512
+ #: classes/controllers/FrmFormsController.php:1082
513
  msgid "Form scheduling settings"
514
  msgstr ""
515
 
516
+ #: classes/controllers/FrmFormsController.php:1086
517
  msgid "Styling & Buttons"
518
  msgstr ""
519
 
520
+ #: classes/controllers/FrmFormsController.php:1092
521
  msgid "Customize HTML"
522
  msgstr ""
523
 
524
+ #: classes/controllers/FrmFormsController.php:1222
525
  msgid "Customize field values with the following parameters."
526
  msgstr ""
527
 
528
+ #: classes/controllers/FrmFormsController.php:1259
529
  msgid "Separator"
530
  msgstr ""
531
 
532
+ #: classes/controllers/FrmFormsController.php:1260
533
  msgid "Use a different separator for checkbox fields"
534
  msgstr ""
535
 
536
+ #: classes/controllers/FrmFormsController.php:1263
537
  msgid "Date Format"
538
  msgstr ""
539
 
540
+ #: classes/controllers/FrmFormsController.php:1266
541
  #: classes/views/frm-fields/back-end/settings.php:27
542
  msgid "Field Label"
543
  msgstr ""
544
 
545
+ #: classes/controllers/FrmFormsController.php:1269
546
  msgid "No Auto P"
547
  msgstr ""
548
 
549
+ #: classes/controllers/FrmFormsController.php:1270
550
  msgid "Do not automatically add any paragraphs or line breaks"
551
  msgstr ""
552
 
553
+ #: classes/controllers/FrmFormsController.php:1285
554
  #: classes/models/FrmField.php:62
555
  msgid "User ID"
556
  msgstr ""
557
 
558
+ #: classes/controllers/FrmFormsController.php:1286
559
  msgid "First Name"
560
  msgstr ""
561
 
562
+ #: classes/controllers/FrmFormsController.php:1287
563
  msgid "Last Name"
564
  msgstr ""
565
 
566
+ #: classes/controllers/FrmFormsController.php:1288
567
  msgid "Display Name"
568
  msgstr ""
569
 
570
+ #: classes/controllers/FrmFormsController.php:1289
571
  msgid "User Login"
572
  msgstr ""
573
 
574
+ #: classes/controllers/FrmFormsController.php:1290
575
  #: classes/models/FrmField.php:34
576
  msgid "Email"
577
  msgstr ""
578
 
579
+ #: classes/controllers/FrmFormsController.php:1291
580
  msgid "Avatar"
581
  msgstr ""
582
 
583
+ #: classes/controllers/FrmFormsController.php:1292
584
  msgid "Author Link"
585
  msgstr ""
586
 
587
+ #: classes/controllers/FrmFormsController.php:1305
588
  #: classes/views/frm-entries/sidebar-shared.php:51
589
  msgid "Entry ID"
590
  msgstr ""
591
 
592
+ #: classes/controllers/FrmFormsController.php:1307
593
  msgid "Post ID"
594
  msgstr ""
595
 
596
+ #: classes/controllers/FrmFormsController.php:1308
597
  msgid "User IP"
598
  msgstr ""
599
 
600
+ #: classes/controllers/FrmFormsController.php:1309
601
  msgid "Entry created"
602
  msgstr ""
603
 
604
+ #: classes/controllers/FrmFormsController.php:1310
605
  msgid "Entry updated"
606
  msgstr ""
607
 
608
+ #: classes/controllers/FrmFormsController.php:1312
609
  msgid "Site URL"
610
  msgstr ""
611
 
612
+ #: classes/controllers/FrmFormsController.php:1313
613
  msgid "Site Name"
614
  msgstr ""
615
 
616
+ #: classes/controllers/FrmFormsController.php:1321
617
  msgid "Default Msg"
618
  msgstr ""
619
 
620
+ #: classes/controllers/FrmFormsController.php:1322
621
  msgid "Default HTML"
622
  msgstr ""
623
 
624
+ #: classes/controllers/FrmFormsController.php:1323
625
  msgid "Default Plain"
626
  msgstr ""
627
 
628
+ #: classes/controllers/FrmFormsController.php:1426
629
  msgid "No forms were specified"
630
  msgstr ""
631
 
632
+ #: classes/controllers/FrmFormsController.php:1538
633
  msgid "Abnormal HTML characters prevented your form from saving correctly"
634
  msgstr ""
635
 
636
+ #: classes/controllers/FrmFormsController.php:1653
637
  #: classes/helpers/FrmFormsHelper.php:57
638
  #: classes/helpers/FrmFormsHelper.php:112
639
  #: classes/helpers/FrmFormsHelper.php:166
646
  msgid "(no title)"
647
  msgstr ""
648
 
649
+ #: classes/controllers/FrmFormsController.php:1699
650
+ #: classes/controllers/FrmFormsController.php:1713
651
  msgid "Please select a valid form"
652
  msgstr ""
653
 
654
+ #: classes/controllers/FrmFormsController.php:1935
655
  msgid "Please wait while you are redirected."
656
  msgstr ""
657
 
658
  #. translators: %1$s: Start link HTML, %2$s: End link HTML
659
+ #: classes/controllers/FrmFormsController.php:1971
660
  msgid "%1$sClick here%2$s if you are not automatically redirected."
661
  msgstr ""
662
 
1221
  #: classes/views/frm-forms/new-form-overlay.php:139
1222
  #: classes/views/shared/admin-header.php:64
1223
  #: classes/views/shared/confirm-overlay.php:19
1224
+ #: js/formidable_admin.js:3676
1225
  msgid "Cancel"
1226
  msgstr ""
1227
 
1248
 
1249
  #: classes/helpers/FrmAppHelper.php:2527
1250
  #: classes/helpers/FrmListHelper.php:405
1251
+ #: js/formidable_admin.js:4068
1252
  msgid "Heads up"
1253
  msgstr ""
1254
 
3141
  msgstr ""
3142
 
3143
  #: classes/helpers/FrmFormsHelper.php:1153
3144
+ #: classes/models/FrmField.php:204
3145
  msgid "Total"
3146
  msgstr ""
3147
 
3426
  #: classes/helpers/FrmTipsHelper.php:92
3427
  #: classes/helpers/FrmTipsHelper.php:154
3428
  #: classes/helpers/FrmTipsHelper.php:162
3429
+ #: classes/helpers/FrmTipsHelper.php:241
3430
+ #: classes/helpers/FrmTipsHelper.php:249
3431
+ #: classes/helpers/FrmTipsHelper.php:272
3432
+ #: classes/helpers/FrmTipsHelper.php:296
3433
  msgid "Upgrade to Pro."
3434
  msgstr ""
3435
 
3466
  msgstr ""
3467
 
3468
  #: classes/helpers/FrmTipsHelper.php:114
3469
+ #: classes/helpers/FrmTipsHelper.php:279
3470
  msgid "A site with dynamic, user-generated content is within reach."
3471
  msgstr ""
3472
 
3567
  msgid "Use multiple style templates."
3568
  msgstr ""
3569
 
3570
+ #: classes/helpers/FrmTipsHelper.php:240
3571
+ msgid "Want to add a background image?"
3572
  msgstr ""
3573
 
3574
  #: classes/helpers/FrmTipsHelper.php:248
3575
+ msgid "Want to set a color with an alpha slider?"
3576
+ msgstr ""
3577
+
3578
+ #: classes/helpers/FrmTipsHelper.php:263
3579
+ msgid "Want to edit form submissions?"
3580
+ msgstr ""
3581
+
3582
+ #: classes/helpers/FrmTipsHelper.php:264
3583
  msgid "Add entry management."
3584
  msgstr ""
3585
 
3586
+ #: classes/helpers/FrmTipsHelper.php:271
3587
  msgid "Want to search submitted entries?"
3588
  msgstr ""
3589
 
3590
+ #: classes/helpers/FrmTipsHelper.php:280
3591
  msgid "Display form data with Views."
3592
  msgstr ""
3593
 
3594
+ #: classes/helpers/FrmTipsHelper.php:295
3595
  msgid "Want to import entries into your forms?"
3596
  msgstr ""
3597
 
3598
+ #: classes/helpers/FrmTipsHelper.php:310
3599
  msgid "Looking for more ways to get professional results?"
3600
  msgstr ""
3601
 
3602
+ #: classes/helpers/FrmTipsHelper.php:311
3603
  msgid "Take your forms to the next level."
3604
  msgstr ""
3605
 
3606
+ #: classes/helpers/FrmTipsHelper.php:318
3607
  msgid "Increase conversions in long forms."
3608
  msgstr ""
3609
 
3610
+ #: classes/helpers/FrmTipsHelper.php:319
3611
  msgid "Add conditional logic, page breaks, and section headings."
3612
  msgstr ""
3613
 
3614
+ #: classes/helpers/FrmTipsHelper.php:326
3615
  msgid "Automate your business and increase revenue."
3616
  msgstr ""
3617
 
3618
+ #: classes/helpers/FrmTipsHelper.php:327
3619
  msgid "Collect instant payments, and send leads to MailChimp."
3620
  msgstr ""
3621
 
3969
  msgid "reCAPTCHA"
3970
  msgstr ""
3971
 
3972
+ #: classes/models/FrmField.php:78
3973
  msgid "File Upload"
3974
  msgstr ""
3975
 
3976
+ #: classes/models/FrmField.php:83
3977
  msgid "Rich Text"
3978
  msgstr ""
3979
 
3980
+ #: classes/models/FrmField.php:91
3981
  msgid "Time"
3982
  msgstr ""
3983
 
3984
+ #: classes/models/FrmField.php:95
3985
  msgid "Scale"
3986
  msgstr ""
3987
 
3988
+ #: classes/models/FrmField.php:100
3989
  msgid "Star Rating"
3990
  msgstr ""
3991
 
3992
+ #: classes/models/FrmField.php:104
3993
  msgid "Slider"
3994
  msgstr ""
3995
 
3996
+ #: classes/models/FrmField.php:108
3997
  msgid "Toggle"
3998
  msgstr ""
3999
 
4000
+ #: classes/models/FrmField.php:112
4001
  msgid "Dynamic"
4002
  msgstr ""
4003
 
4004
+ #: classes/models/FrmField.php:117
4005
  msgid "Lookup"
4006
  msgstr ""
4007
 
4008
+ #: classes/models/FrmField.php:122
4009
  msgid "Repeater"
4010
  msgstr ""
4011
 
4012
+ #: classes/models/FrmField.php:127
4013
  #: classes/models/FrmFormMigrator.php:302
4014
  msgid "Section Buttons"
4015
  msgstr ""
4016
 
4017
+ #: classes/models/FrmField.php:131
4018
  msgid "Section"
4019
  msgstr ""
4020
 
4021
+ #: classes/models/FrmField.php:135
4022
  msgid "Page Break"
4023
  msgstr ""
4024
 
4025
+ #: classes/models/FrmField.php:140
4026
  msgid "Embed Form"
4027
  msgstr ""
4028
 
4029
+ #: classes/models/FrmField.php:144
4030
  msgid "Likert Scale"
4031
  msgstr ""
4032
 
4033
+ #: classes/models/FrmField.php:149
4034
  msgid "NPS"
4035
  msgstr ""
4036
 
4037
+ #: classes/models/FrmField.php:154
4038
  msgid "Password"
4039
  msgstr ""
4040
 
4041
+ #: classes/models/FrmField.php:158
4042
  msgid "Tags"
4043
  msgstr ""
4044
 
4045
+ #: classes/models/FrmField.php:162
4046
  msgid "Credit Card"
4047
  msgstr ""
4048
 
4049
+ #: classes/models/FrmField.php:167
4050
  msgid "Address"
4051
  msgstr ""
4052
 
4053
+ #: classes/models/FrmField.php:171
4054
  msgid "Summary"
4055
  msgstr ""
4056
 
4057
+ #: classes/models/FrmField.php:176
4058
  msgid "Signature"
4059
  msgstr ""
4060
 
4061
+ #: classes/models/FrmField.php:181
4062
  msgid "Quiz Score"
4063
  msgstr ""
4064
 
4065
+ #: classes/models/FrmField.php:186
4066
  msgid "Appointment"
4067
  msgstr ""
4068
 
4069
+ #: classes/models/FrmField.php:194
4070
  msgid "Product"
4071
  msgstr ""
4072
 
4073
+ #: classes/models/FrmField.php:199
4074
  msgid "Quantity"
4075
  msgstr ""
4076
 
4217
  msgid "You do not have permission to view this form."
4218
  msgstr ""
4219
 
4220
+ #: classes/models/FrmSettings.php:195
4221
  msgid "The reCAPTCHA was not entered correctly"
4222
  msgstr ""
4223
 
4495
  #: classes/views/frm-fields/back-end/inline-modal.php:7
4496
  #: classes/views/frm-fields/back-end/inline-modal.php:8
4497
  #: classes/views/shared/admin-header.php:19
4498
+ #: js/formidable_admin.js:7641
4499
  msgid "Close"
4500
  msgstr ""
4501
 
5863
  #: classes/views/styles/_field-colors.php:111
5864
  #: classes/views/styles/_form-messages.php:12
5865
  #: classes/views/styles/_form-messages.php:32
5866
+ #: classes/views/styles/_general.php:60
5867
  msgid "Border"
5868
  msgstr ""
5869
 
5891
  #: classes/views/styles/_field-labels.php:50
5892
  #: classes/views/styles/_field-sizes.php:27
5893
  #: classes/views/styles/_form-description.php:24
5894
+ #: classes/views/styles/_general.php:70
5895
  msgid "Padding"
5896
  msgstr ""
5897
 
5927
  #: classes/views/styles/_field-labels.php:58
5928
  #: classes/views/styles/_form-description.php:12
5929
  #: classes/views/styles/_form-title.php:12
5930
+ #: classes/views/styles/_general.php:65
5931
  msgid "Color"
5932
  msgstr ""
5933
 
6043
  msgid "Background"
6044
  msgstr ""
6045
 
6046
+ #: classes/views/styles/_general.php:49
6047
+ msgid "Background image styles"
6048
+ msgstr ""
6049
+
6050
+ #: classes/views/styles/_general.php:52
6051
+ msgid "Upload background image"
6052
+ msgstr ""
6053
+
6054
+ #: classes/views/styles/_general.php:75
6055
  msgid "Font Family"
6056
  msgstr ""
6057
 
6058
+ #: classes/views/styles/_general.php:80
6059
  msgid "Direction"
6060
  msgstr ""
6061
 
6062
+ #: classes/views/styles/_general.php:83
6063
  msgid "Left to Right"
6064
  msgstr ""
6065
 
6066
+ #: classes/views/styles/_general.php:86
6067
  msgid "Right to Left"
6068
  msgstr ""
6069
 
6307
  msgid "Duplicate Group"
6308
  msgstr ""
6309
 
6310
+ #: js/formidable_admin.js:3373
6311
  msgid "Custom layout"
6312
  msgstr ""
6313
 
6314
+ #: js/formidable_admin.js:3396
6315
  msgid "Break into rows"
6316
  msgstr ""
6317
 
6318
+ #: js/formidable_admin.js:3406
6319
  msgid "Row Layout"
6320
  msgstr ""
6321
 
6322
+ #: js/formidable_admin.js:3661
6323
  msgid "Enter number of columns for each field"
6324
  msgstr ""
6325
 
6326
+ #: js/formidable_admin.js:3665
6327
  msgid "Layouts are based on a 12-column grid system"
6328
  msgstr ""
6329
 
6330
+ #: js/formidable_admin.js:3681
6331
  msgid "Save"
6332
  msgstr ""
6333
 
6334
+ #: js/formidable_admin.js:3982
6335
  msgid "Merge into row"
6336
  msgstr ""