Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager - Version 2.4.12

Version Description

  • 2020-06-23 =
  • Added additional request sanitization
Download this release

Release Info

Developer wpdesk
Plugin Icon wp plugin Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager
Version 2.4.12
Comparing to
See all releases

Code changes from version 2.4.11 to 2.4.12

Files changed (31) hide show
  1. assets/js/checkout.js +1 -1
  2. assets/js/checkout.min.js +1 -1
  3. classes/display-options.php +1 -1
  4. classes/field-options.php +2 -2
  5. classes/index.php +0 -3
  6. classes/{myaccount-filed-processor.php → myaccount-field-processor.php} +0 -0
  7. classes/plugin.php +19 -23
  8. classes/settings.php +1 -1
  9. classes/user-meta.php +5 -1
  10. classes/user-profile.php +4 -4
  11. classes/views/settings-fields.php +55 -40
  12. composer.lock +138 -134
  13. flexible-checkout-fields.php +4 -4
  14. lang/flexible-checkout-fields.pot +22 -22
  15. readme.txt +5 -2
  16. vendor/autoload.php +1 -1
  17. vendor/composer/autoload_classmap.php +1 -1
  18. vendor/composer/autoload_real.php +4 -4
  19. vendor/composer/autoload_static.php +5 -5
  20. vendor_prefixed/monolog/monolog/composer.json +3 -4
  21. vendor_prefixed/monolog/monolog/src/Monolog/ErrorHandler.php +0 -1
  22. vendor_prefixed/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +6 -2
  23. vendor_prefixed/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +2 -2
  24. vendor_prefixed/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +2 -1
  25. vendor_prefixed/monolog/monolog/src/Monolog/Handler/StreamHandler.php +2 -1
  26. vendor_prefixed/monolog/monolog/src/Monolog/Processor/GitProcessor.php +1 -1
  27. vendor_prefixed/monolog/monolog/src/Monolog/Utils.php +25 -0
  28. vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php +1 -1
  29. vendor_prefixed/wpdesk/wp-builder/src/Plugin/WithoutNamespace/Plugin_Info.php +1 -1
  30. vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php +1 -1
  31. views/before-checkout-form.php +9 -9
assets/js/checkout.js CHANGED
@@ -34,7 +34,7 @@ jQuery(document).on("change",".inspire-file-file",function() {
34
 
35
  jQuery.ajax({
36
  type: 'POST',
37
- url: ajaxurl,
38
  data: fd,
39
  contentType: false,
40
  processData: false,
34
 
35
  jQuery.ajax({
36
  type: 'POST',
37
+ url: fcf_ajaxurl,
38
  data: fd,
39
  contentType: false,
40
  processData: false,
assets/js/checkout.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).on("click",".inspire-file-add-button",function(){jQuery(this).parent().find('input[type=file]').click()});jQuery(document).on("click",".inspire-file-delete-button",function(){jQuery(this).parent().find('input[type=file]').val('');jQuery(this).parent().find('input[type=text]').val('');jQuery(this).parent().find('.inspire-file-info').empty();jQuery(this).parent().find('.inspire-file-info').hide();jQuery(this).parent().find('.inspire-file-delete-button').hide();jQuery(this).parent().find('.inspire-file-add-button').show()});jQuery(document).on("change",".inspire-file-file",function(){var id=jQuery(this).parent().attr('id');var $file_info=jQuery('#'+id).find('.inspire-file-info');var $file_error=jQuery('#'+id).find('.inspire-file-error');var $file_add_button=jQuery('#'+id).find('.inspire-file-add-button');$file_info.empty();$file_error.empty();$file_error.hide();$file_info.show();$file_info.append(words.uploading);jQuery(this).parent().find('input[type=text]').val(jQuery(this).val());$file_add_button.hide();var fd=new FormData();var file=jQuery(this).prop('files')[0];var filename=file.name;fd.append(jQuery(this).attr('field_name'),file);fd.append('action','cf_upload');fd.append('inspire_upload_nonce',inspire_upload_nonce);jQuery('#place_order').prop('disabled',!0);jQuery.ajax({type:'POST',url:ajaxurl,data:fd,contentType:!1,processData:!1,success:function(response){jQuery('#place_order').prop('disabled',!1);if(response!=0){response=JSON.parse(response);if(response.status!='ok'){$file_add_button.show();$file_info.empty();$file_info.hide();$file_error.empty();$file_error.append(response.message+'<br/>');$file_error.show();jQuery('#'+id).find('.inspire-file-file').val('');jQuery('#'+id).find('.inspire-file').val('')}else{jQuery('#'+id).find('.inspire-file-delete-button').show();$file_error.empty();$file_error.hide();$file_info.empty();$file_info.show();$file_info.append(filename+'<br/>')}}}})})
1
+ jQuery(document).on("click",".inspire-file-add-button",function(){jQuery(this).parent().find('input[type=file]').click()});jQuery(document).on("click",".inspire-file-delete-button",function(){jQuery(this).parent().find('input[type=file]').val('');jQuery(this).parent().find('input[type=text]').val('');jQuery(this).parent().find('.inspire-file-info').empty();jQuery(this).parent().find('.inspire-file-info').hide();jQuery(this).parent().find('.inspire-file-delete-button').hide();jQuery(this).parent().find('.inspire-file-add-button').show()});jQuery(document).on("change",".inspire-file-file",function(){var id=jQuery(this).parent().attr('id');var $file_info=jQuery('#'+id).find('.inspire-file-info');var $file_error=jQuery('#'+id).find('.inspire-file-error');var $file_add_button=jQuery('#'+id).find('.inspire-file-add-button');$file_info.empty();$file_error.empty();$file_error.hide();$file_info.show();$file_info.append(words.uploading);jQuery(this).parent().find('input[type=text]').val(jQuery(this).val());$file_add_button.hide();var fd=new FormData();var file=jQuery(this).prop('files')[0];var filename=file.name;fd.append(jQuery(this).attr('field_name'),file);fd.append('action','cf_upload');fd.append('inspire_upload_nonce',inspire_upload_nonce);jQuery('#place_order').prop('disabled',!0);jQuery.ajax({type:'POST',url:fcf_ajaxurl,data:fd,contentType:!1,processData:!1,success:function(response){jQuery('#place_order').prop('disabled',!1);if(response!=0){response=JSON.parse(response);if(response.status!='ok'){$file_add_button.show();$file_info.empty();$file_info.hide();$file_error.empty();$file_error.append(response.message+'<br/>');$file_error.show();jQuery('#'+id).find('.inspire-file-file').val('');jQuery('#'+id).find('.inspire-file').val('')}else{jQuery('#'+id).find('.inspire-file-delete-button').show();$file_error.empty();$file_error.hide();$file_info.empty();$file_info.show();$file_info.append(filename+'<br/>')}}}})})
classes/display-options.php CHANGED
@@ -91,7 +91,7 @@ class Flexible_Checkout_Fields_Disaplay_Options {
91
  }
92
  $value = apply_filters( 'flexible_checkout_fields_print_value', $value, $field );
93
  if ( '' !== $value ) {
94
- $return[] = stripslashes( strip_tags( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) ) . ': ' . $value;
95
  }
96
  }
97
  }
91
  }
92
  $value = apply_filters( 'flexible_checkout_fields_print_value', $value, $field );
93
  if ( '' !== $value ) {
94
+ $return[] = esc_html( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) . ': ' . esc_html( $value );
95
  }
96
  }
97
  }
classes/field-options.php CHANGED
@@ -38,9 +38,9 @@ class Flexible_Checkout_Fields_Field_Options {
38
  $option_value = trim( $option_array[0] );
39
  $option_label = $option_value;
40
  if ( isset( $option_array[1] ) ) {
41
- $option_label = wp_unslash( strip_tags( trim( $option_array[1] ), self::ALLOWED_HTML_TAGS_IN_OPTION ) );
42
  }
43
- $options[ $option_value ] = wpdesk__( $option_label, 'flexible-checkout-fields' );
44
  unset( $option_array );
45
  }
46
  unset( $tmp_options_array );
38
  $option_value = trim( $option_array[0] );
39
  $option_label = $option_value;
40
  if ( isset( $option_array[1] ) ) {
41
+ $option_label = trim( $option_array[1] );
42
  }
43
+ $options[ $option_value ] = strip_tags( wp_unslash( wpdesk__( $option_label, 'flexible-checkout-fields' ) ) , self::ALLOWED_HTML_TAGS_IN_OPTION );
44
  unset( $option_array );
45
  }
46
  unset( $tmp_options_array );
classes/index.php DELETED
@@ -1,3 +0,0 @@
1
- <?php
2
- // Silence is golden.
3
- ?>
 
 
 
classes/{myaccount-filed-processor.php → myaccount-field-processor.php} RENAMED
File without changes
classes/plugin.php CHANGED
@@ -549,13 +549,11 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
549
  $new[ $key ][ $field['name'] ]['label'] = stripcslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) );
550
  }
551
  if ( isset( $field['placeholder'] ) ) {
552
- $new[ $key ][ $field['name'] ]['placeholder'] = wpdesk__( esc_attr( $field['placeholder'] ), 'flexible-checkout-fields' );
553
  } else {
554
  $new[ $key ][ $field['name'] ]['placeholder'] = '';
555
  }
556
- if ( is_array( $field['class'] ) ) {
557
- $new[ $key ][ $field['name'] ]['class'] = esc_attr($field['class']);
558
- } else {
559
  $new[ $key ][ $field['name'] ]['class'] = explode( ' ', $field['class'] );
560
  }
561
  if ( ( $field['name'] == 'billing_country' || $field['name'] == 'shipping_country' ) && $field['visible'] == 1 ) {
@@ -701,7 +699,7 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
701
  }
702
 
703
  if ( isset( $field['placeholder'] ) ) {
704
- $new[ $key ]['placeholder'] = wpdesk__( esc_attr($field['placeholder']), 'flexible-checkout-fields' );
705
  } else {
706
  $new[ $key ]['placeholder'] = '';
707
  }
@@ -777,9 +775,9 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
777
  if ( $value = wpdesk_get_order_meta( $order, '_' . $field['name'], true ) ) {
778
  if ( isset( $field['type'] ) ) {
779
  $value = apply_filters( 'flexible_checkout_fields_print_value', $value, $field );
780
- $return[] = '<b>' . stripslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) . '</b>: ' . $value;
781
  } else {
782
- $return[] = '<b>' . stripslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) . '</b>: ' . $value;
783
  }
784
  }
785
  }
@@ -810,8 +808,7 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
810
  $new[ $field_name ] = $labels[ $field_name ];
811
 
812
  if ( ! empty( $field['label'] ) ) {
813
- $new[ $field_name ]['label'] = stripslashes( $field['label'] );
814
-
815
  }
816
 
817
  if ( empty( $new[ $field_name ]['label'] ) ) {
@@ -987,18 +984,15 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
987
  wp_enqueue_style( 'jquery-ui-style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/jquery-ui' . $suffix . '.css', array(), $this->scripts_version );
988
  wp_enqueue_script( 'jquery-tiptip' );
989
  }
990
- wp_enqueue_style( 'inspire_checkout_fields_admin_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/admin' . $suffix . '.css', array(), $this->scripts_version );
991
-
992
- wp_enqueue_script( 'jquery' );
993
- wp_enqueue_script( 'jquery-ui' );
994
- wp_enqueue_script( 'jquery-ui-sortable' );
995
- wp_enqueue_script( 'jquery-ui-tooltip' );
996
- wp_enqueue_script( 'inspire_checkout_fields_admin_js', trailingslashit( $this->get_plugin_assets_url() ) . 'js/admin' . $suffix . '.js', array(), $this->scripts_version );
997
- wp_enqueue_script( 'jquery-ui-datepicker' );
998
 
999
- $labels_and_packing_list_params = array(
1000
- 'plugin_url' => $this->get_plugin_assets_url()
 
 
 
 
1001
  );
 
1002
  }
1003
 
1004
  /**
@@ -1014,17 +1008,19 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
1014
  wp_enqueue_style( 'inspire_checkout_fields_public_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/front' . $suffix . '.css', array(), $this->scripts_version );
1015
  }
1016
  if ( is_checkout() || is_account_page() ) {
1017
- wp_enqueue_script( 'jquery' );
1018
- wp_enqueue_script( 'jquery-ui' );
1019
- wp_enqueue_script( 'jquery-ui-datepicker' );
1020
  add_action( 'wp_enqueue_scripts', array( $this, 'wp_localize_jquery_ui_datepicker' ), 1000 );
1021
 
1022
- wp_register_script( 'inspire_checkout_fields_checkout_js', trailingslashit( $this->get_plugin_assets_url() ) . 'js/checkout' . $suffix . '.js', array(), $this->scripts_version );
 
 
 
 
1023
  $translation_array = array(
1024
  'uploading' => __( 'Uploading file...', 'flexible-checkout-fields' ),
1025
  );
1026
  wp_localize_script( 'inspire_checkout_fields_checkout_js', 'words', $translation_array );
1027
  wp_enqueue_script( 'inspire_checkout_fields_checkout_js' );
 
1028
  }
1029
  }
1030
 
549
  $new[ $key ][ $field['name'] ]['label'] = stripcslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) );
550
  }
551
  if ( isset( $field['placeholder'] ) ) {
552
+ $new[ $key ][ $field['name'] ]['placeholder'] = wpdesk__( $field['placeholder'], 'flexible-checkout-fields' );
553
  } else {
554
  $new[ $key ][ $field['name'] ]['placeholder'] = '';
555
  }
556
+ if ( ! is_array( $field['class'] ) ) {
 
 
557
  $new[ $key ][ $field['name'] ]['class'] = explode( ' ', $field['class'] );
558
  }
559
  if ( ( $field['name'] == 'billing_country' || $field['name'] == 'shipping_country' ) && $field['visible'] == 1 ) {
699
  }
700
 
701
  if ( isset( $field['placeholder'] ) ) {
702
+ $new[ $key ]['placeholder'] = wpdesk__( $field['placeholder'], 'flexible-checkout-fields' );
703
  } else {
704
  $new[ $key ]['placeholder'] = '';
705
  }
775
  if ( $value = wpdesk_get_order_meta( $order, '_' . $field['name'], true ) ) {
776
  if ( isset( $field['type'] ) ) {
777
  $value = apply_filters( 'flexible_checkout_fields_print_value', $value, $field );
778
+ $return[] = '<b>' . esc_html( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) . '</b>: ' . esc_html( $value );
779
  } else {
780
+ $return[] = '<b>' . esc_html( wpdesk__( $field['label'], 'flexible-checkout-fields' ) ) . '</b>: ' . esc_html( $value );
781
  }
782
  }
783
  }
808
  $new[ $field_name ] = $labels[ $field_name ];
809
 
810
  if ( ! empty( $field['label'] ) ) {
811
+ $new[ $field_name ]['label'] = $field['label'];
 
812
  }
813
 
814
  if ( empty( $new[ $field_name ]['label'] ) ) {
984
  wp_enqueue_style( 'jquery-ui-style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/jquery-ui' . $suffix . '.css', array(), $this->scripts_version );
985
  wp_enqueue_script( 'jquery-tiptip' );
986
  }
 
 
 
 
 
 
 
 
987
 
988
+ wp_enqueue_style( 'inspire_checkout_fields_admin_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/admin' . $suffix . '.css', array(), $this->scripts_version );
989
+ $deps = array(
990
+ 'jquery',
991
+ 'jquery-ui-sortable',
992
+ 'jquery-ui-tooltip',
993
+ 'jquery-ui-datepicker',
994
  );
995
+ wp_enqueue_script( 'inspire_checkout_fields_admin_js', trailingslashit( $this->get_plugin_assets_url() ) . 'js/admin' . $suffix . '.js', $deps, $this->scripts_version );
996
  }
997
 
998
  /**
1008
  wp_enqueue_style( 'inspire_checkout_fields_public_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/front' . $suffix . '.css', array(), $this->scripts_version );
1009
  }
1010
  if ( is_checkout() || is_account_page() ) {
 
 
 
1011
  add_action( 'wp_enqueue_scripts', array( $this, 'wp_localize_jquery_ui_datepicker' ), 1000 );
1012
 
1013
+ $deps = array(
1014
+ 'jquery',
1015
+ 'jquery-ui-datepicker',
1016
+ );
1017
+ wp_register_script( 'inspire_checkout_fields_checkout_js', trailingslashit( $this->get_plugin_assets_url() ) . 'js/checkout' . $suffix . '.js', $deps, $this->scripts_version );
1018
  $translation_array = array(
1019
  'uploading' => __( 'Uploading file...', 'flexible-checkout-fields' ),
1020
  );
1021
  wp_localize_script( 'inspire_checkout_fields_checkout_js', 'words', $translation_array );
1022
  wp_enqueue_script( 'inspire_checkout_fields_checkout_js' );
1023
+ wp_enqueue_script( 'jquery-ui-datepicker' );
1024
  }
1025
  }
1026
 
classes/settings.php CHANGED
@@ -314,7 +314,7 @@
314
  $field_name = $new_field_name;
315
  }
316
  else {
317
- $this->add_admin_notice( sprintf( __( 'You cannot use this field name: %s, for field: %s.', 'flexible-checkout-fields' ), $field['short_name'], $field['label'] ), 'error' );
318
  }
319
  }
320
  else {
314
  $field_name = $new_field_name;
315
  }
316
  else {
317
+ $this->add_admin_notice( sprintf( __( 'You cannot use this field name: %s, for field: %s.', 'flexible-checkout-fields' ), esc_html( $field['short_name'] ), esc_html( $field['label'] ) ), 'error' );
318
  }
319
  }
320
  else {
classes/user-meta.php CHANGED
@@ -60,7 +60,11 @@ class Flexible_Checkout_Fields_User_Meta {
60
  if ( ! $fcf_field->is_field_excluded_for_user() ) {
61
  $value = '';
62
  if ( isset( $data[ $field_name ] ) ) {
63
- $value = sanitize_text_field( wp_unslash( $data[ $field_name ] ) );
 
 
 
 
64
  }
65
  update_user_meta( $customer_id, $field_name, $value );
66
  }
60
  if ( ! $fcf_field->is_field_excluded_for_user() ) {
61
  $value = '';
62
  if ( isset( $data[ $field_name ] ) ) {
63
+ if ( $fcf_field->get_type() === Flexible_Checkout_Fields_Field_Type_Settings::FIELD_TYPE_TEXTAREA ) {
64
+ $value = sanitize_textarea_field( wp_unslash( $data[ $field_name ] ) );
65
+ } else {
66
+ $value = sanitize_text_field( wp_unslash( $data[ $field_name ] ) );
67
+ }
68
  }
69
  update_user_meta( $customer_id, $field_name, $value );
70
  }
classes/user-profile.php CHANGED
@@ -175,9 +175,9 @@ class Flexible_Checkout_Fields_User_Profile {
175
  case 'textarea':
176
  $fields[] = '
177
  <tr>
178
- <th><label for="' . $field['name'] . '">' . $field['label'] . '</label></th>
179
  <td>
180
- <textarea name="' . $field['name'] . '" id="' . $field['name'] . '" class="regular-text" rows="5" cols="30">' . esc_attr( get_the_author_meta( $field['name'], $user->ID ) ) . '</textarea><br /><span class="description"></span>
181
  </td>
182
  </tr>
183
  ';
@@ -186,9 +186,9 @@ class Flexible_Checkout_Fields_User_Profile {
186
  default:
187
  $fields[] = '
188
  <tr>
189
- <th><label for="' . $field['name'] . '">' . $field['label'] . '</label></th>
190
  <td>
191
- <input type="text" name="' . $field['name'] . '" id="' . $field['name'] . '" value="' . esc_attr( get_the_author_meta( $field['name'], $user->ID ) ) . '" class="regular-text" /><br /><span class="description"></span>
192
  </td>
193
  </tr>
194
  ';
175
  case 'textarea':
176
  $fields[] = '
177
  <tr>
178
+ <th><label for="' . esc_attr( $field['name'] ) . '">' . $field['label'] . '</label></th>
179
  <td>
180
+ <textarea name="' . esc_attr( $field['name'] ) . '" id="' . esc_html( $field['name'] ) . '" class="regular-text" rows="5" cols="30">' . esc_textarea( get_the_author_meta( $field['name'], $user->ID ) ) . '</textarea><br /><span class="description"></span>
181
  </td>
182
  </tr>
183
  ';
186
  default:
187
  $fields[] = '
188
  <tr>
189
+ <th><label for="' . esc_attr( $field['name'] ) . '">' . $field['label'] . '</label></th>
190
  <td>
191
+ <input type="text" name="' . esc_attr( $field['name'] ) . '" id="' . $field['name'] . '" value="' . esc_attr( get_the_author_meta( $field['name'], $user->ID ) ) . '" class="regular-text" /><br /><span class="description"></span>
192
  </td>
193
  </tr>
194
  ';
classes/views/settings-fields.php CHANGED
@@ -61,7 +61,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
61
  name="woocommerce_checkout_fields_field_type">
62
  <?php foreach ( $checkout_field_type as $key => $value ): ?>
63
  <?php if ( $key == 'checkbox' ) continue; ?>
64
- <option value="<?php echo esc_attr($key); ?>"><?php echo esc_attr($value['name']); ?></option>
65
  <?php endforeach; ?>
66
  </select>
67
  </div>
@@ -98,11 +98,8 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
98
  <select id="woocommerce_checkout_fields_field_section"
99
  name="woocommerce_checkout_fields_field_section">
100
  <?php foreach ( $this->plugin->sections as $custom_section => $custom_section_data ) : ?>
101
- <?php $selected = ""; ?>
102
- <?php if ( $custom_section_data['tab'] == $current_tab ) {
103
- $selected = " selected";
104
- } ?>
105
- <option value="<?php echo $custom_section_data['section']; ?>" <?php echo $selected; ?>><?php echo $custom_section_data['tab_title']; ?></option>
106
  <?php endforeach; ?>
107
  </select>
108
  </div>
@@ -155,6 +152,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
155
  <ul class="fields menu sortable" id="<?php echo esc_attr($key); ?>">
156
  <?php foreach ( $fields as $name => $field ) : ?>
157
  <?php
 
158
  if ( empty( $settings[ $key ][ $name ]['short_name'] ) ) {
159
  $field['short_name'] = $name;
160
  $settings[ $key ][ $name ]['short_name'] = $name;
@@ -193,14 +191,14 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
193
  <?php if ( ! empty( $settings[ $key ][ $name ]['custom_field'] ) && $settings[ $key ][ $name ]['custom_field'] == '1' ): ?>
194
  <input class="field_custom_field"
195
  type="hidden"
196
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key); ?>][<?php echo esc_attr($name) ?>][custom_field]"
197
  value="1"
198
  data-qa-id="field-custom-field"
199
  />
200
  <?php else : ?>
201
  <input class="field_custom_field"
202
  type="hidden"
203
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key); ?>][<?php echo esc_attr($name) ?>][custom_field]"
204
  value="0"
205
  data-qa-id="field-custom-field"
206
  />
@@ -209,15 +207,15 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
209
  <input
210
  class="field_name"
211
  type="hidden"
212
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key); ?>][<?php echo esc_attr($name); ?>][name]"
213
- value="<?php echo esc_html($name); ?>"
214
  data-qa-id="field-name"
215
  />
216
 
217
  <span class="item-title">
218
  <span class="item-type">
219
  <?php if ( isset( $checkout_field_type[$field_type] ) ) : ?>
220
- <?php echo esc_attr($checkout_field_type[$field_type]['name']); ?>
221
  <?php else : ?>
222
  <?php echo __( ucfirst( $field_type ), 'woocommerce' ); ?>
223
  <?php endif; ?>
@@ -250,7 +248,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
250
  foreach ( $additional_tabs as $additional_tab ) {
251
  ?>
252
  <a class="nav-tab"
253
- href="#<?php echo esc_attr($additional_tab['hash']); ?>"><?php echo esc_attr($additional_tab['title']); ?></a>
254
  <?php
255
  }
256
  ?>
@@ -267,14 +265,14 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
267
 
268
  <div>
269
  <input type="hidden"
270
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][visible]"
271
  value="1"
272
  />
273
 
274
  <label>
275
  <input class="field_visible"
276
  type="checkbox"
277
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][visible]"
278
  value="0" <?php if ( $field_visible ): ?> checked<?php endif; ?>
279
  data-qa-id="field-visible"
280
  />
@@ -311,13 +309,13 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
311
  ?>
312
  <div style="<?php echo esc_attr($style); ?>">
313
  <input type="hidden"
314
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][required]"
315
  value="0"
316
  />
317
  <label>
318
  <input class="field_required"
319
  type="checkbox"
320
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][required]"
321
  value="1" <?php echo $checked; ?> <?php echo $disabled; ?>
322
  data-qa-id="field-required"
323
  />
@@ -334,9 +332,9 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
334
  <label for="label_<?php echo esc_attr($name) ?>"><?php _e( 'Label', 'flexible-checkout-fields' ) ?></label>
335
 
336
  <textarea data-field="<?php echo esc_attr($name); ?>" class="fcf_label field-name field_label" id="label_<?php echo esc_attr($name) ?>" class="field-name"
337
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][label]"
338
  data-qa-id="field-name"
339
- ><?php if ( isset( $settings[ $key ][ $name ]['label'] ) ): echo esc_html( $settings[ $key ][ $name ]['label'] );
340
  elseif ( isset( $field['label'] ) ): echo esc_html( $field['label'] ); endif; ?></textarea>
341
 
342
  <p class="description"><?php _e( 'You can use HTML.', 'flexible-checkout-fields' ); ?></p>
@@ -357,7 +355,8 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
357
  required <?php echo $short_name_disabled; ?>
358
  class="short_name field_short_name"
359
  type="text"
360
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][short_name]" value="<?php echo esc_attr($short_name_value); ?>"
 
361
  data-qa-id="field-short-nem"
362
  />
363
 
@@ -372,10 +371,14 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
372
  <?php $validation_value = ''; ?>
373
  <?php if ( isset( $settings[ $key ][ $name ]['validation'] ) ): $validation_value = esc_attr( $settings[ $key ][ $name ]['validation'] ); elseif ( isset( $field['validation'] ) ): $short_name_value = $field['validation']; endif; ?>
374
 
375
- <select class="validation field_validation" type="text" name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][validation]" data-qa-id="field-validation">
 
 
 
 
376
  <?php foreach ( $validation_options as $option_value => $option ) : ?>
377
  <?php if ( $is_custom_field && $option_value == '' ) continue; ?>
378
- <option value="<?php echo esc_attr($option_value); ?>" <?php echo selected( $validation_value, $option_value ); ?>><?php echo esc_attr($option); ?></option>
379
  <?php endforeach; ?>
380
  </select>
381
  <p class="description"><?php echo __( 'For Post Code validation works only with country.', 'flexible-checkout-fields' ); ?></p>
@@ -395,7 +398,9 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
395
  data-field="<?php echo esc_attr($name); ?>" class="fcf_options"
396
  id="option_<?php echo esc_attr($name); ?>"
397
  data-qa-id="field-option"
398
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][option]" <?php echo $required; ?>><?php echo isset( $settings[ $key ][ $name ]['option'] ) ? esc_textarea( stripslashes( $settings[ $key ][ $name ]['option'] ) ) : ''; ?></textarea>
 
 
399
  <p><?php _e( 'Format: <code>Value : Name</code>. Value will be in the code, name will be visible to the user. One option per line. Example:<br /><code>woman : I am a woman</code><br /><code>man : I am a man</code>', 'flexible-checkout-fields' ) ?></p>
400
  </div>
401
  <?php endif; ?>
@@ -407,7 +412,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
407
 
408
  <input class="default" id="default_<?php echo esc_attr($name); ?>"
409
  type="text"
410
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][default]"
411
  value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
412
  data-qa-id="default"
413
  />
@@ -416,7 +421,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
416
  <?php else : ?>
417
  <input class="default" id="default_<?php echo esc_attr($name); ?>"
418
  type="hidden"
419
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][default]"
420
  value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
421
  data-qa-id="default"
422
  />
@@ -429,7 +434,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
429
  <label for="type_<?php echo esc_attr($name); ?>"><?php _e( 'Field Type', 'flexible-checkout-fields' ) ?></label>
430
 
431
  <select class="field_type" id="field_type_<?php echo esc_attr($name); ?>"
432
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][type]"
433
  disabled
434
  data-qa-id="field-type"
435
  >
@@ -445,7 +450,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
445
  <input
446
  type="hidden"
447
  id="field_type_<?php echo esc_attr($name); ?>"
448
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][type]"
449
  value="<?php echo esc_attr($field['type']); ?>"
450
  data-qa-id="field-type"
451
  />
@@ -480,7 +485,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
480
 
481
  <input class="field_placeholder"
482
  <?php echo $disabled; ?> type="text" id="placeholder_<?php echo esc_attr($name); ?>"
483
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][placeholder]"
484
  value="<?php if ( ! empty( $settings[ $key ][ $name ]['placeholder'] ) ): echo esc_attr( $settings[ $key ][ $name ]['placeholder'] );
485
  else: echo isset( $field['placeholder'] ) ? esc_attr( $field['placeholder'] ) : ''; endif; ?>" <?php echo $required; ?>
486
  data-qa-id="field-placeholder"
@@ -490,7 +495,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
490
  <div class="field-class">
491
  <label for="class_<?php echo esc_attr($name); ?>"><?php _e( 'CSS Class', 'flexible-checkout-fields' ) ?></label>
492
  <input class="field_class" type="text" id="class_<?php echo esc_attr($name); ?>"
493
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][class]"
494
  value="<?php if ( ! empty( $settings[ $key ][ $name ]['class'] ) ): echo esc_attr($settings[ $key ][ $name ]['class']);
495
  else: if ( ! empty( $field['class'] ) ) {
496
  echo esc_attr( implode( ' ', $field['class'] ) );
@@ -520,13 +525,13 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
520
  }
521
  ?>
522
  <input type="hidden"
523
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][display_on_<?php echo $display_on_field_key; ?>]"
524
  value="0"/>
525
 
526
  <label>
527
  <input class="field_required"
528
  type="checkbox"
529
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][display_on_<?php echo $display_on_field_key; ?>]"
530
  value="1" <?php echo $checked; ?>
531
  data-qa-id="field-display-on-address"
532
  />
@@ -568,13 +573,13 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
568
  $checked = $fcf_field->get_field_setting( $field_name, $default_setting_value ) === '1' ? 'checked' : '';
569
  ?>
570
  <input type="hidden"
571
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][<?php echo $field_name; ?>]"
572
  value="0"/>
573
 
574
  <label>
575
  <input class="field_required"
576
  type="checkbox"
577
- name="inspire_checkout_fields[settings][<?php echo esc_attr($key) ?>][<?php echo esc_attr($name) ?>][<?php echo $field_name; ?>]"
578
  value="1" <?php echo $checked; ?>
579
  data-qa-id="field-display-on-address"
580
  />
@@ -632,12 +637,23 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
632
 
633
  jQuery(document).ready(function () {
634
 
 
 
 
 
 
 
 
 
 
 
 
635
  function validate_field_name( field ) {
636
  var return_false = false;
637
  jQuery('.short_name').each(function() {
638
- var field_name = jQuery(this).attr('name');
639
  var field_settings = jQuery(this).closest('.field-item');
640
- if ( field_name != jQuery(field).attr('name') ) {
641
  if ( jQuery(field).val().toLowerCase() == jQuery(this).val().toLowerCase() ) {
642
  var message = '<?php echo sprintf(__( 'Invalid field name: %s. The name already exists.', 'flexible-checkout-fields' ), '[field]' ); ?>';
643
  message = message.replace( '[field]', jQuery(field).val() );
@@ -714,8 +730,7 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
714
  var field_type = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_type').val();
715
  var field_option = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_option').val();
716
 
717
- //var field_short_name = generate_short_name( stringToSlug(field_label).substr(0, 20) );
718
- var field_short_name = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name').val();
719
  var field_slug = field_section + '_' + field_short_name;
720
 
721
  // Proceed if Name (label) is filled
@@ -943,20 +958,20 @@ $validation_options = $this->plugin->field_validation->get_validation_options( $
943
 
944
  var current_field_name_value = '';
945
  jQuery(document).on( 'keydown', '#woocommerce_checkout_fields_field_short_name', function (e) {
946
- current_field_name_value = jQuery(this).val();
947
  });
948
 
949
  jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_short_name', function (e) {
950
- if ( current_field_name_value != jQuery(this).val() ) {
951
  jQuery(this).attr('data-changed', 1);
952
  jQuery(this).change();
953
- current_field_name_value = jQuery(this).val();
954
  }
955
  });
956
 
957
  jQuery(document).on( 'change', '#woocommerce_checkout_fields_field_short_name', function (e) {
958
  var field_section = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_section').val();
959
- jQuery('#woocommerce_checkout_fields_field_short_name_meta').html( '_' + field_section + '_' + jQuery(this).val());
960
  })
961
 
962
  jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_name', function (e) {
61
  name="woocommerce_checkout_fields_field_type">
62
  <?php foreach ( $checkout_field_type as $key => $value ): ?>
63
  <?php if ( $key == 'checkbox' ) continue; ?>
64
+ <option value="<?php echo esc_attr($key); ?>"><?php echo esc_html($value['name']); ?></option>
65
  <?php endforeach; ?>
66
  </select>
67
  </div>
98
  <select id="woocommerce_checkout_fields_field_section"
99
  name="woocommerce_checkout_fields_field_section">
100
  <?php foreach ( $this->plugin->sections as $custom_section => $custom_section_data ) : ?>
101
+ <?php $selected = selected( $custom_section_data['tab'], $current_tab, false ); ?>
102
+ <option value="<?php echo esc_attr( $custom_section_data['section'] ); ?>" <?php echo $selected; ?>><?php echo esc_html( $custom_section_data['tab_title'] ); ?></option>
 
 
 
103
  <?php endforeach; ?>
104
  </select>
105
  </div>
152
  <ul class="fields menu sortable" id="<?php echo esc_attr($key); ?>">
153
  <?php foreach ( $fields as $name => $field ) : ?>
154
  <?php
155
+ $field_name_prefix = 'inspire_checkout_fields[settings][' . sanitize_title( $key ) . '][' . sanitize_title( $name ) . ']';
156
  if ( empty( $settings[ $key ][ $name ]['short_name'] ) ) {
157
  $field['short_name'] = $name;
158
  $settings[ $key ][ $name ]['short_name'] = $name;
191
  <?php if ( ! empty( $settings[ $key ][ $name ]['custom_field'] ) && $settings[ $key ][ $name ]['custom_field'] == '1' ): ?>
192
  <input class="field_custom_field"
193
  type="hidden"
194
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[custom_field]"
195
  value="1"
196
  data-qa-id="field-custom-field"
197
  />
198
  <?php else : ?>
199
  <input class="field_custom_field"
200
  type="hidden"
201
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[custom_field]"
202
  value="0"
203
  data-qa-id="field-custom-field"
204
  />
207
  <input
208
  class="field_name"
209
  type="hidden"
210
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[name]"
211
+ value="<?php echo esc_attr($name); ?>"
212
  data-qa-id="field-name"
213
  />
214
 
215
  <span class="item-title">
216
  <span class="item-type">
217
  <?php if ( isset( $checkout_field_type[$field_type] ) ) : ?>
218
+ <?php echo esc_html($checkout_field_type[$field_type]['name']); ?>
219
  <?php else : ?>
220
  <?php echo __( ucfirst( $field_type ), 'woocommerce' ); ?>
221
  <?php endif; ?>
248
  foreach ( $additional_tabs as $additional_tab ) {
249
  ?>
250
  <a class="nav-tab"
251
+ href="#<?php echo esc_attr($additional_tab['hash']); ?>"><?php echo esc_html($additional_tab['title']); ?></a>
252
  <?php
253
  }
254
  ?>
265
 
266
  <div>
267
  <input type="hidden"
268
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[visible]"
269
  value="1"
270
  />
271
 
272
  <label>
273
  <input class="field_visible"
274
  type="checkbox"
275
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[visible]"
276
  value="0" <?php if ( $field_visible ): ?> checked<?php endif; ?>
277
  data-qa-id="field-visible"
278
  />
309
  ?>
310
  <div style="<?php echo esc_attr($style); ?>">
311
  <input type="hidden"
312
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[required]"
313
  value="0"
314
  />
315
  <label>
316
  <input class="field_required"
317
  type="checkbox"
318
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[required]"
319
  value="1" <?php echo $checked; ?> <?php echo $disabled; ?>
320
  data-qa-id="field-required"
321
  />
332
  <label for="label_<?php echo esc_attr($name) ?>"><?php _e( 'Label', 'flexible-checkout-fields' ) ?></label>
333
 
334
  <textarea data-field="<?php echo esc_attr($name); ?>" class="fcf_label field-name field_label" id="label_<?php echo esc_attr($name) ?>" class="field-name"
335
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[label]"
336
  data-qa-id="field-name"
337
+ ><?php if ( isset( $settings[ $key ][ $name ]['label'] ) ): echo esc_textarea( $settings[ $key ][ $name ]['label'] );
338
  elseif ( isset( $field['label'] ) ): echo esc_html( $field['label'] ); endif; ?></textarea>
339
 
340
  <p class="description"><?php _e( 'You can use HTML.', 'flexible-checkout-fields' ); ?></p>
355
  required <?php echo $short_name_disabled; ?>
356
  class="short_name field_short_name"
357
  type="text"
358
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[short_name]"
359
+ value="<?php echo esc_attr($short_name_value); ?>"
360
  data-qa-id="field-short-nem"
361
  />
362
 
371
  <?php $validation_value = ''; ?>
372
  <?php if ( isset( $settings[ $key ][ $name ]['validation'] ) ): $validation_value = esc_attr( $settings[ $key ][ $name ]['validation'] ); elseif ( isset( $field['validation'] ) ): $short_name_value = $field['validation']; endif; ?>
373
 
374
+ <select
375
+ class="validation field_validation" type="text"
376
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[validation]"
377
+ data-qa-id="field-validation"
378
+ >
379
  <?php foreach ( $validation_options as $option_value => $option ) : ?>
380
  <?php if ( $is_custom_field && $option_value == '' ) continue; ?>
381
+ <option value="<?php echo esc_attr($option_value); ?>" <?php echo selected( $validation_value, $option_value ); ?>><?php echo esc_html($option); ?></option>
382
  <?php endforeach; ?>
383
  </select>
384
  <p class="description"><?php echo __( 'For Post Code validation works only with country.', 'flexible-checkout-fields' ); ?></p>
398
  data-field="<?php echo esc_attr($name); ?>" class="fcf_options"
399
  id="option_<?php echo esc_attr($name); ?>"
400
  data-qa-id="field-option"
401
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[option]"
402
+ <?php echo $required; ?>
403
+ ><?php echo isset( $settings[ $key ][ $name ]['option'] ) ? esc_textarea( stripslashes( $settings[ $key ][ $name ]['option'] ) ) : ''; ?></textarea>
404
  <p><?php _e( 'Format: <code>Value : Name</code>. Value will be in the code, name will be visible to the user. One option per line. Example:<br /><code>woman : I am a woman</code><br /><code>man : I am a man</code>', 'flexible-checkout-fields' ) ?></p>
405
  </div>
406
  <?php endif; ?>
412
 
413
  <input class="default" id="default_<?php echo esc_attr($name); ?>"
414
  type="text"
415
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[default]"
416
  value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
417
  data-qa-id="default"
418
  />
421
  <?php else : ?>
422
  <input class="default" id="default_<?php echo esc_attr($name); ?>"
423
  type="hidden"
424
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[default]"
425
  value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
426
  data-qa-id="default"
427
  />
434
  <label for="type_<?php echo esc_attr($name); ?>"><?php _e( 'Field Type', 'flexible-checkout-fields' ) ?></label>
435
 
436
  <select class="field_type" id="field_type_<?php echo esc_attr($name); ?>"
437
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[type]"
438
  disabled
439
  data-qa-id="field-type"
440
  >
450
  <input
451
  type="hidden"
452
  id="field_type_<?php echo esc_attr($name); ?>"
453
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[type]"
454
  value="<?php echo esc_attr($field['type']); ?>"
455
  data-qa-id="field-type"
456
  />
485
 
486
  <input class="field_placeholder"
487
  <?php echo $disabled; ?> type="text" id="placeholder_<?php echo esc_attr($name); ?>"
488
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[placeholder]"
489
  value="<?php if ( ! empty( $settings[ $key ][ $name ]['placeholder'] ) ): echo esc_attr( $settings[ $key ][ $name ]['placeholder'] );
490
  else: echo isset( $field['placeholder'] ) ? esc_attr( $field['placeholder'] ) : ''; endif; ?>" <?php echo $required; ?>
491
  data-qa-id="field-placeholder"
495
  <div class="field-class">
496
  <label for="class_<?php echo esc_attr($name); ?>"><?php _e( 'CSS Class', 'flexible-checkout-fields' ) ?></label>
497
  <input class="field_class" type="text" id="class_<?php echo esc_attr($name); ?>"
498
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[class]"
499
  value="<?php if ( ! empty( $settings[ $key ][ $name ]['class'] ) ): echo esc_attr($settings[ $key ][ $name ]['class']);
500
  else: if ( ! empty( $field['class'] ) ) {
501
  echo esc_attr( implode( ' ', $field['class'] ) );
525
  }
526
  ?>
527
  <input type="hidden"
528
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[display_on_<?php echo $display_on_field_key; ?>]"
529
  value="0"/>
530
 
531
  <label>
532
  <input class="field_required"
533
  type="checkbox"
534
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[display_on_<?php echo $display_on_field_key; ?>]"
535
  value="1" <?php echo $checked; ?>
536
  data-qa-id="field-display-on-address"
537
  />
573
  $checked = $fcf_field->get_field_setting( $field_name, $default_setting_value ) === '1' ? 'checked' : '';
574
  ?>
575
  <input type="hidden"
576
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[<?php echo $field_name; ?>]"
577
  value="0"/>
578
 
579
  <label>
580
  <input class="field_required"
581
  type="checkbox"
582
+ name="<?php echo esc_attr( $field_name_prefix ); ?>[<?php echo $field_name; ?>]"
583
  value="1" <?php echo $checked; ?>
584
  data-qa-id="field-display-on-address"
585
  />
637
 
638
  jQuery(document).ready(function () {
639
 
640
+ String.prototype.escape = function() {
641
+ var tagsToReplace = {
642
+ '&': '&amp;',
643
+ '<': '&lt;',
644
+ '>': '&gt;'
645
+ };
646
+ return this.replace(/[&<>]/g, function(tag) {
647
+ return tagsToReplace[tag] || tag;
648
+ });
649
+ };
650
+
651
  function validate_field_name( field ) {
652
  var return_false = false;
653
  jQuery('.short_name').each(function() {
654
+ var field_name = jQuery(this).attr('name').escape();
655
  var field_settings = jQuery(this).closest('.field-item');
656
+ if ( field_name != jQuery(field).attr('name').escape() ) {
657
  if ( jQuery(field).val().toLowerCase() == jQuery(this).val().toLowerCase() ) {
658
  var message = '<?php echo sprintf(__( 'Invalid field name: %s. The name already exists.', 'flexible-checkout-fields' ), '[field]' ); ?>';
659
  message = message.replace( '[field]', jQuery(field).val() );
730
  var field_type = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_type').val();
731
  var field_option = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_option').val();
732
 
733
+ var field_short_name = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name').val().escape();
 
734
  var field_slug = field_section + '_' + field_short_name;
735
 
736
  // Proceed if Name (label) is filled
958
 
959
  var current_field_name_value = '';
960
  jQuery(document).on( 'keydown', '#woocommerce_checkout_fields_field_short_name', function (e) {
961
+ current_field_name_value = jQuery(this).val().escape();
962
  });
963
 
964
  jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_short_name', function (e) {
965
+ if ( current_field_name_value != jQuery(this).val().escape() ) {
966
  jQuery(this).attr('data-changed', 1);
967
  jQuery(this).change();
968
+ current_field_name_value = jQuery(this).val().escape();
969
  }
970
  });
971
 
972
  jQuery(document).on( 'change', '#woocommerce_checkout_fields_field_short_name', function (e) {
973
  var field_section = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_section').val();
974
+ jQuery('#woocommerce_checkout_fields_field_short_name_meta').html( '_' + field_section + '_' + jQuery(this).val().escape());
975
  })
976
 
977
  jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_name', function (e) {
composer.lock CHANGED
@@ -234,16 +234,16 @@
234
  },
235
  {
236
  "name": "codeception/codeception",
237
- "version": "4.1.4",
238
  "source": {
239
  "type": "git",
240
  "url": "https://github.com/Codeception/Codeception.git",
241
- "reference": "55d8d1d882fa0777e47de17b04c29b3c50fe29e7"
242
  },
243
  "dist": {
244
  "type": "zip",
245
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/55d8d1d882fa0777e47de17b04c29b3c50fe29e7",
246
- "reference": "55d8d1d882fa0777e47de17b04c29b3c50fe29e7",
247
  "shasum": ""
248
  },
249
  "require": {
@@ -315,7 +315,7 @@
315
  "functional testing",
316
  "unit testing"
317
  ],
318
- "time": "2020-03-23T17:07:20+00:00"
319
  },
320
  {
321
  "name": "codeception/lib-asserts",
@@ -722,16 +722,16 @@
722
  },
723
  {
724
  "name": "codeception/module-webdriver",
725
- "version": "1.0.8",
726
  "source": {
727
  "type": "git",
728
  "url": "https://github.com/Codeception/module-webdriver.git",
729
- "reference": "da55466876d9e73c09917f495b923395b1cdf92a"
730
  },
731
  "dist": {
732
  "type": "zip",
733
- "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/da55466876d9e73c09917f495b923395b1cdf92a",
734
- "reference": "da55466876d9e73c09917f495b923395b1cdf92a",
735
  "shasum": ""
736
  },
737
  "require": {
@@ -773,7 +773,7 @@
773
  "browser-testing",
774
  "codeception"
775
  ],
776
- "time": "2020-04-29T13:45:52+00:00"
777
  },
778
  {
779
  "name": "codeception/phpunit-wrapper",
@@ -942,16 +942,16 @@
942
  },
943
  {
944
  "name": "composer/composer",
945
- "version": "1.10.6",
946
  "source": {
947
  "type": "git",
948
  "url": "https://github.com/composer/composer.git",
949
- "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88"
950
  },
951
  "dist": {
952
  "type": "zip",
953
- "url": "https://api.github.com/repos/composer/composer/zipball/be81b9c4735362c26876bdbfd3b5bc7e7f711c88",
954
- "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88",
955
  "shasum": ""
956
  },
957
  "require": {
@@ -959,7 +959,7 @@
959
  "composer/semver": "^1.0",
960
  "composer/spdx-licenses": "^1.2",
961
  "composer/xdebug-handler": "^1.1",
962
- "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0",
963
  "php": "^5.3.2 || ^7.0",
964
  "psr/log": "^1.0",
965
  "seld/jsonlint": "^1.4",
@@ -1019,7 +1019,7 @@
1019
  "dependency",
1020
  "package"
1021
  ],
1022
- "time": "2020-05-06T08:28:10+00:00"
1023
  },
1024
  {
1025
  "name": "composer/semver",
@@ -1144,16 +1144,16 @@
1144
  },
1145
  {
1146
  "name": "composer/xdebug-handler",
1147
- "version": "1.4.1",
1148
  "source": {
1149
  "type": "git",
1150
  "url": "https://github.com/composer/xdebug-handler.git",
1151
- "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7"
1152
  },
1153
  "dist": {
1154
  "type": "zip",
1155
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/1ab9842d69e64fb3a01be6b656501032d1b78cb7",
1156
- "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7",
1157
  "shasum": ""
1158
  },
1159
  "require": {
@@ -1184,7 +1184,7 @@
1184
  "Xdebug",
1185
  "performance"
1186
  ],
1187
- "time": "2020-03-01T12:26:26+00:00"
1188
  },
1189
  {
1190
  "name": "cweagans/composer-patches",
@@ -1623,16 +1623,16 @@
1623
  },
1624
  {
1625
  "name": "guzzlehttp/guzzle",
1626
- "version": "6.5.3",
1627
  "source": {
1628
  "type": "git",
1629
  "url": "https://github.com/guzzle/guzzle.git",
1630
- "reference": "aab4ebd862aa7d04f01a4b51849d657db56d882e"
1631
  },
1632
  "dist": {
1633
  "type": "zip",
1634
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/aab4ebd862aa7d04f01a4b51849d657db56d882e",
1635
- "reference": "aab4ebd862aa7d04f01a4b51849d657db56d882e",
1636
  "shasum": ""
1637
  },
1638
  "require": {
@@ -1640,7 +1640,7 @@
1640
  "guzzlehttp/promises": "^1.0",
1641
  "guzzlehttp/psr7": "^1.6.1",
1642
  "php": ">=5.5",
1643
- "symfony/polyfill-intl-idn": "^1.11"
1644
  },
1645
  "require-dev": {
1646
  "ext-curl": "*",
@@ -1686,7 +1686,7 @@
1686
  "rest",
1687
  "web service"
1688
  ],
1689
- "time": "2020-04-18T10:38:46+00:00"
1690
  },
1691
  {
1692
  "name": "guzzlehttp/promises",
@@ -2002,16 +2002,16 @@
2002
  },
2003
  {
2004
  "name": "justinrainbow/json-schema",
2005
- "version": "5.2.9",
2006
  "source": {
2007
  "type": "git",
2008
  "url": "https://github.com/justinrainbow/json-schema.git",
2009
- "reference": "44c6787311242a979fa15c704327c20e7221a0e4"
2010
  },
2011
  "dist": {
2012
  "type": "zip",
2013
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/44c6787311242a979fa15c704327c20e7221a0e4",
2014
- "reference": "44c6787311242a979fa15c704327c20e7221a0e4",
2015
  "shasum": ""
2016
  },
2017
  "require": {
@@ -2064,20 +2064,20 @@
2064
  "json",
2065
  "schema"
2066
  ],
2067
- "time": "2019-09-25T14:49:45+00:00"
2068
  },
2069
  {
2070
  "name": "lucatume/wp-browser",
2071
- "version": "2.5.2",
2072
  "source": {
2073
  "type": "git",
2074
  "url": "https://github.com/lucatume/wp-browser.git",
2075
- "reference": "3077f9c3b20cfe3fc3f817673fab6b9b1c28c4fe"
2076
  },
2077
  "dist": {
2078
  "type": "zip",
2079
- "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/3077f9c3b20cfe3fc3f817673fab6b9b1c28c4fe",
2080
- "reference": "3077f9c3b20cfe3fc3f817673fab6b9b1c28c4fe",
2081
  "shasum": ""
2082
  },
2083
  "require": {
@@ -2101,7 +2101,8 @@
2101
  "gumlet/php-image-resize": "^1.6",
2102
  "lucatume/codeception-snapshot-assertions": "^0.2",
2103
  "mikey179/vfsstream": "^1.6",
2104
- "victorjonsson/markdowndocs": "dev-master"
 
2105
  },
2106
  "suggest": {
2107
  "codeception/module-asserts": "Codeception 4.0 compatibility.",
@@ -2146,7 +2147,7 @@
2146
  "codeception",
2147
  "wordpress"
2148
  ],
2149
- "time": "2020-05-13T09:56:14+00:00"
2150
  },
2151
  {
2152
  "name": "matthiasmullie/minify",
@@ -2433,16 +2434,16 @@
2433
  },
2434
  {
2435
  "name": "monolog/monolog",
2436
- "version": "1.25.3",
2437
  "source": {
2438
  "type": "git",
2439
  "url": "https://github.com/Seldaek/monolog.git",
2440
- "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1"
2441
  },
2442
  "dist": {
2443
  "type": "zip",
2444
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1",
2445
- "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1",
2446
  "shasum": ""
2447
  },
2448
  "require": {
@@ -2456,11 +2457,10 @@
2456
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
2457
  "doctrine/couchdb": "~1.0@dev",
2458
  "graylog2/gelf-php": "~1.0",
2459
- "jakub-onderka/php-parallel-lint": "0.9",
2460
  "php-amqplib/php-amqplib": "~2.4",
2461
  "php-console/php-console": "^3.1.3",
 
2462
  "phpunit/phpunit": "~4.5",
2463
- "phpunit/phpunit-mock-objects": "2.3.0",
2464
  "ruflin/elastica": ">=0.90 <3.0",
2465
  "sentry/sentry": "^0.13",
2466
  "swiftmailer/swiftmailer": "^5.3|^6.0"
@@ -2507,7 +2507,7 @@
2507
  "logging",
2508
  "psr-3"
2509
  ],
2510
- "time": "2019-12-20T14:15:16+00:00"
2511
  },
2512
  {
2513
  "name": "mustache/mustache",
@@ -2960,16 +2960,16 @@
2960
  },
2961
  {
2962
  "name": "phpoption/phpoption",
2963
- "version": "1.7.3",
2964
  "source": {
2965
  "type": "git",
2966
  "url": "https://github.com/schmittjoh/php-option.git",
2967
- "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae"
2968
  },
2969
  "dist": {
2970
  "type": "zip",
2971
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
2972
- "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
2973
  "shasum": ""
2974
  },
2975
  "require": {
@@ -3011,7 +3011,7 @@
3011
  "php",
3012
  "type"
3013
  ],
3014
- "time": "2020-03-21T18:07:53+00:00"
3015
  },
3016
  {
3017
  "name": "phpspec/prophecy",
@@ -4265,16 +4265,16 @@
4265
  },
4266
  {
4267
  "name": "symfony/browser-kit",
4268
- "version": "v3.4.40",
4269
  "source": {
4270
  "type": "git",
4271
  "url": "https://github.com/symfony/browser-kit.git",
4272
- "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367"
4273
  },
4274
  "dist": {
4275
  "type": "zip",
4276
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367",
4277
- "reference": "1c7bcd954ad1fc02354c4cfd3fcd1b0c95245367",
4278
  "shasum": ""
4279
  },
4280
  "require": {
@@ -4318,20 +4318,20 @@
4318
  ],
4319
  "description": "Symfony BrowserKit Component",
4320
  "homepage": "https://symfony.com",
4321
- "time": "2020-03-15T09:38:08+00:00"
4322
  },
4323
  {
4324
  "name": "symfony/console",
4325
- "version": "v3.4.40",
4326
  "source": {
4327
  "type": "git",
4328
  "url": "https://github.com/symfony/console.git",
4329
- "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120"
4330
  },
4331
  "dist": {
4332
  "type": "zip",
4333
- "url": "https://api.github.com/repos/symfony/console/zipball/bf60d5e606cd595391c5f82bf6b570d9573fa120",
4334
- "reference": "bf60d5e606cd595391c5f82bf6b570d9573fa120",
4335
  "shasum": ""
4336
  },
4337
  "require": {
@@ -4390,11 +4390,11 @@
4390
  ],
4391
  "description": "Symfony Console Component",
4392
  "homepage": "https://symfony.com",
4393
- "time": "2020-03-27T17:07:22+00:00"
4394
  },
4395
  {
4396
  "name": "symfony/css-selector",
4397
- "version": "v3.4.40",
4398
  "source": {
4399
  "type": "git",
4400
  "url": "https://github.com/symfony/css-selector.git",
@@ -4447,16 +4447,16 @@
4447
  },
4448
  {
4449
  "name": "symfony/debug",
4450
- "version": "v3.4.40",
4451
  "source": {
4452
  "type": "git",
4453
  "url": "https://github.com/symfony/debug.git",
4454
- "reference": "ce9f3b5e8e1c50f849fded59b3a1b6bc3562ec29"
4455
  },
4456
  "dist": {
4457
  "type": "zip",
4458
- "url": "https://api.github.com/repos/symfony/debug/zipball/ce9f3b5e8e1c50f849fded59b3a1b6bc3562ec29",
4459
- "reference": "ce9f3b5e8e1c50f849fded59b3a1b6bc3562ec29",
4460
  "shasum": ""
4461
  },
4462
  "require": {
@@ -4499,20 +4499,20 @@
4499
  ],
4500
  "description": "Symfony Debug Component",
4501
  "homepage": "https://symfony.com",
4502
- "time": "2020-03-23T10:22:40+00:00"
4503
  },
4504
  {
4505
  "name": "symfony/dom-crawler",
4506
- "version": "v3.4.40",
4507
  "source": {
4508
  "type": "git",
4509
  "url": "https://github.com/symfony/dom-crawler.git",
4510
- "reference": "ceacdab4abf7695ef6bec77c8b7983e1544c6358"
4511
  },
4512
  "dist": {
4513
  "type": "zip",
4514
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ceacdab4abf7695ef6bec77c8b7983e1544c6358",
4515
- "reference": "ceacdab4abf7695ef6bec77c8b7983e1544c6358",
4516
  "shasum": ""
4517
  },
4518
  "require": {
@@ -4556,20 +4556,20 @@
4556
  ],
4557
  "description": "Symfony DomCrawler Component",
4558
  "homepage": "https://symfony.com",
4559
- "time": "2020-03-16T08:31:04+00:00"
4560
  },
4561
  {
4562
  "name": "symfony/event-dispatcher",
4563
- "version": "v3.4.40",
4564
  "source": {
4565
  "type": "git",
4566
  "url": "https://github.com/symfony/event-dispatcher.git",
4567
- "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48"
4568
  },
4569
  "dist": {
4570
  "type": "zip",
4571
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9d4e22943b73acc1ba50595b7de1a01fe9dbad48",
4572
- "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48",
4573
  "shasum": ""
4574
  },
4575
  "require": {
@@ -4619,20 +4619,20 @@
4619
  ],
4620
  "description": "Symfony EventDispatcher Component",
4621
  "homepage": "https://symfony.com",
4622
- "time": "2020-03-15T09:38:08+00:00"
4623
  },
4624
  {
4625
  "name": "symfony/filesystem",
4626
- "version": "v3.4.40",
4627
  "source": {
4628
  "type": "git",
4629
  "url": "https://github.com/symfony/filesystem.git",
4630
- "reference": "78a93e5606a19d0fb490afc3c4a9b7ecd86e1515"
4631
  },
4632
  "dist": {
4633
  "type": "zip",
4634
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/78a93e5606a19d0fb490afc3c4a9b7ecd86e1515",
4635
- "reference": "78a93e5606a19d0fb490afc3c4a9b7ecd86e1515",
4636
  "shasum": ""
4637
  },
4638
  "require": {
@@ -4669,11 +4669,11 @@
4669
  ],
4670
  "description": "Symfony Filesystem Component",
4671
  "homepage": "https://symfony.com",
4672
- "time": "2020-04-12T16:54:01+00:00"
4673
  },
4674
  {
4675
  "name": "symfony/finder",
4676
- "version": "v3.4.40",
4677
  "source": {
4678
  "type": "git",
4679
  "url": "https://github.com/symfony/finder.git",
@@ -4956,16 +4956,16 @@
4956
  },
4957
  {
4958
  "name": "symfony/process",
4959
- "version": "v3.4.40",
4960
  "source": {
4961
  "type": "git",
4962
  "url": "https://github.com/symfony/process.git",
4963
- "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271"
4964
  },
4965
  "dist": {
4966
  "type": "zip",
4967
- "url": "https://api.github.com/repos/symfony/process/zipball/f5104c9dcbc2cfad45d01d5150c1da9836967271",
4968
- "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271",
4969
  "shasum": ""
4970
  },
4971
  "require": {
@@ -5001,20 +5001,20 @@
5001
  ],
5002
  "description": "Symfony Process Component",
5003
  "homepage": "https://symfony.com",
5004
- "time": "2020-04-12T14:33:46+00:00"
5005
  },
5006
  {
5007
  "name": "symfony/yaml",
5008
- "version": "v3.4.40",
5009
  "source": {
5010
  "type": "git",
5011
  "url": "https://github.com/symfony/yaml.git",
5012
- "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa"
5013
  },
5014
  "dist": {
5015
  "type": "zip",
5016
- "url": "https://api.github.com/repos/symfony/yaml/zipball/8fef49ac1357f4e05c997a1f139467ccb186bffa",
5017
- "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa",
5018
  "shasum": ""
5019
  },
5020
  "require": {
@@ -5060,32 +5060,32 @@
5060
  ],
5061
  "description": "Symfony Yaml Component",
5062
  "homepage": "https://symfony.com",
5063
- "time": "2020-04-24T10:16:04+00:00"
5064
  },
5065
  {
5066
  "name": "vlucas/phpdotenv",
5067
- "version": "v4.1.5",
5068
  "source": {
5069
  "type": "git",
5070
  "url": "https://github.com/vlucas/phpdotenv.git",
5071
- "reference": "539bb6927c101a5605d31d11a2d17185a2ce2bf1"
5072
  },
5073
  "dist": {
5074
  "type": "zip",
5075
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/539bb6927c101a5605d31d11a2d17185a2ce2bf1",
5076
- "reference": "539bb6927c101a5605d31d11a2d17185a2ce2bf1",
5077
  "shasum": ""
5078
  },
5079
  "require": {
5080
  "php": "^5.5.9 || ^7.0 || ^8.0",
5081
- "phpoption/phpoption": "^1.7.2",
5082
- "symfony/polyfill-ctype": "^1.9"
5083
  },
5084
  "require-dev": {
5085
- "bamarni/composer-bin-plugin": "^1.3",
5086
  "ext-filter": "*",
5087
  "ext-pcre": "*",
5088
- "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
5089
  },
5090
  "suggest": {
5091
  "ext-filter": "Required to use the boolean validator.",
@@ -5124,7 +5124,7 @@
5124
  "env",
5125
  "environment"
5126
  ],
5127
- "time": "2020-05-02T14:08:57+00:00"
5128
  },
5129
  {
5130
  "name": "vria/nodiacritic",
@@ -6090,16 +6090,16 @@
6090
  },
6091
  {
6092
  "name": "wp-cli/i18n-command",
6093
- "version": "v2.2.2",
6094
  "source": {
6095
  "type": "git",
6096
  "url": "https://github.com/wp-cli/i18n-command.git",
6097
- "reference": "2804c5246d9338da59951737b03c54d257be8e47"
6098
  },
6099
  "dist": {
6100
  "type": "zip",
6101
- "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/2804c5246d9338da59951737b03c54d257be8e47",
6102
- "reference": "2804c5246d9338da59951737b03c54d257be8e47",
6103
  "shasum": ""
6104
  },
6105
  "require": {
@@ -6143,7 +6143,7 @@
6143
  ],
6144
  "description": "Provides internationalization tools for WordPress projects.",
6145
  "homepage": "https://github.com/wp-cli/i18n-command",
6146
- "time": "2019-12-13T09:00:43+00:00"
6147
  },
6148
  {
6149
  "name": "wp-cli/import-command",
@@ -6671,21 +6671,21 @@
6671
  },
6672
  {
6673
  "name": "wp-cli/scaffold-command",
6674
- "version": "v2.0.8",
6675
  "source": {
6676
  "type": "git",
6677
  "url": "https://github.com/wp-cli/scaffold-command.git",
6678
- "reference": "4814acbdf3d7af499530cc1ae1e82f3ed9f12674"
6679
  },
6680
  "dist": {
6681
  "type": "zip",
6682
- "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/4814acbdf3d7af499530cc1ae1e82f3ed9f12674",
6683
- "reference": "4814acbdf3d7af499530cc1ae1e82f3ed9f12674",
6684
  "shasum": ""
6685
  },
6686
  "require": {
6687
  "php": "^5.4 || ^7.0",
6688
- "wp-cli/wp-cli": "^2"
6689
  },
6690
  "require-dev": {
6691
  "wp-cli/extension-command": "^1.2 || ^2",
@@ -6730,7 +6730,7 @@
6730
  ],
6731
  "description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.",
6732
  "homepage": "https://github.com/wp-cli/scaffold-command",
6733
- "time": "2019-11-25T13:26:31+00:00"
6734
  },
6735
  {
6736
  "name": "wp-cli/search-replace-command",
@@ -7021,18 +7021,18 @@
7021
  "source": {
7022
  "type": "git",
7023
  "url": "https://github.com/wp-cli/wp-cli.git",
7024
- "reference": "6d4b6136f42e6aa01343294776c7be59dd5973b4"
7025
  },
7026
  "dist": {
7027
  "type": "zip",
7028
- "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/6d4b6136f42e6aa01343294776c7be59dd5973b4",
7029
- "reference": "6d4b6136f42e6aa01343294776c7be59dd5973b4",
7030
  "shasum": ""
7031
  },
7032
  "require": {
7033
  "ext-curl": "*",
7034
  "mustache/mustache": "~2.13",
7035
- "php": "^5.4 || ^7.0",
7036
  "rmccue/requests": "~1.6",
7037
  "symfony/finder": ">2.7",
7038
  "wp-cli/mustangostang-spyc": "^0.6.3",
@@ -7062,8 +7062,12 @@
7062
  },
7063
  "autoload": {
7064
  "psr-0": {
7065
- "WP_CLI": "php"
7066
- }
 
 
 
 
7067
  },
7068
  "notification-url": "https://packagist.org/downloads/",
7069
  "license": [
@@ -7075,7 +7079,7 @@
7075
  "cli",
7076
  "wordpress"
7077
  ],
7078
- "time": "2020-04-18T05:07:54+00:00"
7079
  },
7080
  {
7081
  "name": "wp-cli/wp-cli-bundle",
@@ -7279,16 +7283,16 @@
7279
  },
7280
  {
7281
  "name": "wpdesk/wp-builder",
7282
- "version": "1.4.1",
7283
  "source": {
7284
  "type": "git",
7285
  "url": "https://gitlab.com/wpdesk/wp-builder.git",
7286
- "reference": "707313bffb1e36dcda20140dfe431dcb1ece60df"
7287
  },
7288
  "dist": {
7289
  "type": "zip",
7290
- "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-builder/repository/archive.zip?sha=707313bffb1e36dcda20140dfe431dcb1ece60df",
7291
- "reference": "707313bffb1e36dcda20140dfe431dcb1ece60df",
7292
  "shasum": ""
7293
  },
7294
  "require": {
@@ -7318,7 +7322,7 @@
7318
  "email": "krzysiek@wpdesk.pl"
7319
  }
7320
  ],
7321
- "time": "2019-11-20T08:08:49+00:00"
7322
  },
7323
  {
7324
  "name": "wpdesk/wp-code-sniffer",
@@ -7438,16 +7442,16 @@
7438
  },
7439
  {
7440
  "name": "wpdesk/wp-logs",
7441
- "version": "1.6.0",
7442
  "source": {
7443
  "type": "git",
7444
  "url": "https://gitlab.com/wpdesk/wp-logs.git",
7445
- "reference": "e16ede8850423f6893ab8537db7f321d97734963"
7446
  },
7447
  "dist": {
7448
  "type": "zip",
7449
- "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-logs/repository/archive.zip?sha=e16ede8850423f6893ab8537db7f321d97734963",
7450
- "reference": "e16ede8850423f6893ab8537db7f321d97734963",
7451
  "shasum": ""
7452
  },
7453
  "require": {
@@ -7478,7 +7482,7 @@
7478
  "email": "krzysiek@wpdesk.pl"
7479
  }
7480
  ],
7481
- "time": "2019-05-22T16:24:23+00:00"
7482
  },
7483
  {
7484
  "name": "wpdesk/wp-notice",
@@ -7587,16 +7591,16 @@
7587
  },
7588
  {
7589
  "name": "wpdesk/wp-wpdesk-composer",
7590
- "version": "2.8.4",
7591
  "source": {
7592
  "type": "git",
7593
  "url": "https://gitlab.com/wpdesk/wp-wpdesk-composer.git",
7594
- "reference": "5716db176cc8cd25d711cffe2d1a610ecf83a065"
7595
  },
7596
  "dist": {
7597
  "type": "zip",
7598
- "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-wpdesk-composer/repository/archive.zip?sha=5716db176cc8cd25d711cffe2d1a610ecf83a065",
7599
- "reference": "5716db176cc8cd25d711cffe2d1a610ecf83a065",
7600
  "shasum": ""
7601
  },
7602
  "require": {
@@ -7626,7 +7630,7 @@
7626
  "email": "krzysiek@wpdesk.pl"
7627
  }
7628
  ],
7629
- "time": "2020-05-07T12:32:21+00:00"
7630
  },
7631
  {
7632
  "name": "wpdesk/wp-wpdesk-helper",
234
  },
235
  {
236
  "name": "codeception/codeception",
237
+ "version": "4.1.6",
238
  "source": {
239
  "type": "git",
240
  "url": "https://github.com/Codeception/Codeception.git",
241
+ "reference": "5515b6a6c6f1e1c909aaff2e5f3a15c177dfd1a9"
242
  },
243
  "dist": {
244
  "type": "zip",
245
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5515b6a6c6f1e1c909aaff2e5f3a15c177dfd1a9",
246
+ "reference": "5515b6a6c6f1e1c909aaff2e5f3a15c177dfd1a9",
247
  "shasum": ""
248
  },
249
  "require": {
315
  "functional testing",
316
  "unit testing"
317
  ],
318
+ "time": "2020-06-07T16:31:51+00:00"
319
  },
320
  {
321
  "name": "codeception/lib-asserts",
722
  },
723
  {
724
  "name": "codeception/module-webdriver",
725
+ "version": "1.1.0",
726
  "source": {
727
  "type": "git",
728
  "url": "https://github.com/Codeception/module-webdriver.git",
729
+ "reference": "09c167817393090ce3dbce96027d94656b1963ce"
730
  },
731
  "dist": {
732
  "type": "zip",
733
+ "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/09c167817393090ce3dbce96027d94656b1963ce",
734
+ "reference": "09c167817393090ce3dbce96027d94656b1963ce",
735
  "shasum": ""
736
  },
737
  "require": {
773
  "browser-testing",
774
  "codeception"
775
  ],
776
+ "time": "2020-05-31T08:47:24+00:00"
777
  },
778
  {
779
  "name": "codeception/phpunit-wrapper",
942
  },
943
  {
944
  "name": "composer/composer",
945
+ "version": "1.10.7",
946
  "source": {
947
  "type": "git",
948
  "url": "https://github.com/composer/composer.git",
949
+ "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39"
950
  },
951
  "dist": {
952
  "type": "zip",
953
+ "url": "https://api.github.com/repos/composer/composer/zipball/956608ea4f7de9e58c53dfb019d85ae62b193c39",
954
+ "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39",
955
  "shasum": ""
956
  },
957
  "require": {
959
  "composer/semver": "^1.0",
960
  "composer/spdx-licenses": "^1.2",
961
  "composer/xdebug-handler": "^1.1",
962
+ "justinrainbow/json-schema": "^5.2.10",
963
  "php": "^5.3.2 || ^7.0",
964
  "psr/log": "^1.0",
965
  "seld/jsonlint": "^1.4",
1019
  "dependency",
1020
  "package"
1021
  ],
1022
+ "time": "2020-06-03T08:03:56+00:00"
1023
  },
1024
  {
1025
  "name": "composer/semver",
1144
  },
1145
  {
1146
  "name": "composer/xdebug-handler",
1147
+ "version": "1.4.2",
1148
  "source": {
1149
  "type": "git",
1150
  "url": "https://github.com/composer/xdebug-handler.git",
1151
+ "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51"
1152
  },
1153
  "dist": {
1154
  "type": "zip",
1155
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
1156
+ "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
1157
  "shasum": ""
1158
  },
1159
  "require": {
1184
  "Xdebug",
1185
  "performance"
1186
  ],
1187
+ "time": "2020-06-04T11:16:35+00:00"
1188
  },
1189
  {
1190
  "name": "cweagans/composer-patches",
1623
  },
1624
  {
1625
  "name": "guzzlehttp/guzzle",
1626
+ "version": "6.5.4",
1627
  "source": {
1628
  "type": "git",
1629
  "url": "https://github.com/guzzle/guzzle.git",
1630
+ "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d"
1631
  },
1632
  "dist": {
1633
  "type": "zip",
1634
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d",
1635
+ "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d",
1636
  "shasum": ""
1637
  },
1638
  "require": {
1640
  "guzzlehttp/promises": "^1.0",
1641
  "guzzlehttp/psr7": "^1.6.1",
1642
  "php": ">=5.5",
1643
+ "symfony/polyfill-intl-idn": "1.17.0"
1644
  },
1645
  "require-dev": {
1646
  "ext-curl": "*",
1686
  "rest",
1687
  "web service"
1688
  ],
1689
+ "time": "2020-05-25T19:35:05+00:00"
1690
  },
1691
  {
1692
  "name": "guzzlehttp/promises",
2002
  },
2003
  {
2004
  "name": "justinrainbow/json-schema",
2005
+ "version": "5.2.10",
2006
  "source": {
2007
  "type": "git",
2008
  "url": "https://github.com/justinrainbow/json-schema.git",
2009
+ "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b"
2010
  },
2011
  "dist": {
2012
  "type": "zip",
2013
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
2014
+ "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
2015
  "shasum": ""
2016
  },
2017
  "require": {
2064
  "json",
2065
  "schema"
2066
  ],
2067
+ "time": "2020-05-27T16:41:55+00:00"
2068
  },
2069
  {
2070
  "name": "lucatume/wp-browser",
2071
+ "version": "2.6.1",
2072
  "source": {
2073
  "type": "git",
2074
  "url": "https://github.com/lucatume/wp-browser.git",
2075
+ "reference": "96085964d4f92ef9c5db05876977cc652353fc40"
2076
  },
2077
  "dist": {
2078
  "type": "zip",
2079
+ "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/96085964d4f92ef9c5db05876977cc652353fc40",
2080
+ "reference": "96085964d4f92ef9c5db05876977cc652353fc40",
2081
  "shasum": ""
2082
  },
2083
  "require": {
2101
  "gumlet/php-image-resize": "^1.6",
2102
  "lucatume/codeception-snapshot-assertions": "^0.2",
2103
  "mikey179/vfsstream": "^1.6",
2104
+ "victorjonsson/markdowndocs": "dev-master",
2105
+ "vlucas/phpdotenv": "^3.0"
2106
  },
2107
  "suggest": {
2108
  "codeception/module-asserts": "Codeception 4.0 compatibility.",
2147
  "codeception",
2148
  "wordpress"
2149
  ],
2150
+ "time": "2020-06-11T09:31:08+00:00"
2151
  },
2152
  {
2153
  "name": "matthiasmullie/minify",
2434
  },
2435
  {
2436
  "name": "monolog/monolog",
2437
+ "version": "1.25.4",
2438
  "source": {
2439
  "type": "git",
2440
  "url": "https://github.com/Seldaek/monolog.git",
2441
+ "reference": "3022efff205e2448b560c833c6fbbf91c3139168"
2442
  },
2443
  "dist": {
2444
  "type": "zip",
2445
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/3022efff205e2448b560c833c6fbbf91c3139168",
2446
+ "reference": "3022efff205e2448b560c833c6fbbf91c3139168",
2447
  "shasum": ""
2448
  },
2449
  "require": {
2457
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
2458
  "doctrine/couchdb": "~1.0@dev",
2459
  "graylog2/gelf-php": "~1.0",
 
2460
  "php-amqplib/php-amqplib": "~2.4",
2461
  "php-console/php-console": "^3.1.3",
2462
+ "php-parallel-lint/php-parallel-lint": "^1.0",
2463
  "phpunit/phpunit": "~4.5",
 
2464
  "ruflin/elastica": ">=0.90 <3.0",
2465
  "sentry/sentry": "^0.13",
2466
  "swiftmailer/swiftmailer": "^5.3|^6.0"
2507
  "logging",
2508
  "psr-3"
2509
  ],
2510
+ "time": "2020-05-22T07:31:27+00:00"
2511
  },
2512
  {
2513
  "name": "mustache/mustache",
2960
  },
2961
  {
2962
  "name": "phpoption/phpoption",
2963
+ "version": "1.7.4",
2964
  "source": {
2965
  "type": "git",
2966
  "url": "https://github.com/schmittjoh/php-option.git",
2967
+ "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3"
2968
  },
2969
  "dist": {
2970
  "type": "zip",
2971
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3",
2972
+ "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3",
2973
  "shasum": ""
2974
  },
2975
  "require": {
3011
  "php",
3012
  "type"
3013
  ],
3014
+ "time": "2020-06-07T10:40:07+00:00"
3015
  },
3016
  {
3017
  "name": "phpspec/prophecy",
4265
  },
4266
  {
4267
  "name": "symfony/browser-kit",
4268
+ "version": "v3.4.42",
4269
  "source": {
4270
  "type": "git",
4271
  "url": "https://github.com/symfony/browser-kit.git",
4272
+ "reference": "1467e0c7cf0c5c2c08dc9b45ca0300ac3cd3a824"
4273
  },
4274
  "dist": {
4275
  "type": "zip",
4276
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/1467e0c7cf0c5c2c08dc9b45ca0300ac3cd3a824",
4277
+ "reference": "1467e0c7cf0c5c2c08dc9b45ca0300ac3cd3a824",
4278
  "shasum": ""
4279
  },
4280
  "require": {
4318
  ],
4319
  "description": "Symfony BrowserKit Component",
4320
  "homepage": "https://symfony.com",
4321
+ "time": "2020-04-27T06:55:12+00:00"
4322
  },
4323
  {
4324
  "name": "symfony/console",
4325
+ "version": "v3.4.42",
4326
  "source": {
4327
  "type": "git",
4328
  "url": "https://github.com/symfony/console.git",
4329
+ "reference": "bfe29ead7e7b1cc9ce74c6a40d06ad1f96fced13"
4330
  },
4331
  "dist": {
4332
  "type": "zip",
4333
+ "url": "https://api.github.com/repos/symfony/console/zipball/bfe29ead7e7b1cc9ce74c6a40d06ad1f96fced13",
4334
+ "reference": "bfe29ead7e7b1cc9ce74c6a40d06ad1f96fced13",
4335
  "shasum": ""
4336
  },
4337
  "require": {
4390
  ],
4391
  "description": "Symfony Console Component",
4392
  "homepage": "https://symfony.com",
4393
+ "time": "2020-05-30T18:58:05+00:00"
4394
  },
4395
  {
4396
  "name": "symfony/css-selector",
4397
+ "version": "v3.4.42",
4398
  "source": {
4399
  "type": "git",
4400
  "url": "https://github.com/symfony/css-selector.git",
4447
  },
4448
  {
4449
  "name": "symfony/debug",
4450
+ "version": "v3.4.42",
4451
  "source": {
4452
  "type": "git",
4453
  "url": "https://github.com/symfony/debug.git",
4454
+ "reference": "518c6a00d0872da30bd06aee3ea59a0a5cf54d6d"
4455
  },
4456
  "dist": {
4457
  "type": "zip",
4458
+ "url": "https://api.github.com/repos/symfony/debug/zipball/518c6a00d0872da30bd06aee3ea59a0a5cf54d6d",
4459
+ "reference": "518c6a00d0872da30bd06aee3ea59a0a5cf54d6d",
4460
  "shasum": ""
4461
  },
4462
  "require": {
4499
  ],
4500
  "description": "Symfony Debug Component",
4501
  "homepage": "https://symfony.com",
4502
+ "time": "2020-05-22T18:25:20+00:00"
4503
  },
4504
  {
4505
  "name": "symfony/dom-crawler",
4506
+ "version": "v3.4.42",
4507
  "source": {
4508
  "type": "git",
4509
  "url": "https://github.com/symfony/dom-crawler.git",
4510
+ "reference": "c3086a58a66b2a519c0b7ac80539a3727609ea9c"
4511
  },
4512
  "dist": {
4513
  "type": "zip",
4514
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/c3086a58a66b2a519c0b7ac80539a3727609ea9c",
4515
+ "reference": "c3086a58a66b2a519c0b7ac80539a3727609ea9c",
4516
  "shasum": ""
4517
  },
4518
  "require": {
4556
  ],
4557
  "description": "Symfony DomCrawler Component",
4558
  "homepage": "https://symfony.com",
4559
+ "time": "2020-05-22T19:35:43+00:00"
4560
  },
4561
  {
4562
  "name": "symfony/event-dispatcher",
4563
+ "version": "v3.4.42",
4564
  "source": {
4565
  "type": "git",
4566
  "url": "https://github.com/symfony/event-dispatcher.git",
4567
+ "reference": "14d978f8e8555f2de719c00eb65376be7d2e9081"
4568
  },
4569
  "dist": {
4570
  "type": "zip",
4571
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/14d978f8e8555f2de719c00eb65376be7d2e9081",
4572
+ "reference": "14d978f8e8555f2de719c00eb65376be7d2e9081",
4573
  "shasum": ""
4574
  },
4575
  "require": {
4619
  ],
4620
  "description": "Symfony EventDispatcher Component",
4621
  "homepage": "https://symfony.com",
4622
+ "time": "2020-05-05T15:06:23+00:00"
4623
  },
4624
  {
4625
  "name": "symfony/filesystem",
4626
+ "version": "v3.4.42",
4627
  "source": {
4628
  "type": "git",
4629
  "url": "https://github.com/symfony/filesystem.git",
4630
+ "reference": "0f625d0cb1e59c8c4ba61abb170125175218ff10"
4631
  },
4632
  "dist": {
4633
  "type": "zip",
4634
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/0f625d0cb1e59c8c4ba61abb170125175218ff10",
4635
+ "reference": "0f625d0cb1e59c8c4ba61abb170125175218ff10",
4636
  "shasum": ""
4637
  },
4638
  "require": {
4669
  ],
4670
  "description": "Symfony Filesystem Component",
4671
  "homepage": "https://symfony.com",
4672
+ "time": "2020-05-30T17:48:24+00:00"
4673
  },
4674
  {
4675
  "name": "symfony/finder",
4676
+ "version": "v3.4.42",
4677
  "source": {
4678
  "type": "git",
4679
  "url": "https://github.com/symfony/finder.git",
4956
  },
4957
  {
4958
  "name": "symfony/process",
4959
+ "version": "v3.4.42",
4960
  "source": {
4961
  "type": "git",
4962
  "url": "https://github.com/symfony/process.git",
4963
+ "reference": "8a895f0c92a7c4b10db95139bcff71bdf66d4d21"
4964
  },
4965
  "dist": {
4966
  "type": "zip",
4967
+ "url": "https://api.github.com/repos/symfony/process/zipball/8a895f0c92a7c4b10db95139bcff71bdf66d4d21",
4968
+ "reference": "8a895f0c92a7c4b10db95139bcff71bdf66d4d21",
4969
  "shasum": ""
4970
  },
4971
  "require": {
5001
  ],
5002
  "description": "Symfony Process Component",
5003
  "homepage": "https://symfony.com",
5004
+ "time": "2020-05-23T17:05:51+00:00"
5005
  },
5006
  {
5007
  "name": "symfony/yaml",
5008
+ "version": "v3.4.42",
5009
  "source": {
5010
  "type": "git",
5011
  "url": "https://github.com/symfony/yaml.git",
5012
+ "reference": "7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb"
5013
  },
5014
  "dist": {
5015
  "type": "zip",
5016
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb",
5017
+ "reference": "7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb",
5018
  "shasum": ""
5019
  },
5020
  "require": {
5060
  ],
5061
  "description": "Symfony Yaml Component",
5062
  "homepage": "https://symfony.com",
5063
+ "time": "2020-05-11T07:51:54+00:00"
5064
  },
5065
  {
5066
  "name": "vlucas/phpdotenv",
5067
+ "version": "v4.1.7",
5068
  "source": {
5069
  "type": "git",
5070
  "url": "https://github.com/vlucas/phpdotenv.git",
5071
+ "reference": "db63b2ea280fdcf13c4ca392121b0b2450b51193"
5072
  },
5073
  "dist": {
5074
  "type": "zip",
5075
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/db63b2ea280fdcf13c4ca392121b0b2450b51193",
5076
+ "reference": "db63b2ea280fdcf13c4ca392121b0b2450b51193",
5077
  "shasum": ""
5078
  },
5079
  "require": {
5080
  "php": "^5.5.9 || ^7.0 || ^8.0",
5081
+ "phpoption/phpoption": "^1.7.3",
5082
+ "symfony/polyfill-ctype": "^1.16"
5083
  },
5084
  "require-dev": {
5085
+ "bamarni/composer-bin-plugin": "^1.4.1",
5086
  "ext-filter": "*",
5087
  "ext-pcre": "*",
5088
+ "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0"
5089
  },
5090
  "suggest": {
5091
  "ext-filter": "Required to use the boolean validator.",
5124
  "env",
5125
  "environment"
5126
  ],
5127
+ "time": "2020-06-07T18:25:35+00:00"
5128
  },
5129
  {
5130
  "name": "vria/nodiacritic",
6090
  },
6091
  {
6092
  "name": "wp-cli/i18n-command",
6093
+ "version": "v2.2.3",
6094
  "source": {
6095
  "type": "git",
6096
  "url": "https://github.com/wp-cli/i18n-command.git",
6097
+ "reference": "7a5d483d872dfec1b89d88d348666ecd59454d52"
6098
  },
6099
  "dist": {
6100
  "type": "zip",
6101
+ "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/7a5d483d872dfec1b89d88d348666ecd59454d52",
6102
+ "reference": "7a5d483d872dfec1b89d88d348666ecd59454d52",
6103
  "shasum": ""
6104
  },
6105
  "require": {
6143
  ],
6144
  "description": "Provides internationalization tools for WordPress projects.",
6145
  "homepage": "https://github.com/wp-cli/i18n-command",
6146
+ "time": "2020-06-04T07:07:10+00:00"
6147
  },
6148
  {
6149
  "name": "wp-cli/import-command",
6671
  },
6672
  {
6673
  "name": "wp-cli/scaffold-command",
6674
+ "version": "v2.0.9",
6675
  "source": {
6676
  "type": "git",
6677
  "url": "https://github.com/wp-cli/scaffold-command.git",
6678
+ "reference": "8c545c5e6411b3d0b5fda1c336c9dec163d35aee"
6679
  },
6680
  "dist": {
6681
  "type": "zip",
6682
+ "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/8c545c5e6411b3d0b5fda1c336c9dec163d35aee",
6683
+ "reference": "8c545c5e6411b3d0b5fda1c336c9dec163d35aee",
6684
  "shasum": ""
6685
  },
6686
  "require": {
6687
  "php": "^5.4 || ^7.0",
6688
+ "wp-cli/wp-cli": "dev-master"
6689
  },
6690
  "require-dev": {
6691
  "wp-cli/extension-command": "^1.2 || ^2",
6730
  ],
6731
  "description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.",
6732
  "homepage": "https://github.com/wp-cli/scaffold-command",
6733
+ "time": "2020-05-28T16:06:11+00:00"
6734
  },
6735
  {
6736
  "name": "wp-cli/search-replace-command",
7021
  "source": {
7022
  "type": "git",
7023
  "url": "https://github.com/wp-cli/wp-cli.git",
7024
+ "reference": "0ae9f0f0472351480e2f60b55b2c674173f82774"
7025
  },
7026
  "dist": {
7027
  "type": "zip",
7028
+ "url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/0ae9f0f0472351480e2f60b55b2c674173f82774",
7029
+ "reference": "0ae9f0f0472351480e2f60b55b2c674173f82774",
7030
  "shasum": ""
7031
  },
7032
  "require": {
7033
  "ext-curl": "*",
7034
  "mustache/mustache": "~2.13",
7035
+ "php": "^5.6 || ^7.0",
7036
  "rmccue/requests": "~1.6",
7037
  "symfony/finder": ">2.7",
7038
  "wp-cli/mustangostang-spyc": "^0.6.3",
7062
  },
7063
  "autoload": {
7064
  "psr-0": {
7065
+ "WP_CLI\\": "php/"
7066
+ },
7067
+ "classmap": [
7068
+ "php/class-wp-cli.php",
7069
+ "php/class-wp-cli-command.php"
7070
+ ]
7071
  },
7072
  "notification-url": "https://packagist.org/downloads/",
7073
  "license": [
7079
  "cli",
7080
  "wordpress"
7081
  ],
7082
+ "time": "2020-06-10T15:22:07+00:00"
7083
  },
7084
  {
7085
  "name": "wp-cli/wp-cli-bundle",
7283
  },
7284
  {
7285
  "name": "wpdesk/wp-builder",
7286
+ "version": "1.4.3",
7287
  "source": {
7288
  "type": "git",
7289
  "url": "https://gitlab.com/wpdesk/wp-builder.git",
7290
+ "reference": "fc5270963576168fd78d05e9ae3c59973091c64a"
7291
  },
7292
  "dist": {
7293
  "type": "zip",
7294
+ "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-builder/repository/archive.zip?sha=fc5270963576168fd78d05e9ae3c59973091c64a",
7295
+ "reference": "fc5270963576168fd78d05e9ae3c59973091c64a",
7296
  "shasum": ""
7297
  },
7298
  "require": {
7322
  "email": "krzysiek@wpdesk.pl"
7323
  }
7324
  ],
7325
+ "time": "2020-06-04T06:28:36+00:00"
7326
  },
7327
  {
7328
  "name": "wpdesk/wp-code-sniffer",
7442
  },
7443
  {
7444
  "name": "wpdesk/wp-logs",
7445
+ "version": "1.6.1",
7446
  "source": {
7447
  "type": "git",
7448
  "url": "https://gitlab.com/wpdesk/wp-logs.git",
7449
+ "reference": "8826da3ec03e8093f8634826e6ec261eb4ba2b0a"
7450
  },
7451
  "dist": {
7452
  "type": "zip",
7453
+ "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-logs/repository/archive.zip?sha=8826da3ec03e8093f8634826e6ec261eb4ba2b0a",
7454
+ "reference": "8826da3ec03e8093f8634826e6ec261eb4ba2b0a",
7455
  "shasum": ""
7456
  },
7457
  "require": {
7482
  "email": "krzysiek@wpdesk.pl"
7483
  }
7484
  ],
7485
+ "time": "2020-05-25T09:45:36+00:00"
7486
  },
7487
  {
7488
  "name": "wpdesk/wp-notice",
7591
  },
7592
  {
7593
  "name": "wpdesk/wp-wpdesk-composer",
7594
+ "version": "2.8.5",
7595
  "source": {
7596
  "type": "git",
7597
  "url": "https://gitlab.com/wpdesk/wp-wpdesk-composer.git",
7598
+ "reference": "8725f6d70c14c6fc81cdc54197f1d98745fb4fad"
7599
  },
7600
  "dist": {
7601
  "type": "zip",
7602
+ "url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-wpdesk-composer/repository/archive.zip?sha=8725f6d70c14c6fc81cdc54197f1d98745fb4fad",
7603
+ "reference": "8725f6d70c14c6fc81cdc54197f1d98745fb4fad",
7604
  "shasum": ""
7605
  },
7606
  "require": {
7630
  "email": "krzysiek@wpdesk.pl"
7631
  }
7632
  ],
7633
+ "time": "2020-06-03T11:26:35+00:00"
7634
  },
7635
  {
7636
  "name": "wpdesk/wp-wpdesk-helper",
flexible-checkout-fields.php CHANGED
@@ -3,15 +3,15 @@
3
  Plugin Name: Flexible Checkout Fields
4
  Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
5
  Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
6
- Version: 2.4.11
7
  Author: WP Desk
8
  Author URI: https://www.wpdesk.net/
9
  Text Domain: flexible-checkout-fields
10
  Domain Path: /lang/
11
  Requires at least: 4.6
12
- Tested up to: 5.4.1
13
  WC requires at least: 3.8
14
- WC tested up to: 4.2
15
  Requires PHP: 5.6
16
 
17
  Copyright 2017 WP Desk Ltd.
@@ -39,7 +39,7 @@ if ( ! defined( 'ABSPATH' ) ) {
39
 
40
 
41
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
42
- $plugin_version = '2.4.11';
43
 
44
  define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
45
 
3
  Plugin Name: Flexible Checkout Fields
4
  Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
5
  Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
6
+ Version: 2.4.12
7
  Author: WP Desk
8
  Author URI: https://www.wpdesk.net/
9
  Text Domain: flexible-checkout-fields
10
  Domain Path: /lang/
11
  Requires at least: 4.6
12
+ Tested up to: 5.4.2
13
  WC requires at least: 3.8
14
+ WC tested up to: 4.3
15
  Requires PHP: 5.6
16
 
17
  Copyright 2017 WP Desk Ltd.
39
 
40
 
41
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
42
+ $plugin_version = '2.4.12';
43
 
44
  define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
45
 
lang/flexible-checkout-fields.pot CHANGED
@@ -7,8 +7,8 @@ msgstr ""
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
- "POT-Creation-Date: 2020-05-18T08:49:29+00:00\n"
11
- "PO-Revision-Date: 2020-05-18T08:49:29+00:00\n"
12
  "Language: \n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -47,40 +47,40 @@ msgid "Display field's label"
47
  msgstr ""
48
 
49
  #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:83
50
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:364
51
  msgid "Meta name: %s."
52
  msgstr ""
53
 
54
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:327
55
  msgid "Requirement of this field is controlled by WooCommerce and cannot be changed."
56
  msgstr ""
57
 
58
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:381
59
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:806
60
  msgid "For Post Code validation works only with country."
61
  msgstr ""
62
 
63
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:474
64
  msgid "This field is address locale dependent and cannot be modified."
65
  msgstr ""
66
 
67
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:544
68
  msgid "Display state abbreviations"
69
  msgstr ""
70
 
71
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:549
72
  msgid "Display a comma before, if the field is not in the new line"
73
  msgstr ""
74
 
75
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:642
76
  msgid "Invalid field name: %s. The name already exists."
77
  msgstr ""
78
 
79
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:794
80
  msgid "Meta name: "
81
  msgstr ""
82
 
83
- #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:992
84
  msgid "Do you really want to delete this field: %s? Deleting a field remove it from all orders."
85
  msgstr ""
86
 
@@ -182,48 +182,48 @@ msgstr ""
182
  msgid "File Upload"
183
  msgstr ""
184
 
185
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:946
186
  msgid "Advanced"
187
  msgstr ""
188
 
189
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1024
190
  msgid "Uploading file..."
191
  msgstr ""
192
 
193
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1070
194
  msgid "Close"
195
  msgstr ""
196
 
197
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1071
198
  msgid "Today"
199
  msgstr ""
200
 
201
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1074
202
  msgid "Next"
203
  msgstr ""
204
 
205
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1075
206
  msgid "Previous"
207
  msgstr ""
208
 
209
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1103
210
  #: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:165
211
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:198
212
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Page/SettingsPage.php:46
213
  msgid "Settings"
214
  msgstr ""
215
 
216
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1105
217
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:194
218
  msgid "Docs"
219
  msgstr ""
220
 
221
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1106
222
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:191
223
  msgid "Support"
224
  msgstr ""
225
 
226
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1112
227
  msgid "Upgrade"
228
  msgstr ""
229
 
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
+ "POT-Creation-Date: 2020-06-23T10:17:49+00:00\n"
11
+ "PO-Revision-Date: 2020-06-23T10:17:49+00:00\n"
12
  "Language: \n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
47
  msgstr ""
48
 
49
  #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:83
50
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:363
51
  msgid "Meta name: %s."
52
  msgstr ""
53
 
54
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:325
55
  msgid "Requirement of this field is controlled by WooCommerce and cannot be changed."
56
  msgstr ""
57
 
58
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:384
59
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:821
60
  msgid "For Post Code validation works only with country."
61
  msgstr ""
62
 
63
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:479
64
  msgid "This field is address locale dependent and cannot be modified."
65
  msgstr ""
66
 
67
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:549
68
  msgid "Display state abbreviations"
69
  msgstr ""
70
 
71
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:554
72
  msgid "Display a comma before, if the field is not in the new line"
73
  msgstr ""
74
 
75
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:658
76
  msgid "Invalid field name: %s. The name already exists."
77
  msgstr ""
78
 
79
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:809
80
  msgid "Meta name: "
81
  msgstr ""
82
 
83
+ #: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:1007
84
  msgid "Do you really want to delete this field: %s? Deleting a field remove it from all orders."
85
  msgstr ""
86
 
182
  msgid "File Upload"
183
  msgstr ""
184
 
185
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:943
186
  msgid "Advanced"
187
  msgstr ""
188
 
189
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1019
190
  msgid "Uploading file..."
191
  msgstr ""
192
 
193
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1066
194
  msgid "Close"
195
  msgstr ""
196
 
197
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1067
198
  msgid "Today"
199
  msgstr ""
200
 
201
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1070
202
  msgid "Next"
203
  msgstr ""
204
 
205
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1071
206
  msgid "Previous"
207
  msgstr ""
208
 
209
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1099
210
  #: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:165
211
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:198
212
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Page/SettingsPage.php:46
213
  msgid "Settings"
214
  msgstr ""
215
 
216
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1101
217
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:194
218
  msgid "Docs"
219
  msgstr ""
220
 
221
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1102
222
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:191
223
  msgid "Support"
224
  msgstr ""
225
 
226
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1108
227
  msgid "Upgrade"
228
  msgstr ""
229
 
readme.txt CHANGED
@@ -4,8 +4,8 @@ Contributors: wpdesk,dyszczo,grola,piotrpo,marcinkolanko
4
  Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
5
  Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
6
  Requires at least: 4.5
7
- Tested up to: 5.4.1
8
- Stable tag: 2.4.11
9
  Requires PHP: 5.6
10
  License: GPLv3 or later
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -187,6 +187,9 @@ If you are upgrading from the old WooCommerce Checkout Fields version (1.1, wooc
187
 
188
  == Changelog ==
189
 
 
 
 
190
  = 2.4.11 - 2020-05-12 =
191
  * Fixed field name validation - validation works only on currently added fields
192
 
4
  Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
5
  Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
6
  Requires at least: 4.5
7
+ Tested up to: 5.4.2
8
+ Stable tag: 2.4.12
9
  Requires PHP: 5.6
10
  License: GPLv3 or later
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
187
 
188
  == Changelog ==
189
 
190
+ = 2.4.12 - 2020-06-23 =
191
+ * Added additional request sanitization
192
+
193
  = 2.4.11 - 2020-05-12 =
194
  * Fixed field name validation - validation works only on currently added fields
195
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitc97107f40684cf7edd03e6fd207b52c5::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit1b08c55c3d6fb768f20829ac79098bd6::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -235,7 +235,7 @@ return array(
235
  'Flexible_Checkout_Fields_Field_Type_Settings' => $baseDir . '/classes/field-type-settings.php',
236
  'Flexible_Checkout_Fields_Field_Validation' => $baseDir . '/classes/filed-validation.php',
237
  'Flexible_Checkout_Fields_Myaccount_Edit_Address' => $baseDir . '/classes/myaccount-edit-address.php',
238
- 'Flexible_Checkout_Fields_Myaccount_Field_Processor' => $baseDir . '/classes/myaccount-filed-processor.php',
239
  'Flexible_Checkout_Fields_Plugin' => $baseDir . '/classes/plugin.php',
240
  'Flexible_Checkout_Fields_Settings' => $baseDir . '/classes/settings.php',
241
  'Flexible_Checkout_Fields_User_Meta' => $baseDir . '/classes/user-meta.php',
235
  'Flexible_Checkout_Fields_Field_Type_Settings' => $baseDir . '/classes/field-type-settings.php',
236
  'Flexible_Checkout_Fields_Field_Validation' => $baseDir . '/classes/filed-validation.php',
237
  'Flexible_Checkout_Fields_Myaccount_Edit_Address' => $baseDir . '/classes/myaccount-edit-address.php',
238
+ 'Flexible_Checkout_Fields_Myaccount_Field_Processor' => $baseDir . '/classes/myaccount-field-processor.php',
239
  'Flexible_Checkout_Fields_Plugin' => $baseDir . '/classes/plugin.php',
240
  'Flexible_Checkout_Fields_Settings' => $baseDir . '/classes/settings.php',
241
  'Flexible_Checkout_Fields_User_Meta' => $baseDir . '/classes/user-meta.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitc97107f40684cf7edd03e6fd207b52c5
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitc97107f40684cf7edd03e6fd207b52c5
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitc97107f40684cf7edd03e6fd207b52c5', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitc97107f40684cf7edd03e6fd207b52c5', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit1b08c55c3d6fb768f20829ac79098bd6
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit1b08c55c3d6fb768f20829ac79098bd6', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit1b08c55c3d6fb768f20829ac79098bd6', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit1b08c55c3d6fb768f20829ac79098bd6::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
@@ -250,7 +250,7 @@ class ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5
250
  'Flexible_Checkout_Fields_Field_Type_Settings' => __DIR__ . '/../..' . '/classes/field-type-settings.php',
251
  'Flexible_Checkout_Fields_Field_Validation' => __DIR__ . '/../..' . '/classes/filed-validation.php',
252
  'Flexible_Checkout_Fields_Myaccount_Edit_Address' => __DIR__ . '/../..' . '/classes/myaccount-edit-address.php',
253
- 'Flexible_Checkout_Fields_Myaccount_Field_Processor' => __DIR__ . '/../..' . '/classes/myaccount-filed-processor.php',
254
  'Flexible_Checkout_Fields_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
255
  'Flexible_Checkout_Fields_Settings' => __DIR__ . '/../..' . '/classes/settings.php',
256
  'Flexible_Checkout_Fields_User_Meta' => __DIR__ . '/../..' . '/classes/user-meta.php',
@@ -278,9 +278,9 @@ class ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5
278
  public static function getInitializer(ClassLoader $loader)
279
  {
280
  return \Closure::bind(function () use ($loader) {
281
- $loader->prefixLengthsPsr4 = ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5::$prefixLengthsPsr4;
282
- $loader->prefixDirsPsr4 = ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5::$prefixDirsPsr4;
283
- $loader->classMap = ComposerStaticInitc97107f40684cf7edd03e6fd207b52c5::$classMap;
284
 
285
  }, null, ClassLoader::class);
286
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit1b08c55c3d6fb768f20829ac79098bd6
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
250
  'Flexible_Checkout_Fields_Field_Type_Settings' => __DIR__ . '/../..' . '/classes/field-type-settings.php',
251
  'Flexible_Checkout_Fields_Field_Validation' => __DIR__ . '/../..' . '/classes/filed-validation.php',
252
  'Flexible_Checkout_Fields_Myaccount_Edit_Address' => __DIR__ . '/../..' . '/classes/myaccount-edit-address.php',
253
+ 'Flexible_Checkout_Fields_Myaccount_Field_Processor' => __DIR__ . '/../..' . '/classes/myaccount-field-processor.php',
254
  'Flexible_Checkout_Fields_Plugin' => __DIR__ . '/../..' . '/classes/plugin.php',
255
  'Flexible_Checkout_Fields_Settings' => __DIR__ . '/../..' . '/classes/settings.php',
256
  'Flexible_Checkout_Fields_User_Meta' => __DIR__ . '/../..' . '/classes/user-meta.php',
278
  public static function getInitializer(ClassLoader $loader)
279
  {
280
  return \Closure::bind(function () use ($loader) {
281
+ $loader->prefixLengthsPsr4 = ComposerStaticInit1b08c55c3d6fb768f20829ac79098bd6::$prefixLengthsPsr4;
282
+ $loader->prefixDirsPsr4 = ComposerStaticInit1b08c55c3d6fb768f20829ac79098bd6::$prefixDirsPsr4;
283
+ $loader->classMap = ComposerStaticInit1b08c55c3d6fb768f20829ac79098bd6::$classMap;
284
 
285
  }, null, ClassLoader::class);
286
  }
vendor_prefixed/monolog/monolog/composer.json CHANGED
@@ -30,10 +30,8 @@
30
  "php-amqplib\/php-amqplib": "~2.4",
31
  "swiftmailer\/swiftmailer": "^5.3|^6.0",
32
  "php-console\/php-console": "^3.1.3",
33
- "phpunit\/phpunit-mock-objects": "2.3.0",
34
- "jakub-onderka\/php-parallel-lint": "0.9"
35
  },
36
- "_": "phpunit\/phpunit-mock-objects required in 2.3.0 due to https:\/\/github.com\/sebastianbergmann\/phpunit-mock-objects\/issues\/223 - needs hhvm 3.8+ on travis",
37
  "suggest": {
38
  "graylog2\/gelf-php": "Allow sending log messages to a GrayLog2 server",
39
  "sentry\/sentry": "Allow sending log messages to a Sentry server",
@@ -70,5 +68,6 @@
70
  "parallel-lint . --exclude vendor --exclude src\/Monolog\/Handler\/FormattableHandlerInterface.php --exclude src\/Monolog\/Handler\/FormattableHandlerTrait.php --exclude src\/Monolog\/Handler\/ProcessableHandlerInterface.php --exclude src\/Monolog\/Handler\/ProcessableHandlerTrait.php",
71
  "phpunit"
72
  ]
73
- }
 
74
  }
30
  "php-amqplib\/php-amqplib": "~2.4",
31
  "swiftmailer\/swiftmailer": "^5.3|^6.0",
32
  "php-console\/php-console": "^3.1.3",
33
+ "php-parallel-lint\/php-parallel-lint": "^1.0"
 
34
  },
 
35
  "suggest": {
36
  "graylog2\/gelf-php": "Allow sending log messages to a GrayLog2 server",
37
  "sentry\/sentry": "Allow sending log messages to a Sentry server",
68
  "parallel-lint . --exclude vendor --exclude src\/Monolog\/Handler\/FormattableHandlerInterface.php --exclude src\/Monolog\/Handler\/FormattableHandlerTrait.php --exclude src\/Monolog\/Handler\/ProcessableHandlerInterface.php --exclude src\/Monolog\/Handler\/ProcessableHandlerTrait.php",
69
  "phpunit"
70
  ]
71
+ },
72
+ "lock": false
73
  }
vendor_prefixed/monolog/monolog/src/Monolog/ErrorHandler.php CHANGED
@@ -13,7 +13,6 @@ namespace FcfVendor\Monolog;
13
  use Psr\Log\LoggerInterface;
14
  use Psr\Log\LogLevel;
15
  use FcfVendor\Monolog\Handler\AbstractHandler;
16
- use FcfVendor\Monolog\Registry;
17
  /**
18
  * Monolog error handler
19
  *
13
  use Psr\Log\LoggerInterface;
14
  use Psr\Log\LogLevel;
15
  use FcfVendor\Monolog\Handler\AbstractHandler;
 
16
  /**
17
  * Monolog error handler
18
  *
vendor_prefixed/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php CHANGED
@@ -112,8 +112,12 @@ class NormalizerFormatter implements \FcfVendor\Monolog\Formatter\FormatterInter
112
  if (isset($e->faultactor)) {
113
  $data['faultactor'] = $e->faultactor;
114
  }
115
- if (isset($e->detail) && (\is_string($e->detail) || \is_object($e->detail) || \is_array($e->detail))) {
116
- $data['detail'] = \is_string($e->detail) ? $e->detail : \reset($e->detail);
 
 
 
 
117
  }
118
  }
119
  $trace = $e->getTrace();
112
  if (isset($e->faultactor)) {
113
  $data['faultactor'] = $e->faultactor;
114
  }
115
+ if (isset($e->detail)) {
116
+ if (\is_string($e->detail)) {
117
+ $data['detail'] = $e->detail;
118
+ } elseif (\is_object($e->detail) || \is_array($e->detail)) {
119
+ $data['detail'] = $this->toJson($e->detail, \true);
120
+ }
121
  }
122
  }
123
  $trace = $e->getTrace();
vendor_prefixed/monolog/monolog/src/Monolog/Handler/AbstractHandler.php CHANGED
@@ -29,8 +29,8 @@ abstract class AbstractHandler implements \FcfVendor\Monolog\Handler\HandlerInte
29
  protected $formatter;
30
  protected $processors = array();
31
  /**
32
- * @param int $level The minimum logging level at which this handler will be triggered
33
- * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
34
  */
35
  public function __construct($level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true)
36
  {
29
  protected $formatter;
30
  protected $processors = array();
31
  /**
32
+ * @param int|string $level The minimum logging level at which this handler will be triggered
33
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
34
  */
35
  public function __construct($level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true)
36
  {
vendor_prefixed/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php CHANGED
@@ -11,6 +11,7 @@
11
  namespace FcfVendor\Monolog\Handler;
12
 
13
  use FcfVendor\Monolog\Logger;
 
14
  /**
15
  * Stores logs to files that are rotated every day and a limited number of files are kept.
16
  *
@@ -41,7 +42,7 @@ class RotatingFileHandler extends \FcfVendor\Monolog\Handler\StreamHandler
41
  */
42
  public function __construct($filename, $maxFiles = 0, $level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true, $filePermission = null, $useLocking = \false)
43
  {
44
- $this->filename = $filename;
45
  $this->maxFiles = (int) $maxFiles;
46
  $this->nextRotation = new \DateTime('tomorrow');
47
  $this->filenameFormat = '{filename}-{date}';
11
  namespace FcfVendor\Monolog\Handler;
12
 
13
  use FcfVendor\Monolog\Logger;
14
+ use FcfVendor\Monolog\Utils;
15
  /**
16
  * Stores logs to files that are rotated every day and a limited number of files are kept.
17
  *
42
  */
43
  public function __construct($filename, $maxFiles = 0, $level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true, $filePermission = null, $useLocking = \false)
44
  {
45
+ $this->filename = \FcfVendor\Monolog\Utils::canonicalizePath($filename);
46
  $this->maxFiles = (int) $maxFiles;
47
  $this->nextRotation = new \DateTime('tomorrow');
48
  $this->filenameFormat = '{filename}-{date}';
vendor_prefixed/monolog/monolog/src/Monolog/Handler/StreamHandler.php CHANGED
@@ -11,6 +11,7 @@
11
  namespace FcfVendor\Monolog\Handler;
12
 
13
  use FcfVendor\Monolog\Logger;
 
14
  /**
15
  * Stores to any stream resource
16
  *
@@ -42,7 +43,7 @@ class StreamHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
42
  if (\is_resource($stream)) {
43
  $this->stream = $stream;
44
  } elseif (\is_string($stream)) {
45
- $this->url = $stream;
46
  } else {
47
  throw new \InvalidArgumentException('A stream must either be a resource or a string.');
48
  }
11
  namespace FcfVendor\Monolog\Handler;
12
 
13
  use FcfVendor\Monolog\Logger;
14
+ use FcfVendor\Monolog\Utils;
15
  /**
16
  * Stores to any stream resource
17
  *
43
  if (\is_resource($stream)) {
44
  $this->stream = $stream;
45
  } elseif (\is_string($stream)) {
46
+ $this->url = \FcfVendor\Monolog\Utils::canonicalizePath($stream);
47
  } else {
48
  throw new \InvalidArgumentException('A stream must either be a resource or a string.');
49
  }
vendor_prefixed/monolog/monolog/src/Monolog/Processor/GitProcessor.php CHANGED
@@ -44,7 +44,7 @@ class GitProcessor implements \FcfVendor\Monolog\Processor\ProcessorInterface
44
  return self::$cache;
45
  }
46
  $branches = `git branch -v --no-abbrev`;
47
- if (\preg_match('{^\\* (.+?)\\s+([a-f0-9]{40})(?:\\s|$)}m', $branches, $matches)) {
48
  return self::$cache = array('branch' => $matches[1], 'commit' => $matches[2]);
49
  }
50
  return self::$cache = array();
44
  return self::$cache;
45
  }
46
  $branches = `git branch -v --no-abbrev`;
47
+ if ($branches && \preg_match('{^\\* (.+?)\\s+([a-f0-9]{40})(?:\\s|$)}m', $branches, $matches)) {
48
  return self::$cache = array('branch' => $matches[1], 'commit' => $matches[2]);
49
  }
50
  return self::$cache = array();
vendor_prefixed/monolog/monolog/src/Monolog/Utils.php CHANGED
@@ -20,6 +20,31 @@ class Utils
20
  $class = \get_class($object);
21
  return 'c' === $class[0] && 0 === \strpos($class, "class@anonymous\0") ? \get_parent_class($class) . '@anonymous' : $class;
22
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  /**
24
  * Return the JSON representation of a value
25
  *
20
  $class = \get_class($object);
21
  return 'c' === $class[0] && 0 === \strpos($class, "class@anonymous\0") ? \get_parent_class($class) . '@anonymous' : $class;
22
  }
23
+ /**
24
+ * Makes sure if a relative path is passed in it is turned into an absolute path
25
+ *
26
+ * @param string $streamUrl stream URL or path without protocol
27
+ *
28
+ * @return string
29
+ */
30
+ public static function canonicalizePath($streamUrl)
31
+ {
32
+ $prefix = '';
33
+ if ('file://' === \substr($streamUrl, 0, 7)) {
34
+ $streamUrl = \substr($streamUrl, 7);
35
+ $prefix = 'file://';
36
+ }
37
+ // other type of stream, not supported
38
+ if (\false !== \strpos($streamUrl, '://')) {
39
+ return $streamUrl;
40
+ }
41
+ // already absolute
42
+ if (\substr($streamUrl, 0, 1) === '/' || \substr($streamUrl, 1, 1) === ':' || \substr($streamUrl, 0, 2) === '\\\\') {
43
+ return $prefix . $streamUrl;
44
+ }
45
+ $streamUrl = \getcwd() . '/' . $streamUrl;
46
+ return $prefix . $streamUrl;
47
+ }
48
  /**
49
  * Return the JSON representation of a value
50
  *
vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php CHANGED
@@ -195,7 +195,7 @@ abstract class AbstractPlugin extends \FcfVendor\WPDesk\PluginBuilder\Plugin\Sli
195
  $links = \array_merge($plugin_links, $links);
196
  }
197
  if ($this->settings_url) {
198
- $plugin_links = ['<a target="_blank" href="' . $this->settings_url . '">' . \__('Settings', $this->get_text_domain()) . '</a>'];
199
  $links = \array_merge($plugin_links, $links);
200
  }
201
  return $links;
195
  $links = \array_merge($plugin_links, $links);
196
  }
197
  if ($this->settings_url) {
198
+ $plugin_links = ['<a href="' . $this->settings_url . '">' . \__('Settings', $this->get_text_domain()) . '</a>'];
199
  $links = \array_merge($plugin_links, $links);
200
  }
201
  return $links;
vendor_prefixed/wpdesk/wp-builder/src/Plugin/WithoutNamespace/Plugin_Info.php CHANGED
@@ -9,7 +9,7 @@ if (!\class_exists('FcfVendor\\WPDesk_Buildable')) {
9
  require_once __DIR__ . '/Buildable.php';
10
  }
11
  if (!\class_exists('FcfVendor\\WPDesk_Has_Plugin_Info')) {
12
- require_once 'Has_Plugin_Info.php';
13
  }
14
  /**
15
  * Structure with core info about plugin
9
  require_once __DIR__ . '/Buildable.php';
10
  }
11
  if (!\class_exists('FcfVendor\\WPDesk_Has_Plugin_Info')) {
12
+ require_once __DIR__ . '/Has_Plugin_Info.php';
13
  }
14
  /**
15
  * Structure with core info about plugin
vendor_prefixed/wpdesk/wp-logs/src/WC/WooCommerceCapture.php CHANGED
@@ -70,7 +70,7 @@ class WooCommerceCapture
70
  */
71
  public static function isSupportedWCVersion()
72
  {
73
- return \version_compare(\WooCommerce::instance()->version, self::SUPPORTED_WC_VERSION, '>=');
74
  }
75
  /**
76
  * Capture WooCommerce logger and inject our decorated Logger
70
  */
71
  public static function isSupportedWCVersion()
72
  {
73
+ return \class_exists(\WooCommerce::class) && \version_compare(\WooCommerce::instance()->version, self::SUPPORTED_WC_VERSION, '>=');
74
  }
75
  /**
76
  * Capture WooCommerce logger and inject our decorated Logger
views/before-checkout-form.php CHANGED
@@ -1,18 +1,18 @@
1
  <style>
2
- <?php if ( isset( $args['settings']['billing'] ) ) : ?>
3
  <?php foreach ( $args['settings']['billing'] as $field ) : ?>
4
  <?php if ( isset( $field['required'] ) && $field['required'] == '0' ) : ?>
5
- #<?php echo $field['name']; ?>_field abbr {
6
  display: none !important;
7
  }
8
  <?php endif; ?>
9
  <?php endforeach; ?>
10
  <?php endif; ?>
11
 
12
- <?php if ( isset( $args['settings']['shipping'] ) ) : ?>
13
  <?php foreach ( $args['settings']['shipping'] as $field ) : ?>
14
  <?php if ( $field['required'] == '0' ) : ?>
15
- #<?php echo $field['name']; ?>_field abbr {
16
  display: none !important;
17
  }
18
  <?php endif; ?>
@@ -22,21 +22,21 @@
22
 
23
  <script type="text/javascript">
24
  jQuery(window).on('load', function() {
25
- <?php if ( isset( $args['settings']['billing'] ) ) : ?>
26
  <?php foreach ( $args['settings']['billing'] as $field ) : ?>
27
  <?php if ( $field['required'] == '0' ) : ?>
28
- jQuery('#<?php echo $field['name']; ?>_field').removeClass('validate-required');
29
  <?php endif; ?>
30
  <?php endforeach; ?>
31
  <?php endif; ?>
32
- <?php if ( isset( $args['settings']['shipping'] ) ) : ?>
33
  <?php foreach ( $args['settings']['shipping'] as $field ) : ?>
34
  <?php if ( $field['required'] == '0' ) : ?>
35
- jQuery('#<?php echo $field['name']; ?>_field').removeClass('validate-required');
36
  <?php endif; ?>
37
  <?php endforeach; ?>
38
  <?php endif; ?>
39
  });
40
- var ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
41
  var inspire_upload_nonce = '<?php echo wp_create_nonce( 'inspire_upload_nonce' ); ?>';
42
  </script>
1
  <style>
2
+ <?php if ( isset( $args['settings']['billing'] ) && is_array( $args['settings']['billing'] ) ) : ?>
3
  <?php foreach ( $args['settings']['billing'] as $field ) : ?>
4
  <?php if ( isset( $field['required'] ) && $field['required'] == '0' ) : ?>
5
+ #<?php echo esc_attr( $field['name'] ); ?>_field abbr {
6
  display: none !important;
7
  }
8
  <?php endif; ?>
9
  <?php endforeach; ?>
10
  <?php endif; ?>
11
 
12
+ <?php if ( isset( $args['settings']['shipping'] ) && is_array( $args['settings']['shipping'] ) ) : ?>
13
  <?php foreach ( $args['settings']['shipping'] as $field ) : ?>
14
  <?php if ( $field['required'] == '0' ) : ?>
15
+ #<?php echo esc_attr( $field['name'] ); ?>_field abbr {
16
  display: none !important;
17
  }
18
  <?php endif; ?>
22
 
23
  <script type="text/javascript">
24
  jQuery(window).on('load', function() {
25
+ <?php if ( isset( $args['settings']['billing'] ) && is_array( $args['settings']['billing'] ) ) : ?>
26
  <?php foreach ( $args['settings']['billing'] as $field ) : ?>
27
  <?php if ( $field['required'] == '0' ) : ?>
28
+ jQuery('#<?php echo esc_attr( $field['name'] ); ?>_field').removeClass('validate-required');
29
  <?php endif; ?>
30
  <?php endforeach; ?>
31
  <?php endif; ?>
32
+ <?php if ( isset( $args['settings']['shipping'] ) && is_array( $args['settings']['shipping'] ) ) : ?>
33
  <?php foreach ( $args['settings']['shipping'] as $field ) : ?>
34
  <?php if ( $field['required'] == '0' ) : ?>
35
+ jQuery('#<?php echo esc_attr( $field['name'] ); ?>_field').removeClass('validate-required');
36
  <?php endif; ?>
37
  <?php endforeach; ?>
38
  <?php endif; ?>
39
  });
40
+ var fcf_ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
41
  var inspire_upload_nonce = '<?php echo wp_create_nonce( 'inspire_upload_nonce' ); ?>';
42
  </script>