Booster for WooCommerce - Version 5.3.7

Version Description

  • 28/01/2021 =
  • Fix - CART & CHECKOUT - Checkout Core Fields - Fix "Checkout Field arragement not working" issue.
  • Fix - PRICES & CURRENCIES - Currency Exchange Rates - Fix "Woocommerce store base currency Exchange rate" issue.
  • Dev - EMAILS & MISC. - Export - Added feature to export new column for 'allowed_user_roles' and 'not_allowed_user_roles'.
  • Fix - PDF INVOICING & PACKING SLIPS - PDF Invoicing - Fix "Order total after refund" shortcode with new attribute.
  • Fix - CART & CHECKOUT - EU VAT Number - Fix "EU VAT Number" should be required for EU countries only.
Download this release

Release Info

Developer ronyp
Plugin Icon 128x128 Booster for WooCommerce
Version 5.3.7
Comparing to
See all releases

Code changes from version 5.3.6 to 5.3.7

includes/class-wcj-checkout-core-fields.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Core Fields
4
  *
5
- * @version 5.2.0
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -15,7 +15,7 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 5.2.0
19
  * @see https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
20
  * @todo (maybe) default overrides should be `disable`
21
  */
@@ -56,6 +56,7 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
56
  );
57
 
58
  if ( $this->is_enabled() ) {
 
59
  add_filter( 'woocommerce_checkout_fields' , array( $this, 'custom_override_checkout_fields' ), PHP_INT_MAX );
60
  if ( 'disable' != ( $this->country_locale_override = wcj_get_option( 'wcj_checkout_core_fields_override_country_locale_fields', 'billing' ) ) ) {
61
  add_filter( 'woocommerce_get_country_locale', array( $this, 'custom_override_country_locale_fields' ), PHP_INT_MAX );
@@ -138,7 +139,7 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
138
  /**
139
  * custom_override_checkout_fields.
140
  *
141
- * @version 4.9.0
142
  * @todo add "per products", "per products tags"
143
  * @todo (maybe) fix - priority seems to not affect tab order (same in Checkout Custom Fields module)
144
  * @todo (maybe) enable if was not enabled by default, i.e. `! isset( $checkout_fields[ $section ][ $field ] )`
@@ -202,6 +203,7 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
202
  }
203
  }
204
  }
 
205
  return $checkout_fields;
206
  }
207
 
@@ -258,6 +260,19 @@ class WCJ_Checkout_Core_Fields extends WCJ_Module {
258
  }
259
  return ( $a < $b ) ? -1 : 1;
260
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
261
 
262
  }
263
 
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Core Fields
4
  *
5
+ * @version 5.3.7
6
  * @author Pluggabl LLC.
7
  */
8
 
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 5.3.7
19
  * @see https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
20
  * @todo (maybe) default overrides should be `disable`
21
  */
56
  );
57
 
58
  if ( $this->is_enabled() ) {
59
+ add_action('woocommerce_checkout_fields', array($this, 'enqueue_scripts'), PHP_INT_MAX);
60
  add_filter( 'woocommerce_checkout_fields' , array( $this, 'custom_override_checkout_fields' ), PHP_INT_MAX );
61
  if ( 'disable' != ( $this->country_locale_override = wcj_get_option( 'wcj_checkout_core_fields_override_country_locale_fields', 'billing' ) ) ) {
62
  add_filter( 'woocommerce_get_country_locale', array( $this, 'custom_override_country_locale_fields' ), PHP_INT_MAX );
139
  /**
140
  * custom_override_checkout_fields.
141
  *
142
+ * @version 5.3.7
143
  * @todo add "per products", "per products tags"
144
  * @todo (maybe) fix - priority seems to not affect tab order (same in Checkout Custom Fields module)
145
  * @todo (maybe) enable if was not enabled by default, i.e. `! isset( $checkout_fields[ $section ][ $field ] )`
203
  }
204
  }
205
  }
206
+ wcj_session_set("wcj_checkout_fields", $checkout_fields);
207
  return $checkout_fields;
208
  }
209
 
260
  }
261
  return ( $a < $b ) ? -1 : 1;
262
  }
263
+ /**
264
+ * enqueue_scripts.
265
+ *
266
+ * @version 5.3.7
267
+ */
268
+ function enqueue_scripts($checkout_fields)
269
+ {
270
+ wp_enqueue_script('wcj-checkout-core-fields', wcj_plugin_url() . '/includes/js/wcj-checkout-core-fields.js', array(), wcj()->version, false);
271
+ wp_localize_script('wcj-checkout-core-fields', 'wcj_checkout_core_fields', array(
272
+ 'checkout_fields' => wcj_session_get("wcj_checkout_fields")
273
+ ));
274
+ return $checkout_fields;
275
+ }
276
 
277
  }
278
 
includes/class-wcj-eu-vat-number.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - EU VAT Number
4
  *
5
- * @version 5.2.0
6
  * @since 2.3.9
7
  * @author Pluggabl LLC.
8
  */
@@ -16,7 +16,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 5.2.0
20
  * @todo [feature] add option to add "Verify" button to frontend
21
  */
22
  function __construct() {
@@ -388,7 +388,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
388
  /**
389
  * enqueue_scripts.
390
  *
391
- * @version 4.9.0
392
  */
393
  function enqueue_scripts() {
394
  if (
@@ -399,14 +399,15 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
399
  }
400
  wp_enqueue_script( 'wcj-eu-vat-number', wcj_plugin_url() . '/includes/js/wcj-eu-vat-number.js', array(), WCJ()->version, true );
401
  wp_localize_script( 'wcj-eu-vat-number', 'ajax_object', array(
402
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
403
- 'eu_countries' => wcj_get_european_union_countries(),
404
- 'show_vat_field_for_eu_only' => wcj_get_option( 'wcj_eu_vat_number_show_vat_field_for_eu_only', 'no' ),
405
- 'add_progress_text' => wcj_get_option( 'wcj_eu_vat_number_add_progress_text', 'no' ),
406
- 'progress_text_validating' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_validating', __( 'Validating VAT. Please wait...', 'woocommerce-jetpack' ) ) ),
407
- 'progress_text_valid' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_valid', __( 'VAT is valid.', 'woocommerce-jetpack' ) ) ),
408
- 'progress_text_not_valid' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_not_valid', __( 'VAT is not valid.', 'woocommerce-jetpack' ) ) ),
409
- 'progress_text_validation_failed' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_validation_failed', __( 'Validation failed. Please try again.', 'woocommerce-jetpack' ) ) ),
 
410
  ) );
411
  }
412
 
@@ -533,10 +534,12 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
533
  '1' !== $this->wcj_validate_eu_vat_number( array( 'wcj_eu_vat_number_to_check' => $_posted['billing_eu_vat_number'], 'echo' => false )
534
  )
535
  ) {
536
- wc_add_notice(
537
- get_option( 'wcj_eu_vat_number_not_valid_message', __( '<strong>EU VAT Number</strong> is not valid.', 'woocommerce-jetpack' ) ),
538
- 'error'
539
- );
 
 
540
  }
541
  }
542
  }
@@ -577,7 +580,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
577
  /**
578
  * add_eu_vat_number_checkout_field_to_frontend.
579
  *
580
- * @version 3.9.0
581
  */
582
  function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
583
  $fields['billing'][ 'billing_' . $this->id ] = array(
@@ -585,7 +588,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
585
  'label' => wcj_get_option( 'wcj_eu_vat_number_field_label' ),
586
  'description' => wcj_get_option( 'wcj_eu_vat_number_field_description' ),
587
  'placeholder' => wcj_get_option( 'wcj_eu_vat_number_field_placeholder' ),
588
- 'required' => ( 'yes' === wcj_get_option( 'wcj_eu_vat_number_field_required', 'no' ) ),
589
  'custom_attributes' => array(),
590
  'clear' => ( 'yes' === wcj_get_option( 'wcj_eu_vat_number_field_clear', 'yes' ) ),
591
  'class' => array( wcj_get_option( 'wcj_eu_vat_number_field_class', 'form-row-wide' ) ),
@@ -598,4 +601,4 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
598
 
599
  endif;
600
 
601
- return new WCJ_EU_VAT_Number();
2
  /**
3
  * Booster for WooCommerce - Module - EU VAT Number
4
  *
5
+ * @version 5.3.7
6
  * @since 2.3.9
7
  * @author Pluggabl LLC.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 5.3.7
20
  * @todo [feature] add option to add "Verify" button to frontend
21
  */
22
  function __construct() {
388
  /**
389
  * enqueue_scripts.
390
  *
391
+ * @version 5.3.7
392
  */
393
  function enqueue_scripts() {
394
  if (
399
  }
400
  wp_enqueue_script( 'wcj-eu-vat-number', wcj_plugin_url() . '/includes/js/wcj-eu-vat-number.js', array(), WCJ()->version, true );
401
  wp_localize_script( 'wcj-eu-vat-number', 'ajax_object', array(
402
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
403
+ 'eu_countries' => wcj_get_european_union_countries(),
404
+ 'show_vat_field_for_eu_only' => wcj_get_option( 'wcj_eu_vat_number_show_vat_field_for_eu_only', 'no' ),
405
+ 'is_vat_field_required_for_eu_only' => wcj_get_option( 'wcj_eu_vat_number_field_required', 'no' ),
406
+ 'add_progress_text' => wcj_get_option( 'wcj_eu_vat_number_add_progress_text', 'no' ),
407
+ 'progress_text_validating' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_validating', __( 'Validating VAT. Please wait...', 'woocommerce-jetpack' ) ) ),
408
+ 'progress_text_valid' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_valid', __( 'VAT is valid.', 'woocommerce-jetpack' ) ) ),
409
+ 'progress_text_not_valid' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_not_valid', __( 'VAT is not valid.', 'woocommerce-jetpack' ) ) ),
410
+ 'progress_text_validation_failed' => do_shortcode( wcj_get_option( 'wcj_eu_vat_number_progress_text_validation_failed', __( 'Validation failed. Please try again.', 'woocommerce-jetpack' ) ) ),
411
  ) );
412
  }
413
 
534
  '1' !== $this->wcj_validate_eu_vat_number( array( 'wcj_eu_vat_number_to_check' => $_posted['billing_eu_vat_number'], 'echo' => false )
535
  )
536
  ) {
537
+ if( in_array( $_posted['billing_country'] , wcj_get_european_union_countries() ) ) {
538
+ wc_add_notice(
539
+ get_option( 'wcj_eu_vat_number_not_valid_message' , __( '<strong>EU VAT Number</strong> is not valid.', 'woocommerce-jetpack' ) ),
540
+ 'error'
541
+ );
542
+ }
543
  }
544
  }
545
  }
580
  /**
581
  * add_eu_vat_number_checkout_field_to_frontend.
582
  *
583
+ * @version 5.3.7
584
  */
585
  function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
586
  $fields['billing'][ 'billing_' . $this->id ] = array(
588
  'label' => wcj_get_option( 'wcj_eu_vat_number_field_label' ),
589
  'description' => wcj_get_option( 'wcj_eu_vat_number_field_description' ),
590
  'placeholder' => wcj_get_option( 'wcj_eu_vat_number_field_placeholder' ),
591
+ //'required' => ( 'yes' === wcj_get_option( 'wcj_eu_vat_number_field_required', 'no' ) ),
592
  'custom_attributes' => array(),
593
  'clear' => ( 'yes' === wcj_get_option( 'wcj_eu_vat_number_field_clear', 'yes' ) ),
594
  'class' => array( wcj_get_option( 'wcj_eu_vat_number_field_class', 'form-row-wide' ) ),
601
 
602
  endif;
603
 
604
+ return new WCJ_EU_VAT_Number();
includes/exchange-rates/class-wcj-exchange-rates-crons.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Exchange Rates - Crons
4
  *
5
- * @version 3.4.5
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -55,7 +55,7 @@ class WCJ_Exchange_Rates_Crons {
55
  /**
56
  * get_currency_pair.
57
  *
58
- * @version 2.3.0
59
  * @since 2.3.0
60
  */
61
  function get_currency_pair( $currency_pairs, $currency_to, $option_name ) {
@@ -66,7 +66,7 @@ class WCJ_Exchange_Rates_Crons {
66
  }
67
  }
68
  $currency_pairs[] = array(
69
- 'currency_from' => wcj_get_option( 'woocommerce_currency' ),
70
  'currency_to' => $currency_to,
71
  'option_name' => array( $option_name, ),
72
  );
2
  /**
3
  * Booster for WooCommerce - Exchange Rates - Crons
4
  *
5
+ * @version 5.3.7
6
  * @author Pluggabl LLC.
7
  */
8
 
55
  /**
56
  * get_currency_pair.
57
  *
58
+ * @version 5.3.7
59
  * @since 2.3.0
60
  */
61
  function get_currency_pair( $currency_pairs, $currency_to, $option_name ) {
66
  }
67
  }
68
  $currency_pairs[] = array(
69
+ 'currency_from' => get_option( 'woocommerce_currency' ),
70
  'currency_to' => $currency_to,
71
  'option_name' => array( $option_name, ),
72
  );
includes/js/wcj-checkout-core-fields.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * wcj-checkout-core-fields.
3
+ *
4
+ * @version 5.3.7
5
+ * @since 5.3.7
6
+ */
7
+
8
+ jQuery(document).ready(function() {
9
+ jQuery.each(wcj_checkout_core_fields, function(i, wcj_checkout_core_field_sections) {
10
+ jQuery.each(wcj_checkout_core_field_sections, function(i, wcj_checkout_core_field_section) {
11
+ jQuery.each(wcj_checkout_core_field_section, function(field, wcj_checkout_core_field) {
12
+ jQuery("p#" + field + '_field' + " label").each(function() {
13
+ jQuery(this).text(wcj_checkout_core_field.label);
14
+ });
15
+ jQuery("p#" + field + '_field').each(function() {
16
+ jQuery(this).removeClass("form-row-wide");
17
+ jQuery(this).addClass(wcj_checkout_core_field.class[0]);
18
+ });
19
+ });
20
+ });
21
+ });
22
+ });
includes/js/wcj-eu-vat-number.js CHANGED
@@ -1,108 +1,116 @@
1
  /**
2
  * eu-vat-number.
3
  *
4
- * @version 4.6.1
5
  */
6
 
7
  var _ajax_object = ajax_object;
8
 
9
- jQuery( function( $ ) {
10
 
11
- // Setup before functions
12
- var inputTimer; //timer identifier
13
- var doneInputInterval = 1000; //time in ms
14
- var $vatInput = $('input[name="billing_eu_vat_number"]');
15
- var $vatParagraph = $('p[id="billing_eu_vat_number_field"]');
16
 
17
- // Add progress text
18
- if ('yes'==_ajax_object.add_progress_text) {
19
- $vatParagraph.append('<div id="wcj_eu_vat_number_progress"></div>');
20
- var $progressText = $('div[id="wcj_eu_vat_number_progress"]');
21
- }
22
 
23
- // Initial validate
24
- validateVat();
25
 
26
- // On input, start the countdown
27
- $vatInput.on('input', function() {
28
- clearTimeout(inputTimer);
29
- inputTimer = setTimeout(validateVat, doneInputInterval);
30
- });
31
 
32
- // Validate VAT
33
- function validateVat() {
34
- $vatParagraph.removeClass('woocommerce-invalid');
35
- $vatParagraph.removeClass('woocommerce-validated');
36
- var vatNumberToCheck = $vatInput.val();
37
- if (''!=vatNumberToCheck) {
38
- // Validating EU VAT Number through AJAX call
39
- if ('yes'==_ajax_object.add_progress_text) {
40
- $progressText.text(_ajax_object.progress_text_validating);
41
- }
42
- var data = {
43
- 'action': 'wcj_validate_eu_vat_number',
44
- 'wcj_eu_vat_number_to_check': vatNumberToCheck,
45
- };
46
- $.ajax({
47
- type: "POST",
48
- url: _ajax_object.ajax_url,
49
- data: data,
50
- success: function(response) {
51
- if ('1'==response.result) {
52
- $vatParagraph.addClass('woocommerce-validated');
53
- if ('yes'==_ajax_object.add_progress_text) {
54
- $progressText.text(_ajax_object.progress_text_valid);
55
- }
56
- } else if ('0'==response.result) {
57
- $vatParagraph.addClass('woocommerce-invalid');
58
- if ('yes'==_ajax_object.add_progress_text) {
59
- $progressText.text(_ajax_object.progress_text_not_valid);
60
- }
61
- } else {
62
- $vatParagraph.addClass('woocommerce-invalid');
63
- if ('yes'==_ajax_object.add_progress_text) {
64
- $progressText.text(_ajax_object.progress_text_validation_failed);
65
- }
66
- }
67
- $('body').trigger('update_checkout');
68
- },
69
- });
70
- } else {
71
- // VAT input is empty
72
- if ('yes'==_ajax_object.add_progress_text) {
73
- $progressText.text('');
74
- }
75
- if ($vatParagraph.hasClass('validate-required')) {
76
- // Required
77
- $vatParagraph.addClass('woocommerce-invalid');
78
- } else {
79
- // Not required
80
- $vatParagraph.addClass('woocommerce-validated');
81
- }
82
- $('body').trigger('update_checkout');
83
- }
84
- };
 
 
 
85
 
86
- // Show VAT Field for EU countries only
87
- var vatFieldContainer = jQuery('#billing_eu_vat_number_field');
88
- var vatFieldWrapper = $vatInput.parent();
89
- var vatField = null;
90
- function showVATFieldForEUOnly(e){
91
- var targetField = jQuery(e.target);
92
- var selectedCountry = targetField.val();
93
- if(_ajax_object.eu_countries.indexOf(selectedCountry) != -1){
94
- if(vatField){
95
- vatFieldWrapper.append(vatField);
96
- vatFieldContainer.slideDown(400);
97
- }
98
- }else{
99
- vatFieldContainer.slideUp(500,function(){
100
- vatField = $vatInput.detach();
101
- });
102
- }
103
- }
104
- if('yes'==_ajax_object.show_vat_field_for_eu_only){
105
- jQuery('#billing_country').on('change',showVATFieldForEUOnly);
106
- jQuery('#billing_country').change();
107
- }
 
 
 
 
 
108
  });
1
  /**
2
  * eu-vat-number.
3
  *
4
+ * @version 5.3.7
5
  */
6
 
7
  var _ajax_object = ajax_object;
8
 
9
+ jQuery(function ($) {
10
 
11
+ // Setup before functions
12
+ var inputTimer; //timer identifier
13
+ var doneInputInterval = 1000; //time in ms
14
+ var $vatInput = $('input[name="billing_eu_vat_number"]');
15
+ var $vatParagraph = $('p[id="billing_eu_vat_number_field"]');
16
 
17
+ // Add progress text
18
+ if ('yes' == _ajax_object.add_progress_text) {
19
+ $vatParagraph.append('<div id="wcj_eu_vat_number_progress"></div>');
20
+ var $progressText = $('div[id="wcj_eu_vat_number_progress"]');
21
+ }
22
 
23
+ // Initial validate
24
+ validateVat();
25
 
26
+ // On input, start the countdown
27
+ $vatInput.on('input', function () {
28
+ clearTimeout(inputTimer);
29
+ inputTimer = setTimeout(validateVat, doneInputInterval);
30
+ });
31
 
32
+ // Validate VAT
33
+ function validateVat() {
34
+ $vatParagraph.removeClass('woocommerce-invalid');
35
+ $vatParagraph.removeClass('woocommerce-validated');
36
+ if ('yes' == _ajax_object.is_vat_field_required_for_eu_only) {
37
+ jQuery('#billing_eu_vat_number_field label span.optional').replaceWith('<abbr class="required" title="required">*</abbr>');
38
+ }
39
+ var vatNumberToCheck = $vatInput.val();
40
+ if ('' != vatNumberToCheck) {
41
+ // Validating EU VAT Number through AJAX call
42
+ if ('yes' == _ajax_object.add_progress_text) {
43
+ $progressText.text(_ajax_object.progress_text_validating);
44
+ }
45
+ var data = {
46
+ 'action': 'wcj_validate_eu_vat_number',
47
+ 'wcj_eu_vat_number_to_check': vatNumberToCheck,
48
+ };
49
+ $.ajax({
50
+ type: "POST",
51
+ url: _ajax_object.ajax_url,
52
+ data: data,
53
+ success: function (response) {
54
+ if ('1' == response.result) {
55
+ $vatParagraph.addClass('woocommerce-validated');
56
+ if ('yes' == _ajax_object.add_progress_text) {
57
+ $progressText.text(_ajax_object.progress_text_valid);
58
+ }
59
+ } else if ('0' == response.result) {
60
+ $vatParagraph.addClass('woocommerce-invalid');
61
+ if ('yes' == _ajax_object.add_progress_text) {
62
+ $progressText.text(_ajax_object.progress_text_not_valid);
63
+ }
64
+ } else {
65
+ $vatParagraph.addClass('woocommerce-invalid');
66
+ if ('yes' == _ajax_object.add_progress_text) {
67
+ $progressText.text(_ajax_object.progress_text_validation_failed);
68
+ }
69
+ }
70
+ $('body').trigger('update_checkout');
71
+ },
72
+ });
73
+ } else {
74
+ // VAT input is empty
75
+ if ('yes' == _ajax_object.add_progress_text) {
76
+ $progressText.text('');
77
+ }
78
+ if ($vatParagraph.hasClass('validate-required')) {
79
+ // Required
80
+ $vatParagraph.addClass('woocommerce-invalid');
81
+ } else {
82
+ // Not required
83
+ $vatParagraph.addClass('woocommerce-validated');
84
+ }
85
+ $('body').trigger('update_checkout');
86
+ }
87
+ };
88
 
89
+ // Show VAT Field for EU countries only
90
+ var vatFieldContainer = jQuery('#billing_eu_vat_number_field');
91
+ var vatFieldWrapper = $vatInput.parent();
92
+ var vatField = null;
93
+
94
+ function showVATFieldForEUOnly(e) {
95
+ var targetField = jQuery(e.target);
96
+ var selectedCountry = targetField.val();
97
+ if (_ajax_object.eu_countries.indexOf(selectedCountry) != -1) {
98
+ if (vatField) {
99
+ if ('yes' == _ajax_object.is_vat_field_required_for_eu_only) {
100
+ vatFieldContainer.addClass("validate-required");
101
+ jQuery('#billing_eu_vat_number_field label span.optional').replaceWith('<abbr class="required" title="required">*</abbr>');
102
+ }
103
+ vatFieldWrapper.append(vatField);
104
+ vatFieldContainer.slideDown(400);
105
+ }
106
+ } else {
107
+ vatFieldContainer.slideUp(500, function () {
108
+ vatField = $vatInput.detach();
109
+ });
110
+ }
111
+ }
112
+ if ('yes' == _ajax_object.show_vat_field_for_eu_only) {
113
+ jQuery('#billing_country').on('change', showVATFieldForEUOnly);
114
+ jQuery('#billing_country').change();
115
+ }
116
  });
includes/shortcodes/class-wcj-shortcodes-orders.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Orders
4
  *
5
- * @version 5.3.6
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -1290,9 +1290,16 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
1290
 
1291
  /**
1292
  * wcj_order_total.
 
 
 
1293
  */
1294
  function wcj_order_total( $atts ) {
1295
  $order_total = ( true === $atts['excl_tax'] ) ? $this->the_order->get_total() - $this->the_order->get_total_tax() : $this->the_order->get_total();
 
 
 
 
1296
  return $this->wcj_price_shortcode( $order_total, $atts );
1297
  }
1298
 
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Orders
4
  *
5
+ * @version 5.3.7
6
  * @author Pluggabl LLC.
7
  */
8
 
1290
 
1291
  /**
1292
  * wcj_order_total.
1293
+ *
1294
+ * @version 5.3.7
1295
+ *
1296
  */
1297
  function wcj_order_total( $atts ) {
1298
  $order_total = ( true === $atts['excl_tax'] ) ? $this->the_order->get_total() - $this->the_order->get_total_tax() : $this->the_order->get_total();
1299
+ $order_total_after_refund = $this->the_order->get_total() - $this->the_order->get_total_refunded();
1300
+ if (!empty($order_total_after_refund)) {
1301
+ return $this->wcj_price_shortcode($order_total_after_refund, $atts);
1302
+ }
1303
  return $this->wcj_price_shortcode( $order_total, $atts );
1304
  }
1305
 
includes/shortcodes/class-wcj-shortcodes-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Products
4
  *
5
- * @version 5.0.0
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -755,7 +755,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
755
  /**
756
  * Get product meta.
757
  *
758
- * @version 2.7.0
759
  * @since 2.5.7
760
  * @return string
761
  */
@@ -763,8 +763,15 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
763
  if ( '' == $atts['name'] ) {
764
  return '';
765
  }
 
 
 
 
 
 
 
766
  return get_post_meta( $atts['product_id'], $atts['name'], true );
767
- }
768
 
769
  /**
770
  * Get product custom field.
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Products
4
  *
5
+ * @version 5.3.7
6
  * @author Pluggabl LLC.
7
  */
8
 
755
  /**
756
  * Get product meta.
757
  *
758
+ * @version 5.3.7
759
  * @since 2.5.7
760
  * @return string
761
  */
763
  if ( '' == $atts['name'] ) {
764
  return '';
765
  }
766
+ //Checking get_post_meta type ie. Array or String
767
+ $checking_Postmeta_value=gettype(get_post_meta( $atts['product_id'], $atts['name'], true ));
768
+ // if get_post_meta return Array
769
+ if ($checking_Postmeta_value =='array') {
770
+ //convert Array To String
771
+ return implode(",",get_post_meta( $atts['product_id'], $atts['name'], true ));
772
+ }
773
  return get_post_meta( $atts['product_id'], $atts['name'], true );
774
+ }
775
 
776
  /**
777
  * Get product custom field.
langs/woocommerce-jetpack.pot CHANGED
@@ -9,7 +9,7 @@ msgstr ""
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.0.6\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
@@ -193,7 +193,7 @@ msgid "Export all Booster's options to a file."
193
  msgstr ""
194
 
195
  #: includes/admin/class-wc-settings-jetpack.php:473
196
- #: includes/class-wcj-purchase-data.php:94
197
  msgid "Import"
198
  msgstr ""
199
 
@@ -699,7 +699,7 @@ msgstr ""
699
  #: includes/class-wcj-admin-bar.php:440
700
  #: includes/settings/wcj-settings-offer-price.php:49
701
  #: includes/settings/wcj-settings-stock.php:101
702
- #: includes/shortcodes/class-wcj-shortcodes-products.php:565
703
  msgid "Out of stock"
704
  msgstr ""
705
 
@@ -1043,17 +1043,17 @@ msgstr ""
1043
  msgid "Add custom info to the cart page."
1044
  msgstr ""
1045
 
1046
- #: includes/class-wcj-checkout-core-fields.php:25
1047
  msgid "Checkout Core Fields"
1048
  msgstr ""
1049
 
1050
- #: includes/class-wcj-checkout-core-fields.php:26
1051
  msgid ""
1052
  "Customize core checkout fields. Disable/enable fields, set required, change "
1053
  "labels and/or placeholders; Setup fields by category (Plus)"
1054
  msgstr ""
1055
 
1056
- #: includes/class-wcj-checkout-core-fields.php:27
1057
  msgid ""
1058
  "Customize core checkout fields. Disable/enable fields, set required, change "
1059
  "labels and/or placeholders etc."
@@ -1881,27 +1881,27 @@ msgstr ""
1881
  msgid "Validate VAT and remove taxes"
1882
  msgstr ""
1883
 
1884
- #: includes/class-wcj-eu-vat-number.php:406
1885
  #: includes/settings/wcj-settings-eu-vat-number.php:189
1886
  msgid "Validating VAT. Please wait..."
1887
  msgstr ""
1888
 
1889
- #: includes/class-wcj-eu-vat-number.php:407
1890
  #: includes/settings/wcj-settings-eu-vat-number.php:196
1891
  msgid "VAT is valid."
1892
  msgstr ""
1893
 
1894
- #: includes/class-wcj-eu-vat-number.php:408
1895
  #: includes/settings/wcj-settings-eu-vat-number.php:203
1896
  msgid "VAT is not valid."
1897
  msgstr ""
1898
 
1899
- #: includes/class-wcj-eu-vat-number.php:409
1900
  #: includes/settings/wcj-settings-eu-vat-number.php:211
1901
  msgid "Validation failed. Please try again."
1902
  msgstr ""
1903
 
1904
- #: includes/class-wcj-eu-vat-number.php:537
1905
  #: includes/settings/wcj-settings-eu-vat-number.php:83
1906
  msgid "<strong>EU VAT Number</strong> is not valid."
1907
  msgstr ""
@@ -2400,7 +2400,7 @@ msgstr ""
2400
  #: includes/class-wcj-my-account.php:496
2401
  #: includes/class-wcj-product-bulk-meta-editor.php:280
2402
  #: includes/class-wcj-product-by-user.php:207
2403
- #: includes/class-wcj-purchase-data.php:95
2404
  #: includes/class-wcj-track-users.php:335
2405
  #: includes/classes/class-wcj-module.php:891
2406
  #: includes/functions/wcj-functions-general.php:189
@@ -3726,7 +3726,7 @@ msgid "Save"
3726
  msgstr ""
3727
 
3728
  #: includes/class-wcj-product-bulk-meta-editor.php:390
3729
- #: includes/class-wcj-purchase-data.php:78
3730
  #: includes/export/class-wcj-fields-helper.php:280
3731
  #: includes/functions/wcj-functions-reports.php:24
3732
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:42
@@ -3805,7 +3805,7 @@ msgid "Products category"
3805
  msgstr ""
3806
 
3807
  #: includes/class-wcj-product-bulk-price-converter.php:262
3808
- #: includes/shortcodes/class-wcj-shortcodes-products.php:354
3809
  msgid "Any"
3810
  msgstr ""
3811
 
@@ -4435,6 +4435,7 @@ msgid ""
4435
  msgstr ""
4436
 
4437
  #: includes/class-wcj-product-price-by-formula.php:241
 
4438
  msgid "Error in formula"
4439
  msgstr ""
4440
 
@@ -4667,41 +4668,41 @@ msgstr ""
4667
  msgid "Products XML file #%s created successfully."
4668
  msgstr ""
4669
 
4670
- #: includes/class-wcj-purchase-data.php:28
4671
  msgid "Cost of Goods"
4672
  msgstr ""
4673
 
4674
- #: includes/class-wcj-purchase-data.php:29
4675
  msgid ""
4676
  "Save product purchase costs data for admin reports (1 custom field allowed in "
4677
  "free version)."
4678
  msgstr ""
4679
 
4680
- #: includes/class-wcj-purchase-data.php:30
4681
  msgid "Save product purchase costs data for admin reports."
4682
  msgstr ""
4683
 
4684
- #: includes/class-wcj-purchase-data.php:36
4685
  msgid "\"WooCommerce Cost of Goods\" Data Import"
4686
  msgstr ""
4687
 
4688
- #: includes/class-wcj-purchase-data.php:37
4689
  msgid "Import products costs from \"WooCommerce Cost of Goods\"."
4690
  msgstr ""
4691
 
4692
- #: includes/class-wcj-purchase-data.php:79
4693
  msgid "Product Title"
4694
  msgstr ""
4695
 
4696
- #: includes/class-wcj-purchase-data.php:80
4697
  msgid "WooCommerce Cost of Goods (source)"
4698
  msgstr ""
4699
 
4700
- #: includes/class-wcj-purchase-data.php:81
4701
  msgid "Booster: Product cost (destination)"
4702
  msgstr ""
4703
 
4704
- #: includes/class-wcj-purchase-data.php:116
4705
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:139
4706
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:209
4707
  #: includes/shipping/class-wc-shipping-wcj-custom.php:122
@@ -4709,30 +4710,30 @@ msgstr ""
4709
  msgid "Cost"
4710
  msgstr ""
4711
 
4712
- #: includes/class-wcj-purchase-data.php:119
4713
- #: includes/class-wcj-purchase-data.php:182
4714
- #: includes/class-wcj-purchase-data.php:269
4715
  #: includes/functions/wcj-functions-reports.php:28
4716
  #: includes/settings/wcj-settings-purchase-data.php:144
4717
  #: includes/settings/wcj-settings-purchase-data.php:172
4718
  msgid "Profit"
4719
  msgstr ""
4720
 
4721
- #: includes/class-wcj-purchase-data.php:185
4722
  #: includes/settings/wcj-settings-purchase-data.php:153
4723
  #: includes/settings/wcj-settings-purchase-data.php:179
4724
  msgid "Purchase Cost"
4725
  msgstr ""
4726
 
4727
- #: includes/class-wcj-purchase-data.php:267
4728
  msgid "Selling"
4729
  msgstr ""
4730
 
4731
- #: includes/class-wcj-purchase-data.php:268
4732
  msgid "Buying"
4733
  msgstr ""
4734
 
4735
- #: includes/class-wcj-purchase-data.php:276
4736
  msgid "Report"
4737
  msgstr ""
4738
 
@@ -8378,6 +8379,95 @@ msgstr ""
8378
  msgid "Templates"
8379
  msgstr ""
8380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8381
  #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:34
8382
  msgid "Country groups successfully generated."
8383
  msgstr ""
@@ -19976,7 +20066,7 @@ msgstr ""
19976
  msgid "Attribute \"name\" is required!"
19977
  msgstr ""
19978
 
19979
- #: includes/shortcodes/class-wcj-shortcodes-orders.php:336
19980
  #, php-format
19981
  msgid "Refund #%1$s - %2$s"
19982
  msgstr ""
@@ -20019,20 +20109,20 @@ msgstr ""
20019
  msgid "Edit Product"
20020
  msgstr ""
20021
 
20022
- #: includes/shortcodes/class-wcj-shortcodes-products.php:328
20023
  #, php-format
20024
  msgid "%s ago"
20025
  msgstr ""
20026
 
20027
- #: includes/shortcodes/class-wcj-shortcodes-products.php:335
20028
  msgid "No sales yet."
20029
  msgstr ""
20030
 
20031
- #: includes/shortcodes/class-wcj-shortcodes-products.php:562
20032
  msgid "In stock"
20033
  msgstr ""
20034
 
20035
- #: includes/shortcodes/class-wcj-shortcodes-products.php:973
20036
  msgid "from %level_min_qty% pcs."
20037
  msgstr ""
20038
 
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.4.2\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
193
  msgstr ""
194
 
195
  #: includes/admin/class-wc-settings-jetpack.php:473
196
+ #: includes/class-wcj-purchase-data.php:97
197
  msgid "Import"
198
  msgstr ""
199
 
699
  #: includes/class-wcj-admin-bar.php:440
700
  #: includes/settings/wcj-settings-offer-price.php:49
701
  #: includes/settings/wcj-settings-stock.php:101
702
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:593
703
  msgid "Out of stock"
704
  msgstr ""
705
 
1043
  msgid "Add custom info to the cart page."
1044
  msgstr ""
1045
 
1046
+ #: includes/class-wcj-checkout-core-fields.php:27
1047
  msgid "Checkout Core Fields"
1048
  msgstr ""
1049
 
1050
+ #: includes/class-wcj-checkout-core-fields.php:28
1051
  msgid ""
1052
  "Customize core checkout fields. Disable/enable fields, set required, change "
1053
  "labels and/or placeholders; Setup fields by category (Plus)"
1054
  msgstr ""
1055
 
1056
+ #: includes/class-wcj-checkout-core-fields.php:29
1057
  msgid ""
1058
  "Customize core checkout fields. Disable/enable fields, set required, change "
1059
  "labels and/or placeholders etc."
1881
  msgid "Validate VAT and remove taxes"
1882
  msgstr ""
1883
 
1884
+ #: includes/class-wcj-eu-vat-number.php:407
1885
  #: includes/settings/wcj-settings-eu-vat-number.php:189
1886
  msgid "Validating VAT. Please wait..."
1887
  msgstr ""
1888
 
1889
+ #: includes/class-wcj-eu-vat-number.php:408
1890
  #: includes/settings/wcj-settings-eu-vat-number.php:196
1891
  msgid "VAT is valid."
1892
  msgstr ""
1893
 
1894
+ #: includes/class-wcj-eu-vat-number.php:409
1895
  #: includes/settings/wcj-settings-eu-vat-number.php:203
1896
  msgid "VAT is not valid."
1897
  msgstr ""
1898
 
1899
+ #: includes/class-wcj-eu-vat-number.php:410
1900
  #: includes/settings/wcj-settings-eu-vat-number.php:211
1901
  msgid "Validation failed. Please try again."
1902
  msgstr ""
1903
 
1904
+ #: includes/class-wcj-eu-vat-number.php:539
1905
  #: includes/settings/wcj-settings-eu-vat-number.php:83
1906
  msgid "<strong>EU VAT Number</strong> is not valid."
1907
  msgstr ""
2400
  #: includes/class-wcj-my-account.php:496
2401
  #: includes/class-wcj-product-bulk-meta-editor.php:280
2402
  #: includes/class-wcj-product-by-user.php:207
2403
+ #: includes/class-wcj-purchase-data.php:98
2404
  #: includes/class-wcj-track-users.php:335
2405
  #: includes/classes/class-wcj-module.php:891
2406
  #: includes/functions/wcj-functions-general.php:189
3726
  msgstr ""
3727
 
3728
  #: includes/class-wcj-product-bulk-meta-editor.php:390
3729
+ #: includes/class-wcj-purchase-data.php:81
3730
  #: includes/export/class-wcj-fields-helper.php:280
3731
  #: includes/functions/wcj-functions-reports.php:24
3732
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:42
3805
  msgstr ""
3806
 
3807
  #: includes/class-wcj-product-bulk-price-converter.php:262
3808
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:369
3809
  msgid "Any"
3810
  msgstr ""
3811
 
4435
  msgstr ""
4436
 
4437
  #: includes/class-wcj-product-price-by-formula.php:241
4438
+ #: includes/class-wcj-purchase-data.php:256
4439
  msgid "Error in formula"
4440
  msgstr ""
4441
 
4668
  msgid "Products XML file #%s created successfully."
4669
  msgstr ""
4670
 
4671
+ #: includes/class-wcj-purchase-data.php:30
4672
  msgid "Cost of Goods"
4673
  msgstr ""
4674
 
4675
+ #: includes/class-wcj-purchase-data.php:31
4676
  msgid ""
4677
  "Save product purchase costs data for admin reports (1 custom field allowed in "
4678
  "free version)."
4679
  msgstr ""
4680
 
4681
+ #: includes/class-wcj-purchase-data.php:32
4682
  msgid "Save product purchase costs data for admin reports."
4683
  msgstr ""
4684
 
4685
+ #: includes/class-wcj-purchase-data.php:38
4686
  msgid "\"WooCommerce Cost of Goods\" Data Import"
4687
  msgstr ""
4688
 
4689
+ #: includes/class-wcj-purchase-data.php:39
4690
  msgid "Import products costs from \"WooCommerce Cost of Goods\"."
4691
  msgstr ""
4692
 
4693
+ #: includes/class-wcj-purchase-data.php:82
4694
  msgid "Product Title"
4695
  msgstr ""
4696
 
4697
+ #: includes/class-wcj-purchase-data.php:83
4698
  msgid "WooCommerce Cost of Goods (source)"
4699
  msgstr ""
4700
 
4701
+ #: includes/class-wcj-purchase-data.php:84
4702
  msgid "Booster: Product cost (destination)"
4703
  msgstr ""
4704
 
4705
+ #: includes/class-wcj-purchase-data.php:120
4706
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:139
4707
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:209
4708
  #: includes/shipping/class-wc-shipping-wcj-custom.php:122
4710
  msgid "Cost"
4711
  msgstr ""
4712
 
4713
+ #: includes/class-wcj-purchase-data.php:123
4714
+ #: includes/class-wcj-purchase-data.php:188
4715
+ #: includes/class-wcj-purchase-data.php:455
4716
  #: includes/functions/wcj-functions-reports.php:28
4717
  #: includes/settings/wcj-settings-purchase-data.php:144
4718
  #: includes/settings/wcj-settings-purchase-data.php:172
4719
  msgid "Profit"
4720
  msgstr ""
4721
 
4722
+ #: includes/class-wcj-purchase-data.php:191
4723
  #: includes/settings/wcj-settings-purchase-data.php:153
4724
  #: includes/settings/wcj-settings-purchase-data.php:179
4725
  msgid "Purchase Cost"
4726
  msgstr ""
4727
 
4728
+ #: includes/class-wcj-purchase-data.php:453
4729
  msgid "Selling"
4730
  msgstr ""
4731
 
4732
+ #: includes/class-wcj-purchase-data.php:454
4733
  msgid "Buying"
4734
  msgstr ""
4735
 
4736
+ #: includes/class-wcj-purchase-data.php:462
4737
  msgid "Report"
4738
  msgstr ""
4739
 
8379
  msgid "Templates"
8380
  msgstr ""
8381
 
8382
+ #: includes/plus/class-wcj-plus-site-key-manager.php:79
8383
+ #, php-format
8384
+ msgid "Status last checked at %s."
8385
+ msgstr ""
8386
+
8387
+ #: includes/plus/class-wcj-plus-site-key-manager.php:80
8388
+ #, php-format
8389
+ msgid "Cron scheduled at %s."
8390
+ msgstr ""
8391
+
8392
+ #: includes/plus/class-wcj-plus-site-key-manager.php:81
8393
+ #, php-format
8394
+ msgid "Cron last run at %s."
8395
+ msgstr ""
8396
+
8397
+ #: includes/plus/class-wcj-plus-site-key-manager.php:122
8398
+ msgid "No key set."
8399
+ msgstr ""
8400
+
8401
+ #: includes/plus/class-wcj-plus-site-key-manager.php:123
8402
+ #, php-format
8403
+ msgid ""
8404
+ "To get the key, please visit <a target=\"_blank\" href=\"%s\">your account "
8405
+ "page at %s</a>."
8406
+ msgstr ""
8407
+
8408
+ #: includes/plus/class-wcj-plus-site-key-manager.php:126
8409
+ #, php-format
8410
+ msgid "No response from server. Please <a href=\"%s\">try again</a> later."
8411
+ msgstr ""
8412
+
8413
+ #: includes/plus/class-wcj-plus-site-key-manager.php:128
8414
+ #, php-format
8415
+ msgid "Server error. Please <a href=\"%s\">try again</a> later."
8416
+ msgstr ""
8417
+
8418
+ #: includes/plus/class-wcj-plus-site-key-section.php:46
8419
+ msgid "Manage site key"
8420
+ msgstr ""
8421
+
8422
+ #: includes/plus/class-wcj-plus-site-key-section.php:59
8423
+ #: includes/plus/class-wcj-plus-site-key-section.php:73
8424
+ #: includes/plus/class-wcj-plus-site-key-section.php:81
8425
+ msgid "Site Key"
8426
+ msgstr ""
8427
+
8428
+ #: includes/plus/class-wcj-plus-site-key-section.php:74
8429
+ msgid ""
8430
+ "This section lets you manage site key for paid Booster Plus for WooCommerce "
8431
+ "plugin."
8432
+ msgstr ""
8433
+
8434
+ #: includes/plus/class-wcj-plus-site-key-section.php:75
8435
+ #, php-format
8436
+ msgid ""
8437
+ "To get the key, please go to <a target=\"_blank\" href=\"%s\">your account "
8438
+ "page at %s</a>."
8439
+ msgstr ""
8440
+
8441
+ #: includes/plus/class-wcj-plus-site-key-section.php:78
8442
+ msgid "Check site key now"
8443
+ msgstr ""
8444
+
8445
+ #: includes/plus/class-wcj-plus-site-key-section.php:82
8446
+ #, php-format
8447
+ msgid "Site URL: %s"
8448
+ msgstr ""
8449
+
8450
+ #: includes/plus/lib/plugin-update-checker/github-checker.php:119
8451
+ msgid "There is no changelog available."
8452
+ msgstr ""
8453
+
8454
+ #: includes/plus/lib/plugin-update-checker/plugin-update-checker.php:763
8455
+ msgid "Check for updates"
8456
+ msgstr ""
8457
+
8458
+ #: includes/plus/lib/plugin-update-checker/plugin-update-checker.php:807
8459
+ msgid "This plugin is up to date."
8460
+ msgstr ""
8461
+
8462
+ #: includes/plus/lib/plugin-update-checker/plugin-update-checker.php:809
8463
+ msgid "A new version of this plugin is available."
8464
+ msgstr ""
8465
+
8466
+ #: includes/plus/lib/plugin-update-checker/plugin-update-checker.php:811
8467
+ #, php-format
8468
+ msgid "Unknown update checker status \"%s\""
8469
+ msgstr ""
8470
+
8471
  #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:34
8472
  msgid "Country groups successfully generated."
8473
  msgstr ""
20066
  msgid "Attribute \"name\" is required!"
20067
  msgstr ""
20068
 
20069
+ #: includes/shortcodes/class-wcj-shortcodes-orders.php:348
20070
  #, php-format
20071
  msgid "Refund #%1$s - %2$s"
20072
  msgstr ""
20109
  msgid "Edit Product"
20110
  msgstr ""
20111
 
20112
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:342
20113
  #, php-format
20114
  msgid "%s ago"
20115
  msgstr ""
20116
 
20117
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:349
20118
  msgid "No sales yet."
20119
  msgstr ""
20120
 
20121
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:590
20122
  msgid "In stock"
20123
  msgstr ""
20124
 
20125
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:1020
20126
  msgid "from %level_min_qty% pcs."
20127
  msgstr ""
20128
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: anbinder, karzin, pluggabl
3
  Tags: woocommerce, booster for woocommerce, woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 5.6
6
- Stable tag: 5.3.6
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -193,6 +193,13 @@ You can see the differences between versions in this [table](https://booster.io/
193
 
194
  == Changelog ==
195
 
 
 
 
 
 
 
 
196
  = 5.3.6 - 30/12/2020 =
197
  * Fix - CART & CHECKOUT - Checkout Custom Fields - Fix "Datepicker/Weekpicker: Current day time limit" timezone.
198
  * Fix - PAYMENT GATEWAYS - Gateways Currency Converter - Call to undefined function `is_cart()`.
3
  Tags: woocommerce, booster for woocommerce, woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 5.6
6
+ Stable tag: 5.3.7
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
193
 
194
  == Changelog ==
195
 
196
+ = 5.3.7 - 28/01/2021 =
197
+ * Fix - CART & CHECKOUT - Checkout Core Fields - Fix "Checkout Field arragement not working" issue.
198
+ * Fix - PRICES & CURRENCIES - Currency Exchange Rates - Fix "Woocommerce store base currency Exchange rate" issue.
199
+ * Dev - EMAILS & MISC. - Export - Added feature to export new column for 'allowed_user_roles' and 'not_allowed_user_roles'.
200
+ * Fix - PDF INVOICING & PACKING SLIPS - PDF Invoicing - Fix "Order total after refund" shortcode with new attribute.
201
+ * Fix - CART & CHECKOUT - EU VAT Number - Fix "EU VAT Number" should be required for EU countries only.
202
+
203
  = 5.3.6 - 30/12/2020 =
204
  * Fix - CART & CHECKOUT - Checkout Custom Fields - Fix "Datepicker/Weekpicker: Current day time limit" timezone.
205
  * Fix - PAYMENT GATEWAYS - Gateways Currency Converter - Call to undefined function `is_cart()`.
woocommerce-jetpack.php CHANGED
@@ -3,13 +3,13 @@
3
  Plugin Name: Booster for WooCommerce
4
  Plugin URI: https://booster.io
5
  Description: Supercharge your WooCommerce site with these awesome powerful features. More than 100 modules. All in one WooCommerce plugin.
6
- Version: 5.3.6
7
  Author: Pluggabl LLC
8
  Author URI: https://booster.io
9
  Text Domain: woocommerce-jetpack
10
  Domain Path: /langs
11
  Copyright: © 2020 Pluggabl LLC.
12
- WC tested up to: 4.8
13
  License: GNU General Public License v3.0
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
  */
@@ -57,7 +57,7 @@ final class WC_Jetpack {
57
  * @var string
58
  * @since 2.4.7
59
  */
60
- public $version = '5.3.6';
61
 
62
  /**
63
  * @var WC_Jetpack The single instance of the class
3
  Plugin Name: Booster for WooCommerce
4
  Plugin URI: https://booster.io
5
  Description: Supercharge your WooCommerce site with these awesome powerful features. More than 100 modules. All in one WooCommerce plugin.
6
+ Version: 5.3.7
7
  Author: Pluggabl LLC
8
  Author URI: https://booster.io
9
  Text Domain: woocommerce-jetpack
10
  Domain Path: /langs
11
  Copyright: © 2020 Pluggabl LLC.
12
+ WC tested up to: 4.9.2
13
  License: GNU General Public License v3.0
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
  */
57
  * @var string
58
  * @since 2.4.7
59
  */
60
+ public $version = '5.3.7';
61
 
62
  /**
63
  * @var WC_Jetpack The single instance of the class