Booster for WooCommerce - Version 5.5.0

Version Description

29/12/2021 =

  • Feature - PDF INVOICING & PACKING SLIPS- Added Base64 encode image shortcode [wcj_encode_img srcs=''] to support QR Codes.
  • Fix - SHIPPING & ORDERS - Shipping Options- Fixed Priority issue for most expensive and product tag based shipping methods.
  • Fix - CART & CHECKOUT - EU VAT Number - Fixed the exception country setting issue.
  • Fix - PRODUCTS -Fixed wcj_product_tags shortcode was showing invalid argument error for products without tags.
  • Fix - CART & CHECKOUT -Checkout Custom Fields- Fixed the select option to show the original label instead of database values.
  • Fix - PDF INVOICING & PACKING SLIPS- Reduced the frequency of call from an hour to daily basis.
  • WooCommerce 6.0.0 tested
  • WordPress 5.8.2 tested
Download this release

Release Info

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

Code changes from version 5.4.9 to 5.5.0

includes/class-wcj-checkout-custom-fields.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Custom Fields
4
  *
5
- * @version 5.4.7
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -561,7 +561,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
561
  /**
562
  * add_custom_checkout_fields.
563
  *
564
- * @version 5.3.6
565
  * @todo (maybe) fix - priority seems to not affect tab order (same in Checkout Core Fields module)
566
  * @todo (dev) (maybe) add `do_shortcode` for e.g. `description` etc.
567
  */
@@ -639,7 +639,7 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
639
 
640
  if ( 'select' === $the_type || 'radio' === $the_type ) {
641
  $select_options_raw = wcj_get_option( 'wcj_checkout_custom_field_select_options_' . $i );
642
- $select_options = wcj_get_select_options( $select_options_raw );
643
  if ( 'select' === $the_type ) {
644
  $placeholder = wcj_get_option( 'wcj_checkout_custom_field_placeholder_' . $i );
645
  if ( '' != $placeholder ) {
@@ -667,4 +667,4 @@ class WCJ_Checkout_Custom_Fields extends WCJ_Module {
667
 
668
  endif;
669
 
670
- return new WCJ_Checkout_Custom_Fields();
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Custom Fields
4
  *
5
+ * @version 5.5.0
6
  * @author Pluggabl LLC.
7
  */
8
 
561
  /**
562
  * add_custom_checkout_fields.
563
  *
564
+ * @version 5.5.0
565
  * @todo (maybe) fix - priority seems to not affect tab order (same in Checkout Core Fields module)
566
  * @todo (dev) (maybe) add `do_shortcode` for e.g. `description` etc.
567
  */
639
 
640
  if ( 'select' === $the_type || 'radio' === $the_type ) {
641
  $select_options_raw = wcj_get_option( 'wcj_checkout_custom_field_select_options_' . $i );
642
+ $select_options = wcj_get_select_options( $select_options_raw,false );
643
  if ( 'select' === $the_type ) {
644
  $placeholder = wcj_get_option( 'wcj_checkout_custom_field_placeholder_' . $i );
645
  if ( '' != $placeholder ) {
667
 
668
  endif;
669
 
670
+ return new WCJ_Checkout_Custom_Fields();
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.4.5
6
  * @since 2.3.9
7
  * @author Pluggabl LLC.
8
  */
@@ -523,9 +523,14 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
523
  /**
524
  * checkout_validate_vat.
525
  *
526
- * @version 5.4.5
527
  */
528
  function checkout_validate_vat( $_posted ) {
 
 
 
 
 
529
  if ('yes' === wcj_get_option( 'wcj_eu_vat_number_field_required', 'no' ) && '' == $_posted['billing_eu_vat_number'] ){
530
  if( in_array( $_posted['billing_country'] , wcj_get_european_union_countries() ) ) {
531
  wc_add_notice(
@@ -543,10 +548,11 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
543
  )
544
  ) {
545
  if( in_array( $_posted['billing_country'] , wcj_get_european_union_countries() ) ) {
546
- wc_add_notice(
547
- get_option( 'wcj_eu_vat_number_not_valid_message' , __( '<strong>EU VAT Number</strong> is not valid.', 'woocommerce-jetpack' ) ),
548
- 'error'
549
- );
 
550
  }
551
  }
552
  }
2
  /**
3
  * Booster for WooCommerce - Module - EU VAT Number
4
  *
5
+ * @version 5.5.0
6
  * @since 2.3.9
7
  * @author Pluggabl LLC.
8
  */
523
  /**
524
  * checkout_validate_vat.
525
  *
526
+ * @version 5.5.0
527
  */
528
  function checkout_validate_vat( $_posted ) {
529
+ $skip_country = wcj_get_option( 'wcj_eu_vat_number_advanced_skip_countries', 'no' );
530
+ $skip_country = explode(',', $skip_country);
531
+
532
+ if(!in_array($_posted['billing_country'],$skip_country))
533
+ {
534
  if ('yes' === wcj_get_option( 'wcj_eu_vat_number_field_required', 'no' ) && '' == $_posted['billing_eu_vat_number'] ){
535
  if( in_array( $_posted['billing_country'] , wcj_get_european_union_countries() ) ) {
536
  wc_add_notice(
548
  )
549
  ) {
550
  if( in_array( $_posted['billing_country'] , wcj_get_european_union_countries() ) ) {
551
+ wc_add_notice(
552
+ get_option( 'wcj_eu_vat_number_not_valid_message' , __( '<strong>EU VAT Number</strong> is not valid.', 'woocommerce-jetpack' ) ),
553
+ 'error'
554
+ );
555
+ }
556
  }
557
  }
558
  }
includes/js/wcj-admin.js CHANGED
@@ -1,7 +1,7 @@
1
  /**
2
  * wcj-admin.
3
  *
4
- * @version 5.4.9-dev
5
  * @since 5.4.2
6
  */
7
 
1
  /**
2
  * wcj-admin.
3
  *
4
+ * @version 5.5.0
5
  * @since 5.4.2
6
  */
7
 
includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-styling.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - PDF Invoicing - Styling
4
  *
5
- * @version 3.1.0
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -53,12 +53,12 @@ class WCJ_PDF_Invoicing_Styling extends WCJ_Module {
53
  /**
54
  * On an early action hook, check if the hook is scheduled - if not, schedule it.
55
  *
56
- * @version 2.9.0
57
  * @version 2.9.0
58
  * @todo save `$event_timestamp` info (i.e. hook next scheduled time)
59
  */
60
  function schedule_download_fonts_event() {
61
- $interval = 'hourly';
62
  $event_hook = 'wcj_download_tcpdf_fonts_hook';
63
  $event_timestamp = wp_next_scheduled( $event_hook, array( $interval ) );
64
  if ( ! $event_timestamp ) {
@@ -98,4 +98,4 @@ class WCJ_PDF_Invoicing_Styling extends WCJ_Module {
98
 
99
  endif;
100
 
101
- return new WCJ_PDF_Invoicing_Styling();
2
  /**
3
  * Booster for WooCommerce - PDF Invoicing - Styling
4
  *
5
+ * @version 5.5.0
6
  * @author Pluggabl LLC.
7
  */
8
 
53
  /**
54
  * On an early action hook, check if the hook is scheduled - if not, schedule it.
55
  *
56
+ * @version 5.5.0
57
  * @version 2.9.0
58
  * @todo save `$event_timestamp` info (i.e. hook next scheduled time)
59
  */
60
  function schedule_download_fonts_event() {
61
+ $interval = 'daily';
62
  $event_hook = 'wcj_download_tcpdf_fonts_hook';
63
  $event_timestamp = wp_next_scheduled( $event_hook, array( $interval ) );
64
  if ( ! $event_timestamp ) {
98
 
99
  endif;
100
 
101
+ return new WCJ_PDF_Invoicing_Styling();
includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shipping - Custom Shipping with Shipping Zones
4
  *
5
- * @version 5.3.5
6
  * @since 2.5.6
7
  * @author Pluggabl LLC.
8
  */
@@ -31,7 +31,7 @@ if ( ! class_exists( 'WC_Shipping_WCJ_Custom_W_Zones' ) ) :
31
  /**
32
  * Init settings
33
  *
34
- * @version 5.3.4
35
  * @since 2.5.6
36
  * @access public
37
  * @return void
@@ -62,10 +62,10 @@ if ( ! class_exists( 'WC_Shipping_WCJ_Custom_W_Zones' ) ) :
62
  $this->weight_table_total_rows = $this->get_option( 'weight_table_total_rows' );
63
 
64
  // Save settings in admin
65
- add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
66
 
67
  // Sanitize Settings
68
- add_filter( 'woocommerce_shipping_' . $this->id . '_instance_settings_values', array( $this, 'sanitize_settings' ), 10, 2 );
69
 
70
  // Add weight table rows
71
  if ( apply_filters( 'wcj_custom_shipping_do_add_table_rows', true, $this ) ) {
@@ -382,4 +382,4 @@ if ( ! class_exists( 'WC_Shipping_WCJ_Custom_W_Zones' ) ) :
382
  }
383
  }
384
 
385
- endif;
2
  /**
3
  * Booster for WooCommerce - Shipping - Custom Shipping with Shipping Zones
4
  *
5
+ * @version 5.5.0
6
  * @since 2.5.6
7
  * @author Pluggabl LLC.
8
  */
31
  /**
32
  * Init settings
33
  *
34
+ * @version 5.5.0
35
  * @since 2.5.6
36
  * @access public
37
  * @return void
62
  $this->weight_table_total_rows = $this->get_option( 'weight_table_total_rows' );
63
 
64
  // Save settings in admin
65
+ add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ),12 );
66
 
67
  // Sanitize Settings
68
+ add_filter( 'woocommerce_shipping_' . $this->id . '_instance_settings_values', array( $this, 'sanitize_settings' ), 12, 2 );
69
 
70
  // Add weight table rows
71
  if ( apply_filters( 'wcj_custom_shipping_do_add_table_rows', true, $this ) ) {
382
  }
383
  }
384
 
385
+ endif;
includes/shipping/class-wc-shipping-wcj-custom.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shipping - Custom Shipping
4
  *
5
- * @version 5.3.4
6
  * @since 2.4.8
7
  * @author Pluggabl LLC.
8
  */
@@ -27,7 +27,7 @@ class WC_Shipping_WCJ_Custom_Template extends WC_Shipping_Method {
27
  /**
28
  * Init settings
29
  *
30
- * @version 5.3.4
31
  * @access public
32
  * @return void
33
  */
@@ -57,7 +57,7 @@ class WC_Shipping_WCJ_Custom_Template extends WC_Shipping_Method {
57
  }
58
 
59
  // Save settings in admin
60
- add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
61
  }
62
 
63
  /**
@@ -243,4 +243,4 @@ class WC_Shipping_WCJ_Custom_Template extends WC_Shipping_Method {
243
  }
244
  }
245
 
246
- endif;
2
  /**
3
  * Booster for WooCommerce - Shipping - Custom Shipping
4
  *
5
+ * @version 5.5.0
6
  * @since 2.4.8
7
  * @author Pluggabl LLC.
8
  */
27
  /**
28
  * Init settings
29
  *
30
+ * @version 5.5.0
31
  * @access public
32
  * @return void
33
  */
57
  }
58
 
59
  // Save settings in admin
60
+ add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ),12 );
61
  }
62
 
63
  /**
243
  }
244
  }
245
 
246
+ endif;
includes/shortcodes/class-wcj-shortcodes-invoices.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Invoices
4
  *
5
- * @version 2.7.0
6
  * @author Pluggabl LLC.
7
  */
8
 
@@ -15,7 +15,7 @@ class WCJ_Invoices_Shortcodes extends WCJ_Shortcodes {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 2.7.0
19
  */
20
  function __construct() {
21
 
@@ -26,7 +26,7 @@ class WCJ_Invoices_Shortcodes extends WCJ_Shortcodes {
26
  'wcj_packing_slip_number',
27
  'wcj_credit_note_number',
28
  'wcj_custom_doc_number',
29
-
30
  'wcj_invoice_date',
31
  'wcj_proforma_invoice_date',
32
  'wcj_packing_slip_date',
@@ -61,6 +61,21 @@ class WCJ_Invoices_Shortcodes extends WCJ_Shortcodes {
61
  return $atts;
62
  }
63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  /**
65
  * wcj_invoice_date.
66
  */
@@ -141,4 +156,4 @@ class WCJ_Invoices_Shortcodes extends WCJ_Shortcodes {
141
 
142
  endif;
143
 
144
- return new WCJ_Invoices_Shortcodes();
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Invoices
4
  *
5
+ * @version 5.5.0
6
  * @author Pluggabl LLC.
7
  */
8
 
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 5.5.0
19
  */
20
  function __construct() {
21
 
26
  'wcj_packing_slip_number',
27
  'wcj_credit_note_number',
28
  'wcj_custom_doc_number',
29
+ 'wcj_encode_img',
30
  'wcj_invoice_date',
31
  'wcj_proforma_invoice_date',
32
  'wcj_packing_slip_date',
61
  return $atts;
62
  }
63
 
64
+ /**
65
+ * wcj_encode_img.
66
+ */
67
+ function wcj_encode_img($atts){
68
+
69
+ if(isset($atts['srcs'])) {
70
+ $img_base64_encoded=$atts['srcs'];
71
+ $img = '<img src="@' . preg_replace('#^data:image/[^;]+;base64,#', '', $img_base64_encoded) . '">';
72
+
73
+ return $img;
74
+
75
+ }
76
+
77
+ }
78
+
79
  /**
80
  * wcj_invoice_date.
81
  */
156
 
157
  endif;
158
 
159
+ return new WCJ_Invoices_Shortcodes();
includes/shortcodes/class-wcj-shortcodes-products.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Booster for WooCommerce - Shortcodes - Products
5
  *
6
- * @version 5.4.8
7
  * @author Pluggabl LLC.
8
  */
9
 
@@ -812,7 +812,7 @@ if (!class_exists('WCJ_Products_Shortcodes')) :
812
  /**
813
  * wcj_product_tags.
814
  *
815
- * @version 2.7.0
816
  * @return string
817
  */
818
  function wcj_product_tags($atts)
@@ -824,11 +824,13 @@ if (!class_exists('WCJ_Products_Shortcodes')) :
824
 
825
  $product_tags = get_the_terms($atts['product_id'], 'product_tag');
826
  $product_tags_names = array();
 
827
  foreach ($product_tags as $product_tag) {
828
  $product_tags_names[] = $product_tag->name;
829
  }
830
  return implode($atts['sep'], $product_tags_names);
831
  }
 
832
 
833
  /**
834
  * wcj_product_you_save.
@@ -1413,4 +1415,4 @@ if (!class_exists('WCJ_Products_Shortcodes')) :
1413
 
1414
  endif;
1415
 
1416
- return new WCJ_Products_Shortcodes();
3
  /**
4
  * Booster for WooCommerce - Shortcodes - Products
5
  *
6
+ * @version 5.5.0
7
  * @author Pluggabl LLC.
8
  */
9
 
812
  /**
813
  * wcj_product_tags.
814
  *
815
+ * @version 5.5.0
816
  * @return string
817
  */
818
  function wcj_product_tags($atts)
824
 
825
  $product_tags = get_the_terms($atts['product_id'], 'product_tag');
826
  $product_tags_names = array();
827
+ if (!empty($product_tags)) {
828
  foreach ($product_tags as $product_tag) {
829
  $product_tags_names[] = $product_tag->name;
830
  }
831
  return implode($atts['sep'], $product_tags_names);
832
  }
833
+ }
834
 
835
  /**
836
  * wcj_product_you_save.
1415
 
1416
  endif;
1417
 
1418
+ return new WCJ_Products_Shortcodes();
langs/woocommerce-jetpack.pot CHANGED
@@ -2114,11 +2114,11 @@ msgstr ""
2114
  msgid "Validation failed. Please try again."
2115
  msgstr ""
2116
 
2117
- #: includes/class-wcj-eu-vat-number.php:532
2118
  msgid "<strong>Billing EU VAT Number</strong>is a required field."
2119
  msgstr ""
2120
 
2121
- #: includes/class-wcj-eu-vat-number.php:547
2122
  #: includes/settings/wcj-settings-eu-vat-number.php:83
2123
  msgid "<strong>EU VAT Number</strong> is not valid."
2124
  msgstr ""
@@ -20550,7 +20550,7 @@ msgstr ""
20550
  msgid "In stock"
20551
  msgstr ""
20552
 
20553
- #: includes/shortcodes/class-wcj-shortcodes-products.php:1116
20554
  msgid "from %level_min_qty% pcs."
20555
  msgstr ""
20556
 
2114
  msgid "Validation failed. Please try again."
2115
  msgstr ""
2116
 
2117
+ #: includes/class-wcj-eu-vat-number.php:537
2118
  msgid "<strong>Billing EU VAT Number</strong>is a required field."
2119
  msgstr ""
2120
 
2121
+ #: includes/class-wcj-eu-vat-number.php:552
2122
  #: includes/settings/wcj-settings-eu-vat-number.php:83
2123
  msgid "<strong>EU VAT Number</strong> is not valid."
2124
  msgstr ""
20550
  msgid "In stock"
20551
  msgstr ""
20552
 
20553
+ #: includes/shortcodes/class-wcj-shortcodes-products.php:1118
20554
  msgid "from %level_min_qty% pcs."
20555
  msgstr ""
20556
 
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: anbinder, karzin, pluggabl
3
  Tags: woocommerce customization, woocommerce bundle, woocommerce product addon, woocommerce integration, ecommerce plugin
4
  Requires at least: 4.4
5
- Tested up to: 5.8
6
  Requires PHP: 5.6
7
- Stable tag: 5.4.9
8
  License: GNU General Public License v3.0
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -265,6 +265,17 @@ To unlock all Booster for WooCommerce features, please install additional paid B
265
 
266
  == Changelog ==
267
 
 
 
 
 
 
 
 
 
 
 
 
268
  = 5.4.9 30/11/2021 =
269
 
270
  * Fix - PRICES & CURRENCIES- Currency per Product - Fixed shipping price convert issue with exchange rate change wcj_get_option to get_option.
2
  Contributors: anbinder, karzin, pluggabl
3
  Tags: woocommerce customization, woocommerce bundle, woocommerce product addon, woocommerce integration, ecommerce plugin
4
  Requires at least: 4.4
5
+ Tested up to: 5.8.2
6
  Requires PHP: 5.6
7
+ Stable tag: 5.5.0
8
  License: GNU General Public License v3.0
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
265
 
266
  == Changelog ==
267
 
268
+ = 5.5.0 29/12/2021 =
269
+
270
+ * Feature - PDF INVOICING & PACKING SLIPS- Added Base64 encode image shortcode [wcj_encode_img srcs=''] to support QR Codes.
271
+ * Fix - SHIPPING & ORDERS - Shipping Options- Fixed Priority issue for most expensive and product tag based shipping methods.
272
+ * Fix - CART & CHECKOUT - EU VAT Number - Fixed the exception country setting issue.
273
+ * Fix - PRODUCTS -Fixed wcj_product_tags shortcode was showing invalid argument error for products without tags.
274
+ * Fix - CART & CHECKOUT -Checkout Custom Fields- Fixed the select option to show the original label instead of database values.
275
+ * Fix - PDF INVOICING & PACKING SLIPS- Reduced the frequency of call from an hour to daily basis.
276
+ * WooCommerce 6.0.0 tested
277
+ * WordPress 5.8.2 tested
278
+
279
  = 5.4.9 30/11/2021 =
280
 
281
  * Fix - PRICES & CURRENCIES- Currency per Product - Fixed shipping price convert issue with exchange rate change wcj_get_option to get_option.
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.4.9
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: 5.9.0
13
  License: GNU General Public License v3.0
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
  */
@@ -58,7 +58,7 @@ if (!class_exists('WC_Jetpack')) :
58
  * @var string
59
  * @since 2.4.7
60
  */
61
- public $version = '5.4.9-dev';
62
 
63
  /**
64
  * @var WC_Jetpack The single instance of the class
@@ -133,4 +133,4 @@ function wcj_activation_hook()
133
  // Add transient to trigger redirect.
134
  set_transient('_wcj_activation_redirect', 1, 30);
135
  }
136
- register_activation_hook(__FILE__, 'wcj_activation_hook');
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.5.0
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: 6.0.0
13
  License: GNU General Public License v3.0
14
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
15
  */
58
  * @var string
59
  * @since 2.4.7
60
  */
61
+ public $version = '5.5.0';
62
 
63
  /**
64
  * @var WC_Jetpack The single instance of the class
133
  // Add transient to trigger redirect.
134
  set_transient('_wcj_activation_redirect', 1, 30);
135
  }
136
+ register_activation_hook(__FILE__, 'wcj_activation_hook');