Version Description
- 04/03/2016 =
- Fix - PRICES & CURRENCIES - Wholesale Price - Discount info on cart page bug fixed.
- Fix - PRICES & CURRENCIES - Price by Country - Wrong currency in emails bug fixed.
- Dev - PAYMENT GATEWAYS - Gateways by Country - Initial module release.
- Dev - PAYMENT GATEWAYS - Gateways Min/Max - Initial module release.
- Fix - EMAILS & MISC. - Emails - "Illegal offset type in isset or empty in ..." warning fixed.
- Dev - EMAILS & MISC. - WPML - Code refactoring.
Download this release
Release Info
Developer | algoritmika |
Plugin | Booster for WooCommerce |
Version | 2.4.1 |
Comparing to | |
See all releases |
Code changes from version 2.4.0 to 2.4.1
- includes/admin/wcj-modules-cats.php +3 -1
- includes/class-wcj-payment-gateways-by-country.php +131 -0
- includes/class-wcj-payment-gateways-min-max.php +143 -0
- includes/class-wcj-wholesale-price.php +13 -10
- includes/class-wcj-wpml.php +85 -54
- includes/emails/class-wc-email-wcj-custom.php +16 -1
- includes/price-by-country/class-wcj-price-by-country-core.php +3 -3
- readme.txt +12 -2
- woocommerce-jetpack.php +6 -4
- wpml-config.xml +32 -37
includes/admin/wcj-modules-cats.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* The WooCommerce Modules Array.
|
6 |
*
|
7 |
-
* @version 2.4.
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
@@ -86,6 +86,8 @@ return array(
|
|
86 |
'payment_gateways_fees',
|
87 |
'payment_gateways_per_category',
|
88 |
'payment_gateways_currency',
|
|
|
|
|
89 |
),
|
90 |
),
|
91 |
|
4 |
*
|
5 |
* The WooCommerce Modules Array.
|
6 |
*
|
7 |
+
* @version 2.4.1
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
86 |
'payment_gateways_fees',
|
87 |
'payment_gateways_per_category',
|
88 |
'payment_gateways_currency',
|
89 |
+
'payment_gateways_min_max',
|
90 |
+
'payment_gateways_by_country',
|
91 |
),
|
92 |
),
|
93 |
|
includes/class-wcj-payment-gateways-by-country.php
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WooCommerce Jetpack Payment Gateways by Country
|
4 |
+
*
|
5 |
+
* The WooCommerce Jetpack Payment Gateways by Country class.
|
6 |
+
*
|
7 |
+
* @version 2.4.1
|
8 |
+
* @since 2.4.1
|
9 |
+
* @author Algoritmika Ltd.
|
10 |
+
*/
|
11 |
+
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
13 |
+
|
14 |
+
if ( ! class_exists( 'WCJ_Payment_Gateways_By_Country' ) ) :
|
15 |
+
|
16 |
+
class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Constructor.
|
20 |
+
*/
|
21 |
+
function __construct() {
|
22 |
+
|
23 |
+
$this->id = 'payment_gateways_by_country';
|
24 |
+
$this->short_desc = __( 'Gateways by Country', 'woocommerce-jetpack' );
|
25 |
+
$this->desc = __( 'Set countries to include/exclude for WooCommerce payment gateways to show up.', 'woocommerce-jetpack' );
|
26 |
+
parent::__construct();
|
27 |
+
|
28 |
+
add_filter( 'init', array( $this, 'add_hooks' ) );
|
29 |
+
|
30 |
+
if ( $this->is_enabled() ) {
|
31 |
+
add_filter( 'woocommerce_available_payment_gateways', array( $this, 'available_payment_gateways' ), PHP_INT_MAX, 1 );
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* available_payment_gateways.
|
37 |
+
*/
|
38 |
+
function available_payment_gateways( $_available_gateways ) {
|
39 |
+
foreach ( $_available_gateways as $key => $gateway ) {
|
40 |
+
$customer_country = WC()->customer->get_country();
|
41 |
+
$include_countries = get_option( 'wcj_gateways_countries_include_' . $key, '' );
|
42 |
+
if ( ! empty( $include_countries ) && ! in_array( $customer_country, $include_countries ) ) {
|
43 |
+
unset( $_available_gateways[ $key ] );
|
44 |
+
continue;
|
45 |
+
}
|
46 |
+
$exclude_countries = get_option( 'wcj_gateways_countries_exclude_' . $key, '' );
|
47 |
+
if ( ! empty( $exclude_countries ) && in_array( $customer_country, $exclude_countries ) ) {
|
48 |
+
unset( $_available_gateways[ $key ] );
|
49 |
+
continue;
|
50 |
+
}
|
51 |
+
}
|
52 |
+
return $_available_gateways;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* add_hooks.
|
57 |
+
*/
|
58 |
+
function add_hooks() {
|
59 |
+
add_filter( 'wcj_payment_gateways_by_country_settings', array( $this, 'add_countries_settings' ) );
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* add_countries_settings.
|
64 |
+
*/
|
65 |
+
function add_countries_settings( $settings ) {
|
66 |
+
$settings = array();
|
67 |
+
$settings[] = array(
|
68 |
+
'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ),
|
69 |
+
'type' => 'title',
|
70 |
+
'desc' => __( 'Leave empty to disable.', 'woocommerce-jetpack' ),
|
71 |
+
'id' => 'wcj_payment_gateways_by_country_gateways_options',
|
72 |
+
);
|
73 |
+
$countries = wcj_get_countries();
|
74 |
+
$gateways = WC()->payment_gateways->payment_gateways();
|
75 |
+
foreach ( $gateways as $key => $gateway ) {
|
76 |
+
$default_gateways = array( 'bacs' );
|
77 |
+
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
78 |
+
$custom_attributes = apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' );
|
79 |
+
if ( '' == $custom_attributes ) {
|
80 |
+
$custom_attributes = array();
|
81 |
+
}
|
82 |
+
$desc_tip = apply_filters( 'get_wc_jetpack_plus_message', '', 'desc_no_link' );
|
83 |
+
} else {
|
84 |
+
$custom_attributes = array();
|
85 |
+
$desc_tip = '';
|
86 |
+
}
|
87 |
+
$settings[] = array(
|
88 |
+
'title' => $gateway->title,
|
89 |
+
'desc_tip' => $desc_tip,
|
90 |
+
'desc' => __( 'Include', 'woocommerce-jetpack' ),
|
91 |
+
'id' => 'wcj_gateways_countries_include_' . $key,
|
92 |
+
'default' => '',
|
93 |
+
'type' => 'multiselect',
|
94 |
+
'class' => 'chosen_select',
|
95 |
+
'css' => 'width: 450px;',
|
96 |
+
'options' => $countries,
|
97 |
+
'custom_attributes' => $custom_attributes,
|
98 |
+
);
|
99 |
+
$settings[] = array(
|
100 |
+
'title' => '',
|
101 |
+
'desc_tip' => $desc_tip,
|
102 |
+
'desc' => __( 'Exclude', 'woocommerce-jetpack' ),
|
103 |
+
'id' => 'wcj_gateways_countries_exclude_' . $key,
|
104 |
+
'default' => '',
|
105 |
+
'type' => 'multiselect',
|
106 |
+
'class' => 'chosen_select',
|
107 |
+
'css' => 'width: 450px;',
|
108 |
+
'options' => $countries,
|
109 |
+
'custom_attributes' => $custom_attributes,
|
110 |
+
);
|
111 |
+
}
|
112 |
+
$settings[] = array(
|
113 |
+
'type' => 'sectionend',
|
114 |
+
'id' => 'wcj_payment_gateways_by_country_gateways_options',
|
115 |
+
);
|
116 |
+
return $settings;
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* get_settings.
|
121 |
+
*/
|
122 |
+
function get_settings() {
|
123 |
+
$settings = array();
|
124 |
+
$settings = apply_filters( 'wcj_payment_gateways_by_country_settings', $settings );
|
125 |
+
return $this->add_standard_settings( $settings );
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
endif;
|
130 |
+
|
131 |
+
return new WCJ_Payment_Gateways_By_Country();
|
includes/class-wcj-payment-gateways-min-max.php
ADDED
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WooCommerce Jetpack Payment Gateways Min Max
|
4 |
+
*
|
5 |
+
* The WooCommerce Jetpack Payment Gateways Min Max class.
|
6 |
+
*
|
7 |
+
* @version 2.4.1
|
8 |
+
* @since 2.4.1
|
9 |
+
* @author Algoritmika Ltd.
|
10 |
+
*/
|
11 |
+
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
13 |
+
|
14 |
+
if ( ! class_exists( 'WCJ_Payment_Gateways_Min_Max' ) ) :
|
15 |
+
|
16 |
+
class WCJ_Payment_Gateways_Min_Max extends WCJ_Module {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Constructor.
|
20 |
+
*/
|
21 |
+
function __construct() {
|
22 |
+
|
23 |
+
$this->id = 'payment_gateways_min_max';
|
24 |
+
$this->short_desc = __( 'Gateways Min/Max', 'woocommerce-jetpack' );
|
25 |
+
$this->desc = __( 'Add min/max amounts for WooCommerce payment gateways to show up.', 'woocommerce-jetpack' );
|
26 |
+
parent::__construct();
|
27 |
+
|
28 |
+
add_filter( 'init', array( $this, 'add_hooks' ) );
|
29 |
+
|
30 |
+
if ( $this->is_enabled() ) {
|
31 |
+
add_filter( 'woocommerce_available_payment_gateways', array( $this, 'available_payment_gateways' ), PHP_INT_MAX, 1 );
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* available_payment_gateways.
|
37 |
+
*/
|
38 |
+
function available_payment_gateways( $_available_gateways ) {
|
39 |
+
foreach ( $_available_gateways as $key => $gateway ) {
|
40 |
+
$min = get_option( 'wcj_payment_gateways_min_' . $key, 0 );
|
41 |
+
$max = get_option( 'wcj_payment_gateways_max_' . $key, 0 );
|
42 |
+
global $woocommerce;
|
43 |
+
$total_in_cart = ( 'no' === get_option( 'wcj_payment_gateways_min_max_exclude_shipping', 'no' ) ) ?
|
44 |
+
$woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total : $woocommerce->cart->cart_contents_total;
|
45 |
+
if ( $min != 0 && $total_in_cart < $min ) {
|
46 |
+
unset( $_available_gateways[ $key ] );
|
47 |
+
continue;
|
48 |
+
}
|
49 |
+
if ( $max != 0 && $total_in_cart > $max ) {
|
50 |
+
unset( $_available_gateways[ $key ] );
|
51 |
+
continue;
|
52 |
+
}
|
53 |
+
}
|
54 |
+
return $_available_gateways;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* add_hooks.
|
59 |
+
*/
|
60 |
+
function add_hooks() {
|
61 |
+
add_filter( 'wcj_payment_gateways_min_max_settings', array( $this, 'add_min_max_settings' ) );
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* add_min_max_settings.
|
66 |
+
*/
|
67 |
+
function add_min_max_settings( $settings ) {
|
68 |
+
$settings = array(
|
69 |
+
array(
|
70 |
+
'title' => __( 'General Options', 'woocommerce-jetpack' ),
|
71 |
+
'type' => 'title',
|
72 |
+
'id' => 'wcj_payment_gateways_min_max_general_options',
|
73 |
+
),
|
74 |
+
array(
|
75 |
+
'title' => __( 'Exclude Shipping', 'alg-woocommerce-fees' ),
|
76 |
+
'desc' => __( 'Exclude shipping from total cart sum, when comparing with min/max amounts.', 'alg-woocommerce-fees' ),
|
77 |
+
'id' => 'wcj_payment_gateways_min_max_exclude_shipping',
|
78 |
+
'default' => 'no',
|
79 |
+
'type' => 'checkbox',
|
80 |
+
),
|
81 |
+
array(
|
82 |
+
'type' => 'sectionend',
|
83 |
+
'id' => 'wcj_payment_gateways_min_max_general_options',
|
84 |
+
),
|
85 |
+
);
|
86 |
+
$settings[] = array(
|
87 |
+
'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ),
|
88 |
+
'type' => 'title',
|
89 |
+
'desc' => __( 'Leave zero to disable.', 'woocommerce-jetpack' ),
|
90 |
+
'id' => 'wcj_payment_gateways_min_max_gateways_options',
|
91 |
+
);
|
92 |
+
$gateways = WC()->payment_gateways->payment_gateways();
|
93 |
+
foreach ( $gateways as $key => $gateway ) {
|
94 |
+
$default_gateways = array( 'bacs' );
|
95 |
+
if ( ! empty( $default_gateways ) && ! in_array( $key, $default_gateways ) ) {
|
96 |
+
$custom_attributes = apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' );
|
97 |
+
if ( '' == $custom_attributes ) {
|
98 |
+
$custom_attributes = array();
|
99 |
+
}
|
100 |
+
$desc_tip = apply_filters( 'get_wc_jetpack_plus_message', '', 'desc_no_link' );
|
101 |
+
} else {
|
102 |
+
$custom_attributes = array();
|
103 |
+
$desc_tip = '';
|
104 |
+
}
|
105 |
+
$settings[] = array(
|
106 |
+
'title' => $gateway->title,
|
107 |
+
'desc_tip' => $desc_tip,
|
108 |
+
'desc' => __( 'Min', 'woocommerce-jetpack' ),
|
109 |
+
'id' => 'wcj_payment_gateways_min_' . $key,
|
110 |
+
'default' => 0,
|
111 |
+
'type' => 'number',
|
112 |
+
'custom_attributes' => array_merge( array( 'step' => '0.000001', 'min' => '0', ), $custom_attributes ),
|
113 |
+
);
|
114 |
+
$settings[] = array(
|
115 |
+
'title' => '',
|
116 |
+
'desc_tip' => $desc_tip,
|
117 |
+
'desc' => __( 'Max', 'woocommerce-jetpack' ),
|
118 |
+
'id' => 'wcj_payment_gateways_max_' . $key,
|
119 |
+
'default' => 0,
|
120 |
+
'type' => 'number',
|
121 |
+
'custom_attributes' => array_merge( array( 'step' => '0.000001', 'min' => '0', ), $custom_attributes ),
|
122 |
+
);
|
123 |
+
}
|
124 |
+
$settings[] = array(
|
125 |
+
'type' => 'sectionend',
|
126 |
+
'id' => 'wcj_payment_gateways_min_max_gateways_options',
|
127 |
+
);
|
128 |
+
return $settings;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* get_settings.
|
133 |
+
*/
|
134 |
+
function get_settings() {
|
135 |
+
$settings = array();
|
136 |
+
$settings = apply_filters( 'wcj_payment_gateways_min_max_settings', $settings );
|
137 |
+
return $this->add_standard_settings( $settings );
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
endif;
|
142 |
+
|
143 |
+
return new WCJ_Payment_Gateways_Min_Max();
|
includes/class-wcj-wholesale-price.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* The WooCommerce Jetpack Wholesale Price class.
|
6 |
*
|
7 |
-
* @version 2.
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
@@ -61,18 +61,18 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
61 |
/**
|
62 |
* add_discount_info_to_cart_page.
|
63 |
*
|
64 |
-
* @version 2.
|
65 |
*/
|
66 |
function add_discount_info_to_cart_page( $price_html, $cart_item, $cart_item_key ) {
|
67 |
|
68 |
$_product = wc_get_product( $cart_item['product_id'] );
|
69 |
|
70 |
remove_filter( 'woocommerce_get_price', array( $this, 'wholesale_price' ), PHP_INT_MAX, 2 );
|
71 |
-
|
72 |
$old_price_html = wc_price( $_product->get_price() );
|
73 |
add_filter( 'woocommerce_get_price', array( $this, 'wholesale_price' ), PHP_INT_MAX, 2 );
|
74 |
|
75 |
-
if ( $old_price_html != $
|
76 |
|
77 |
$the_quantity = $this->get_wholesale_quantity( $_product );
|
78 |
|
@@ -80,13 +80,16 @@ class WCJ_Wholesale_Price extends WCJ_Module {
|
|
80 |
|
81 |
if ( 'fixed' === get_option( 'wcj_wholesale_price_discount_type' ) ) $discount = wc_price( $discount );
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
88 |
|
89 |
-
|
|
|
90 |
}
|
91 |
|
92 |
return $price_html;
|
4 |
*
|
5 |
* The WooCommerce Jetpack Wholesale Price class.
|
6 |
*
|
7 |
+
* @version 2.4.1
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
61 |
/**
|
62 |
* add_discount_info_to_cart_page.
|
63 |
*
|
64 |
+
* @version 2.4.1
|
65 |
*/
|
66 |
function add_discount_info_to_cart_page( $price_html, $cart_item, $cart_item_key ) {
|
67 |
|
68 |
$_product = wc_get_product( $cart_item['product_id'] );
|
69 |
|
70 |
remove_filter( 'woocommerce_get_price', array( $this, 'wholesale_price' ), PHP_INT_MAX, 2 );
|
71 |
+
// $old_price_html = $_product->get_price_html();
|
72 |
$old_price_html = wc_price( $_product->get_price() );
|
73 |
add_filter( 'woocommerce_get_price', array( $this, 'wholesale_price' ), PHP_INT_MAX, 2 );
|
74 |
|
75 |
+
if ( $old_price_html != wc_price( $_product->get_price() ) ) {
|
76 |
|
77 |
$the_quantity = $this->get_wholesale_quantity( $_product );
|
78 |
|
80 |
|
81 |
if ( 'fixed' === get_option( 'wcj_wholesale_price_discount_type' ) ) $discount = wc_price( $discount );
|
82 |
|
83 |
+
if ( 0 != $discount ) {
|
84 |
+
|
85 |
+
$wholesale_price_html = get_option( 'wcj_wholesale_price_show_info_on_cart_format' );
|
86 |
+
$wholesale_price_html = str_replace( '%old_price%', $old_price_html, $wholesale_price_html );
|
87 |
+
$wholesale_price_html = str_replace( '%price%', $price_html, $wholesale_price_html );
|
88 |
+
$wholesale_price_html = str_replace( '%discount_percent%', $discount, $wholesale_price_html ); //depreciated
|
89 |
+
$wholesale_price_html = str_replace( '%discount_value%', $discount, $wholesale_price_html );
|
90 |
|
91 |
+
return $wholesale_price_html;
|
92 |
+
}
|
93 |
}
|
94 |
|
95 |
return $price_html;
|
includes/class-wcj-wpml.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* The WooCommerce Jetpack WPML class.
|
6 |
*
|
7 |
-
* @version 2.
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
@@ -18,7 +18,7 @@ class WCJ_WPML extends WCJ_Module {
|
|
18 |
/**
|
19 |
* Constructor.
|
20 |
*
|
21 |
-
* @version 2.
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
@@ -28,7 +28,10 @@ class WCJ_WPML extends WCJ_Module {
|
|
28 |
parent::__construct();
|
29 |
|
30 |
if ( $this->is_enabled() ) {
|
31 |
-
add_action( 'woocommerce_init', array( $this, '
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
$this->notice = '';
|
@@ -37,61 +40,81 @@ class WCJ_WPML extends WCJ_Module {
|
|
37 |
/**
|
38 |
* get_settings.
|
39 |
*
|
40 |
-
* @version 2.
|
41 |
*/
|
42 |
function get_settings() {
|
43 |
$settings = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
array(
|
45 |
'title' => $this->short_desc . ' ' . __( 'Tools', 'woocommerce-jetpack' ),
|
46 |
'type' => 'title',
|
47 |
-
'
|
48 |
-
'id' => 'wcj_' . $this->id . '_tools_options'
|
49 |
),
|
50 |
array(
|
51 |
'title' => __( 'Module Tools', 'woocommerce-jetpack' ),
|
52 |
'id' => 'wcj_' . $this->id . '_module_tools',
|
53 |
'type' => 'custom_link',
|
54 |
-
'link' => '<pre
|
55 |
-
|
|
|
|
|
56 |
),
|
57 |
array(
|
58 |
'type' => 'sectionend',
|
59 |
-
'id' => 'wcj_' . $this->id . '_tools_options'
|
60 |
),
|
61 |
);
|
62 |
$this->notice = '';
|
63 |
-
return $this->
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
* create_wpml_xml_file.
|
68 |
*
|
69 |
-
* @version 2.
|
|
|
70 |
*/
|
71 |
-
function
|
72 |
-
|
73 |
if ( ! isset( $_GET['create_wpml_xml_file'] ) || ! is_super_admin() ) {
|
74 |
return;
|
75 |
}
|
76 |
-
|
77 |
if ( ! isset( $_GET['section'] ) || 'wpml' != $_GET['section'] ) {
|
78 |
return;
|
79 |
}
|
|
|
|
|
|
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
$file_path = wcj_plugin_path() . '/wpml-config.xml';
|
82 |
if ( false !== ( $handle = fopen( $file_path, 'w' ) ) ) {
|
83 |
-
|
84 |
fwrite( $handle, '<wpml-config>' . PHP_EOL );
|
85 |
fwrite( $handle, "\t" );
|
86 |
fwrite( $handle, '<admin-texts>' . PHP_EOL );
|
87 |
-
|
88 |
-
// $sections = $this->get_sections();
|
89 |
$sections = apply_filters( 'wcj_settings_sections', array() );
|
90 |
foreach ( $sections as $section => $section_title ) {
|
91 |
-
|
92 |
-
// $settings = $this->get_settings( $section );
|
93 |
$settings = apply_filters( 'wcj_settings_' . $section, array() );
|
94 |
-
|
95 |
foreach ( $settings as $value ) {
|
96 |
if ( $this->is_wpml_value( $section, $value ) ) {
|
97 |
fwrite( $handle, "\t\t" );
|
@@ -99,22 +122,17 @@ class WCJ_WPML extends WCJ_Module {
|
|
99 |
}
|
100 |
}
|
101 |
}
|
102 |
-
|
103 |
fwrite( $handle, "\t" );
|
104 |
fwrite( $handle, '</admin-texts>' . PHP_EOL );
|
105 |
fwrite( $handle, '</wpml-config>' . PHP_EOL );
|
106 |
-
|
107 |
fclose( $handle );
|
108 |
-
|
109 |
-
$this->notice = __( 'File wpml-config.xml successfully regenerated!', 'woocommerce-jetpack' ) /* . PHP_EOL
|
110 |
-
. __( 'File path:', 'woocommerce-jetpack' ) . ' ' . $file_path . PHP_EOL */;
|
111 |
-
|
112 |
}
|
113 |
-
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
* is_wpml_value.
|
|
|
|
|
118 |
*/
|
119 |
function is_wpml_value( $section, $value ) {
|
120 |
|
@@ -122,33 +140,47 @@ class WCJ_WPML extends WCJ_Module {
|
|
122 |
$is_type_ok = ( 'textarea' === $value['type'] || 'text' === $value['type'] ) ? true : false;
|
123 |
|
124 |
// Section
|
125 |
-
$
|
126 |
-
'
|
127 |
-
'
|
128 |
-
'
|
129 |
-
'
|
130 |
-
|
131 |
-
|
132 |
-
'
|
133 |
-
'
|
134 |
-
'
|
135 |
-
|
136 |
-
'
|
137 |
-
'
|
138 |
-
|
139 |
-
'
|
140 |
-
'
|
141 |
-
|
142 |
-
'
|
143 |
-
|
144 |
-
'
|
145 |
-
|
146 |
-
'
|
147 |
-
'
|
148 |
-
|
149 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
);
|
151 |
-
$is_section_ok = ( in_array( $section, $
|
152 |
|
153 |
// ID
|
154 |
$values_to_skip = array(
|
@@ -161,7 +193,6 @@ class WCJ_WPML extends WCJ_Module {
|
|
161 |
|
162 |
'wcj_empty_cart_div_style',
|
163 |
);
|
164 |
-
// $is_id_ok = ( in_array( $value['id'], $values_to_skip ) ) ? false : true;
|
165 |
$is_id_ok = true;
|
166 |
foreach ( $values_to_skip as $value_to_skip ) {
|
167 |
if ( false !== strpos( $value['id'], $value_to_skip ) ) {
|
4 |
*
|
5 |
* The WooCommerce Jetpack WPML class.
|
6 |
*
|
7 |
+
* @version 2.4.1
|
8 |
* @since 2.2.0
|
9 |
* @author Algoritmika Ltd.
|
10 |
*/
|
18 |
/**
|
19 |
* Constructor.
|
20 |
*
|
21 |
+
* @version 2.4.1
|
22 |
*/
|
23 |
function __construct() {
|
24 |
|
28 |
parent::__construct();
|
29 |
|
30 |
if ( $this->is_enabled() ) {
|
31 |
+
add_action( 'woocommerce_init', array( $this, 'create_wpml_xml_file_tool' ), PHP_INT_MAX );
|
32 |
+
/* if ( 'yes' === get_option( 'wcj_' . $this->id . '_auto_regenerate', 'no' ) ) {
|
33 |
+
add_action( 'woojetpack_after_settings_save', array( $this, 'create_wpml_xml_file' ) );
|
34 |
+
} */
|
35 |
}
|
36 |
|
37 |
$this->notice = '';
|
40 |
/**
|
41 |
* get_settings.
|
42 |
*
|
43 |
+
* @version 2.4.1
|
44 |
*/
|
45 |
function get_settings() {
|
46 |
$settings = array(
|
47 |
+
/* array(
|
48 |
+
'title' => __( 'General Options', 'woocommerce-jetpack' ),
|
49 |
+
'type' => 'title',
|
50 |
+
'id' => 'wcj_' . $this->id . '_general_options',
|
51 |
+
),
|
52 |
+
array(
|
53 |
+
'title' => __( 'Automatically Regenerate wpml-config.xml File', 'woocommerce-jetpack' ),
|
54 |
+
'desc_tip' => __( 'Automatically regenerate wpml-config.xml file when saving any module\'s settings.', 'woocommerce-jetpack' ),
|
55 |
+
'desc' => __( 'Enable', 'woocommerce-jetpack' ),
|
56 |
+
'id' => 'wcj_' . $this->id . '_auto_regenerate',
|
57 |
+
'default' => 'no',
|
58 |
+
'type' => 'checkbox',
|
59 |
+
),
|
60 |
+
array(
|
61 |
+
'type' => 'sectionend',
|
62 |
+
'id' => 'wcj_' . $this->id . '_general_options',
|
63 |
+
), */
|
64 |
array(
|
65 |
'title' => $this->short_desc . ' ' . __( 'Tools', 'woocommerce-jetpack' ),
|
66 |
'type' => 'title',
|
67 |
+
'id' => 'wcj_' . $this->id . '_tools_options',
|
|
|
68 |
),
|
69 |
array(
|
70 |
'title' => __( 'Module Tools', 'woocommerce-jetpack' ),
|
71 |
'id' => 'wcj_' . $this->id . '_module_tools',
|
72 |
'type' => 'custom_link',
|
73 |
+
'link' => '<pre>' .
|
74 |
+
'<a href="' . add_query_arg( 'create_wpml_xml_file', '1' ) . '">' . __( 'Regenerate wpml-config.xml file', 'woocommerce-jetpack' ) . '</a>' .
|
75 |
+
'</pre>' .
|
76 |
+
'<pre>' . $this->notice . '</pre>',
|
77 |
),
|
78 |
array(
|
79 |
'type' => 'sectionend',
|
80 |
+
'id' => 'wcj_' . $this->id . '_tools_options',
|
81 |
),
|
82 |
);
|
83 |
$this->notice = '';
|
84 |
+
return $this->add_standard_settings( $settings );
|
85 |
}
|
86 |
|
87 |
/**
|
88 |
* create_wpml_xml_file.
|
89 |
*
|
90 |
+
* @version 2.4.1
|
91 |
+
* @since 2.4.1
|
92 |
*/
|
93 |
+
function create_wpml_xml_file_tool() {
|
|
|
94 |
if ( ! isset( $_GET['create_wpml_xml_file'] ) || ! is_super_admin() ) {
|
95 |
return;
|
96 |
}
|
|
|
97 |
if ( ! isset( $_GET['section'] ) || 'wpml' != $_GET['section'] ) {
|
98 |
return;
|
99 |
}
|
100 |
+
$this->create_wpml_xml_file();
|
101 |
+
$this->notice = __( 'File wpml-config.xml successfully regenerated!', 'woocommerce-jetpack' );
|
102 |
+
}
|
103 |
|
104 |
+
/**
|
105 |
+
* create_wpml_xml_file.
|
106 |
+
*
|
107 |
+
* @version 2.4.1
|
108 |
+
*/
|
109 |
+
function create_wpml_xml_file() {
|
110 |
$file_path = wcj_plugin_path() . '/wpml-config.xml';
|
111 |
if ( false !== ( $handle = fopen( $file_path, 'w' ) ) ) {
|
|
|
112 |
fwrite( $handle, '<wpml-config>' . PHP_EOL );
|
113 |
fwrite( $handle, "\t" );
|
114 |
fwrite( $handle, '<admin-texts>' . PHP_EOL );
|
|
|
|
|
115 |
$sections = apply_filters( 'wcj_settings_sections', array() );
|
116 |
foreach ( $sections as $section => $section_title ) {
|
|
|
|
|
117 |
$settings = apply_filters( 'wcj_settings_' . $section, array() );
|
|
|
118 |
foreach ( $settings as $value ) {
|
119 |
if ( $this->is_wpml_value( $section, $value ) ) {
|
120 |
fwrite( $handle, "\t\t" );
|
122 |
}
|
123 |
}
|
124 |
}
|
|
|
125 |
fwrite( $handle, "\t" );
|
126 |
fwrite( $handle, '</admin-texts>' . PHP_EOL );
|
127 |
fwrite( $handle, '</wpml-config>' . PHP_EOL );
|
|
|
128 |
fclose( $handle );
|
|
|
|
|
|
|
|
|
129 |
}
|
|
|
130 |
}
|
131 |
|
132 |
/**
|
133 |
* is_wpml_value.
|
134 |
+
*
|
135 |
+
* @version 2.4.1
|
136 |
*/
|
137 |
function is_wpml_value( $section, $value ) {
|
138 |
|
140 |
$is_type_ok = ( 'textarea' === $value['type'] || 'text' === $value['type'] ) ? true : false;
|
141 |
|
142 |
// Section
|
143 |
+
$sections_to_skip = array(
|
144 |
+
'price_by_country',
|
145 |
+
'currency',
|
146 |
+
'currency_external_products',
|
147 |
+
'bulk_price_converter',
|
148 |
+
'currency_exchange_rates',
|
149 |
+
|
150 |
+
'product_listings',
|
151 |
+
'related_products',
|
152 |
+
'sku',
|
153 |
+
'product_add_to_cart',
|
154 |
+
'purchase_data',
|
155 |
+
'crowdfunding',
|
156 |
+
|
157 |
+
'payment_gateways',
|
158 |
+
'payment_gateways_icons',
|
159 |
+
'payment_gateways_per_category',
|
160 |
+
'payment_gateways_currency',
|
161 |
+
'payment_gateways_min_max',
|
162 |
+
'payment_gateways_by_country',
|
163 |
+
|
164 |
+
'shipping',
|
165 |
+
'shipping_calculator',
|
166 |
+
'address_formats',
|
167 |
+
'order_numbers',
|
168 |
+
'order_custom_statuses',
|
169 |
+
|
170 |
+
'pdf_invoicing',
|
171 |
+
'pdf_invoicing_numbering',
|
172 |
+
'pdf_invoicing_styling',
|
173 |
+
'pdf_invoicing_page',
|
174 |
+
'pdf_invoicing_emails',
|
175 |
+
|
176 |
+
'general',
|
177 |
+
'old_slugs',
|
178 |
+
'reports',
|
179 |
+
'admin_tools',
|
180 |
+
'emails',
|
181 |
+
'wpml',
|
182 |
);
|
183 |
+
$is_section_ok = ( ! in_array( $section, $sections_to_skip ) ) ? true : false;
|
184 |
|
185 |
// ID
|
186 |
$values_to_skip = array(
|
193 |
|
194 |
'wcj_empty_cart_div_style',
|
195 |
);
|
|
|
196 |
$is_id_ok = true;
|
197 |
foreach ( $values_to_skip as $value_to_skip ) {
|
198 |
if ( false !== strpos( $value['id'], $value_to_skip ) ) {
|
includes/emails/class-wc-email-wcj-custom.php
CHANGED
@@ -11,7 +11,7 @@ if ( ! class_exists( 'WC_Email_WCJ_Custom' ) ) :
|
|
11 |
*
|
12 |
* An email sent to recipient list when selected triggers are called.
|
13 |
*
|
14 |
-
* @version 2.4.
|
15 |
* @since 2.3.9
|
16 |
* @author Algoritmika Ltd.
|
17 |
* @extends WC_Email
|
@@ -56,6 +56,21 @@ class WC_Email_WCJ_Custom extends WC_Email {
|
|
56 |
}
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* Trigger.
|
61 |
*
|
11 |
*
|
12 |
* An email sent to recipient list when selected triggers are called.
|
13 |
*
|
14 |
+
* @version 2.4.1
|
15 |
* @since 2.3.9
|
16 |
* @author Algoritmika Ltd.
|
17 |
* @extends WC_Email
|
56 |
}
|
57 |
}
|
58 |
|
59 |
+
/**
|
60 |
+
* Proxy to parent's get_option and attempt to localize the result using gettext.
|
61 |
+
*
|
62 |
+
* @version 2.4.1
|
63 |
+
* @since 2.4.1
|
64 |
+
* @param string $key
|
65 |
+
* @param mixed $empty_value
|
66 |
+
* @return mixed
|
67 |
+
*/
|
68 |
+
public function get_option( $key, $empty_value = null ) {
|
69 |
+
$grandparent = get_parent_class( 'WC_Email' );
|
70 |
+
$value = $grandparent::get_option( $key, $empty_value );
|
71 |
+
return ( is_array( $value ) ) ? $value : apply_filters( 'woocommerce_email_get_option', __( $value ), $this, $value, $key, $empty_value );
|
72 |
+
}
|
73 |
+
|
74 |
/**
|
75 |
* Trigger.
|
76 |
*
|
includes/price-by-country/class-wcj-price-by-country-core.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* The WooCommerce Jetpack Price by Country Core class.
|
6 |
*
|
7 |
-
* @version 2.4.
|
8 |
* @author Algoritmika Ltd.
|
9 |
*/
|
10 |
|
@@ -197,7 +197,7 @@ class WCJ_Price_by_Country_Core {
|
|
197 |
/**
|
198 |
* get_customer_country_group_id.
|
199 |
*
|
200 |
-
* @version 2.
|
201 |
*/
|
202 |
public function get_customer_country_group_id() {
|
203 |
|
@@ -214,7 +214,7 @@ class WCJ_Price_by_Country_Core {
|
|
214 |
$country = $_GET['country'];
|
215 |
|
216 |
} elseif ( 'yes' === get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' )
|
217 |
-
&& is_checkout()
|
218 |
&& '' != WC()->customer->get_country()
|
219 |
) {
|
220 |
|
4 |
*
|
5 |
* The WooCommerce Jetpack Price by Country Core class.
|
6 |
*
|
7 |
+
* @version 2.4.1
|
8 |
* @author Algoritmika Ltd.
|
9 |
*/
|
10 |
|
197 |
/**
|
198 |
* get_customer_country_group_id.
|
199 |
*
|
200 |
+
* @version 2.4.1
|
201 |
*/
|
202 |
public function get_customer_country_group_id() {
|
203 |
|
214 |
$country = $_GET['country'];
|
215 |
|
216 |
} elseif ( 'yes' === get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' )
|
217 |
+
/* && is_checkout() */
|
218 |
&& '' != WC()->customer->get_country()
|
219 |
) {
|
220 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: algoritmika,anbinder,solovjov
|
|
3 |
Tags: woocommerce,booster for woocommerce,woocommerce jetpack,custom price labels,call for price,currency symbol,remove sorting,remove old product slugs,add to cart text,order number,sequential order numbering,email pdf invoice,pdf invoice,pdf invoices,already in cart,empty cart,redirect to checkout,minimum order amount,customize checkout fields,checkout fields,email,customize product tabs,product tabs,related products number,empty cart,redirect add to cart,redirect to checkout,product already in cart,custom payment gateway,payment gateway icon,auto-complete all orders,custom order statuses,custom order status,remove text from price,custom css,hide categories count,hide subcategories count,hide category count,hide subcategory count,display total sales,custom product tabs,remove product tab,payment gateway fee,vat
|
4 |
Requires at least: 3.8
|
5 |
Tested up to: 4.4
|
6 |
-
Stable tag: 2.4.
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -60,6 +60,8 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
|
|
60 |
* *Gateways Currency* - Currency per WooCommerce payment gateway.
|
61 |
* *Gateways Fees* - Enable extra fees for WooCommerce payment gateways.
|
62 |
* *Gateways Icons* - Change or completely remove icons (images) for any (default or custom) WooCommerce payment gateway.
|
|
|
|
|
63 |
* *Gateways per Category* - Show payment gateway only if there is product of selected category in WooCommerce cart.
|
64 |
|
65 |
**Shipping & Orders**
|
@@ -108,7 +110,7 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
|
|
108 |
|
109 |
= How to unlock those some features settings that are locked? =
|
110 |
|
111 |
-
To unlock all Booster for WooCommerce features, please install additional
|
112 |
|
113 |
== Screenshots ==
|
114 |
|
@@ -116,6 +118,14 @@ To unlock all Booster for WooCommerce features, please install additional <a hre
|
|
116 |
|
117 |
== Changelog ==
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
= 2.4.0 - 10/02/2016 =
|
120 |
* Fix - Custom attribute handling in `output_custom_number()` fixed.
|
121 |
* Dev - "Reset Module to Default Settings" option added.
|
3 |
Tags: woocommerce,booster for woocommerce,woocommerce jetpack,custom price labels,call for price,currency symbol,remove sorting,remove old product slugs,add to cart text,order number,sequential order numbering,email pdf invoice,pdf invoice,pdf invoices,already in cart,empty cart,redirect to checkout,minimum order amount,customize checkout fields,checkout fields,email,customize product tabs,product tabs,related products number,empty cart,redirect add to cart,redirect to checkout,product already in cart,custom payment gateway,payment gateway icon,auto-complete all orders,custom order statuses,custom order status,remove text from price,custom css,hide categories count,hide subcategories count,hide category count,hide subcategory count,display total sales,custom product tabs,remove product tab,payment gateway fee,vat
|
4 |
Requires at least: 3.8
|
5 |
Tested up to: 4.4
|
6 |
+
Stable tag: 2.4.1
|
7 |
License: GNU General Public License v3.0
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
60 |
* *Gateways Currency* - Currency per WooCommerce payment gateway.
|
61 |
* *Gateways Fees* - Enable extra fees for WooCommerce payment gateways.
|
62 |
* *Gateways Icons* - Change or completely remove icons (images) for any (default or custom) WooCommerce payment gateway.
|
63 |
+
* *Gateways Min/Max* - Add min/max amounts for WooCommerce payment gateways to show up.
|
64 |
+
* *Gateways by Country* - Set countries to include/exclude for WooCommerce payment gateways to show up.
|
65 |
* *Gateways per Category* - Show payment gateway only if there is product of selected category in WooCommerce cart.
|
66 |
|
67 |
**Shipping & Orders**
|
110 |
|
111 |
= How to unlock those some features settings that are locked? =
|
112 |
|
113 |
+
To unlock all Booster for WooCommerce features, please install additional [Booster for WooCommerce Plus](http://booster.io/plus/) plugin.
|
114 |
|
115 |
== Screenshots ==
|
116 |
|
118 |
|
119 |
== Changelog ==
|
120 |
|
121 |
+
= 2.4.1 - 04/03/2016 =
|
122 |
+
* Fix - PRICES & CURRENCIES - Wholesale Price - Discount info on cart page bug fixed.
|
123 |
+
* Fix - PRICES & CURRENCIES - Price by Country - Wrong currency in emails bug fixed.
|
124 |
+
* Dev - PAYMENT GATEWAYS - Gateways by Country - Initial module release.
|
125 |
+
* Dev - PAYMENT GATEWAYS - Gateways Min/Max - Initial module release.
|
126 |
+
* Fix - EMAILS & MISC. - Emails - "Illegal offset type in isset or empty in ..." warning fixed.
|
127 |
+
* Dev - EMAILS & MISC. - WPML - Code refactoring.
|
128 |
+
|
129 |
= 2.4.0 - 10/02/2016 =
|
130 |
* Fix - Custom attribute handling in `output_custom_number()` fixed.
|
131 |
* Dev - "Reset Module to Default Settings" option added.
|
woocommerce-jetpack.php
CHANGED
@@ -3,10 +3,10 @@
|
|
3 |
Plugin Name: Booster for WooCommerce
|
4 |
Plugin URI: http://booster.io
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features.
|
6 |
-
Version: 2.4.
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: http://www.algoritmika.com
|
9 |
-
Copyright: ©
|
10 |
License: GNU General Public License v3.0
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
12 |
*/
|
@@ -21,7 +21,7 @@ if ( ! class_exists( 'WC_Jetpack' ) ) :
|
|
21 |
* Main WC_Jetpack Class
|
22 |
*
|
23 |
* @class WC_Jetpack
|
24 |
-
* @version 2.4.
|
25 |
*/
|
26 |
|
27 |
final class WC_Jetpack {
|
@@ -385,7 +385,7 @@ final class WC_Jetpack {
|
|
385 |
/**
|
386 |
* Include modules and submodules
|
387 |
*
|
388 |
-
* @version 2.4.
|
389 |
*/
|
390 |
private function include_modules() {
|
391 |
$settings = array();
|
@@ -422,6 +422,8 @@ final class WC_Jetpack {
|
|
422 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-fees.php' );
|
423 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-per-category.php' );
|
424 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-currency.php' );
|
|
|
|
|
425 |
|
426 |
$settings[] = include_once( 'includes/class-wcj-shipping.php' );
|
427 |
$settings[] = include_once( 'includes/class-wcj-shipping-calculator.php' );
|
3 |
Plugin Name: Booster for WooCommerce
|
4 |
Plugin URI: http://booster.io
|
5 |
Description: Supercharge your WooCommerce site with these awesome powerful features.
|
6 |
+
Version: 2.4.1
|
7 |
Author: Algoritmika Ltd
|
8 |
Author URI: http://www.algoritmika.com
|
9 |
+
Copyright: © 2016 Algoritmika Ltd.
|
10 |
License: GNU General Public License v3.0
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
12 |
*/
|
21 |
* Main WC_Jetpack Class
|
22 |
*
|
23 |
* @class WC_Jetpack
|
24 |
+
* @version 2.4.1
|
25 |
*/
|
26 |
|
27 |
final class WC_Jetpack {
|
385 |
/**
|
386 |
* Include modules and submodules
|
387 |
*
|
388 |
+
* @version 2.4.1
|
389 |
*/
|
390 |
private function include_modules() {
|
391 |
$settings = array();
|
422 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-fees.php' );
|
423 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-per-category.php' );
|
424 |
$settings[] = include_once( 'includes/class-wcj-payment-gateways-currency.php' );
|
425 |
+
$settings[] = include_once( 'includes/class-wcj-payment-gateways-min-max.php' );
|
426 |
+
$settings[] = include_once( 'includes/class-wcj-payment-gateways-by-country.php' );
|
427 |
|
428 |
$settings[] = include_once( 'includes/class-wcj-shipping.php' );
|
429 |
$settings[] = include_once( 'includes/class-wcj-shipping-calculator.php' );
|
wpml-config.xml
CHANGED
@@ -28,10 +28,19 @@
|
|
28 |
<key name="wcj_product_input_fields_type_checkbox_yes_global_1" />
|
29 |
<key name="wcj_product_input_fields_type_checkbox_no_global_1" />
|
30 |
<key name="wcj_product_input_fields_type_file_accept_global_1" />
|
|
|
|
|
31 |
<key name="wcj_product_input_fields_type_select_options_global_1" />
|
32 |
<key name="wcj_product_input_fields_title_global_1" />
|
33 |
<key name="wcj_product_input_fields_placeholder_global_1" />
|
34 |
<key name="wcj_product_input_fields_required_message_global_1" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
<key name="wcj_add_to_cart_per_category_text_single_group_1" />
|
36 |
<key name="wcj_add_to_cart_per_category_text_archive_group_1" />
|
37 |
<key name="wcj_add_to_cart_text_on_single_simple" />
|
@@ -67,6 +76,8 @@
|
|
67 |
<key name="wcj_checkout_place_order_button_text" />
|
68 |
<key name="wcj_cart_custom_info_content_1" />
|
69 |
<key name="wcj_cart_custom_info_item" />
|
|
|
|
|
70 |
<key name="wcj_mini_cart_custom_info_content_1" />
|
71 |
<key name="wcj_checkout_fields_billing_country_label" />
|
72 |
<key name="wcj_checkout_fields_billing_country_placeholder" />
|
@@ -115,48 +126,13 @@
|
|
115 |
<key name="wcj_checkout_custom_field_select_options_1" />
|
116 |
<key name="wcj_checkout_custom_field_checkbox_yes_1" />
|
117 |
<key name="wcj_checkout_custom_field_checkbox_no_1" />
|
|
|
|
|
118 |
<key name="wcj_checkout_custom_field_label_1" />
|
119 |
<key name="wcj_checkout_custom_field_placeholder_1" />
|
120 |
<key name="wcj_checkout_custom_info_content_1" />
|
121 |
<key name="wcj_order_minimum_amount_error_message" />
|
122 |
<key name="wcj_order_minimum_amount_cart_notice_message" />
|
123 |
-
<key name="wcj_pdf_invoices_seller_logo_url" />
|
124 |
-
<key name="wcj_pdf_invoices_header_text" />
|
125 |
-
<key name="wcj_pdf_invoices_invoice_number_text" />
|
126 |
-
<key name="wcj_pdf_invoices_order_date_text" />
|
127 |
-
<key name="wcj_pdf_invoices_order_time_text" />
|
128 |
-
<key name="wcj_pdf_invoices_invoice_date_text" />
|
129 |
-
<key name="wcj_pdf_invoices_invoice_due_date_text" />
|
130 |
-
<key name="wcj_pdf_invoices_invoice_fulfillment_date_text" />
|
131 |
-
<key name="wcj_pdf_invoices_additional_header_text" />
|
132 |
-
<key name="wcj_pdf_invoices_seller_text" />
|
133 |
-
<key name="wcj_pdf_invoices_seller_info" />
|
134 |
-
<key name="wcj_pdf_invoices_buyer_text" />
|
135 |
-
<key name="wcj_pdf_invoices_items_text" />
|
136 |
-
<key name="wcj_pdf_invoices_display_shipping_as_item_text" />
|
137 |
-
<key name="wcj_pdf_invoices_display_discount_as_item_text" />
|
138 |
-
<key name="wcj_pdf_invoices_column_nr_text" />
|
139 |
-
<key name="wcj_pdf_invoices_column_item_name_text" />
|
140 |
-
<key name="wcj_pdf_invoices_column_item_name_additional_text" />
|
141 |
-
<key name="wcj_pdf_invoices_column_qty_text" />
|
142 |
-
<key name="wcj_pdf_invoices_column_single_price_tax_excl_text" />
|
143 |
-
<key name="wcj_pdf_invoices_column_single_price_tax_text" />
|
144 |
-
<key name="wcj_pdf_invoices_column_single_price_tax_incl_text" />
|
145 |
-
<key name="wcj_pdf_invoices_column_price_tax_excl_text" />
|
146 |
-
<key name="wcj_pdf_invoices_column_price_tax_percent" />
|
147 |
-
<key name="wcj_pdf_invoices_column_price_tax_text" />
|
148 |
-
<key name="wcj_pdf_invoices_column_price_text" />
|
149 |
-
<key name="wcj_pdf_invoices_order_subtotal_text" />
|
150 |
-
<key name="wcj_pdf_invoices_order_shipping_text" />
|
151 |
-
<key name="wcj_pdf_invoices_order_discount_text" />
|
152 |
-
<key name="wcj_pdf_invoices_order_total_excl_tax_text" />
|
153 |
-
<key name="wcj_pdf_invoices_order_total_tax_text" />
|
154 |
-
<key name="wcj_pdf_invoices_order_total_text" />
|
155 |
-
<key name="wcj_pdf_invoices_order_payment_method_text" />
|
156 |
-
<key name="wcj_pdf_invoices_order_shipping_method_text" />
|
157 |
-
<key name="wcj_pdf_invoices_order_shipping_address_text" />
|
158 |
-
<key name="wcj_pdf_invoices_footer_text" />
|
159 |
-
<key name="wcj_pdf_invoices_general_css" />
|
160 |
<key name="wcj_invoicing_invoice_template" />
|
161 |
<key name="wcj_invoicing_proforma_invoice_template" />
|
162 |
<key name="wcj_invoicing_packing_slip_template" />
|
@@ -182,15 +158,34 @@
|
|
182 |
<key name="wcj_invoicing_packing_slip_footer_text" />
|
183 |
<key name="wcj_invoicing_credit_note_footer_text" />
|
184 |
<key name="wcj_invoicing_custom_doc_footer_text" />
|
|
|
|
|
|
|
185 |
<key name="wcj_invoicing_invoice_link_text" />
|
186 |
<key name="wcj_invoicing_invoice_file_name" />
|
|
|
|
|
|
|
187 |
<key name="wcj_invoicing_proforma_invoice_link_text" />
|
188 |
<key name="wcj_invoicing_proforma_invoice_file_name" />
|
|
|
|
|
|
|
189 |
<key name="wcj_invoicing_packing_slip_link_text" />
|
190 |
<key name="wcj_invoicing_packing_slip_file_name" />
|
|
|
|
|
|
|
191 |
<key name="wcj_invoicing_credit_note_link_text" />
|
192 |
<key name="wcj_invoicing_credit_note_file_name" />
|
|
|
|
|
|
|
193 |
<key name="wcj_invoicing_custom_doc_link_text" />
|
194 |
<key name="wcj_invoicing_custom_doc_file_name" />
|
|
|
|
|
|
|
|
|
195 |
</admin-texts>
|
196 |
</wpml-config>
|
28 |
<key name="wcj_product_input_fields_type_checkbox_yes_global_1" />
|
29 |
<key name="wcj_product_input_fields_type_checkbox_no_global_1" />
|
30 |
<key name="wcj_product_input_fields_type_file_accept_global_1" />
|
31 |
+
<key name="wcj_product_input_fields_type_datepicker_format_global_1" />
|
32 |
+
<key name="wcj_product_input_fields_type_timepicker_format_global_1" />
|
33 |
<key name="wcj_product_input_fields_type_select_options_global_1" />
|
34 |
<key name="wcj_product_input_fields_title_global_1" />
|
35 |
<key name="wcj_product_input_fields_placeholder_global_1" />
|
36 |
<key name="wcj_product_input_fields_required_message_global_1" />
|
37 |
+
<key name="wcj_product_input_fields_frontend_view_required_html" />
|
38 |
+
<key name="wcj_product_input_fields_frontend_view_order_table_format" />
|
39 |
+
<key name="wcj_wholesale_price_show_info_on_cart_format" />
|
40 |
+
<key name="wcj_product_images_custom_on_single" />
|
41 |
+
<key name="wcj_product_images_thumbnails_custom_on_single" />
|
42 |
+
<key name="wcj_product_images_custom_on_archives" />
|
43 |
+
<key name="wcj_product_images_sale_flash_html" />
|
44 |
<key name="wcj_add_to_cart_per_category_text_single_group_1" />
|
45 |
<key name="wcj_add_to_cart_per_category_text_archive_group_1" />
|
46 |
<key name="wcj_add_to_cart_text_on_single_simple" />
|
76 |
<key name="wcj_checkout_place_order_button_text" />
|
77 |
<key name="wcj_cart_custom_info_content_1" />
|
78 |
<key name="wcj_cart_custom_info_item" />
|
79 |
+
<key name="wcj_empty_cart_text" />
|
80 |
+
<key name="wcj_empty_cart_confirmation_text" />
|
81 |
<key name="wcj_mini_cart_custom_info_content_1" />
|
82 |
<key name="wcj_checkout_fields_billing_country_label" />
|
83 |
<key name="wcj_checkout_fields_billing_country_placeholder" />
|
126 |
<key name="wcj_checkout_custom_field_select_options_1" />
|
127 |
<key name="wcj_checkout_custom_field_checkbox_yes_1" />
|
128 |
<key name="wcj_checkout_custom_field_checkbox_no_1" />
|
129 |
+
<key name="wcj_checkout_custom_field_datepicker_format_1" />
|
130 |
+
<key name="wcj_checkout_custom_field_timepicker_format_1" />
|
131 |
<key name="wcj_checkout_custom_field_label_1" />
|
132 |
<key name="wcj_checkout_custom_field_placeholder_1" />
|
133 |
<key name="wcj_checkout_custom_info_content_1" />
|
134 |
<key name="wcj_order_minimum_amount_error_message" />
|
135 |
<key name="wcj_order_minimum_amount_cart_notice_message" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
<key name="wcj_invoicing_invoice_template" />
|
137 |
<key name="wcj_invoicing_proforma_invoice_template" />
|
138 |
<key name="wcj_invoicing_packing_slip_template" />
|
158 |
<key name="wcj_invoicing_packing_slip_footer_text" />
|
159 |
<key name="wcj_invoicing_credit_note_footer_text" />
|
160 |
<key name="wcj_invoicing_custom_doc_footer_text" />
|
161 |
+
<key name="wcj_invoicing_invoice_admin_page_column_text" />
|
162 |
+
<key name="wcj_invoicing_invoice_admin_column_create_btn" />
|
163 |
+
<key name="wcj_invoicing_invoice_admin_column_delete_btn" />
|
164 |
<key name="wcj_invoicing_invoice_link_text" />
|
165 |
<key name="wcj_invoicing_invoice_file_name" />
|
166 |
+
<key name="wcj_invoicing_proforma_invoice_admin_page_column_text" />
|
167 |
+
<key name="wcj_invoicing_proforma_invoice_admin_column_create_btn" />
|
168 |
+
<key name="wcj_invoicing_proforma_invoice_admin_column_delete_btn" />
|
169 |
<key name="wcj_invoicing_proforma_invoice_link_text" />
|
170 |
<key name="wcj_invoicing_proforma_invoice_file_name" />
|
171 |
+
<key name="wcj_invoicing_packing_slip_admin_page_column_text" />
|
172 |
+
<key name="wcj_invoicing_packing_slip_admin_column_create_btn" />
|
173 |
+
<key name="wcj_invoicing_packing_slip_admin_column_delete_btn" />
|
174 |
<key name="wcj_invoicing_packing_slip_link_text" />
|
175 |
<key name="wcj_invoicing_packing_slip_file_name" />
|
176 |
+
<key name="wcj_invoicing_credit_note_admin_page_column_text" />
|
177 |
+
<key name="wcj_invoicing_credit_note_admin_column_create_btn" />
|
178 |
+
<key name="wcj_invoicing_credit_note_admin_column_delete_btn" />
|
179 |
<key name="wcj_invoicing_credit_note_link_text" />
|
180 |
<key name="wcj_invoicing_credit_note_file_name" />
|
181 |
+
<key name="wcj_invoicing_custom_doc_admin_page_column_text" />
|
182 |
+
<key name="wcj_invoicing_custom_doc_admin_column_create_btn" />
|
183 |
+
<key name="wcj_invoicing_custom_doc_admin_column_delete_btn" />
|
184 |
<key name="wcj_invoicing_custom_doc_link_text" />
|
185 |
<key name="wcj_invoicing_custom_doc_file_name" />
|
186 |
+
<key name="wcj_eu_vat_number_field_label" />
|
187 |
+
<key name="wcj_eu_vat_number_field_placeholder" />
|
188 |
+
<key name="wcj_eu_vat_number_field_description" />
|
189 |
+
<key name="wcj_eu_vat_number_not_valid_message" />
|
190 |
</admin-texts>
|
191 |
</wpml-config>
|