Booster for WooCommerce - Version 3.9.0

Version Description

  • 05/09/2018 =
  • Feature - PRICES & CURRENCIES - Currencies - Shortcodes (e.g. [wcj_wpml]) can now be used in currency symbol fields.
  • Feature - PRICES & CURRENCIES - Currency Exchange Rates - Exchange Rates Server - "The Free Currency Converter API" server added.
  • Feature - BUTTON & PRICE LABELS - Add to Cart Button Labels - Per Product Type - "Products not in stock" option added.
  • Feature - PRODUCTS - Cross-sells - "Exclude Not in Stock Products" option added.
  • Feature - PRODUCTS - Cross-sells - "Replace Cart Products with Cross-sells" option added.
  • Feature - PRODUCTS - Product Images - Placeholder Image - "Custom Placeholder Image URL" option added.
  • Feature - SHIPPING & ORDERS - Custom Shipping - Shortcodes can now be used in "Cost" field (e.g.: [wcj_shipping_costs_table]).
  • Feature - PDF INVOICING & PACKING SLIPS - Advanced - Add PDF Invoices Meta Box to Admin Edit Order Page - Editable date added.
  • Feature - EMAILS & MISC. - Email Verification - "Redirect User After Successful Verification to Custom URL" option added.
  • Feature - EMAILS & MISC. - Reports - Stock - "product type" option added.
  • Feature - EMAILS & MISC. - Reports - Stock - "Include deleted products" option added.
  • Feature - EMAILS & MISC. - Template Editor - Initial module release.
  • Fix - PRICES & CURRENCIES - Currency Exchange Rates - Discontinued servers (Yahoo, Google, Fixer) removed.
  • Fix - BUTTON & PRICE LABELS - Add to Cart Button Labels - Per Product Type - Products with empty price - Default value fixed.
  • Fix - PRODUCTS - Cost of Goods - Products List Columns - Variable products fixed in both ("Profit" and "Cost") columns.
  • Fix - PRODUCTS - Cost of Goods - Products List Columns - Profit - Checking for price to be is_numeric().
  • Fix - PRODUCTS - Product Addons - maybe_convert_currency() - "Global Discount" module conversion added.
  • Fix - PRODUCTS - Product by Condition - pre_get_posts() - Additional checks added (to prevent possible "Call to undefined function is_user_logged_in() ..." error).
  • Fix - PRODUCTS - Products XML Feeds - html_entity_decode() added to XML header and footer.
  • Fix - PRODUCTS - Related Products - Relate Manually - Hiding related products for current product (i.e. if enabled and no products selected) fixed.
  • Fix - CART & CHECKOUT - Checkout Fees - "Checkout Field" option fixed.
  • Fix - SHIPPING & ORDERS - Admin Orders List - Additional checks for wp_get_current_user() function to exist added (wcj_current_user_can() function added).
  • Fix - EMAILS & MISC. - Email Verification - "Login User After Successful Verification" admin description fixed.
  • Fix - EMAILS & MISC. - Email Verification - "Message - Resend" default value fixed.
  • Fix - EMAILS & MISC. - Email Verification - "Message - Failed (no user ID)" option added.
  • Fix - EMAILS & MISC. - Reports - Stock - is_numeric() checks added.
  • Fix - EMAILS & MISC. - Reports - Stock - "Last sale" column fixed.
  • Fix - EMAILS & MISC. - User Tracking - Fatal error on "Update now" button fixed.
  • Fix - Core - WCJ_Module - save_meta_box() - delete_post_meta() added.
  • Fix - Functions - Country - wcj_get_country_by_ip() - Additional checks added (to prevent possible "Call to undefined function wc_format_country_state_string() ..." error).
  • Fix - Functions - Exchange Rates - Average exchange rates function fixed (used in "Booster: Monthly Sales (with Currency Conversion)" report).
  • Fix - Functions - General - wcj_wrap_in_wc_email_template() - {site_title} in footer replaced with blog name.
  • Dev - PRICES & CURRENCIES - Bulk Price Converter - WP_Query optimized to return ids only.
  • Dev - PRICES & CURRENCIES - Bulk Price Converter - Tool restyled. "Pretty prices threshold" option description added.
  • Dev - PRICES & CURRENCIES - Currencies - Major code refactoring and optimization.
  • Dev - PRICES & CURRENCIES - Global Discount - Advanced Settings - "Price Filters Priority" option added.
  • Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Revert Currency to Shop's Default - "Revert on cart page only" and "Revert on both cart & checkout pages" options added.
  • Dev - PRICES & CURRENCIES - Multicurrency Product Base Price - Advanced Settings - "Price Filters Priority" option added.
  • Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Autogenerate Groups - Cleaned up; restyled; Yahoo exchange rates server related buttons removed; "PayPal supported currencies only" button added.
  • Dev - PRICES & CURRENCIES - Product Price by Formula - Advanced Settings - "Price Filters Priority" option added.
  • Dev - PRICES & CURRENCIES - Wholesale Price - Discount Info on Cart Page - %original_price% replaced value added.
  • Dev - PRICES & CURRENCIES - Wholesale Price - Admin settings restyled.
  • Dev - BUTTON & PRICE LABELS - Add to Cart Button Labels - Admin settings restyled.
  • Dev - PRODUCTS - Add to Cart Button Visibility - All Products - "Advanced: Method" options added.
  • Dev - PRODUCTS - Product Addons - Advanced Settings - Apply Price Filter - "... modules to apply ..." option added.
  • Dev - PRODUCTS - Product Addons - Advanced Settings - "Price Filters Priority" option added.
  • Dev - PRODUCTS - Related Products - Relate Manually - "Select box type" option added.
  • Dev - CART & CHECKOUT - Checkout Files Upload - Advanced Options - "Notice Type" option added.
  • Dev - PAYMENT GATEWAYS - Gateways by Country, State or Postcode - Trying to get customer country and state from $_REQUEST first (before accessing WC()->customer). Postcode code part rewritten.
  • Dev - PAYMENT GATEWAYS - Gateways Currency Converter - "Advanced: Fix Chosen Payment Method" option added.
  • Dev - PAYMENT GATEWAYS - Gateways Currency Converter - Code refactoring (get_chosen_payment_method() function added; global $woocommerce replaced with WC()).
  • Dev - SHIPPING & ORDERS - Custom Shipping - Admin settings restyled.
  • Dev - SHIPPING & ORDERS - Left to Free Shipping - Info on Checkout - Position - New positions added.
  • Dev - SHIPPING & ORDERS - Shipping Methods by Products - Minor code changes.
  • Dev - EMAILS & MISC. - Admin Bar - "Booster: Active" admin bar can now be added without adding "Booster" admin bar.
  • Dev - EMAILS & MISC. - Custom Emails - Code cleaned up and refactored.
  • Dev - EMAILS & MISC. - Email Verification - Admin settings restyled. Code refactored.
  • Dev - EMAILS & MISC. - Reports - Admin settings restyled.
  • Dev - Functions - Price and Currency - wcj_get_woocommerce_currencies_and_symbols() function added. wcj_get_currency_symbol(), wcj_get_currencies_names_and_symbols() and wcj_get_currencies_array() functions removed. Affected modules: "Currency Exchange Rates", "Admin Orders List", "Currency for External Products", "Currency per Product", "Multicurrency Product Base Price", "Multicurrency (Currency Switcher)", "Gateways by Currency", "Gateways Currency Converter", "Prices and Currencies by Country", "Price Formats", "Orders", "Currencies".
  • Dev - Shortcodes - General - [wcj_get_option] shortcode added.
  • Dev - Shortcodes - General - [wcj_image] shortcode added.
  • Dev - Shortcodes - General - [wcj_shipping_costs_table] shortcode added.
  • Dev - Shortcodes - Orders - [wcj_order_items_meta] - sep attribute added.
  • Dev - Shortcodes - Orders - [wcj_order_products_meta] shortcode added.
  • Dev - Shortcodes - Products - [wcj_product_price] - min_or_max attribute added (for variable products).
  • Dev - Settings - Shipping by Condition - Code optimized.
  • Dev - Unnecessary woocommerce_currency_symbol hooks removed (affected modules: "Prices and Currencies by Country", "Currency for External Products", "Multicurrency (Currency Switcher)", "Currency per Product", "Gateways Currency Converter").
  • Dev - Code cleaned up.
Download this release

Release Info

Developer algoritmika
Plugin Icon 128x128 Booster for WooCommerce
Version 3.9.0
Comparing to
See all releases

Code changes from version 3.8.0 to 3.9.0

Files changed (94) hide show
  1. includes/add-to-cart/class-wcj-add-to-cart-per-product-type.php +7 -2
  2. includes/admin/wcj-modules-cats.php +2 -1
  3. includes/class-wcj-add-to-cart-button-visibility.php +35 -14
  4. includes/class-wcj-admin-bar.php +10 -5
  5. includes/class-wcj-admin-orders-list.php +9 -9
  6. includes/class-wcj-checkout-fees.php +3 -3
  7. includes/class-wcj-checkout-files-upload.php +30 -15
  8. includes/class-wcj-cross-sells.php +78 -7
  9. includes/class-wcj-currencies.php +0 -88
  10. includes/class-wcj-currency-external-products.php +3 -17
  11. includes/class-wcj-currency-per-product.php +2 -21
  12. includes/class-wcj-currency.php +192 -0
  13. includes/class-wcj-emails-verification.php +23 -14
  14. includes/class-wcj-eu-vat-number.php +4 -4
  15. includes/class-wcj-global-discount.php +7 -6
  16. includes/class-wcj-multicurrency-product-base-price.php +9 -5
  17. includes/class-wcj-multicurrency.php +14 -18
  18. includes/class-wcj-payment-gateways-by-country.php +23 -17
  19. includes/class-wcj-payment-gateways-currency.php +52 -54
  20. includes/class-wcj-price-labels.php +5 -4
  21. includes/class-wcj-product-addons.php +13 -7
  22. includes/class-wcj-product-bookings.php +3 -3
  23. includes/class-wcj-product-bulk-price-converter.php +28 -25
  24. includes/class-wcj-product-images.php +18 -2
  25. includes/class-wcj-product-price-by-formula.php +6 -6
  26. includes/class-wcj-products-xml.php +15 -5
  27. includes/class-wcj-purchase-data.php +40 -10
  28. includes/class-wcj-related-products.php +11 -10
  29. includes/class-wcj-shipping-by-products.php +3 -4
  30. includes/class-wcj-template-editor.php +122 -0
  31. includes/class-wcj-track-users.php +3 -3
  32. includes/class-wcj-upsells.php +1 -0
  33. includes/class-wcj-wholesale-price.php +5 -4
  34. includes/classes/class-wcj-module-product-by-condition.php +5 -2
  35. includes/classes/class-wcj-module-shipping-by-condition.php +0 -1
  36. includes/classes/class-wcj-module.php +9 -2
  37. includes/core/wcj-functions.php +1 -2
  38. includes/core/wcj-modules.php +3 -2
  39. includes/emails/class-wc-email-wcj-custom.php +21 -20
  40. includes/exchange-rates/class-wcj-exchange-rates.php +4 -4
  41. includes/functions/wcj-functions-country.php +7 -4
  42. includes/functions/wcj-functions-currencies.php +0 -215
  43. includes/functions/wcj-functions-date-time.php +32 -1
  44. includes/functions/wcj-functions-exchange-rates.php +50 -130
  45. includes/functions/wcj-functions-general.php +24 -10
  46. includes/functions/wcj-functions-price-currency.php +18 -74
  47. includes/functions/wcj-functions-users.php +16 -1
  48. includes/gateways/class-wc-gateway-wcj-custom.php +5 -4
  49. includes/js/wcj-checkout.js +2 -1
  50. includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php +13 -8
  51. includes/price-by-country/class-wcj-price-by-country-core.php +3 -17
  52. includes/price-by-country/class-wcj-price-by-country-group-generator.php +54 -72
  53. includes/price-by-country/class-wcj-price-by-country-local.php +3 -3
  54. includes/price-by-country/wcj-country-currency.php +28 -213
  55. includes/reports/class-wcj-currency-reports.php +11 -8
  56. includes/reports/wcj-class-reports-stock.php +45 -30
  57. includes/settings/meta-box/wcj-settings-meta-box-orders.php +2 -2
  58. includes/settings/meta-box/wcj-settings-meta-box-pdf-invoicing.php +8 -1
  59. includes/settings/meta-box/wcj-settings-meta-box-related-products.php +7 -5
  60. includes/settings/wcj-settings-add-to-cart-button-visibility.php +23 -1
  61. includes/settings/wcj-settings-add-to-cart.php +9 -15
  62. includes/settings/wcj-settings-checkout-files-upload.php +12 -1
  63. includes/settings/wcj-settings-cross-sells.php +25 -2
  64. includes/settings/wcj-settings-currency-exchange-rates.php +2 -2
  65. includes/settings/wcj-settings-currency-external-products.php +2 -2
  66. includes/settings/wcj-settings-currency-per-product.php +3 -3
  67. includes/settings/wcj-settings-currency.php +13 -13
  68. includes/settings/wcj-settings-emails-verification.php +27 -12
  69. includes/settings/wcj-settings-general.php +0 -37
  70. includes/settings/wcj-settings-global-discount.php +19 -1
  71. includes/settings/wcj-settings-left-to-free-shipping.php +3 -1
  72. includes/settings/wcj-settings-multicurrency-base-price.php +9 -2
  73. includes/settings/wcj-settings-multicurrency.php +11 -6
  74. includes/settings/wcj-settings-payment-gateways-by-currency.php +5 -3
  75. includes/settings/wcj-settings-payment-gateways-currency.php +21 -13
  76. includes/settings/wcj-settings-pdf-invoicing-advanced.php +2 -3
  77. includes/settings/wcj-settings-price-by-country.php +25 -24
  78. includes/settings/wcj-settings-price-formats.php +4 -4
  79. includes/settings/wcj-settings-product-addons.php +20 -1
  80. includes/settings/wcj-settings-product-images.php +18 -1
  81. includes/settings/wcj-settings-product-price-by-formula.php +17 -1
  82. includes/settings/wcj-settings-related-products.php +11 -1
  83. includes/settings/wcj-settings-reports.php +47 -13
  84. includes/settings/wcj-settings-shipping-by-condition.php +7 -6
  85. includes/settings/wcj-settings-template-editor.php +63 -0
  86. includes/settings/wcj-settings-wholesale-price.php +19 -18
  87. includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php +20 -11
  88. includes/shortcodes/class-wcj-shortcodes-general.php +89 -18
  89. includes/shortcodes/class-wcj-shortcodes-orders.php +29 -58
  90. includes/shortcodes/class-wcj-shortcodes-products.php +5 -2
  91. includes/tools/class-wcj-order-statuses-tool.php +3 -3
  92. langs/woocommerce-jetpack.pot +1478 -1897
  93. readme.txt +75 -4
  94. woocommerce-jetpack.php +2 -2
includes/add-to-cart/class-wcj-add-to-cart-per-product-type.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Add to Cart Button Labels - Per Product Type
4
  *
5
- * @version 3.7.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -27,7 +27,7 @@ class WCJ_Add_To_Cart_Per_Product_Type {
27
  /**
28
  * custom_add_to_cart_button_text.
29
  *
30
- * @version 3.7.0
31
  * @todo (maybe) add checkbox options to enable/disable custom labels for each product type (or even for each label)
32
  */
33
  function custom_add_to_cart_button_text( $add_to_cart_text ) {
@@ -55,6 +55,11 @@ class WCJ_Add_To_Cart_Per_Product_Type {
55
  }
56
  }
57
 
 
 
 
 
 
58
  // On sale
59
  if ( '' != ( $text_on_sale = get_option( 'wcj_add_to_cart_text_on_' . $single_or_archive . '_sale_' . $product_type, '' ) ) && $product->is_on_sale() ) {
60
  return do_shortcode( $text_on_sale );
2
  /**
3
  * Booster for WooCommerce - Add to Cart Button Labels - Per Product Type
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
27
  /**
28
  * custom_add_to_cart_button_text.
29
  *
30
+ * @version 3.9.0
31
  * @todo (maybe) add checkbox options to enable/disable custom labels for each product type (or even for each label)
32
  */
33
  function custom_add_to_cart_button_text( $add_to_cart_text ) {
55
  }
56
  }
57
 
58
+ // Not in stock
59
+ if ( '' != ( $text_on_not_in_stock = get_option( 'wcj_add_to_cart_text_on_' . $single_or_archive . '_not_in_stock_' . $product_type, '' ) ) && ! $product->is_in_stock() ) {
60
+ return do_shortcode( $text_on_not_in_stock );
61
+ }
62
+
63
  // On sale
64
  if ( '' != ( $text_on_sale = get_option( 'wcj_add_to_cart_text_on_' . $single_or_archive . '_sale_' . $product_type, '' ) ) && $product->is_on_sale() ) {
65
  return do_shortcode( $text_on_sale );
includes/admin/wcj-modules-cats.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Modules Array
4
  *
5
- * @version 3.7.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
@@ -193,6 +193,7 @@ return apply_filters( 'wcj_modules', array(
193
  'custom_js',
194
  'track_users',
195
  'modules_by_user_roles',
 
196
  'product_info', // deprecated
197
  ),
198
  ),
2
  /**
3
  * Booster for WooCommerce - Modules Array
4
  *
5
+ * @version 3.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) split "Shipping & Orders", "Cart & Checkout", "Products", "Prices & Currencies" etc.
193
  'custom_js',
194
  'track_users',
195
  'modules_by_user_roles',
196
+ 'template_editor',
197
  'product_info', // deprecated
198
  ),
199
  ),
includes/class-wcj-add-to-cart-button-visibility.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Add to Cart Button Visibility
4
  *
5
- * @version 3.4.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,8 +16,9 @@ class WCJ_Add_To_Cart_Button_Visibility extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.4.0
20
  * @since 3.3.0
 
21
  */
22
  function __construct() {
23
 
@@ -37,38 +38,58 @@ class WCJ_Add_To_Cart_Button_Visibility extends WCJ_Module {
37
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_global_enabled', 'no' ) ) {
38
  // Archives
39
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_archives', 'no' ) ) {
40
- add_action( 'init', array( $this, 'add_to_cart_button_disable_archives' ), PHP_INT_MAX );
41
- add_action( 'woocommerce_after_shop_loop_item', array( $this, 'add_to_cart_button_archives_content' ), 10 );
 
 
 
 
42
  }
43
  // Single Product
44
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_single', 'no' ) ) {
45
- add_action( 'init', array( $this, 'add_to_cart_button_disable_single' ), PHP_INT_MAX );
46
- add_action( 'woocommerce_single_product_summary', array( $this, 'add_to_cart_button_single_content' ), 30 );
 
 
 
 
 
 
47
  }
48
  }
49
  // Per category
50
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_category_enabled', 'no' ) ) {
51
  // Single Product
52
- add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start_per_category' ), PHP_INT_MAX, 0 );
53
- add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end_per_category' ), PHP_INT_MAX, 0 );
54
  // Archives
55
- add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable_per_category' ), PHP_INT_MAX, 2 );
56
  }
57
  // Per product
58
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
59
  // Single Product
60
- add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
61
- add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
62
  // Archives
63
- add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
64
  // Metaboxes
65
- add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
66
- add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
67
  }
68
  }
69
 
70
  }
71
 
 
 
 
 
 
 
 
 
 
 
72
  /**
73
  * add_to_cart_button_archives_content.
74
  *
2
  /**
3
  * Booster for WooCommerce - Module - Add to Cart Button Visibility
4
  *
5
+ * @version 3.9.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 3.3.0
21
+ * @todo maybe add option to use `woocommerce_before_add_to_cart_form` / `woocommerce_after_add_to_cart_form` instead of `woocommerce_before_add_to_cart_button` / `woocommerce_after_add_to_cart_button`
22
  */
23
  function __construct() {
24
 
38
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_global_enabled', 'no' ) ) {
39
  // Archives
40
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_archives', 'no' ) ) {
41
+ if ( 'remove_action' === get_option( 'wcj_add_to_cart_button_disable_archives_method', 'remove_action' ) ) {
42
+ add_action( 'init', array( $this, 'add_to_cart_button_disable_archives' ), PHP_INT_MAX );
43
+ add_action( 'woocommerce_after_shop_loop_item', array( $this, 'add_to_cart_button_archives_content' ), 10 );
44
+ } else { // 'add_filter'
45
+ add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable_all_products' ), PHP_INT_MAX, 2 );
46
+ }
47
  }
48
  // Single Product
49
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_disable_single', 'no' ) ) {
50
+ if ( 'remove_action' === get_option( 'wcj_add_to_cart_button_disable_single_method', 'remove_action' ) ) {
51
+ add_action( 'init', array( $this, 'add_to_cart_button_disable_single' ), PHP_INT_MAX );
52
+ add_action( 'woocommerce_single_product_summary', array( $this, 'add_to_cart_button_single_content' ), 30 );
53
+ } else { // 'add_action'
54
+ add_action( 'woocommerce_before_add_to_cart_button', 'ob_start', PHP_INT_MAX, 0 );
55
+ add_action( 'woocommerce_after_add_to_cart_button', 'ob_end_clean', PHP_INT_MAX, 0 );
56
+ add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_single_content' ), PHP_INT_MAX, 0 );
57
+ }
58
  }
59
  }
60
  // Per category
61
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_category_enabled', 'no' ) ) {
62
  // Single Product
63
+ add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start_per_category' ), PHP_INT_MAX, 0 );
64
+ add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end_per_category' ), PHP_INT_MAX, 0 );
65
  // Archives
66
+ add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable_per_category' ), PHP_INT_MAX, 2 );
67
  }
68
  // Per product
69
  if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
70
  // Single Product
71
+ add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
72
+ add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
73
  // Archives
74
+ add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
75
  // Metaboxes
76
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
77
+ add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
78
  }
79
  }
80
 
81
  }
82
 
83
+ /**
84
+ * add_to_cart_button_loop_disable_all_products.
85
+ *
86
+ * @version 3.9.0
87
+ * @since 3.9.0
88
+ */
89
+ function add_to_cart_button_loop_disable_all_products( $link, $_product ) {
90
+ return do_shortcode( get_option( 'wcj_add_to_cart_button_archives_content', '' ) );
91
+ }
92
+
93
  /**
94
  * add_to_cart_button_archives_content.
95
  *
includes/class-wcj-admin-bar.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Admin Bar
4
  *
5
- * @version 3.6.0
6
  * @since 2.9.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Admin_Bar extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.1.0
20
  * @since 2.9.0
21
  * @todo (maybe) custom user nodes
22
  * @todo (maybe) optional nodes selection
@@ -38,8 +38,10 @@ class WCJ_Admin_Bar extends WCJ_Module {
38
  add_action( 'wp_head', array( $this, 'add_woocommerce_admin_bar_icon_style' ) );
39
  add_action( 'admin_head', array( $this, 'add_woocommerce_admin_bar_icon_style' ) );
40
  }
41
- if ( 'yes' === get_option( 'wcj_admin_bar_booster_enabled', 'yes' ) ) {
42
- add_action( 'admin_bar_menu', array( $this, 'add_booster_admin_bar' ), PHP_INT_MAX );
 
 
43
  if ( 'yes' === get_option( 'wcj_admin_bar_booster_active_enabled', 'yes' ) ) {
44
  add_action( 'admin_bar_menu', array( $this, 'add_booster_active_admin_bar' ), PHP_INT_MAX );
45
  }
@@ -228,13 +230,16 @@ class WCJ_Admin_Bar extends WCJ_Module {
228
  /**
229
  * add_booster_active_admin_bar.
230
  *
231
- * @version 3.6.0
232
  * @since 3.1.0
233
  */
234
  function add_booster_active_admin_bar( $wp_admin_bar ) {
235
  if ( ! current_user_can( 'manage_woocommerce' ) ) {
236
  return;
237
  }
 
 
 
238
  $tools = array(
239
  'tools' => array(
240
  'title' => __( 'Tools', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Module - Admin Bar
4
  *
5
+ * @version 3.9.0
6
  * @since 2.9.0
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 2.9.0
21
  * @todo (maybe) custom user nodes
22
  * @todo (maybe) optional nodes selection
38
  add_action( 'wp_head', array( $this, 'add_woocommerce_admin_bar_icon_style' ) );
39
  add_action( 'admin_head', array( $this, 'add_woocommerce_admin_bar_icon_style' ) );
40
  }
41
+ if ( 'yes' === get_option( 'wcj_admin_bar_booster_enabled', 'yes' ) || 'yes' === get_option( 'wcj_admin_bar_booster_active_enabled', 'yes' ) ) {
42
+ if ( 'yes' === get_option( 'wcj_admin_bar_booster_enabled', 'yes' ) ) {
43
+ add_action( 'admin_bar_menu', array( $this, 'add_booster_admin_bar' ), PHP_INT_MAX );
44
+ }
45
  if ( 'yes' === get_option( 'wcj_admin_bar_booster_active_enabled', 'yes' ) ) {
46
  add_action( 'admin_bar_menu', array( $this, 'add_booster_active_admin_bar' ), PHP_INT_MAX );
47
  }
230
  /**
231
  * add_booster_active_admin_bar.
232
  *
233
+ * @version 3.9.0
234
  * @since 3.1.0
235
  */
236
  function add_booster_active_admin_bar( $wp_admin_bar ) {
237
  if ( ! current_user_can( 'manage_woocommerce' ) ) {
238
  return;
239
  }
240
+ if ( 'no' === get_option( 'wcj_admin_bar_booster_enabled', 'yes' ) ) {
241
+ $this->get_nodes_booster_modules();
242
+ }
243
  $tools = array(
244
  'tools' => array(
245
  'title' => __( 'Tools', 'woocommerce-jetpack' ),
includes/class-wcj-admin-orders-list.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Admin Orders List
4
  *
5
- * @version 3.7.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
@@ -190,12 +190,12 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
190
  /**
191
  * add_shop_order_multiple_statuses_not_completed_link.
192
  *
193
- * @version 2.5.7
194
  * @since 2.5.7
195
  */
196
  function add_shop_order_multiple_statuses_not_completed_link( $views ) {
197
  global $wp_query;
198
- if ( ! current_user_can( 'edit_others_pages' ) ) {
199
  return $views;
200
  }
201
  $all_not_completed_statuses = wc_get_order_statuses();
@@ -212,12 +212,12 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
212
  /**
213
  * filter_shop_order_multiple_statuses_not_completed_link.
214
  *
215
- * @version 2.5.7
216
  * @since 2.5.7
217
  */
218
  function filter_shop_order_multiple_statuses_not_completed_link( $query ) {
219
  if ( false !== strpos( $_SERVER['REQUEST_URI'], '/wp-admin/edit.php' ) && isset( $_GET['post_type'] ) && 'shop_order' === $_GET['post_type'] ) {
220
- if ( current_user_can( 'edit_others_pages' ) ) {
221
  if ( isset( $_GET['post_status'] ) && false !== strpos( $_GET['post_status'], ',' ) ) {
222
  $post_statuses = explode( ',', $_GET['post_status'] );
223
  $query->query['post_status'] = $post_statuses;
@@ -271,12 +271,12 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
271
  /**
272
  * filter_shop_order_multiple_statuses.
273
  *
274
- * @version 2.5.7
275
  * @since 2.5.7
276
  */
277
  function filter_shop_order_multiple_statuses( $query ) {
278
  if ( false !== strpos( $_SERVER['REQUEST_URI'], '/wp-admin/edit.php' ) && isset( $_GET['post_type'] ) && 'shop_order' === $_GET['post_type'] ) {
279
- if ( current_user_can( 'edit_others_pages' ) ) {
280
  if ( isset( $_GET['wcj_admin_filter_statuses'] ) ) {
281
  $post_statuses = $_GET['wcj_admin_filter_statuses'];
282
  $query->query['post_status'] = $post_statuses;
@@ -316,7 +316,7 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
316
  /**
317
  * Filters for post types.
318
  *
319
- * @version 2.8.0
320
  */
321
  function restrict_manage_posts() {
322
  global $typenow, $wp_query;
@@ -332,7 +332,7 @@ class WCJ_Admin_Orders_List extends WCJ_Module {
332
  }
333
  if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
334
  $selected_currency = isset( $_GET['currency'] ) ? $_GET['currency'] : 'all';
335
- $currencies = array_merge( array( 'all' => __( 'All currencies', 'woocommerce-jetpack' ) ), wcj_get_currencies_names_and_symbols() );
336
  echo '<select id="currency" name="currency">';
337
  foreach ( $currencies as $code => $name ) {
338
  echo '<option value="' . $code . '" ' . selected( $code, $selected_currency, false ) . '>' . $name . '</option>';
2
  /**
3
  * Booster for WooCommerce - Module - Admin Orders List
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
190
  /**
191
  * add_shop_order_multiple_statuses_not_completed_link.
192
  *
193
+ * @version 3.9.0
194
  * @since 2.5.7
195
  */
196
  function add_shop_order_multiple_statuses_not_completed_link( $views ) {
197
  global $wp_query;
198
+ if ( ! wcj_current_user_can( 'edit_others_pages' ) ) {
199
  return $views;
200
  }
201
  $all_not_completed_statuses = wc_get_order_statuses();
212
  /**
213
  * filter_shop_order_multiple_statuses_not_completed_link.
214
  *
215
+ * @version 3.9.0
216
  * @since 2.5.7
217
  */
218
  function filter_shop_order_multiple_statuses_not_completed_link( $query ) {
219
  if ( false !== strpos( $_SERVER['REQUEST_URI'], '/wp-admin/edit.php' ) && isset( $_GET['post_type'] ) && 'shop_order' === $_GET['post_type'] ) {
220
+ if ( wcj_current_user_can( 'edit_others_pages' ) ) {
221
  if ( isset( $_GET['post_status'] ) && false !== strpos( $_GET['post_status'], ',' ) ) {
222
  $post_statuses = explode( ',', $_GET['post_status'] );
223
  $query->query['post_status'] = $post_statuses;
271
  /**
272
  * filter_shop_order_multiple_statuses.
273
  *
274
+ * @version 3.9.0
275
  * @since 2.5.7
276
  */
277
  function filter_shop_order_multiple_statuses( $query ) {
278
  if ( false !== strpos( $_SERVER['REQUEST_URI'], '/wp-admin/edit.php' ) && isset( $_GET['post_type'] ) && 'shop_order' === $_GET['post_type'] ) {
279
+ if ( wcj_current_user_can( 'edit_others_pages' ) ) {
280
  if ( isset( $_GET['wcj_admin_filter_statuses'] ) ) {
281
  $post_statuses = $_GET['wcj_admin_filter_statuses'];
282
  $query->query['post_status'] = $post_statuses;
316
  /**
317
  * Filters for post types.
318
  *
319
+ * @version 3.9.0
320
  */
321
  function restrict_manage_posts() {
322
  global $typenow, $wp_query;
332
  }
333
  if ( 'yes' === get_option( 'wcj_orders_list_custom_columns_currency', 'no' ) ) {
334
  $selected_currency = isset( $_GET['currency'] ) ? $_GET['currency'] : 'all';
335
+ $currencies = array_merge( array( 'all' => __( 'All currencies', 'woocommerce-jetpack' ) ), wcj_get_woocommerce_currencies_and_symbols() );
336
  echo '<select id="currency" name="currency">';
337
  foreach ( $currencies as $code => $name ) {
338
  echo '<option value="' . $code . '" ' . selected( $code, $selected_currency, false ) . '>' . $name . '</option>';
includes/class-wcj-checkout-fees.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Fees
4
  *
5
- * @version 3.8.0
6
  * @since 3.7.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -58,7 +58,7 @@ class WCJ_Checkout_Fees extends WCJ_Module {
58
  /**
59
  * add_fees.
60
  *
61
- * @version 3.8.0
62
  * @since 3.7.0
63
  * @todo fees with same title
64
  * @todo options: `tax_class`
@@ -100,7 +100,7 @@ class WCJ_Checkout_Fees extends WCJ_Module {
100
  if ( empty( $post_data[ $this->checkout_fields[ $i ] ] ) ) {
101
  continue;
102
  }
103
- } else {
104
  continue;
105
  }
106
  }
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Fees
4
  *
5
+ * @version 3.9.0
6
  * @since 3.7.0
7
  * @author Algoritmika Ltd.
8
  */
58
  /**
59
  * add_fees.
60
  *
61
+ * @version 3.9.0
62
  * @since 3.7.0
63
  * @todo fees with same title
64
  * @todo options: `tax_class`
100
  if ( empty( $post_data[ $this->checkout_fields[ $i ] ] ) ) {
101
  continue;
102
  }
103
+ } elseif ( empty( $_REQUEST[ $this->checkout_fields[ $i ] ] ) ) {
104
  continue;
105
  }
106
  }
includes/class-wcj-checkout-files-upload.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Files Upload
4
  *
5
- * @version 3.8.0
6
  * @since 2.4.5
7
  * @author Algoritmika Ltd.
8
  */
@@ -58,7 +58,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
58
  /**
59
  * init_settings.
60
  *
61
- * @version 3.8.0
62
  * @since 3.8.0
63
  * @todo (dev) (maybe) init settings on demand only
64
  */
@@ -78,6 +78,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
78
  'actions' => array(),
79
  'do_attach' => 'yes',
80
  ) );
 
81
  }
82
 
83
  /**
@@ -146,10 +147,24 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
146
  }
147
  }
148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  /**
150
  * validate_on_checkout.
151
  *
152
- * @version 3.4.0
153
  * @since 2.4.5
154
  */
155
  function validate_on_checkout( $posted ) {
@@ -162,7 +177,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
162
  ) {
163
  if ( 'yes' === get_option( 'wcj_checkout_files_upload_required_' . $i, 'no' ) && null === wcj_session_get( 'wcj_checkout_files_upload_' . $i ) ) {
164
  // Is required
165
- wc_add_notice( get_option( 'wcj_checkout_files_upload_notice_required_' . $i, __( 'File is required!', 'woocommerce-jetpack' ) ), 'error' );
166
  }
167
  if ( null === wcj_session_get( 'wcj_checkout_files_upload_' . $i ) ) {
168
  continue;
@@ -175,13 +190,13 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
175
  $file_accept = explode( ',', $file_accept );
176
  if ( is_array( $file_accept ) && ! empty( $file_accept ) ) {
177
  if ( ! in_array( $file_type, $file_accept ) ) {
178
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
179
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $file_name ), 'error' );
180
  }
181
  }
182
  }
183
  if ( $this->is_extension_blocked( $file_type ) ) {
184
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
185
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $file_name ), 'error' );
186
  }
187
  }
@@ -297,7 +312,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
297
  /**
298
  * remove_files_on_empty_cart.
299
  *
300
- * @version 3.6.0
301
  * @since 3.6.0
302
  */
303
  function remove_files_on_empty_cart( $cart_item_key, $cart ) {
@@ -314,7 +329,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
314
  }
315
  }
316
  if ( $any_files_removed && 'yes' === get_option( 'wcj_checkout_files_upload_remove_on_empty_cart_add_notice', 'no' ) ) {
317
- wc_add_notice( get_option( 'wcj_checkout_files_upload_notice_remove_on_empty_cart', __( 'Files were successfully removed.', 'woocommerce-jetpack' ) ) );
318
  }
319
  }
320
  }
@@ -333,7 +348,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
333
  /**
334
  * process_checkout_files_upload.
335
  *
336
- * @version 3.8.0
337
  * @since 2.4.5
338
  * @todo add option for admin to delete files one by one (i.e. not all at once)
339
  * @todo `$this->additional_admin_emails_settings` - more customization options, e.g.: admin email, subject, content, from
@@ -354,7 +369,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
354
  $file_path = wcj_get_wcj_uploads_dir( 'checkout_files_upload' ) . '/' . $order_file_name;
355
  unlink( $file_path );
356
  $file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
357
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_remove_' . $i,
358
  __( 'File "%s" was successfully removed.', 'woocommerce-jetpack' ) ), $file_name ) );
359
  delete_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_' . $i );
360
  delete_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i );
@@ -377,7 +392,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
377
  $file_name = $session_data['name'];
378
  unlink( $session_data['tmp_name'] );
379
  wcj_session_set( 'wcj_checkout_files_upload_' . $i, null );
380
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_remove_' . $i,
381
  __( 'File "%s" was successfully removed.', 'woocommerce-jetpack' ) ), $file_name ) );
382
  do_action( 'wcj_checkout_files_upload', 'remove_file', false, $file_name );
383
  }
@@ -397,14 +412,14 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
397
  $file_accept = explode( ',', $file_accept );
398
  if ( is_array( $file_accept ) && ! empty( $file_accept ) ) {
399
  if ( ! in_array( $file_type, $file_accept ) ) {
400
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
401
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $real_file_name ), 'error' );
402
  $is_valid = false;
403
  }
404
  }
405
  }
406
  if ( $this->is_extension_blocked( $file_type ) ) {
407
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
408
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $real_file_name ), 'error' );
409
  $is_valid = false;
410
  }
@@ -415,7 +430,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
415
  $session_data = $_FILES[ $file_name ];
416
  $session_data['tmp_name'] = $tmp_dest_file;
417
  wcj_session_set( $file_name, $session_data );
418
- wc_add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_upload_' . $i,
419
  __( 'File "%s" was successfully uploaded.', 'woocommerce-jetpack' ) ), $_FILES[ $file_name ]['name'] ) );
420
  // To order
421
  if ( isset( $_POST[ 'wcj_checkout_files_upload_order_id_' . $i ] ) ) {
@@ -443,7 +458,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
443
  $_FILES[ $file_name ]['name'] );
444
  }
445
  } else {
446
- wc_add_notice( get_option( 'wcj_checkout_files_upload_notice_upload_no_file_' . $i,
447
  __( 'Please select file to upload!', 'woocommerce-jetpack' ) ), 'notice' );
448
  }
449
  }
2
  /**
3
  * Booster for WooCommerce - Module - Checkout Files Upload
4
  *
5
+ * @version 3.9.0
6
  * @since 2.4.5
7
  * @author Algoritmika Ltd.
8
  */
58
  /**
59
  * init_settings.
60
  *
61
+ * @version 3.9.0
62
  * @since 3.8.0
63
  * @todo (dev) (maybe) init settings on demand only
64
  */
78
  'actions' => array(),
79
  'do_attach' => 'yes',
80
  ) );
81
+ $this->checkout_files_upload_notice_type = get_option( 'wcj_checkout_files_upload_notice_type', 'wc_add_notice' );
82
  }
83
 
84
  /**
147
  }
148
  }
149
 
150
+ /**
151
+ * add_notice.
152
+ *
153
+ * @version 3.9.0
154
+ * @since 3.9.0
155
+ */
156
+ function add_notice( $message, $notice_type = 'success' ) {
157
+ if ( 'wc_add_notice' === $this->checkout_files_upload_notice_type ) {
158
+ wc_add_notice( $message, $notice_type );
159
+ } elseif ( 'wc_print_notice' === $this->checkout_files_upload_notice_type ) {
160
+ wc_print_notice( $message, $notice_type );
161
+ }
162
+ }
163
+
164
  /**
165
  * validate_on_checkout.
166
  *
167
+ * @version 3.9.0
168
  * @since 2.4.5
169
  */
170
  function validate_on_checkout( $posted ) {
177
  ) {
178
  if ( 'yes' === get_option( 'wcj_checkout_files_upload_required_' . $i, 'no' ) && null === wcj_session_get( 'wcj_checkout_files_upload_' . $i ) ) {
179
  // Is required
180
+ $this->add_notice( get_option( 'wcj_checkout_files_upload_notice_required_' . $i, __( 'File is required!', 'woocommerce-jetpack' ) ), 'error' );
181
  }
182
  if ( null === wcj_session_get( 'wcj_checkout_files_upload_' . $i ) ) {
183
  continue;
190
  $file_accept = explode( ',', $file_accept );
191
  if ( is_array( $file_accept ) && ! empty( $file_accept ) ) {
192
  if ( ! in_array( $file_type, $file_accept ) ) {
193
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
194
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $file_name ), 'error' );
195
  }
196
  }
197
  }
198
  if ( $this->is_extension_blocked( $file_type ) ) {
199
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
200
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $file_name ), 'error' );
201
  }
202
  }
312
  /**
313
  * remove_files_on_empty_cart.
314
  *
315
+ * @version 3.9.0
316
  * @since 3.6.0
317
  */
318
  function remove_files_on_empty_cart( $cart_item_key, $cart ) {
329
  }
330
  }
331
  if ( $any_files_removed && 'yes' === get_option( 'wcj_checkout_files_upload_remove_on_empty_cart_add_notice', 'no' ) ) {
332
+ $this->add_notice( get_option( 'wcj_checkout_files_upload_notice_remove_on_empty_cart', __( 'Files were successfully removed.', 'woocommerce-jetpack' ) ) );
333
  }
334
  }
335
  }
348
  /**
349
  * process_checkout_files_upload.
350
  *
351
+ * @version 3.9.0
352
  * @since 2.4.5
353
  * @todo add option for admin to delete files one by one (i.e. not all at once)
354
  * @todo `$this->additional_admin_emails_settings` - more customization options, e.g.: admin email, subject, content, from
369
  $file_path = wcj_get_wcj_uploads_dir( 'checkout_files_upload' ) . '/' . $order_file_name;
370
  unlink( $file_path );
371
  $file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
372
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_remove_' . $i,
373
  __( 'File "%s" was successfully removed.', 'woocommerce-jetpack' ) ), $file_name ) );
374
  delete_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_' . $i );
375
  delete_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i );
392
  $file_name = $session_data['name'];
393
  unlink( $session_data['tmp_name'] );
394
  wcj_session_set( 'wcj_checkout_files_upload_' . $i, null );
395
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_remove_' . $i,
396
  __( 'File "%s" was successfully removed.', 'woocommerce-jetpack' ) ), $file_name ) );
397
  do_action( 'wcj_checkout_files_upload', 'remove_file', false, $file_name );
398
  }
412
  $file_accept = explode( ',', $file_accept );
413
  if ( is_array( $file_accept ) && ! empty( $file_accept ) ) {
414
  if ( ! in_array( $file_type, $file_accept ) ) {
415
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
416
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $real_file_name ), 'error' );
417
  $is_valid = false;
418
  }
419
  }
420
  }
421
  if ( $this->is_extension_blocked( $file_type ) ) {
422
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_wrong_file_type_' . $i,
423
  __( 'Wrong file type: "%s"!', 'woocommerce-jetpack' ) ), $real_file_name ), 'error' );
424
  $is_valid = false;
425
  }
430
  $session_data = $_FILES[ $file_name ];
431
  $session_data['tmp_name'] = $tmp_dest_file;
432
  wcj_session_set( $file_name, $session_data );
433
+ $this->add_notice( sprintf( get_option( 'wcj_checkout_files_upload_notice_success_upload_' . $i,
434
  __( 'File "%s" was successfully uploaded.', 'woocommerce-jetpack' ) ), $_FILES[ $file_name ]['name'] ) );
435
  // To order
436
  if ( isset( $_POST[ 'wcj_checkout_files_upload_order_id_' . $i ] ) ) {
458
  $_FILES[ $file_name ]['name'] );
459
  }
460
  } else {
461
+ $this->add_notice( get_option( 'wcj_checkout_files_upload_notice_upload_no_file_' . $i,
462
  __( 'Please select file to upload!', 'woocommerce-jetpack' ) ), 'notice' );
463
  }
464
  }
includes/class-wcj-cross-sells.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Cross-sells
4
  *
5
- * @version 3.6.0
6
  * @since 3.5.3
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,8 +16,9 @@ class WCJ_Cross_Sells extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.6.0
20
  * @since 3.5.3
 
21
  */
22
  function __construct() {
23
 
@@ -43,6 +44,9 @@ class WCJ_Cross_Sells extends WCJ_Module {
43
  if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_cross_sells_global_enabled', 'no' ) ) ) {
44
  add_filter( 'woocommerce_product_get_cross_sell_ids', array( $this, 'cross_sells_ids' ), PHP_INT_MAX, 2 );
45
  }
 
 
 
46
  }
47
  if ( 'yes' === get_option( 'wcj_cross_sells_hide', 'no' ) ) {
48
  add_action( 'init', array( $this, 'hide_cross_sells' ), PHP_INT_MAX );
@@ -50,16 +54,67 @@ class WCJ_Cross_Sells extends WCJ_Module {
50
  if ( 'no_changes' != get_option( 'wcj_cross_sells_position', 'no_changes' ) ) {
51
  add_action( 'init', array( $this, 'reposition_cross_sells' ), PHP_INT_MAX );
52
  }
 
 
 
 
53
  }
54
 
55
  }
56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  /**
58
  * reposition_cross_sells.
59
  *
60
  * @version 3.6.0
61
  * @since 3.6.0
62
- * @todo (maybe) check `woocommerce\templates\cart\cart.php` for more positions
63
  */
64
  function reposition_cross_sells() {
65
  $this->hide_cross_sells();
@@ -76,20 +131,36 @@ class WCJ_Cross_Sells extends WCJ_Module {
76
  remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * cross_sells_ids.
81
  *
82
  * @version 3.6.0
83
  * @since 3.6.0
84
- * @todo (maybe) on per category/tag basis
85
- * @todo (maybe) ids instead of list
86
- * @todo (maybe) on cart update (i.e. product removed) cross-sells are not updated (so it may be needed to reload page manually to see new cross-sells)
87
  */
88
  function cross_sells_ids( $ids, $_product ) {
89
  $global_cross_sells = get_option( 'wcj_cross_sells_global_ids', '' );
90
  if ( ! empty( $global_cross_sells ) ) {
91
  $global_cross_sells = array_unique( $global_cross_sells );
92
- $product_id = wcj_get_product_id_or_variation_parent_id( $_product );
93
  if ( false !== ( $key = array_search( $product_id, $global_cross_sells ) ) ) {
94
  unset( $global_cross_sells[ $key ] );
95
  }
2
  /**
3
  * Booster for WooCommerce - Module - Cross-sells
4
  *
5
+ * @version 3.9.0
6
  * @since 3.5.3
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 3.5.3
21
+ * @todo [feature] add pop up box (for `wcj_cross_sells_replace_with_cross_sells`)
22
  */
23
  function __construct() {
24
 
44
  if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_cross_sells_global_enabled', 'no' ) ) ) {
45
  add_filter( 'woocommerce_product_get_cross_sell_ids', array( $this, 'cross_sells_ids' ), PHP_INT_MAX, 2 );
46
  }
47
+ if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_cross_sells_exclude_not_in_stock', 'no' ) ) ) {
48
+ add_filter( 'woocommerce_product_get_cross_sell_ids', array( $this, 'cross_sells_exclude_not_in_stock' ), PHP_INT_MAX, 2 );
49
+ }
50
  }
51
  if ( 'yes' === get_option( 'wcj_cross_sells_hide', 'no' ) ) {
52
  add_action( 'init', array( $this, 'hide_cross_sells' ), PHP_INT_MAX );
54
  if ( 'no_changes' != get_option( 'wcj_cross_sells_position', 'no_changes' ) ) {
55
  add_action( 'init', array( $this, 'reposition_cross_sells' ), PHP_INT_MAX );
56
  }
57
+ if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_cross_sells_replace_with_cross_sells', 'no' ) ) ) {
58
+ add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'replace_with_cross_sells_to_url' ), PHP_INT_MAX, 2 );
59
+ add_action( 'woocommerce_cart_loaded_from_session', array( $this, 'remove_from_cart_by_product_id' ) );
60
+ }
61
  }
62
 
63
  }
64
 
65
+ /**
66
+ * replace_with_cross_sells_to_url.
67
+ *
68
+ * @version 3.9.0
69
+ * @since 3.9.0
70
+ * @todo [dev] re-check variable products
71
+ */
72
+ function replace_with_cross_sells_to_url( $url, $product ) {
73
+ if ( is_cart() && ( $_cart = WC()->cart ) ) {
74
+ $product_id = $product->get_id();
75
+ $product_ids_to_remove = array();
76
+ foreach ( $_cart->get_cart() as $cart_item_key => $values ) {
77
+ $_product = wc_get_product( $values['product_id'] );
78
+ $cross_sell_ids = $_product->get_cross_sell_ids();
79
+ if ( in_array( $product_id, $cross_sell_ids ) ) {
80
+ $product_ids_to_remove[] = $values['product_id'];
81
+ }
82
+ }
83
+ if ( ! empty( $product_ids_to_remove ) ) {
84
+ $url = add_query_arg( array( 'wcj-remove-from-cart' => implode( ',', array_unique( $product_ids_to_remove ) ) ), $url );
85
+ }
86
+ }
87
+ return $url;
88
+ }
89
+
90
+ /**
91
+ * remove_from_cart_by_product_id.
92
+ *
93
+ * @version 3.9.0
94
+ * @since 3.9.0
95
+ * @todo [dev] AJAX
96
+ */
97
+ function remove_from_cart_by_product_id() {
98
+ if ( isset( $_GET['wcj-remove-from-cart'] ) ) {
99
+ if ( $_cart = WC()->cart ) {
100
+ $product_ids_to_remove = explode( ',', $_GET['wcj-remove-from-cart'] );
101
+ foreach ( $_cart->get_cart() as $cart_item_key => $values ) {
102
+ if ( in_array( $values['product_id'], $product_ids_to_remove ) ) {
103
+ $_cart->remove_cart_item( $cart_item_key );
104
+ }
105
+ }
106
+ }
107
+ wp_safe_redirect( remove_query_arg( 'wcj-remove-from-cart' ) );
108
+ exit;
109
+ }
110
+ }
111
+
112
  /**
113
  * reposition_cross_sells.
114
  *
115
  * @version 3.6.0
116
  * @since 3.6.0
117
+ * @todo [dev] (maybe) check `woocommerce\templates\cart\cart.php` for more positions
118
  */
119
  function reposition_cross_sells() {
120
  $this->hide_cross_sells();
131
  remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
132
  }
133
 
134
+ /**
135
+ * cross_sells_exclude_not_in_stock.
136
+ *
137
+ * @version 3.9.0
138
+ * @since 3.9.0
139
+ */
140
+ function cross_sells_exclude_not_in_stock( $ids, $_product ) {
141
+ foreach ( $ids as $key => $product_id ) {
142
+ $product = wc_get_product( $product_id );
143
+ if ( ! $product->is_in_stock() ) {
144
+ unset( $ids[ $key ] );
145
+ }
146
+ }
147
+ return $ids;
148
+ }
149
+
150
  /**
151
  * cross_sells_ids.
152
  *
153
  * @version 3.6.0
154
  * @since 3.6.0
155
+ * @todo [dev] (maybe) ids instead of list
156
+ * @todo [dev] (maybe) on cart update (i.e. product removed) cross-sells are not updated (so it may be needed to reload page manually to see new cross-sells)
157
+ * @todo [feature] (maybe) on per category/tag basis
158
  */
159
  function cross_sells_ids( $ids, $_product ) {
160
  $global_cross_sells = get_option( 'wcj_cross_sells_global_ids', '' );
161
  if ( ! empty( $global_cross_sells ) ) {
162
  $global_cross_sells = array_unique( $global_cross_sells );
163
+ $product_id = wcj_get_product_id_or_variation_parent_id( $_product );
164
  if ( false !== ( $key = array_search( $product_id, $global_cross_sells ) ) ) {
165
  unset( $global_cross_sells[ $key ] );
166
  }
includes/class-wcj-currencies.php DELETED
@@ -1,88 +0,0 @@
1
- <?php
2
- /**
3
- * Booster for WooCommerce - Module - Currencies
4
- *
5
- * @version 3.2.4
6
- * @author Algoritmika Ltd.
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
-
11
- if ( ! class_exists( 'WCJ_Currencies' ) ) :
12
-
13
- class WCJ_Currencies extends WCJ_Module {
14
-
15
- /**
16
- * Constructor.
17
- *
18
- * @version 3.2.4
19
- */
20
- function __construct() {
21
-
22
- $this->id = 'currency';
23
- $this->short_desc = __( 'Currencies', 'woocommerce-jetpack' );
24
- $this->desc = __( 'Add all world currencies and cryptocurrencies to your store; change currency symbol.', 'woocommerce-jetpack' );
25
- $this->link_slug = 'woocommerce-all-currencies';
26
- parent::__construct();
27
-
28
- if ( $this->is_enabled() ) {
29
- add_filter( 'woocommerce_currencies', array( $this, 'add_all_currencies'), PHP_INT_MAX );
30
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol'), PHP_INT_MAX, 2 );
31
- add_filter( 'woocommerce_general_settings', array( $this, 'add_edit_currency_symbol_field' ), PHP_INT_MAX );
32
- }
33
- }
34
-
35
- /**
36
- * add_all_currencies - changing currency code.
37
- *
38
- * @version 2.4.4
39
- */
40
- function add_all_currencies( $currencies ) {
41
- $currency_names = wcj_get_currencies_names_and_symbols( 'names' );
42
- foreach ( $currency_names as $currency_code => $currency_name ) {
43
- $currencies[ $currency_code ] = $currency_name;
44
- }
45
- asort( $currencies );
46
- return $currencies;
47
- }
48
-
49
- /**
50
- * change_currency_symbol.
51
- *
52
- * @version 2.8.0
53
- */
54
- function change_currency_symbol( $currency_symbol, $currency ) {
55
- return ( 'yes' === get_option( 'wcj_currency_hide_symbol', 'no' ) ? '' : wcj_get_currency_symbol( $currency ) );
56
- }
57
-
58
- /**
59
- * add_edit_currency_symbol_field.
60
- *
61
- * @version 2.4.0
62
- * @todo (maybe) remove this
63
- */
64
- function add_edit_currency_symbol_field( $settings ) {
65
- $updated_settings = array();
66
- foreach ( $settings as $section ) {
67
- if ( isset( $section['id'] ) && 'woocommerce_currency_pos' == $section['id'] ) {
68
- $updated_settings[] = array(
69
- 'name' => __( 'Booster: Currency Symbol', 'woocommerce-jetpack' ),
70
- 'desc_tip' => __( 'This sets the currency symbol.', 'woocommerce-jetpack' ),
71
- 'id' => 'wcj_currency_' . get_woocommerce_currency(),
72
- 'type' => 'text',
73
- 'default' => get_woocommerce_currency_symbol(),
74
- 'desc' => apply_filters( 'booster_message', '', 'desc' ),
75
- 'css' => 'width: 50px;',
76
- 'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
77
- );
78
- }
79
- $updated_settings[] = $section;
80
- }
81
- return $updated_settings;
82
- }
83
-
84
- }
85
-
86
- endif;
87
-
88
- return new WCJ_Currencies();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/class-wcj-currency-external-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Currency for External Products
4
  *
5
- * @version 2.8.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -15,7 +15,7 @@ class WCJ_Currency_External_Products extends WCJ_Module {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 2.8.0
19
  */
20
  function __construct() {
21
 
@@ -27,8 +27,7 @@ class WCJ_Currency_External_Products extends WCJ_Module {
27
 
28
  if ( $this->is_enabled() ) {
29
  if ( '' != get_option( 'wcj_currency_external_products_symbol', 'EUR' ) ) {
30
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol' ), PHP_INT_MAX, 2 );
31
- add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX, 1 );
32
  }
33
  }
34
  }
@@ -47,19 +46,6 @@ class WCJ_Currency_External_Products extends WCJ_Module {
47
  return $currency;
48
  }
49
 
50
- /**
51
- * change_currency_symbol.
52
- *
53
- * @version 2.7.0
54
- */
55
- function change_currency_symbol( $currency_symbol, $currency ) {
56
- global $product;
57
- if ( is_object( $product ) && $product->is_type( 'external' ) ) {
58
- return wcj_get_currency_symbol( get_option( 'wcj_currency_external_products_symbol', 'EUR' ) );
59
- }
60
- return $currency_symbol;
61
- }
62
-
63
  }
64
 
65
  endif;
2
  /**
3
  * Booster for WooCommerce - Module - Currency for External Products
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 3.9.0
19
  */
20
  function __construct() {
21
 
27
 
28
  if ( $this->is_enabled() ) {
29
  if ( '' != get_option( 'wcj_currency_external_products_symbol', 'EUR' ) ) {
30
+ add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX, 1 );
 
31
  }
32
  }
33
  }
46
  return $currency;
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
 
51
  endif;
includes/class-wcj-currency-per-product.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Currency per Product
4
  *
5
- * @version 3.7.0
6
  * @since 2.5.2
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.7.0
20
  * @since 2.5.2
21
  * @todo (maybe) add `$this->price_hooks_priority`
22
  */
@@ -39,7 +39,6 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
39
  }
40
 
41
  // Currency code and symbol
42
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol' ), PHP_INT_MAX, 2 );
43
  add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX );
44
 
45
  // Add to cart
@@ -483,24 +482,6 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
483
  return $currency;
484
  }
485
 
486
- /**
487
- * change_currency_symbol.
488
- *
489
- * @version 3.2.4
490
- * @since 2.5.2
491
- * @todo check do we really need this function? isn't `change_currency_code()` enough?
492
- */
493
- function change_currency_symbol( $currency_symbol, $currency ) {
494
- if ( false != ( $_currency = $this->get_current_product_id_and_currency() ) ) {
495
- if ( $currency === $_currency ) {
496
- return wcj_get_currency_symbol( $_currency );
497
- }
498
- } elseif ( $this->is_cart_or_checkout_or_ajax() ) {
499
- return ( false != ( $_currency = $this->get_cart_checkout_currency() ) && $currency === $_currency ) ? wcj_get_currency_symbol( $_currency ) : $currency_symbol;
500
- }
501
- return $currency_symbol;
502
- }
503
-
504
  }
505
 
506
  endif;
2
  /**
3
  * Booster for WooCommerce - Module - Currency per Product
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.2
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 2.5.2
21
  * @todo (maybe) add `$this->price_hooks_priority`
22
  */
39
  }
40
 
41
  // Currency code and symbol
 
42
  add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX );
43
 
44
  // Add to cart
482
  return $currency;
483
  }
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
  }
486
 
487
  endif;
includes/class-wcj-currency.php ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Booster for WooCommerce - Module - Currencies
4
+ *
5
+ * @version 3.9.0
6
+ * @author Algoritmika Ltd.
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
+
11
+ if ( ! class_exists( 'WCJ_Currencies' ) ) :
12
+
13
+ class WCJ_Currencies extends WCJ_Module {
14
+
15
+ /**
16
+ * Constructor.
17
+ *
18
+ * @version 3.2.4
19
+ * @todo [dev] (maybe) update description
20
+ * @todo [dev] (maybe) "add additional currencies" checkbox
21
+ * @todo [dev] (maybe) save settings as array
22
+ * @todo [dev] (maybe) fix missing country flags
23
+ */
24
+ function __construct() {
25
+
26
+ $this->id = 'currency';
27
+ $this->short_desc = __( 'Currencies', 'woocommerce-jetpack' );
28
+ $this->desc = __( 'Add all world currencies and cryptocurrencies to your store; change currency symbol.', 'woocommerce-jetpack' );
29
+ $this->link_slug = 'woocommerce-all-currencies';
30
+ parent::__construct();
31
+
32
+ if ( $this->is_enabled() ) {
33
+ add_filter( 'woocommerce_currencies', array( $this, 'add_all_currencies'), PHP_INT_MAX );
34
+ add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol'), PHP_INT_MAX, 2 );
35
+ add_filter( 'woocommerce_general_settings', array( $this, 'add_edit_currency_symbol_field' ), PHP_INT_MAX );
36
+ }
37
+ }
38
+
39
+ /**
40
+ * get_custom_currencies.
41
+ *
42
+ * @version 3.9.0
43
+ * @since 3.9.0
44
+ */
45
+ function get_custom_currencies() {
46
+ $custom_currencies = array();
47
+ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_currency_custom_currency_total_number', 1 ) ); $i++ ) {
48
+ $custom_currency_code = get_option( 'wcj_currency_custom_currency_code_' . $i, '' );
49
+ $custom_currency_name = get_option( 'wcj_currency_custom_currency_name_' . $i, '' );
50
+ if ( '' != $custom_currency_code && '' != $custom_currency_name ) {
51
+ $custom_currencies[ $custom_currency_code ] = $custom_currency_name;
52
+ }
53
+ }
54
+ return $custom_currencies;
55
+ }
56
+
57
+ /**
58
+ * get_additional_currencies.
59
+ *
60
+ * @version 3.9.0
61
+ * @since 3.9.0
62
+ * @todo [dev] (maybe) add more cryptocurrencies
63
+ */
64
+ function get_additional_currencies() {
65
+ return array(
66
+ // Crypto
67
+ 'AUR' => __( 'Auroracoin', 'woocommerce-jetpack' ),
68
+ 'BCC' => __( 'BitConnect', 'woocommerce-jetpack' ),
69
+ 'BCH' => __( 'Bitcoin Cash', 'woocommerce-jetpack' ),
70
+ 'KOI' => __( 'Coinye', 'woocommerce-jetpack' ),
71
+ 'XDN' => __( 'DigitalNote', 'woocommerce-jetpack' ),
72
+ 'EMC' => __( 'Emercoin', 'woocommerce-jetpack' ),
73
+ 'ETC' => __( 'Ethereum Classic', 'woocommerce-jetpack' ),
74
+ 'ETH' => __( 'Ethereum', 'woocommerce-jetpack' ),
75
+ 'FMC' => __( 'Freemasoncoin', 'woocommerce-jetpack' ),
76
+ 'GRC' => __( 'Gridcoin', 'woocommerce-jetpack' ),
77
+ 'IOT' => __( 'IOTA', 'woocommerce-jetpack' ),
78
+ 'LTC' => __( 'Litecoin', 'woocommerce-jetpack' ),
79
+ 'MZC' => __( 'MazaCoin', 'woocommerce-jetpack' ),
80
+ 'XMR' => __( 'Monero', 'woocommerce-jetpack' ),
81
+ 'NMC' => __( 'Namecoin', 'woocommerce-jetpack' ),
82
+ 'XEM' => __( 'NEM', 'woocommerce-jetpack' ),
83
+ 'NXT' => __( 'Nxt', 'woocommerce-jetpack' ),
84
+ 'MSC' => __( 'Omni', 'woocommerce-jetpack' ),
85
+ 'PPC' => __( 'Peercoin', 'woocommerce-jetpack' ),
86
+ 'POT' => __( 'PotCoin', 'woocommerce-jetpack' ),
87
+ 'XPM' => __( 'Primecoin', 'woocommerce-jetpack' ),
88
+ 'XRP' => __( 'Ripple', 'woocommerce-jetpack' ),
89
+ 'SIL' => __( 'SixEleven', 'woocommerce-jetpack' ),
90
+ 'AMP' => __( 'Synereo AMP', 'woocommerce-jetpack' ),
91
+ 'TIT' => __( 'Titcoin', 'woocommerce-jetpack' ),
92
+ 'UBQ' => __( 'Ubiq', 'woocommerce-jetpack' ),
93
+ 'VTC' => __( 'Vertcoin', 'woocommerce-jetpack' ),
94
+ 'ZEC' => __( 'Zcash', 'woocommerce-jetpack' ),
95
+ // Other
96
+ 'XDR' => __( 'Special Drawing Rights', 'woocommerce-jetpack' ),
97
+ // Virtual
98
+ 'MYC' => __( 'myCred', 'woocommerce-jetpack' ),
99
+ );
100
+ }
101
+
102
+ /**
103
+ * get_additional_currency_symbol.
104
+ *
105
+ * @version 3.9.0
106
+ * @since 3.9.0
107
+ */
108
+ function get_additional_currency_symbol( $currency_code ) {
109
+ return $currency_code;
110
+ }
111
+
112
+ /**
113
+ * add_all_currencies.
114
+ *
115
+ * @version 3.9.0
116
+ */
117
+ function add_all_currencies( $currencies ) {
118
+ return array_merge( $currencies, $this->get_additional_currencies(), $this->get_custom_currencies() );
119
+ }
120
+
121
+ /**
122
+ * get_saved_currency_symbol.
123
+ *
124
+ * @version 3.9.0
125
+ * @since 3.9.0
126
+ */
127
+ function get_saved_currency_symbol( $currency, $default_symbol ) {
128
+ if ( false === ( $saved_currency_symbol = get_option( 'wcj_currency_' . $currency, false ) ) ) {
129
+ return ( in_array( $currency, array_keys( $this->get_additional_currencies() ) ) ? $this->get_additional_currency_symbol( $currency ) : $default_symbol );
130
+ } else {
131
+ return $saved_currency_symbol;
132
+ }
133
+ }
134
+
135
+ /**
136
+ * change_currency_symbol.
137
+ *
138
+ * @version 3.9.0
139
+ */
140
+ function change_currency_symbol( $currency_symbol, $currency ) {
141
+ // Maybe return saved value
142
+ if ( isset( $this->saved_symbol[ $currency ] ) ) {
143
+ return $this->saved_symbol[ $currency ];
144
+ }
145
+ // Maybe hide symbol
146
+ if ( 'yes' === get_option( 'wcj_currency_hide_symbol', 'no' ) ) {
147
+ return '';
148
+ }
149
+ // Custom currencies
150
+ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_currency_custom_currency_total_number', 1 ) ); $i++ ) {
151
+ $custom_currency_code = get_option( 'wcj_currency_custom_currency_code_' . $i, '' );
152
+ $custom_currency_name = get_option( 'wcj_currency_custom_currency_name_' . $i, '' );
153
+ if ( '' != $custom_currency_code && '' != $custom_currency_name && $currency === $custom_currency_code ) {
154
+ $this->saved_symbol[ $currency ] = do_shortcode( get_option( 'wcj_currency_custom_currency_symbol_' . $i, '' ) );
155
+ return $this->saved_symbol[ $currency ];
156
+ }
157
+ }
158
+ // List
159
+ $this->saved_symbol[ $currency ] = apply_filters( 'booster_option', $currency_symbol, do_shortcode( $this->get_saved_currency_symbol( $currency, $currency_symbol ) ) );
160
+ return $this->saved_symbol[ $currency ];
161
+ }
162
+
163
+ /**
164
+ * add_edit_currency_symbol_field.
165
+ *
166
+ * @version 3.9.0
167
+ * @todo [dev] (maybe) remove this
168
+ */
169
+ function add_edit_currency_symbol_field( $settings ) {
170
+ $updated_settings = array();
171
+ foreach ( $settings as $section ) {
172
+ if ( isset( $section['id'] ) && 'woocommerce_currency_pos' == $section['id'] ) {
173
+ $updated_settings[] = array(
174
+ 'name' => __( 'Booster: Currency Symbol', 'woocommerce-jetpack' ),
175
+ 'desc_tip' => __( 'This sets the currency symbol.', 'woocommerce-jetpack' ),
176
+ 'id' => 'wcj_currency_' . get_woocommerce_currency(),
177
+ 'type' => 'text',
178
+ 'default' => get_woocommerce_currency_symbol(),
179
+ 'desc' => apply_filters( 'booster_message', '', 'desc' ),
180
+ 'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
181
+ );
182
+ }
183
+ $updated_settings[] = $section;
184
+ }
185
+ return $updated_settings;
186
+ }
187
+
188
+ }
189
+
190
+ endif;
191
+
192
+ return new WCJ_Currencies();
includes/class-wcj-emails-verification.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Email Verification
4
  *
5
- * @version 3.6.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -111,7 +111,6 @@ class WCJ_Email_Verification extends WCJ_Module {
111
  * @version 3.1.0
112
  * @since 2.8.0
113
  * @todo %site_name% etc. in `wcj_emails_verification_email_subject`
114
- * @todo ticket #5373 - unexpected issue with "Activation failed, please contact our administrator" message
115
  */
116
  function reset_and_mail_activation_link( $user_id ) {
117
  $user_info = get_userdata( $user_id );
@@ -138,22 +137,30 @@ class WCJ_Email_Verification extends WCJ_Module {
138
  /**
139
  * process_email_verification.
140
  *
141
- * @version 3.1.0
142
  * @since 2.8.0
143
  */
144
  function process_email_verification() {
145
- if ( isset( $_GET['wcj_verify_email'] ) ) {
 
 
 
 
 
 
 
 
146
  $data = json_decode( base64_decode( $_GET['wcj_verify_email'] ), true );
147
- if ( get_user_meta( $data['id'], 'wcj_activation_code', true ) == $data['code'] ) {
148
  update_user_meta( $data['id'], 'wcj_is_activated', '1' );
149
- wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_success_message',
150
- __( '<strong>Success:</strong> Your account has been activated!', 'woocommerce-jetpack' ) ) ) );
151
  if ( 'yes' === get_option( 'wcj_emails_verification_redirect_on_success', 'yes' ) ) {
152
  wp_set_current_user( $data['id'] );
153
  wp_set_auth_cookie( $data['id'] );
154
- header( wc_get_page_permalink( 'myaccount' ) );
155
  }
156
- } else {
 
 
 
157
  $_notice = do_shortcode(
158
  get_option( 'wcj_emails_verification_failed_message',
159
  __( '<strong>Error:</strong> Activation failed, please contact our administrator. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' )
@@ -161,16 +168,18 @@ class WCJ_Email_Verification extends WCJ_Module {
161
  );
162
  $_notice = str_replace( '%resend_verification_url%', add_query_arg( 'wcj_user_id', $data['id'], wc_get_page_permalink( 'myaccount' ) ), $_notice );
163
  wc_add_notice( $_notice, 'error' );
 
 
 
 
164
  }
165
- }
166
- if ( isset( $_GET['wcj_activate_account_message'] ) ) {
167
  wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_activation_message',
168
  __( 'Thank you for your registration. Your account has to be activated before you can login. Please check your email.', 'woocommerce-jetpack' ) ) ) );
169
- }
170
- if ( isset( $_GET['wcj_user_id'] ) ) {
171
  $this->reset_and_mail_activation_link( $_GET['wcj_user_id'] );
172
  wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_email_resend_message',
173
- __( '<strong>Success:</strong> Your activation email has been resend. Please check your email.', 'woocommerce-jetpack' ) ) ) );
174
  }
175
  }
176
 
2
  /**
3
  * Booster for WooCommerce - Module - Email Verification
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
111
  * @version 3.1.0
112
  * @since 2.8.0
113
  * @todo %site_name% etc. in `wcj_emails_verification_email_subject`
 
114
  */
115
  function reset_and_mail_activation_link( $user_id ) {
116
  $user_info = get_userdata( $user_id );
137
  /**
138
  * process_email_verification.
139
  *
140
+ * @version 3.9.0
141
  * @since 2.8.0
142
  */
143
  function process_email_verification() {
144
+ if ( isset( $_GET['wcj_verified_email'] ) ) {
145
+ if ( function_exists( 'wc_add_notice' ) ) {
146
+ $data = json_decode( base64_decode( $_GET['wcj_verified_email'] ), true );
147
+ if ( ! empty( $data['id'] ) && ! empty( $data['code'] ) && get_user_meta( $data['id'], 'wcj_activation_code', true ) == $data['code'] ) {
148
+ wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_success_message',
149
+ __( '<strong>Success:</strong> Your account has been activated!', 'woocommerce-jetpack' ) ) ) );
150
+ }
151
+ }
152
+ } elseif ( isset( $_GET['wcj_verify_email'] ) ) {
153
  $data = json_decode( base64_decode( $_GET['wcj_verify_email'] ), true );
154
+ if ( ! empty( $data['id'] ) && ! empty( $data['code'] ) && get_user_meta( $data['id'], 'wcj_activation_code', true ) == $data['code'] ) {
155
  update_user_meta( $data['id'], 'wcj_is_activated', '1' );
 
 
156
  if ( 'yes' === get_option( 'wcj_emails_verification_redirect_on_success', 'yes' ) ) {
157
  wp_set_current_user( $data['id'] );
158
  wp_set_auth_cookie( $data['id'] );
 
159
  }
160
+ $url = ( '' != ( $custom_url = get_option( 'wcj_emails_verification_redirect_on_success_custom_url', '' ) ) ? $custom_url : wc_get_page_permalink( 'myaccount' ) );
161
+ wp_safe_redirect( add_query_arg( 'wcj_verified_email', $_GET['wcj_verify_email'], $url ) );
162
+ exit;
163
+ } elseif ( ! empty( $data['id'] ) ) {
164
  $_notice = do_shortcode(
165
  get_option( 'wcj_emails_verification_failed_message',
166
  __( '<strong>Error:</strong> Activation failed, please contact our administrator. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' )
168
  );
169
  $_notice = str_replace( '%resend_verification_url%', add_query_arg( 'wcj_user_id', $data['id'], wc_get_page_permalink( 'myaccount' ) ), $_notice );
170
  wc_add_notice( $_notice, 'error' );
171
+ } else {
172
+ $_notice = get_option( 'wcj_emails_verification_failed_message_no_user_id',
173
+ __( '<strong>Error:</strong> Activation failed, please contact our administrator.', 'woocommerce-jetpack' ) );
174
+ wc_add_notice( $_notice, 'error' );
175
  }
176
+ } elseif ( isset( $_GET['wcj_activate_account_message'] ) ) {
 
177
  wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_activation_message',
178
  __( 'Thank you for your registration. Your account has to be activated before you can login. Please check your email.', 'woocommerce-jetpack' ) ) ) );
179
+ } elseif ( isset( $_GET['wcj_user_id'] ) ) {
 
180
  $this->reset_and_mail_activation_link( $_GET['wcj_user_id'] );
181
  wc_add_notice( do_shortcode( get_option( 'wcj_emails_verification_email_resend_message',
182
+ __( '<strong>Success:</strong> Your activation email has been resent. Please check your email.', 'woocommerce-jetpack' ) ) ) );
183
  }
184
  }
185
 
includes/class-wcj-eu-vat-number.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - EU VAT Number
4
  *
5
- * @version 3.4.0
6
  * @since 2.3.9
7
  * @author Algoritmika Ltd.
8
  * @todo clean up
@@ -481,7 +481,7 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
481
  /**
482
  * add_eu_vat_number_checkout_field_to_frontend.
483
  *
484
- * @version 2.4.0
485
  */
486
  function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
487
  $fields['billing'][ 'billing_' . $this->id ] = array(
@@ -490,9 +490,9 @@ class WCJ_EU_VAT_Number extends WCJ_Module {
490
  'label' => get_option( 'wcj_eu_vat_number_field_label' ),
491
  'description' => get_option( 'wcj_eu_vat_number_field_description' ),
492
  'placeholder' => get_option( 'wcj_eu_vat_number_field_placeholder' ),
493
- 'required' => ( 'yes' === get_option( 'wcj_eu_vat_number_field_required', 'no' ) ) ? true : false,
494
  'custom_attributes' => array(),
495
- 'clear' => ( 'yes' === get_option( 'wcj_eu_vat_number_field_clear', 'yes' ) ) ? true : false,
496
  'class' => array( get_option( 'wcj_eu_vat_number_field_class', 'form-row-wide' ) ),
497
  'validate' => ( 'yes' === get_option( 'wcj_eu_vat_number_validate', 'yes' ) ) ? array( 'eu-vat-number' ) : array(),
498
  );
2
  /**
3
  * Booster for WooCommerce - Module - EU VAT Number
4
  *
5
+ * @version 3.9.0
6
  * @since 2.3.9
7
  * @author Algoritmika Ltd.
8
  * @todo clean up
481
  /**
482
  * add_eu_vat_number_checkout_field_to_frontend.
483
  *
484
+ * @version 3.9.0
485
  */
486
  function add_eu_vat_number_checkout_field_to_frontend( $fields ) {
487
  $fields['billing'][ 'billing_' . $this->id ] = array(
490
  'label' => get_option( 'wcj_eu_vat_number_field_label' ),
491
  'description' => get_option( 'wcj_eu_vat_number_field_description' ),
492
  'placeholder' => get_option( 'wcj_eu_vat_number_field_placeholder' ),
493
+ 'required' => ( 'yes' === get_option( 'wcj_eu_vat_number_field_required', 'no' ) ),
494
  'custom_attributes' => array(),
495
+ 'clear' => ( 'yes' === get_option( 'wcj_eu_vat_number_field_clear', 'yes' ) ),
496
  'class' => array( get_option( 'wcj_eu_vat_number_field_class', 'form-row-wide' ) ),
497
  'validate' => ( 'yes' === get_option( 'wcj_eu_vat_number_validate', 'yes' ) ) ? array( 'eu-vat-number' ) : array(),
498
  );
includes/class-wcj-global-discount.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Global Discount
4
  *
5
- * @version 3.8.0
6
  * @since 2.5.7
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Global_Discount extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.1.0
20
  * @since 2.5.7
21
  * @todo fee instead of discount
22
  * @todo regular price coefficient
@@ -30,8 +30,9 @@ class WCJ_Global_Discount extends WCJ_Module {
30
  parent::__construct();
31
 
32
  if ( $this->is_enabled() ) {
 
33
  if ( wcj_is_frontend() ) {
34
- wcj_add_change_price_hooks( $this, PHP_INT_MAX, false );
35
  }
36
  }
37
  }
@@ -127,7 +128,7 @@ class WCJ_Global_Discount extends WCJ_Module {
127
  /**
128
  * check_if_applicable_by_product_scope.
129
  *
130
- * @version 3.1.0
131
  * @since 3.1.0
132
  */
133
  function check_if_applicable_by_product_scope( $_product, $price, $price_type, $scope ) {
@@ -145,13 +146,13 @@ class WCJ_Global_Discount extends WCJ_Module {
145
  }
146
  }
147
  } else { // if ( 'price' === $price_type )
148
- wcj_remove_change_price_hooks( $this, PHP_INT_MAX, false );
149
  if ( 'only_on_sale' === $scope && 0 == $_product->get_sale_price() ) {
150
  $return = false;
151
  } elseif ( 'only_not_on_sale' === $scope && 0 != $_product->get_sale_price() ) {
152
  $return = false;
153
  }
154
- wcj_add_change_price_hooks( $this, PHP_INT_MAX, false );
155
  }
156
  return $return;
157
  }
2
  /**
3
  * Booster for WooCommerce - Module - Global Discount
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.7
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 2.5.7
21
  * @todo fee instead of discount
22
  * @todo regular price coefficient
30
  parent::__construct();
31
 
32
  if ( $this->is_enabled() ) {
33
+ $this->price_hooks_priority = wcj_get_module_price_hooks_priority( 'global_discount' );
34
  if ( wcj_is_frontend() ) {
35
+ wcj_add_change_price_hooks( $this, $this->price_hooks_priority, false );
36
  }
37
  }
38
  }
128
  /**
129
  * check_if_applicable_by_product_scope.
130
  *
131
+ * @version 3.9.0
132
  * @since 3.1.0
133
  */
134
  function check_if_applicable_by_product_scope( $_product, $price, $price_type, $scope ) {
146
  }
147
  }
148
  } else { // if ( 'price' === $price_type )
149
+ wcj_remove_change_price_hooks( $this, $this->price_hooks_priority, false );
150
  if ( 'only_on_sale' === $scope && 0 == $_product->get_sale_price() ) {
151
  $return = false;
152
  } elseif ( 'only_not_on_sale' === $scope && 0 != $_product->get_sale_price() ) {
153
  $return = false;
154
  }
155
+ wcj_add_change_price_hooks( $this, $this->price_hooks_priority, false );
156
  }
157
  return $return;
158
  }
includes/class-wcj-multicurrency-product-base-price.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Multicurrency Product Base Price
4
  *
5
- * @version 3.7.0
6
  * @since 2.4.8
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.7.0
20
  * @since 2.4.8
21
  */
22
  function __construct() {
@@ -37,7 +37,8 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
37
  $this->do_convert_in_back_end = ( 'yes' === get_option( 'wcj_multicurrency_base_price_do_convert_in_back_end', 'no' ) );
38
 
39
  if ( $this->do_convert_in_back_end || wcj_is_frontend() ) {
40
- wcj_add_change_price_hooks( $this, PHP_INT_MAX - 10, false );
 
41
  }
42
 
43
  }
@@ -94,7 +95,7 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
94
  /**
95
  * change_currency_symbol_on_product_edit.
96
  *
97
- * @version 3.7.0
98
  * @since 2.4.8
99
  */
100
  function change_currency_symbol_on_product_edit( $currency_symbol, $currency ) {
@@ -106,7 +107,10 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
106
  ) {
107
  $multicurrency_base_price_currency = get_post_meta( get_the_ID(), '_' . 'wcj_multicurrency_base_price_currency', true );
108
  if ( '' != $multicurrency_base_price_currency ) {
109
- return wcj_get_currency_symbol( $multicurrency_base_price_currency );
 
 
 
110
  }
111
  }
112
  }
2
  /**
3
  * Booster for WooCommerce - Module - Multicurrency Product Base Price
4
  *
5
+ * @version 3.9.0
6
  * @since 2.4.8
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 2.4.8
21
  */
22
  function __construct() {
37
  $this->do_convert_in_back_end = ( 'yes' === get_option( 'wcj_multicurrency_base_price_do_convert_in_back_end', 'no' ) );
38
 
39
  if ( $this->do_convert_in_back_end || wcj_is_frontend() ) {
40
+ $this->price_hooks_priority = wcj_get_module_price_hooks_priority( 'multicurrency_base_price' );
41
+ wcj_add_change_price_hooks( $this, $this->price_hooks_priority, false );
42
  }
43
 
44
  }
95
  /**
96
  * change_currency_symbol_on_product_edit.
97
  *
98
+ * @version 3.9.0
99
  * @since 2.4.8
100
  */
101
  function change_currency_symbol_on_product_edit( $currency_symbol, $currency ) {
107
  ) {
108
  $multicurrency_base_price_currency = get_post_meta( get_the_ID(), '_' . 'wcj_multicurrency_base_price_currency', true );
109
  if ( '' != $multicurrency_base_price_currency ) {
110
+ remove_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol_on_product_edit' ), PHP_INT_MAX, 2 );
111
+ $return = get_woocommerce_currency_symbol( $multicurrency_base_price_currency );
112
+ add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol_on_product_edit' ), PHP_INT_MAX, 2 );
113
+ return $return;
114
  }
115
  }
116
  }
includes/class-wcj-multicurrency.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
4
  *
5
- * @version 3.8.0
6
  * @since 2.4.3
7
  * @author Algoritmika Ltd.
8
  */
@@ -59,7 +59,7 @@ class WCJ_Multicurrency extends WCJ_Module {
59
  /**
60
  * add_hooks.
61
  *
62
- * @version 3.5.1
63
  */
64
  function add_hooks() {
65
  if ( wcj_is_frontend() ) {
@@ -69,8 +69,7 @@ class WCJ_Multicurrency extends WCJ_Module {
69
  add_filter( 'wc_epo_price', array( $this, 'change_price_by_currency_tm_extra_product_options_plugin' ), $this->price_hooks_priority, 3 );
70
 
71
  // Currency hooks
72
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol' ), $this->price_hooks_priority, 2 );
73
- add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), $this->price_hooks_priority, 1 );
74
 
75
  // Add "Change Price" hooks
76
  wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
@@ -206,11 +205,20 @@ class WCJ_Multicurrency extends WCJ_Module {
206
  /**
207
  * do_revert.
208
  *
209
- * @version 2.5.0
210
  * @since 2.5.0
211
  */
212
  function do_revert() {
213
- return ( 'yes' === get_option( 'wcj_multicurrency_revert', 'no' ) && is_checkout() );
 
 
 
 
 
 
 
 
 
214
  }
215
 
216
  /**
@@ -276,18 +284,6 @@ class WCJ_Multicurrency extends WCJ_Module {
276
  return $price;
277
  }
278
 
279
- /**
280
- * change_currency_symbol.
281
- *
282
- * @version 2.5.0
283
- */
284
- function change_currency_symbol( $currency_symbol, $currency ) {
285
- if ( $this->do_revert() ) {
286
- return $currency_symbol;
287
- }
288
- return wcj_get_currency_symbol( $this->get_current_currency_code( $currency ) );
289
- }
290
-
291
  /**
292
  * get_current_currency_code.
293
  *
2
  /**
3
  * Booster for WooCommerce - Module - Multicurrency (Currency Switcher)
4
  *
5
+ * @version 3.9.0
6
  * @since 2.4.3
7
  * @author Algoritmika Ltd.
8
  */
59
  /**
60
  * add_hooks.
61
  *
62
+ * @version 3.9.0
63
  */
64
  function add_hooks() {
65
  if ( wcj_is_frontend() ) {
69
  add_filter( 'wc_epo_price', array( $this, 'change_price_by_currency_tm_extra_product_options_plugin' ), $this->price_hooks_priority, 3 );
70
 
71
  // Currency hooks
72
+ add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), $this->price_hooks_priority, 1 );
 
73
 
74
  // Add "Change Price" hooks
75
  wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
205
  /**
206
  * do_revert.
207
  *
208
+ * @version 3.9.0
209
  * @since 2.5.0
210
  */
211
  function do_revert() {
212
+ switch ( get_option( 'wcj_multicurrency_revert', 'no' ) ) {
213
+ case 'cart_only':
214
+ return is_cart();
215
+ case 'yes': // checkout only
216
+ return is_checkout();
217
+ case 'cart_and_checkout':
218
+ return ( is_cart() || is_checkout() );
219
+ default: // 'no'
220
+ return false;
221
+ }
222
  }
223
 
224
  /**
284
  return $price;
285
  }
286
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  /**
288
  * get_current_currency_code.
289
  *
includes/class-wcj-payment-gateways-by-country.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Payment Gateways by Country
4
  *
5
- * @version 3.6.0
6
  * @since 2.4.1
7
  * @author Algoritmika Ltd.
8
  */
@@ -34,7 +34,7 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
34
  /**
35
  * get_location.
36
  *
37
- * @version 3.5.0
38
  * @since 3.4.0
39
  * @todo on `WCJ_IS_WC_VERSION_BELOW_3` recheck if `get_shipping_country()` and `get_shipping_state()` work correctly
40
  */
@@ -42,24 +42,30 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
42
  switch ( $type ) {
43
  case 'country':
44
  $country_type = get_option( 'wcj_gateways_by_location_country_type', 'billing' );
45
- return ( 'by_ip' === $country_type ?
46
- wcj_get_country_by_ip() :
47
- ( isset( WC()->customer ) ? ( 'billing' === $country_type ? wcj_customer_get_country() : WC()->customer->get_shipping_country() ) : '' ) );
 
 
 
 
 
48
  case 'state':
49
- return ( isset( WC()->customer ) ?
50
- ( 'billing' === get_option( 'wcj_gateways_by_location_state_type', 'billing' ) ? wcj_customer_get_country_state() : WC()->customer->get_shipping_state() ) :
51
- '' );
52
- case 'postcode':
53
- $postcode = '';
54
- if ( isset( $_REQUEST['postcode'] ) && 'billing' === get_option( 'wcj_gateways_by_location_postcodes_type', 'billing' ) ) {
55
- $postcode = $_REQUEST['postcode'];
56
- } elseif ( isset( $_REQUEST['s_postcode'] ) && 'shipping' === get_option( 'wcj_gateways_by_location_postcodes_type', 'billing' ) ) {
57
- $postcode = $_REQUEST['s_postcode'];
58
  }
59
- if ( '' == $postcode ) {
60
- $postcode = WC()->countries->get_base_postcode();
 
 
 
 
 
61
  }
62
- return strtoupper( $postcode );
63
  }
64
  }
65
 
2
  /**
3
  * Booster for WooCommerce - Module - Payment Gateways by Country
4
  *
5
+ * @version 3.9.0
6
  * @since 2.4.1
7
  * @author Algoritmika Ltd.
8
  */
34
  /**
35
  * get_location.
36
  *
37
+ * @version 3.9.0
38
  * @since 3.4.0
39
  * @todo on `WCJ_IS_WC_VERSION_BELOW_3` recheck if `get_shipping_country()` and `get_shipping_state()` work correctly
40
  */
42
  switch ( $type ) {
43
  case 'country':
44
  $country_type = get_option( 'wcj_gateways_by_location_country_type', 'billing' );
45
+ switch( $country_type ) {
46
+ case 'by_ip':
47
+ return wcj_get_country_by_ip();
48
+ case 'shipping':
49
+ return ( ! empty( $_REQUEST['s_country'] ) ? $_REQUEST['s_country'] : ( isset( WC()->customer ) ? WC()->customer->get_shipping_country() : '' ) );
50
+ default: // 'billing'
51
+ return ( ! empty( $_REQUEST['country'] ) ? $_REQUEST['country'] : ( isset( WC()->customer ) ? wcj_customer_get_country() : '' ) );
52
+ }
53
  case 'state':
54
+ $state_type = get_option( 'wcj_gateways_by_location_state_type', 'billing' );
55
+ switch( $state_type ) {
56
+ case 'shipping':
57
+ return ( ! empty( $_REQUEST['s_state'] ) ? $_REQUEST['s_state'] : ( isset( WC()->customer ) ? WC()->customer->get_shipping_state() : '' ) );
58
+ default: // 'billing'
59
+ return ( ! empty( $_REQUEST['state'] ) ? $_REQUEST['state'] : ( isset( WC()->customer ) ? wcj_customer_get_country_state() : '' ) );
 
 
 
60
  }
61
+ case 'postcode':
62
+ $postcodes_type = get_option( 'wcj_gateways_by_location_postcodes_type', 'billing' );
63
+ switch( $postcodes_type ) {
64
+ case 'shipping':
65
+ return ( ! empty( $_REQUEST['s_postcode'] ) ? strtoupper( $_REQUEST['s_postcode'] ) : strtoupper( WC()->countries->get_base_postcode() ) );
66
+ default: // 'billing'
67
+ return ( ! empty( $_REQUEST['postcode'] ) ? strtoupper( $_REQUEST['postcode'] ) : strtoupper( WC()->countries->get_base_postcode() ) );
68
  }
 
69
  }
70
  }
71
 
includes/class-wcj-payment-gateways-currency.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
  /**
3
- * Booster for WooCommerce - Module - Gateways Currency
4
  *
5
- * @version 3.2.0
6
  * @since 2.3.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.0.0
20
  */
21
  function __construct() {
22
 
@@ -27,45 +27,74 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
27
  parent::__construct();
28
 
29
  if ( $this->is_enabled() ) {
30
- // add_action( 'init', array( $this, 'add_hooks' ) );
31
  $this->add_hooks();
32
  if ( is_admin() ) {
33
  include_once( 'reports/class-wcj-currency-reports.php' );
34
  }
 
 
 
35
  }
36
  }
37
 
38
  /**
39
  * add_hooks.
40
  *
41
- * @version 2.7.0
42
  * @since 2.3.2
43
  */
44
  function add_hooks() {
45
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol' ), PHP_INT_MAX, 2 );
46
- add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX, 1 );
 
47
 
48
- add_filter( 'woocommerce_paypal_supported_currencies', array( $this, 'extend_paypal_supported_currencies' ), PHP_INT_MAX, 1 );
 
49
 
50
- add_filter( WCJ_PRODUCT_GET_PRICE_FILTER, array( $this, 'change_price_by_gateway' ), PHP_INT_MAX, 2 );
51
- add_filter( 'woocommerce_product_variation_get_price', array( $this, 'change_price_by_gateway' ), PHP_INT_MAX, 2 );
 
 
 
52
 
53
- add_filter( 'woocommerce_package_rates', array( $this, 'change_shipping_price_by_gateway' ), PHP_INT_MAX, 2 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_checkout_script' ) );
56
- add_action( 'init', array( $this, 'register_script' ) );
 
 
 
 
 
 
 
57
  }
58
 
59
  /**
60
  * change_shipping_price_by_gateway.
61
  *
62
- * @version 3.2.0
63
  * @since 2.4.8
64
  */
65
  function change_shipping_price_by_gateway( $package_rates, $package ) {
66
  if ( $this->is_cart_or_checkout() ) {
67
- global $woocommerce;
68
- $current_gateway = $woocommerce->session->chosen_payment_method;
69
  if ( '' != $current_gateway ) {
70
  $gateway_currency_exchange_rate = get_option( 'wcj_gateways_currency_exchange_rate_' . $current_gateway );
71
  return wcj_change_price_shipping_package_rates( $package_rates, $gateway_currency_exchange_rate );
@@ -80,7 +109,6 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
80
  * @version 2.3.5
81
  */
82
  function is_cart_or_checkout() {
83
- // if ( wcj_is_frontend() ) {
84
  if ( ! is_admin() ) {
85
  if ( is_cart() || is_checkout() ) {
86
  return true;
@@ -91,11 +119,12 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
91
 
92
  /**
93
  * change_price_by_gateway.
 
 
94
  */
95
  function change_price_by_gateway( $price, $product ) {
96
  if ( $this->is_cart_or_checkout() ) {
97
- global $woocommerce;
98
- $current_gateway = $woocommerce->session->chosen_payment_method;
99
  if ( '' != $current_gateway ) {
100
  $gateway_currency_exchange_rate = get_option( 'wcj_gateways_currency_exchange_rate_' . $current_gateway );
101
  $price = $price * $gateway_currency_exchange_rate;
@@ -107,12 +136,11 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
107
  /**
108
  * extend_paypal_supported_currencies.
109
  *
110
- * @version 2.4.0
111
  */
112
  function extend_paypal_supported_currencies( $supported_currencies ) {
113
  if ( $this->is_cart_or_checkout() ) {
114
- global $woocommerce;
115
- $current_gateway = $woocommerce->session->chosen_payment_method;
116
  if ( '' != $current_gateway ) {
117
  $gateway_currency = get_option( 'wcj_gateways_currency_' . $current_gateway );
118
  if ( 'no_changes' != $gateway_currency ) {
@@ -123,44 +151,14 @@ class WCJ_Payment_Gateways_Currency extends WCJ_Module {
123
  return $supported_currencies;
124
  }
125
 
126
- /**
127
- * change_currency_symbol.
128
- *
129
- * @version 2.4.0
130
- */
131
- function change_currency_symbol( $currency_symbol, $currency ) {
132
- if ( $this->is_cart_or_checkout() ) {
133
- global $woocommerce;
134
- $current_gateway = $woocommerce->session->chosen_payment_method;
135
- if ( '' != $current_gateway ) {
136
- $gateway_currency = get_option( 'wcj_gateways_currency_' . $current_gateway );
137
- if ( 'no_changes' != $gateway_currency ) {
138
- return wcj_get_currency_symbol( $gateway_currency );
139
- }
140
- }
141
- }
142
- return $currency_symbol;
143
- }
144
-
145
  /**
146
  * change_currency_code.
147
  *
148
- * @version 2.4.0
149
  */
150
  function change_currency_code( $currency ) {
151
  if ( $this->is_cart_or_checkout() ) {
152
- global $woocommerce;
153
- $current_gateway = $woocommerce->session->chosen_payment_method;
154
- /*
155
- $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
156
- if ( ! array_key_exists( $current_gateway, $available_gateways ) ) {
157
- $current_gateway = get_option( 'woocommerce_default_gateway', '' );
158
- if ( '' == $current_gateway ) {
159
- $current_gateway = current( $available_gateways );
160
- $current_gateway = isset( $current_gateway->id ) ? $current_gateway->id : '';
161
- }
162
- }
163
- */
164
  if ( '' != $current_gateway ) {
165
  $gateway_currency = get_option( 'wcj_gateways_currency_' . $current_gateway );
166
  if ( 'no_changes' != $gateway_currency ) {
1
  <?php
2
  /**
3
+ * Booster for WooCommerce - Module - Gateways Currency Converter
4
  *
5
+ * @version 3.9.0
6
  * @since 2.3.0
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  */
21
  function __construct() {
22
 
27
  parent::__construct();
28
 
29
  if ( $this->is_enabled() ) {
 
30
  $this->add_hooks();
31
  if ( is_admin() ) {
32
  include_once( 'reports/class-wcj-currency-reports.php' );
33
  }
34
+ if ( 'yes' === get_option( 'wcj_gateways_currency_fix_chosen_payment_method', 'no' ) ) {
35
+ add_action( 'woocommerce_checkout_update_order_review', array( $this, 'fix_chosen_payment_method' ) );
36
+ }
37
  }
38
  }
39
 
40
  /**
41
  * add_hooks.
42
  *
43
+ * @version 3.9.0
44
  * @since 2.3.2
45
  */
46
  function add_hooks() {
47
+ add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), PHP_INT_MAX, 1 );
48
+
49
+ add_filter( 'woocommerce_paypal_supported_currencies', array( $this, 'extend_paypal_supported_currencies' ), PHP_INT_MAX, 1 );
50
 
51
+ add_filter( WCJ_PRODUCT_GET_PRICE_FILTER, array( $this, 'change_price_by_gateway' ), PHP_INT_MAX, 2 );
52
+ add_filter( 'woocommerce_product_variation_get_price', array( $this, 'change_price_by_gateway' ), PHP_INT_MAX, 2 );
53
 
54
+ add_filter( 'woocommerce_package_rates', array( $this, 'change_shipping_price_by_gateway' ), PHP_INT_MAX, 2 );
55
+
56
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_checkout_script' ) );
57
+ add_action( 'init', array( $this, 'register_script' ) );
58
+ }
59
 
60
+ /**
61
+ * fix_chosen_payment_method.
62
+ *
63
+ * @version 3.9.0
64
+ * @since 3.9.0
65
+ */
66
+ function fix_chosen_payment_method( $post_data ) {
67
+ $payment_gateway = ( empty( $_POST['payment_method'] ) ? '' : $_POST['payment_method'] );
68
+ $available_payment_gateways = array_keys( WC()->payment_gateways->get_available_payment_gateways() );
69
+ if ( ! empty( $available_payment_gateways ) ) {
70
+ if ( ! in_array( $payment_gateway, $available_payment_gateways ) ) {
71
+ $_POST['payment_method'] = $available_payment_gateways[0];
72
+ }
73
+ } else {
74
+ $_POST['payment_method'] = '';
75
+ }
76
+ }
77
 
78
+ /**
79
+ * get_chosen_payment_method.
80
+ *
81
+ * @version 3.9.0
82
+ * @since 3.9.0
83
+ * @todo [dev] maybe make this more complex
84
+ */
85
+ function get_chosen_payment_method() {
86
+ return WC()->session->chosen_payment_method;
87
  }
88
 
89
  /**
90
  * change_shipping_price_by_gateway.
91
  *
92
+ * @version 3.9.0
93
  * @since 2.4.8
94
  */
95
  function change_shipping_price_by_gateway( $package_rates, $package ) {
96
  if ( $this->is_cart_or_checkout() ) {
97
+ $current_gateway = $this->get_chosen_payment_method();
 
98
  if ( '' != $current_gateway ) {
99
  $gateway_currency_exchange_rate = get_option( 'wcj_gateways_currency_exchange_rate_' . $current_gateway );
100
  return wcj_change_price_shipping_package_rates( $package_rates, $gateway_currency_exchange_rate );
109
  * @version 2.3.5
110
  */
111
  function is_cart_or_checkout() {
 
112
  if ( ! is_admin() ) {
113
  if ( is_cart() || is_checkout() ) {
114
  return true;
119
 
120
  /**
121
  * change_price_by_gateway.
122
+ *
123
+ * @version 3.9.0
124
  */
125
  function change_price_by_gateway( $price, $product ) {
126
  if ( $this->is_cart_or_checkout() ) {
127
+ $current_gateway = $this->get_chosen_payment_method();
 
128
  if ( '' != $current_gateway ) {
129
  $gateway_currency_exchange_rate = get_option( 'wcj_gateways_currency_exchange_rate_' . $current_gateway );
130
  $price = $price * $gateway_currency_exchange_rate;
136
  /**
137
  * extend_paypal_supported_currencies.
138
  *
139
+ * @version 3.9.0
140
  */
141
  function extend_paypal_supported_currencies( $supported_currencies ) {
142
  if ( $this->is_cart_or_checkout() ) {
143
+ $current_gateway = $this->get_chosen_payment_method();
 
144
  if ( '' != $current_gateway ) {
145
  $gateway_currency = get_option( 'wcj_gateways_currency_' . $current_gateway );
146
  if ( 'no_changes' != $gateway_currency ) {
151
  return $supported_currencies;
152
  }
153
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  /**
155
  * change_currency_code.
156
  *
157
+ * @version 3.9.0
158
  */
159
  function change_currency_code( $currency ) {
160
  if ( $this->is_cart_or_checkout() ) {
161
+ $current_gateway = $this->get_chosen_payment_method();
 
 
 
 
 
 
 
 
 
 
 
162
  if ( '' != $current_gateway ) {
163
  $gateway_currency = get_option( 'wcj_gateways_currency_' . $current_gateway );
164
  if ( 'no_changes' != $gateway_currency ) {
includes/class-wcj-price-labels.php CHANGED
@@ -2,8 +2,9 @@
2
  /**
3
  * Booster for WooCommerce - Module - Custom Price Labels
4
  *
5
- * @version 3.6.0
6
  * @author Algoritmika Ltd.
 
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -228,7 +229,7 @@ class WCJ_Price_Labels extends WCJ_Module {
228
  /*
229
  * custom_price - front end.
230
  *
231
- * @version 3.6.0
232
  * @todo rewrite this with less filters (e.g. `woocommerce_get_price_html` only) - at least for `! WCJ_IS_WC_VERSION_BELOW_3`
233
  */
234
  function custom_price( $price, $product ) {
@@ -273,11 +274,11 @@ class WCJ_Price_Labels extends WCJ_Module {
273
  $do_apply_global = true;
274
  $products_incl = get_option( 'wcj_global_price_labels_products_incl', array() );
275
  if ( ! empty( $products_incl ) ) {
276
- $do_apply_global = ( in_array( $_product_id, $products_incl ) ) ? true : false;
277
  }
278
  $products_excl = get_option( 'wcj_global_price_labels_products_excl', array() );
279
  if ( ! empty( $products_excl ) ) {
280
- $do_apply_global = ( in_array( $_product_id, $products_excl ) ) ? false : true;
281
  }
282
  $product_categories = get_the_terms( $_product_id, 'product_cat' );
283
  $product_categories_incl = get_option( 'wcj_global_price_labels_product_cats_incl', array() );
2
  /**
3
  * Booster for WooCommerce - Module - Custom Price Labels
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
+ * @todo clean up
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
229
  /*
230
  * custom_price - front end.
231
  *
232
+ * @version 3.9.0
233
  * @todo rewrite this with less filters (e.g. `woocommerce_get_price_html` only) - at least for `! WCJ_IS_WC_VERSION_BELOW_3`
234
  */
235
  function custom_price( $price, $product ) {
274
  $do_apply_global = true;
275
  $products_incl = get_option( 'wcj_global_price_labels_products_incl', array() );
276
  if ( ! empty( $products_incl ) ) {
277
+ $do_apply_global = ( in_array( $_product_id, $products_incl ) );
278
  }
279
  $products_excl = get_option( 'wcj_global_price_labels_products_excl', array() );
280
  if ( ! empty( $products_excl ) ) {
281
+ $do_apply_global = ( ! in_array( $_product_id, $products_excl ) );
282
  }
283
  $product_categories = get_the_terms( $_product_id, 'product_cat' );
284
  $product_categories_incl = get_option( 'wcj_global_price_labels_product_cats_incl', array() );
includes/class-wcj-product-addons.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Product Addons
4
  *
5
- * @version 3.8.0
6
  * @since 2.5.3
7
  * @author Algoritmika Ltd.
8
  * @todo admin order view (names)
@@ -17,10 +17,11 @@ class WCJ_Product_Addons extends WCJ_Module {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 3.7.0
21
  * @since 2.5.3
22
  * @todo (maybe) add "in progress" ajax message
23
  * @todo (maybe) for variable products - show addons only if variation is selected (e.g. move to addons from `woocommerce_before_add_to_cart_button` to variation description)
 
24
  */
25
  function __construct() {
26
 
@@ -55,8 +56,8 @@ class WCJ_Product_Addons extends WCJ_Module {
55
  add_filter( 'woocommerce_get_cart_item_from_session', array( $this, 'get_cart_item_addons_price_from_session' ), PHP_INT_MAX, 3 );
56
  add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'validate_on_add_to_cart' ), PHP_INT_MAX, 2 );
57
  // Prices
58
- add_filter( WCJ_PRODUCT_GET_PRICE_FILTER, array( $this, 'change_price' ), PHP_INT_MAX - 100, 2 );
59
- add_filter( 'woocommerce_product_variation_get_price', array( $this, 'change_price' ), PHP_INT_MAX - 100, 2 );
60
  // Show details at cart, order details, emails
61
  add_filter( 'woocommerce_cart_item_name', array( $this, 'add_info_to_cart_item_name' ), PHP_INT_MAX, 3 );
62
  add_filter( 'woocommerce_order_item_name', array( $this, 'add_info_to_order_item_name' ), PHP_INT_MAX, 2 );
@@ -186,20 +187,25 @@ class WCJ_Product_Addons extends WCJ_Module {
186
  /**
187
  * maybe_convert_currency.
188
  *
189
- * @version 3.7.0
190
  * @since 2.8.0
191
  */
192
  function maybe_convert_currency( $price, $product = null ) {
193
  $apply_price_filters = get_option( 'wcj_product_addons_apply_price_filters', 'by_module' );
194
  if ( 'by_module' === $apply_price_filters ) {
 
195
  // Multicurrency Product Base Price module
196
- if ( WCJ()->modules['multicurrency_base_price']->is_enabled() ) {
197
  $price = WCJ()->modules['multicurrency_base_price']->change_price( $price, $product );
198
  }
199
  // Multicurrency (Currency Switcher) module
200
- if ( WCJ()->modules['multicurrency']->is_enabled() ) {
201
  $price = WCJ()->modules['multicurrency']->change_price( $price, null );
202
  }
 
 
 
 
203
  } elseif ( 'yes' === $apply_price_filters ) {
204
  $price = apply_filters( WCJ_PRODUCT_GET_PRICE_FILTER, $price, $product );
205
  }
2
  /**
3
  * Booster for WooCommerce - Module - Product Addons
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.3
7
  * @author Algoritmika Ltd.
8
  * @todo admin order view (names)
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 3.9.0
21
  * @since 2.5.3
22
  * @todo (maybe) add "in progress" ajax message
23
  * @todo (maybe) for variable products - show addons only if variation is selected (e.g. move to addons from `woocommerce_before_add_to_cart_button` to variation description)
24
+ * @todo (maybe) add `product_addons` to `wcj_get_module_price_hooks_priority()`
25
  */
26
  function __construct() {
27
 
56
  add_filter( 'woocommerce_get_cart_item_from_session', array( $this, 'get_cart_item_addons_price_from_session' ), PHP_INT_MAX, 3 );
57
  add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'validate_on_add_to_cart' ), PHP_INT_MAX, 2 );
58
  // Prices
59
+ add_filter( WCJ_PRODUCT_GET_PRICE_FILTER, array( $this, 'change_price' ), wcj_get_module_price_hooks_priority( 'product_addons' ), 2 );
60
+ add_filter( 'woocommerce_product_variation_get_price', array( $this, 'change_price' ), wcj_get_module_price_hooks_priority( 'product_addons' ), 2 );
61
  // Show details at cart, order details, emails
62
  add_filter( 'woocommerce_cart_item_name', array( $this, 'add_info_to_cart_item_name' ), PHP_INT_MAX, 3 );
63
  add_filter( 'woocommerce_order_item_name', array( $this, 'add_info_to_order_item_name' ), PHP_INT_MAX, 2 );
187
  /**
188
  * maybe_convert_currency.
189
  *
190
+ * @version 3.9.0
191
  * @since 2.8.0
192
  */
193
  function maybe_convert_currency( $price, $product = null ) {
194
  $apply_price_filters = get_option( 'wcj_product_addons_apply_price_filters', 'by_module' );
195
  if ( 'by_module' === $apply_price_filters ) {
196
+ $modules_to_apply = get_option( 'wcj_product_addons_apply_price_filters_by_module', array() );
197
  // Multicurrency Product Base Price module
198
+ if ( ( empty( $modules_to_apply ) || in_array( 'multicurrency_base_price', $modules_to_apply ) ) && WCJ()->modules['multicurrency_base_price']->is_enabled() ) {
199
  $price = WCJ()->modules['multicurrency_base_price']->change_price( $price, $product );
200
  }
201
  // Multicurrency (Currency Switcher) module
202
+ if ( ( empty( $modules_to_apply ) || in_array( 'multicurrency', $modules_to_apply ) ) && WCJ()->modules['multicurrency']->is_enabled() ) {
203
  $price = WCJ()->modules['multicurrency']->change_price( $price, null );
204
  }
205
+ // Global Discount module
206
+ if ( ( empty( $modules_to_apply ) || in_array( 'global_discount', $modules_to_apply ) ) && WCJ()->modules['global_discount']->is_enabled() ) {
207
+ $price = WCJ()->modules['global_discount']->add_global_discount( $price, $product, 'price' );
208
+ }
209
  } elseif ( 'yes' === $apply_price_filters ) {
210
  $price = apply_filters( WCJ_PRODUCT_GET_PRICE_FILTER, $price, $product );
211
  }
includes/class-wcj-product-bookings.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Bookings
4
  *
5
- * @version 3.8.0
6
  * @since 2.5.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -422,11 +422,11 @@ class WCJ_Product_Bookings extends WCJ_Module {
422
  /**
423
  * is_bookings_product.
424
  *
425
- * @version 2.7.0
426
  * @since 2.5.0
427
  */
428
  function is_bookings_product( $_product ) {
429
- return ( 'yes' === get_post_meta( wcj_get_product_id_or_variation_parent_id( $_product ), '_' . 'wcj_product_bookings_enabled', true ) ) ? true : false;
430
  }
431
 
432
  }
2
  /**
3
  * Booster for WooCommerce - Module - Bookings
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.0
7
  * @author Algoritmika Ltd.
8
  */
422
  /**
423
  * is_bookings_product.
424
  *
425
+ * @version 3.9.0
426
  * @since 2.5.0
427
  */
428
  function is_bookings_product( $_product ) {
429
+ return ( 'yes' === get_post_meta( wcj_get_product_id_or_variation_parent_id( $_product ), '_' . 'wcj_product_bookings_enabled', true ) );
430
  }
431
 
432
  }
includes/class-wcj-product-bulk-price-converter.php CHANGED
@@ -2,9 +2,8 @@
2
  /**
3
  * Booster for WooCommerce - Module - Bulk Price Converter
4
  *
5
- * @version 2.8.0
6
  * @author Algoritmika Ltd.
7
- * @todo clear products transients after converting prices
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
@@ -133,7 +132,8 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
133
  /**
134
  * change_all_products_prices
135
  *
136
- * @version 2.4.4
 
137
  */
138
  function change_all_products_prices( $multiply_prices_by, $is_preview ) {
139
  $multiply_prices_by = floatval( $multiply_prices_by );
@@ -143,7 +143,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
143
 
144
  ob_start();
145
 
146
- echo '<table class="widefat" style="width:50%; min-width: 300px; margin-top: 10px;">';
147
  echo '<tr>' .
148
  '<th>' . __( 'Product', 'woocommerce-jetpack' ) . '</th>' .
149
  '<th>' . __( 'Categories', 'woocommerce-jetpack' ) . '</th>' .
@@ -152,16 +152,17 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
152
  '<th>' . __( 'Modified Price', 'woocommerce-jetpack' ) . '</th>' .
153
  '</tr>';
154
 
155
- $offset = 0;
156
- $block_size = 96;
157
  while( true ) {
158
  $args = array(
159
  'post_type' => 'product',
160
  'post_status' => 'any',
161
  'posts_per_page' => $block_size,
162
  'offset' => $offset,
163
- // 'orderby' => 'date',
164
- // 'order' => 'ASC',
 
165
  );
166
  if ( isset( $_POST['wcj_product_cat'] ) && 'wcj_any' != $_POST['wcj_product_cat'] && 'any' != apply_filters( 'booster_option', 'any', '' ) ) {
167
  $args['tax_query'] = array(
@@ -174,13 +175,14 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
174
  );
175
  }
176
  $loop = new WP_Query( $args );
177
- if ( ! $loop->have_posts() ) break;
178
- while ( $loop->have_posts() ) : $loop->the_post();
179
- $this->change_product_price( $loop->post->ID, $multiply_prices_by, $is_preview );
180
- endwhile;
 
 
181
  $offset += $block_size;
182
  }
183
- wp_reset_postdata();
184
 
185
  echo '</table>';
186
 
@@ -190,14 +192,14 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
190
  /**
191
  * create_bulk_price_converter_tool.
192
  *
193
- * @version 2.4.4
194
  */
195
  function create_bulk_price_converter_tool() {
196
 
197
  $result_message = '';
198
 
199
  $multiply_prices_by = isset( $_POST['multiply_prices_by'] ) ? $_POST['multiply_prices_by'] : 1;
200
- $is_preview = isset( $_POST['bulk_change_prices_preview'] ) ? true : false;
201
 
202
  $result_changing_prices = '';
203
 
@@ -235,7 +237,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
235
  $data_table = array();
236
  $data_table[] = array(
237
  __( 'Multiply all product prices by', 'woocommerce-jetpack' ),
238
- '<input class="" type="number" step="0.000001" min="0.000001" name="multiply_prices_by" id="multiply_prices_by" value="' .
239
  $multiply_prices_by . '">',
240
  '',
241
  );
@@ -243,7 +245,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
243
  $selected_option_price_types = ( isset( $_POST['wcj_price_types'] ) ) ? $_POST['wcj_price_types'] : '';
244
  $data_table[] = array(
245
  __( 'Price type to modify', 'woocommerce-jetpack' ),
246
- '<select name="wcj_price_types">' .
247
  '<option value="wcj_both">' . __( 'Both', 'woocommerce-jetpack' ) . '</option>' .
248
  '<option value="wcj_sale_prices"' . selected( 'wcj_sale_prices', $selected_option_price_types, false ) . '>'
249
  . __( 'Sale prices only', 'woocommerce-jetpack' ) . '</option>' .
@@ -256,22 +258,23 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
256
  if ( '' != $select_options_html ) {
257
  $data_table[] = array(
258
  __( 'Products category', 'woocommerce-jetpack' ),
259
- '<select name="wcj_product_cat" ' . apply_filters( 'booster_option', 'disabled', '' ) . '>' .
260
  '<option value="wcj_any">' . __( 'Any', 'woocommerce-jetpack' ) . '</option>' .
261
  $select_options_html .
262
  '<option value="wcj_none"' . selected( 'wcj_none', $selected_option, false ) . '>' . __( 'None', 'woocommerce-jetpack' ) . '</option>' .
263
  '</select>',
264
- apply_filters( 'booster_message', '', 'desc' ),
265
  );
266
  }
267
  $make_pretty_prices_threshold = isset( $_POST['make_pretty_prices_threshold'] ) ? $_POST['make_pretty_prices_threshold'] : 0;
268
  $data_table[] = array(
269
- __( '"Pretty prices" threshold', 'woocommerce-jetpack' ),
270
- '<input class="" type="number" step="0.000001" min="0" name="make_pretty_prices_threshold" id="make_pretty_prices_threshold" value="' .
 
 
 
271
  $make_pretty_prices_threshold . '"' . apply_filters( 'booster_option', 'disabled', '' ) . '>',
272
- ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
273
- '<em>' . __( 'Leave zero to disable', 'woocommerce-jetpack' ) . '</em>' :
274
- apply_filters( 'booster_message', '', 'desc' ),
275
  );
276
  $data_table[] = array(
277
  '<input class="button-primary" type="submit" name="bulk_change_prices_preview" id="bulk_change_prices_preview" value="' .
@@ -287,7 +290,7 @@ class WCJ_Bulk_Price_Converter extends WCJ_Module {
287
  '',
288
  );
289
  }
290
- echo wcj_get_table_html( $data_table, array( 'table_heading_type' => 'none', ) );
291
  echo '</form>';
292
  if ( $is_preview ) echo $result_changing_prices;
293
  echo '</div>';
2
  /**
3
  * Booster for WooCommerce - Module - Bulk Price Converter
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
 
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
132
  /**
133
  * change_all_products_prices
134
  *
135
+ * @version 3.9.0
136
+ * @todo (dev) clear products transients after converting prices
137
  */
138
  function change_all_products_prices( $multiply_prices_by, $is_preview ) {
139
  $multiply_prices_by = floatval( $multiply_prices_by );
143
 
144
  ob_start();
145
 
146
+ echo '<table class="widefat striped" style="margin-top: 10px;">';
147
  echo '<tr>' .
148
  '<th>' . __( 'Product', 'woocommerce-jetpack' ) . '</th>' .
149
  '<th>' . __( 'Categories', 'woocommerce-jetpack' ) . '</th>' .
152
  '<th>' . __( 'Modified Price', 'woocommerce-jetpack' ) . '</th>' .
153
  '</tr>';
154
 
155
+ $offset = 0;
156
+ $block_size = 1024;
157
  while( true ) {
158
  $args = array(
159
  'post_type' => 'product',
160
  'post_status' => 'any',
161
  'posts_per_page' => $block_size,
162
  'offset' => $offset,
163
+ 'orderby' => 'ID',
164
+ 'order' => 'DESC',
165
+ 'fields' => 'ids',
166
  );
167
  if ( isset( $_POST['wcj_product_cat'] ) && 'wcj_any' != $_POST['wcj_product_cat'] && 'any' != apply_filters( 'booster_option', 'any', '' ) ) {
168
  $args['tax_query'] = array(
175
  );
176
  }
177
  $loop = new WP_Query( $args );
178
+ if ( ! $loop->have_posts() ) {
179
+ break;
180
+ }
181
+ foreach ( $loop->posts as $product_id ) {
182
+ $this->change_product_price( $product_id, $multiply_prices_by, $is_preview );
183
+ }
184
  $offset += $block_size;
185
  }
 
186
 
187
  echo '</table>';
188
 
192
  /**
193
  * create_bulk_price_converter_tool.
194
  *
195
+ * @version 3.9.0
196
  */
197
  function create_bulk_price_converter_tool() {
198
 
199
  $result_message = '';
200
 
201
  $multiply_prices_by = isset( $_POST['multiply_prices_by'] ) ? $_POST['multiply_prices_by'] : 1;
202
+ $is_preview = isset( $_POST['bulk_change_prices_preview'] );
203
 
204
  $result_changing_prices = '';
205
 
237
  $data_table = array();
238
  $data_table[] = array(
239
  __( 'Multiply all product prices by', 'woocommerce-jetpack' ),
240
+ '<input class="" style="width:100%;" type="number" step="0.000001" min="0.000001" name="multiply_prices_by" id="multiply_prices_by" value="' .
241
  $multiply_prices_by . '">',
242
  '',
243
  );
245
  $selected_option_price_types = ( isset( $_POST['wcj_price_types'] ) ) ? $_POST['wcj_price_types'] : '';
246
  $data_table[] = array(
247
  __( 'Price type to modify', 'woocommerce-jetpack' ),
248
+ '<select style="width:100%;" name="wcj_price_types">' .
249
  '<option value="wcj_both">' . __( 'Both', 'woocommerce-jetpack' ) . '</option>' .
250
  '<option value="wcj_sale_prices"' . selected( 'wcj_sale_prices', $selected_option_price_types, false ) . '>'
251
  . __( 'Sale prices only', 'woocommerce-jetpack' ) . '</option>' .
258
  if ( '' != $select_options_html ) {
259
  $data_table[] = array(
260
  __( 'Products category', 'woocommerce-jetpack' ),
261
+ '<select style="width:100%;" name="wcj_product_cat" ' . apply_filters( 'booster_option', 'disabled', '' ) . '>' .
262
  '<option value="wcj_any">' . __( 'Any', 'woocommerce-jetpack' ) . '</option>' .
263
  $select_options_html .
264
  '<option value="wcj_none"' . selected( 'wcj_none', $selected_option, false ) . '>' . __( 'None', 'woocommerce-jetpack' ) . '</option>' .
265
  '</select>',
266
+ '<em>' . apply_filters( 'booster_message', '', 'desc' ) . '</em>',
267
  );
268
  }
269
  $make_pretty_prices_threshold = isset( $_POST['make_pretty_prices_threshold'] ) ? $_POST['make_pretty_prices_threshold'] : 0;
270
  $data_table[] = array(
271
+ __( '"Pretty prices" threshold', 'woocommerce-jetpack' ) . wcj_help_tip( __( 'Leave zero to disable.', 'woocommerce-jetpack' ) . ' ' .
272
+ __( 'Otherwise - all prices below "threshold" will end with 0,99 and all prices above or equal to "threshold" will end with 9,00.', 'woocommerce-jetpack' ) . ' ' .
273
+ __( 'E.g.: if you set "threshold" to 100, then all prices below 100 will be like 45,99 and all other prices will be like 109,00.', 'woocommerce-jetpack' )
274
+ ),
275
+ '<input style="width:100%;" class="" type="number" step="0.000001" min="0" name="make_pretty_prices_threshold" id="make_pretty_prices_threshold" value="' .
276
  $make_pretty_prices_threshold . '"' . apply_filters( 'booster_option', 'disabled', '' ) . '>',
277
+ '<em>' . apply_filters( 'booster_message', '', 'desc' ) . '</em>',
 
 
278
  );
279
  $data_table[] = array(
280
  '<input class="button-primary" type="submit" name="bulk_change_prices_preview" id="bulk_change_prices_preview" value="' .
290
  '',
291
  );
292
  }
293
+ echo wcj_get_table_html( $data_table, array( 'table_heading_type' => 'none', 'table_class' => 'widefat striped', 'table_style' => 'width:50%;min-width:300px;' ) );
294
  echo '</form>';
295
  if ( $is_preview ) echo $result_changing_prices;
296
  echo '</div>';
includes/class-wcj-product-images.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Product Images
4
  *
5
- * @version 3.2.4
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Product_Images extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.2.4
20
  * @todo add watermarks to images (http://php.net/manual/en/image.examples-watermark.php); Filter: `wp_get_attachment_image_src`.
21
  */
22
  function __construct() {
@@ -54,9 +54,25 @@ class WCJ_Product_Images extends WCJ_Module {
54
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
55
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
56
 
 
 
 
 
 
57
  }
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * hide_per_product_image_on_archives_start.
62
  *
2
  /**
3
  * Booster for WooCommerce - Module - Product Images
4
  *
5
+ * @version 3.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @todo add watermarks to images (http://php.net/manual/en/image.examples-watermark.php); Filter: `wp_get_attachment_image_src`.
21
  */
22
  function __construct() {
54
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
55
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
56
 
57
+ // Placeholder image
58
+ if ( '' != ( $this->product_images_placeholder_src = get_option( 'wcj_product_images_placeholder_src', '' ) ) ) {
59
+ add_filter( 'woocommerce_placeholder_img_src', array( $this, 'placeholder_img_src' ), PHP_INT_MAX );
60
+ }
61
+
62
  }
63
  }
64
 
65
+ /**
66
+ * placeholder_img_src.
67
+ *
68
+ * @version 3.9.0
69
+ * @since 3.9.0
70
+ * @todo maybe add options to set different placeholder image per product category and/or product tag
71
+ */
72
+ function placeholder_img_src( $src ) {
73
+ return $this->product_images_placeholder_src;
74
+ }
75
+
76
  /**
77
  * hide_per_product_image_on_archives_start.
78
  *
includes/class-wcj-product-price-by-formula.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Product Price by Formula
4
  *
5
- * @version 3.6.0
6
  * @since 2.5.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -16,7 +16,7 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
16
  /**
17
  * Constructor.
18
  *
19
- * @version 3.6.0
20
  * @since 2.5.0
21
  * @todo use WC math library instead of `PHPMathParser`
22
  */
@@ -34,8 +34,8 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
34
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
35
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
36
 
37
- if ( ! is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) || isset( $_GET['wcj_create_products_xml'] ) ) {
38
- wcj_add_change_price_hooks( $this, PHP_INT_MAX - 100, false );
39
  }
40
 
41
  add_filter( 'wcj_save_meta_box_value', array( $this, 'save_meta_box_value' ), PHP_INT_MAX, 3 );
@@ -69,13 +69,13 @@ class WCJ_Product_Price_by_Formula extends WCJ_Module {
69
  /**
70
  * change_price.
71
  *
72
- * @version 3.6.0
73
  * @since 2.5.0
74
  */
75
  function change_price( $price, $_product, $output_errors = false ) {
76
  if ( $this->is_price_by_formula_product( $_product ) && '' != $price ) {
77
  $_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
78
- $is_per_product = ( 'per_product' === get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_calculation', true ) ) ? true : false;
79
  $the_formula = ( $is_per_product )
80
  ? get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_eval', true )
81
  : get_option( 'wcj_product_price_by_formula_eval', '' );
2
  /**
3
  * Booster for WooCommerce - Module - Product Price by Formula
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.0
7
  * @author Algoritmika Ltd.
8
  */
16
  /**
17
  * Constructor.
18
  *
19
+ * @version 3.9.0
20
  * @since 2.5.0
21
  * @todo use WC math library instead of `PHPMathParser`
22
  */
34
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
35
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
36
 
37
+ if ( wcj_is_frontend() || isset( $_GET['wcj_create_products_xml'] ) ) {
38
+ wcj_add_change_price_hooks( $this, wcj_get_module_price_hooks_priority( 'product_price_by_formula' ), false );
39
  }
40
 
41
  add_filter( 'wcj_save_meta_box_value', array( $this, 'save_meta_box_value' ), PHP_INT_MAX, 3 );
69
  /**
70
  * change_price.
71
  *
72
+ * @version 3.9.0
73
  * @since 2.5.0
74
  */
75
  function change_price( $price, $_product, $output_errors = false ) {
76
  if ( $this->is_price_by_formula_product( $_product ) && '' != $price ) {
77
  $_product_id = wcj_get_product_id_or_variation_parent_id( $_product );
78
+ $is_per_product = ( 'per_product' === get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_calculation', true ) );
79
  $the_formula = ( $is_per_product )
80
  ? get_post_meta( $_product_id, '_' . 'wcj_product_price_by_formula_eval', true )
81
  : get_option( 'wcj_product_price_by_formula_eval', '' );
includes/class-wcj-products-xml.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Products XML
4
  *
5
- * @version 3.6.0
6
  * @since 2.5.7
7
  * @author Algoritmika Ltd.
8
  * @todo create all files at once (manually and synchronize update)
@@ -152,12 +152,22 @@ class WCJ_Products_XML extends WCJ_Module {
152
  die();
153
  }
154
 
 
 
 
 
 
 
 
 
 
 
 
155
  /**
156
  * create_products_xml.
157
  *
158
- * @version 3.6.0
159
  * @since 2.5.7
160
- * @todo check the `str_replace` and `html_entity_decode` part
161
  */
162
  function create_products_xml( $file_num ) {
163
  $xml_items = '';
@@ -262,7 +272,7 @@ class WCJ_Products_XML extends WCJ_Module {
262
  break;
263
  }
264
  $loop->the_post();
265
- $xml_items .= str_replace( '&', '&amp;', html_entity_decode( do_shortcode( $xml_item_template ) ) );
266
  $counter++;
267
  }
268
  $offset += $block_size;
@@ -273,7 +283,7 @@ class WCJ_Products_XML extends WCJ_Module {
273
  wp_reset_postdata();
274
  return file_put_contents(
275
  ABSPATH . get_option( 'wcj_products_xml_file_path_' . $file_num, ( ( 1 == $file_num ) ? 'products.xml' : 'products_' . $file_num . '.xml' ) ),
276
- do_shortcode( $xml_header_template ) . $xml_items . do_shortcode( $xml_footer_template )
277
  );
278
  }
279
 
2
  /**
3
  * Booster for WooCommerce - Module - Products XML
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.7
7
  * @author Algoritmika Ltd.
8
  * @todo create all files at once (manually and synchronize update)
152
  die();
153
  }
154
 
155
+ /**
156
+ * process_shortcode.
157
+ *
158
+ * @version 3.9.0
159
+ * @since 3.9.0
160
+ * @todo [dev] (maybe) re-think `str_replace( '&', '&amp;', $content )`
161
+ */
162
+ function process_shortcode( $content ) {
163
+ return str_replace( '&', '&amp;', html_entity_decode( do_shortcode( $content ) ) );
164
+ }
165
+
166
  /**
167
  * create_products_xml.
168
  *
169
+ * @version 3.9.0
170
  * @since 2.5.7
 
171
  */
172
  function create_products_xml( $file_num ) {
173
  $xml_items = '';
272
  break;
273
  }
274
  $loop->the_post();
275
+ $xml_items .= $this->process_shortcode( $xml_item_template );
276
  $counter++;
277
  }
278
  $offset += $block_size;
283
  wp_reset_postdata();
284
  return file_put_contents(
285
  ABSPATH . get_option( 'wcj_products_xml_file_path_' . $file_num, ( ( 1 == $file_num ) ? 'products.xml' : 'products_' . $file_num . '.xml' ) ),
286
+ $this->process_shortcode( $xml_header_template ) . $xml_items . $this->process_shortcode( $xml_footer_template )
287
  );
288
  }
289
 
includes/class-wcj-purchase-data.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Cost of Goods (formerly Product Cost Price)
4
  *
5
- * @version 2.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -123,19 +123,49 @@ class WCJ_Purchase_Data extends WCJ_Module {
123
  /**
124
  * render_product_columns.
125
  *
126
- * @version 2.9.0
127
  * @since 2.9.0
128
- * @todo variable products when `if ( 'no' === get_option( 'wcj_purchase_data_variable_as_simple_enabled', 'no' ) )`
129
  */
130
  function render_product_columns( $column ) {
131
  if ( 'profit' === $column || 'purchase_cost' === $column ) {
132
  $product_id = get_the_ID();
133
- $purchase_cost = wc_get_product_purchase_price( $product_id );
134
- if ( 'purchase_cost' === $column ) {
135
- echo wc_price( $purchase_cost );
136
- } elseif ( 'profit' === $column ) {
137
- $_product = wc_get_product( $product_id );
138
- echo wc_price( $_product->get_price() - $purchase_cost );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
  }
141
  }
@@ -157,7 +187,7 @@ class WCJ_Purchase_Data extends WCJ_Module {
157
  }
158
 
159
  /**
160
- * Output custom columns for orders
161
  *
162
  * @param string $column
163
  * @version 2.7.0
2
  /**
3
  * Booster for WooCommerce - Module - Cost of Goods (formerly Product Cost Price)
4
  *
5
+ * @version 3.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
123
  /**
124
  * render_product_columns.
125
  *
126
+ * @version 3.9.0
127
  * @since 2.9.0
 
128
  */
129
  function render_product_columns( $column ) {
130
  if ( 'profit' === $column || 'purchase_cost' === $column ) {
131
  $product_id = get_the_ID();
132
+ $_product = wc_get_product( $product_id );
133
+ if ( $_product->is_type( 'variable' ) && 'no' === get_option( 'wcj_purchase_data_variable_as_simple_enabled', 'no' ) ) {
134
+ $purchase_costs = array();
135
+ $profits = array();
136
+ $available_variations = $_product->get_available_variations();
137
+ foreach ( $available_variations as $variation ) {
138
+ $variation_id = $variation['variation_id'];
139
+ $variation_cost = wc_get_product_purchase_price( $variation_id );
140
+ if ( 'purchase_cost' === $column ) {
141
+ $purchase_costs[] = $variation_cost;
142
+ } elseif ( 'profit' === $column ) {
143
+ $variation_product = wc_get_product( $variation_id );
144
+ $variation_price = $variation_product->get_price();
145
+ if ( is_numeric( $variation_price ) ) {
146
+ $profits[] = $variation_price - $variation_cost;
147
+ }
148
+ }
149
+ }
150
+ if ( 'purchase_cost' === $column ) {
151
+ $min_cost = min( $purchase_costs );
152
+ $max_cost = max( $purchase_costs );
153
+ echo ( $min_cost === $max_cost ? wc_price( $min_cost ) : wc_format_price_range( $min_cost, $max_cost ) );
154
+ } elseif ( 'profit' === $column ) {
155
+ $min_profit = min( $profits );
156
+ $max_profit = max( $profits );
157
+ echo ( $min_profit === $max_profit ? wc_price( $min_profit ) : wc_format_price_range( $min_profit, $max_profit ) );
158
+ }
159
+ } else {
160
+ $purchase_cost = wc_get_product_purchase_price( $product_id );
161
+ if ( 'purchase_cost' === $column ) {
162
+ echo wc_price( $purchase_cost );
163
+ } elseif ( 'profit' === $column ) {
164
+ $_price = $_product->get_price();
165
+ if ( is_numeric( $_price ) ) {
166
+ echo wc_price( $_price - $purchase_cost );
167
+ }
168
+ }
169
  }
170
  }
171
  }
187
  }
188
 
189
  /**
190
+ * Output custom columns for orders.
191
  *
192
  * @param string $column
193
  * @version 2.7.0
includes/class-wcj-related-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Related Products
4
  *
5
- * @version 3.1.1
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -175,7 +175,7 @@ class WCJ_Related_Products extends WCJ_Module {
175
  /**
176
  * get_related_products_ids_wc3.
177
  *
178
- * @version 2.8.0
179
  * @since 2.8.0
180
  */
181
  function get_related_products_ids_wc3( $product_id ) {
@@ -184,9 +184,7 @@ class WCJ_Related_Products extends WCJ_Module {
184
  if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_enabled', true ) ) {
185
  // Relate per Product (Manual)
186
  $related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
187
- if ( '' != $related_per_product ) {
188
- $include_ids = $related_per_product;
189
- }
190
  } elseif ( 'yes' === get_option( 'wcj_product_info_related_products_by_attribute_enabled', 'no' ) ) {
191
  $args = array(
192
  'post_type' => 'product',
@@ -230,7 +228,7 @@ class WCJ_Related_Products extends WCJ_Module {
230
  /**
231
  * related_products_query_wc3.
232
  *
233
- * @version 2.8.0
234
  * @since 2.8.0
235
  * @see WC_Product_Data_Store_CPT::get_related_products_query()
236
  * @todo "Relate by Product Attribute" - directly to `$query['where']` instead of getting ids via `WP_Query`
@@ -241,19 +239,22 @@ class WCJ_Related_Products extends WCJ_Module {
241
  //////////////////////////////////////////////////////////////////////
242
  // Algoritmika
243
  if ( 'yes' === get_option( 'wcj_product_info_related_products_hide', 'no' ) ) {
244
- $include_ids = array( 0 );
245
  } else {
246
  $include_ids = $this->get_related_products_ids_wc3( $product_id );
247
- if ( empty( $include_ids ) ) {
248
  return $_query;
249
  }
250
  }
251
- $include_ids = implode( ',', array_map( 'absint', $include_ids ) );
 
 
252
  $cats_array = array();
253
  $tags_array = array();
254
  $_product = wc_get_product( $product_id );
255
  $exclude_ids = array_merge( array( 0, $product_id ), $_product->get_upsell_ids() );
256
- if ( 'yes' === get_option( 'wcj_product_info_related_products_hide', 'no' ) ) {
 
257
  $limit = 0;
258
  } else {
259
  $limit = get_option( 'wcj_product_info_related_products_num', 3 );
2
  /**
3
  * Booster for WooCommerce - Module - Related Products
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
175
  /**
176
  * get_related_products_ids_wc3.
177
  *
178
+ * @version 3.9.0
179
  * @since 2.8.0
180
  */
181
  function get_related_products_ids_wc3( $product_id ) {
184
  if ( 'yes' === apply_filters( 'booster_option', 'no', get_option( 'wcj_product_info_related_products_per_product', 'no' ) ) && 'yes' === get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_enabled', true ) ) {
185
  // Relate per Product (Manual)
186
  $related_per_product = get_post_meta( get_the_ID(), '_' . 'wcj_product_info_related_products_ids', true );
187
+ $include_ids = ( ! empty( $related_per_product ) ? $related_per_product : false );
 
 
188
  } elseif ( 'yes' === get_option( 'wcj_product_info_related_products_by_attribute_enabled', 'no' ) ) {
189
  $args = array(
190
  'post_type' => 'product',
228
  /**
229
  * related_products_query_wc3.
230
  *
231
+ * @version 3.9.0
232
  * @since 2.8.0
233
  * @see WC_Product_Data_Store_CPT::get_related_products_query()
234
  * @todo "Relate by Product Attribute" - directly to `$query['where']` instead of getting ids via `WP_Query`
239
  //////////////////////////////////////////////////////////////////////
240
  // Algoritmika
241
  if ( 'yes' === get_option( 'wcj_product_info_related_products_hide', 'no' ) ) {
242
+ $include_ids = false;
243
  } else {
244
  $include_ids = $this->get_related_products_ids_wc3( $product_id );
245
+ if ( false !== $include_ids && empty( $include_ids ) ) {
246
  return $_query;
247
  }
248
  }
249
+ if ( false !== $include_ids ) {
250
+ $include_ids = implode( ',', array_map( 'absint', $include_ids ) );
251
+ }
252
  $cats_array = array();
253
  $tags_array = array();
254
  $_product = wc_get_product( $product_id );
255
  $exclude_ids = array_merge( array( 0, $product_id ), $_product->get_upsell_ids() );
256
+ if ( false === $include_ids ) {
257
+ $include_ids = array( 0 );
258
  $limit = 0;
259
  } else {
260
  $limit = get_option( 'wcj_product_info_related_products_num', 3 );
includes/class-wcj-shipping-by-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Shipping Methods by Products
4
  *
5
- * @version 3.6.0
6
  * @since 3.2.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -151,14 +151,13 @@ class WCJ_Shipping_By_Products extends WCJ_Module_Shipping_By_Condition {
151
  /**
152
  * get_condition_options.
153
  *
154
- * @version 3.6.0
155
  * @since 3.2.0
156
  */
157
  function get_condition_options( $options_id ) {
158
  switch( $options_id ) {
159
  case 'products':
160
- return ( 'yes' === get_option( 'wcj_shipping_by_' . $options_id . '_add_variations_enabled', 'no' ) ?
161
- wcj_get_products( array(), 'any', 256, true ) : wcj_get_products() );
162
  case 'product_cats':
163
  return wcj_get_terms( 'product_cat' );
164
  case 'product_tags':
2
  /**
3
  * Booster for WooCommerce - Module - Shipping Methods by Products
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.0
7
  * @author Algoritmika Ltd.
8
  */
151
  /**
152
  * get_condition_options.
153
  *
154
+ * @version 3.9.0
155
  * @since 3.2.0
156
  */
157
  function get_condition_options( $options_id ) {
158
  switch( $options_id ) {
159
  case 'products':
160
+ return wcj_get_products( array(), 'any', 1024, ( 'yes' === get_option( 'wcj_shipping_by_' . $options_id . '_add_variations_enabled', 'no' ) ) );
 
161
  case 'product_cats':
162
  return wcj_get_terms( 'product_cat' );
163
  case 'product_tags':
includes/class-wcj-template-editor.php ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Booster for WooCommerce - Module - Template Editor
4
+ *
5
+ * @version 3.9.0
6
+ * @since 3.9.0
7
+ * @author Algoritmika Ltd.
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
+
12
+ if ( ! class_exists( 'WCJ_Template_Editor' ) ) :
13
+
14
+ class WCJ_Template_Editor extends WCJ_Module {
15
+
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @version 3.9.0
20
+ * @since 3.9.0
21
+ */
22
+ function __construct() {
23
+
24
+ $this->id = 'template_editor';
25
+ $this->short_desc = __( 'Template Editor', 'woocommerce-jetpack' );
26
+ $this->desc = __( 'WooCommerce template editor.', 'woocommerce-jetpack' );
27
+ $this->link_slug = 'woocommerce-template-editor';
28
+ parent::__construct();
29
+
30
+ add_action( 'woojetpack_after_settings_save', array( $this, 'create_templates' ), PHP_INT_MAX, 2 );
31
+
32
+ if ( $this->is_enabled() ) {
33
+ $this->templates_to_edit = get_option( 'wcj_template_editor_templates_to_edit', array() );
34
+ add_filter( 'wc_get_template', array( $this, 'replace_template' ), PHP_INT_MAX, 5 );
35
+ }
36
+
37
+ }
38
+
39
+ /**
40
+ * create_templates.
41
+ *
42
+ * @version 3.9.0
43
+ * @since 3.9.0
44
+ * @todo [dev] also delete on "Reset settings"
45
+ */
46
+ function create_templates( $sections, $current_section ) {
47
+ if ( $this->id === $current_section ) {
48
+ $this->delete_dir( wcj_get_wcj_uploads_dir( 'templates' ) );
49
+ $templates_content = get_option( 'wcj_template_editor_templates_content', array() );
50
+ foreach ( get_option( 'wcj_template_editor_templates_to_edit', array() ) as $template ) {
51
+ if ( isset( $templates_content[ $template ] ) ) {
52
+ $_template = explode( '/', $template );
53
+ $_template_file = $_template[ count( $_template ) - 1 ];
54
+ $_template_dirs = str_replace( $_template_file, '', $template );
55
+ $_template_path = wcj_get_wcj_uploads_dir( 'templates' . DIRECTORY_SEPARATOR . $_template_dirs ) . DIRECTORY_SEPARATOR . $_template_file;
56
+ file_put_contents( $_template_path, $templates_content[ $template ] );
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ /**
63
+ * replace_template.
64
+ *
65
+ * @version 3.9.0
66
+ * @since 3.9.0
67
+ * @todo [dev] (maybe) check for template to exist before returning (just to be sure...)
68
+ */
69
+ function replace_template( $located, $template_name, $args, $template_path, $default_path ) {
70
+ return ( in_array( $template_name, $this->templates_to_edit ) ? wcj_get_wcj_uploads_dir( 'templates', false ) . DIRECTORY_SEPARATOR . $template_name : $located );
71
+ }
72
+
73
+ /**
74
+ * scan_templates.
75
+ *
76
+ * @version 3.9.0
77
+ * @since 3.9.0
78
+ * @todo [dev] (maybe) optimize
79
+ */
80
+ function scan_templates( $dir, &$results = array() ) {
81
+ $files = scandir( $dir );
82
+ foreach( $files as $key => $value ) {
83
+ $path = realpath( $dir . DIRECTORY_SEPARATOR . $value );
84
+ if( ! is_dir( $path ) ) {
85
+ $template = str_replace( $this->templates_path, '', str_replace( '\\', '/', $path ) );
86
+ $results[ $template ] = $template;
87
+ } elseif ( '.' != $value && '..' != $value ) {
88
+ $this->scan_templates( $path, $results );
89
+ }
90
+ }
91
+ return $results;
92
+ }
93
+
94
+ /**
95
+ * delete_dir.
96
+ *
97
+ * @version 3.9.0
98
+ * @since 3.9.0
99
+ */
100
+ function delete_dir( $dir_path ) {
101
+ if ( ! is_dir( $dir_path ) ) {
102
+ return false;
103
+ }
104
+ if ( '/' != substr( $dir_path, strlen( $dir_path ) - 1, 1 ) ) {
105
+ $dir_path .= '/';
106
+ }
107
+ $files = glob( $dir_path . '*', GLOB_MARK );
108
+ foreach ( $files as $file ) {
109
+ if ( is_dir( $file ) ) {
110
+ $this->delete_dir( $file );
111
+ } else {
112
+ unlink( $file );
113
+ }
114
+ }
115
+ rmdir( $dir_path );
116
+ }
117
+
118
+ }
119
+
120
+ endif;
121
+
122
+ return new WCJ_Template_Editor();
includes/class-wcj-track-users.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - User Tracking
4
  *
5
- * @version 3.6.0
6
  * @since 3.1.3
7
  * @author Algoritmika Ltd.
8
  */
@@ -108,13 +108,13 @@ class WCJ_User_Tracking extends WCJ_Module {
108
  /**
109
  * track_users_update_county_stats.
110
  *
111
- * @version 2.9.1
112
  * @since 2.9.1
113
  * @todo (maybe) `wp_nonce`
114
  */
115
  function track_users_update_county_stats() {
116
  if ( isset( $_GET['wcj_track_users_update_county_stats'] ) ) {
117
- $this->track_users_generate_stats_cron();
118
  wp_safe_redirect( remove_query_arg( 'wcj_track_users_update_county_stats' ) );
119
  exit;
120
  }
2
  /**
3
  * Booster for WooCommerce - Module - User Tracking
4
  *
5
+ * @version 3.9.0
6
  * @since 3.1.3
7
  * @author Algoritmika Ltd.
8
  */
108
  /**
109
  * track_users_update_county_stats.
110
  *
111
+ * @version 3.9.0
112
  * @since 2.9.1
113
  * @todo (maybe) `wp_nonce`
114
  */
115
  function track_users_update_county_stats() {
116
  if ( isset( $_GET['wcj_track_users_update_county_stats'] ) ) {
117
+ $this->track_users_generate_stats_cron( 'manual' );
118
  wp_safe_redirect( remove_query_arg( 'wcj_track_users_update_county_stats' ) );
119
  exit;
120
  }
includes/class-wcj-upsells.php CHANGED
@@ -21,6 +21,7 @@ class WCJ_Upsells extends WCJ_Module {
21
  * @todo (maybe) use `apply_filters( 'woocommerce_upsell_display_args', array( 'posts_per_page' => $limit, 'orderby' => $orderby, 'columns' => $columns ) );`
22
  * @todo (maybe) Global Upsells - on per category/tag basis
23
  * @todo (maybe) Global Upsells - ids instead of list
 
24
  */
25
  function __construct() {
26
 
21
  * @todo (maybe) use `apply_filters( 'woocommerce_upsell_display_args', array( 'posts_per_page' => $limit, 'orderby' => $orderby, 'columns' => $columns ) );`
22
  * @todo (maybe) Global Upsells - on per category/tag basis
23
  * @todo (maybe) Global Upsells - ids instead of list
24
+ * @todo (maybe) add `wcj_upsells_replace_with_upsells` option (similar to `wcj_cross_sells_replace_with_cross_sells`)
25
  */
26
  function __construct() {
27
 
includes/class-wcj-wholesale-price.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Wholesale Price
4
  *
5
- * @version 3.8.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  * @todo per variation
@@ -93,7 +93,7 @@ class WCJ_Wholesale_Price extends WCJ_Module {
93
  /**
94
  * add_discount_info_to_cart_page.
95
  *
96
- * @version 3.6.0
97
  */
98
  function add_discount_info_to_cart_page( $price_html, $cart_item, $cart_item_key ) {
99
 
@@ -104,8 +104,8 @@ class WCJ_Wholesale_Price extends WCJ_Module {
104
  $discount_type = ( wcj_is_product_wholesale_enabled_per_product( $cart_item['product_id'] ) )
105
  ? get_post_meta( $cart_item['product_id'], '_' . 'wcj_wholesale_price_discount_type', true )
106
  : get_option( 'wcj_wholesale_price_discount_type', 'percent' );
 
107
  if ( 'price_directly' === $discount_type ) {
108
- $_product = $cart_item['data'];
109
  $saved_wcj_wholesale_price = false;
110
  if ( isset( $_product->wcj_wholesale_price ) ) {
111
  $saved_wcj_wholesale_price = $_product->wcj_wholesale_price;
@@ -116,7 +116,7 @@ class WCJ_Wholesale_Price extends WCJ_Module {
116
  $_product->wcj_wholesale_price = $saved_wcj_wholesale_price;
117
  }
118
  } elseif ( 'fixed' === $discount_type ) {
119
- $discount = wc_price( $this->get_price_for_cart( $discount, $cart_item['data'] ) );
120
  } else {
121
  $discount = $discount . '%';
122
  }
@@ -125,6 +125,7 @@ class WCJ_Wholesale_Price extends WCJ_Module {
125
  $replaced_values = array(
126
  '%old_price%' => $old_price_html,
127
  '%price%' => $price_html,
 
128
  '%discount_value%' => $discount,
129
  '%discount_percent%' => $discount, // deprecated (replaced with %discount_value%)
130
  );
2
  /**
3
  * Booster for WooCommerce - Module - Wholesale Price
4
  *
5
+ * @version 3.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  * @todo per variation
93
  /**
94
  * add_discount_info_to_cart_page.
95
  *
96
+ * @version 3.9.0
97
  */
98
  function add_discount_info_to_cart_page( $price_html, $cart_item, $cart_item_key ) {
99
 
104
  $discount_type = ( wcj_is_product_wholesale_enabled_per_product( $cart_item['product_id'] ) )
105
  ? get_post_meta( $cart_item['product_id'], '_' . 'wcj_wholesale_price_discount_type', true )
106
  : get_option( 'wcj_wholesale_price_discount_type', 'percent' );
107
+ $_product = $cart_item['data'];
108
  if ( 'price_directly' === $discount_type ) {
 
109
  $saved_wcj_wholesale_price = false;
110
  if ( isset( $_product->wcj_wholesale_price ) ) {
111
  $saved_wcj_wholesale_price = $_product->wcj_wholesale_price;
116
  $_product->wcj_wholesale_price = $saved_wcj_wholesale_price;
117
  }
118
  } elseif ( 'fixed' === $discount_type ) {
119
+ $discount = wc_price( $this->get_price_for_cart( $discount, $_product ) );
120
  } else {
121
  $discount = $discount . '%';
122
  }
125
  $replaced_values = array(
126
  '%old_price%' => $old_price_html,
127
  '%price%' => $price_html,
128
+ '%original_price%' => wc_price( $this->get_price_for_cart( $_product->get_price(), $_product ) ),
129
  '%discount_value%' => $discount,
130
  '%discount_percent%' => $discount, // deprecated (replaced with %discount_value%)
131
  );
includes/classes/class-wcj-module-product-by-condition.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Module - Product by Condition
4
  *
5
- * @version 3.6.0
6
  * @since 3.6.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -212,13 +212,16 @@ abstract class WCJ_Module_Product_By_Condition extends WCJ_Module {
212
  /**
213
  * pre_get_posts.
214
  *
215
- * @version 3.6.0
216
  * @since 3.6.0
217
  */
218
  function pre_get_posts( $query ) {
219
  if ( is_admin() ) {
220
  return;
221
  }
 
 
 
222
  remove_action( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
223
  $option_to_check = $this->get_check_option();
224
  $post__not_in = $query->get( 'post__not_in' );
2
  /**
3
  * Booster for WooCommerce - Module - Product by Condition
4
  *
5
+ * @version 3.9.0
6
  * @since 3.6.0
7
  * @author Algoritmika Ltd.
8
  */
212
  /**
213
  * pre_get_posts.
214
  *
215
+ * @version 3.9.0
216
  * @since 3.6.0
217
  */
218
  function pre_get_posts( $query ) {
219
  if ( is_admin() ) {
220
  return;
221
  }
222
+ if ( ! function_exists( 'is_user_logged_in' ) ) {
223
+ require_once( ABSPATH . 'wp-includes/pluggable.php' );
224
+ }
225
  remove_action( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
226
  $option_to_check = $this->get_check_option();
227
  $post__not_in = $query->get( 'post__not_in' );
includes/classes/class-wcj-module-shipping-by-condition.php CHANGED
@@ -5,7 +5,6 @@
5
  * @version 3.6.0
6
  * @since 3.2.0
7
  * @author Algoritmika Ltd.
8
- * @todo (maybe) `abstract class WCJ_Module_Shipping_By_Condition`
9
  * @todo (maybe) add "Shipping Methods by Date/Time" module
10
  */
11
 
5
  * @version 3.6.0
6
  * @since 3.2.0
7
  * @author Algoritmika Ltd.
 
8
  * @todo (maybe) add "Shipping Methods by Date/Time" module
9
  */
10
 
includes/classes/class-wcj-module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce Module
4
  *
5
- * @version 3.8.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -296,7 +296,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
296
  /**
297
  * save_meta_box.
298
  *
299
- * @version 3.6.0
300
  * @since 2.5.0
301
  * @todo (maybe) also order_id in `$the_post_id = ...`
302
  */
@@ -319,6 +319,13 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
319
  $option_value = ( isset( $_POST[ $option['name'] ] ) ) ? $_POST[ $option['name'] ] : $option['default'];
320
  $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $post_id;
321
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
 
 
 
 
 
 
 
322
  update_post_meta( $the_post_id, $the_meta_name, apply_filters( 'wcj_save_meta_box_value', $option_value, $option['name'], $this->id ) );
323
  }
324
  }
2
  /**
3
  * Booster for WooCommerce Module
4
  *
5
+ * @version 3.9.0
6
  * @since 2.2.0
7
  * @author Algoritmika Ltd.
8
  */
296
  /**
297
  * save_meta_box.
298
  *
299
+ * @version 3.9.0
300
  * @since 2.5.0
301
  * @todo (maybe) also order_id in `$the_post_id = ...`
302
  */
319
  $option_value = ( isset( $_POST[ $option['name'] ] ) ) ? $_POST[ $option['name'] ] : $option['default'];
320
  $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $post_id;
321
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
322
+ if ( isset( $option['convert'] ) && 'from_date_to_timestamp' === $option['convert'] ) {
323
+ $option_value = strtotime( $option_value );
324
+ if ( empty( $option_value ) ) {
325
+ continue;
326
+ }
327
+ }
328
+ delete_post_meta( $the_post_id, $the_meta_name ); // solves lowercase/uppercase issue
329
  update_post_meta( $the_post_id, $the_meta_name, apply_filters( 'wcj_save_meta_box_value', $option_value, $option['name'], $this->id ) );
330
  }
331
  }
includes/core/wcj-functions.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Functions
4
  *
5
- * @version 3.6.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
@@ -31,7 +31,6 @@ $wcj_function_files = array(
31
  'wcj-functions-country.php',
32
  'wcj-functions-invoicing.php',
33
  'wcj-functions-reports.php',
34
- 'wcj-functions-currencies.php',
35
  );
36
 
37
  $wcj_functions_dir = WCJ_PLUGIN_PATH . '/includes/functions/';
2
  /**
3
  * Booster for WooCommerce - Functions
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
31
  'wcj-functions-country.php',
32
  'wcj-functions-invoicing.php',
33
  'wcj-functions-reports.php',
 
34
  );
35
 
36
  $wcj_functions_dir = WCJ_PLUGIN_PATH . '/includes/functions/';
includes/core/wcj-modules.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Modules
4
  *
5
- * @version 3.7.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
@@ -96,7 +96,7 @@ $wcj_module_files = array(
96
  'class-wcj-emails.php',
97
  'class-wcj-email-options.php',
98
  'class-wcj-emails-verification.php',
99
- 'class-wcj-currencies.php',
100
  'class-wcj-multicurrency.php',
101
  'class-wcj-multicurrency-product-base-price.php',
102
  'class-wcj-currency-per-product.php',
@@ -121,6 +121,7 @@ $wcj_module_files = array(
121
  'class-wcj-reports.php',
122
  'class-wcj-wpml.php',
123
  'class-wcj-modules-by-user-roles.php',
 
124
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-numbering.php',
125
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php',
126
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-styling.php',
2
  /**
3
  * Booster for WooCommerce - Modules
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.4
7
  * @author Algoritmika Ltd.
8
  */
96
  'class-wcj-emails.php',
97
  'class-wcj-email-options.php',
98
  'class-wcj-emails-verification.php',
99
+ 'class-wcj-currency.php',
100
  'class-wcj-multicurrency.php',
101
  'class-wcj-multicurrency-product-base-price.php',
102
  'class-wcj-currency-per-product.php',
121
  'class-wcj-reports.php',
122
  'class-wcj-wpml.php',
123
  'class-wcj-modules-by-user-roles.php',
124
+ 'class-wcj-template-editor.php',
125
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-numbering.php',
126
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php',
127
  'pdf-invoices/submodules/class-wcj-pdf-invoicing-styling.php',
includes/emails/class-wc-email-wcj-custom.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * An email sent to recipient list when selected triggers are called.
6
  *
7
- * @version 3.2.4
8
  * @since 2.3.9
9
  * @author Algoritmika Ltd.
10
  * @extends WC_Email
@@ -105,7 +105,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
105
  /**
106
  * trigger.
107
  *
108
- * @version 3.2.4
109
  */
110
  function trigger( $order_id ) {
111
 
@@ -117,19 +117,6 @@ class WC_Email_WCJ_Custom extends WC_Email {
117
 
118
  $this->object = wc_get_order( $order_id ); // must be `object` as it's named so in parent class (`WC_Email`). E.g. for attachments.
119
 
120
- if ( $this->customer_email ) {
121
- $this->recipient = wcj_get_order_billing_email( $this->object );
122
- } elseif ( false !== strpos( $this->recipient, '%customer%' ) ) {
123
- $this->recipient = str_replace( '%customer%', wcj_get_order_billing_email( $this->object ), $this->recipient );
124
- }
125
-
126
- $this->find['order-date'] = '{order_date}';
127
- $this->find['order-number'] = '{order_number}';
128
-
129
- $this->replace['order-date'] = date_i18n( wc_date_format(), strtotime( wcj_get_order_date( $this->object ) ) );
130
- $this->replace['order-number'] = $this->object->get_order_number();
131
-
132
- global $post;
133
  if ( 'woocommerce_checkout_order_processed_notification' === current_filter() ) {
134
  // Check status
135
  $is_status_found = false;
@@ -147,6 +134,20 @@ class WC_Email_WCJ_Custom extends WC_Email {
147
  return;
148
  }
149
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  $post = ( WCJ_IS_WC_VERSION_BELOW_3 ? $this->object->post : get_post( $order_id ) );
151
  setup_postdata( $post );
152
  }
@@ -263,7 +264,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
263
  __( 'Or enter <code>%customer%</code> to send to customer billing email.', 'woocommerce-jetpack' ),
264
  'placeholder' => '',
265
  'default' => '',
266
- 'css' => 'width:99%;min-width:300px;',
267
  ),
268
  'subject' => array(
269
  'title' => __( 'Subject', 'woocommerce' ),
@@ -271,7 +272,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
271
  'description' => sprintf( __( 'This controls the email subject line. Leave blank to use the default subject: <code>%s</code>.', 'woocommerce' ), $this->subject ),
272
  'placeholder' => '',
273
  'default' => '',
274
- 'css' => 'width:99%;min-width:300px;',
275
  ),
276
  'email_type' => array(
277
  'title' => __( 'Email type', 'woocommerce' ),
@@ -292,7 +293,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
292
  'description' => sprintf( __( 'This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>.', 'woocommerce' ), $this->heading ),
293
  'placeholder' => '',
294
  'default' => '',
295
- 'css' => 'width:99%;min-width:300px;',
296
  ),
297
  'content_html_template' => array(
298
  'title' => __( 'HTML template', 'woocommerce' ),
@@ -301,7 +302,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
301
  'description' => '',
302
  'placeholder' => '',
303
  'default' => $default_html_template,
304
- 'css' => 'width:99%;min-width:300px;height:500px;',
305
  ),
306
  'content_plain_template' => array(
307
  'title' => __( 'Plain text template', 'woocommerce' ),
@@ -310,7 +311,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
310
  'description' => '',
311
  'placeholder' => '',
312
  'default' => $default_plain_template,
313
- 'css' => 'width:99%;min-width:300px;height:500px;',
314
  ),
315
  );
316
  }
4
  *
5
  * An email sent to recipient list when selected triggers are called.
6
  *
7
+ * @version 3.9.0
8
  * @since 2.3.9
9
  * @author Algoritmika Ltd.
10
  * @extends WC_Email
105
  /**
106
  * trigger.
107
  *
108
+ * @version 3.9.0
109
  */
110
  function trigger( $order_id ) {
111
 
117
 
118
  $this->object = wc_get_order( $order_id ); // must be `object` as it's named so in parent class (`WC_Email`). E.g. for attachments.
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  if ( 'woocommerce_checkout_order_processed_notification' === current_filter() ) {
121
  // Check status
122
  $is_status_found = false;
134
  return;
135
  }
136
  }
137
+
138
+ if ( $this->customer_email ) {
139
+ $this->recipient = wcj_get_order_billing_email( $this->object );
140
+ } elseif ( false !== strpos( $this->recipient, '%customer%' ) ) {
141
+ $this->recipient = str_replace( '%customer%', wcj_get_order_billing_email( $this->object ), $this->recipient );
142
+ }
143
+
144
+ $this->find['order-date'] = '{order_date}';
145
+ $this->find['order-number'] = '{order_number}';
146
+
147
+ $this->replace['order-date'] = date_i18n( wc_date_format(), strtotime( wcj_get_order_date( $this->object ) ) );
148
+ $this->replace['order-number'] = $this->object->get_order_number();
149
+
150
+ global $post;
151
  $post = ( WCJ_IS_WC_VERSION_BELOW_3 ? $this->object->post : get_post( $order_id ) );
152
  setup_postdata( $post );
153
  }
264
  __( 'Or enter <code>%customer%</code> to send to customer billing email.', 'woocommerce-jetpack' ),
265
  'placeholder' => '',
266
  'default' => '',
267
+ 'css' => 'width:100%;',
268
  ),
269
  'subject' => array(
270
  'title' => __( 'Subject', 'woocommerce' ),
272
  'description' => sprintf( __( 'This controls the email subject line. Leave blank to use the default subject: <code>%s</code>.', 'woocommerce' ), $this->subject ),
273
  'placeholder' => '',
274
  'default' => '',
275
+ 'css' => 'width:100%;',
276
  ),
277
  'email_type' => array(
278
  'title' => __( 'Email type', 'woocommerce' ),
293
  'description' => sprintf( __( 'This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>.', 'woocommerce' ), $this->heading ),
294
  'placeholder' => '',
295
  'default' => '',
296
+ 'css' => 'width:100%;',
297
  ),
298
  'content_html_template' => array(
299
  'title' => __( 'HTML template', 'woocommerce' ),
302
  'description' => '',
303
  'placeholder' => '',
304
  'default' => $default_html_template,
305
+ 'css' => 'width:100%;height:500px;',
306
  ),
307
  'content_plain_template' => array(
308
  'title' => __( 'Plain text template', 'woocommerce' ),
311
  'description' => '',
312
  'placeholder' => '',
313
  'default' => $default_plain_template,
314
+ 'css' => 'width:100%;height:500px;',
315
  ),
316
  );
317
  }
includes/exchange-rates/class-wcj-exchange-rates.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Booster for WooCommerce Exchange Rates
4
  *
5
- * @version 3.2.4
6
- * @author Algoritmika Ltd.
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
@@ -29,11 +29,11 @@ class WCJ_Exchange_Rates {
29
  /**
30
  * wcj_ajax_get_exchange_rates_average.
31
  *
32
- * @version 3.2.2
33
  * @since 3.2.2
34
  */
35
  function wcj_ajax_get_exchange_rates_average() {
36
- echo wcj_fixer_io_get_exchange_rate_average( $_POST['wcj_currency_from'], $_POST['wcj_currency_to'], $_POST['wcj_start_date'], $_POST['wcj_end_date'] );
37
  die();
38
  }
39
 
2
  /**
3
  * Booster for WooCommerce Exchange Rates
4
  *
5
+ * @version 3.9.0
6
+ * @author Algoritmika Ltd.
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
29
  /**
30
  * wcj_ajax_get_exchange_rates_average.
31
  *
32
+ * @version 3.9.0
33
  * @since 3.2.2
34
  */
35
  function wcj_ajax_get_exchange_rates_average() {
36
+ echo wcj_currencyconverterapi_io_get_exchange_rate_average( $_POST['wcj_currency_from'], $_POST['wcj_currency_to'], $_POST['wcj_start_date'], $_POST['wcj_end_date'] );
37
  die();
38
  }
39
 
includes/functions/wcj-functions-country.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Functions - Country
4
  *
5
- * @version 3.6.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -26,7 +26,7 @@ if ( ! function_exists( 'wcj_get_country_by_ip' ) ) {
26
  /**
27
  * wcj_get_country_by_ip.
28
  *
29
- * @version 3.1.0
30
  * @since 3.1.0
31
  */
32
  function wcj_get_country_by_ip() {
@@ -34,9 +34,12 @@ if ( ! function_exists( 'wcj_get_country_by_ip' ) ) {
34
  $location = ( class_exists( 'WC_Geolocation' ) ? WC_Geolocation::geolocate_ip() : array( 'country' => '' ) );
35
  // Base fallback
36
  if ( empty( $location['country'] ) ) {
37
- $location = wc_format_country_state_string( apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) ) );
 
 
 
38
  }
39
- return ( isset( $location['country'] ) ) ? $location['country'] : '';
40
  }
41
  }
42
 
2
  /**
3
  * Booster for WooCommerce - Functions - Country
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
26
  /**
27
  * wcj_get_country_by_ip.
28
  *
29
+ * @version 3.9.0
30
  * @since 3.1.0
31
  */
32
  function wcj_get_country_by_ip() {
34
  $location = ( class_exists( 'WC_Geolocation' ) ? WC_Geolocation::geolocate_ip() : array( 'country' => '' ) );
35
  // Base fallback
36
  if ( empty( $location['country'] ) ) {
37
+ $location = apply_filters( 'woocommerce_customer_default_location', get_option( 'woocommerce_default_country' ) );
38
+ if ( function_exists( 'wc_format_country_state_string' ) ) {
39
+ $location = wc_format_country_state_string( $location );
40
+ }
41
  }
42
+ return ( isset( $location['country'] ) ? $location['country'] : '' );
43
  }
44
  }
45
 
includes/functions/wcj-functions-currencies.php DELETED
@@ -1,215 +0,0 @@
1
- <?php
2
- /**
3
- * Booster for WooCommerce - Functions - Currencies
4
- *
5
- * @version 3.3.0
6
- * @author Algoritmika Ltd.
7
- */
8
-
9
- if ( ! function_exists( 'wcj_get_currencies_array' ) ) {
10
- /**
11
- * wcj_get_currencies_array.
12
- *
13
- * @version 3.3.0
14
- * @todo clean up / rewrite
15
- */
16
- function wcj_get_currencies_array() {
17
- return array(
18
- array( 'code' => 'AED', 'symbol' => 'د.إ', 'name' => __( 'United Arab Emirates Dirham', 'woocommerce' ) ),
19
- array( 'code' => 'AFN', 'symbol' => 'AFN', 'name' => __( 'Afghan afghani', 'woocommerce-jetpack' ) ),
20
- array( 'code' => 'ALL', 'symbol' => 'ALL', 'name' => __( 'Albanian lek', 'woocommerce-jetpack' ) ),
21
- array( 'code' => 'AMD', 'symbol' => 'AMD', 'name' => __( 'Armenian dram', 'woocommerce-jetpack' ) ),
22
- array( 'code' => 'ANG', 'symbol' => 'ANG', 'name' => __( 'Netherlands Antillean gulden', 'woocommerce-jetpack' ) ),
23
- array( 'code' => 'AOA', 'symbol' => 'AOA', 'name' => __( 'Angolan kwanza', 'woocommerce-jetpack' ) ),
24
- array( 'code' => 'ARS', 'symbol' => '&#36;', 'name' => __( 'Argentine Peso', 'woocommerce' ) ),
25
- array( 'code' => 'AUD', 'symbol' => '&#36;', 'name' => __( 'Australian Dollars', 'woocommerce' ) ),
26
- array( 'code' => 'AWG', 'symbol' => 'AWG', 'name' => __( 'Aruban florin', 'woocommerce-jetpack' ) ),
27
- array( 'code' => 'AZN', 'symbol' => 'AZN', 'name' => __( 'Azerbaijani manat', 'woocommerce-jetpack' ) ),
28
- array( 'code' => 'BAM', 'symbol' => 'BAM', 'name' => __( 'Bosnia and Herzegovina konvertibilna marka', 'woocommerce-jetpack' ) ),
29
- array( 'code' => 'BBD', 'symbol' => 'BBD', 'name' => __( 'Barbadian dollar', 'woocommerce-jetpack' ) ),
30
- array( 'code' => 'BDT', 'symbol' => '&#2547;&nbsp;', 'name' => __( 'Bangladeshi Taka', 'woocommerce' ) ),
31
- array( 'code' => 'BGN', 'symbol' => '&#1083;&#1074;.', 'name' => __( 'Bulgarian Lev', 'woocommerce' ) ),
32
- array( 'code' => 'BHD', 'symbol' => 'BHD', 'name' => __( 'Bahraini dinar', 'woocommerce-jetpack' ) ),
33
- array( 'code' => 'BIF', 'symbol' => 'BIF', 'name' => __( 'Burundi franc', 'woocommerce-jetpack' ) ),
34
- array( 'code' => 'BYN', 'symbol' => 'BYN', 'name' => __( 'Belarusian ruble', 'woocommerce-jetpack' ) ),
35
- array( 'code' => 'BND', 'symbol' => 'BND', 'name' => __( 'Brunei dollar', 'woocommerce-jetpack' ) ),
36
- array( 'code' => 'BOB', 'symbol' => 'BOB', 'name' => __( 'Bolivian boliviano', 'woocommerce-jetpack' ) ),
37
- array( 'code' => 'BRL', 'symbol' => '&#82;&#36;', 'name' => __( 'Brazilian Real', 'woocommerce' ) ),
38
- array( 'code' => 'BSD', 'symbol' => 'BSD', 'name' => __( 'Bahamian dollar', 'woocommerce-jetpack' ) ),
39
- array( 'code' => 'BTN', 'symbol' => 'BTN', 'name' => __( 'Bhutanese ngultrum', 'woocommerce-jetpack' ) ),
40
- array( 'code' => 'BWP', 'symbol' => 'BWP', 'name' => __( 'Botswana pula', 'woocommerce-jetpack' ) ),
41
- array( 'code' => 'BZD', 'symbol' => 'BZD', 'name' => __( 'Belize dollar', 'woocommerce-jetpack' ) ),
42
- array( 'code' => 'CAD', 'symbol' => '&#36;', 'name' => __( 'Canadian Dollars', 'woocommerce' ) ),
43
- array( 'code' => 'CDF', 'symbol' => 'CDF', 'name' => __( 'Congolese franc', 'woocommerce-jetpack' ) ),
44
- array( 'code' => 'CHF', 'symbol' => '&#67;&#72;&#70;', 'name' => __( 'Swiss Franc', 'woocommerce' ) ),
45
- array( 'code' => 'CLP', 'symbol' => '&#36;', 'name' => __( 'Chilean Peso', 'woocommerce' ) ),
46
- array( 'code' => 'CNY', 'symbol' => '&yen;', 'name' => __( 'Chinese Yuan', 'woocommerce' ) ),
47
- array( 'code' => 'COP', 'symbol' => '&#36;', 'name' => __( 'Colombian Peso', 'woocommerce' ) ),
48
- array( 'code' => 'CRC', 'symbol' => 'CRC', 'name' => __( 'Costa Rican colon', 'woocommerce-jetpack' ) ),
49
- array( 'code' => 'CUC', 'symbol' => 'CUC', 'name' => __( 'Cuban peso', 'woocommerce-jetpack' ) ),
50
- array( 'code' => 'CVE', 'symbol' => 'CVE', 'name' => __( 'Cape Verdean escudo', 'woocommerce-jetpack' ) ),
51
- array( 'code' => 'CZK', 'symbol' => '&#75;&#269;', 'name' => __( 'Czech Koruna', 'woocommerce' ) ),
52
- array( 'code' => 'DJF', 'symbol' => 'DJF', 'name' => __( 'Djiboutian franc', 'woocommerce-jetpack' ) ),
53
- array( 'code' => 'DKK', 'symbol' => 'DKK', 'name' => __( 'Danish Krone', 'woocommerce' ) ),
54
- array( 'code' => 'DOP', 'symbol' => 'RD&#36;', 'name' => __( 'Dominican Peso', 'woocommerce' ) ),
55
- array( 'code' => 'DZD', 'symbol' => 'DZD', 'name' => __( 'Algerian dinar', 'woocommerce-jetpack' ) ),
56
- array( 'code' => 'EEK', 'symbol' => 'EEK', 'name' => __( 'Estonian kroon', 'woocommerce-jetpack' ) ),
57
- array( 'code' => 'EGP', 'symbol' => 'EGP', 'name' => __( 'Egyptian Pound', 'woocommerce' ) ),
58
- array( 'code' => 'ERN', 'symbol' => 'ERN', 'name' => __( 'Eritrean nakfa', 'woocommerce-jetpack' ) ),
59
- array( 'code' => 'ETB', 'symbol' => 'ETB', 'name' => __( 'Ethiopian birr', 'woocommerce-jetpack' ) ),
60
- array( 'code' => 'EUR', 'symbol' => '&euro;', 'name' => __( 'Euros', 'woocommerce' ) ),
61
- array( 'code' => 'FJD', 'symbol' => 'FJD', 'name' => __( 'Fijian dollar', 'woocommerce-jetpack' ) ),
62
- array( 'code' => 'FKP', 'symbol' => 'FKP', 'name' => __( 'Falkland Islands pound', 'woocommerce-jetpack' ) ),
63
- array( 'code' => 'GBP', 'symbol' => '&pound;', 'name' => __( 'Pounds Sterling', 'woocommerce' ) ),
64
- array( 'code' => 'GEL', 'symbol' => 'GEL', 'name' => __( 'Georgian lari', 'woocommerce-jetpack' ) ),
65
- array( 'code' => 'GHS', 'symbol' => 'GHS', 'name' => __( 'Ghanaian cedi', 'woocommerce-jetpack' ) ),
66
- array( 'code' => 'GIP', 'symbol' => 'GIP', 'name' => __( 'Gibraltar pound', 'woocommerce-jetpack' ) ),
67
- array( 'code' => 'GYD', 'symbol' => 'GYD', 'name' => __( 'Guyanese dollar', 'woocommerce-jetpack' ) ),
68
- array( 'code' => 'GMD', 'symbol' => 'GMD', 'name' => __( 'Gambian dalasi', 'woocommerce-jetpack' ) ),
69
- array( 'code' => 'GNF', 'symbol' => 'GNF', 'name' => __( 'Guinean franc', 'woocommerce-jetpack' ) ),
70
- array( 'code' => 'GQE', 'symbol' => 'GQE', 'name' => __( 'Central African CFA franc', 'woocommerce-jetpack' ) ),
71
- array( 'code' => 'GTQ', 'symbol' => 'GTQ', 'name' => __( 'Guatemalan quetzal', 'woocommerce-jetpack' ) ),
72
- array( 'code' => 'HKD', 'symbol' => '&#36;', 'name' => __( 'Hong Kong Dollar', 'woocommerce' ) ),
73
- array( 'code' => 'HNL', 'symbol' => 'HNL', 'name' => __( 'Honduran lempira', 'woocommerce-jetpack' ) ),
74
- array( 'code' => 'HRK', 'symbol' => 'Kn', 'name' => __( 'Croatia kuna', 'woocommerce' ) ),
75
- array( 'code' => 'HTG', 'symbol' => 'HTG', 'name' => __( 'Haitian gourde', 'woocommerce-jetpack' ) ),
76
- array( 'code' => 'HUF', 'symbol' => '&#70;&#116;', 'name' => __( 'Hungarian Forint', 'woocommerce' ) ),
77
- array( 'code' => 'IDR', 'symbol' => 'Rp', 'name' => __( 'Indonesia Rupiah', 'woocommerce' ) ),
78
- array( 'code' => 'ILS', 'symbol' => '&#8362;', 'name' => __( 'Israeli Shekel', 'woocommerce' ) ),
79
- array( 'code' => 'INR', 'symbol' => '&#8377;', 'name' => __( 'Indian Rupee', 'woocommerce' ) ),
80
- array( 'code' => 'IQD', 'symbol' => 'IQD', 'name' => __( 'Iraqi dinar', 'woocommerce-jetpack' ) ),
81
- array( 'code' => 'IRR', 'symbol' => 'IRR', 'name' => __( 'Iranian rial', 'woocommerce-jetpack' ) ),
82
- array( 'code' => 'ISK', 'symbol' => 'Kr.', 'name' => __( 'Icelandic krona', 'woocommerce' ) ),
83
- array( 'code' => 'YER', 'symbol' => 'YER', 'name' => __( 'Yemeni rial', 'woocommerce-jetpack' ) ),
84
- array( 'code' => 'JMD', 'symbol' => 'JMD', 'name' => __( 'Jamaican dollar', 'woocommerce-jetpack' ) ),
85
- array( 'code' => 'JOD', 'symbol' => 'JOD', 'name' => __( 'Jordanian dinar', 'woocommerce-jetpack' ) ),
86
- array( 'code' => 'JPY', 'symbol' => '&yen;', 'name' => __( 'Japanese Yen', 'woocommerce' ) ),
87
- array( 'code' => 'KES', 'symbol' => 'KSh', 'name' => __( 'Kenyan shilling', 'woocommerce' ) ),
88
- array( 'code' => 'KGS', 'symbol' => 'KGS', 'name' => __( 'Kyrgyzstani som', 'woocommerce-jetpack' ) ),
89
- array( 'code' => 'KHR', 'symbol' => 'KHR', 'name' => __( 'Cambodian riel', 'woocommerce-jetpack' ) ),
90
- array( 'code' => 'KIP', 'symbol' => 'KIP', 'name' => __( 'Lao kip', 'woocommerce-jetpack' ) ),
91
- array( 'code' => 'KYD', 'symbol' => 'KYD', 'name' => __( 'Cayman Islands dollar', 'woocommerce-jetpack' ) ),
92
- array( 'code' => 'KMF', 'symbol' => 'KMF', 'name' => __( 'Comorian franc', 'woocommerce-jetpack' ) ),
93
- array( 'code' => 'KPW', 'symbol' => 'KPW', 'name' => __( 'North Korean won', 'woocommerce-jetpack' ) ),
94
- array( 'code' => 'KRW', 'symbol' => '&#8361;', 'name' => __( 'South Korean Won', 'woocommerce' ) ),
95
- array( 'code' => 'KWD', 'symbol' => 'KWD', 'name' => __( 'Kuwaiti dinar', 'woocommerce-jetpack' ) ),
96
- array( 'code' => 'KZT', 'symbol' => 'KZT', 'name' => __( 'Kazakhstani tenge', 'woocommerce-jetpack' ) ),
97
- array( 'code' => 'LAK', 'symbol' => '&#8365;', 'name' => __( 'Lao Kip', 'woocommerce' ) ),
98
- array( 'code' => 'LBP', 'symbol' => 'LBP', 'name' => __( 'Lebanese lira', 'woocommerce-jetpack' ) ),
99
- array( 'code' => 'LYD', 'symbol' => 'LYD', 'name' => __( 'Libyan dinar', 'woocommerce-jetpack' ) ),
100
- array( 'code' => 'LKR', 'symbol' => 'LKR', 'name' => __( 'Sri Lankan rupee', 'woocommerce-jetpack' ) ),
101
- array( 'code' => 'LRD', 'symbol' => 'LRD', 'name' => __( 'Liberian dollar', 'woocommerce-jetpack' ) ),
102
- array( 'code' => 'LSL', 'symbol' => 'LSL', 'name' => __( 'Lesotho loti', 'woocommerce-jetpack' ) ),
103
- array( 'code' => 'LTL', 'symbol' => 'LTL', 'name' => __( 'Lithuanian litas', 'woocommerce-jetpack' ) ),
104
- array( 'code' => 'LVL', 'symbol' => 'LVL', 'name' => __( 'Latvian lats', 'woocommerce-jetpack' ) ),
105
- array( 'code' => 'MAD', 'symbol' => 'MAD', 'name' => __( 'Moroccan dirham', 'woocommerce-jetpack' ) ),
106
- array( 'code' => 'MDL', 'symbol' => 'MDL', 'name' => __( 'Moldovan leu', 'woocommerce-jetpack' ) ),
107
- array( 'code' => 'MGA', 'symbol' => 'MGA', 'name' => __( 'Malagasy ariary', 'woocommerce-jetpack' ) ),
108
- array( 'code' => 'MYR', 'symbol' => '&#82;&#77;', 'name' => __( 'Malaysian ringgit', 'woocommerce-jetpack' ) ),
109
- array( 'code' => 'MKD', 'symbol' => 'MKD', 'name' => __( 'Macedonian denar', 'woocommerce-jetpack' ) ),
110
- array( 'code' => 'MMK', 'symbol' => 'MMK', 'name' => __( 'Myanma kyat', 'woocommerce-jetpack' ) ),
111
- array( 'code' => 'MNT', 'symbol' => 'MNT', 'name' => __( 'Mongolian tugrik', 'woocommerce-jetpack' ) ),
112
- array( 'code' => 'MOP', 'symbol' => 'MOP', 'name' => __( 'Macanese pataca', 'woocommerce-jetpack' ) ),
113
- array( 'code' => 'MRO', 'symbol' => 'MRO', 'name' => __( 'Mauritanian ouguiya', 'woocommerce-jetpack' ) ),
114
- array( 'code' => 'MUR', 'symbol' => 'MUR', 'name' => __( 'Mauritian rupee', 'woocommerce-jetpack' ) ),
115
- array( 'code' => 'MVR', 'symbol' => 'MVR', 'name' => __( 'Maldivian rufiyaa', 'woocommerce-jetpack' ) ),
116
- array( 'code' => 'MWK', 'symbol' => 'MWK', 'name' => __( 'Malawian kwacha', 'woocommerce-jetpack' ) ),
117
- array( 'code' => 'MXN', 'symbol' => '&#36;', 'name' => __( 'Mexican Peso', 'woocommerce' ) ),
118
- array( 'code' => 'MYR', 'symbol' => '&#82;&#77;', 'name' => __( 'Malaysian Ringgits', 'woocommerce' ) ),
119
- array( 'code' => 'MZM', 'symbol' => 'MZM', 'name' => __( 'Mozambican metical', 'woocommerce-jetpack' ) ),
120
- array( 'code' => 'NAD', 'symbol' => 'NAD', 'name' => __( 'Namibian dollar', 'woocommerce-jetpack' ) ),
121
- array( 'code' => 'NGN', 'symbol' => '&#8358;', 'name' => __( 'Nigerian Naira', 'woocommerce' ) ),
122
- array( 'code' => 'NIO', 'symbol' => 'NIO', 'name' => __( 'Nicaraguan cordoba', 'woocommerce-jetpack' ) ),
123
- array( 'code' => 'NOK', 'symbol' => '&#107;&#114;', 'name' => __( 'Norwegian Krone', 'woocommerce' ) ),
124
- array( 'code' => 'NPR', 'symbol' => '&#8360;', 'name' => __( 'Nepali Rupee', 'woocommerce' ) ),
125
- array( 'code' => 'NZD', 'symbol' => '&#36;', 'name' => __( 'New Zealand Dollar', 'woocommerce' ) ),
126
- array( 'code' => 'OMR', 'symbol' => 'OMR', 'name' => __( 'Omani rial', 'woocommerce-jetpack' ) ),
127
- array( 'code' => 'PAB', 'symbol' => 'PAB', 'name' => __( 'Panamanian balboa', 'woocommerce-jetpack' ) ),
128
- array( 'code' => 'PEN', 'symbol' => 'PEN', 'name' => __( 'Peruvian nuevo sol', 'woocommerce-jetpack' ) ),
129
- array( 'code' => 'PGK', 'symbol' => 'PGK', 'name' => __( 'Papua New Guinean kina', 'woocommerce-jetpack' ) ),
130
- array( 'code' => 'PHP', 'symbol' => '&#8369;', 'name' => __( 'Philippine Pesos', 'woocommerce' ) ),
131
- array( 'code' => 'PYG', 'symbol' => 'PYG', 'name' => __( 'Paraguayan guarani', 'woocommerce-jetpack' ) ),
132
- array( 'code' => 'PKR', 'symbol' => '&#8360;', 'name' => __( 'Pakistani Rupee', 'woocommerce' ) ),
133
- array( 'code' => 'PLN', 'symbol' => '&#122;&#322;', 'name' => __( 'Polish Zloty', 'woocommerce' ) ),
134
- array( 'code' => 'PYG', 'symbol' => '&#8370;', 'name' => __( 'Paraguayan Guaraní', 'woocommerce' ) ),
135
- array( 'code' => 'QAR', 'symbol' => 'QAR', 'name' => __( 'Qatari riyal', 'woocommerce-jetpack' ) ),
136
- array( 'code' => 'RMB', 'symbol' => '&yen;', 'name' => __( 'Chinese renminbi', 'woocommerce-jetpack' ) ),
137
- array( 'code' => 'RON', 'symbol' => 'lei', 'name' => __( 'Romanian Leu', 'woocommerce' ) ),
138
- array( 'code' => 'RSD', 'symbol' => 'RSD', 'name' => __( 'Serbian dinar', 'woocommerce-jetpack' ) ),
139
- array( 'code' => 'RUB', 'symbol' => '&#8381;', 'name' => __( 'Russian Ruble', 'woocommerce' ) ),
140
- array( 'code' => 'RWF', 'symbol' => 'RWF', 'name' => __( 'Rwandan franc', 'woocommerce-jetpack' ) ),
141
- array( 'code' => 'SAR', 'symbol' => '&#x631;.&#x633;', 'name' => __( 'Saudi Riyal', 'woocommerce' ) ),
142
- array( 'code' => 'SBD', 'symbol' => 'SBD', 'name' => __( 'Solomon Islands dollar', 'woocommerce-jetpack' ) ),
143
- array( 'code' => 'SCR', 'symbol' => 'SCR', 'name' => __( 'Seychellois rupee', 'woocommerce-jetpack' ) ),
144
- array( 'code' => 'SDG', 'symbol' => 'SDG', 'name' => __( 'Sudanese pound', 'woocommerce-jetpack' ) ),
145
- array( 'code' => 'SEK', 'symbol' => '&#107;&#114;', 'name' => __( 'Swedish Krona', 'woocommerce' ) ),
146
- array( 'code' => 'SGD', 'symbol' => '&#36;', 'name' => __( 'Singapore Dollar', 'woocommerce' ) ),
147
- array( 'code' => 'SHP', 'symbol' => 'SHP', 'name' => __( 'Saint Helena pound', 'woocommerce-jetpack' ) ),
148
- array( 'code' => 'SYP', 'symbol' => 'SYP', 'name' => __( 'Syrian pound', 'woocommerce-jetpack' ) ),
149
- array( 'code' => 'SKK', 'symbol' => 'SKK', 'name' => __( 'Slovak koruna', 'woocommerce-jetpack' ) ),
150
- array( 'code' => 'SLL', 'symbol' => 'SLL', 'name' => __( 'Sierra Leonean leone', 'woocommerce-jetpack' ) ),
151
- array( 'code' => 'SOS', 'symbol' => 'SOS', 'name' => __( 'Somali shilling', 'woocommerce-jetpack' ) ),
152
- array( 'code' => 'SRD', 'symbol' => 'SRD', 'name' => __( 'Surinamese dollar', 'woocommerce-jetpack' ) ),
153
- array( 'code' => 'STD', 'symbol' => 'STD', 'name' => __( 'Sao Tome and Principe dobra', 'woocommerce-jetpack' ) ),
154
- array( 'code' => 'SZL', 'symbol' => 'SZL', 'name' => __( 'Swazi lilangeni', 'woocommerce-jetpack' ) ),
155
- array( 'code' => 'THB', 'symbol' => '&#3647;', 'name' => __( 'Thai Baht', 'woocommerce' ) ),
156
- array( 'code' => 'TJS', 'symbol' => 'TJS', 'name' => __( 'Tajikistani somoni', 'woocommerce-jetpack' ) ),
157
- array( 'code' => 'TMM', 'symbol' => 'TMM', 'name' => __( 'Turkmen manat', 'woocommerce-jetpack' ) ),
158
- array( 'code' => 'TND', 'symbol' => 'TND', 'name' => __( 'Tunisian dinar', 'woocommerce-jetpack' ) ),
159
- array( 'code' => 'TOP', 'symbol' => 'TOP', 'name' => __( 'Paanga', 'woocommerce-jetpack' ) ),
160
- array( 'code' => 'TRY', 'symbol' => '&#8378;', 'name' => __( 'Turkish Lira', 'woocommerce' ) ),
161
- array( 'code' => 'TTD', 'symbol' => 'TTD', 'name' => __( 'Trinidad and Tobago dollar', 'woocommerce-jetpack' ) ),
162
- array( 'code' => 'TWD', 'symbol' => '&#78;&#84;&#36;', 'name' => __( 'Taiwan New Dollars', 'woocommerce' ) ),
163
- array( 'code' => 'TZS', 'symbol' => 'TZS', 'name' => __( 'Tanzanian shilling', 'woocommerce-jetpack' ) ),
164
- array( 'code' => 'UAH', 'symbol' => '&#8372;', 'name' => __( 'Ukrainian Hryvnia', 'woocommerce' ) ),
165
- array( 'code' => 'UGX', 'symbol' => 'UGX', 'name' => __( 'Ugandan shilling', 'woocommerce-jetpack' ) ),
166
- array( 'code' => 'UYU', 'symbol' => 'UYU', 'name' => __( 'Uruguayan peso', 'woocommerce-jetpack' ) ),
167
- array( 'code' => 'USD', 'symbol' => '&#36;', 'name' => __( 'US Dollars', 'woocommerce' ) ),
168
- array( 'code' => 'UZS', 'symbol' => 'UZS', 'name' => __( 'Uzbekistani som', 'woocommerce-jetpack' ) ),
169
- array( 'code' => 'VEF', 'symbol' => 'VEF', 'name' => __( 'Venezuelan bolivar', 'woocommerce-jetpack' ) ),
170
- array( 'code' => 'VND', 'symbol' => '&#8363;', 'name' => __( 'Vietnamese Dong', 'woocommerce' ) ),
171
- array( 'code' => 'VUV', 'symbol' => 'VUV', 'name' => __( 'Vanuatu vatu', 'woocommerce-jetpack' ) ),
172
- array( 'code' => 'WST', 'symbol' => 'WST', 'name' => __( 'Samoan tala', 'woocommerce-jetpack' ) ),
173
- array( 'code' => 'XAF', 'symbol' => 'XAF', 'name' => __( 'Central African CFA franc', 'woocommerce-jetpack' ) ),
174
- array( 'code' => 'XCD', 'symbol' => 'XCD', 'name' => __( 'East Caribbean dollar', 'woocommerce-jetpack' ) ),
175
- array( 'code' => 'XDR', 'symbol' => 'XDR', 'name' => __( 'Special Drawing Rights', 'woocommerce-jetpack' ) ),
176
- array( 'code' => 'XOF', 'symbol' => 'XOF', 'name' => __( 'West African CFA franc', 'woocommerce-jetpack' ) ),
177
- array( 'code' => 'XPF', 'symbol' => 'XPF', 'name' => __( 'CFP franc', 'woocommerce-jetpack' ) ),
178
- array( 'code' => 'ZAR', 'symbol' => '&#82;', 'name' => __( 'South African rand', 'woocommerce' ) ),
179
- array( 'code' => 'ZMK', 'symbol' => 'ZMK', 'name' => __( 'Zambian kwacha', 'woocommerce-jetpack' ) ),
180
- array( 'code' => 'ZWD', 'symbol' => 'ZWD', 'name' => __( 'Zimbabwean dollar', 'woocommerce-jetpack' ) ),
181
-
182
- array( 'code' => 'AUR', 'symbol' => 'AUR', 'name' => __( 'Auroracoin', 'woocommerce-jetpack' ) ),
183
- array( 'code' => 'BCC', 'symbol' => 'BCC', 'name' => __( 'BitConnect', 'woocommerce-jetpack' ) ),
184
- array( 'code' => 'BCH', 'symbol' => 'BCH', 'name' => __( 'Bitcoin Cash', 'woocommerce-jetpack' ) ),
185
- array( 'code' => 'BTC', 'symbol' => 'BTC', 'name' => __( 'Bitcoin', 'woocommerce-jetpack' ) ),
186
- array( 'code' => 'KOI', 'symbol' => 'KOI', 'name' => __( 'Coinye', 'woocommerce-jetpack' ) ),
187
- array( 'code' => 'XDN', 'symbol' => 'XDN', 'name' => __( 'DigitalNote', 'woocommerce-jetpack' ) ),
188
- array( 'code' => 'EMC', 'symbol' => 'EMC', 'name' => __( 'Emercoin', 'woocommerce-jetpack' ) ),
189
- array( 'code' => 'ETC', 'symbol' => 'ETC', 'name' => __( 'Ethereum Classic', 'woocommerce-jetpack' ) ),
190
- array( 'code' => 'ETH', 'symbol' => 'ETH', 'name' => __( 'Ethereum', 'woocommerce-jetpack' ) ),
191
- array( 'code' => 'FMC', 'symbol' => 'FMC', 'name' => __( 'Freemasoncoin', 'woocommerce-jetpack' ) ),
192
- array( 'code' => 'GRC', 'symbol' => 'GRC', 'name' => __( 'Gridcoin', 'woocommerce-jetpack' ) ),
193
- array( 'code' => 'IOT', 'symbol' => 'IOT', 'name' => __( 'IOTA', 'woocommerce-jetpack' ) ),
194
- array( 'code' => 'LTC', 'symbol' => 'LTC', 'name' => __( 'Litecoin', 'woocommerce-jetpack' ) ),
195
- array( 'code' => 'MZC', 'symbol' => 'MZC', 'name' => __( 'MazaCoin', 'woocommerce-jetpack' ) ),
196
- array( 'code' => 'XMR', 'symbol' => 'XMR', 'name' => __( 'Monero', 'woocommerce-jetpack' ) ),
197
- array( 'code' => 'NMC', 'symbol' => 'NMC', 'name' => __( 'Namecoin', 'woocommerce-jetpack' ) ),
198
- array( 'code' => 'XEM', 'symbol' => 'XEM', 'name' => __( 'NEM', 'woocommerce-jetpack' ) ),
199
- array( 'code' => 'NXT', 'symbol' => 'NXT', 'name' => __( 'Nxt', 'woocommerce-jetpack' ) ),
200
- array( 'code' => 'MSC', 'symbol' => 'MSC', 'name' => __( 'Omni', 'woocommerce-jetpack' ) ),
201
- array( 'code' => 'PPC', 'symbol' => 'PPC', 'name' => __( 'Peercoin', 'woocommerce-jetpack' ) ),
202
- array( 'code' => 'POT', 'symbol' => 'POT', 'name' => __( 'PotCoin', 'woocommerce-jetpack' ) ),
203
- array( 'code' => 'XPM', 'symbol' => 'XPM', 'name' => __( 'Primecoin', 'woocommerce-jetpack' ) ),
204
- array( 'code' => 'XRP', 'symbol' => 'XRP', 'name' => __( 'Ripple', 'woocommerce-jetpack' ) ),
205
- array( 'code' => 'SIL', 'symbol' => 'SIL', 'name' => __( 'SixEleven', 'woocommerce-jetpack' ) ),
206
- array( 'code' => 'AMP', 'symbol' => 'AMP', 'name' => __( 'Synereo AMP', 'woocommerce-jetpack' ) ),
207
- array( 'code' => 'TIT', 'symbol' => 'TIT', 'name' => __( 'Titcoin', 'woocommerce-jetpack' ) ),
208
- array( 'code' => 'UBQ', 'symbol' => 'UBQ', 'name' => __( 'Ubiq', 'woocommerce-jetpack' ) ),
209
- array( 'code' => 'VTC', 'symbol' => 'VTC', 'name' => __( 'Vertcoin', 'woocommerce-jetpack' ) ),
210
- array( 'code' => 'ZEC', 'symbol' => 'ZEC', 'name' => __( 'Zcash', 'woocommerce-jetpack' ) ),
211
-
212
- array( 'code' => 'MYC', 'symbol' => 'MYC', 'name' => __( 'myCred', 'woocommerce-jetpack' ) ),
213
- );
214
- }
215
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/functions/wcj-functions-date-time.php CHANGED
@@ -2,13 +2,44 @@
2
  /**
3
  * Booster for WooCommerce - Functions - Date and Time
4
  *
5
- * @version 2.9.1
6
  * @since 2.9.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  if ( ! function_exists( 'wcj_check_single_date' ) ) {
13
  /**
14
  * wcj_check_single_date.
2
  /**
3
  * Booster for WooCommerce - Functions - Date and Time
4
  *
5
+ * @version 3.9.0
6
  * @since 2.9.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
12
+ if ( ! function_exists( 'wcj_get_date_ranges' ) ) {
13
+ /*
14
+ * wcj_get_date_ranges.
15
+ *
16
+ * @version 3.9.0
17
+ * @since 3.9.0
18
+ * @todo maybe we can re-write this in simpler form
19
+ */
20
+ function wcj_get_date_ranges( $start_date, $end_date, $period ) {
21
+ $return = array();
22
+ $_start_date = $start_date;
23
+ $_end_date = date( 'Y-m-d', strtotime( '+' . ( $period - 1 ) . ' days', strtotime( $_start_date ) ) );
24
+ if ( strtotime( $_end_date ) > strtotime( $end_date ) ) {
25
+ $_end_date = $end_date;
26
+ }
27
+ $return[] = array( 'start_date' => $_start_date, 'end_date' => $_end_date );
28
+ while ( strtotime( $_end_date ) < strtotime( $end_date ) ) {
29
+ $_start_date = date( 'Y-m-d', strtotime( '+1 day', strtotime( $_end_date ) ) );
30
+ if ( strtotime( $_start_date ) > strtotime( $end_date ) ) {
31
+ $_start_date = $end_date;
32
+ }
33
+ $_end_date = date( 'Y-m-d', strtotime( '+' . $period . ' days', strtotime( $_end_date ) ) );
34
+ if ( strtotime( $_end_date ) > strtotime( $end_date ) ) {
35
+ $_end_date = $end_date;
36
+ }
37
+ $return[] = array( 'start_date' => $_start_date, 'end_date' => $_end_date );
38
+ }
39
+ return $return;
40
+ }
41
+ }
42
+
43
  if ( ! function_exists( 'wcj_check_single_date' ) ) {
44
  /**
45
  * wcj_check_single_date.
includes/functions/wcj-functions-exchange-rates.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Functions - Exchange Rates
4
  *
5
- * @version 3.6.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -61,19 +61,17 @@ if ( ! function_exists( 'wcj_get_currency_exchange_rate_servers' ) ) {
61
  /**
62
  * wcj_get_currency_exchange_rate_servers.
63
  *
64
- * @version 3.6.0
65
  * @since 2.6.0
66
  */
67
  function wcj_get_currency_exchange_rate_servers() {
68
  return apply_filters( 'wcj_currency_exchange_rates_servers', array(
69
- 'yahoo' => __( 'Yahoo', 'woocommerce-jetpack' ),
70
- 'ecb' => __( 'European Central Bank (ECB)', 'woocommerce-jetpack' ) . ' [' . __( 'recommended', 'woocommerce-jetpack' ) . ']',
71
- 'tcmb' => __( 'TCMB', 'woocommerce-jetpack' ),
72
- 'fixer' => __( 'Fixer.io', 'woocommerce-jetpack' ),
73
- 'coinbase' => __( 'Coinbase', 'woocommerce-jetpack' ),
74
- 'coinmarketcap' => __( 'CoinMarketCap', 'woocommerce-jetpack' ),
75
- 'google' => __( 'Google', 'woocommerce-jetpack' ),
76
- 'boe' => __( 'Bank of England (BOE)', 'woocommerce-jetpack' ),
77
  ) );
78
  }
79
  }
@@ -127,7 +125,7 @@ if ( ! function_exists( 'wcj_get_exchange_rate' ) ) {
127
  /*
128
  * wcj_get_exchange_rate.
129
  *
130
- * @version 3.6.0
131
  * @since 2.6.0
132
  */
133
  function wcj_get_exchange_rate( $currency_from, $currency_to ) {
@@ -141,29 +139,21 @@ if ( ! function_exists( 'wcj_get_exchange_rate' ) ) {
141
  case 'tcmb':
142
  $return = wcj_tcmb_get_exchange_rate( $currency_from, $currency_to );
143
  break;
144
- case 'yahoo':
145
- $return = wcj_yahoo_get_exchange_rate( $currency_from, $currency_to );
146
- break;
147
- case 'fixer':
148
- $return = wcj_fixer_io_get_exchange_rate( $currency_from, $currency_to );
149
- break;
150
  case 'coinbase':
151
  $return = wcj_coinbase_get_exchange_rate( $currency_from, $currency_to );
152
  break;
153
  case 'coinmarketcap':
154
  $return = wcj_coinmarketcap_get_exchange_rate( $currency_from, $currency_to );
155
  break;
156
- case 'google':
157
- $return = wcj_google_get_exchange_rate( $currency_from, $currency_to );
158
- break;
159
  case 'boe':
160
  $return = wcj_boe_get_exchange_rate( $currency_from, $currency_to );
161
  break;
162
- case 'ecb':
 
 
 
163
  $return = wcj_ecb_get_exchange_rate( $currency_from, $currency_to );
164
  break;
165
- default:
166
- $return = false;
167
  }
168
  $return = apply_filters( 'wcj_currency_exchange_rate', $return, $exchange_rates_server, $currency_from, $currency_to );
169
  return ( 'yes' === $calculate_by_invert ) ? round( ( 1 / $return ), 6 ) : $return;
@@ -193,6 +183,24 @@ if ( ! function_exists( 'wcj_get_currency_exchange_rates_url_response' ) ) {
193
  }
194
  }
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  if ( ! function_exists( 'wcj_boe_get_exchange_rate_gbp' ) ) {
197
  /*
198
  * wcj_boe_get_exchange_rate_gbp.
@@ -278,31 +286,6 @@ if ( ! function_exists( 'wcj_boe_get_exchange_rate' ) ) {
278
  }
279
  }
280
 
281
- if ( ! function_exists( 'wcj_google_get_exchange_rate' ) ) {
282
- /*
283
- * wcj_google_get_exchange_rate.
284
- *
285
- * @version 3.5.0
286
- * @since 3.5.0
287
- * @see https://gist.github.com/daveismyname/8067095
288
- */
289
- function wcj_google_get_exchange_rate( $currency_from, $currency_to ) {
290
- $amount = 1;
291
- $url = 'https://finance.google.com/finance/converter?a=' . $amount . '&from=' . $currency_from . '&to=' . $currency_to;
292
- if ( false != ( $response = wcj_get_currency_exchange_rates_url_response( $url, false ) ) ) {
293
- preg_match( "/<span class=bld>(.*)<\/span>/", $response, $converted );
294
- if ( isset( $converted[1] ) ) {
295
- if ( $converted = preg_replace( "/[^0-9.]/", "", $converted[1] ) ) {
296
- if ( $return = round( $converted, 6 ) ) {
297
- return $return;
298
- }
299
- }
300
- }
301
- }
302
- return false;
303
- }
304
- }
305
-
306
  if ( ! function_exists( 'wcj_coinmarketcap_get_exchange_rate_specific' ) ) {
307
  /*
308
  * wcj_coinmarketcap_get_exchange_rate_specific.
@@ -500,93 +483,30 @@ if ( ! function_exists( 'wcj_tcmb_get_exchange_rate' ) ) {
500
  }
501
  }
502
 
503
- if ( ! function_exists( 'wcj_yahoo_get_exchange_rate' ) ) {
504
- /*
505
- * wcj_yahoo_get_exchange_rate.
506
- *
507
- * @version 3.2.4
508
- * @return float rate on success, else 0
509
- */
510
- function wcj_yahoo_get_exchange_rate( $currency_from, $currency_to ) {
511
- $response = wcj_get_currency_exchange_rates_url_response( "https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json" );
512
- if ( ! isset( $response->list->resources ) ) {
513
- return false;
514
- }
515
- $currencies = array(
516
- 'currency_from' => array(
517
- 'name' => $currency_from . '=X',
518
- 'usd_rate' => false,
519
- ),
520
- 'currency_to' => array(
521
- 'name' => $currency_to . '=X',
522
- 'usd_rate' => false,
523
- ),
524
- );
525
- foreach ( $currencies as &$currency ) {
526
- foreach ( $response->list->resources as $resource ) {
527
- if ( isset( $resource->resource->fields->symbol ) && $currency['name'] === $resource->resource->fields->symbol ) {
528
- if ( ! isset( $resource->resource->fields->price ) ) {
529
- return false;
530
- }
531
- $currency['usd_rate'] = $resource->resource->fields->price;
532
- break;
533
- }
534
- }
535
- }
536
- return ( false == $currencies['currency_to']['usd_rate'] || false == $currencies['currency_from']['usd_rate'] ? false :
537
- round( ( $currencies['currency_to']['usd_rate'] / $currencies['currency_from']['usd_rate'] ), 6 ) );
538
- }
539
- }
540
-
541
- if ( ! function_exists( 'wcj_fixer_io_get_exchange_rate' ) ) {
542
- /*
543
- * wcj_fixer_io_get_exchange_rate.
544
- *
545
- * @version 3.2.2
546
- * @since 3.2.2
547
- * @return false or rate
548
- */
549
- function wcj_fixer_io_get_exchange_rate( $currency_from, $currency_to ) {
550
- return wcj_fixer_io_get_exchange_rate_by_date( $currency_from, $currency_to, 'latest' );
551
- }
552
- }
553
-
554
- if ( ! function_exists( 'wcj_fixer_io_get_exchange_rate_by_date' ) ) {
555
- /*
556
- * wcj_fixer_io_get_exchange_rate_by_date.
557
- *
558
- * @version 3.2.4
559
- * @since 3.2.2
560
- * @return false or rate
561
- */
562
- function wcj_fixer_io_get_exchange_rate_by_date( $currency_from, $currency_to, $date ) {
563
- $response = wcj_get_currency_exchange_rates_url_response( 'https://api.fixer.io/' . $date . '?base=' . $currency_from . '&symbols=' . $currency_to );
564
- return ( isset( $response->rates->{$currency_to} ) ? $response->rates->{$currency_to} : false );
565
- }
566
- }
567
-
568
- if ( ! function_exists( 'wcj_fixer_io_get_exchange_rate_average' ) ) {
569
  /*
570
- * wcj_fixer_io_get_exchange_rate_average.
571
  *
572
- * @version 3.2.2
573
- * @since 3.2.2
574
  * @return false or rate
575
- * @todo customizable '+1 day' (could be '+1 week' etc.)
576
  */
577
- function wcj_fixer_io_get_exchange_rate_average( $currency_from, $currency_to, $start_date, $end_date ) {
578
- $average_rate = 0;
579
- $average_rate_counter = 0;
580
- $start_date = new DateTime( $start_date );
581
- $end_date = new DateTime( $end_date );
582
- for ( $i = $start_date; $i <= $end_date; $i->modify( '+1 day' ) ) {
583
- $date = $i->format( "Y-m-d" );
584
- $rate = wcj_fixer_io_get_exchange_rate_by_date( $currency_from, $currency_to, $date );
585
- if ( false != $rate ) {
586
- $average_rate += $rate;
587
- $average_rate_counter++;
 
 
 
588
  }
589
  }
590
- return ( 0 == $average_rate || 0 == $average_rate_counter ? false : round( ( $average_rate / $average_rate_counter ), 6 ) );
591
  }
592
  }
2
  /**
3
  * Booster for WooCommerce - Functions - Exchange Rates
4
  *
5
+ * @version 3.9.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
61
  /**
62
  * wcj_get_currency_exchange_rate_servers.
63
  *
64
+ * @version 3.9.0
65
  * @since 2.6.0
66
  */
67
  function wcj_get_currency_exchange_rate_servers() {
68
  return apply_filters( 'wcj_currency_exchange_rates_servers', array(
69
+ 'ecb' => __( 'European Central Bank (ECB)', 'woocommerce-jetpack' ) . ' [' . __( 'recommended', 'woocommerce-jetpack' ) . ']',
70
+ 'currencyconverterapi' => __( 'The Free Currency Converter API', 'woocommerce-jetpack' ),
71
+ 'boe' => __( 'Bank of England (BOE)', 'woocommerce-jetpack' ),
72
+ 'tcmb' => __( 'TCMB', 'woocommerce-jetpack' ),
73
+ 'coinbase' => __( 'Coinbase', 'woocommerce-jetpack' ),
74
+ 'coinmarketcap' => __( 'CoinMarketCap', 'woocommerce-jetpack' ),
 
 
75
  ) );
76
  }
77
  }
125
  /*
126
  * wcj_get_exchange_rate.
127
  *
128
+ * @version 3.9.0
129
  * @since 2.6.0
130
  */
131
  function wcj_get_exchange_rate( $currency_from, $currency_to ) {
139
  case 'tcmb':
140
  $return = wcj_tcmb_get_exchange_rate( $currency_from, $currency_to );
141
  break;
 
 
 
 
 
 
142
  case 'coinbase':
143
  $return = wcj_coinbase_get_exchange_rate( $currency_from, $currency_to );
144
  break;
145
  case 'coinmarketcap':
146
  $return = wcj_coinmarketcap_get_exchange_rate( $currency_from, $currency_to );
147
  break;
 
 
 
148
  case 'boe':
149
  $return = wcj_boe_get_exchange_rate( $currency_from, $currency_to );
150
  break;
151
+ case 'currencyconverterapi':
152
+ $return = wcj_currencyconverterapi_get_exchange_rate( $currency_from, $currency_to );
153
+ break;
154
+ default: // 'ecb':
155
  $return = wcj_ecb_get_exchange_rate( $currency_from, $currency_to );
156
  break;
 
 
157
  }
158
  $return = apply_filters( 'wcj_currency_exchange_rate', $return, $exchange_rates_server, $currency_from, $currency_to );
159
  return ( 'yes' === $calculate_by_invert ) ? round( ( 1 / $return ), 6 ) : $return;
183
  }
184
  }
185
 
186
+ if ( ! function_exists( 'wcj_currencyconverterapi_get_exchange_rate' ) ) {
187
+ /*
188
+ * wcj_currencyconverterapi_get_exchange_rate.
189
+ *
190
+ * @version 3.9.0
191
+ * @since 3.9.0
192
+ */
193
+ function wcj_currencyconverterapi_get_exchange_rate( $currency_from, $currency_to ) {
194
+ $pair = $currency_from . '_' . $currency_to;
195
+ $url = 'https://free.currencyconverterapi.com/api/v5/convert?q=' . $pair . '&compact=y';
196
+ $response = wcj_get_currency_exchange_rates_url_response( $url );
197
+ if ( $response ) {
198
+ return ( ! empty( $response->{$pair}->val ) ? $response->{$pair}->val : false );
199
+ }
200
+ return false;
201
+ }
202
+ }
203
+
204
  if ( ! function_exists( 'wcj_boe_get_exchange_rate_gbp' ) ) {
205
  /*
206
  * wcj_boe_get_exchange_rate_gbp.
286
  }
287
  }
288
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
289
  if ( ! function_exists( 'wcj_coinmarketcap_get_exchange_rate_specific' ) ) {
290
  /*
291
  * wcj_coinmarketcap_get_exchange_rate_specific.
483
  }
484
  }
485
 
486
+ if ( ! function_exists( 'wcj_currencyconverterapi_io_get_exchange_rate_average' ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
487
  /*
488
+ * wcj_currencyconverterapi_io_get_exchange_rate_average.
489
  *
490
+ * @version 3.9.0
491
+ * @since 3.9.0
492
  * @return false or rate
 
493
  */
494
+ function wcj_currencyconverterapi_io_get_exchange_rate_average( $currency_from, $currency_to, $start_date, $end_date ) {
495
+ $pair = $currency_from . '_' . $currency_to;
496
+ $average_rate = 0;
497
+ $average_rate_counter = 0;
498
+ $date_ranges = wcj_get_date_ranges( $start_date, $end_date, 8 );
499
+ foreach ( $date_ranges as $range ) {
500
+ $url = 'https://free.currencyconverterapi.com/api/v6/convert?q=' . $pair . '&compact=ultra&date=' . $range['start_date'] . '&endDate=' . $range['end_date'];
501
+ $response = wcj_get_currency_exchange_rates_url_response( $url );
502
+ if ( $response && ! empty( $response->{$pair} ) ) {
503
+ $response = ( array ) $response->{$pair};
504
+ if ( 0 != ( $response_sum = array_sum( $response ) ) ) {
505
+ $average_rate += $response_sum;
506
+ $average_rate_counter += count( $response );
507
+ }
508
  }
509
  }
510
+ return ( 0 != $average_rate_counter ? round( ( $average_rate / $average_rate_counter ), 6 ) : false );
511
  }
512
  }
includes/functions/wcj-functions-general.php CHANGED
@@ -2,13 +2,25 @@
2
  /**
3
  * Booster for WooCommerce - Functions - General
4
  *
5
- * @version 3.7.0
6
  * @author Algoritmika Ltd.
7
  * @todo add `wcj_add_actions()` and `wcj_add_filters()`
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  if ( ! function_exists( 'wcj_get_wpml_default_language' ) ) {
13
  /**
14
  * wcj_get_wpml_default_language.
@@ -323,11 +335,13 @@ if ( ! function_exists( 'wcj_wrap_in_wc_email_template' ) ) {
323
  /**
324
  * wcj_wrap_in_wc_email_template.
325
  *
326
- * @version 3.1.0
327
  * @since 3.1.0
328
  */
329
  function wcj_wrap_in_wc_email_template( $content, $email_heading = '' ) {
330
- return wcj_get_wc_email_part( 'header', $email_heading ) . $content . wcj_get_wc_email_part( 'footer' );
 
 
331
  }
332
  }
333
 
@@ -438,11 +452,11 @@ if ( ! function_exists( 'wcj_is_bot' ) ) {
438
  /**
439
  * wcj_is_bot.
440
  *
441
- * @version 2.5.7
442
  * @since 2.5.6
443
  */
444
  function wcj_is_bot() {
445
- return ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/Google-Structured-Data-Testing-Tool|bot|crawl|slurp|spider/i', $_SERVER['HTTP_USER_AGENT'] ) ) ? true : false;
446
  }
447
  }
448
 
@@ -702,23 +716,23 @@ if ( ! function_exists( 'wcj_get_wcj_uploads_dir' ) ) {
702
  /**
703
  * wcj_get_wcj_uploads_dir.
704
  *
705
- * @version 2.9.0
706
  * @todo no need to `mkdir` after `wcj_get_wcj_uploads_dir`
707
  */
708
- function wcj_get_wcj_uploads_dir( $subdir = '' ) {
709
  $upload_dir = wp_upload_dir();
710
  $upload_dir = $upload_dir['basedir'];
711
  $upload_dir = $upload_dir . '/woocommerce_uploads';
712
- if ( ! file_exists( $upload_dir ) ) {
713
  mkdir( $upload_dir, 0755, true );
714
  }
715
  $upload_dir = $upload_dir . '/wcj_uploads';
716
- if ( ! file_exists( $upload_dir ) ) {
717
  mkdir( $upload_dir, 0755, true );
718
  }
719
  if ( '' != $subdir ) {
720
  $upload_dir = $upload_dir . '/' . $subdir;
721
- if ( ! file_exists( $upload_dir ) ) {
722
  mkdir( $upload_dir, 0755, true );
723
  }
724
  }
2
  /**
3
  * Booster for WooCommerce - Functions - General
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  * @todo add `wcj_add_actions()` and `wcj_add_filters()`
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
12
+ if ( ! function_exists( 'wcj_help_tip' ) ) {
13
+ /**
14
+ * wcj_help_tip.
15
+ *
16
+ * @version 3.9.0
17
+ * @since 3.9.0
18
+ */
19
+ function wcj_help_tip( $text ) {
20
+ return ' <img style="display:inline;" class="wcj-question-icon" src="' . wcj_plugin_url() . '/assets/images/question-icon.png' . '" title="' . esc_html( $text ) . '">';
21
+ }
22
+ }
23
+
24
  if ( ! function_exists( 'wcj_get_wpml_default_language' ) ) {
25
  /**
26
  * wcj_get_wpml_default_language.
335
  /**
336
  * wcj_wrap_in_wc_email_template.
337
  *
338
+ * @version 3.9.0
339
  * @since 3.1.0
340
  */
341
  function wcj_wrap_in_wc_email_template( $content, $email_heading = '' ) {
342
+ return wcj_get_wc_email_part( 'header', $email_heading ) .
343
+ $content .
344
+ str_replace( '{site_title}', wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ), wcj_get_wc_email_part( 'footer' ) );
345
  }
346
  }
347
 
452
  /**
453
  * wcj_is_bot.
454
  *
455
+ * @version 3.9.0
456
  * @since 2.5.6
457
  */
458
  function wcj_is_bot() {
459
+ return ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/Google-Structured-Data-Testing-Tool|bot|crawl|slurp|spider/i', $_SERVER['HTTP_USER_AGENT'] ) );
460
  }
461
  }
462
 
716
  /**
717
  * wcj_get_wcj_uploads_dir.
718
  *
719
+ * @version 3.9.0
720
  * @todo no need to `mkdir` after `wcj_get_wcj_uploads_dir`
721
  */
722
+ function wcj_get_wcj_uploads_dir( $subdir = '', $do_mkdir = true ) {
723
  $upload_dir = wp_upload_dir();
724
  $upload_dir = $upload_dir['basedir'];
725
  $upload_dir = $upload_dir . '/woocommerce_uploads';
726
+ if ( $do_mkdir && ! file_exists( $upload_dir ) ) {
727
  mkdir( $upload_dir, 0755, true );
728
  }
729
  $upload_dir = $upload_dir . '/wcj_uploads';
730
+ if ( $do_mkdir && ! file_exists( $upload_dir ) ) {
731
  mkdir( $upload_dir, 0755, true );
732
  }
733
  if ( '' != $subdir ) {
734
  $upload_dir = $upload_dir . '/' . $subdir;
735
+ if ( $do_mkdir && ! file_exists( $upload_dir ) ) {
736
  mkdir( $upload_dir, 0755, true );
737
  }
738
  }
includes/functions/wcj-functions-price-currency.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Functions - Price and Currency
4
  *
5
- * @version 3.6.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -26,15 +26,19 @@ if ( ! function_exists( 'wcj_get_module_price_hooks_priority' ) ) {
26
  /**
27
  * wcj_get_module_price_hooks_priority.
28
  *
29
- * @version 3.5.1
30
  * @since 3.2.2
31
  * @todo add all corresponding modules
32
  */
33
  function wcj_get_module_price_hooks_priority( $module_id ) {
34
  $modules_priorities = array(
35
- 'price_by_country' => PHP_INT_MAX - 1,
36
- 'multicurrency' => PHP_INT_MAX - 1,
37
- 'price_by_user_role' => PHP_INT_MAX - 200,
 
 
 
 
38
  );
39
  return ( 0 != ( $priority = get_option( 'wcj_' . $module_id . '_advanced_price_hooks_priority', 0 ) ) ? $priority : $modules_priorities[ $module_id ] );
40
  }
@@ -493,79 +497,19 @@ if ( ! function_exists( 'wc_get_product_purchase_price' ) ) {
493
  }
494
  }
495
 
496
- if ( ! function_exists( 'wcj_get_currencies_names_and_symbols' ) ) {
497
  /**
498
- * wcj_get_currencies_names_and_symbols.
499
  *
500
- * @version 2.4.4
 
501
  */
502
- function wcj_get_currencies_names_and_symbols( $result = 'names_and_symbols', $scope = 'all' ) {
503
- $currency_names_and_symbols = array();
504
- /* if ( ! wcj_is_module_enabled( 'currency' ) ) {
505
- return $currency_names_and_symbols;
506
- } */
507
- if ( 'all' === $scope || 'no_custom' === $scope ) {
508
- $currencies = wcj_get_currencies_array();
509
- foreach( $currencies as $data ) {
510
- switch ( $result ) {
511
- case 'names_and_symbols':
512
- $currency_names_and_symbols[ $data['code'] ] = $data['name'] . ' (' . $data['symbol'] . ')';
513
- break;
514
- case 'names':
515
- $currency_names_and_symbols[ $data['code'] ] = $data['name'];
516
- break;
517
- case 'symbols':
518
- $currency_names_and_symbols[ $data['code'] ] = $data['symbol'];
519
- break;
520
- }
521
- }
522
- }
523
- if ( wcj_is_module_enabled( 'currency' ) && ( 'all' === $scope || 'custom_only' === $scope ) ) {
524
- // Custom currencies
525
- $custom_currency_total_number = apply_filters( 'booster_option', 1, get_option( 'wcj_currency_custom_currency_total_number', 1 ) );
526
- for ( $i = 1; $i <= $custom_currency_total_number; $i++) {
527
- $custom_currency_code = get_option( 'wcj_currency_custom_currency_code_' . $i );
528
- $custom_currency_name = get_option( 'wcj_currency_custom_currency_name_' . $i );
529
- $custom_currency_symbol = get_option( 'wcj_currency_custom_currency_symbol_' . $i );
530
- if ( '' != $custom_currency_code && '' != $custom_currency_name /* && '' != $custom_currency_symbol */ ) {
531
- switch ( $result ) {
532
- case 'names_and_symbols':
533
- $currency_names_and_symbols[ $custom_currency_code ] = $custom_currency_name . ' (' . $custom_currency_symbol . ')';
534
- break;
535
- case 'names':
536
- $currency_names_and_symbols[ $custom_currency_code ] = $custom_currency_name;
537
- break;
538
- case 'symbols':
539
- $currency_names_and_symbols[ $custom_currency_code ] = $custom_currency_symbol;
540
- break;
541
- }
542
- }
543
- }
544
- }
545
- return $currency_names_and_symbols;
546
- }
547
- }
548
-
549
- if ( ! function_exists( 'wcj_get_currency_symbol' ) ) {
550
- /**
551
- * wcj_get_currency_symbol.
552
- *
553
- * @version 2.4.4
554
- */
555
- function wcj_get_currency_symbol( $currency_code ) {
556
- $return = '';
557
- $currencies = wcj_get_currencies_names_and_symbols( 'symbols', 'no_custom' );
558
- if ( isset( $currencies[ $currency_code ] ) ) {
559
- if ( wcj_is_module_enabled( 'currency' ) ) {
560
- $return = apply_filters( 'booster_option', $currencies[ $currency_code ], get_option( 'wcj_currency_' . $currency_code, $currencies[ $currency_code ] ) );
561
- } else {
562
- $return = $currencies[ $currency_code ];
563
- }
564
- } else {
565
- $currencies = wcj_get_currencies_names_and_symbols( 'symbols', 'custom_only' );
566
- $return = isset( $currencies[ $currency_code ] ) ? $currencies[ $currency_code ] : '';
567
  }
568
- return ( '' != $return ) ? $return : false;
569
  }
570
  }
571
 
2
  /**
3
  * Booster for WooCommerce - Functions - Price and Currency
4
  *
5
+ * @version 3.9.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
26
  /**
27
  * wcj_get_module_price_hooks_priority.
28
  *
29
+ * @version 3.9.0
30
  * @since 3.2.2
31
  * @todo add all corresponding modules
32
  */
33
  function wcj_get_module_price_hooks_priority( $module_id ) {
34
  $modules_priorities = array(
35
+ 'price_by_user_role' => PHP_INT_MAX - 200,
36
+ 'product_addons' => PHP_INT_MAX - 100,
37
+ 'product_price_by_formula' => PHP_INT_MAX - 100,
38
+ 'multicurrency_base_price' => PHP_INT_MAX - 10,
39
+ 'multicurrency' => PHP_INT_MAX - 1,
40
+ 'price_by_country' => PHP_INT_MAX - 1,
41
+ 'global_discount' => PHP_INT_MAX,
42
  );
43
  return ( 0 != ( $priority = get_option( 'wcj_' . $module_id . '_advanced_price_hooks_priority', 0 ) ) ? $priority : $modules_priorities[ $module_id ] );
44
  }
497
  }
498
  }
499
 
500
+ if ( ! function_exists( 'wcj_get_woocommerce_currencies_and_symbols' ) ) {
501
  /**
502
+ * wcj_get_woocommerce_currencies_and_symbols.
503
  *
504
+ * @version 3.9.0
505
+ * @since 3.9.0
506
  */
507
+ function wcj_get_woocommerce_currencies_and_symbols() {
508
+ $currencies_and_symbols = get_woocommerce_currencies();
509
+ foreach ( $currencies_and_symbols as $code => $name ) {
510
+ $currencies_and_symbols[ $code ] = $name . ' (' . get_woocommerce_currency_symbol( $code ) . ')';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
  }
512
+ return $currencies_and_symbols;
513
  }
514
  }
515
 
includes/functions/wcj-functions-users.php CHANGED
@@ -2,13 +2,28 @@
2
  /**
3
  * Booster for WooCommerce - Functions - Users
4
  *
5
- * @version 3.7.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  if ( ! function_exists( 'wcj_get_current_user_id' ) ) {
13
  /**
14
  * wcj_get_current_user_id.
2
  /**
3
  * Booster for WooCommerce - Functions - Users
4
  *
5
+ * @version 3.9.0
6
  * @since 2.7.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
12
+ if ( ! function_exists( 'wcj_current_user_can' ) ) {
13
+ /**
14
+ * wcj_current_user_can.
15
+ *
16
+ * @version 3.9.0
17
+ * @since 3.9.0
18
+ */
19
+ function wcj_current_user_can( $capability ) {
20
+ if ( ! function_exists( 'wp_get_current_user' ) ) {
21
+ require_once( ABSPATH . 'wp-includes/pluggable.php' );
22
+ }
23
+ return current_user_can( $capability );
24
+ }
25
+ }
26
+
27
  if ( ! function_exists( 'wcj_get_current_user_id' ) ) {
28
  /**
29
  * wcj_get_current_user_id.
includes/gateways/class-wc-gateway-wcj-custom.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Custom Payment Gateway
4
  *
5
- * @version 2.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -17,7 +17,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
17
  /**
18
  * WC_Gateway_WCJ_Custom_Template class.
19
  *
20
- * @version 2.9.0
21
  */
22
  class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
23
 
@@ -346,7 +346,8 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
346
  /**
347
  * init.
348
  *
349
- * @version 2.5.2
 
350
  */
351
  function init( $id_count ) {
352
  $this->id = ( 1 === $id_count ) ? 'jetpack_custom_gateway' : 'jetpack_custom_gateway_' . $id_count;
@@ -365,7 +366,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
365
  $this->icon = $this->get_option( 'icon', '' );//apply_filters( 'woocommerce_wcj_custom_icon', $this->get_option( 'icon', '' ) );
366
  $this->min_amount = $this->get_option( 'min_amount', 0 );
367
  $this->enable_for_methods = $this->get_option( 'enable_for_methods', array() );
368
- $this->enable_for_virtual = $this->get_option( 'enable_for_virtual', 'yes' ) === 'yes' ? true : false;
369
  $this->default_order_status = $this->get_option( 'default_order_status', 'pending' );
370
  $this->send_email_to_admin = $this->get_option( 'send_email_to_admin', 'no' );
371
  $this->send_email_to_customer = $this->get_option( 'send_email_to_customer', 'no' );
2
  /**
3
  * Booster for WooCommerce - Custom Payment Gateway
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
17
  /**
18
  * WC_Gateway_WCJ_Custom_Template class.
19
  *
20
+ * @version 3.9.0
21
  */
22
  class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
23
 
346
  /**
347
  * init.
348
  *
349
+ * @version 3.9.0
350
+ * @todo clean up
351
  */
352
  function init( $id_count ) {
353
  $this->id = ( 1 === $id_count ) ? 'jetpack_custom_gateway' : 'jetpack_custom_gateway_' . $id_count;
366
  $this->icon = $this->get_option( 'icon', '' );//apply_filters( 'woocommerce_wcj_custom_icon', $this->get_option( 'icon', '' ) );
367
  $this->min_amount = $this->get_option( 'min_amount', 0 );
368
  $this->enable_for_methods = $this->get_option( 'enable_for_methods', array() );
369
+ $this->enable_for_virtual = $this->get_option( 'enable_for_virtual', 'yes' ) === 'yes';
370
  $this->default_order_status = $this->get_option( 'default_order_status', 'pending' );
371
  $this->send_email_to_admin = $this->get_option( 'send_email_to_admin', 'no' );
372
  $this->send_email_to_customer = $this->get_option( 'send_email_to_customer', 'no' );
includes/js/wcj-checkout.js CHANGED
@@ -1,6 +1,7 @@
1
  /*
2
  * wcj-checkout.js
3
  */
 
4
  jQuery( function( $ ) {
5
  // Define that JavaScript code should be executed in "strict mode"
6
  "use strict";
@@ -8,4 +9,4 @@ jQuery( function( $ ) {
8
  $('body').on('change', 'input[name="payment_method"]', function() {
9
  $('body').trigger('update_checkout');
10
  });
11
- });
1
  /*
2
  * wcj-checkout.js
3
  */
4
+
5
  jQuery( function( $ ) {
6
  // Define that JavaScript code should be executed in "strict mode"
7
  "use strict";
9
  $('body').on('change', 'input[name="payment_method"]', function() {
10
  $('body').trigger('update_checkout');
11
  });
12
+ });
includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - PDF Invoicing - Display
4
  *
5
- * @version 3.6.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -281,7 +281,7 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
281
  /**
282
  * create_invoices_meta_box.
283
  *
284
- * @version 3.6.0
285
  * @since 2.8.0
286
  */
287
  function create_invoices_meta_box() {
@@ -294,6 +294,7 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
294
  foreach ( $invoice_types as $invoice_type ) {
295
  $table_data = array();
296
  $the_number = '';
 
297
  if ( wcj_is_invoice_created( $order_id, $invoice_type['id'] ) ) {
298
  // "Document (View)" link
299
  $query_args = array( 'order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'], 'get_invoice' => '1', );
@@ -306,23 +307,27 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
306
  $the_name = __( 'View', 'woocommerce-jetpack' );
307
  $the_invoice = wcj_get_invoice( $order_id, $invoice_type['id'] );
308
  $the_number = ' [#' . $the_invoice->get_invoice_number() . ']';
 
309
  $view_link = '<a' . $target . ' href="' . $the_url . '">' . $the_name . '</a>';
310
  // "Delete" link
311
  $query_args = array( 'delete_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
312
  $the_url = add_query_arg( $query_args, remove_query_arg( 'create_invoice_for_order_id' ) );
313
  $the_name = __( 'Delete', 'woocommerce-jetpack' );
314
  $delete_link = '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>';
315
- // Numbering
 
316
  if ( 'yes' === get_option( 'wcj_invoicing_add_order_meta_box_numbering', 'yes' ) ) {
317
  $number_option = 'wcj_invoicing_' . $invoice_type['id'] . '_number_id';
318
- $number_input = '<input style="width:100%;" type="number"' .
 
 
319
  ' id="' . $number_option . '" name="' . $number_option . '" value="' . get_post_meta( $order_id, '_' . $number_option, true ) . '">' .
 
 
320
  '<input type="hidden" name="woojetpack_pdf_invoicing_save_post" value="woojetpack_pdf_invoicing_save_post">';
321
- } else {
322
- $number_input = '';
323
  }
324
  // Actions
325
- $actions = array( $view_link . ' | ' . $delete_link . '<br>' . $number_input );
326
  } else {
327
  // "Create" link
328
  $query_args = array( 'create_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
@@ -336,7 +341,7 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
336
  $maybe_toolptip = wc_help_tip( __( 'In case of partial refund, you need to reload the page to see created document in this meta box.', 'woocommerce-jetpack' ), true );
337
  }
338
  $table_data[] = array( '<span class="dashicons dashicons-media-default" style="color:' . $invoice_type['color'] . ';"></span>' . ' ' .
339
- $invoice_type['title'] . $the_number . $maybe_toolptip );
340
  $table_data[] = $actions;
341
  echo '<p>' . wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) ) . '</p>';
342
  }
2
  /**
3
  * Booster for WooCommerce - PDF Invoicing - Display
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
281
  /**
282
  * create_invoices_meta_box.
283
  *
284
+ * @version 3.9.0
285
  * @since 2.8.0
286
  */
287
  function create_invoices_meta_box() {
294
  foreach ( $invoice_types as $invoice_type ) {
295
  $table_data = array();
296
  $the_number = '';
297
+ $the_date = '';
298
  if ( wcj_is_invoice_created( $order_id, $invoice_type['id'] ) ) {
299
  // "Document (View)" link
300
  $query_args = array( 'order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'], 'get_invoice' => '1', );
307
  $the_name = __( 'View', 'woocommerce-jetpack' );
308
  $the_invoice = wcj_get_invoice( $order_id, $invoice_type['id'] );
309
  $the_number = ' [#' . $the_invoice->get_invoice_number() . ']';
310
+ $the_date = '<span style="font-size:x-small;"> (' . date( 'Y-m-d', $the_invoice->get_invoice_date() ) . ')</span>';
311
  $view_link = '<a' . $target . ' href="' . $the_url . '">' . $the_name . '</a>';
312
  // "Delete" link
313
  $query_args = array( 'delete_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
314
  $the_url = add_query_arg( $query_args, remove_query_arg( 'create_invoice_for_order_id' ) );
315
  $the_name = __( 'Delete', 'woocommerce-jetpack' );
316
  $delete_link = '<a class="wcj_need_confirmation" href="' . $the_url . '">' . $the_name . '</a>';
317
+ // Numbering & date
318
+ $number_input = '';
319
  if ( 'yes' === get_option( 'wcj_invoicing_add_order_meta_box_numbering', 'yes' ) ) {
320
  $number_option = 'wcj_invoicing_' . $invoice_type['id'] . '_number_id';
321
+ $date_option = 'wcj_invoicing_' . $invoice_type['id'] . '_date';
322
+ $number_input = '<br>' .
323
+ '<input style="width:100%;" type="number"' .
324
  ' id="' . $number_option . '" name="' . $number_option . '" value="' . get_post_meta( $order_id, '_' . $number_option, true ) . '">' .
325
+ '<input style="width:100%;" type="text"' .
326
+ ' id="' . $date_option . '" name="' . $date_option . '" value="' . date( 'Y-m-d H:i:s', get_post_meta( $order_id, '_' . $date_option, true ) ) . '">' .
327
  '<input type="hidden" name="woojetpack_pdf_invoicing_save_post" value="woojetpack_pdf_invoicing_save_post">';
 
 
328
  }
329
  // Actions
330
+ $actions = array( $view_link . ' | ' . $delete_link . $number_input );
331
  } else {
332
  // "Create" link
333
  $query_args = array( 'create_invoice_for_order_id' => $order_id, 'invoice_type_id' => $invoice_type['id'] );
341
  $maybe_toolptip = wc_help_tip( __( 'In case of partial refund, you need to reload the page to see created document in this meta box.', 'woocommerce-jetpack' ), true );
342
  }
343
  $table_data[] = array( '<span class="dashicons dashicons-media-default" style="color:' . $invoice_type['color'] . ';"></span>' . ' ' .
344
+ $invoice_type['title'] . $the_number . $the_date . $maybe_toolptip );
345
  $table_data[] = $actions;
346
  echo '<p>' . wcj_get_table_html( $table_data, array( 'table_class' => 'widefat striped' ) ) . '</p>';
347
  }
includes/price-by-country/class-wcj-price-by-country-core.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Price by Country - Core
4
  *
5
- * @version 3.8.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -70,7 +70,7 @@ class WCJ_Price_by_Country_Core {
70
  /**
71
  * add_hooks.
72
  *
73
- * @version 3.5.1
74
  */
75
  function add_hooks() {
76
 
@@ -85,8 +85,7 @@ class WCJ_Price_by_Country_Core {
85
  wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
86
 
87
  // Currency hooks
88
- add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol' ), $this->price_hooks_priority, 2 );
89
- add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), $this->price_hooks_priority, 1 );
90
 
91
  // Price Filter Widget
92
  if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
@@ -300,19 +299,6 @@ class WCJ_Price_by_Country_Core {
300
  return null;
301
  }
302
 
303
- /**
304
- * change_currency_symbol.
305
- */
306
- function change_currency_symbol( $currency_symbol, $currency ) {
307
- if ( null != ( $group_id = $this->get_customer_country_group_id() ) ) {
308
- $country_currency_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $group_id );
309
- if ( '' != $country_currency_code ) {
310
- return wcj_get_currency_symbol( $country_currency_code );
311
- }
312
- }
313
- return $currency_symbol;
314
- }
315
-
316
  /**
317
  * change_currency_code.
318
  */
2
  /**
3
  * Booster for WooCommerce - Price by Country - Core
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
70
  /**
71
  * add_hooks.
72
  *
73
+ * @version 3.9.0
74
  */
75
  function add_hooks() {
76
 
85
  wcj_add_change_price_hooks( $this, $this->price_hooks_priority );
86
 
87
  // Currency hooks
88
+ add_filter( 'woocommerce_currency', array( $this, 'change_currency_code' ), $this->price_hooks_priority, 1 );
 
89
 
90
  // Price Filter Widget
91
  if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
299
  return null;
300
  }
301
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  /**
303
  * change_currency_code.
304
  */
includes/price-by-country/class-wcj-price-by-country-group-generator.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Booster for WooCommerce - Price By Country - Group Generator
4
  *
5
- * @version 2.5.0
6
- * @author Algoritmika Ltd.
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
@@ -15,41 +15,44 @@ class WCJ_Price_By_Country_Group_Generator {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 2.3.9
19
  */
20
  function __construct() {
21
  require_once( 'wcj-country-currency.php' );
22
- add_action( 'woocommerce_init', array( $this, 'create_all_countries_groups' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
 
25
  /**
26
  * get_currency_countries.
27
  *
28
- * @version 2.3.9
29
  */
30
  function get_currency_countries( $limit_currencies = '' ) {
31
- $country_currency = wcj_get_country_currency();
32
- if ( '' != $limit_currencies ) {
33
- $default_currency = get_woocommerce_currency();
34
- if ( 'paypal_only' === $limit_currencies || 'paypal_and_yahoo_exchange_rates_only' === $limit_currencies ) {
35
- $paypal_supported_currencies = wcj_get_paypal_supported_currencies();
36
- }
37
- if ( 'yahoo_exchange_rates_only' === $limit_currencies || 'paypal_and_yahoo_exchange_rates_only' === $limit_currencies ) {
38
- $yahoo_exchange_rates_supported_currencies = wcj_get_yahoo_exchange_rates_supported_currency();
39
- }
40
  }
41
- $currencies = array();
 
42
  foreach ( $country_currency as $country => $currency ) {
43
  if ( 'paypal_only' === $limit_currencies ) {
44
- if ( ! isset( $paypal_supported_currencies[ $currency ] ) ) {
45
- $currency = $default_currency;
46
- }
47
- } elseif ( 'yahoo_exchange_rates_only' === $limit_currencies ) {
48
- if ( ! isset( $yahoo_exchange_rates_supported_currencies[ $currency ] ) ) {
49
- $currency = $default_currency;
50
- }
51
- } elseif ( 'paypal_and_yahoo_exchange_rates_only' === $limit_currencies ) {
52
- if ( ! isset( $paypal_supported_currencies[ $currency ] ) || ! isset( $yahoo_exchange_rates_supported_currencies[ $currency ] ) ) {
53
  $currency = $default_currency;
54
  }
55
  }
@@ -61,66 +64,45 @@ class WCJ_Price_By_Country_Group_Generator {
61
  /**
62
  * create_all_countries_groups.
63
  *
64
- * @version 2.5.0
 
65
  */
66
  function create_all_countries_groups() {
67
- global $wcj_notice;
68
  if ( ! isset( $_GET['wcj_generate_country_groups'] ) ) {
69
  return;
70
  }
71
  if ( isset( $_POST['save'] ) ) {
72
  return;
73
  }
74
- if ( /* ! is_admin() || */ ! wcj_is_user_role( 'administrator' ) || 1 === apply_filters( 'booster_option', 1, '' ) ) {
75
- $wcj_notice = __( 'Create All Country Groups Failed.', 'woocommerce-jetpack' );
76
- return;
77
- }
78
-
79
- switch ( $_GET['wcj_generate_country_groups'] ) {
80
- case 'all':
81
- case 'paypal_only':
82
- case 'yahoo_exchange_rates_only':
83
- case 'paypal_and_yahoo_exchange_rates_only':
84
- $currencies = $this->get_currency_countries( $_GET['wcj_generate_country_groups'] );
85
- break;
86
- default:
87
- $wcj_notice = __( 'Create All Country Groups Failed. Wrong parameter.', 'woocommerce-jetpack' );
88
- return;
89
  }
90
-
 
91
  $number_of_groups = count( $currencies );
92
- if ( ! isset( $_GET['wcj_generate_country_groups_confirm'] ) ) {
93
- $wcj_notice .= sprintf( __( 'All existing country groups will be deleted and %s new groups will be created. Are you sure?', 'woocommerce-jetpack' ), $number_of_groups );
94
- $wcj_notice .= ' ' . '<a style="color: red !important;" href="' . add_query_arg( 'wcj_generate_country_groups_confirm', 'yes' ) . '">' . __( 'Confirm', 'woocommerce-jetpack' ) . '</a>.';
95
- //$_GET['wc_message'] = __( 'Are you sure? Confirm.', 'woocommerce-jetpack' );
96
- /* $wcj_notice .= '<p>';
97
- $wcj_notice .= __( 'Preview', 'woocommerce-jetpack' ) . '<br>';
98
- foreach ( $currencies as $group_currency => $countries ) {
99
- $wcj_notice .= $group_currency . ' - ' . implode( ',', $countries ) . '<br>';
100
- }
101
- $wcj_notice .= '</p>'; */
102
- } else {
103
- update_option( 'wcj_price_by_country_total_groups_number', $number_of_groups );
104
- $i = 0;
105
- foreach ( $currencies as $group_currency => $countries ) {
106
- $i++;
107
- switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
108
- case 'comma_list':
109
- update_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, implode( ',', $countries ) );
110
- break;
111
- case 'multiselect':
112
- update_option( 'wcj_price_by_country_countries_group_' . $i, $countries );
113
- break;
114
- case 'chosen_select':
115
- update_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, $countries );
116
- break;
117
- }
118
- update_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i, $group_currency );
119
- update_option( 'wcj_price_by_country_exchange_rate_group_' . $i, 1 );
120
- update_option( 'wcj_price_by_country_make_empty_price_group_' . $i, 'no' );
121
  }
122
- $wcj_notice = __( 'Country Groups Generated.', 'woocommerce-jetpack' );
 
 
123
  }
 
 
124
  }
125
 
126
  }
2
  /**
3
  * Booster for WooCommerce - Price By Country - Group Generator
4
  *
5
+ * @version 3.9.0
6
+ * @author Algoritmika Ltd.
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 3.9.0
19
  */
20
  function __construct() {
21
  require_once( 'wcj-country-currency.php' );
22
+ add_action( 'admin_init', array( $this, 'create_all_countries_groups' ) );
23
+ add_action( 'admin_notices', array( $this, 'create_all_countries_groups_notices' ) );
24
+ }
25
+
26
+ /**
27
+ * create_all_countries_groups_notices.
28
+ *
29
+ * @version 3.9.0
30
+ * @since 3.9.0
31
+ */
32
+ function create_all_countries_groups_notices() {
33
+ if ( isset( $_GET['wcj_generate_country_groups_finished'] ) ) {
34
+ echo '<div class="notice notice-success is-dismissible"><p>' . __( 'Country groups successfully generated.', 'woocommerce-jetpack' ) . '</p></div>';
35
+ }
36
+ if ( isset( $_GET['wcj_generate_country_groups_error'] ) ) {
37
+ echo '<div class="notice notice-error"><p>' . __( 'Country groups generation failed.', 'woocommerce-jetpack' ) . '</p></div>';
38
+ }
39
  }
40
 
41
  /**
42
  * get_currency_countries.
43
  *
44
+ * @version 3.9.0
45
  */
46
  function get_currency_countries( $limit_currencies = '' ) {
47
+ if ( 'paypal_only' === $limit_currencies ) {
48
+ $default_currency = get_woocommerce_currency();
49
+ $paypal_supported_currencies = wcj_get_paypal_supported_currencies();
 
 
 
 
 
 
50
  }
51
+ $country_currency = wcj_get_country_currency();
52
+ $currencies = array();
53
  foreach ( $country_currency as $country => $currency ) {
54
  if ( 'paypal_only' === $limit_currencies ) {
55
+ if ( ! in_array( $currency, $paypal_supported_currencies ) ) {
 
 
 
 
 
 
 
 
56
  $currency = $default_currency;
57
  }
58
  }
64
  /**
65
  * create_all_countries_groups.
66
  *
67
+ * @version 3.9.0
68
+ * @todo add nonce verification
69
  */
70
  function create_all_countries_groups() {
71
+ // Verification
72
  if ( ! isset( $_GET['wcj_generate_country_groups'] ) ) {
73
  return;
74
  }
75
  if ( isset( $_POST['save'] ) ) {
76
  return;
77
  }
78
+ if ( ! wcj_is_user_role( 'administrator' ) || 1 === apply_filters( 'booster_option', 1, '' ) ) {
79
+ wp_safe_redirect( add_query_arg( 'wcj_generate_country_groups_error', true, remove_query_arg( 'wcj_generate_country_groups' ) ) );
80
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
+ // Generation
83
+ $currencies = $this->get_currency_countries( $_GET['wcj_generate_country_groups'] );
84
  $number_of_groups = count( $currencies );
85
+ update_option( 'wcj_price_by_country_total_groups_number', $number_of_groups );
86
+ $i = 0;
87
+ foreach ( $currencies as $group_currency => $countries ) {
88
+ $i++;
89
+ switch ( get_option( 'wcj_price_by_country_selection', 'comma_list' ) ) {
90
+ case 'comma_list':
91
+ update_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, implode( ',', $countries ) );
92
+ break;
93
+ case 'multiselect':
94
+ update_option( 'wcj_price_by_country_countries_group_' . $i, $countries );
95
+ break;
96
+ case 'chosen_select':
97
+ update_option( 'wcj_price_by_country_countries_group_chosen_select_' . $i, $countries );
98
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  }
100
+ update_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i, $group_currency );
101
+ update_option( 'wcj_price_by_country_exchange_rate_group_' . $i, 1 );
102
+ update_option( 'wcj_price_by_country_make_empty_price_group_' . $i, 'no' );
103
  }
104
+ wp_safe_redirect( add_query_arg( 'wcj_generate_country_groups_finished', true, remove_query_arg( 'wcj_generate_country_groups' ) ) );
105
+ exit;
106
  }
107
 
108
  }
includes/price-by-country/class-wcj-price-by-country-local.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Price by Country - Local
4
  *
5
- * @version 3.3.0
6
  * @author Algoritmika Ltd.
7
  * @todo (maybe) remove this and leave only standard meta box option (i.e. only `'meta_box' === get_option( 'wcj_price_by_country_local_options_style', 'inline' )`)
8
  */
@@ -189,7 +189,7 @@ class WCJ_Price_by_Country_Local {
189
  /**
190
  * get_all_options_html.
191
  *
192
- * @version 3.3.0
193
  */
194
  function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
195
  $html = '';
@@ -229,7 +229,7 @@ class WCJ_Price_by_Country_Local {
229
  $html .= '<p class="form-row form-row-' . $column_position . '">';
230
  }
231
  $group_currency_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
232
- $currency_code_html = ( 'checkbox' != $option['type'] ) ? ' (' . wcj_get_currency_symbol( $group_currency_code ) . ')' : '';
233
  $html .= '<label for="' . $option_id . $variation_id_addon . '">' . $option['title'] . $currency_code_html . '</label>';
234
  $html .= $this->get_option_field_html( $current_post_id, $option_id, $option, $variation_id_addon );
235
  $html .= '</p>';
2
  /**
3
  * Booster for WooCommerce - Price by Country - Local
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  * @todo (maybe) remove this and leave only standard meta box option (i.e. only `'meta_box' === get_option( 'wcj_price_by_country_local_options_style', 'inline' )`)
8
  */
189
  /**
190
  * get_all_options_html.
191
  *
192
+ * @version 3.9.0
193
  */
194
  function get_all_options_html( $simple_or_variable, $current_post_id, $total_number, $variation_id_addon = '' ) {
195
  $html = '';
229
  $html .= '<p class="form-row form-row-' . $column_position . '">';
230
  }
231
  $group_currency_code = get_option( 'wcj_price_by_country_exchange_rate_currency_group_' . $i );
232
+ $currency_code_html = ( 'checkbox' != $option['type'] ) ? ' (' . get_woocommerce_currency_symbol( $group_currency_code ) . ')' : '';
233
  $html .= '<label for="' . $option_id . $variation_id_addon . '">' . $option['title'] . $currency_code_html . '</label>';
234
  $html .= $this->get_option_field_html( $current_post_id, $option_id, $option, $variation_id_addon );
235
  $html .= '</p>';
includes/price-by-country/wcj-country-currency.php CHANGED
@@ -2,230 +2,46 @@
2
  /**
3
  * Booster for WooCommerce Country Currency functions
4
  *
5
- * @version 3.3.0
6
  * @author Algoritmika Ltd.
 
7
  */
8
 
9
  if ( ! defined( 'ABSPATH' ) ) exit;
10
 
11
- if ( ! function_exists( 'wcj_get_yahoo_exchange_rates_supported_currency' ) ) {
12
- /**
13
- * wcj_get_yahoo_exchange_rates_supported_currency.
14
- *
15
- * @version 3.3.0
16
- */
17
- function wcj_get_yahoo_exchange_rates_supported_currency() {
18
- return array(
19
- 'KRW' => true,
20
- 'XAG' => true,
21
- 'VND' => true,
22
- 'BOB' => true,
23
- 'MOP' => true,
24
- 'BDT' => true,
25
- 'MDL' => true,
26
- 'VEF' => true,
27
- 'GEL' => true,
28
- 'ISK' => true,
29
- 'BYN' => true,
30
- 'THB' => true,
31
- 'MXV' => true,
32
- 'TND' => true,
33
- 'JMD' => true,
34
- 'DKK' => true,
35
- 'SRD' => true,
36
- 'BWP' => true,
37
- 'NOK' => true,
38
- 'MUR' => true,
39
- 'AZN' => true,
40
- 'INR' => true,
41
- 'MGA' => true,
42
- 'CAD' => true,
43
- 'XAF' => true,
44
- 'LBP' => true,
45
- 'XDR' => true,
46
- 'IDR' => true,
47
- 'IEP' => true,
48
- 'AUD' => true,
49
- 'MMK' => true,
50
- 'LYD' => true,
51
- 'ZAR' => true,
52
- 'IQD' => true,
53
- 'XPF' => true,
54
- 'TJS' => true,
55
- 'CUP' => true,
56
- 'UGX' => true,
57
- 'NGN' => true,
58
- 'PGK' => true,
59
- 'TOP' => true,
60
- 'TMT' => true,
61
- 'KES' => true,
62
- 'CRC' => true,
63
- 'MZN' => true,
64
- 'SYP' => true,
65
- 'ANG' => true,
66
- 'ZMW' => true,
67
- 'BRL' => true,
68
- 'BSD' => true,
69
- 'NIO' => true,
70
- 'GNF' => true,
71
- 'BMD' => true,
72
- 'SLL' => true,
73
- 'MKD' => true,
74
- 'BIF' => true,
75
- 'LAK' => true,
76
- 'BHD' => true,
77
- 'SHP' => true,
78
- 'BGN' => true,
79
- 'SGD' => true,
80
- 'CNY' => true,
81
- 'EUR' => true,
82
- 'TTD' => true,
83
- 'SCR' => true,
84
- 'BBD' => true,
85
- 'SBD' => true,
86
- 'MAD' => true,
87
- 'GTQ' => true,
88
- 'MWK' => true,
89
- 'PKR' => true,
90
- 'ITL' => true,
91
- 'PEN' => true,
92
- 'AED' => true,
93
- 'LVL' => true,
94
- 'XPD' => true,
95
- 'UAH' => true,
96
- 'FRF' => true,
97
- 'LRD' => true,
98
- 'LSL' => true,
99
- 'SEK' => true,
100
- 'RON' => true,
101
- 'XOF' => true,
102
- 'COP' => true,
103
- 'CDF' => true,
104
- 'USD' => true,
105
- 'TZS' => true,
106
- 'GHS' => true,
107
- 'NPR' => true,
108
- 'ZWL' => true,
109
- 'SOS' => true,
110
- 'DZD' => true,
111
- 'FKP' => true,
112
- 'LKR' => true,
113
- 'JPY' => true,
114
- 'CHF' => true,
115
- 'KYD' => true,
116
- 'CLP' => true,
117
- 'IRR' => true,
118
- 'AFN' => true,
119
- 'DJF' => true,
120
- 'SVC' => true,
121
- 'PLN' => true,
122
- 'PYG' => true,
123
- 'ERN' => true,
124
- 'ETB' => true,
125
- 'ILS' => true,
126
- 'TWD' => true,
127
- 'KPW' => true,
128
- 'SIT' => true,
129
- 'GIP' => true,
130
- 'BND' => true,
131
- 'HNL' => true,
132
- 'CZK' => true,
133
- 'HUF' => true,
134
- 'BZD' => true,
135
- 'DEM' => true,
136
- 'JOD' => true,
137
- 'RWF' => true,
138
- 'LTL' => true,
139
- 'RUB' => true,
140
- 'RSD' => true,
141
- 'WST' => true,
142
- 'XPT' => true,
143
- 'NAD' => true,
144
- 'PAB' => true,
145
- 'DOP' => true,
146
- 'ALL' => true,
147
- 'HTG' => true,
148
- 'AMD' => true,
149
- 'KMF' => true,
150
- 'MRO' => true,
151
- 'HRK' => true,
152
- 'ECS' => true,
153
- 'KHR' => true,
154
- 'PHP' => true,
155
- 'CYP' => true,
156
- 'KWD' => true,
157
- 'XCD' => true,
158
- 'XCP' => true,
159
- 'CNH' => true,
160
- 'SDG' => true,
161
- 'CLF' => true,
162
- 'KZT' => true,
163
- 'TRY' => true,
164
- 'FJD' => true,
165
- 'NZD' => true,
166
- 'BAM' => true,
167
- 'BTN' => true,
168
- 'STD' => true,
169
- 'VUV' => true,
170
- 'MVR' => true,
171
- 'AOA' => true,
172
- 'EGP' => true,
173
- 'QAR' => true,
174
- 'OMR' => true,
175
- 'CVE' => true,
176
- 'KGS' => true,
177
- 'MXN' => true,
178
- 'MYR' => true,
179
- 'GYD' => true,
180
- 'SZL' => true,
181
- 'YER' => true,
182
- 'SAR' => true,
183
- 'UYU' => true,
184
- 'GBP' => true,
185
- 'UZS' => true,
186
- 'GMD' => true,
187
- 'AWG' => true,
188
- 'MNT' => true,
189
- 'XAU' => true,
190
- 'HKD' => true,
191
- 'ARS' => true,
192
- );
193
- }
194
- }
195
-
196
  if ( ! function_exists( 'wcj_get_paypal_supported_currencies' ) ) {
197
  /**
198
  * wcj_get_paypal_supported_currencies.
199
  *
200
- * @version 2.3.9
201
  */
202
  function wcj_get_paypal_supported_currencies() {
203
  return array(
204
- 'AUD' => true,
205
- 'BRL' => true,
206
- 'CAD' => true,
207
- 'CHF' => true,
208
- 'CZK' => true,
209
- 'DKK' => true,
210
- 'EUR' => true,
211
- 'GBP' => true,
212
- 'HKD' => true,
213
- 'HUF' => true,
214
- 'ILS' => true,
215
- 'JPY' => true,
216
- 'MYR' => true,
217
- 'MXN' => true,
218
- 'NOK' => true,
219
- 'NZD' => true,
220
- 'PHP' => true,
221
- 'PLN' => true,
222
- 'RUB' => true,
223
- 'SEK' => true,
224
- 'SGD' => true,
225
- 'THB' => true,
226
- 'TRY' => true,
227
- 'TWD' => true,
228
- 'USD' => true,
229
  );
230
  }
231
  }
@@ -453,7 +269,6 @@ if ( ! function_exists( 'wcj_get_country_currency' ) ) {
453
  'TV' => 'AUD',
454
  'UG' => 'UGX',
455
  'AE' => 'AED',
456
- // 'UK' => 'GBP',
457
  'GB' => 'GBP',
458
  'US' => 'USD',
459
  'UY' => 'UYU',
2
  /**
3
  * Booster for WooCommerce Country Currency functions
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
+ * @todo maybe move this to `functions` folder
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit;
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  if ( ! function_exists( 'wcj_get_paypal_supported_currencies' ) ) {
13
  /**
14
  * wcj_get_paypal_supported_currencies.
15
  *
16
+ * @version 3.9.0
17
  */
18
  function wcj_get_paypal_supported_currencies() {
19
  return array(
20
+ 'AUD',
21
+ 'BRL',
22
+ 'CAD',
23
+ 'CHF',
24
+ 'CZK',
25
+ 'DKK',
26
+ 'EUR',
27
+ 'GBP',
28
+ 'HKD',
29
+ 'HUF',
30
+ 'ILS',
31
+ 'JPY',
32
+ 'MYR',
33
+ 'MXN',
34
+ 'NOK',
35
+ 'NZD',
36
+ 'PHP',
37
+ 'PLN',
38
+ 'RUB',
39
+ 'SEK',
40
+ 'SGD',
41
+ 'THB',
42
+ 'TRY',
43
+ 'TWD',
44
+ 'USD',
45
  );
46
  }
47
  }
269
  'TV' => 'AUD',
270
  'UG' => 'UGX',
271
  'AE' => 'AED',
 
272
  'GB' => 'GBP',
273
  'US' => 'USD',
274
  'UY' => 'UYU',
includes/reports/class-wcj-currency-reports.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Reports - Currency
4
  *
5
- * @version 2.5.7
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -56,12 +56,6 @@ class WCJ_Currency_Reports {
56
  $currency_symbols[ $the_code ] = $the_code;
57
  }
58
  }
59
- /* if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
60
- for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) ); $i++ ) {
61
- $the_code = get_option( 'wcj_multicurrency_base_price_currency_' . $i );
62
- $currency_symbols[ $the_code ] = $the_code;
63
- }
64
- } */
65
  if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
66
  global $woocommerce;
67
  $available_gateways = $woocommerce->payment_gateways->payment_gateways();
@@ -90,11 +84,20 @@ class WCJ_Currency_Reports {
90
 
91
  /**
92
  * change_currency_symbol_reports.
 
 
93
  */
94
  function change_currency_symbol_reports( $currency_symbol, $currency ) {
95
  if ( isset( $_GET['page'] ) && 'wc-reports' === $_GET['page'] ) {
96
  if ( isset( $_GET['currency'] ) ) {
97
- return ( 'merge' === $_GET['currency'] ) ? '' : wcj_get_currency_symbol( $_GET['currency'] );
 
 
 
 
 
 
 
98
  }
99
  }
100
  return $currency_symbol;
2
  /**
3
  * Booster for WooCommerce - Reports - Currency
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
56
  $currency_symbols[ $the_code ] = $the_code;
57
  }
58
  }
 
 
 
 
 
 
59
  if ( wcj_is_module_enabled( 'payment_gateways_currency' ) ) {
60
  global $woocommerce;
61
  $available_gateways = $woocommerce->payment_gateways->payment_gateways();
84
 
85
  /**
86
  * change_currency_symbol_reports.
87
+ *
88
+ * @version 3.9.0
89
  */
90
  function change_currency_symbol_reports( $currency_symbol, $currency ) {
91
  if ( isset( $_GET['page'] ) && 'wc-reports' === $_GET['page'] ) {
92
  if ( isset( $_GET['currency'] ) ) {
93
+ if ( 'merge' === $_GET['currency'] ) {
94
+ return '';
95
+ } else {
96
+ remove_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol_reports'), PHP_INT_MAX, 2 );
97
+ $return = get_woocommerce_currency_symbol( $_GET['currency'] );
98
+ add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol_reports'), PHP_INT_MAX, 2 );
99
+ return $return;
100
+ }
101
  }
102
  }
103
  return $currency_symbol;
includes/reports/wcj-class-reports-stock.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Reports - Stock
4
  *
5
- * @version 2.9.1
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -18,15 +18,16 @@ class WCJ_Reports_Stock {
18
  /**
19
  * Constructor.
20
  *
 
21
  * @todo (maybe) `most_stock_price`, `sales_up`, `good_sales_low_stock`
22
  * @todo (maybe) `echo __( 'Here you can generate reports. Some reports are generated using all your orders and products, so if you have a lot of them - it may take a while.', 'woocommerce-jetpack' );`
23
  * @todo (maybe) get_option( 'woocommerce_manage_stock' ) -> `echo __( 'Please enable stock management in <strong>WooCommerce > Settings > Products > Inventory</strong> to generate stock based reports.', 'woocommerce-jetpack' );`
24
  */
25
  function __construct( $args = null ) {
26
- $this->ranges_in_days = array( 7, 14, 30, 60, 90, 180, 360 );
27
- $this->report_id = isset( $args['report_id'] ) ? $args['report_id'] : 'on_stock';
28
- $this->range_days = isset( $args['range_days'] ) ? $args['range_days'] : 30;
29
- $this->reports_info = array(
30
  'on_stock' => array(
31
  'id' => 'on_stock',
32
  'title' => __( 'All Products on Stock', 'woocommerce-jetpack' ),
@@ -44,8 +45,10 @@ class WCJ_Reports_Stock {
44
  'desc' => __( 'Report shows all products that are on stock, but have no sales in selected period. Only products added before the start date of selected period are accounted.', 'woocommerce-jetpack' ),
45
  ),
46
  );
47
- $this->start_time = microtime( true );
48
- $products_info = array();
 
 
49
  $this->gather_products_data( $products_info );
50
  $this->gather_orders_data( $products_info );
51
  $info = $this->get_stock_summary( $products_info );
@@ -55,9 +58,9 @@ class WCJ_Reports_Stock {
55
  if ( 'understocked' === $this->report_id ) {
56
  $this->sort_products_info( $products_info, 'sales_in_period', $this->range_days );
57
  }
58
- $this->data_products = $products_info;
59
- $this->data_summary = $info;
60
- $this->data_reports = $this->reports_info[ $this->report_id ];
61
  }
62
 
63
  /*
@@ -82,15 +85,14 @@ class WCJ_Reports_Stock {
82
  /*
83
  * gather_products_data.
84
  *
85
- * @version 2.9.1
86
- * @todo variations
87
  */
88
  function gather_products_data( &$products_info ) {
89
  $offset = 0;
90
- $block_size = 256;
91
  while( true ) {
92
  $args = array(
93
- 'post_type' => 'product',
94
  'posts_per_page' => $block_size,
95
  'offset' => $offset,
96
  'fields' => 'ids',
@@ -100,10 +102,17 @@ class WCJ_Reports_Stock {
100
  break;
101
  }
102
  foreach ( $loop->posts as $product_id ) {
 
 
 
 
 
 
 
 
103
  $the_product = wc_get_product( $product_id );
104
  $the_price = $the_product->get_price();
105
  $the_stock = wcj_get_product_total_stock( $the_product );
106
- $the_title = get_the_title( $product_id );
107
  $the_categories = ( WCJ_IS_WC_VERSION_BELOW_3 ? $the_product->get_categories() : wc_get_product_category_list( $product_id ) );
108
  $the_date = get_the_date( get_option( 'date_format' ), $product_id );
109
  $the_permalink = get_the_permalink( $product_id );
@@ -116,12 +125,12 @@ class WCJ_Reports_Stock {
116
  }
117
  $products_info[ $product_id ] = array(
118
  'ID' => $product_id,
119
- 'title' => $the_title,
120
  'category' => $the_categories,
121
  'permalink' => $the_permalink,
122
  'price' => $the_price,
123
  'stock' => $the_stock,
124
- 'stock_price' => $the_price * $the_stock,
125
  'total_sales' => $total_sales,
126
  'date_added' => $the_date,
127
  'purchase_price' => $purchase_price,
@@ -136,11 +145,11 @@ class WCJ_Reports_Stock {
136
  /*
137
  * gather_orders_data.
138
  *
139
- * @version 2.9.1
140
  */
141
  function gather_orders_data( &$products_info ) {
142
  $offset = 0;
143
- $block_size = 256;
144
  while( true ) {
145
  $args_orders = array(
146
  'post_type' => 'shop_order',
@@ -166,11 +175,12 @@ class WCJ_Reports_Stock {
166
  $order = wc_get_order( $order_id );
167
  $items = $order->get_items();
168
  foreach ( $items as $item ) {
169
- if ( ! isset( $products_info[ $item['product_id'] ] ) ) {
 
170
  // Deleted product
171
- $products_info[ $item['product_id'] ] = array(
172
- 'ID' => $item['product_id'],
173
- 'title' => $item['name'] . ' (' . __( 'deleted', 'woocommerce-jetpack' ) . ')',
174
  'category' => '',
175
  'permalink' => '',
176
  'price' => '',
@@ -183,9 +193,11 @@ class WCJ_Reports_Stock {
183
  'sales_in_period' => array( $the_period => 0 ),
184
  );
185
  }
186
- $products_info[ $item['product_id'] ]['sales_in_period'][ $the_period ] += $item['qty'];
187
- if ( 0 == $products_info[ $item['product_id'] ]['last_sale'] ) {
188
- $products_info[ $item['product_id'] ]['last_sale'] = get_the_time( 'U' );
 
 
189
  }
190
  }
191
  }
@@ -195,6 +207,8 @@ class WCJ_Reports_Stock {
195
 
196
  /*
197
  * get_stock_summary.
 
 
198
  */
199
  function get_stock_summary( $products_info ) {
200
  $info = array();
@@ -210,7 +224,9 @@ class WCJ_Reports_Stock {
210
  $info['sales_in_period_average'][ $this->range_days ] += $product_info['sales_in_period'][ $this->range_days ];
211
  $stock_non_zero_number++;
212
  }
213
- $info['total_stock_price'] += $product_info['stock_price'];
 
 
214
  }
215
  if ( 0 != $stock_non_zero_number ) {
216
  $info['stock_price_average'] /= $stock_non_zero_number;
@@ -234,7 +250,7 @@ class WCJ_Reports_Stock {
234
  /*
235
  * get_report_html.
236
  *
237
- * @version 2.9.1
238
  */
239
  function get_report_html() {
240
  $products_info = $this->data_products;
@@ -298,8 +314,7 @@ class WCJ_Reports_Stock {
298
  $html .= '<td>' . wc_price( $product_info['stock_price'] ) . $purchase_stock_price_html . '</td>';
299
  $html .= '<td>' . wc_price( $total_current_stock_price ) . '</td>';
300
  $html .= '<td class="wcj_report_table_sales_columns">';
301
- if ( 0 == $product_info['last_sale'] ) $html .= __( 'No sales yet', 'woocommerce-jetpack' );
302
- else $html .= date_i18n( get_option( 'date_format' ), $product_info['last_sale'] );
303
  $html .= '</td>';
304
  $profit_html = ( $product_info['purchase_price'] > 0 && $product_info['sales_in_period'][ $this->range_days ] > 0 ) ?
305
  '<br><em>' . __( 'profit:', 'woocommerce-jetpack' ) . '</em>' . ' '
2
  /**
3
  * Booster for WooCommerce - Reports - Stock
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
18
  /**
19
  * Constructor.
20
  *
21
+ * @version 3.9.0
22
  * @todo (maybe) `most_stock_price`, `sales_up`, `good_sales_low_stock`
23
  * @todo (maybe) `echo __( 'Here you can generate reports. Some reports are generated using all your orders and products, so if you have a lot of them - it may take a while.', 'woocommerce-jetpack' );`
24
  * @todo (maybe) get_option( 'woocommerce_manage_stock' ) -> `echo __( 'Please enable stock management in <strong>WooCommerce > Settings > Products > Inventory</strong> to generate stock based reports.', 'woocommerce-jetpack' );`
25
  */
26
  function __construct( $args = null ) {
27
+ $this->ranges_in_days = array( 7, 14, 30, 60, 90, 180, 360 );
28
+ $this->report_id = isset( $args['report_id'] ) ? $args['report_id'] : 'on_stock';
29
+ $this->range_days = isset( $args['range_days'] ) ? $args['range_days'] : 30;
30
+ $this->reports_info = array(
31
  'on_stock' => array(
32
  'id' => 'on_stock',
33
  'title' => __( 'All Products on Stock', 'woocommerce-jetpack' ),
45
  'desc' => __( 'Report shows all products that are on stock, but have no sales in selected period. Only products added before the start date of selected period are accounted.', 'woocommerce-jetpack' ),
46
  ),
47
  );
48
+ $this->product_type = get_option( 'wcj_reports_stock_product_type', 'product' );
49
+ $this->include_deleted_products = ( 'yes' === get_option( 'wcj_reports_stock_include_deleted_products', 'yes' ) );
50
+ $this->start_time = microtime( true );
51
+ $products_info = array();
52
  $this->gather_products_data( $products_info );
53
  $this->gather_orders_data( $products_info );
54
  $info = $this->get_stock_summary( $products_info );
58
  if ( 'understocked' === $this->report_id ) {
59
  $this->sort_products_info( $products_info, 'sales_in_period', $this->range_days );
60
  }
61
+ $this->data_products = $products_info;
62
+ $this->data_summary = $info;
63
+ $this->data_reports = $this->reports_info[ $this->report_id ];
64
  }
65
 
66
  /*
85
  /*
86
  * gather_products_data.
87
  *
88
+ * @version 3.9.0
 
89
  */
90
  function gather_products_data( &$products_info ) {
91
  $offset = 0;
92
+ $block_size = 1024;
93
  while( true ) {
94
  $args = array(
95
+ 'post_type' => ( 'both' == $this->product_type ? array( 'product', 'product_variation' ) : $this->product_type ),
96
  'posts_per_page' => $block_size,
97
  'offset' => $offset,
98
  'fields' => 'ids',
102
  break;
103
  }
104
  foreach ( $loop->posts as $product_id ) {
105
+ $the_title = get_the_title( $product_id );
106
+ if ( '' === $the_title ) {
107
+ if ( $this->include_deleted_products ) {
108
+ $the_title = __( 'N/A', 'woocommerce-jetpack' );
109
+ } else {
110
+ continue;
111
+ }
112
+ }
113
  $the_product = wc_get_product( $product_id );
114
  $the_price = $the_product->get_price();
115
  $the_stock = wcj_get_product_total_stock( $the_product );
 
116
  $the_categories = ( WCJ_IS_WC_VERSION_BELOW_3 ? $the_product->get_categories() : wc_get_product_category_list( $product_id ) );
117
  $the_date = get_the_date( get_option( 'date_format' ), $product_id );
118
  $the_permalink = get_the_permalink( $product_id );
125
  }
126
  $products_info[ $product_id ] = array(
127
  'ID' => $product_id,
128
+ 'title' => $the_title . ' (#' . $product_id . ')',
129
  'category' => $the_categories,
130
  'permalink' => $the_permalink,
131
  'price' => $the_price,
132
  'stock' => $the_stock,
133
+ 'stock_price' => ( is_numeric( $the_price ) && is_numeric( $the_stock ) ? $the_price * $the_stock : 0 ),
134
  'total_sales' => $total_sales,
135
  'date_added' => $the_date,
136
  'purchase_price' => $purchase_price,
145
  /*
146
  * gather_orders_data.
147
  *
148
+ * @version 3.9.0
149
  */
150
  function gather_orders_data( &$products_info ) {
151
  $offset = 0;
152
+ $block_size = 1024;
153
  while( true ) {
154
  $args_orders = array(
155
  'post_type' => 'shop_order',
175
  $order = wc_get_order( $order_id );
176
  $items = $order->get_items();
177
  foreach ( $items as $item ) {
178
+ $product_id = ( 'product' != $this->product_type && ! empty( $item['variation_id'] ) ? $item['variation_id'] : $item['product_id'] );
179
+ if ( ! isset( $products_info[ $product_id ] ) && $this->include_deleted_products ) {
180
  // Deleted product
181
+ $products_info[ $product_id ] = array(
182
+ 'ID' => $product_id,
183
+ 'title' => $item['name'] . ' (' . __( 'N/A', 'woocommerce-jetpack' ) . ')',
184
  'category' => '',
185
  'permalink' => '',
186
  'price' => '',
193
  'sales_in_period' => array( $the_period => 0 ),
194
  );
195
  }
196
+ if ( isset( $products_info[ $product_id ] ) ) {
197
+ $products_info[ $product_id ]['sales_in_period'][ $the_period ] += $item['qty'];
198
+ if ( 0 == $products_info[ $product_id ]['last_sale'] ) {
199
+ $products_info[ $product_id ]['last_sale'] = get_the_time( 'U', $order_id );
200
+ }
201
  }
202
  }
203
  }
207
 
208
  /*
209
  * get_stock_summary.
210
+ *
211
+ * @version 3.9.0
212
  */
213
  function get_stock_summary( $products_info ) {
214
  $info = array();
224
  $info['sales_in_period_average'][ $this->range_days ] += $product_info['sales_in_period'][ $this->range_days ];
225
  $stock_non_zero_number++;
226
  }
227
+ if ( is_numeric( $product_info['stock_price'] ) ) {
228
+ $info['total_stock_price'] += $product_info['stock_price'];
229
+ }
230
  }
231
  if ( 0 != $stock_non_zero_number ) {
232
  $info['stock_price_average'] /= $stock_non_zero_number;
250
  /*
251
  * get_report_html.
252
  *
253
+ * @version 3.9.0
254
  */
255
  function get_report_html() {
256
  $products_info = $this->data_products;
314
  $html .= '<td>' . wc_price( $product_info['stock_price'] ) . $purchase_stock_price_html . '</td>';
315
  $html .= '<td>' . wc_price( $total_current_stock_price ) . '</td>';
316
  $html .= '<td class="wcj_report_table_sales_columns">';
317
+ $html .= ( 0 == $product_info['last_sale'] ? __( 'No sales yet', 'woocommerce-jetpack' ) : date_i18n( get_option( 'date_format' ), $product_info['last_sale'] ) );
 
318
  $html .= '</td>';
319
  $profit_html = ( $product_info['purchase_price'] > 0 && $product_info['sales_in_period'][ $this->range_days ] > 0 ) ?
320
  '<br><em>' . __( 'profit:', 'woocommerce-jetpack' ) . '</em>' . ' '
includes/settings/meta-box/wcj-settings-meta-box-orders.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - Orders
4
  *
5
- * @version 2.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -21,7 +21,7 @@ $options = array(
21
  'name' => ( 'filter' === get_option( 'wcj_order_admin_currency_method', 'filter' ) ? 'wcj_order_currency' : 'order_currency' ),
22
  'default' => wcj_get_order_currency( $_order ),
23
  'type' => 'select',
24
- 'options' => wcj_get_currencies_names_and_symbols( 'names' ),
25
  ),
26
  );
27
  return $options;
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - Orders
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
21
  'name' => ( 'filter' === get_option( 'wcj_order_admin_currency_method', 'filter' ) ? 'wcj_order_currency' : 'order_currency' ),
22
  'default' => wcj_get_order_currency( $_order ),
23
  'type' => 'select',
24
+ 'options' => wcj_get_woocommerce_currencies_and_symbols(),
25
  ),
26
  );
27
  return $options;
includes/settings/meta-box/wcj-settings-meta-box-pdf-invoicing.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - PDF Invoicing
4
  *
5
- * @version 3.5.0
6
  * @since 3.5.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -26,6 +26,13 @@ if ( ! empty( $invoice_types ) ) {
26
  'default' => '',
27
  'type' => 'number',
28
  ),
 
 
 
 
 
 
 
29
  ) );
30
  }
31
  }
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - PDF Invoicing
4
  *
5
+ * @version 3.9.0
6
  * @since 3.5.0
7
  * @author Algoritmika Ltd.
8
  */
26
  'default' => '',
27
  'type' => 'number',
28
  ),
29
+ array(
30
+ 'title' => sprintf( __( '%s date', 'woocommerce-jetpack' ), $invoice_type['title'] ),
31
+ 'name' => 'wcj_invoicing_' . $invoice_type['id'] . '_date',
32
+ 'default' => '',
33
+ 'type' => 'number',
34
+ 'convert' => 'from_date_to_timestamp',
35
+ ),
36
  ) );
37
  }
38
  }
includes/settings/meta-box/wcj-settings-meta-box-related-products.php CHANGED
@@ -2,15 +2,16 @@
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - Related Products
4
  *
5
- * @version 2.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
- $product_id = get_the_ID();
13
- $products = wcj_get_products( array(), 'publish' );
 
14
  unset( $products[ $product_id ] );
15
  $options = array(
16
  array(
@@ -26,13 +27,14 @@ $options = array(
26
  ),
27
  array(
28
  'title' => __( 'Related Products', 'woocommerce-jetpack' ),
29
- 'tooltip' => __( 'Hold Control (Ctrl) key to select multiple products.', 'woocommerce-jetpack' ),
30
  'name' => 'wcj_product_info_related_products_ids',
31
  'default' => '',
32
  'type' => 'select',
33
  'options' => $products,
34
  'multiple' => true,
35
- 'css' => 'height:300px;',
 
36
  ),
37
  );
38
  return $options;
2
  /**
3
  * Booster for WooCommerce - Settings Meta Box - Related Products
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
+ $product_id = get_the_ID();
13
+ $products = wcj_get_products( array(), 'publish' );
14
+ $is_chosen_select = ( 'chosen_select' === get_option( 'wcj_product_info_related_products_per_product_box_type', 'chosen_select' ) );
15
  unset( $products[ $product_id ] );
16
  $options = array(
17
  array(
27
  ),
28
  array(
29
  'title' => __( 'Related Products', 'woocommerce-jetpack' ),
30
+ 'tooltip' => ( $is_chosen_select ? '' : __( 'Hold Control (Ctrl) key to select multiple products. Ctrl and "A" to select all products.', 'woocommerce-jetpack' ) ),
31
  'name' => 'wcj_product_info_related_products_ids',
32
  'default' => '',
33
  'type' => 'select',
34
  'options' => $products,
35
  'multiple' => true,
36
+ 'css' => ( $is_chosen_select ? 'width:100%' : 'height:300px' ),
37
+ 'class' => ( $is_chosen_select ? 'chosen_select' : '' ),
38
  ),
39
  );
40
  return $options;
includes/settings/wcj-settings-add-to-cart-button-visibility.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Add to Cart Button Visibility
4
  *
5
- * @version 3.4.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  * @todo "Per Tag"
@@ -32,6 +32,17 @@ return array(
32
  'default' => 'no',
33
  'type' => 'checkbox',
34
  ),
 
 
 
 
 
 
 
 
 
 
 
35
  array(
36
  'desc' => __( 'Content', 'woocommerce-jetpack' ),
37
  'desc_tip' => __( 'Content to replace with on archives (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
@@ -47,6 +58,17 @@ return array(
47
  'default' => 'no',
48
  'type' => 'checkbox',
49
  ),
 
 
 
 
 
 
 
 
 
 
 
50
  array(
51
  'desc' => __( 'Content', 'woocommerce-jetpack' ),
52
  'desc_tip' => __( 'Content to replace with on single product pages (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Settings - Add to Cart Button Visibility
4
  *
5
+ * @version 3.9.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  * @todo "Per Tag"
32
  'default' => 'no',
33
  'type' => 'checkbox',
34
  ),
35
+ array(
36
+ 'desc' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Method', 'woocommerce-jetpack' ),
37
+ 'desc_tip' => __( 'Method for disabling the buttons. Try changing if buttons are not being disabled (may happen with some themes).', 'woocommerce-jetpack' ),
38
+ 'id' => 'wcj_add_to_cart_button_disable_archives_method',
39
+ 'default' => 'remove_action',
40
+ 'type' => 'select',
41
+ 'options' => array(
42
+ 'remove_action' => __( 'Remove action', 'woocommerce-jetpack' ),
43
+ 'add_filter' => __( 'Add filter', 'woocommerce-jetpack' ),
44
+ ),
45
+ ),
46
  array(
47
  'desc' => __( 'Content', 'woocommerce-jetpack' ),
48
  'desc_tip' => __( 'Content to replace with on archives (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
58
  'default' => 'no',
59
  'type' => 'checkbox',
60
  ),
61
+ array(
62
+ 'desc' => __( 'Advanced', 'woocommerce-jetpack' ) . ': ' . __( 'Method', 'woocommerce-jetpack' ),
63
+ 'desc_tip' => __( 'Method for disabling the buttons. Try changing if buttons are not being disabled (may happen with some themes).', 'woocommerce-jetpack' ),
64
+ 'id' => 'wcj_add_to_cart_button_disable_single_method',
65
+ 'default' => 'remove_action',
66
+ 'type' => 'select',
67
+ 'options' => array(
68
+ 'remove_action' => __( 'Remove action', 'woocommerce-jetpack' ),
69
+ 'add_action' => __( 'Add action', 'woocommerce-jetpack' ),
70
+ ),
71
+ ),
72
  array(
73
  'desc' => __( 'Content', 'woocommerce-jetpack' ),
74
  'desc_tip' => __( 'Content to replace with on single product pages (can be empty). You can use HTML and/or shortcodes here.', 'woocommerce-jetpack' ),
includes/settings/wcj-settings-add-to-cart.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Add to Cart
4
  *
5
- * @version 3.7.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -35,7 +35,6 @@ $settings = array(
35
  is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
36
  array( 'step' => '1', 'min' => '1' )
37
  ),
38
- 'css' => 'width:100px;',
39
  ),
40
  );
41
  $product_cats = array();
@@ -61,7 +60,6 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_add_to_
61
  'default' => '',
62
  'type' => 'multiselect',
63
  'class' => 'chosen_select',
64
- 'css' => 'width: 450px;',
65
  'options' => $product_cats,
66
  ),
67
  array(
@@ -69,14 +67,12 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_add_to_
69
  'id' => 'wcj_add_to_cart_per_category_text_single_group_' . $i,
70
  'default' => '',
71
  'type' => 'textarea',
72
- 'css' => 'width:20%;min-width:200px;',
73
  ),
74
  array(
75
  'desc' => __( 'Button text - product archive (category) view', 'woocommerce-jetpack' ),
76
  'id' => 'wcj_add_to_cart_per_category_text_archive_group_' . $i,
77
  'default' => '',
78
  'type' => 'textarea',
79
- 'css' => 'width:20%;min-width:200px;',
80
  ),
81
  ) );
82
  }
@@ -153,7 +149,6 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
153
  'desc_tip' => __( 'Leave blank to disable.', 'woocommerce-jetpack' ) . ' ' . __( 'Default: ', 'woocommerce-jetpack' ) . $group_by_product_type['default'],
154
  'default' => $group_by_product_type['default'],
155
  'type' => 'text',
156
- 'css' => 'width:30%;min-width:300px;',
157
  ),
158
  array(
159
  'id' => 'wcj_add_to_cart_text_on_archives_' . $group_by_product_type['id'],
@@ -161,18 +156,23 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
161
  'desc_tip' => __( 'Leave blank to disable.', 'woocommerce-jetpack' ) . ' ' . __( 'Default: ', 'woocommerce-jetpack' ) . $group_by_product_type['default'],
162
  'default' => $group_by_product_type['default'],
163
  'type' => 'text',
164
- 'css' => 'width:30%;min-width:300px;',
165
  ),
166
  ) );
167
  if ( 'variable' !== $group_by_product_type['id'] )
168
  $settings = array_merge( $settings, array(
 
 
 
 
 
 
 
169
  array(
170
  'desc' => __( 'Products on sale. Single product view.', 'woocommerce-jetpack' ),
171
  'desc_tip' => __( 'Leave blank to disable. Default: Add to cart', 'woocommerce-jetpack' ),
172
  'id' => 'wcj_add_to_cart_text_on_single_sale_' . $group_by_product_type['id'],
173
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
174
  'type' => 'text',
175
- 'css' => 'width:30%;min-width:300px;',
176
  ),
177
  array(
178
  'desc' => __( 'Products on sale. Product category (archive) view.', 'woocommerce-jetpack' ),
@@ -180,7 +180,6 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
180
  'id' => 'wcj_add_to_cart_text_on_archives_sale_' . $group_by_product_type['id'],
181
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
182
  'type' => 'text',
183
- 'css' => 'width:30%;min-width:300px;',
184
  ),
185
  array(
186
  'desc' => __( 'Products with price set to 0 (i.e. free). Single product view.', 'woocommerce-jetpack' ),
@@ -188,7 +187,6 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
188
  'id' => 'wcj_add_to_cart_text_on_single_zero_price_' . $group_by_product_type['id'],
189
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
190
  'type' => 'text',
191
- 'css' => 'width:30%;min-width:300px;',
192
  ),
193
  array(
194
  'desc' => __( 'Products with price set to 0 (i.e. free). Product category (archive) view.', 'woocommerce-jetpack' ),
@@ -196,15 +194,13 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
196
  'id' => 'wcj_add_to_cart_text_on_archives_zero_price_' . $group_by_product_type['id'],
197
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
198
  'type' => 'text',
199
- 'css' => 'width:30%;min-width:300px;',
200
  ),
201
  array(
202
  'desc' => __( 'Products with empty price. Product category (archive) view.', 'woocommerce-jetpack' ),
203
  'desc_tip' => __( 'Leave blank to disable. Default: Read More', 'woocommerce-jetpack' ),
204
  'id' => 'wcj_add_to_cart_text_on_archives_no_price_' . $group_by_product_type['id'],
205
- 'default' => __( 'Read More', 'woocommerce-jetpack' ),
206
  'type' => 'text',
207
- 'css' => 'width:30%;min-width:300px;',
208
  ),
209
  ) );
210
  if ( 'external' === $group_by_product_type['id'] ) {
@@ -219,7 +215,6 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
219
  __( 'Default: ', 'woocommerce-jetpack' ) . __( 'Add to cart', 'woocommerce-jetpack' ),
220
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
221
  'type' => 'text',
222
- 'css' => 'width:30%;min-width:300px;',
223
  ),
224
  array(
225
  'id' => 'wcj_add_to_cart_text_on_archives_in_cart_' . $group_by_product_type['id'],
@@ -229,7 +224,6 @@ foreach ( $groups_by_product_type as $group_by_product_type ) {
229
  __( 'Default: ', 'woocommerce-jetpack' ) . __( 'Add to cart', 'woocommerce-jetpack' ),
230
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
231
  'type' => 'text',
232
- 'css' => 'width:30%;min-width:300px;',
233
  ),
234
  ) );
235
  }
2
  /**
3
  * Booster for WooCommerce - Settings - Add to Cart
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
35
  is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
36
  array( 'step' => '1', 'min' => '1' )
37
  ),
 
38
  ),
39
  );
40
  $product_cats = array();
60
  'default' => '',
61
  'type' => 'multiselect',
62
  'class' => 'chosen_select',
 
63
  'options' => $product_cats,
64
  ),
65
  array(
67
  'id' => 'wcj_add_to_cart_per_category_text_single_group_' . $i,
68
  'default' => '',
69
  'type' => 'textarea',
 
70
  ),
71
  array(
72
  'desc' => __( 'Button text - product archive (category) view', 'woocommerce-jetpack' ),
73
  'id' => 'wcj_add_to_cart_per_category_text_archive_group_' . $i,
74
  'default' => '',
75
  'type' => 'textarea',
 
76
  ),
77
  ) );
78
  }
149
  'desc_tip' => __( 'Leave blank to disable.', 'woocommerce-jetpack' ) . ' ' . __( 'Default: ', 'woocommerce-jetpack' ) . $group_by_product_type['default'],
150
  'default' => $group_by_product_type['default'],
151
  'type' => 'text',
 
152
  ),
153
  array(
154
  'id' => 'wcj_add_to_cart_text_on_archives_' . $group_by_product_type['id'],
156
  'desc_tip' => __( 'Leave blank to disable.', 'woocommerce-jetpack' ) . ' ' . __( 'Default: ', 'woocommerce-jetpack' ) . $group_by_product_type['default'],
157
  'default' => $group_by_product_type['default'],
158
  'type' => 'text',
 
159
  ),
160
  ) );
161
  if ( 'variable' !== $group_by_product_type['id'] )
162
  $settings = array_merge( $settings, array(
163
+ array(
164
+ 'desc' => __( 'Products not in stock. Product category (archive) view.', 'woocommerce-jetpack' ),
165
+ 'desc_tip' => __( 'Leave blank to disable. Default: Add to cart', 'woocommerce-jetpack' ),
166
+ 'id' => 'wcj_add_to_cart_text_on_archives_not_in_stock_' . $group_by_product_type['id'],
167
+ 'default' => __( 'Read more', 'woocommerce-jetpack' ),
168
+ 'type' => 'text',
169
+ ),
170
  array(
171
  'desc' => __( 'Products on sale. Single product view.', 'woocommerce-jetpack' ),
172
  'desc_tip' => __( 'Leave blank to disable. Default: Add to cart', 'woocommerce-jetpack' ),
173
  'id' => 'wcj_add_to_cart_text_on_single_sale_' . $group_by_product_type['id'],
174
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
175
  'type' => 'text',
 
176
  ),
177
  array(
178
  'desc' => __( 'Products on sale. Product category (archive) view.', 'woocommerce-jetpack' ),
180
  'id' => 'wcj_add_to_cart_text_on_archives_sale_' . $group_by_product_type['id'],
181
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
182
  'type' => 'text',
 
183
  ),
184
  array(
185
  'desc' => __( 'Products with price set to 0 (i.e. free). Single product view.', 'woocommerce-jetpack' ),
187
  'id' => 'wcj_add_to_cart_text_on_single_zero_price_' . $group_by_product_type['id'],
188
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
189
  'type' => 'text',
 
190
  ),
191
  array(
192
  'desc' => __( 'Products with price set to 0 (i.e. free). Product category (archive) view.', 'woocommerce-jetpack' ),
194
  'id' => 'wcj_add_to_cart_text_on_archives_zero_price_' . $group_by_product_type['id'],
195
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
196
  'type' => 'text',
 
197
  ),
198
  array(
199
  'desc' => __( 'Products with empty price. Product category (archive) view.', 'woocommerce-jetpack' ),
200
  'desc_tip' => __( 'Leave blank to disable. Default: Read More', 'woocommerce-jetpack' ),
201
  'id' => 'wcj_add_to_cart_text_on_archives_no_price_' . $group_by_product_type['id'],
202
+ 'default' => __( 'Read more', 'woocommerce-jetpack' ),
203
  'type' => 'text',
 
204
  ),
205
  ) );
206
  if ( 'external' === $group_by_product_type['id'] ) {
215
  __( 'Default: ', 'woocommerce-jetpack' ) . __( 'Add to cart', 'woocommerce-jetpack' ),
216
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
217
  'type' => 'text',
 
218
  ),
219
  array(
220
  'id' => 'wcj_add_to_cart_text_on_archives_in_cart_' . $group_by_product_type['id'],
224
  __( 'Default: ', 'woocommerce-jetpack' ) . __( 'Add to cart', 'woocommerce-jetpack' ),
225
  'default' => __( 'Add to cart', 'woocommerce-jetpack' ),
226
  'type' => 'text',
 
227
  ),
228
  ) );
229
  }
includes/settings/wcj-settings-checkout-files-upload.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Checkout Files Upload
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -422,6 +422,17 @@ $settings = array_merge( $settings, array(
422
  'type' => 'title',
423
  'id' => 'wcj_checkout_files_upload_advanced_options',
424
  ),
 
 
 
 
 
 
 
 
 
 
 
425
  array(
426
  'title' => __( 'Block Potentially Harmful Files', 'woocommerce-jetpack' ),
427
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Settings - Checkout Files Upload
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
422
  'type' => 'title',
423
  'id' => 'wcj_checkout_files_upload_advanced_options',
424
  ),
425
+ array(
426
+ 'title' => __( 'Notice Type', 'woocommerce-jetpack' ),
427
+ 'id' => 'wcj_checkout_files_upload_notice_type',
428
+ 'default' => 'wc_add_notice',
429
+ 'type' => 'select',
430
+ 'options' => array(
431
+ 'wc_add_notice' => __( 'Add notice', 'woocommerce-jetpack' ),
432
+ 'wc_print_notice' => __( 'Print notice', 'woocommerce-jetpack' ),
433
+ 'disable' => __( 'Disable notice', 'woocommerce-jetpack' ),
434
+ ),
435
+ ),
436
  array(
437
  'title' => __( 'Block Potentially Harmful Files', 'woocommerce-jetpack' ),
438
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
includes/settings/wcj-settings-cross-sells.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Cross-sells
4
  *
5
- * @version 3.6.0
6
  * @since 3.5.3
7
  * @author Algoritmika Ltd.
8
  */
@@ -95,7 +95,7 @@ if ( ! WCJ_IS_WC_VERSION_BELOW_3 ) {
95
  array(
96
  'title' => __( 'Global Cross-sells', 'woocommerce-jetpack' ),
97
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
98
- 'desc_tip' => __( 'Enable this section if you want to add same cross-sells to all products.', 'woocommerce-jetpack' ) . ' ' .
99
  apply_filters( 'booster_message', '', 'desc' ),
100
  'type' => 'checkbox',
101
  'id' => 'wcj_cross_sells_global_enabled',
@@ -110,6 +110,29 @@ if ( ! WCJ_IS_WC_VERSION_BELOW_3 ) {
110
  'class' => 'chosen_select',
111
  'options' => wcj_get_products(),
112
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  ) );
114
  }
115
  $settings = array_merge( $settings, array(
2
  /**
3
  * Booster for WooCommerce - Settings - Cross-sells
4
  *
5
+ * @version 3.9.0
6
  * @since 3.5.3
7
  * @author Algoritmika Ltd.
8
  */
95
  array(
96
  'title' => __( 'Global Cross-sells', 'woocommerce-jetpack' ),
97
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
98
+ 'desc_tip' => __( 'Enable this section, if you want to add same cross-sells to all products.', 'woocommerce-jetpack' ) . '<br>' .
99
  apply_filters( 'booster_message', '', 'desc' ),
100
  'type' => 'checkbox',
101
  'id' => 'wcj_cross_sells_global_enabled',
110
  'class' => 'chosen_select',
111
  'options' => wcj_get_products(),
112
  ),
113
+ array(
114
+ 'title' => __( 'Exclude "Not in Stock" Products', 'woocommerce-jetpack' ),
115
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
116
+ 'desc_tip' => __( 'Enable this, if you want to exclude "not in stock" products from cross-sells.', 'woocommerce-jetpack' ) . '<br>' .
117
+ apply_filters( 'booster_message', '', 'desc' ),
118
+ 'type' => 'checkbox',
119
+ 'id' => 'wcj_cross_sells_exclude_not_in_stock',
120
+ 'default' => 'no',
121
+ 'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
122
+ ),
123
+ array(
124
+ 'title' => __( 'Replace Cart Products with Cross-sells', 'woocommerce-jetpack' ),
125
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
126
+ 'desc_tip' => __( 'Enable this, if you want original products to be removed from cart and replaced with cross-sells, if customer adds cross-sells on cart page.', 'woocommerce-jetpack' ) . '<br>' .
127
+ sprintf( __( 'Please note that this option will work only if "%s" option is disabled in %s.', 'woocommerce-jetpack' ),
128
+ __( 'Enable AJAX add to cart buttons on archives', 'woocommerce' ), '<a href="' . admin_url( 'admin.php?page=wc-settings&tab=products' ) . '">' .
129
+ __( 'WooCommerce > Settings > Products > General > Shop pages > Add to cart behaviour', 'woocommerce-jetpack' ) . '</a>' ) . '<br>' .
130
+ apply_filters( 'booster_message', '', 'desc' ),
131
+ 'type' => 'checkbox',
132
+ 'id' => 'wcj_cross_sells_replace_with_cross_sells',
133
+ 'default' => 'no',
134
+ 'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
135
+ ),
136
  ) );
137
  }
138
  $settings = array_merge( $settings, array(
includes/settings/wcj-settings-currency-exchange-rates.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Currency Exchange Rates
4
  *
5
- * @version 3.6.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo add "rounding" and "fixed offset" options for each pair separately (and option to enable/disable these per pair extra settings)
@@ -120,7 +120,7 @@ $settings = array(
120
  ),
121
  );
122
  // Additional (custom) currencies
123
- $all_currencies = wcj_get_currencies_names_and_symbols();
124
  $settings = array_merge( $settings, array(
125
  array(
126
  'title' => __( 'Total Custom Currencies', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Settings - Currency Exchange Rates
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo add "rounding" and "fixed offset" options for each pair separately (and option to enable/disable these per pair extra settings)
120
  ),
121
  );
122
  // Additional (custom) currencies
123
+ $all_currencies = wcj_get_woocommerce_currencies_and_symbols();
124
  $settings = array_merge( $settings, array(
125
  array(
126
  'title' => __( 'Total Custom Currencies', 'woocommerce-jetpack' ),
includes/settings/wcj-settings-currency-external-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Currency for External Products
4
  *
5
- * @version 2.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -22,7 +22,7 @@ return array(
22
  'id' => 'wcj_currency_external_products_symbol', // mislabeled, should be 'wcj_currency_external_products_code'
23
  'default' => 'EUR',
24
  'type' => 'select',
25
- 'options' => wcj_get_currencies_names_and_symbols(),
26
  ),
27
  array(
28
  'type' => 'sectionend',
2
  /**
3
  * Booster for WooCommerce - Settings - Currency for External Products
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
22
  'id' => 'wcj_currency_external_products_symbol', // mislabeled, should be 'wcj_currency_external_products_code'
23
  'default' => 'EUR',
24
  'type' => 'select',
25
+ 'options' => wcj_get_woocommerce_currencies_and_symbols(),
26
  ),
27
  array(
28
  'type' => 'sectionend',
includes/settings/wcj-settings-currency-per-product.php CHANGED
@@ -2,15 +2,15 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Currency per Product
4
  *
5
- * @version 3.7.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
- $currency_from = get_woocommerce_currency();
13
- $all_currencies = wcj_get_currencies_names_and_symbols();
14
  /*
15
  foreach ( $all_currencies as $currency_key => $currency_name ) {
16
  if ( $currency_from == $currency_key ) {
2
  /**
3
  * Booster for WooCommerce - Settings - Currency per Product
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
+ $currency_from = get_woocommerce_currency();
13
+ $all_currencies = wcj_get_woocommerce_currencies_and_symbols();
14
  /*
15
  foreach ( $all_currencies as $currency_key => $currency_name ) {
16
  if ( $currency_from == $currency_key ) {
includes/settings/wcj-settings-currency.php CHANGED
@@ -2,10 +2,9 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Currencies
4
  *
5
- * @version 2.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
- * @todo add virtual currencies to "All Currencies for WC" plugin
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -14,37 +13,40 @@ $settings = array(
14
  array(
15
  'title' => __( 'Currency Symbol Options', 'woocommerce-jetpack' ),
16
  'type' => 'title',
 
 
17
  'id' => 'wcj_all_currencies_list_options',
18
  ),
19
  array(
20
  'title' => __( 'Hide Currency Symbol', 'woocommerce-jetpack' ),
21
  'desc' => __( 'Hide', 'woocommerce-jetpack' ),
22
- 'desc_tip' => __( 'Default: no.', 'woocommerce-jetpack' ),
23
  'id' => 'wcj_currency_hide_symbol',
24
  'default' => 'no',
25
  'type' => 'checkbox',
26
  ),
27
  );
28
- $currency_names = wcj_get_currencies_names_and_symbols( 'names', 'no_custom' );
29
- $currency_symbols = wcj_get_currencies_names_and_symbols( 'symbols', 'no_custom' );
30
- $countries = wcj_get_currency_countries();
31
  foreach ( $currency_names as $currency_code => $currency_name ) {
32
- $country_flag = ( 'EUR' === $currency_code ?
33
- wcj_get_country_flag_by_code( 'EU' ) :
34
- ( isset( $countries[ $currency_code ] ) ? wcj_get_country_flag_by_code( $countries[ $currency_code ][0] ) : '' )
35
- );
36
  $settings = array_merge( $settings, array(
37
  array(
38
  'title' => $currency_name . ' [' . $currency_code . ']',
39
  'desc' => $country_flag,
40
  'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
41
  'id' => 'wcj_currency_' . $currency_code,
42
- 'default' => $currency_symbols[ $currency_code ],
43
  'type' => 'text',
44
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
45
  ),
46
  ) );
47
  }
 
48
  $settings = array_merge( $settings, array(
49
  array(
50
  'type' => 'sectionend',
@@ -75,14 +77,12 @@ for ( $i = 1; $i <= $custom_currency_total_number; $i++ ) {
75
  'type' => 'text',
76
  ),
77
  array(
78
- 'title' => '',
79
  'desc' => __( 'Currency Code (required)', 'woocommerce-jetpack' ),
80
  'id' => 'wcj_currency_custom_currency_code_' . $i,
81
  'default' => '',
82
  'type' => 'text',
83
  ),
84
  array(
85
- 'title' => '',
86
  'desc' => __( 'Currency Symbol', 'woocommerce-jetpack' ),
87
  'id' => 'wcj_currency_custom_currency_symbol_' . $i,
88
  'default' => '',
2
  /**
3
  * Booster for WooCommerce - Settings - Currencies
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
 
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
13
  array(
14
  'title' => __( 'Currency Symbol Options', 'woocommerce-jetpack' ),
15
  'type' => 'title',
16
+ 'desc' => sprintf( __( 'You can use shortcodes in currency symbols, e.g.: %s.', 'woocommerce-jetpack' ),
17
+ '<code>[wcj_wpml lang="EN"]$[/wcj_wpml][wcj_wpml not_lang="EN"]USD[/wcj_wpml]</code>' ),
18
  'id' => 'wcj_all_currencies_list_options',
19
  ),
20
  array(
21
  'title' => __( 'Hide Currency Symbol', 'woocommerce-jetpack' ),
22
  'desc' => __( 'Hide', 'woocommerce-jetpack' ),
23
+ 'desc_tip' => __( 'Hides currency symbol completely.', 'woocommerce-jetpack' ),
24
  'id' => 'wcj_currency_hide_symbol',
25
  'default' => 'no',
26
  'type' => 'checkbox',
27
  ),
28
  );
29
+ $currency_names = array_diff_key( array_merge( get_woocommerce_currencies(), $this->get_additional_currencies() ), $this->get_custom_currencies() );
30
+ $countries = wcj_get_currency_countries();
31
+ remove_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol'), PHP_INT_MAX, 2 );
32
  foreach ( $currency_names as $currency_code => $currency_name ) {
33
+ $country_flag = ( 'EUR' === $currency_code ?
34
+ wcj_get_country_flag_by_code( 'EU' ) : ( isset( $countries[ $currency_code ] ) ? wcj_get_country_flag_by_code( $countries[ $currency_code ][0] ) : '' ) );
35
+ $default_symbol = ( in_array( $currency_code, array_keys( $this->get_additional_currencies() ) ) ?
36
+ $this->get_additional_currency_symbol( $currency_code ) : get_woocommerce_currency_symbol( $currency_code ) );
37
  $settings = array_merge( $settings, array(
38
  array(
39
  'title' => $currency_name . ' [' . $currency_code . ']',
40
  'desc' => $country_flag,
41
  'desc_tip' => apply_filters( 'booster_message', '', 'desc_no_link' ),
42
  'id' => 'wcj_currency_' . $currency_code,
43
+ 'default' => $default_symbol,
44
  'type' => 'text',
45
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
46
  ),
47
  ) );
48
  }
49
+ add_filter( 'woocommerce_currency_symbol', array( $this, 'change_currency_symbol'), PHP_INT_MAX, 2 );
50
  $settings = array_merge( $settings, array(
51
  array(
52
  'type' => 'sectionend',
77
  'type' => 'text',
78
  ),
79
  array(
 
80
  'desc' => __( 'Currency Code (required)', 'woocommerce-jetpack' ),
81
  'id' => 'wcj_currency_custom_currency_code_' . $i,
82
  'default' => '',
83
  'type' => 'text',
84
  ),
85
  array(
 
86
  'desc' => __( 'Currency Symbol', 'woocommerce-jetpack' ),
87
  'id' => 'wcj_currency_custom_currency_symbol_' . $i,
88
  'default' => '',
includes/settings/wcj-settings-emails-verification.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Email Verification
4
  *
5
- * @version 3.6.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -32,12 +32,20 @@ return array(
32
  'default' => 'no',
33
  ),
34
  array(
35
- 'title' => __( 'Redirect to "My Account" Page After Successful Verification', 'woocommerce-jetpack' ),
36
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
37
  'type' => 'checkbox',
38
- 'id' => 'wcj_emails_verification_redirect_on_success',
39
  'default' => 'yes',
40
  ),
 
 
 
 
 
 
 
 
41
  array(
42
  'type' => 'sectionend',
43
  'id' => 'wcj_emails_verification_general_options',
@@ -52,7 +60,7 @@ return array(
52
  'type' => 'custom_textarea',
53
  'id' => 'wcj_emails_verification_success_message',
54
  'default' => __( '<strong>Success:</strong> Your account has been activated!', 'woocommerce-jetpack' ),
55
- 'css' => 'width:66%;min-width:300px;',
56
  ),
57
  array(
58
  'title' => __( 'Message - Error', 'woocommerce-jetpack' ),
@@ -60,7 +68,7 @@ return array(
60
  'type' => 'custom_textarea',
61
  'id' => 'wcj_emails_verification_error_message',
62
  'default' => __( 'Your account has to be activated before you can login. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' ),
63
- 'css' => 'width:66%;min-width:300px;',
64
  ),
65
  array(
66
  'title' => __( 'Message - Failed', 'woocommerce-jetpack' ),
@@ -68,21 +76,28 @@ return array(
68
  'type' => 'custom_textarea',
69
  'id' => 'wcj_emails_verification_failed_message',
70
  'default' => __( '<strong>Error:</strong> Activation failed, please contact our administrator. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' ),
71
- 'css' => 'width:66%;min-width:300px;',
 
 
 
 
 
 
 
72
  ),
73
  array(
74
  'title' => __( 'Message - Activate', 'woocommerce-jetpack' ),
75
  'type' => 'custom_textarea',
76
  'id' => 'wcj_emails_verification_activation_message',
77
  'default' => __( 'Thank you for your registration. Your account has to be activated before you can login. Please check your email.', 'woocommerce-jetpack' ),
78
- 'css' => 'width:66%;min-width:300px;',
79
  ),
80
  array(
81
  'title' => __( 'Message - Resend', 'woocommerce-jetpack' ),
82
  'type' => 'custom_textarea',
83
  'id' => 'wcj_emails_verification_email_resend_message',
84
- 'default' => __( '<strong>Success:</strong> Your activation email has been resend. Please check your email.', 'woocommerce-jetpack' ),
85
- 'css' => 'width:66%;min-width:300px;',
86
  ),
87
  array(
88
  'type' => 'sectionend',
@@ -98,7 +113,7 @@ return array(
98
  'type' => 'custom_textarea',
99
  'id' => 'wcj_emails_verification_email_subject',
100
  'default' => __( 'Please activate your account', 'woocommerce-jetpack' ),
101
- 'css' => 'width:66%;min-width:300px;',
102
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
103
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
104
  ),
@@ -108,7 +123,7 @@ return array(
108
  'type' => 'custom_textarea',
109
  'id' => 'wcj_emails_verification_email_content',
110
  'default' => __( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
111
- 'css' => 'width:66%;min-width:300px;height:150px;',
112
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
113
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
114
  ),
@@ -130,7 +145,7 @@ return array(
130
  'id' => 'wcj_emails_verification_email_template_wc_heading',
131
  'type' => 'custom_textarea',
132
  'default' => __( 'Activate your account', 'woocommerce-jetpack' ),
133
- 'css' => 'width:66%;min-width:300px;',
134
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
135
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
136
  ),
2
  /**
3
  * Booster for WooCommerce - Settings - Email Verification
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
32
  'default' => 'no',
33
  ),
34
  array(
35
+ 'title' => __( 'Login User After Successful Verification', 'woocommerce-jetpack' ),
36
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
37
  'type' => 'checkbox',
38
+ 'id' => 'wcj_emails_verification_redirect_on_success', // mislabelled - should be `wcj_emails_verification_login_on_success`
39
  'default' => 'yes',
40
  ),
41
+ array(
42
+ 'title' => __( 'Redirect User After Successful Verification to Custom URL', 'woocommerce-jetpack' ),
43
+ 'desc_tip' => __( 'Redirect URL. Ignored if empty.', 'woocommerce-jetpack' ),
44
+ 'type' => 'text',
45
+ 'id' => 'wcj_emails_verification_redirect_on_success_custom_url',
46
+ 'default' => '',
47
+ 'css' => 'width:100%',
48
+ ),
49
  array(
50
  'type' => 'sectionend',
51
  'id' => 'wcj_emails_verification_general_options',
60
  'type' => 'custom_textarea',
61
  'id' => 'wcj_emails_verification_success_message',
62
  'default' => __( '<strong>Success:</strong> Your account has been activated!', 'woocommerce-jetpack' ),
63
+ 'css' => 'width:100%',
64
  ),
65
  array(
66
  'title' => __( 'Message - Error', 'woocommerce-jetpack' ),
68
  'type' => 'custom_textarea',
69
  'id' => 'wcj_emails_verification_error_message',
70
  'default' => __( 'Your account has to be activated before you can login. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' ),
71
+ 'css' => 'width:100%',
72
  ),
73
  array(
74
  'title' => __( 'Message - Failed', 'woocommerce-jetpack' ),
76
  'type' => 'custom_textarea',
77
  'id' => 'wcj_emails_verification_failed_message',
78
  'default' => __( '<strong>Error:</strong> Activation failed, please contact our administrator. You can resend email with verification link by clicking <a href="%resend_verification_url%">here</a>.', 'woocommerce-jetpack' ),
79
+ 'css' => 'width:100%',
80
+ ),
81
+ array(
82
+ 'title' => __( 'Message - Failed (no user ID)', 'woocommerce-jetpack' ),
83
+ 'type' => 'custom_textarea',
84
+ 'id' => 'wcj_emails_verification_failed_message_no_user_id',
85
+ 'default' => __( '<strong>Error:</strong> Activation failed, please contact our administrator.', 'woocommerce-jetpack' ),
86
+ 'css' => 'width:100%',
87
  ),
88
  array(
89
  'title' => __( 'Message - Activate', 'woocommerce-jetpack' ),
90
  'type' => 'custom_textarea',
91
  'id' => 'wcj_emails_verification_activation_message',
92
  'default' => __( 'Thank you for your registration. Your account has to be activated before you can login. Please check your email.', 'woocommerce-jetpack' ),
93
+ 'css' => 'width:100%',
94
  ),
95
  array(
96
  'title' => __( 'Message - Resend', 'woocommerce-jetpack' ),
97
  'type' => 'custom_textarea',
98
  'id' => 'wcj_emails_verification_email_resend_message',
99
+ 'default' => __( '<strong>Success:</strong> Your activation email has been resent. Please check your email.', 'woocommerce-jetpack' ),
100
+ 'css' => 'width:100%',
101
  ),
102
  array(
103
  'type' => 'sectionend',
113
  'type' => 'custom_textarea',
114
  'id' => 'wcj_emails_verification_email_subject',
115
  'default' => __( 'Please activate your account', 'woocommerce-jetpack' ),
116
+ 'css' => 'width:100%',
117
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
118
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
119
  ),
123
  'type' => 'custom_textarea',
124
  'id' => 'wcj_emails_verification_email_content',
125
  'default' => __( 'Please click the following link to verify your email:<br><br><a href="%verification_url%">%verification_url%</a>', 'woocommerce-jetpack' ),
126
+ 'css' => 'width:100%;height:150px',
127
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
128
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
129
  ),
145
  'id' => 'wcj_emails_verification_email_template_wc_heading',
146
  'type' => 'custom_textarea',
147
  'default' => __( 'Activate your account', 'woocommerce-jetpack' ),
148
+ 'css' => 'width:100%',
149
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
150
  'custom_attributes' => apply_filters( 'booster_message', '', 'readonly' ),
151
  ),
includes/settings/wcj-settings-general.php CHANGED
@@ -6,30 +6,10 @@
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo add link to Booster's shortcodes list
9
- * @todo clean up
10
  */
11
 
12
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
13
 
14
- /*
15
- $links_html = '';
16
- if ( class_exists( 'RecursiveIteratorIterator' ) && class_exists( 'RecursiveDirectoryIterator' ) ) {
17
- $dir = untrailingslashit( realpath( plugin_dir_path( __FILE__ ) . '/../../woocommerce/templates' ) );
18
- $rii = new RecursiveIteratorIterator( new RecursiveDirectoryIterator( $dir ) );
19
- foreach ( $rii as $file ) {
20
- $the_name = str_replace( $dir, '', $file->getPathname() );
21
- $the_name_link = str_replace( DIRECTORY_SEPARATOR, '%2F', $the_name );
22
- if ( $file->isDir() ) {
23
- /* $links_html .= '<strong>' . $the_name . '</strong>' . PHP_EOL; *//*
24
- } else {
25
- $links_html .= '<a href="' . get_admin_url( null, 'plugin-editor.php?file=woocommerce' . '%2F' . 'templates' . $the_name_link . '&plugin=woocommerce' ) . '">' .
26
- 'templates' . $the_name . '</a>' . PHP_EOL;
27
- }
28
- }
29
- } else {
30
- $links_html = __( 'PHP 5 is required.', 'woocommerce-jetpack' );
31
- }
32
- */
33
  $settings = array(
34
  array(
35
  'title' => __( 'Shortcodes Options', 'woocommerce-jetpack' ),
@@ -210,22 +190,5 @@ $settings = array(
210
  'type' => 'sectionend',
211
  'id' => 'wcj_general_user_role_changer_options',
212
  ),
213
- /*
214
- array(
215
- 'title' => __( 'WooCommerce Templates Editor Links', 'woocommerce-jetpack' ),
216
- 'type' => 'title',
217
- 'id' => 'wcj_general_wc_templates_editor_links_options',
218
- ),
219
- array(
220
- 'title' => __( 'Templates', 'woocommerce-jetpack' ),
221
- 'id' => 'wcj_general_wc_templates_editor_links',
222
- 'type' => 'custom_link',
223
- 'link' => '<pre>' . $links_html . '</pre>',
224
- ),
225
- array(
226
- 'type' => 'sectionend',
227
- 'id' => 'wcj_general_wc_templates_editor_links_options',
228
- ),
229
- */
230
  );
231
  return $settings;
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo add link to Booster's shortcodes list
 
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  $settings = array(
14
  array(
15
  'title' => __( 'Shortcodes Options', 'woocommerce-jetpack' ),
190
  'type' => 'sectionend',
191
  'id' => 'wcj_general_user_role_changer_options',
192
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  );
194
  return $settings;
includes/settings/wcj-settings-global-discount.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Global Discount
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -170,4 +170,22 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_global_
170
  ),
171
  ) );
172
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  return $settings;
2
  /**
3
  * Booster for WooCommerce - Settings - Global Discount
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
170
  ),
171
  ) );
172
  }
173
+ $settings = array_merge( $settings, array(
174
+ array(
175
+ 'title' => __( 'Advanced Settings', 'woocommerce-jetpack' ),
176
+ 'type' => 'title',
177
+ 'id' => 'wcj_global_discount_advanced_options',
178
+ ),
179
+ array(
180
+ 'title' => __( 'Price Filters Priority', 'woocommerce-jetpack' ),
181
+ 'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
182
+ 'id' => 'wcj_global_discount_advanced_price_hooks_priority',
183
+ 'default' => 0,
184
+ 'type' => 'number',
185
+ ),
186
+ array(
187
+ 'type' => 'sectionend',
188
+ 'id' => 'wcj_global_discount_advanced_options',
189
+ ),
190
+ ) );
191
  return $settings;
includes/settings/wcj-settings-left-to-free-shipping.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Left to Free Shipping
4
  *
5
- * @version 3.5.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -116,6 +116,8 @@ return array(
116
  'woocommerce_checkout_after_customer_details' => __( 'After customer details', 'woocommerce-jetpack' ),
117
  'woocommerce_checkout_before_order_review' => __( 'Before order review', 'woocommerce-jetpack' ),
118
  'woocommerce_checkout_order_review' => __( 'Order review', 'woocommerce-jetpack' ),
 
 
119
  'woocommerce_checkout_after_order_review' => __( 'After order review', 'woocommerce-jetpack' ),
120
  'woocommerce_after_checkout_form' => __( 'After checkout form', 'woocommerce-jetpack' ),
121
  ),
2
  /**
3
  * Booster for WooCommerce - Settings - Left to Free Shipping
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
116
  'woocommerce_checkout_after_customer_details' => __( 'After customer details', 'woocommerce-jetpack' ),
117
  'woocommerce_checkout_before_order_review' => __( 'Before order review', 'woocommerce-jetpack' ),
118
  'woocommerce_checkout_order_review' => __( 'Order review', 'woocommerce-jetpack' ),
119
+ 'woocommerce_review_order_before_submit' => __( 'Order review: Payment: Before submit button', 'woocommerce-jetpack' ),
120
+ 'woocommerce_review_order_after_submit' => __( 'Order review: Payment: After submit button', 'woocommerce-jetpack' ),
121
  'woocommerce_checkout_after_order_review' => __( 'After order review', 'woocommerce-jetpack' ),
122
  'woocommerce_after_checkout_form' => __( 'After checkout form', 'woocommerce-jetpack' ),
123
  ),
includes/settings/wcj-settings-multicurrency-base-price.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Multicurrency Product Base Price
4
  *
5
- * @version 3.7.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) `if ( isset( $all_currencies[ $currency_from ] ) ) { unset( $all_currencies[ $currency_from ] ); }`
@@ -11,7 +11,7 @@
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
 
13
  $currency_from = get_woocommerce_currency();
14
- $all_currencies = wcj_get_currencies_names_and_symbols();
15
  $settings = array(
16
  array(
17
  'title' => __( 'Options', 'woocommerce-jetpack' ),
@@ -63,6 +63,13 @@ $settings = array(
63
  'default' => 'no',
64
  'type' => 'checkbox',
65
  ),
 
 
 
 
 
 
 
66
  array(
67
  'type' => 'sectionend',
68
  'id' => 'wcj_multicurrency_base_price_options',
2
  /**
3
  * Booster for WooCommerce - Settings - Multicurrency Product Base Price
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) `if ( isset( $all_currencies[ $currency_from ] ) ) { unset( $all_currencies[ $currency_from ] ); }`
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
 
13
  $currency_from = get_woocommerce_currency();
14
+ $all_currencies = wcj_get_woocommerce_currencies_and_symbols();
15
  $settings = array(
16
  array(
17
  'title' => __( 'Options', 'woocommerce-jetpack' ),
63
  'default' => 'no',
64
  'type' => 'checkbox',
65
  ),
66
+ array(
67
+ 'title' => __( 'Advanced: Price Filters Priority', 'woocommerce-jetpack' ),
68
+ 'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
69
+ 'id' => 'wcj_multicurrency_base_price_advanced_price_hooks_priority',
70
+ 'default' => 0,
71
+ 'type' => 'number',
72
+ ),
73
  array(
74
  'type' => 'sectionend',
75
  'id' => 'wcj_multicurrency_base_price_options',
includes/settings/wcj-settings-multicurrency.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Multicurrency (Currency Switcher)
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo "pretty prices"
@@ -11,7 +11,7 @@
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
 
13
  $currency_from = get_woocommerce_currency();
14
- $all_currencies = wcj_get_currencies_names_and_symbols();
15
  $settings = array(
16
  array(
17
  'title' => __( 'General Options', 'woocommerce-jetpack' ),
@@ -56,12 +56,17 @@ $settings = array(
56
  'type' => 'checkbox',
57
  ),
58
  array(
59
- 'title' => __( 'Revert Currency to Default on Checkout', 'woocommerce-jetpack' ),
60
- 'desc_tip' => __( 'Enable this if you want prices to revert back to your shop\'s default currency, when customer reaches the checkout page.', 'woocommerce-jetpack' ),
61
- 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
62
  'id' => 'wcj_multicurrency_revert',
63
  'default' => 'no',
64
- 'type' => 'checkbox',
 
 
 
 
 
 
65
  ),
66
  array(
67
  'title' => __( 'Rounding', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Settings - Multicurrency (Currency Switcher)
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo "pretty prices"
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
 
13
  $currency_from = get_woocommerce_currency();
14
+ $all_currencies = wcj_get_woocommerce_currencies_and_symbols();
15
  $settings = array(
16
  array(
17
  'title' => __( 'General Options', 'woocommerce-jetpack' ),
56
  'type' => 'checkbox',
57
  ),
58
  array(
59
+ 'title' => __( 'Revert Currency to Shop\'s Default', 'woocommerce-jetpack' ),
60
+ 'desc_tip' => __( 'Enable this if you want prices to revert back to your shop\'s default currency, when customer reaches the cart and/or checkout page.', 'woocommerce-jetpack' ),
 
61
  'id' => 'wcj_multicurrency_revert',
62
  'default' => 'no',
63
+ 'type' => 'select',
64
+ 'options' => array(
65
+ 'no' => __( 'Do not revert', 'woocommerce-jetpack' ),
66
+ 'cart_only' => __( 'Revert on cart page only', 'woocommerce-jetpack' ),
67
+ 'yes' => __( 'Revert on checkout page only', 'woocommerce-jetpack' ),
68
+ 'cart_and_checkout' => __( 'Revert on both cart & checkout pages', 'woocommerce-jetpack' ),
69
+ ),
70
  ),
71
  array(
72
  'title' => __( 'Rounding', 'woocommerce-jetpack' ),
includes/settings/wcj-settings-payment-gateways-by-currency.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Gateways by Currency
4
  *
5
- * @version 3.3.0
6
  * @since 3.0.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -17,12 +17,14 @@ $settings = array(
17
  'id' => 'wcj_payment_gateways_by_currency_gateways_options',
18
  ),
19
  );
20
- $currencies = wcj_get_currencies_names_and_symbols();
21
  $gateways = WC()->payment_gateways->payment_gateways();
22
  $paypal_allowed_currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB' );
23
  $paypal_allowed_currencies_and_names = array();
24
  foreach ( $paypal_allowed_currencies as $paypal_allowed_currency ) {
25
- $paypal_allowed_currencies_and_names[] = $currencies[ $paypal_allowed_currency ];
 
 
26
  }
27
  $paypal_tip = sprintf( __( 'PayPal allows only these currencies: %s.', 'woocommerce-jetpack' ), '<br>' . implode( '<br>', $paypal_allowed_currencies_and_names ) );
28
  foreach ( $gateways as $key => $gateway ) {
2
  /**
3
  * Booster for WooCommerce - Settings - Gateways by Currency
4
  *
5
+ * @version 3.9.0
6
  * @since 3.0.0
7
  * @author Algoritmika Ltd.
8
  */
17
  'id' => 'wcj_payment_gateways_by_currency_gateways_options',
18
  ),
19
  );
20
+ $currencies = wcj_get_woocommerce_currencies_and_symbols();
21
  $gateways = WC()->payment_gateways->payment_gateways();
22
  $paypal_allowed_currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB' );
23
  $paypal_allowed_currencies_and_names = array();
24
  foreach ( $paypal_allowed_currencies as $paypal_allowed_currency ) {
25
+ if ( isset( $currencies[ $paypal_allowed_currency ] ) ) {
26
+ $paypal_allowed_currencies_and_names[] = $currencies[ $paypal_allowed_currency ];
27
+ }
28
  }
29
  $paypal_tip = sprintf( __( 'PayPal allows only these currencies: %s.', 'woocommerce-jetpack' ), '<br>' . implode( '<br>', $paypal_allowed_currencies_and_names ) );
30
  foreach ( $gateways as $key => $gateway ) {
includes/settings/wcj-settings-payment-gateways-currency.php CHANGED
@@ -1,10 +1,11 @@
1
  <?php
2
  /**
3
- * Booster for WooCommerce - Settings - Gateways Currency
4
  *
5
- * @version 3.2.4
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
 
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -17,9 +18,8 @@ $settings = array(
17
  'id' => 'wcj_payment_gateways_currency_options',
18
  ),
19
  );
20
- $currency_from = get_woocommerce_currency();
21
- global $woocommerce;
22
- $available_gateways = $woocommerce->payment_gateways->payment_gateways();
23
  foreach ( $available_gateways as $key => $gateway ) {
24
  $currency_to = get_option( 'wcj_gateways_currency_' . $key, get_woocommerce_currency() );
25
  $custom_attributes = array(
@@ -36,16 +36,14 @@ foreach ( $available_gateways as $key => $gateway ) {
36
  }
37
  $settings = array_merge( $settings, array(
38
  array(
39
- 'title' => $gateway->title,
40
- // 'desc' => __( 'currency', 'woocommerce-jetpack' ),
41
- 'id' => 'wcj_gateways_currency_' . $key,
42
- 'default' => 'no_changes', // get_woocommerce_currency(),
43
- 'type' => 'select',
44
- 'options' => array_merge( array( 'no_changes' => __( 'No changes', 'woocommerce-jetpack' ) ), wcj_get_currencies_names_and_symbols() ),
45
  ),
46
  array(
47
  'title' => '',
48
- // 'desc' => __( 'exchange rate', 'woocommerce-jetpack' ) . ' ' . $currency_from . ' / ' . $currency_to,
49
  'id' => 'wcj_gateways_currency_exchange_rate_' . $key,
50
  'default' => 1,
51
  'type' => 'exchange_rate',
@@ -65,10 +63,20 @@ $settings = array_merge( $settings, array(
65
  'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
66
  ),
67
  'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
68
- __( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies&section=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
 
 
69
  : apply_filters( 'booster_message', '', 'desc' ),
70
  'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
71
  ),
 
 
 
 
 
 
 
 
72
  array(
73
  'type' => 'sectionend',
74
  'id' => 'wcj_payment_gateways_currency_options',
1
  <?php
2
  /**
3
+ * Booster for WooCommerce - Settings - Gateways Currency Converter
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
+ * @todo [dev] maybe make "Advanced: Fix Chosen Payment Method" option enabled by default (or even remove option completely and always perform `$this->fix_chosen_payment_method()`)
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
18
  'id' => 'wcj_payment_gateways_currency_options',
19
  ),
20
  );
21
+ $currency_from = get_woocommerce_currency();
22
+ $available_gateways = WC()->payment_gateways->payment_gateways();
 
23
  foreach ( $available_gateways as $key => $gateway ) {
24
  $currency_to = get_option( 'wcj_gateways_currency_' . $key, get_woocommerce_currency() );
25
  $custom_attributes = array(
36
  }
37
  $settings = array_merge( $settings, array(
38
  array(
39
+ 'title' => $gateway->title,
40
+ 'id' => 'wcj_gateways_currency_' . $key,
41
+ 'default' => 'no_changes',
42
+ 'type' => 'select',
43
+ 'options' => array_merge( array( 'no_changes' => __( 'No changes', 'woocommerce-jetpack' ) ), wcj_get_woocommerce_currencies_and_symbols() ),
 
44
  ),
45
  array(
46
  'title' => '',
 
47
  'id' => 'wcj_gateways_currency_exchange_rate_' . $key,
48
  'default' => 1,
49
  'type' => 'exchange_rate',
63
  'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
64
  ),
65
  'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) ) ?
66
+ __( 'Visit', 'woocommerce-jetpack' ) .
67
+ ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies&section=currency_exchange_rates' ) . '">' .
68
+ __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
69
  : apply_filters( 'booster_message', '', 'desc' ),
70
  'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
71
  ),
72
+ array(
73
+ 'title' => __( 'Advanced: Fix "Chosen Payment Method"', 'woocommerce-jetpack' ),
74
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
75
+ 'desc_tip' => __( 'Enable this if you are having compatibility issues with some other plugins or modules.', 'woocommerce-jetpack' ),
76
+ 'id' => 'wcj_gateways_currency_fix_chosen_payment_method',
77
+ 'default' => 'no',
78
+ 'type' => 'checkbox',
79
+ ),
80
  array(
81
  'type' => 'sectionend',
82
  'id' => 'wcj_payment_gateways_currency_options',
includes/settings/wcj-settings-pdf-invoicing-advanced.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - PDF Invoicing - Advanced
4
  *
5
- * @version 3.8.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) create "Tools (Options)" submodule
@@ -90,7 +90,6 @@ return array(
90
  'type' => 'sectionend',
91
  'id' => 'wcj_pdf_invoicing_advanced_options',
92
  ),
93
- // $hook_time = date( 'Y-m-d H:i:s', get_option( 'wcj_download_tcpdf_fonts_hook_timestamp', null ) ); // for debug
94
  array(
95
  'title' => __( 'Fonts Manager', 'woocommerce-jetpack' ),
96
  'desc' => $fonts_manager_desc,
@@ -135,7 +134,7 @@ return array(
135
  'type' => 'checkbox',
136
  ),
137
  array(
138
- 'desc' => __( 'Add editable numbers', 'woocommerce-jetpack' ),
139
  'id' => 'wcj_invoicing_add_order_meta_box_numbering',
140
  'default' => 'yes',
141
  'type' => 'checkbox',
2
  /**
3
  * Booster for WooCommerce - Settings - PDF Invoicing - Advanced
4
  *
5
+ * @version 3.9.0
6
  * @since 3.3.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) create "Tools (Options)" submodule
90
  'type' => 'sectionend',
91
  'id' => 'wcj_pdf_invoicing_advanced_options',
92
  ),
 
93
  array(
94
  'title' => __( 'Fonts Manager', 'woocommerce-jetpack' ),
95
  'desc' => $fonts_manager_desc,
134
  'type' => 'checkbox',
135
  ),
136
  array(
137
+ 'desc' => __( 'Add editable numbers and dates', 'woocommerce-jetpack' ),
138
  'id' => 'wcj_invoicing_add_order_meta_box_numbering',
139
  'default' => 'yes',
140
  'type' => 'checkbox',
includes/settings/wcj-settings-price-by-country.php CHANGED
@@ -2,13 +2,29 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Prices and Currencies by Country
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  $settings = array(
13
  array(
14
  'title' => __( 'Price by Country Options', 'woocommerce-jetpack' ),
@@ -45,8 +61,8 @@ $settings = array(
45
  'default' => 'all',
46
  'type' => 'select',
47
  'options' => array(
48
- 'all' => __( 'All site', 'woocommerce-jetpack' ),
49
- 'checkout' => __( 'Checkout only', 'woocommerce-jetpack' ),
50
  ),
51
  ),
52
  array(
@@ -115,7 +131,7 @@ $settings = array(
115
  array(
116
  'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
117
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
118
- 'desc_tip' => '<a href="' . add_query_arg( 'recalculate_price_filter_products_prices', '1', remove_query_arg( array( 'wcj_generate_country_groups', 'wcj_generate_country_groups_confirm' ) ) ) . '">' .
119
  __( 'Recalculate price filter widget and sorting by price product prices', 'woocommerce-jetpack' ) . '</a>',
120
  'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
121
  'default' => 'no',
@@ -178,22 +194,7 @@ $settings = array(
178
  'title' => __( 'Autogenerate Groups', 'woocommerce-jetpack' ),
179
  'id' => 'wcj_' . $this->id . '_module_tools',
180
  'type' => 'custom_link',
181
- 'link' =>
182
- '<pre>' .
183
- __( 'Currencies supported in both PayPal and Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
184
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'paypal_and_yahoo_exchange_rates_only', remove_query_arg( array( 'wcj_generate_country_groups_confirm', 'recalculate_price_filter_products_prices' ) ) ) . '">' .
185
- __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
186
- '</pre>' .
187
- '<pre>' .
188
- __( 'Currencies supported in Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
189
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'yahoo_exchange_rates_only', remove_query_arg( array( 'wcj_generate_country_groups_confirm', 'recalculate_price_filter_products_prices' ) ) ) . '">' .
190
- __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
191
- '</pre>' .
192
- '<pre>' .
193
- __( 'All Countries and Currencies:', 'woocommerce-jetpack' ) . ' ' .
194
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'all', remove_query_arg( array( 'wcj_generate_country_groups_confirm', 'recalculate_price_filter_products_prices' ) ) ) . '">' .
195
- __( 'Generate', 'woocommerce-jetpack' ) . '</a>' .
196
- '</pre>',
197
  ),
198
  array(
199
  'title' => __( 'Groups Number', 'woocommerce-jetpack' ),
@@ -220,7 +221,7 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_b
220
  $settings[] = array(
221
  'title' => $admin_title . ( '' != get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ?
222
  ' (' . count( explode( ',', get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ) ) . ')' : '' ),
223
- 'desc' => __( 'Countries. List of comma separated country codes.<br>For country codes and predifined sets visit <a href="https://booster.io/country-codes/" target="_blank">https://booster.io/country-codes/</a>', 'woocommerce-jetpack' ),
224
  'id' => 'wcj_price_by_country_exchange_rate_countries_group_' . $i,
225
  'default' => '',
226
  'type' => 'textarea',
@@ -257,7 +258,7 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_b
257
  'id' => 'wcj_price_by_country_exchange_rate_currency_group_' . $i,
258
  'default' => 'EUR',
259
  'type' => 'select',
260
- 'options' => wcj_get_currencies_names_and_symbols(),
261
  ),
262
  array(
263
  'desc' => __( 'Admin Title', 'woocommerce-jetpack' ),
@@ -283,8 +284,8 @@ $settings = array_merge( $settings, array(
283
  'default' => 'manual',
284
  'type' => 'select',
285
  'options' => array(
286
- 'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
287
- 'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
288
  ),
289
  'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) )
290
  ? __( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies&section=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
2
  /**
3
  * Booster for WooCommerce - Settings - Prices and Currencies by Country
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
9
 
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
+ $autogenerate_buttons = array();
13
+ $autogenerate_buttons_data = array(
14
+ 'all' => __( 'All countries and currencies', 'woocommerce-jetpack' ),
15
+ 'paypal_only' => __( 'PayPal supported currencies only', 'woocommerce-jetpack' ),
16
+ );
17
+ foreach ( $autogenerate_buttons_data as $autogenerate_button_id => $autogenerate_button_desc ) {
18
+ $autogenerate_buttons[] = ( 1 === apply_filters( 'booster_option', 1, '' ) ?
19
+ '<a class="button" disabled title="' . __( 'Available in Booster Plus only.', 'woocommerce-jetpack' ) . '">' . $autogenerate_button_desc . '</a>' :
20
+ '<a class="button" href="' .
21
+ esc_url( add_query_arg( 'wcj_generate_country_groups', $autogenerate_button_id, remove_query_arg( 'recalculate_price_filter_products_prices' ) ) ) . '"' .
22
+ wcj_get_js_confirmation( __( 'All existing country groups will be deleted and new groups will be created. Are you sure?', 'woocommerce-jetpack' ) ) . '>' .
23
+ $autogenerate_button_desc .
24
+ '</a>' );
25
+ }
26
+ $autogenerate_buttons = implode( ' ', $autogenerate_buttons );
27
+
28
  $settings = array(
29
  array(
30
  'title' => __( 'Price by Country Options', 'woocommerce-jetpack' ),
61
  'default' => 'all',
62
  'type' => 'select',
63
  'options' => array(
64
+ 'all' => __( 'All site', 'woocommerce-jetpack' ),
65
+ 'checkout' => __( 'Checkout only', 'woocommerce-jetpack' ),
66
  ),
67
  ),
68
  array(
131
  array(
132
  'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
133
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
134
+ 'desc_tip' => '<a href="' . add_query_arg( 'recalculate_price_filter_products_prices', '1', remove_query_arg( array( 'wcj_generate_country_groups' ) ) ) . '">' .
135
  __( 'Recalculate price filter widget and sorting by price product prices', 'woocommerce-jetpack' ) . '</a>',
136
  'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
137
  'default' => 'no',
194
  'title' => __( 'Autogenerate Groups', 'woocommerce-jetpack' ),
195
  'id' => 'wcj_' . $this->id . '_module_tools',
196
  'type' => 'custom_link',
197
+ 'link' => $autogenerate_buttons,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  ),
199
  array(
200
  'title' => __( 'Groups Number', 'woocommerce-jetpack' ),
221
  $settings[] = array(
222
  'title' => $admin_title . ( '' != get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ?
223
  ' (' . count( explode( ',', get_option( 'wcj_price_by_country_exchange_rate_countries_group_' . $i, '' ) ) ) . ')' : '' ),
224
+ 'desc' => __( 'Countries. List of comma separated country codes.<br>For country codes and predefined sets visit <a href="https://booster.io/country-codes/" target="_blank">https://booster.io/country-codes/</a>', 'woocommerce-jetpack' ),
225
  'id' => 'wcj_price_by_country_exchange_rate_countries_group_' . $i,
226
  'default' => '',
227
  'type' => 'textarea',
258
  'id' => 'wcj_price_by_country_exchange_rate_currency_group_' . $i,
259
  'default' => 'EUR',
260
  'type' => 'select',
261
+ 'options' => wcj_get_woocommerce_currencies_and_symbols(),
262
  ),
263
  array(
264
  'desc' => __( 'Admin Title', 'woocommerce-jetpack' ),
284
  'default' => 'manual',
285
  'type' => 'select',
286
  'options' => array(
287
+ 'manual' => __( 'Enter Rates Manually', 'woocommerce-jetpack' ),
288
+ 'auto' => __( 'Automatically via Currency Exchange Rates module', 'woocommerce-jetpack' ),
289
  ),
290
  'desc' => ( '' == apply_filters( 'booster_message', '', 'desc' ) )
291
  ? __( 'Visit', 'woocommerce-jetpack' ) . ' <a href="' . admin_url( 'admin.php?page=wc-settings&tab=jetpack&wcj-cat=prices_and_currencies&section=currency_exchange_rates' ) . '">' . __( 'Currency Exchange Rates module', 'woocommerce-jetpack' ) . '</a>'
includes/settings/wcj-settings-price-formats.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Price Formats
4
  *
5
- * @version 3.5.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) add `desc_tip` to `wcj_price_formats_general_trim_zeros`
@@ -47,12 +47,12 @@ $settings = array(
47
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
48
  'custom_attributes' => array_merge(
49
  is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
50
- array( 'step' => '1', 'min' => '0', )
51
  ),
52
  ),
53
  );
54
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_formats_total_number', 1 ) ); $i++ ) {
55
- $currency_symbol = wcj_get_currency_symbol( get_option( 'wcj_price_formats_currency_' . $i, get_woocommerce_currency() ) );
56
  $settings = array_merge( $settings, array(
57
  array(
58
  'title' => __( 'Format', 'woocommerce-jetpack' ) . ' #' . $i,
@@ -60,7 +60,7 @@ for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_f
60
  'id' => 'wcj_price_formats_currency_' . $i,
61
  'default' => get_woocommerce_currency(),
62
  'type' => 'select',
63
- 'options' => wcj_get_currencies_names_and_symbols(),
64
  'css' => 'width:300px;',
65
  ),
66
  array(
2
  /**
3
  * Booster for WooCommerce - Settings - Price Formats
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) add `desc_tip` to `wcj_price_formats_general_trim_zeros`
47
  'desc' => apply_filters( 'booster_message', '', 'desc' ),
48
  'custom_attributes' => array_merge(
49
  is_array( apply_filters( 'booster_message', '', 'readonly' ) ) ? apply_filters( 'booster_message', '', 'readonly' ) : array(),
50
+ array( 'step' => '1', 'min' => '0' )
51
  ),
52
  ),
53
  );
54
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_price_formats_total_number', 1 ) ); $i++ ) {
55
+ $currency_symbol = get_woocommerce_currency_symbol( get_option( 'wcj_price_formats_currency_' . $i, get_woocommerce_currency() ) );
56
  $settings = array_merge( $settings, array(
57
  array(
58
  'title' => __( 'Format', 'woocommerce-jetpack' ) . ' #' . $i,
60
  'id' => 'wcj_price_formats_currency_' . $i,
61
  'default' => get_woocommerce_currency(),
62
  'type' => 'select',
63
+ 'options' => wcj_get_woocommerce_currencies_and_symbols(),
64
  'css' => 'width:300px;',
65
  ),
66
  array(
includes/settings/wcj-settings-product-addons.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Product Addons
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) add `woocommerce_payment_complete` to `$qty_triggers` (also maybe add this trigger to "PDF Invoicing" module)
@@ -225,6 +225,25 @@ $settings = array_merge( $settings, array(
225
  'no' => __( 'No', 'woocommerce-jetpack' ),
226
  ),
227
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  array(
229
  'title' => __( 'Advanced: Check for Outputted Data', 'woocommerce-jetpack' ),
230
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
2
  /**
3
  * Booster for WooCommerce - Settings - Product Addons
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  * @todo (maybe) add `woocommerce_payment_complete` to `$qty_triggers` (also maybe add this trigger to "PDF Invoicing" module)
225
  'no' => __( 'No', 'woocommerce-jetpack' ),
226
  ),
227
  ),
228
+ array(
229
+ 'desc_tip' => __( 'If you have selected "By module" for "Advanced: Apply Price Filter" option, you can set which modules to apply here. Leave empty to apply all modules.', 'woocommerce-jetpack' ),
230
+ 'id' => 'wcj_product_addons_apply_price_filters_by_module',
231
+ 'default' => array(),
232
+ 'type' => 'multiselect',
233
+ 'class' => 'chosen_select',
234
+ 'options' => array(
235
+ 'multicurrency_base_price' => __( 'Multicurrency Product Base Price', 'woocommerce-jetpack' ),
236
+ 'multicurrency' => __( 'Multicurrency (Currency Switcher)', 'woocommerce-jetpack' ),
237
+ 'global_discount' => __( 'Global Discount', 'woocommerce-jetpack' ),
238
+ ),
239
+ ),
240
+ array(
241
+ 'title' => __( 'Advanced: Price Filters Priority', 'woocommerce-jetpack' ),
242
+ 'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
243
+ 'id' => 'wcj_product_addons_advanced_price_hooks_priority',
244
+ 'default' => 0,
245
+ 'type' => 'number',
246
+ ),
247
  array(
248
  'title' => __( 'Advanced: Check for Outputted Data', 'woocommerce-jetpack' ),
249
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
includes/settings/wcj-settings-product-images.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Product Images
4
  *
5
- * @version 3.2.4
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -80,4 +80,21 @@ return array(
80
  'type' => 'sectionend',
81
  'id' => 'wcj_product_images_and_thumbnails_options',
82
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  );
2
  /**
3
  * Booster for WooCommerce - Settings - Product Images
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
80
  'type' => 'sectionend',
81
  'id' => 'wcj_product_images_and_thumbnails_options',
82
  ),
83
+ array(
84
+ 'title' => __( 'Placeholder Image', 'woocommerce-jetpack' ),
85
+ 'type' => 'title',
86
+ 'id' => 'wcj_product_images_placeholder_options',
87
+ ),
88
+ array(
89
+ 'title' => __( 'Custom Placeholder Image URL', 'woocommerce-jetpack' ),
90
+ 'desc_tip' => __( 'Leave blank to use the default placeholder image.', 'woocommerce-jetpack' ),
91
+ 'id' => 'wcj_product_images_placeholder_src',
92
+ 'default' => '',
93
+ 'type' => 'text',
94
+ 'css' => 'width:100%',
95
+ ),
96
+ array(
97
+ 'type' => 'sectionend',
98
+ 'id' => 'wcj_product_images_placeholder_options',
99
+ ),
100
  );
includes/settings/wcj-settings-product-price-by-formula.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Product Price by Formula
4
  *
5
- * @version 3.6.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -83,5 +83,21 @@ $settings = array_merge( $settings, array(
83
  'type' => 'sectionend',
84
  'id' => 'wcj_product_price_by_formula_general_options',
85
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  ) );
87
  return $settings;
2
  /**
3
  * Booster for WooCommerce - Settings - Product Price by Formula
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
83
  'type' => 'sectionend',
84
  'id' => 'wcj_product_price_by_formula_general_options',
85
  ),
86
+ array(
87
+ 'title' => __( 'Advanced Settings', 'woocommerce-jetpack' ),
88
+ 'type' => 'title',
89
+ 'id' => 'wcj_product_price_by_formula_advanced_options',
90
+ ),
91
+ array(
92
+ 'title' => __( 'Price Filters Priority', 'woocommerce-jetpack' ),
93
+ 'desc_tip' => __( 'Priority for all module\'s price filters. Set to zero to use default priority.' ),
94
+ 'id' => 'wcj_product_price_by_formula_advanced_price_hooks_priority',
95
+ 'default' => 0,
96
+ 'type' => 'number',
97
+ ),
98
+ array(
99
+ 'type' => 'sectionend',
100
+ 'id' => 'wcj_product_price_by_formula_advanced_options',
101
+ ),
102
  ) );
103
  return $settings;
includes/settings/wcj-settings-related-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Related Products
4
  *
5
- * @version 3.1.1
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -155,6 +155,16 @@ $settings = array_merge( $settings, array(
155
  'type' => 'checkbox',
156
  'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
157
  ),
 
 
 
 
 
 
 
 
 
 
158
  array(
159
  'type' => 'sectionend',
160
  'id' => 'wcj_product_info_related_products_relate_options',
2
  /**
3
  * Booster for WooCommerce - Settings - Related Products
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
155
  'type' => 'checkbox',
156
  'custom_attributes' => apply_filters( 'booster_message', '', 'disabled' ),
157
  ),
158
+ array(
159
+ 'desc' => __( 'Relate Manually: Select box type', 'woocommerce-jetpack' ),
160
+ 'id' => 'wcj_product_info_related_products_per_product_box_type',
161
+ 'default' => 'chosen_select',
162
+ 'type' => 'select',
163
+ 'options' => array(
164
+ 'chosen_select' => __( 'Chosen select', 'woocommerce-jetpack' ),
165
+ 'standard' => __( 'Standard', 'woocommerce-jetpack' ),
166
+ ),
167
+ ),
168
  array(
169
  'type' => 'sectionend',
170
  'id' => 'wcj_product_info_related_products_relate_options',
includes/settings/wcj-settings-reports.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Reports
4
  *
5
- * @version 3.6.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -10,6 +10,11 @@
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
  $reports_and_settings = array(
 
 
 
 
 
13
  array(
14
  'title' => __( 'Product Sales (Daily)', 'woocommerce-jetpack' ),
15
  'tab' => 'orders',
@@ -115,6 +120,15 @@ $reports_and_settings = array(
115
  'tab_title' => __( 'Orders', 'woocommerce-jetpack' ),
116
  'report' => 'booster_gateways',
117
  ),
 
 
 
 
 
 
 
 
 
118
  array(
119
  'title' => __( 'Customers by Country', 'woocommerce-jetpack' ),
120
  'tab' => 'customers',
@@ -127,6 +141,15 @@ $reports_and_settings = array(
127
  'tab_title' => __( 'Customers', 'woocommerce-jetpack' ),
128
  'report' => 'customers_by_country_sets',
129
  ),
 
 
 
 
 
 
 
 
 
130
  array(
131
  'title' => __( 'All in Stock with sales data', 'woocommerce-jetpack' ),
132
  'tab' => 'stock',
@@ -145,20 +168,37 @@ $reports_and_settings = array(
145
  'tab_title' => __( 'Stock', 'woocommerce-jetpack' ),
146
  'report' => 'overstocked',
147
  ),
148
- );
149
- $settings = array(
150
  array(
151
- 'title' => __( 'Available Reports', 'woocommerce-jetpack' ),
152
- 'type' => 'title',
153
- 'id' => 'wcj_reports_more_options'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  ),
155
  );
 
156
  $button_style = "background: orange; border-color: orange; box-shadow: 0 1px 0 orange; text-shadow: 0 -1px 1px orange,1px 0 1px orange,0 1px 1px orange,-1px 0 1px orange;";
157
  foreach ( $reports_and_settings as $report ) {
158
  if ( isset( $report['report'] ) ) {
159
  $settings = array_merge( $settings, array(
160
  array(
161
- 'title' => '[' . $report['tab_title'] . '] ' . $report['title'],
162
  'desc_tip' => 'WooCommerce > Reports > ' . $report['tab_title'] . ' > ' . $report['title'],
163
  'id' => 'wcj_' . $report['report'] . '_link',
164
  'type' => 'custom_link',
@@ -172,10 +212,4 @@ foreach ( $reports_and_settings as $report ) {
172
  $settings = array_merge( $settings, array ( $report ) );
173
  }
174
  }
175
- $settings = array_merge( $settings, array(
176
- array(
177
- 'type' => 'sectionend',
178
- 'id' => 'wcj_reports_more_options',
179
- ),
180
- ) );
181
  return $settings;
2
  /**
3
  * Booster for WooCommerce - Settings - Reports
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
10
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
 
12
  $reports_and_settings = array(
13
+ array(
14
+ 'title' => __( 'Orders Reports', 'woocommerce-jetpack' ),
15
+ 'type' => 'title',
16
+ 'id' => 'wcj_reports_orders_options',
17
+ ),
18
  array(
19
  'title' => __( 'Product Sales (Daily)', 'woocommerce-jetpack' ),
20
  'tab' => 'orders',
120
  'tab_title' => __( 'Orders', 'woocommerce-jetpack' ),
121
  'report' => 'booster_gateways',
122
  ),
123
+ array(
124
+ 'id' => 'wcj_reports_orders_options',
125
+ 'type' => 'sectionend',
126
+ ),
127
+ array(
128
+ 'title' => __( 'Customers Reports', 'woocommerce-jetpack' ),
129
+ 'type' => 'title',
130
+ 'id' => 'wcj_reports_customers_options',
131
+ ),
132
  array(
133
  'title' => __( 'Customers by Country', 'woocommerce-jetpack' ),
134
  'tab' => 'customers',
141
  'tab_title' => __( 'Customers', 'woocommerce-jetpack' ),
142
  'report' => 'customers_by_country_sets',
143
  ),
144
+ array(
145
+ 'id' => 'wcj_reports_customers_options',
146
+ 'type' => 'sectionend',
147
+ ),
148
+ array(
149
+ 'title' => __( 'Stock Reports', 'woocommerce-jetpack' ),
150
+ 'type' => 'title',
151
+ 'id' => 'wcj_reports_stock_options',
152
+ ),
153
  array(
154
  'title' => __( 'All in Stock with sales data', 'woocommerce-jetpack' ),
155
  'tab' => 'stock',
168
  'tab_title' => __( 'Stock', 'woocommerce-jetpack' ),
169
  'report' => 'overstocked',
170
  ),
 
 
171
  array(
172
+ 'id' => 'wcj_reports_stock_product_type',
173
+ 'desc' => __( 'product type', 'woocommerce-jetpack' ),
174
+ 'desc_tip' => __( 'Product type for all "Stock" reports.', 'woocommerce-jetpack' ),
175
+ 'type' => 'select',
176
+ 'default' => 'product',
177
+ 'options' => array(
178
+ 'product' => __( 'Products', 'woocommerce-jetpack' ),
179
+ 'product_variation' => __( 'Variations', 'woocommerce-jetpack' ),
180
+ 'both' => __( 'Both products and variations', 'woocommerce-jetpack' ),
181
+ ),
182
+ ),
183
+ array(
184
+ 'id' => 'wcj_reports_stock_include_deleted_products',
185
+ 'desc' => __( 'Include deleted products', 'woocommerce-jetpack' ),
186
+ 'desc_tip' => __( 'Include deleted products in all "Stock" reports.', 'woocommerce-jetpack' ),
187
+ 'type' => 'checkbox',
188
+ 'default' => 'yes',
189
+ ),
190
+ array(
191
+ 'id' => 'wcj_reports_stock_options',
192
+ 'type' => 'sectionend',
193
  ),
194
  );
195
+ $settings = array();
196
  $button_style = "background: orange; border-color: orange; box-shadow: 0 1px 0 orange; text-shadow: 0 -1px 1px orange,1px 0 1px orange,0 1px 1px orange,-1px 0 1px orange;";
197
  foreach ( $reports_and_settings as $report ) {
198
  if ( isset( $report['report'] ) ) {
199
  $settings = array_merge( $settings, array(
200
  array(
201
+ 'title' => $report['title'],
202
  'desc_tip' => 'WooCommerce > Reports > ' . $report['tab_title'] . ' > ' . $report['title'],
203
  'id' => 'wcj_' . $report['report'] . '_link',
204
  'type' => 'custom_link',
212
  $settings = array_merge( $settings, array ( $report ) );
213
  }
214
  }
 
 
 
 
 
 
215
  return $settings;
includes/settings/wcj-settings-shipping-by-condition.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Shipping by Condition
4
  *
5
- * @version 3.6.0
6
  * @since 3.2.1
7
  * @author Algoritmika Ltd.
8
  */
@@ -51,6 +51,10 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
51
  ),
52
  ) );
53
  $settings = array_merge( $settings, $this->get_additional_section_settings( $options_id ) );
 
 
 
 
54
  foreach ( $shipping_methods as $method ) {
55
  $method_id = ( $use_shipping_instances ? $method['shipping_method_id'] : $method->id );
56
  if ( ! in_array( $method_id, array( 'flat_rate', 'local_pickup' ) ) ) {
@@ -63,9 +67,6 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
63
  $custom_attributes = array();
64
  $desc_tip = '';
65
  }
66
- $type = ( isset( $options_data['type'] ) ? $options_data['type'] : 'multiselect' );
67
- $class = ( isset( $options_data['class'] ) ? $options_data['class'] : 'chosen_select' );
68
- $css = ( isset( $options_data['css'] ) ? $options_data['css'] : '' );
69
  $settings = array_merge( $settings, array(
70
  array(
71
  'title' => ( $use_shipping_instances ? $method['zone_name'] . ': ' . $method['shipping_method_title'] : $method->get_method_title() ),
@@ -76,7 +77,7 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
76
  'type' => $type,
77
  'class' => $class,
78
  'css' => $css,
79
- 'options' => $this->get_condition_options( $options_id ),
80
  'custom_attributes' => $custom_attributes,
81
  ),
82
  array(
@@ -87,7 +88,7 @@ foreach ( $this->condition_options as $options_id => $options_data ) {
87
  'type' => $type,
88
  'class' => $class,
89
  'css' => $css,
90
- 'options' => $this->get_condition_options( $options_id ),
91
  'custom_attributes' => $custom_attributes,
92
  ),
93
  ) );
2
  /**
3
  * Booster for WooCommerce - Settings - Shipping by Condition
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.1
7
  * @author Algoritmika Ltd.
8
  */
51
  ),
52
  ) );
53
  $settings = array_merge( $settings, $this->get_additional_section_settings( $options_id ) );
54
+ $options = $this->get_condition_options( $options_id );
55
+ $type = ( isset( $options_data['type'] ) ? $options_data['type'] : 'multiselect' );
56
+ $class = ( isset( $options_data['class'] ) ? $options_data['class'] : 'chosen_select' );
57
+ $css = ( isset( $options_data['css'] ) ? $options_data['css'] : '' );
58
  foreach ( $shipping_methods as $method ) {
59
  $method_id = ( $use_shipping_instances ? $method['shipping_method_id'] : $method->id );
60
  if ( ! in_array( $method_id, array( 'flat_rate', 'local_pickup' ) ) ) {
67
  $custom_attributes = array();
68
  $desc_tip = '';
69
  }
 
 
 
70
  $settings = array_merge( $settings, array(
71
  array(
72
  'title' => ( $use_shipping_instances ? $method['zone_name'] . ': ' . $method['shipping_method_title'] : $method->get_method_title() ),
77
  'type' => $type,
78
  'class' => $class,
79
  'css' => $css,
80
+ 'options' => $options,
81
  'custom_attributes' => $custom_attributes,
82
  ),
83
  array(
88
  'type' => $type,
89
  'class' => $class,
90
  'css' => $css,
91
+ 'options' => $options,
92
  'custom_attributes' => $custom_attributes,
93
  ),
94
  ) );
includes/settings/wcj-settings-template-editor.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Booster for WooCommerce - Settings - Template Editor
4
+ *
5
+ * @version 3.9.0
6
+ * @since 3.9.0
7
+ * @author Algoritmika Ltd.
8
+ * @todo [dev] (maybe) always use `DIRECTORY_SEPARATOR` (instead of '\\' and '/')
9
+ * @todo [dev] default template: check if `$default_template_path` exists before calling `file_get_contents()`
10
+ * @todo [feature] (maybe) option to set custom `/woocommerce/` folder
11
+ */
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
14
+
15
+ $this->templates_path = str_replace( '\\', '/', WP_PLUGIN_DIR . '/woocommerce/templates/' );
16
+ $templates = $this->scan_templates( $this->templates_path );
17
+
18
+ $settings = array(
19
+ array(
20
+ 'title' => __( 'Templates', 'woocommerce-jetpack' ),
21
+ 'type' => 'title',
22
+ 'id' => 'wcj_template_editor_templates_options',
23
+ ),
24
+ array(
25
+ 'title' => __( 'Templates to Edit', 'woocommerce-jetpack' ),
26
+ 'desc_tip' => __( 'Save changes after you set this option to see new options fields.', 'woocommerce-jetpack' ),
27
+ 'id' => 'wcj_template_editor_templates_to_edit',
28
+ 'type' => 'multiselect',
29
+ 'class' => 'chosen_select',
30
+ 'default' => array(),
31
+ 'options' => $templates,
32
+ ),
33
+ );
34
+ foreach ( get_option( 'wcj_template_editor_templates_to_edit', array() ) as $template ) {
35
+ $default_template_path = wc_locate_template( $template );
36
+ $replaced_template_path = wcj_get_wcj_uploads_dir( 'templates', false ) . DIRECTORY_SEPARATOR . $template;
37
+ $style = 'style="color:' . ( file_exists( $replaced_template_path ) ? 'green' : 'red' ) . ';"';
38
+ $settings = array_merge( $settings, array(
39
+ array(
40
+ 'title' => $template,
41
+ 'desc' =>
42
+ '<details>' .
43
+ '<summary>' . __( 'Info', 'woocommerce-jetpack' ) . '</summary>' .
44
+ wcj_get_table_html( array(
45
+ array( __( 'Default template path', 'woocommerce-jetpack' ), '<span>' . $default_template_path . '</span>' ),
46
+ array( __( 'Replaced template path', 'woocommerce-jetpack' ), '<span ' . $style . '>' . $replaced_template_path . '</span>' ),
47
+ ), array( 'table_class' => 'widefat striped', 'table_heading_type' => 'none', 'columns_styles' => array( 'padding:0', 'padding:0' ) ) ) .
48
+ '</details>',
49
+ 'id' => "wcj_template_editor_templates_content[{$template}]",
50
+ 'type' => 'textarea',
51
+ 'default' => file_get_contents( $default_template_path ),
52
+ 'css' => 'width:100%;height:500px;',
53
+ 'wcj_raw' => true,
54
+ ),
55
+ ) );
56
+ }
57
+ $settings = array_merge( $settings, array(
58
+ array(
59
+ 'type' => 'sectionend',
60
+ 'id' => 'wcj_template_editor_templates_options',
61
+ ),
62
+ ) );
63
+ return $settings;
includes/settings/wcj-settings-wholesale-price.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Settings - Wholesale Price
4
  *
5
- * @version 3.8.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
@@ -20,7 +20,7 @@ $settings = array(
20
  'id' => 'wcj_wholesale_price_general_options',
21
  ),
22
  array(
23
- 'title' => __( 'Enable per product', 'woocommerce-jetpack' ),
24
  'desc_tip' => __( 'This will add new meta box to each product\'s edit page.', 'woocommerce-jetpack' ),
25
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
26
  'id' => 'wcj_wholesale_price_per_product_enable',
@@ -28,7 +28,7 @@ $settings = array(
28
  'type' => 'checkbox',
29
  ),
30
  array(
31
- 'title' => __( 'Quantity calculation', 'woocommerce-jetpack' ),
32
  'id' => 'wcj_wholesale_price_use_total_cart_quantity',
33
  'default' => 'no',
34
  'type' => 'select',
@@ -39,14 +39,15 @@ $settings = array(
39
  ),
40
  ),
41
  array(
42
- 'title' => __( 'Apply wholesale discount only if no other cart discounts were applied', 'woocommerce-jetpack' ),
43
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
 
44
  'id' => 'wcj_wholesale_price_apply_only_if_no_other_discounts',
45
  'default' => 'no',
46
  'type' => 'checkbox',
47
  ),
48
  array(
49
- 'title' => __( 'Round single product price', 'woocommerce-jetpack' ),
50
  'desc_tip' => __( 'If enabled will round single product price with precision set in WooCommerce > Settings > General > Number of decimals.', 'woocommerce-jetpack' ),
51
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
52
  'id' => 'wcj_wholesale_price_rounding_enabled',
@@ -54,22 +55,22 @@ $settings = array(
54
  'type' => 'checkbox',
55
  ),
56
  array(
57
- 'title' => __( 'Show discount info on cart page', 'woocommerce-jetpack' ),
58
  'desc' => __( 'Show', 'woocommerce-jetpack' ),
59
  'id' => 'wcj_wholesale_price_show_info_on_cart',
60
  'default' => 'no',
61
  'type' => 'checkbox',
62
  ),
63
  array(
64
- 'title' => __( 'If show discount info on cart page is enabled, set format here', 'woocommerce-jetpack' ),
65
- 'desc' => wcj_message_replaced_values( array( '%old_price%', '%price%', '%discount_value%' ) ),
66
  'id' => 'wcj_wholesale_price_show_info_on_cart_format',
67
  'default' => '<del>%old_price%</del> %price%<br>You save: <span style="color:red;">%discount_value%</span>',
68
  'type' => 'textarea',
69
  'css' => 'width:100%;',
70
  ),
71
  array(
72
- 'title' => __( 'Discount type', 'woocommerce-jetpack' ),
73
  'id' => 'wcj_wholesale_price_discount_type',
74
  'default' => 'percent',
75
  'type' => 'select',
@@ -79,7 +80,7 @@ $settings = array(
79
  ),
80
  ),
81
  array(
82
- 'title' => __( 'Products to include', 'woocommerce-jetpack' ),
83
  'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
84
  'id' => 'wcj_wholesale_price_products_to_include',
85
  'default' => '',
@@ -88,7 +89,7 @@ $settings = array(
88
  'options' => $products,
89
  ),
90
  array(
91
- 'title' => __( 'Products to exclude', 'woocommerce-jetpack' ),
92
  'id' => 'wcj_wholesale_price_products_to_exclude',
93
  'default' => '',
94
  'type' => 'multiselect',
@@ -96,7 +97,7 @@ $settings = array(
96
  'options' => $products,
97
  ),
98
  array(
99
- 'title' => __( 'Product Categories to include', 'woocommerce-jetpack' ),
100
  'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
101
  'id' => 'wcj_wholesale_price_product_cats_to_include',
102
  'default' => '',
@@ -105,7 +106,7 @@ $settings = array(
105
  'options' => $product_cats,
106
  ),
107
  array(
108
- 'title' => __( 'Product Categories to exclude', 'woocommerce-jetpack' ),
109
  'id' => 'wcj_wholesale_price_product_cats_to_exclude',
110
  'default' => '',
111
  'type' => 'multiselect',
@@ -130,7 +131,7 @@ $settings = array(
130
  'id' => 'wcj_wholesale_price_level_options',
131
  ),
132
  array(
133
- 'title' => __( 'Number of levels', 'woocommerce-jetpack' ),
134
  'id' => 'wcj_wholesale_price_levels_number',
135
  'default' => 1,
136
  'type' => 'custom_number',
@@ -144,7 +145,7 @@ $settings = array(
144
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number', 1 ) ); $i++ ) {
145
  $settings = array_merge( $settings, array(
146
  array(
147
- 'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i,
148
  'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
149
  'id' => 'wcj_wholesale_price_level_min_qty_' . $i,
150
  'default' => 0,
@@ -173,7 +174,7 @@ $settings = array_merge( $settings, array(
173
  'id' => 'wcj_wholesale_price_by_user_role_options',
174
  ),
175
  array(
176
- 'title' => __( 'User roles settings', 'woocommerce-jetpack' ),
177
  'desc' => __( 'Save settings after you change this option. Leave blank to disable.', 'woocommerce-jetpack' ),
178
  'type' => 'multiselect',
179
  'id' => 'wcj_wholesale_price_by_user_role_roles',
@@ -187,7 +188,7 @@ if ( ! empty( $user_roles ) ) {
187
  foreach ( $user_roles as $user_role_key ) {
188
  $settings = array_merge( $settings, array(
189
  array(
190
- 'title' => __( 'Number of levels', 'woocommerce-jetpack' ) . ' [' . $user_role_key . ']',
191
  'id' => 'wcj_wholesale_price_levels_number_' . $user_role_key,
192
  'default' => 1,
193
  'type' => 'custom_number',
@@ -201,7 +202,7 @@ if ( ! empty( $user_roles ) ) {
201
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number_' . $user_role_key, 1 ) ); $i++ ) {
202
  $settings = array_merge( $settings, array(
203
  array(
204
- 'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i . ' [' . $user_role_key . ']',
205
  'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
206
  'id' => 'wcj_wholesale_price_level_min_qty_' . $user_role_key . '_' . $i,
207
  'default' => 0,
2
  /**
3
  * Booster for WooCommerce - Settings - Wholesale Price
4
  *
5
+ * @version 3.9.0
6
  * @since 2.8.0
7
  * @author Algoritmika Ltd.
8
  */
20
  'id' => 'wcj_wholesale_price_general_options',
21
  ),
22
  array(
23
+ 'title' => __( 'Enable per Product', 'woocommerce-jetpack' ),
24
  'desc_tip' => __( 'This will add new meta box to each product\'s edit page.', 'woocommerce-jetpack' ),
25
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
26
  'id' => 'wcj_wholesale_price_per_product_enable',
28
  'type' => 'checkbox',
29
  ),
30
  array(
31
+ 'title' => __( 'Quantity Calculation', 'woocommerce-jetpack' ),
32
  'id' => 'wcj_wholesale_price_use_total_cart_quantity',
33
  'default' => 'no',
34
  'type' => 'select',
39
  ),
40
  ),
41
  array(
42
+ 'title' => __( 'Exclusive Use Only', 'woocommerce-jetpack' ),
43
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
44
+ 'desc_tip' => __( 'Apply wholesale discount only if no other cart discounts were applied.', 'woocommerce-jetpack' ),
45
  'id' => 'wcj_wholesale_price_apply_only_if_no_other_discounts',
46
  'default' => 'no',
47
  'type' => 'checkbox',
48
  ),
49
  array(
50
+ 'title' => __( 'Round Single Product Price', 'woocommerce-jetpack' ),
51
  'desc_tip' => __( 'If enabled will round single product price with precision set in WooCommerce > Settings > General > Number of decimals.', 'woocommerce-jetpack' ),
52
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
53
  'id' => 'wcj_wholesale_price_rounding_enabled',
55
  'type' => 'checkbox',
56
  ),
57
  array(
58
+ 'title' => __( 'Discount Info on Cart Page', 'woocommerce-jetpack' ),
59
  'desc' => __( 'Show', 'woocommerce-jetpack' ),
60
  'id' => 'wcj_wholesale_price_show_info_on_cart',
61
  'default' => 'no',
62
  'type' => 'checkbox',
63
  ),
64
  array(
65
+ 'desc_tip' => __( 'If show discount info on cart page is enabled, set format here.', 'woocommerce-jetpack' ),
66
+ 'desc' => wcj_message_replaced_values( array( '%old_price%', '%original_price%', '%price%', '%discount_value%' ) ),
67
  'id' => 'wcj_wholesale_price_show_info_on_cart_format',
68
  'default' => '<del>%old_price%</del> %price%<br>You save: <span style="color:red;">%discount_value%</span>',
69
  'type' => 'textarea',
70
  'css' => 'width:100%;',
71
  ),
72
  array(
73
+ 'title' => __( 'Discount Type', 'woocommerce-jetpack' ),
74
  'id' => 'wcj_wholesale_price_discount_type',
75
  'default' => 'percent',
76
  'type' => 'select',
80
  ),
81
  ),
82
  array(
83
+ 'title' => __( 'Products to Include', 'woocommerce-jetpack' ),
84
  'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
85
  'id' => 'wcj_wholesale_price_products_to_include',
86
  'default' => '',
89
  'options' => $products,
90
  ),
91
  array(
92
+ 'title' => __( 'Products to Exclude', 'woocommerce-jetpack' ),
93
  'id' => 'wcj_wholesale_price_products_to_exclude',
94
  'default' => '',
95
  'type' => 'multiselect',
97
  'options' => $products,
98
  ),
99
  array(
100
+ 'title' => __( 'Product Categories to Include', 'woocommerce-jetpack' ),
101
  'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
102
  'id' => 'wcj_wholesale_price_product_cats_to_include',
103
  'default' => '',
106
  'options' => $product_cats,
107
  ),
108
  array(
109
+ 'title' => __( 'Product Categories to Exclude', 'woocommerce-jetpack' ),
110
  'id' => 'wcj_wholesale_price_product_cats_to_exclude',
111
  'default' => '',
112
  'type' => 'multiselect',
131
  'id' => 'wcj_wholesale_price_level_options',
132
  ),
133
  array(
134
+ 'title' => __( 'Number of Levels', 'woocommerce-jetpack' ),
135
  'id' => 'wcj_wholesale_price_levels_number',
136
  'default' => 1,
137
  'type' => 'custom_number',
145
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number', 1 ) ); $i++ ) {
146
  $settings = array_merge( $settings, array(
147
  array(
148
+ 'title' => __( 'Min Quantity', 'woocommerce-jetpack' ) . ' #' . $i,
149
  'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
150
  'id' => 'wcj_wholesale_price_level_min_qty_' . $i,
151
  'default' => 0,
174
  'id' => 'wcj_wholesale_price_by_user_role_options',
175
  ),
176
  array(
177
+ 'title' => __( 'User Roles Settings', 'woocommerce-jetpack' ),
178
  'desc' => __( 'Save settings after you change this option. Leave blank to disable.', 'woocommerce-jetpack' ),
179
  'type' => 'multiselect',
180
  'id' => 'wcj_wholesale_price_by_user_role_roles',
188
  foreach ( $user_roles as $user_role_key ) {
189
  $settings = array_merge( $settings, array(
190
  array(
191
+ 'title' => __( 'Number of Levels', 'woocommerce-jetpack' ) . ' [' . $user_role_key . ']',
192
  'id' => 'wcj_wholesale_price_levels_number_' . $user_role_key,
193
  'default' => 1,
194
  'type' => 'custom_number',
202
  for ( $i = 1; $i <= apply_filters( 'booster_option', 1, get_option( 'wcj_wholesale_price_levels_number_' . $user_role_key, 1 ) ); $i++ ) {
203
  $settings = array_merge( $settings, array(
204
  array(
205
+ 'title' => __( 'Min Quantity', 'woocommerce-jetpack' ) . ' #' . $i . ' [' . $user_role_key . ']',
206
  'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
207
  'id' => 'wcj_wholesale_price_level_min_qty_' . $user_role_key . '_' . $i,
208
  'default' => 0,
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 3.8.0
6
  * @since 2.5.6
7
  * @author Algoritmika Ltd.
8
  */
@@ -70,7 +70,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
70
  /**
71
  * add_table_rows.
72
  *
73
- * @version 3.4.0
74
  * @since 2.6.0
75
  */
76
  function add_table_rows( $instance_form_fields ) {
@@ -85,13 +85,15 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
85
  'type' => 'number',
86
  'default' => 0,
87
  'desc_tip' => true,
88
- 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
 
89
  ),
90
  'weight_table_cost_row_' . $i => array( // mislabeled, should be 'table_cost_row_'
91
  'title' => __( 'Cost', 'woocommerce' ) . ' #' . $i,
92
  'type' => 'text',
93
  'default' => 0,
94
  'desc_tip' => true,
 
95
  ),
96
  ) );
97
  }
@@ -124,7 +126,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
124
  /**
125
  * Initialise Settings Form Fields
126
  *
127
- * @version 3.4.0
128
  * @since 2.5.6
129
  */
130
  function init_instance_form_fields() {
@@ -144,6 +146,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
144
  'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce' ),
145
  'default' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
146
  'desc_tip' => true,
 
147
  ),
148
  'type' => array(
149
  'title' => __( 'Type', 'woocommerce' ),
@@ -153,6 +156,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
153
  'default' => 'flat_rate',
154
  'desc_tip' => true,
155
  'options' => $type_options,
 
156
  ),
157
  'cost' => array(
158
  'title' => __( 'Cost', 'woocommerce' ),
@@ -160,6 +164,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
160
  'description' => __( 'Cost. If calculating by weight - then cost per one weight unit. If calculating by quantity - then cost per one piece.', 'woocommerce-jetpack' ),
161
  'default' => 0,
162
  'desc_tip' => true,
 
163
  ),
164
  'min_weight' => array(
165
  'title' => __( 'Min Weight', 'woocommerce' ),
@@ -167,7 +172,8 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
167
  'description' => __( 'Minimum total cart weight. Set zero to disable.', 'woocommerce-jetpack' ),
168
  'default' => 0,
169
  'desc_tip' => true,
170
- 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
 
171
  ),
172
  'max_weight' => array(
173
  'title' => __( 'Max Weight', 'woocommerce' ),
@@ -175,12 +181,13 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
175
  'description' => __( 'Maximum total cart weight. Set zero to disable.', 'woocommerce-jetpack' ),
176
  'default' => 0,
177
  'desc_tip' => true,
178
- 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
 
179
  ),
180
  'apply_formula' => array(
181
- 'title' => __( 'Apply Formula to Costs', 'woocommerce' ),
182
- 'description' => sprintf( __( 'You can use %s and %s params in formula. E.g.: %s', 'woocommerce-jetpack' ),
183
- '<em>weight</em>', '<em>quantity</em>', '<em>2.5+weight</em>' ) . '<br>' .
184
  apply_filters( 'booster_message', '', 'desc_no_link' ),
185
  'desc_tip' => true,
186
  'type' => 'checkbox',
@@ -193,7 +200,8 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
193
  'description' => __( 'Press "Save changes" and reload the page after you change this number.', 'woocommerce-jetpack' ),
194
  'default' => 0,
195
  'desc_tip' => true,
196
- 'custom_attributes' => array( 'min' => '0' ),
 
197
  ),
198
  );
199
  }
@@ -222,7 +230,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
222
  /**
223
  * maybe_apply_formula.
224
  *
225
- * @version 3.4.0
226
  * @since 3.4.0
227
  * @todo use WC math library instead of `PHPMathParser`
228
  */
@@ -230,6 +238,7 @@ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
230
  if ( 'yes' !== $this->apply_formula ) {
231
  return $formula;
232
  }
 
233
  require_once( wcj_plugin_path() . '/includes/lib/PHPMathParser/Math.php' );
234
  $math = new WCJ_Math();
235
  $variables = array(
2
  /**
3
  * Booster for WooCommerce - Shipping - Custom Shipping with Shipping Zones
4
  *
5
+ * @version 3.9.0
6
  * @since 2.5.6
7
  * @author Algoritmika Ltd.
8
  */
70
  /**
71
  * add_table_rows.
72
  *
73
+ * @version 3.9.0
74
  * @since 2.6.0
75
  */
76
  function add_table_rows( $instance_form_fields ) {
85
  'type' => 'number',
86
  'default' => 0,
87
  'desc_tip' => true,
88
+ 'css' => 'width:100%',
89
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
90
  ),
91
  'weight_table_cost_row_' . $i => array( // mislabeled, should be 'table_cost_row_'
92
  'title' => __( 'Cost', 'woocommerce' ) . ' #' . $i,
93
  'type' => 'text',
94
  'default' => 0,
95
  'desc_tip' => true,
96
+ 'css' => 'width:100%',
97
  ),
98
  ) );
99
  }
126
  /**
127
  * Initialise Settings Form Fields
128
  *
129
+ * @version 3.9.0
130
  * @since 2.5.6
131
  */
132
  function init_instance_form_fields() {
146
  'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce' ),
147
  'default' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
148
  'desc_tip' => true,
149
+ 'css' => 'width:100%',
150
  ),
151
  'type' => array(
152
  'title' => __( 'Type', 'woocommerce' ),
156
  'default' => 'flat_rate',
157
  'desc_tip' => true,
158
  'options' => $type_options,
159
+ 'css' => 'width:100%',
160
  ),
161
  'cost' => array(
162
  'title' => __( 'Cost', 'woocommerce' ),
164
  'description' => __( 'Cost. If calculating by weight - then cost per one weight unit. If calculating by quantity - then cost per one piece.', 'woocommerce-jetpack' ),
165
  'default' => 0,
166
  'desc_tip' => true,
167
+ 'css' => 'width:100%',
168
  ),
169
  'min_weight' => array(
170
  'title' => __( 'Min Weight', 'woocommerce' ),
172
  'description' => __( 'Minimum total cart weight. Set zero to disable.', 'woocommerce-jetpack' ),
173
  'default' => 0,
174
  'desc_tip' => true,
175
+ 'css' => 'width:100%',
176
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
177
  ),
178
  'max_weight' => array(
179
  'title' => __( 'Max Weight', 'woocommerce' ),
181
  'description' => __( 'Maximum total cart weight. Set zero to disable.', 'woocommerce-jetpack' ),
182
  'default' => 0,
183
  'desc_tip' => true,
184
+ 'css' => 'width:100%',
185
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0' ),
186
  ),
187
  'apply_formula' => array(
188
+ 'title' => __( 'Apply Formula and Shortcodes to Costs', 'woocommerce' ),
189
+ 'description' => sprintf( __( 'You can use %s and %s params in formula, e.g.: %s. Also you can use shortcodes, e.g.: %s.', 'woocommerce-jetpack' ),
190
+ '<em>weight</em>', '<em>quantity</em>', '<em>2.5+weight</em>', '<em>[wcj_shipping_costs_table prop="weight" table="25-12.25|50-14.50|9999-29.148"]</em>' ) . '<br>' .
191
  apply_filters( 'booster_message', '', 'desc_no_link' ),
192
  'desc_tip' => true,
193
  'type' => 'checkbox',
200
  'description' => __( 'Press "Save changes" and reload the page after you change this number.', 'woocommerce-jetpack' ),
201
  'default' => 0,
202
  'desc_tip' => true,
203
+ 'css' => 'width:100%',
204
+ 'custom_attributes' => array( 'min' => '0' ),
205
  ),
206
  );
207
  }
230
  /**
231
  * maybe_apply_formula.
232
  *
233
+ * @version 3.9.0
234
  * @since 3.4.0
235
  * @todo use WC math library instead of `PHPMathParser`
236
  */
238
  if ( 'yes' !== $this->apply_formula ) {
239
  return $formula;
240
  }
241
+ $formula = do_shortcode( $formula );
242
  require_once( wcj_plugin_path() . '/includes/lib/PHPMathParser/Math.php' );
243
  $math = new WCJ_Math();
244
  $variables = array(
includes/shortcodes/class-wcj-shortcodes-general.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - General
4
  *
5
- * @version 3.7.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -15,7 +15,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 3.6.0
19
  */
20
  function __construct() {
21
 
@@ -42,10 +42,13 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
42
  'wcj_customer_total_spent',
43
  'wcj_empty_cart_button',
44
  'wcj_get_left_to_free_shipping',
 
 
45
  'wcj_product_category_count',
46
  'wcj_request_value',
47
  'wcj_selector',
48
  'wcj_session_value',
 
49
  'wcj_shipping_time_table',
50
  'wcj_site_url',
51
  'wcj_store_address',
@@ -59,7 +62,6 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
59
  'wcj_wp_option',
60
  'wcj_wpml',
61
  'wcj_wpml_translate',
62
- // 'wcj_image',
63
  );
64
 
65
  $this->the_atts = array(
@@ -67,7 +69,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
67
  'time_format' => get_option( 'time_format' ),
68
  'datetime_format' => get_option( 'date_format' ) . ' ' . get_option( 'time_format' ),
69
  'lang' => '',
70
- 'form_method' => 'post',//'get',
71
  'class' => '',
72
  'style' => '',
73
  'countries' => '',
@@ -106,6 +108,67 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
106
 
107
  }
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  /**
110
  * wcj_upsell_display.
111
  *
@@ -282,6 +345,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
282
  *
283
  * @version 3.2.4
284
  * @since 3.2.4
 
285
  * @todo (maybe) `get` instead of `post`
286
  */
287
  function wcj_button_toggle_tax_display( $atts ) {
@@ -646,14 +710,14 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
646
  /**
647
  * wcj_currency_select_link_list.
648
  *
649
- * @version 3.4.0
650
  * @since 2.4.5
651
  */
652
  function wcj_currency_select_link_list( $atts, $content ) {
653
  $html = '';
654
  $shortcode_currencies = $this->get_shortcode_currencies( $atts );
655
  // Options
656
- $currencies = wcj_get_currencies_names_and_symbols( 'names' );
657
  $selected_currency = '';
658
  if ( null !== ( $session_value = wcj_session_get( 'wcj-currency' ) ) ) {
659
  $selected_currency = $session_value;
@@ -677,7 +741,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
677
  $template_replaced_values = array(
678
  '%currency_name%' => $currencies[ $currency_code ],
679
  '%currency_code%' => $currency_code,
680
- '%currency_symbol%' => wcj_get_currency_symbol( $currency_code ),
681
  );
682
  $currency_switcher_output = str_replace( array_keys( $template_replaced_values ), array_values( $template_replaced_values ), $switcher_template );
683
  $the_link = '<a href="' . add_query_arg( 'wcj-currency', $currency_code ) . '">' . $currency_switcher_output . '</a>';
@@ -718,7 +782,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
718
  /**
719
  * get_currency_selector.
720
  *
721
- * @version 3.7.0
722
  * @since 2.4.5
723
  */
724
  private function get_currency_selector( $atts, $content, $type = 'select' ) {
@@ -733,7 +797,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
733
  }
734
  $shortcode_currencies = $this->get_shortcode_currencies( $atts );
735
  // Options
736
- $currencies = wcj_get_currencies_names_and_symbols( 'names' );
737
  $selected_currency = '';
738
  if ( null !== ( $session_value = wcj_session_get( 'wcj-currency' ) ) ) {
739
  $selected_currency = $session_value;
@@ -756,7 +820,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
756
  $template_replaced_values = array(
757
  '%currency_name%' => $currencies[ $currency_code ],
758
  '%currency_code%' => $currency_code,
759
- '%currency_symbol%' => wcj_get_currency_symbol( $currency_code ),
760
  );
761
  $currency_switcher_output = str_replace( array_keys( $template_replaced_values ), array_values( $template_replaced_values ), $switcher_template );
762
  if ( '' == $selected_currency ) {
@@ -800,7 +864,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
800
  /**
801
  * wcj_country_select_drop_down_list.
802
  *
803
- * @version 3.4.0
804
  */
805
  function wcj_country_select_drop_down_list( $atts, $content ) {
806
 
@@ -834,7 +898,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
834
  $selected_country = ( null !== ( $session_value = wcj_session_get( 'wcj-country' ) ) ? $session_value : '' );
835
 
836
  if ( 'yes' === $atts['replace_with_currency'] ) {
837
- $currencies_names_and_symbols = wcj_get_currencies_names_and_symbols();
838
  }
839
 
840
  if ( empty( $shortcode_countries ) ) {
@@ -878,7 +942,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
878
  * @since 2.2.9
879
  */
880
  function wcj_text( $atts, $content ) {
881
- return /* do_shortcode( */ $content /* ) */;
882
  }
883
 
884
  /**
@@ -887,8 +951,6 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
887
  * @version 2.2.9
888
  */
889
  function wcj_wpml( $atts, $content ) {
890
- /* if ( '' == $atts['lang'] || ( defined( 'ICL_LANGUAGE_CODE' ) && ICL_LANGUAGE_CODE === $atts['lang'] ) ) return do_shortcode( $content );
891
- else return ''; */
892
  return do_shortcode( $content );
893
  }
894
 
@@ -910,10 +972,19 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
910
 
911
  /**
912
  * wcj_image.
 
 
 
913
  */
914
- /*function wcj_image( $atts ) {
915
- return '<img src="' . $atts['url'] . '" class="' . $atts['class'] . '" width="' . $atts['width'] . '" height="' . $atts['height'] . '">';
916
- }*/
 
 
 
 
 
 
917
  }
918
 
919
  endif;
2
  /**
3
  * Booster for WooCommerce - Shortcodes - General
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 3.9.0
19
  */
20
  function __construct() {
21
 
42
  'wcj_customer_total_spent',
43
  'wcj_empty_cart_button',
44
  'wcj_get_left_to_free_shipping',
45
+ 'wcj_get_option',
46
+ 'wcj_image',
47
  'wcj_product_category_count',
48
  'wcj_request_value',
49
  'wcj_selector',
50
  'wcj_session_value',
51
+ 'wcj_shipping_costs_table',
52
  'wcj_shipping_time_table',
53
  'wcj_site_url',
54
  'wcj_store_address',
62
  'wcj_wp_option',
63
  'wcj_wpml',
64
  'wcj_wpml_translate',
 
65
  );
66
 
67
  $this->the_atts = array(
69
  'time_format' => get_option( 'time_format' ),
70
  'datetime_format' => get_option( 'date_format' ) . ' ' . get_option( 'time_format' ),
71
  'lang' => '',
72
+ 'form_method' => 'post',
73
  'class' => '',
74
  'style' => '',
75
  'countries' => '',
108
 
109
  }
110
 
111
+ /**
112
+ * wcj_get_option.
113
+ *
114
+ * @version 3.9.0
115
+ * @since 3.9.0
116
+ * @todo [dev] handle multidimensional arrays
117
+ * @todo [dev] maybe also add `get_site_option()`
118
+ */
119
+ function wcj_get_option( $atts ) {
120
+ $result = ( isset( $atts['name'] ) ? get_option( $atts['name'], ( isset( $atts['default'] ) ? $atts['default'] : false ) ) : '' );
121
+ return ( is_array( $result ) ?
122
+ ( isset( $atts['field'] ) && isset( $result[ $atts['field'] ] ) ? $result[ $atts['field'] ] : implode( ', ', $result ) ) :
123
+ $result );
124
+ }
125
+
126
+ /**
127
+ * wcj_shipping_costs_table.
128
+ *
129
+ * @version 3.9.0
130
+ * @since 3.9.0
131
+ * @todo [dev] sort `$table` before using
132
+ * @todo [feature] add `volume` prop
133
+ * @todo [feature] add `total` prop
134
+ */
135
+ function wcj_shipping_costs_table( $atts ) {
136
+ if ( ! empty( $atts['table'] ) && ( $_cart = WC()->cart ) ) {
137
+ // E.g.: [wcj_shipping_costs_table cmp="max" prop="quantity" table="10-5|20-7.5|99999-10"]
138
+ // E.g.: [wcj_shipping_costs_table cmp="min" prop="quantity" table="1-5|11-7.5|21-10"]
139
+ if ( ! isset( $atts['cmp'] ) ) {
140
+ $atts['cmp'] = 'max';
141
+ }
142
+ if ( ! isset( $atts['prop'] ) ) {
143
+ $atts['prop'] = 'quantity';
144
+ }
145
+ switch ( $atts['prop'] ) {
146
+ case 'weight':
147
+ $param_value = $_cart->get_cart_contents_weight();
148
+ break;
149
+ default: // 'quantity'
150
+ $param_value = $_cart->get_cart_contents_count();
151
+ }
152
+ $table = array_map( 'trim', explode( '|', $atts['table'] ) );
153
+ if ( 'min' === $atts['cmp'] ) {
154
+ $table = array_reverse( $table );
155
+ }
156
+ foreach ( $table as $row ) {
157
+ $cells = array_map( 'trim', explode( '-', $row ) );
158
+ if ( 2 != count( $cells ) ) {
159
+ return '';
160
+ }
161
+ if (
162
+ ( 'min' === $atts['cmp'] && $param_value >= $cells[0] ) ||
163
+ ( 'max' === $atts['cmp'] && $param_value <= $cells[0] )
164
+ ) {
165
+ return $cells[1];
166
+ }
167
+ }
168
+ }
169
+ return '';
170
+ }
171
+
172
  /**
173
  * wcj_upsell_display.
174
  *
345
  *
346
  * @version 3.2.4
347
  * @since 3.2.4
348
+ * @todo (dev) different style/class for different tax state
349
  * @todo (maybe) `get` instead of `post`
350
  */
351
  function wcj_button_toggle_tax_display( $atts ) {
710
  /**
711
  * wcj_currency_select_link_list.
712
  *
713
+ * @version 3.9.0
714
  * @since 2.4.5
715
  */
716
  function wcj_currency_select_link_list( $atts, $content ) {
717
  $html = '';
718
  $shortcode_currencies = $this->get_shortcode_currencies( $atts );
719
  // Options
720
+ $currencies = get_woocommerce_currencies();
721
  $selected_currency = '';
722
  if ( null !== ( $session_value = wcj_session_get( 'wcj-currency' ) ) ) {
723
  $selected_currency = $session_value;
741
  $template_replaced_values = array(
742
  '%currency_name%' => $currencies[ $currency_code ],
743
  '%currency_code%' => $currency_code,
744
+ '%currency_symbol%' => get_woocommerce_currency_symbol( $currency_code ),
745
  );
746
  $currency_switcher_output = str_replace( array_keys( $template_replaced_values ), array_values( $template_replaced_values ), $switcher_template );
747
  $the_link = '<a href="' . add_query_arg( 'wcj-currency', $currency_code ) . '">' . $currency_switcher_output . '</a>';
782
  /**
783
  * get_currency_selector.
784
  *
785
+ * @version 3.9.0
786
  * @since 2.4.5
787
  */
788
  private function get_currency_selector( $atts, $content, $type = 'select' ) {
797
  }
798
  $shortcode_currencies = $this->get_shortcode_currencies( $atts );
799
  // Options
800
+ $currencies = get_woocommerce_currencies();
801
  $selected_currency = '';
802
  if ( null !== ( $session_value = wcj_session_get( 'wcj-currency' ) ) ) {
803
  $selected_currency = $session_value;
820
  $template_replaced_values = array(
821
  '%currency_name%' => $currencies[ $currency_code ],
822
  '%currency_code%' => $currency_code,
823
+ '%currency_symbol%' => get_woocommerce_currency_symbol( $currency_code ),
824
  );
825
  $currency_switcher_output = str_replace( array_keys( $template_replaced_values ), array_values( $template_replaced_values ), $switcher_template );
826
  if ( '' == $selected_currency ) {
864
  /**
865
  * wcj_country_select_drop_down_list.
866
  *
867
+ * @version 3.9.0
868
  */
869
  function wcj_country_select_drop_down_list( $atts, $content ) {
870
 
898
  $selected_country = ( null !== ( $session_value = wcj_session_get( 'wcj-country' ) ) ? $session_value : '' );
899
 
900
  if ( 'yes' === $atts['replace_with_currency'] ) {
901
+ $currencies_names_and_symbols = wcj_get_woocommerce_currencies_and_symbols();
902
  }
903
 
904
  if ( empty( $shortcode_countries ) ) {
942
  * @since 2.2.9
943
  */
944
  function wcj_text( $atts, $content ) {
945
+ return $content;
946
  }
947
 
948
  /**
951
  * @version 2.2.9
952
  */
953
  function wcj_wpml( $atts, $content ) {
 
 
954
  return do_shortcode( $content );
955
  }
956
 
972
 
973
  /**
974
  * wcj_image.
975
+ *
976
+ * @version 3.9.0
977
+ * @since 3.9.0
978
  */
979
+ function wcj_image( $atts ) {
980
+ return '<img' .
981
+ ' src="' . ( ! empty( $atts['src'] ) ? $atts['src'] : '' ) . '"' .
982
+ ' class="' . ( ! empty( $atts['class'] ) ? $atts['class'] : '' ) . '"' .
983
+ ' style="' . ( ! empty( $atts['style'] ) ? $atts['style'] : '' ) . '"' .
984
+ ' width="' . ( ! empty( $atts['width'] ) ? $atts['width'] : '' ) . '"' .
985
+ ' height="' . ( ! empty( $atts['height'] ) ? $atts['height'] : '' ) . '"' .
986
+ '>';
987
+ }
988
  }
989
 
990
  endif;
includes/shortcodes/class-wcj-shortcodes-orders.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Orders
4
  *
5
- * @version 3.5.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -15,7 +15,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
15
  /**
16
  * Constructor.
17
  *
18
- * @version 3.5.0
19
  */
20
  function __construct() {
21
 
@@ -49,6 +49,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
49
  'wcj_order_number',
50
  'wcj_order_payment_method',
51
  'wcj_order_payment_method_transaction_id',
 
52
  'wcj_order_profit',
53
  'wcj_order_refunds_table',
54
  'wcj_order_remaining_refund_amount',
@@ -88,7 +89,6 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
88
  'wcj_order_total_tax_refunded',
89
  'wcj_order_total_weight',
90
  'wcj_order_total_width',
91
- // 'wcj_order_cart_discount',
92
  );
93
 
94
  parent::__construct();
@@ -861,10 +861,34 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
861
  }
862
  }
863
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
864
  /**
865
  * wcj_order_items_meta.
866
  *
867
- * @version 2.7.0
868
  * @since 2.5.3
869
  */
870
  function wcj_order_items_meta( $atts ) {
@@ -878,16 +902,11 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
878
  if ( '' != $the_meta ) {
879
  $items_metas[] = $the_meta;
880
  }
881
- /* foreach ( $item as $key => $value ) {
882
- if ( $atts['meta_key'] === $key ) {
883
- $items_metas[] = $value;
884
- }
885
- } */
886
  }
887
  if ( 'yes' === $atts['unique_only'] ) {
888
  $items_metas = array_unique( $items_metas );
889
  }
890
- return ( ! empty( $items_metas ) ) ? implode( ', ', $items_metas ) : '';
891
  }
892
 
893
  /**
@@ -1031,64 +1050,16 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
1031
  return $this->wcj_price_shortcode( $the_result, $atts );
1032
  }
1033
 
1034
- /**
1035
- * wcj_order_get_cart_discount_tax.
1036
- */
1037
- /* function wcj_order_get_cart_discount_tax() {
1038
-
1039
- $the_cart_discount = $this->the_order->get_cart_discount();
1040
- $is_discount_taxable = ( $the_cart_discount > 0 ) ? true : false;
1041
-
1042
- if ( $is_discount_taxable ) {
1043
-
1044
- /* $order_total_incl_tax = $this->the_order->get_total();
1045
- $order_total_tax = $this->the_order->get_total_tax(); *//*
1046
-
1047
- $order_total_incl_tax = 0;
1048
- $order_total_tax = 0;
1049
- $items = $this->the_order->get_items();
1050
- foreach ( $items as $item ) {
1051
- $order_total_incl_tax += $item['line_total'] + $item['line_tax'];
1052
- $order_total_tax += $item['line_tax'];
1053
- }
1054
-
1055
- if ( 0 != $order_total_incl_tax ) {
1056
-
1057
- $order_tax_rate = $order_total_tax / $order_total_incl_tax;
1058
- $the_tax = $the_cart_discount * $order_tax_rate;
1059
-
1060
- return $the_tax;
1061
- }
1062
- }
1063
-
1064
- return false;
1065
- } */
1066
-
1067
  /**
1068
  * wcj_order_total_discount.
1069
  *
1070
  * @version 2.4.0
1071
  */
1072
  function wcj_order_total_discount( $atts ) {
1073
-
1074
  $the_discount = $this->the_order->get_total_discount( $atts['excl_tax'] );
1075
-
1076
- /* if ( true === $atts['excl_tax'] ) {
1077
- if ( false != ( $the_tax = $this->wcj_order_get_cart_discount_tax() ) ) {
1078
- $the_discount -= $the_tax;
1079
- }
1080
- } */
1081
-
1082
  return $this->wcj_price_shortcode( $the_discount, $atts );
1083
  }
1084
 
1085
- /**
1086
- * wcj_order_cart_discount.
1087
- */
1088
- /* function wcj_order_cart_discount( $atts ) {
1089
- return $this->wcj_price_shortcode( $this->the_order->get_cart_discount() , $atts );
1090
- } */
1091
-
1092
  /**
1093
  * wcj_order_shipping_tax.
1094
  */
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Orders
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
15
  /**
16
  * Constructor.
17
  *
18
+ * @version 3.9.0
19
  */
20
  function __construct() {
21
 
49
  'wcj_order_number',
50
  'wcj_order_payment_method',
51
  'wcj_order_payment_method_transaction_id',
52
+ 'wcj_order_products_meta',
53
  'wcj_order_profit',
54
  'wcj_order_refunds_table',
55
  'wcj_order_remaining_refund_amount',
89
  'wcj_order_total_tax_refunded',
90
  'wcj_order_total_weight',
91
  'wcj_order_total_width',
 
92
  );
93
 
94
  parent::__construct();
861
  }
862
  }
863
 
864
+ /**
865
+ * wcj_order_products_meta.
866
+ *
867
+ * @version 3.9.0
868
+ * @since 3.9.0
869
+ */
870
+ function wcj_order_products_meta( $atts ) {
871
+ if ( '' === $atts['meta_key'] ) {
872
+ return '';
873
+ }
874
+ $metas = array();
875
+ $items = $this->the_order->get_items();
876
+ foreach ( $items as $item_id => $item ) {
877
+ $product_id = ( ! empty( $item['variation_id'] ) ? $item['variation_id'] : $item['product_id'] );
878
+ if ( '' != ( $meta = get_post_meta( $product_id, $atts['meta_key'], true ) ) ) {
879
+ $metas[] = $meta;
880
+ }
881
+ }
882
+ if ( 'yes' === $atts['unique_only'] ) {
883
+ $metas = array_unique( $metas );
884
+ }
885
+ return ( ! empty( $metas ) ? implode( $atts['sep'], $metas ) : '' );
886
+ }
887
+
888
  /**
889
  * wcj_order_items_meta.
890
  *
891
+ * @version 3.9.0
892
  * @since 2.5.3
893
  */
894
  function wcj_order_items_meta( $atts ) {
902
  if ( '' != $the_meta ) {
903
  $items_metas[] = $the_meta;
904
  }
 
 
 
 
 
905
  }
906
  if ( 'yes' === $atts['unique_only'] ) {
907
  $items_metas = array_unique( $items_metas );
908
  }
909
+ return ( ! empty( $items_metas ) ? implode( $atts['sep'], $items_metas ) : '' );
910
  }
911
 
912
  /**
1050
  return $this->wcj_price_shortcode( $the_result, $atts );
1051
  }
1052
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1053
  /**
1054
  * wcj_order_total_discount.
1055
  *
1056
  * @version 2.4.0
1057
  */
1058
  function wcj_order_total_discount( $atts ) {
 
1059
  $the_discount = $this->the_order->get_total_discount( $atts['excl_tax'] );
 
 
 
 
 
 
 
1060
  return $this->wcj_price_shortcode( $the_discount, $atts );
1061
  }
1062
 
 
 
 
 
 
 
 
1063
  /**
1064
  * wcj_order_shipping_tax.
1065
  */
includes/shortcodes/class-wcj-shortcodes-products.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Products
4
  *
5
- * @version 3.7.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
@@ -755,7 +755,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
755
  /**
756
  * Returns product (modified) price.
757
  *
758
- * @version 3.5.0
759
  * @todo variable products: a) not range; and b) price by country.
760
  * @return string The product (modified) price
761
  */
@@ -795,6 +795,9 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
795
  $min = wc_price( $min, array( 'currency' => $atts['currency'] ) );
796
  $max = wc_price( $max, array( 'currency' => $atts['currency'] ) );
797
  }
 
 
 
798
  return ( $min != $max ) ? sprintf( '%s-%s', $min, $max ) : $min;
799
  }
800
  // Simple etc.
2
  /**
3
  * Booster for WooCommerce - Shortcodes - Products
4
  *
5
+ * @version 3.9.0
6
  * @author Algoritmika Ltd.
7
  */
8
 
755
  /**
756
  * Returns product (modified) price.
757
  *
758
+ * @version 3.9.0
759
  * @todo variable products: a) not range; and b) price by country.
760
  * @return string The product (modified) price
761
  */
795
  $min = wc_price( $min, array( 'currency' => $atts['currency'] ) );
796
  $max = wc_price( $max, array( 'currency' => $atts['currency'] ) );
797
  }
798
+ if ( ! empty( $atts['min_or_max'] ) && ( 'min' === $atts['min_or_max'] || 'max' === $atts['min_or_max'] ) ) {
799
+ return ( 'min' === $atts['min_or_max'] ? $min : $max );
800
+ }
801
  return ( $min != $max ) ? sprintf( '%s-%s', $min, $max ) : $min;
802
  }
803
  // Simple etc.
includes/tools/class-wcj-order-statuses-tool.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Booster for WooCommerce - Tool - Order Statuses
4
  *
5
- * @version 3.6.0
6
  * @since 3.2.2
7
  * @author Algoritmika Ltd.
8
  */
@@ -189,11 +189,11 @@ class WCJ_Order_Statuses_Tool {
189
  /**
190
  * get_custom_statuses_add_edit_table.
191
  *
192
- * @version 3.6.0
193
  * @since 3.2.2
194
  */
195
  function get_custom_statuses_add_edit_table() {
196
- $is_editing = ( isset( $_GET['edit'] ) ) ? true : false;
197
  if ( $is_editing ) {
198
  $edit_slug = $_GET['edit'];
199
  $custom_order_statuses = $this->module->get_custom_order_statuses();
2
  /**
3
  * Booster for WooCommerce - Tool - Order Statuses
4
  *
5
+ * @version 3.9.0
6
  * @since 3.2.2
7
  * @author Algoritmika Ltd.
8
  */
189
  /**
190
  * get_custom_statuses_add_edit_table.
191
  *
192
+ * @version 3.9.0
193
  * @since 3.2.2
194
  */
195
  function get_custom_statuses_add_edit_table() {
196
+ $is_editing = ( isset( $_GET['edit'] ) );
197
  if ( $is_editing ) {
198
  $edit_slug = $_GET['edit'];
199
  $custom_order_statuses = $this->module->get_custom_order_statuses();
langs/woocommerce-jetpack.pot CHANGED
@@ -1,12 +1,12 @@
1
- #: includes/class-wcj-add-to-cart-button-visibility.php:25
2
  msgid "Add to Cart Button Visibility"
3
  msgstr ""
4
 
5
- #: includes/class-wcj-add-to-cart-button-visibility.php:26
6
  msgid "Enable/disable Add to Cart button globally or on per product basis."
7
  msgstr ""
8
 
9
- #: includes/class-wcj-add-to-cart-button-visibility.php:28
10
  #, php-format
11
  msgid ""
12
  "If you need to enable/disable Add to Cart button for some <strong>user "
@@ -14,7 +14,7 @@ msgid ""
14
  "Booster's %s module."
15
  msgstr ""
16
 
17
- #: includes/class-wcj-add-to-cart-button-visibility.php:30
18
  #: includes/class-wcj-modules-by-user-roles.php:25
19
  msgid "Modules By User Roles"
20
  msgstr ""
@@ -47,70 +47,70 @@ msgstr ""
47
  msgid "WooCommerce admin bar."
48
  msgstr ""
49
 
50
- #: includes/class-wcj-admin-bar.php:138
51
  #: includes/admin/class-wc-settings-jetpack.php:83
52
  msgid "Alphabetically"
53
  msgstr ""
54
 
55
- #: includes/class-wcj-admin-bar.php:142
56
  #: includes/admin/class-wc-settings-jetpack.php:84
57
  msgid "By Category"
58
  msgstr ""
59
 
60
- #: includes/class-wcj-admin-bar.php:146
61
  #: includes/admin/class-wc-settings-jetpack.php:85
62
  msgid "Active"
63
  msgstr ""
64
 
65
- #: includes/class-wcj-admin-bar.php:150
66
  #: includes/admin/class-wc-settings-jetpack.php:86
67
  msgid "Manage Settings"
68
  msgstr ""
69
 
70
- #: includes/class-wcj-admin-bar.php:166 includes/class-wcj-admin-bar.php:473
71
- #: includes/class-wcj-admin-bar.php:573
72
  #: includes/admin/class-wc-settings-jetpack.php:219
73
  #: includes/admin/class-wc-settings-jetpack.php:414
74
  #: includes/core/class-wcj-admin.php:113
75
  msgid "Settings"
76
  msgstr ""
77
 
78
- #: includes/class-wcj-admin-bar.php:170
79
  #: includes/admin/class-wc-settings-jetpack.php:416
80
- #: includes/classes/class-wcj-module.php:691
81
  msgid "Documentation"
82
  msgstr ""
83
 
84
- #: includes/class-wcj-admin-bar.php:212 includes/class-wcj-my-account.php:31
85
  #: includes/admin/class-wc-settings-jetpack.php:146
86
  #: includes/admin/wcj-modules-cats.php:14
87
  msgid "Dashboard"
88
  msgstr ""
89
 
90
- #: includes/class-wcj-admin-bar.php:213
91
  msgid ""
92
  "This dashboard lets you check statuses and short descriptions of all "
93
  "available Booster for WooCommerce tools. Tools can be enabled through "
94
  "WooCommerce > Settings > Booster."
95
  msgstr ""
96
 
97
- #: includes/class-wcj-admin-bar.php:240 includes/class-wcj-admin-bar.php:283
98
- #: includes/class-wcj-admin-bar.php:597
99
- #: includes/classes/class-wcj-module.php:524
100
  #: includes/settings/wcj-settings-wpml.php:74
101
  msgid "Tools"
102
  msgstr ""
103
 
104
- #: includes/class-wcj-admin-bar.php:248
105
  msgid "Booster: Active"
106
  msgstr ""
107
 
108
- #: includes/class-wcj-admin-bar.php:251
109
  msgid "Booster - Active"
110
  msgstr ""
111
 
112
- #: includes/class-wcj-admin-bar.php:271
113
- #: includes/class-wcj-checkout-files-upload.php:203
114
  #: includes/class-wcj-eu-vat-number.php:129
115
  #: includes/class-wcj-max-products-per-user.php:115
116
  #: includes/class-wcj-orders.php:109 includes/class-wcj-orders.php:138
@@ -119,152 +119,153 @@ msgstr ""
119
  #: includes/class-wcj-track-users.php:251
120
  #: includes/admin/class-wc-settings-jetpack.php:24
121
  #: includes/admin/class-wc-settings-jetpack.php:221
122
- #: includes/classes/class-wcj-module.php:341
123
- #: includes/classes/class-wcj-module.php:551
124
- #: includes/settings/wcj-settings-price-by-country.php:153
125
  msgid "Booster"
126
  msgstr ""
127
 
128
- #: includes/class-wcj-admin-bar.php:274
129
  msgid "Booster - Settings"
130
  msgstr ""
131
 
132
- #: includes/class-wcj-admin-bar.php:278
133
  msgid "Modules"
134
  msgstr ""
135
 
136
- #: includes/class-wcj-admin-bar.php:302
137
  msgid "Sales by date"
138
  msgstr ""
139
 
140
- #: includes/class-wcj-admin-bar.php:303
141
  msgid "Sales by product"
142
  msgstr ""
143
 
144
- #: includes/class-wcj-admin-bar.php:304
145
  msgid "Sales by category"
146
  msgstr ""
147
 
148
- #: includes/class-wcj-admin-bar.php:305
149
  msgid "Coupons by date"
150
  msgstr ""
151
 
152
- #: includes/class-wcj-admin-bar.php:313 includes/class-wcj-track-users.php:34
153
  #: includes/functions/wcj-functions-reports.php:62
154
  msgid "Last 7 days"
155
  msgstr ""
156
 
157
- #: includes/class-wcj-admin-bar.php:317
158
  #: includes/functions/wcj-functions-reports.php:57
159
  msgid "This month"
160
  msgstr ""
161
 
162
- #: includes/class-wcj-admin-bar.php:321
163
  #: includes/functions/wcj-functions-reports.php:52
164
  msgid "Last month"
165
  msgstr ""
166
 
167
- #: includes/class-wcj-admin-bar.php:325
168
  #: includes/functions/wcj-functions-reports.php:47
169
  #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:125
170
  msgid "Year"
171
  msgstr ""
172
 
173
- #: includes/class-wcj-admin-bar.php:351
174
  #: includes/admin/class-wc-settings-jetpack.php:217
175
- #: includes/settings/wcj-settings-emails-verification.php:123
176
- #: includes/settings/wcj-settings-price-by-country.php:152
177
  msgid "WooCommerce"
178
  msgstr ""
179
 
180
- #: includes/class-wcj-admin-bar.php:354
181
  msgid "WooCommerce settings"
182
  msgstr ""
183
 
184
- #: includes/class-wcj-admin-bar.php:358 includes/class-wcj-admin-bar.php:362
185
- #: includes/class-wcj-admin-bar.php:380 includes/class-wcj-my-account.php:32
186
  #: includes/class-wcj-my-account.php:40 includes/class-wcj-orders.php:26
187
  #: includes/reports/wcj-class-reports-sales-gateways.php:153
188
- #: includes/settings/wcj-settings-reports.php:16
189
- #: includes/settings/wcj-settings-reports.php:54
190
- #: includes/settings/wcj-settings-reports.php:95
191
- #: includes/settings/wcj-settings-reports.php:115
192
  msgid "Orders"
193
  msgstr ""
194
 
195
- #: includes/class-wcj-admin-bar.php:366
196
  msgid "Add order"
197
  msgstr ""
198
 
199
- #: includes/class-wcj-admin-bar.php:370 includes/class-wcj-admin-bar.php:385
200
- #: includes/settings/wcj-settings-reports.php:121
201
- #: includes/settings/wcj-settings-reports.php:127
202
  msgid "Customers"
203
  msgstr ""
204
 
205
- #: includes/class-wcj-admin-bar.php:376 includes/class-wcj-reports.php:33
206
  msgid "Reports"
207
  msgstr ""
208
 
209
- #: includes/class-wcj-admin-bar.php:389
210
  msgid "Customers vs. guests"
211
  msgstr ""
212
 
213
- #: includes/class-wcj-admin-bar.php:393
214
  msgid "Customer list"
215
  msgstr ""
216
 
217
- #: includes/class-wcj-admin-bar.php:399 includes/class-wcj-stock.php:27
218
- #: includes/reports/wcj-class-reports-stock.php:256
219
- #: includes/settings/wcj-settings-reports.php:133
220
- #: includes/settings/wcj-settings-reports.php:139
221
- #: includes/settings/wcj-settings-reports.php:145
222
  msgid "Stock"
223
  msgstr ""
224
 
225
- #: includes/class-wcj-admin-bar.php:403
226
  msgid "Low in stock"
227
  msgstr ""
228
 
229
- #: includes/class-wcj-admin-bar.php:407
230
  #: includes/settings/wcj-settings-stock.php:101
231
  #: includes/shortcodes/class-wcj-shortcodes-products.php:572
232
  msgid "Out of stock"
233
  msgstr ""
234
 
235
- #: includes/class-wcj-admin-bar.php:411
236
  msgid "Most Stocked"
237
  msgstr ""
238
 
239
- #: includes/class-wcj-admin-bar.php:417
240
  #: includes/class-wcj-eu-vat-number.php:193
241
  msgid "Taxes"
242
  msgstr ""
243
 
244
- #: includes/class-wcj-admin-bar.php:421
245
  msgid "Taxes by code"
246
  msgstr ""
247
 
248
- #: includes/class-wcj-admin-bar.php:425
249
  msgid "Taxes by date"
250
  msgstr ""
251
 
252
- #: includes/class-wcj-admin-bar.php:433 includes/class-wcj-admin-bar.php:437
253
- #: includes/class-wcj-admin-bar.php:481
254
  #: includes/class-wcj-product-bulk-meta-editor.php:263
255
  #: includes/class-wcj-product-by-user.php:96
256
  #: includes/class-wcj-product-by-user.php:132
257
  #: includes/class-wcj-shipping-by-products.php:32
258
  #: includes/admin/wcj-modules-cats.php:59
 
259
  #: includes/settings/wcj-settings-shipping-options.php:69
260
  msgid "Products"
261
  msgstr ""
262
 
263
- #: includes/class-wcj-admin-bar.php:441
264
  msgid "Add product"
265
  msgstr ""
266
 
267
- #: includes/class-wcj-admin-bar.php:445
268
  #: includes/class-wcj-product-bulk-price-converter.php:149
269
  #: includes/class-wcj-sku.php:538
270
  #: includes/export/class-wcj-fields-helper.php:318
@@ -274,7 +275,7 @@ msgstr ""
274
  msgid "Categories"
275
  msgstr ""
276
 
277
- #: includes/class-wcj-admin-bar.php:449
278
  #: includes/export/class-wcj-fields-helper.php:319
279
  #: includes/settings/wcj-settings-product-by-user.php:20
280
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:183
@@ -282,51 +283,51 @@ msgstr ""
282
  msgid "Tags"
283
  msgstr ""
284
 
285
- #: includes/class-wcj-admin-bar.php:453
286
  msgid "Attributes"
287
  msgstr ""
288
 
289
- #: includes/class-wcj-admin-bar.php:459 includes/class-wcj-admin-bar.php:463
290
  msgid "Coupons"
291
  msgstr ""
292
 
293
- #: includes/class-wcj-admin-bar.php:467
294
  msgid "Add coupon"
295
  msgstr ""
296
 
297
- #: includes/class-wcj-admin-bar.php:477 includes/class-wcj-admin-bar.php:485
298
  #: includes/class-wcj-general.php:24 includes/class-wcj-pdf-invoicing.php:24
299
  #: includes/settings/wcj-settings-related-products.php:38
300
  msgid "General"
301
  msgstr ""
302
 
303
- #: includes/class-wcj-admin-bar.php:489
304
  #: includes/settings/wcj-settings-eu-vat-number.php:146
305
  #: includes/settings/wcj-settings-product-msrp.php:25
306
  msgid "Display"
307
  msgstr ""
308
 
309
- #: includes/class-wcj-admin-bar.php:493
310
  msgid "Inventory"
311
  msgstr ""
312
 
313
- #: includes/class-wcj-admin-bar.php:497
314
  msgid "Downloadable products"
315
  msgstr ""
316
 
317
- #: includes/class-wcj-admin-bar.php:503
318
  msgid "Tax"
319
  msgstr ""
320
 
321
- #: includes/class-wcj-admin-bar.php:507
322
  msgid "Tax options"
323
  msgstr ""
324
 
325
- #: includes/class-wcj-admin-bar.php:511
326
  msgid "Standard rates"
327
  msgstr ""
328
 
329
- #: includes/class-wcj-admin-bar.php:517
330
  #: includes/settings/wcj-settings-checkout-custom-fields.php:193
331
  #: includes/settings/wcj-settings-checkout-custom-info.php:56
332
  #: includes/settings/wcj-settings-left-to-free-shipping.php:115
@@ -334,72 +335,72 @@ msgstr ""
334
  msgid "Shipping"
335
  msgstr ""
336
 
337
- #: includes/class-wcj-admin-bar.php:521
338
  msgid "Shipping zones"
339
  msgstr ""
340
 
341
- #: includes/class-wcj-admin-bar.php:525
342
  msgid "Shipping options"
343
  msgstr ""
344
 
345
- #: includes/class-wcj-admin-bar.php:529
346
  msgid "Shipping classes"
347
  msgstr ""
348
 
349
- #: includes/class-wcj-admin-bar.php:535
350
  msgid "Checkout"
351
  msgstr ""
352
 
353
- #: includes/class-wcj-admin-bar.php:539
354
  msgid "Checkout options"
355
  msgstr ""
356
 
357
- #: includes/class-wcj-admin-bar.php:543
358
  msgid "BACS"
359
  msgstr ""
360
 
361
- #: includes/class-wcj-admin-bar.php:547
362
  msgid "Check payments"
363
  msgstr ""
364
 
365
- #: includes/class-wcj-admin-bar.php:551
366
  msgid "Cash on delivery"
367
  msgstr ""
368
 
369
- #: includes/class-wcj-admin-bar.php:555
370
  msgid "PayPal"
371
  msgstr ""
372
 
373
- #: includes/class-wcj-admin-bar.php:561
374
  #: includes/settings/wcj-settings-checkout-custom-fields.php:195
375
  msgid "Account"
376
  msgstr ""
377
 
378
- #: includes/class-wcj-admin-bar.php:565
379
  msgid "Emails"
380
  msgstr ""
381
 
382
- #: includes/class-wcj-admin-bar.php:569
383
  msgid "API"
384
  msgstr ""
385
 
386
- #: includes/class-wcj-admin-bar.php:577
387
  msgid "Keys/Apps"
388
  msgstr ""
389
 
390
- #: includes/class-wcj-admin-bar.php:581
391
  msgid "Webhooks"
392
  msgstr ""
393
 
394
- #: includes/class-wcj-admin-bar.php:589 includes/class-wcj-admin-bar.php:593
395
  msgid "System status"
396
  msgstr ""
397
 
398
- #: includes/class-wcj-admin-bar.php:601
399
  msgid "Logs"
400
  msgstr ""
401
 
402
- #: includes/class-wcj-admin-bar.php:607
403
  msgid "Extensions"
404
  msgstr ""
405
 
@@ -583,7 +584,7 @@ msgid "Add custom fields to the checkout page."
583
  msgstr ""
584
 
585
  #: includes/class-wcj-checkout-custom-info.php:24
586
- #: includes/class-wcj-cross-sells.php:30
587
  msgid "Checkout Custom Info"
588
  msgstr ""
589
 
@@ -648,79 +649,79 @@ msgstr ""
648
  msgid "File: %s"
649
  msgstr ""
650
 
651
- #: includes/class-wcj-checkout-files-upload.php:165
652
  #: includes/settings/wcj-settings-checkout-files-upload.php:116
653
  msgid "File is required!"
654
  msgstr ""
655
 
656
- #: includes/class-wcj-checkout-files-upload.php:179
657
- #: includes/class-wcj-checkout-files-upload.php:185
658
- #: includes/class-wcj-checkout-files-upload.php:401
659
- #: includes/class-wcj-checkout-files-upload.php:408
660
  #: includes/settings/wcj-settings-checkout-files-upload.php:110
661
  #, php-format
662
  msgid "Wrong file type: \"%s\"!"
663
  msgstr ""
664
 
665
- #: includes/class-wcj-checkout-files-upload.php:203
666
  msgid "Uploaded Files"
667
  msgstr ""
668
 
669
- #: includes/class-wcj-checkout-files-upload.php:235
670
  msgid "No files uploaded."
671
  msgstr ""
672
 
673
- #: includes/class-wcj-checkout-files-upload.php:238
674
  msgid "Delete all files"
675
  msgstr ""
676
 
677
- #: includes/class-wcj-checkout-files-upload.php:317
678
  #: includes/settings/wcj-settings-checkout-files-upload.php:240
679
  msgid "Files were successfully removed."
680
  msgstr ""
681
 
682
- #: includes/class-wcj-checkout-files-upload.php:344
683
  msgid "Booster for WooCommerce: Checkout Files Upload: %action%"
684
  msgstr ""
685
 
686
- #: includes/class-wcj-checkout-files-upload.php:345
687
  msgid "Order ID: %order_id%; File name: %file_name%"
688
  msgstr ""
689
 
690
- #: includes/class-wcj-checkout-files-upload.php:358
691
- #: includes/class-wcj-checkout-files-upload.php:381
692
  #: includes/settings/wcj-settings-checkout-files-upload.php:136
693
  #, php-format
694
  msgid "File \"%s\" was successfully removed."
695
  msgstr ""
696
 
697
- #: includes/class-wcj-checkout-files-upload.php:365
698
  msgid "File Removed"
699
  msgstr ""
700
 
701
- #: includes/class-wcj-checkout-files-upload.php:419
702
  #: includes/settings/wcj-settings-checkout-files-upload.php:123
703
  #, php-format
704
  msgid "File \"%s\" was successfully uploaded."
705
  msgstr ""
706
 
707
- #: includes/class-wcj-checkout-files-upload.php:429
708
  msgid "File Uploaded"
709
  msgstr ""
710
 
711
- #: includes/class-wcj-checkout-files-upload.php:447
712
  #: includes/settings/wcj-settings-checkout-files-upload.php:129
713
  msgid "Please select file to upload!"
714
  msgstr ""
715
 
716
- #: includes/class-wcj-checkout-files-upload.php:721
717
- #: includes/class-wcj-checkout-files-upload.php:722
718
  #: includes/settings/wcj-settings-checkout-files-upload.php:97
719
  msgid "Upload"
720
  msgstr ""
721
 
722
- #: includes/class-wcj-checkout-files-upload.php:731
723
- #: includes/class-wcj-checkout-files-upload.php:732
724
  #: includes/settings/wcj-settings-checkout-files-upload.php:103
725
  #: includes/settings/wcj-settings-sku.php:275
726
  #: includes/settings/wcj-settings-sorting.php:144
@@ -752,24 +753,24 @@ msgstr ""
752
  msgid "Coupon code generator."
753
  msgstr ""
754
 
755
- #: includes/class-wcj-cross-sells.php:25
756
  msgid "Cross-sells"
757
  msgstr ""
758
 
759
- #: includes/class-wcj-cross-sells.php:26
760
  msgid ""
761
  "Cross-sells are products which you promote in the cart, based on the current "
762
  "product."
763
  msgstr ""
764
 
765
- #: includes/class-wcj-cross-sells.php:27
766
  #, php-format
767
  msgid ""
768
  "You can also use %s shortcode to display cross-sells anywhere on your site, "
769
  "for example on checkout page with %s module."
770
  msgstr ""
771
 
772
- #: includes/class-wcj-cross-sells.php:31
773
  msgid "Customize cross-sells products display."
774
  msgstr ""
775
 
@@ -806,24 +807,6 @@ msgid ""
806
  "module</a>."
807
  msgstr ""
808
 
809
- #: includes/class-wcj-currencies.php:23
810
- msgid "Currencies"
811
- msgstr ""
812
-
813
- #: includes/class-wcj-currencies.php:24
814
- msgid ""
815
- "Add all world currencies and cryptocurrencies to your store; change currency "
816
- "symbol."
817
- msgstr ""
818
-
819
- #: includes/class-wcj-currencies.php:69
820
- msgid "Booster: Currency Symbol"
821
- msgstr ""
822
-
823
- #: includes/class-wcj-currencies.php:70
824
- msgid "This sets the currency symbol."
825
- msgstr ""
826
-
827
  #: includes/class-wcj-currency-exchange-rates.php:24
828
  msgid "Currency Exchange Rates"
829
  msgstr ""
@@ -880,26 +863,164 @@ msgstr ""
880
  msgid "Display prices for products in different currencies."
881
  msgstr ""
882
 
883
- #: includes/class-wcj-currency-per-product.php:173
884
  #: includes/settings/wcj-settings-currency-per-product.php:43
885
  msgid ""
886
  "Only one product can be added to the cart. Clear the cart or finish the "
887
  "order, before adding another product to the cart."
888
  msgstr ""
889
 
890
- #: includes/class-wcj-currency-per-product.php:188
891
  #: includes/settings/wcj-settings-currency-per-product.php:50
892
  msgid ""
893
  "Only products with same currency can be added to the cart. Clear the cart or "
894
  "finish the order, before adding products with another currency to the cart."
895
  msgstr ""
896
 
897
- #: includes/class-wcj-currency-per-product.php:227
898
  #, php-format
899
  msgctxt "Price range: from-to"
900
  msgid "%1$s&ndash;%2$s"
901
  msgstr ""
902
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
903
  #: includes/class-wcj-custom-css.php:28
904
  msgid "Custom CSS"
905
  msgstr ""
@@ -918,7 +1039,7 @@ msgstr ""
918
 
919
  #: includes/class-wcj-email-options.php:26
920
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php:24
921
- #: includes/settings/wcj-settings-emails-verification.php:92
922
  #: includes/settings/wcj-settings-offer-price.php:298
923
  msgid "Email Options"
924
  msgstr ""
@@ -990,56 +1111,62 @@ msgid "Email not verified"
990
  msgstr ""
991
 
992
  #: includes/class-wcj-emails-verification.php:100
993
- #: includes/settings/wcj-settings-emails-verification.php:62
994
  msgid ""
995
  "Your account has to be activated before you can login. You can resend email "
996
  "with verification link by clicking <a href=\"%resend_verification_url%"
997
  "\">here</a>."
998
  msgstr ""
999
 
1000
- #: includes/class-wcj-emails-verification.php:121
1001
- #: includes/class-wcj-emails-verification.php:123
1002
- #: includes/settings/wcj-settings-emails-verification.php:110
1003
  msgid ""
1004
  "Please click the following link to verify your email:<br><br><a href="
1005
  "\"%verification_url%\">%verification_url%</a>"
1006
  msgstr ""
1007
 
1008
- #: includes/class-wcj-emails-verification.php:126
1009
- #: includes/class-wcj-emails-verification.php:128
1010
- #: includes/settings/wcj-settings-emails-verification.php:100
1011
  msgid "Please activate your account"
1012
  msgstr ""
1013
 
1014
- #: includes/class-wcj-emails-verification.php:133
1015
- #: includes/settings/wcj-settings-emails-verification.php:132
1016
  msgid "Activate your account"
1017
  msgstr ""
1018
 
1019
- #: includes/class-wcj-emails-verification.php:150
1020
- #: includes/settings/wcj-settings-emails-verification.php:54
1021
  msgid "<strong>Success:</strong> Your account has been activated!"
1022
  msgstr ""
1023
 
1024
- #: includes/class-wcj-emails-verification.php:159
1025
- #: includes/settings/wcj-settings-emails-verification.php:70
1026
  msgid ""
1027
  "<strong>Error:</strong> Activation failed, please contact our administrator. "
1028
  "You can resend email with verification link by clicking <a href="
1029
  "\"%resend_verification_url%\">here</a>."
1030
  msgstr ""
1031
 
1032
- #: includes/class-wcj-emails-verification.php:168
1033
- #: includes/settings/wcj-settings-emails-verification.php:77
 
 
 
 
 
 
1034
  msgid ""
1035
  "Thank you for your registration. Your account has to be activated before you "
1036
  "can login. Please check your email."
1037
  msgstr ""
1038
 
1039
- #: includes/class-wcj-emails-verification.php:173
1040
- #: includes/settings/wcj-settings-emails-verification.php:84
1041
  msgid ""
1042
- "<strong>Success:</strong> Your activation email has been resend. Please "
1043
  "check your email."
1044
  msgstr ""
1045
 
@@ -1072,7 +1199,7 @@ msgid "Booster: Send Email: %s"
1072
  msgstr ""
1073
 
1074
  #: includes/class-wcj-empty-cart-button.php:25
1075
- #: includes/shortcodes/class-wcj-shortcodes-general.php:431
1076
  msgid "Empty Cart Button"
1077
  msgstr ""
1078
 
@@ -1325,7 +1452,7 @@ msgstr ""
1325
 
1326
  #: includes/class-wcj-general.php:197
1327
  #: includes/class-wcj-product-by-user.php:197
1328
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:101
1329
  #: includes/tools/class-wcj-order-statuses-tool.php:145
1330
  #: includes/tools/class-wcj-order-statuses-tool.php:221
1331
  msgid "Actions"
@@ -1336,7 +1463,7 @@ msgstr ""
1336
  #: includes/class-wcj-product-bulk-meta-editor.php:367
1337
  #: includes/class-wcj-product-by-user.php:206
1338
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:140
1339
- #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:313
1340
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:364
1341
  #: includes/tools/class-wcj-order-statuses-tool.php:161
1342
  msgid "Delete"
@@ -1351,7 +1478,7 @@ msgid "Add New Role"
1351
  msgstr ""
1352
 
1353
  #: includes/class-wcj-general.php:215
1354
- #: includes/class-wcj-shipping-by-products.php:207
1355
  #: includes/settings/wcj-settings-admin-orders-list.php:134
1356
  #: includes/settings/wcj-settings-checkout-custom-fields.php:22
1357
  #: includes/settings/wcj-settings-checkout-custom-fields.php:29
@@ -1367,8 +1494,8 @@ msgstr ""
1367
  #: includes/settings/wcj-settings-order-min-amount.php:53
1368
  #: includes/settings/wcj-settings-orders.php:106
1369
  #: includes/settings/wcj-settings-orders.php:133
1370
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:126
1371
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:184
1372
  #: includes/settings/wcj-settings-product-by-condition.php:107
1373
  #: includes/settings/wcj-settings-product-by-user.php:114
1374
  #: includes/settings/wcj-settings-product-open-pricing.php:121
@@ -1389,12 +1516,12 @@ msgstr ""
1389
  #: includes/class-wcj-product-bulk-price-converter.php:148
1390
  #: includes/class-wcj-sku.php:537
1391
  #: includes/reports/wcj-class-reports-sales.php:197
1392
- #: includes/reports/wcj-class-reports-stock.php:253
1393
  msgid "Product"
1394
  msgstr ""
1395
 
1396
  #: includes/class-wcj-general.php:279 includes/class-wcj-general.php:321
1397
- #: includes/reports/wcj-class-reports-stock.php:254
1398
  msgid "Category"
1399
  msgstr ""
1400
 
@@ -1404,6 +1531,7 @@ msgstr ""
1404
 
1405
  #: includes/class-wcj-global-discount.php:27
1406
  #: includes/admin/class-wc-settings-jetpack.php:479
 
1407
  msgid "Global Discount"
1408
  msgstr ""
1409
 
@@ -1472,8 +1600,8 @@ msgid "Qty Bought"
1472
  msgstr ""
1473
 
1474
  #: includes/class-wcj-max-products-per-user.php:135
1475
- #: includes/functions/wcj-functions-users.php:136
1476
- #: includes/functions/wcj-functions-users.php:156
1477
  msgid "Guest"
1478
  msgstr ""
1479
 
@@ -1509,6 +1637,7 @@ msgid "Set \"Place order\" button label."
1509
  msgstr ""
1510
 
1511
  #: includes/class-wcj-multicurrency-product-base-price.php:25
 
1512
  msgid "Multicurrency Product Base Price"
1513
  msgstr ""
1514
 
@@ -1517,6 +1646,7 @@ msgid "Enter prices for products in different currencies."
1517
  msgstr ""
1518
 
1519
  #: includes/class-wcj-multicurrency.php:25
 
1520
  msgid "Multicurrency (Currency Switcher)"
1521
  msgstr ""
1522
 
@@ -1601,8 +1731,8 @@ msgstr ""
1601
  #: includes/class-wcj-product-by-user.php:206
1602
  #: includes/class-wcj-purchase-data.php:94
1603
  #: includes/class-wcj-track-users.php:334
1604
- #: includes/classes/class-wcj-module.php:660
1605
- #: includes/functions/wcj-functions-general.php:143
1606
  #: includes/functions/wcj-functions-html.php:96
1607
  #: includes/reports/wcj-class-reports-monthly-sales.php:351
1608
  #: includes/settings/wcj-settings-empty-cart.php:85
@@ -1640,7 +1770,7 @@ msgstr ""
1640
 
1641
  #: includes/class-wcj-offer-price.php:170
1642
  #: includes/export/class-wcj-fields-helper.php:288
1643
- #: includes/reports/wcj-class-reports-stock.php:255
1644
  #: includes/settings/wcj-settings-cross-sells.php:47
1645
  #: includes/settings/wcj-settings-product-add-to-cart.php:302
1646
  #: includes/settings/wcj-settings-related-products.php:33
@@ -2128,9 +2258,6 @@ msgid "Invoices Monthly Reports."
2128
  msgstr ""
2129
 
2130
  #: includes/class-wcj-pdf-invoicing.php:91
2131
- #: includes/settings/wcj-settings-price-by-country.php:185
2132
- #: includes/settings/wcj-settings-price-by-country.php:190
2133
- #: includes/settings/wcj-settings-price-by-country.php:195
2134
  msgid "Generate"
2135
  msgstr ""
2136
 
@@ -2236,36 +2363,36 @@ msgid ""
2236
  "format options."
2237
  msgstr ""
2238
 
2239
- #: includes/class-wcj-price-labels.php:23
2240
  msgid "Custom Price Labels"
2241
  msgstr ""
2242
 
2243
- #: includes/class-wcj-price-labels.php:24
2244
  msgid "Create any custom price label for any product."
2245
  msgstr ""
2246
 
2247
- #: includes/class-wcj-price-labels.php:32
2248
  #: includes/settings/wcj-settings-price-labels.php:99
2249
  msgid "Instead of the price"
2250
  msgstr ""
2251
 
2252
- #: includes/class-wcj-price-labels.php:33
2253
  msgid "Before the price"
2254
  msgstr ""
2255
 
2256
- #: includes/class-wcj-price-labels.php:34
2257
  msgid "Between regular and sale prices"
2258
  msgstr ""
2259
 
2260
- #: includes/class-wcj-price-labels.php:35
2261
  msgid "After the price"
2262
  msgstr ""
2263
 
2264
- #: includes/class-wcj-price-labels.php:40
2265
  #: includes/class-wcj-product-info.php:235
2266
- #: includes/class-wcj-shipping-by-products.php:196
2267
  #: includes/class-wcj-shipping-options.php:121
2268
- #: includes/settings/wcj-settings-add-to-cart.php:52
2269
  #: includes/settings/wcj-settings-address-formats.php:20
2270
  #: includes/settings/wcj-settings-admin-bar.php:20
2271
  #: includes/settings/wcj-settings-admin-bar.php:27
@@ -2292,10 +2419,12 @@ msgstr ""
2292
  #: includes/settings/wcj-settings-checkout-fees.php:71
2293
  #: includes/settings/wcj-settings-checkout-files-upload.php:227
2294
  #: includes/settings/wcj-settings-checkout-files-upload.php:329
2295
- #: includes/settings/wcj-settings-checkout-files-upload.php:427
2296
  #: includes/settings/wcj-settings-coupon-by-user-role.php:47
2297
  #: includes/settings/wcj-settings-coupon-code-generator.php:32
2298
  #: includes/settings/wcj-settings-cross-sells.php:97
 
 
2299
  #: includes/settings/wcj-settings-currency-exchange-rates.php:54
2300
  #: includes/settings/wcj-settings-currency-exchange-rates.php:85
2301
  #: includes/settings/wcj-settings-currency-exchange-rates.php:93
@@ -2308,11 +2437,11 @@ msgstr ""
2308
  #: includes/settings/wcj-settings-custom-css.php:34
2309
  #: includes/settings/wcj-settings-emails-verification.php:28
2310
  #: includes/settings/wcj-settings-emails-verification.php:36
2311
- #: includes/settings/wcj-settings-general.php:42
2312
- #: includes/settings/wcj-settings-general.php:66
2313
- #: includes/settings/wcj-settings-general.php:82
2314
- #: includes/settings/wcj-settings-general.php:143
2315
- #: includes/settings/wcj-settings-general.php:194
2316
  #: includes/settings/wcj-settings-global-discount.php:52
2317
  #: includes/settings/wcj-settings-left-to-free-shipping.php:28
2318
  #: includes/settings/wcj-settings-left-to-free-shipping.php:57
@@ -2323,7 +2452,6 @@ msgstr ""
2323
  #: includes/settings/wcj-settings-multicurrency-base-price.php:53
2324
  #: includes/settings/wcj-settings-multicurrency-base-price.php:61
2325
  #: includes/settings/wcj-settings-multicurrency.php:39
2326
- #: includes/settings/wcj-settings-multicurrency.php:61
2327
  #: includes/settings/wcj-settings-my-account.php:29
2328
  #: includes/settings/wcj-settings-my-account.php:87
2329
  #: includes/settings/wcj-settings-my-account.php:104
@@ -2343,6 +2471,7 @@ msgstr ""
2343
  #: includes/settings/wcj-settings-orders.php:60
2344
  #: includes/settings/wcj-settings-orders.php:79
2345
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:23
 
2346
  #: includes/settings/wcj-settings-payment-gateways-fees.php:66
2347
  #: includes/settings/wcj-settings-payment-gateways-fees.php:82
2348
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:55
@@ -2351,11 +2480,11 @@ msgstr ""
2351
  #: includes/settings/wcj-settings-pdf-invoicing-header.php:24
2352
  #: includes/settings/wcj-settings-pdf-invoicing-numbering.php:23
2353
  #: includes/settings/wcj-settings-pdf-invoicing-styling.php:73
2354
- #: includes/settings/wcj-settings-price-by-country.php:54
2355
- #: includes/settings/wcj-settings-price-by-country.php:74
2356
  #: includes/settings/wcj-settings-price-by-country.php:90
2357
- #: includes/settings/wcj-settings-price-by-country.php:117
2358
- #: includes/settings/wcj-settings-price-by-country.php:126
 
2359
  #: includes/settings/wcj-settings-price-by-user-role.php:20
2360
  #: includes/settings/wcj-settings-price-by-user-role.php:47
2361
  #: includes/settings/wcj-settings-price-formats.php:21
@@ -2375,7 +2504,7 @@ msgstr ""
2375
  #: includes/settings/wcj-settings-product-addons.php:50
2376
  #: includes/settings/wcj-settings-product-addons.php:74
2377
  #: includes/settings/wcj-settings-product-addons.php:179
2378
- #: includes/settings/wcj-settings-product-addons.php:230
2379
  #: includes/settings/wcj-settings-product-bookings.php:99
2380
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:21
2381
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:29
@@ -2442,45 +2571,45 @@ msgstr ""
2442
  #: includes/settings/wcj-settings-upsells.php:81
2443
  #: includes/settings/wcj-settings-wholesale-price.php:25
2444
  #: includes/settings/wcj-settings-wholesale-price.php:43
2445
- #: includes/settings/wcj-settings-wholesale-price.php:51
2446
  #: includes/settings/wcj-settings-wpml.php:28
2447
  #: includes/settings/wcj-settings-wpml.php:45
2448
  #: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:68
2449
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
2450
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:17
2451
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:14
2452
  msgid "Enable"
2453
  msgstr ""
2454
 
2455
- #: includes/class-wcj-price-labels.php:41
2456
  msgid "Hide on home page"
2457
  msgstr ""
2458
 
2459
- #: includes/class-wcj-price-labels.php:42
2460
  msgid "Hide on products page"
2461
  msgstr ""
2462
 
2463
- #: includes/class-wcj-price-labels.php:43
2464
  msgid "Hide on single"
2465
  msgstr ""
2466
 
2467
- #: includes/class-wcj-price-labels.php:44
2468
  msgid "Hide on all pages"
2469
  msgstr ""
2470
 
2471
- #: includes/class-wcj-price-labels.php:45
2472
  msgid "Hide on cart page only"
2473
  msgstr ""
2474
 
2475
- #: includes/class-wcj-price-labels.php:47
2476
  msgid "Hide for main price"
2477
  msgstr ""
2478
 
2479
- #: includes/class-wcj-price-labels.php:48
2480
  msgid "Hide for all variations"
2481
  msgstr ""
2482
 
2483
- #: includes/class-wcj-price-labels.php:136
2484
  msgid "Booster: Custom Price Labels"
2485
  msgstr ""
2486
 
@@ -2541,19 +2670,19 @@ msgstr ""
2541
  msgid "View cart"
2542
  msgstr ""
2543
 
2544
- #: includes/class-wcj-product-addons.php:28
2545
  msgid "Product Addons"
2546
  msgstr ""
2547
 
2548
- #: includes/class-wcj-product-addons.php:29
2549
  msgid "Add (paid/free/discount) addons to products."
2550
  msgstr ""
2551
 
2552
- #: includes/class-wcj-product-addons.php:168
2553
  msgid "Some of the required addons are not selected!"
2554
  msgstr ""
2555
 
2556
- #: includes/class-wcj-product-addons.php:183
2557
  msgid ""
2558
  "Booster: Free plugin's version is limited to only three products with per "
2559
  "product addons enabled at a time. You will need to get <a href=\"https://"
@@ -2583,7 +2712,9 @@ msgstr ""
2583
 
2584
  #: includes/class-wcj-product-bookings.php:148
2585
  #: includes/class-wcj-product-open-pricing.php:225
2586
- #: includes/settings/wcj-settings-add-to-cart.php:144
 
 
2587
  msgid "Read more"
2588
  msgstr ""
2589
 
@@ -2663,7 +2794,7 @@ msgstr ""
2663
 
2664
  #: includes/class-wcj-product-bulk-meta-editor.php:232
2665
  #: includes/settings/wcj-settings-product-msrp.php:31
2666
- #: includes/settings/wcj-settings-wholesale-price.php:58
2667
  #: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:19
2668
  #: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:38
2669
  msgid "Show"
@@ -2734,16 +2865,16 @@ msgstr ""
2734
  msgid "Show all"
2735
  msgstr ""
2736
 
2737
- #: includes/class-wcj-product-bulk-price-converter.php:24
2738
- #: includes/class-wcj-product-bulk-price-converter.php:31
2739
  msgid "Bulk Price Converter"
2740
  msgstr ""
2741
 
2742
- #: includes/class-wcj-product-bulk-price-converter.php:25
2743
  msgid "Multiply all products prices by set value."
2744
  msgstr ""
2745
 
2746
- #: includes/class-wcj-product-bulk-price-converter.php:32
2747
  msgid "Bulk Price Converter Tool."
2748
  msgstr ""
2749
 
@@ -2759,61 +2890,74 @@ msgstr ""
2759
  msgid "Modified Price"
2760
  msgstr ""
2761
 
2762
- #: includes/class-wcj-product-bulk-price-converter.php:205
2763
  msgid "Multiply value must be above zero."
2764
  msgstr ""
2765
 
2766
- #: includes/class-wcj-product-bulk-price-converter.php:212
2767
  msgid "Prices changed successfully!"
2768
  msgstr ""
2769
 
2770
- #: includes/class-wcj-product-bulk-price-converter.php:237
2771
  msgid "Multiply all product prices by"
2772
  msgstr ""
2773
 
2774
- #: includes/class-wcj-product-bulk-price-converter.php:245
2775
  msgid "Price type to modify"
2776
  msgstr ""
2777
 
2778
- #: includes/class-wcj-product-bulk-price-converter.php:247
2779
  msgid "Both"
2780
  msgstr ""
2781
 
2782
- #: includes/class-wcj-product-bulk-price-converter.php:249
2783
  msgid "Sale prices only"
2784
  msgstr ""
2785
 
2786
- #: includes/class-wcj-product-bulk-price-converter.php:251
2787
  msgid "Regular prices only"
2788
  msgstr ""
2789
 
2790
- #: includes/class-wcj-product-bulk-price-converter.php:258
2791
  msgid "Products category"
2792
  msgstr ""
2793
 
2794
- #: includes/class-wcj-product-bulk-price-converter.php:260
2795
  #: includes/shortcodes/class-wcj-shortcodes-products.php:362
2796
  msgid "Any"
2797
  msgstr ""
2798
 
2799
- #: includes/class-wcj-product-bulk-price-converter.php:262
2800
  #: includes/settings/wcj-settings-global-discount.php:84
2801
  msgid "None"
2802
  msgstr ""
2803
 
2804
- #: includes/class-wcj-product-bulk-price-converter.php:269
2805
  msgid "\"Pretty prices\" threshold"
2806
  msgstr ""
2807
 
 
 
 
 
 
 
 
 
 
 
 
2808
  #: includes/class-wcj-product-bulk-price-converter.php:273
2809
- msgid "Leave zero to disable"
 
 
2810
  msgstr ""
2811
 
2812
- #: includes/class-wcj-product-bulk-price-converter.php:278
2813
  msgid "Preview Prices"
2814
  msgstr ""
2815
 
2816
- #: includes/class-wcj-product-bulk-price-converter.php:285
2817
  msgid "Change Prices"
2818
  msgstr ""
2819
 
@@ -3016,7 +3160,7 @@ msgstr ""
3016
  #: includes/settings/wcj-settings-related-products.php:24
3017
  #: includes/settings/wcj-settings-upsells.php:42
3018
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:57
3019
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:142
3020
  #: includes/shipping/class-wc-shipping-wcj-custom.php:107
3021
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
3022
  #: includes/widgets/class-wcj-widget-country-switcher.php:62
@@ -3037,7 +3181,7 @@ msgstr ""
3037
  #: includes/admin/class-wc-settings-jetpack.php:480
3038
  #: includes/admin/class-wc-settings-jetpack.php:492
3039
  #: includes/admin/class-wc-settings-jetpack.php:501
3040
- #: includes/functions/wcj-functions-general.php:400
3041
  msgid "Product Info"
3042
  msgstr ""
3043
 
@@ -3376,10 +3520,10 @@ msgid "Order"
3376
  msgstr ""
3377
 
3378
  #: includes/class-wcj-product-tabs.php:606
3379
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
3380
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:51
3381
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:100
3382
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:116
3383
  #: includes/settings/wcj-settings-cart.php:44
3384
  #: includes/settings/wcj-settings-checkout-custom-info.php:40
3385
  #: includes/settings/wcj-settings-left-to-free-shipping.php:34
@@ -3433,7 +3577,7 @@ msgstr ""
3433
  #: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:53
3434
  #: includes/settings/meta-box/wcj-settings-meta-box-product-open-pricing.php:20
3435
  #: includes/settings/meta-box/wcj-settings-meta-box-product-price-by-formula.php:19
3436
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:23
3437
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:20
3438
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:32
3439
  #: includes/widgets/class-wcj-widget-country-switcher.php:82
@@ -3467,7 +3611,7 @@ msgstr ""
3467
  #: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:52
3468
  #: includes/settings/meta-box/wcj-settings-meta-box-product-open-pricing.php:19
3469
  #: includes/settings/meta-box/wcj-settings-meta-box-product-price-by-formula.php:18
3470
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:24
3471
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:19
3472
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:31
3473
  #: includes/widgets/class-wcj-widget-country-switcher.php:83
@@ -3567,44 +3711,44 @@ msgid "Import"
3567
  msgstr ""
3568
 
3569
  #: includes/class-wcj-purchase-data.php:115
3570
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:91
3571
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:158
3572
  #: includes/shipping/class-wc-shipping-wcj-custom.php:122
3573
  #: includes/shipping/class-wc-shipping-wcj-custom.php:164
3574
  msgid "Cost"
3575
  msgstr ""
3576
 
3577
  #: includes/class-wcj-purchase-data.php:118
3578
- #: includes/class-wcj-purchase-data.php:151
3579
- #: includes/class-wcj-purchase-data.php:238
3580
  #: includes/functions/wcj-functions-reports.php:28
3581
  #: includes/settings/wcj-settings-purchase-data.php:133
3582
  #: includes/settings/wcj-settings-purchase-data.php:161
3583
  msgid "Profit"
3584
  msgstr ""
3585
 
3586
- #: includes/class-wcj-purchase-data.php:154
3587
  #: includes/settings/wcj-settings-purchase-data.php:142
3588
  #: includes/settings/wcj-settings-purchase-data.php:168
3589
  msgid "Purchase Cost"
3590
  msgstr ""
3591
 
3592
- #: includes/class-wcj-purchase-data.php:236
3593
  msgid "Selling"
3594
  msgstr ""
3595
 
3596
- #: includes/class-wcj-purchase-data.php:237
3597
  msgid "Buying"
3598
  msgstr ""
3599
 
3600
- #: includes/class-wcj-purchase-data.php:241
3601
  msgid "Report"
3602
  msgstr ""
3603
 
3604
  #: includes/class-wcj-related-products.php:38
3605
  #: includes/admin/class-wc-settings-jetpack.php:483
3606
  #: includes/settings/wcj-settings-free-price.php:20
3607
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:28
3608
  msgid "Related Products"
3609
  msgstr ""
3610
 
@@ -3755,46 +3899,46 @@ msgstr ""
3755
  msgid "Product Shipping Classes"
3756
  msgstr ""
3757
 
3758
- #: includes/class-wcj-shipping-by-products.php:169
3759
  #: includes/functions/wcj-functions-shipping.php:108
3760
  msgid "No shipping class"
3761
  msgstr ""
3762
 
3763
- #: includes/class-wcj-shipping-by-products.php:186
3764
  msgid "\"Include\" Options"
3765
  msgstr ""
3766
 
3767
- #: includes/class-wcj-shipping-by-products.php:187
3768
  msgid ""
3769
  "Enable this checkbox if you want all products in cart to be valid (instead "
3770
  "of at least one)."
3771
  msgstr ""
3772
 
3773
- #: includes/class-wcj-shipping-by-products.php:188
3774
  msgid "Validate all"
3775
  msgstr ""
3776
 
3777
- #: includes/class-wcj-shipping-by-products.php:194
3778
  msgid "Cart instead of Package"
3779
  msgstr ""
3780
 
3781
- #: includes/class-wcj-shipping-by-products.php:195
3782
  msgid ""
3783
  "Enable this checkbox if you want to check all cart products instead of "
3784
  "package."
3785
  msgstr ""
3786
 
3787
- #: includes/class-wcj-shipping-by-products.php:204
3788
  msgid "Add Products Variations"
3789
  msgstr ""
3790
 
3791
- #: includes/class-wcj-shipping-by-products.php:205
3792
  msgid ""
3793
  "Enable this checkbox if you want to add products variations to the products "
3794
  "list."
3795
  msgstr ""
3796
 
3797
- #: includes/class-wcj-shipping-by-products.php:206
3798
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:25
3799
  #: includes/settings/wcj-settings-shipping-by-condition.php:27
3800
  #: includes/settings/wcj-settings-shipping-by-order-amount.php:23
@@ -3816,7 +3960,7 @@ msgid ""
3816
  msgstr ""
3817
 
3818
  #: includes/class-wcj-shipping-by-user-role.php:33
3819
- #: includes/settings/wcj-settings-multicurrency.php:175
3820
  #: includes/settings/wcj-settings-order-min-amount.php:104
3821
  #: includes/settings/wcj-settings-price-by-user-role.php:90
3822
  #, php-format
@@ -3920,7 +4064,7 @@ msgstr ""
3920
  #: includes/class-wcj-shipping.php:24
3921
  #: includes/settings/wcj-settings-shipping.php:16
3922
  #: includes/settings/wcj-settings-shipping.php:23
3923
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:145
3924
  #: includes/shipping/class-wc-shipping-wcj-custom.php:110
3925
  msgid "Custom Shipping"
3926
  msgstr ""
@@ -4022,6 +4166,14 @@ msgstr ""
4022
  msgid "Customize WooCommerce tax display."
4023
  msgstr ""
4024
 
 
 
 
 
 
 
 
 
4025
  #: includes/class-wcj-track-users.php:26
4026
  msgid "User Tracking"
4027
  msgstr ""
@@ -4093,18 +4245,18 @@ msgstr ""
4093
  msgid "Update now"
4094
  msgstr ""
4095
 
4096
- #: includes/class-wcj-upsells.php:28
4097
  msgid "Upsells"
4098
  msgstr ""
4099
 
4100
- #: includes/class-wcj-upsells.php:29
4101
  msgid ""
4102
  "Upsells are products which you recommend instead of the currently viewed "
4103
  "product, for example, products that are more profitable or better quality or "
4104
  "more expensive."
4105
  msgstr ""
4106
 
4107
- #: includes/class-wcj-upsells.php:30
4108
  msgid "Customize upsells products display."
4109
  msgstr ""
4110
 
@@ -4402,7 +4554,7 @@ msgstr ""
4402
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:37
4403
  #: includes/settings/wcj-settings-payment-gateways-by-user-role.php:14
4404
  #: includes/settings/wcj-settings-payment-gateways-min-max.php:65
4405
- #: includes/settings/wcj-settings-reports.php:113
4406
  msgid "Payment Gateways"
4407
  msgstr ""
4408
 
@@ -4461,30 +4613,30 @@ msgid ""
4461
  "\"%1$s\" products."
4462
  msgstr ""
4463
 
4464
- #: includes/classes/class-wcj-module.php:433
4465
  #, php-format
4466
  msgid "Selected: %s."
4467
  msgstr ""
4468
 
4469
- #: includes/classes/class-wcj-module.php:512
4470
  msgid "Back to Module Settings"
4471
  msgstr ""
4472
 
4473
- #: includes/classes/class-wcj-module.php:530
4474
  #: includes/settings/wcj-settings-wpml.php:79
4475
  msgid "Module Tools"
4476
  msgstr ""
4477
 
4478
- #: includes/classes/class-wcj-module.php:603
4479
  #: includes/settings/wcj-settings-checkout-core-fields.php:64
4480
  msgid "enabled"
4481
  msgstr ""
4482
 
4483
- #: includes/classes/class-wcj-module.php:604
4484
  msgid "disabled"
4485
  msgstr ""
4486
 
4487
- #: includes/classes/class-wcj-module.php:612
4488
  #: includes/settings/wcj-settings-product-tabs.php:172
4489
  #: includes/settings/wcj-settings-product-tabs.php:184
4490
  #: includes/settings/wcj-settings-product-tabs.php:196
@@ -4492,27 +4644,27 @@ msgstr ""
4492
  msgid "Deprecated"
4493
  msgstr ""
4494
 
4495
- #: includes/classes/class-wcj-module.php:650
4496
  msgid "Reset Settings"
4497
  msgstr ""
4498
 
4499
- #: includes/classes/class-wcj-module.php:656
4500
  msgid "Reset Module to Default Settings"
4501
  msgstr ""
4502
 
4503
- #: includes/classes/class-wcj-module.php:657
4504
  msgid "Reset Submodule to Default Settings"
4505
  msgstr ""
4506
 
4507
- #: includes/classes/class-wcj-module.php:661
4508
  msgid "Reset settings"
4509
  msgstr ""
4510
 
4511
- #: includes/classes/class-wcj-module.php:695
4512
  msgid "Module Options"
4513
  msgstr ""
4514
 
4515
- #: includes/classes/class-wcj-module.php:702
4516
  msgid "Enable Module"
4517
  msgstr ""
4518
 
@@ -4522,13 +4674,13 @@ msgid "Company Name"
4522
  msgstr ""
4523
 
4524
  #: includes/classes/class-wcj-pdf-invoice.php:257
4525
- #: includes/functions/wcj-functions-general.php:99
4526
  #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
4527
  msgid "Unexpected error"
4528
  msgstr ""
4529
 
4530
  #: includes/classes/class-wcj-shortcodes.php:109
4531
- #: includes/shortcodes/class-wcj-shortcodes-general.php:431
4532
  #, php-format
4533
  msgid "\"%s\" module is not enabled!"
4534
  msgstr ""
@@ -4587,22 +4739,22 @@ msgstr ""
4587
  msgid "[{site_title}] Custom Subject - Order ({order_number}) - {order_date}"
4588
  msgstr ""
4589
 
4590
- #: includes/emails/class-wc-email-wcj-custom.php:217
4591
  #, php-format
4592
  msgid "New order (%s)"
4593
  msgstr ""
4594
 
4595
- #: includes/emails/class-wc-email-wcj-custom.php:218
4596
  #, php-format
4597
  msgid "Order status updated to %s"
4598
  msgstr ""
4599
 
4600
- #: includes/emails/class-wc-email-wcj-custom.php:221
4601
  #, php-format
4602
  msgid "Order status %s to %s"
4603
  msgstr ""
4604
 
4605
- #: includes/emails/class-wc-email-wcj-custom.php:228
4606
  #: includes/gateways/class-wc-gateway-wcj-custom.php:59
4607
  #: includes/settings/wcj-settings-admin-products-list.php:19
4608
  #: includes/settings/wcj-settings-admin-products-list.php:75
@@ -4612,15 +4764,15 @@ msgstr ""
4612
  msgid "Enable/Disable"
4613
  msgstr ""
4614
 
4615
- #: includes/emails/class-wc-email-wcj-custom.php:230
4616
  msgid "Enable this email notification"
4617
  msgstr ""
4618
 
4619
- #: includes/emails/class-wc-email-wcj-custom.php:234
4620
  msgid "Trigger(s)"
4621
  msgstr ""
4622
 
4623
- #: includes/emails/class-wc-email-wcj-custom.php:238
4624
  msgid ""
4625
  "Please note, that all new orders in WooCommerce by default are created with "
4626
  "Pending Payment status. If you want to change the default order status - you "
@@ -4628,103 +4780,103 @@ msgid ""
4628
  "Settings > Booster > Shipping & Orders > Order Custom Statuses)."
4629
  msgstr ""
4630
 
4631
- #: includes/emails/class-wc-email-wcj-custom.php:241
4632
  msgid "New order (Any status)"
4633
  msgstr ""
4634
 
4635
- #: includes/emails/class-wc-email-wcj-custom.php:246
4636
  msgid "Reset password notification"
4637
  msgstr ""
4638
 
4639
- #: includes/emails/class-wc-email-wcj-custom.php:247
4640
  msgid "Order fully refunded notification"
4641
  msgstr ""
4642
 
4643
- #: includes/emails/class-wc-email-wcj-custom.php:248
4644
  msgid "Order partially refunded notification"
4645
  msgstr ""
4646
 
4647
- #: includes/emails/class-wc-email-wcj-custom.php:249
4648
  msgid "New customer note notification"
4649
  msgstr ""
4650
 
4651
- #: includes/emails/class-wc-email-wcj-custom.php:250
4652
  msgid "Low stock notification"
4653
  msgstr ""
4654
 
4655
- #: includes/emails/class-wc-email-wcj-custom.php:251
4656
  msgid "No stock notification"
4657
  msgstr ""
4658
 
4659
- #: includes/emails/class-wc-email-wcj-custom.php:252
4660
  msgid "Product on backorder notification"
4661
  msgstr ""
4662
 
4663
- #: includes/emails/class-wc-email-wcj-custom.php:253
4664
  msgid "Created customer notification"
4665
  msgstr ""
4666
 
4667
- #: includes/emails/class-wc-email-wcj-custom.php:260
4668
  msgid "Recipient(s)"
4669
  msgstr ""
4670
 
4671
- #: includes/emails/class-wc-email-wcj-custom.php:262
4672
  #, php-format
4673
  msgid ""
4674
  "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
4675
  "code>."
4676
  msgstr ""
4677
 
4678
- #: includes/emails/class-wc-email-wcj-custom.php:263
4679
  msgid "Or enter <code>%customer%</code> to send to customer billing email."
4680
  msgstr ""
4681
 
4682
- #: includes/emails/class-wc-email-wcj-custom.php:269
4683
  msgid "Subject"
4684
  msgstr ""
4685
 
4686
- #: includes/emails/class-wc-email-wcj-custom.php:271
4687
  #, php-format
4688
  msgid ""
4689
  "This controls the email subject line. Leave blank to use the default "
4690
  "subject: <code>%s</code>."
4691
  msgstr ""
4692
 
4693
- #: includes/emails/class-wc-email-wcj-custom.php:277
4694
  msgid "Email type"
4695
  msgstr ""
4696
 
4697
- #: includes/emails/class-wc-email-wcj-custom.php:279
4698
  msgid "Choose which format of email to send."
4699
  msgstr ""
4700
 
4701
- #: includes/emails/class-wc-email-wcj-custom.php:285
4702
  msgid "Wrap in WC Email Template"
4703
  msgstr ""
4704
 
4705
- #: includes/emails/class-wc-email-wcj-custom.php:291
4706
  msgid ""
4707
  "WC Email Heading. Used only if \"Wrap in WC Email Template\" is enabled and "
4708
  "only for HTML templates."
4709
  msgstr ""
4710
 
4711
- #: includes/emails/class-wc-email-wcj-custom.php:292
4712
  #, php-format
4713
  msgid ""
4714
  "This controls the main heading contained within the email notification. "
4715
  "Leave blank to use the default heading: <code>%s</code>."
4716
  msgstr ""
4717
 
4718
- #: includes/emails/class-wc-email-wcj-custom.php:298
4719
  msgid "HTML template"
4720
  msgstr ""
4721
 
4722
- #: includes/emails/class-wc-email-wcj-custom.php:300
4723
- #: includes/emails/class-wc-email-wcj-custom.php:309
4724
  msgid "You can use shortcodes here. E.g. Booster's order shortcodes."
4725
  msgstr ""
4726
 
4727
- #: includes/emails/class-wc-email-wcj-custom.php:307
4728
  msgid "Plain text template"
4729
  msgstr ""
4730
 
@@ -5086,7 +5238,7 @@ msgstr ""
5086
  #: includes/settings/wcj-settings-purchase-data.php:73
5087
  #: includes/settings/wcj-settings-shipping-options.php:77
5088
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
5089
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:149
5090
  #: includes/shipping/class-wc-shipping-wcj-custom.php:114
5091
  #: includes/widgets/class-wcj-widget-multicurrency.php:70
5092
  msgid "Type"
@@ -5221,9 +5373,9 @@ msgid "Enter comma separated list of IDs."
5221
  msgstr ""
5222
 
5223
  #: includes/functions/wcj-functions-admin.php:211
5224
- #: includes/settings/wcj-settings-emails-verification.php:59
5225
  #: includes/settings/wcj-settings-emails-verification.php:67
5226
- #: includes/settings/wcj-settings-emails-verification.php:107
 
5227
  #, php-format
5228
  msgid "Replaced value: %s"
5229
  msgstr ""
@@ -5285,1847 +5437,1078 @@ msgstr ""
5285
  msgid "Get Booster Plus to change value."
5286
  msgstr ""
5287
 
5288
- #: includes/functions/wcj-functions-country.php:164
5289
  msgid "Afghanistan"
5290
  msgstr ""
5291
 
5292
- #: includes/functions/wcj-functions-country.php:165
5293
  msgid "&#197;land Islands"
5294
  msgstr ""
5295
 
5296
- #: includes/functions/wcj-functions-country.php:166
5297
  msgid "Albania"
5298
  msgstr ""
5299
 
5300
- #: includes/functions/wcj-functions-country.php:167
5301
  msgid "Algeria"
5302
  msgstr ""
5303
 
5304
- #: includes/functions/wcj-functions-country.php:168
5305
  msgid "Andorra"
5306
  msgstr ""
5307
 
5308
- #: includes/functions/wcj-functions-country.php:169
5309
  msgid "Angola"
5310
  msgstr ""
5311
 
5312
- #: includes/functions/wcj-functions-country.php:170
5313
  msgid "Anguilla"
5314
  msgstr ""
5315
 
5316
- #: includes/functions/wcj-functions-country.php:171
5317
  msgid "Antarctica"
5318
  msgstr ""
5319
 
5320
- #: includes/functions/wcj-functions-country.php:172
5321
  msgid "Antigua and Barbuda"
5322
  msgstr ""
5323
 
5324
- #: includes/functions/wcj-functions-country.php:173
5325
  msgid "Argentina"
5326
  msgstr ""
5327
 
5328
- #: includes/functions/wcj-functions-country.php:174
5329
  msgid "Armenia"
5330
  msgstr ""
5331
 
5332
- #: includes/functions/wcj-functions-country.php:175
5333
  msgid "Aruba"
5334
  msgstr ""
5335
 
5336
- #: includes/functions/wcj-functions-country.php:176
5337
  msgid "Australia"
5338
  msgstr ""
5339
 
5340
- #: includes/functions/wcj-functions-country.php:177
5341
  msgid "Austria"
5342
  msgstr ""
5343
 
5344
- #: includes/functions/wcj-functions-country.php:178
5345
  msgid "Azerbaijan"
5346
  msgstr ""
5347
 
5348
- #: includes/functions/wcj-functions-country.php:179
5349
  msgid "Bahamas"
5350
  msgstr ""
5351
 
5352
- #: includes/functions/wcj-functions-country.php:180
5353
  msgid "Bahrain"
5354
  msgstr ""
5355
 
5356
- #: includes/functions/wcj-functions-country.php:181
5357
  msgid "Bangladesh"
5358
  msgstr ""
5359
 
5360
- #: includes/functions/wcj-functions-country.php:182
5361
  msgid "Barbados"
5362
  msgstr ""
5363
 
5364
- #: includes/functions/wcj-functions-country.php:183
5365
  msgid "Belarus"
5366
  msgstr ""
5367
 
5368
- #: includes/functions/wcj-functions-country.php:184
5369
  msgid "Belgium"
5370
  msgstr ""
5371
 
5372
- #: includes/functions/wcj-functions-country.php:185
5373
  msgid "Belau"
5374
  msgstr ""
5375
 
5376
- #: includes/functions/wcj-functions-country.php:186
5377
  msgid "Belize"
5378
  msgstr ""
5379
 
5380
- #: includes/functions/wcj-functions-country.php:187
5381
  msgid "Benin"
5382
  msgstr ""
5383
 
5384
- #: includes/functions/wcj-functions-country.php:188
5385
  msgid "Bermuda"
5386
  msgstr ""
5387
 
5388
- #: includes/functions/wcj-functions-country.php:189
5389
  msgid "Bhutan"
5390
  msgstr ""
5391
 
5392
- #: includes/functions/wcj-functions-country.php:190
5393
  msgid "Bolivia"
5394
  msgstr ""
5395
 
5396
- #: includes/functions/wcj-functions-country.php:191
5397
  msgid "Bonaire, Saint Eustatius and Saba"
5398
  msgstr ""
5399
 
5400
- #: includes/functions/wcj-functions-country.php:192
5401
  msgid "Bosnia and Herzegovina"
5402
  msgstr ""
5403
 
5404
- #: includes/functions/wcj-functions-country.php:193
5405
  msgid "Botswana"
5406
  msgstr ""
5407
 
5408
- #: includes/functions/wcj-functions-country.php:194
5409
  msgid "Bouvet Island"
5410
  msgstr ""
5411
 
5412
- #: includes/functions/wcj-functions-country.php:195
5413
  msgid "Brazil"
5414
  msgstr ""
5415
 
5416
- #: includes/functions/wcj-functions-country.php:196
5417
  msgid "British Indian Ocean Territory"
5418
  msgstr ""
5419
 
5420
- #: includes/functions/wcj-functions-country.php:197
5421
  msgid "British Virgin Islands"
5422
  msgstr ""
5423
 
5424
- #: includes/functions/wcj-functions-country.php:198
5425
  msgid "Brunei"
5426
  msgstr ""
5427
 
5428
- #: includes/functions/wcj-functions-country.php:199
5429
  msgid "Bulgaria"
5430
  msgstr ""
5431
 
5432
- #: includes/functions/wcj-functions-country.php:200
5433
  msgid "Burkina Faso"
5434
  msgstr ""
5435
 
5436
- #: includes/functions/wcj-functions-country.php:201
5437
  msgid "Burundi"
5438
  msgstr ""
5439
 
5440
- #: includes/functions/wcj-functions-country.php:202
5441
  msgid "Cambodia"
5442
  msgstr ""
5443
 
5444
- #: includes/functions/wcj-functions-country.php:203
5445
  msgid "Cameroon"
5446
  msgstr ""
5447
 
5448
- #: includes/functions/wcj-functions-country.php:204
5449
  msgid "Canada"
5450
  msgstr ""
5451
 
5452
- #: includes/functions/wcj-functions-country.php:205
5453
  msgid "Cape Verde"
5454
  msgstr ""
5455
 
5456
- #: includes/functions/wcj-functions-country.php:206
5457
  msgid "Cayman Islands"
5458
  msgstr ""
5459
 
5460
- #: includes/functions/wcj-functions-country.php:207
5461
  msgid "Central African Republic"
5462
  msgstr ""
5463
 
5464
- #: includes/functions/wcj-functions-country.php:208
5465
  msgid "Chad"
5466
  msgstr ""
5467
 
5468
- #: includes/functions/wcj-functions-country.php:209
5469
  msgid "Chile"
5470
  msgstr ""
5471
 
5472
- #: includes/functions/wcj-functions-country.php:210
5473
  msgid "China"
5474
  msgstr ""
5475
 
5476
- #: includes/functions/wcj-functions-country.php:211
5477
  msgid "Christmas Island"
5478
  msgstr ""
5479
 
5480
- #: includes/functions/wcj-functions-country.php:212
5481
  msgid "Cocos (Keeling) Islands"
5482
  msgstr ""
5483
 
5484
- #: includes/functions/wcj-functions-country.php:213
5485
  msgid "Colombia"
5486
  msgstr ""
5487
 
5488
- #: includes/functions/wcj-functions-country.php:214
5489
  msgid "Comoros"
5490
  msgstr ""
5491
 
5492
- #: includes/functions/wcj-functions-country.php:215
5493
  msgid "Congo (Brazzaville)"
5494
  msgstr ""
5495
 
5496
- #: includes/functions/wcj-functions-country.php:216
5497
  msgid "Congo (Kinshasa)"
5498
  msgstr ""
5499
 
5500
- #: includes/functions/wcj-functions-country.php:217
5501
  msgid "Cook Islands"
5502
  msgstr ""
5503
 
5504
- #: includes/functions/wcj-functions-country.php:218
5505
  msgid "Costa Rica"
5506
  msgstr ""
5507
 
5508
- #: includes/functions/wcj-functions-country.php:219
5509
  msgid "Croatia"
5510
  msgstr ""
5511
 
5512
- #: includes/functions/wcj-functions-country.php:220
5513
  msgid "Cuba"
5514
  msgstr ""
5515
 
5516
- #: includes/functions/wcj-functions-country.php:221
5517
  msgid "Cura&Ccedil;ao"
5518
  msgstr ""
5519
 
5520
- #: includes/functions/wcj-functions-country.php:222
5521
  msgid "Cyprus"
5522
  msgstr ""
5523
 
5524
- #: includes/functions/wcj-functions-country.php:223
5525
  msgid "Czech Republic"
5526
  msgstr ""
5527
 
5528
- #: includes/functions/wcj-functions-country.php:224
5529
  msgid "Denmark"
5530
  msgstr ""
5531
 
5532
- #: includes/functions/wcj-functions-country.php:225
5533
  msgid "Djibouti"
5534
  msgstr ""
5535
 
5536
- #: includes/functions/wcj-functions-country.php:226
5537
  msgid "Dominica"
5538
  msgstr ""
5539
 
5540
- #: includes/functions/wcj-functions-country.php:227
5541
  msgid "Dominican Republic"
5542
  msgstr ""
5543
 
5544
- #: includes/functions/wcj-functions-country.php:228
5545
  msgid "Ecuador"
5546
  msgstr ""
5547
 
5548
- #: includes/functions/wcj-functions-country.php:229
5549
  msgid "Egypt"
5550
  msgstr ""
5551
 
5552
- #: includes/functions/wcj-functions-country.php:230
5553
  msgid "El Salvador"
5554
  msgstr ""
5555
 
5556
- #: includes/functions/wcj-functions-country.php:231
5557
  msgid "Equatorial Guinea"
5558
  msgstr ""
5559
 
5560
- #: includes/functions/wcj-functions-country.php:232
5561
  msgid "Eritrea"
5562
  msgstr ""
5563
 
5564
- #: includes/functions/wcj-functions-country.php:233
5565
  msgid "Estonia"
5566
  msgstr ""
5567
 
5568
- #: includes/functions/wcj-functions-country.php:234
5569
  msgid "Ethiopia"
5570
  msgstr ""
5571
 
5572
- #: includes/functions/wcj-functions-country.php:235
5573
  msgid "Falkland Islands"
5574
  msgstr ""
5575
 
5576
- #: includes/functions/wcj-functions-country.php:236
5577
  msgid "Faroe Islands"
5578
  msgstr ""
5579
 
5580
- #: includes/functions/wcj-functions-country.php:237
5581
  msgid "Fiji"
5582
  msgstr ""
5583
 
5584
- #: includes/functions/wcj-functions-country.php:238
5585
  msgid "Finland"
5586
  msgstr ""
5587
 
5588
- #: includes/functions/wcj-functions-country.php:239
5589
  msgid "France"
5590
  msgstr ""
5591
 
5592
- #: includes/functions/wcj-functions-country.php:240
5593
  msgid "French Guiana"
5594
  msgstr ""
5595
 
5596
- #: includes/functions/wcj-functions-country.php:241
5597
  msgid "French Polynesia"
5598
  msgstr ""
5599
 
5600
- #: includes/functions/wcj-functions-country.php:242
5601
  msgid "French Southern Territories"
5602
  msgstr ""
5603
 
5604
- #: includes/functions/wcj-functions-country.php:243
5605
  msgid "Gabon"
5606
  msgstr ""
5607
 
5608
- #: includes/functions/wcj-functions-country.php:244
5609
  msgid "Gambia"
5610
  msgstr ""
5611
 
5612
- #: includes/functions/wcj-functions-country.php:245
5613
  msgid "Georgia"
5614
  msgstr ""
5615
 
5616
- #: includes/functions/wcj-functions-country.php:246
5617
  msgid "Germany"
5618
  msgstr ""
5619
 
5620
- #: includes/functions/wcj-functions-country.php:247
5621
  msgid "Ghana"
5622
  msgstr ""
5623
 
5624
- #: includes/functions/wcj-functions-country.php:248
5625
  msgid "Gibraltar"
5626
  msgstr ""
5627
 
5628
- #: includes/functions/wcj-functions-country.php:249
5629
  msgid "Greece"
5630
  msgstr ""
5631
 
5632
- #: includes/functions/wcj-functions-country.php:250
5633
  msgid "Greenland"
5634
  msgstr ""
5635
 
5636
- #: includes/functions/wcj-functions-country.php:251
5637
  msgid "Grenada"
5638
  msgstr ""
5639
 
5640
- #: includes/functions/wcj-functions-country.php:252
5641
  msgid "Guadeloupe"
5642
  msgstr ""
5643
 
5644
- #: includes/functions/wcj-functions-country.php:253
5645
  msgid "Guatemala"
5646
  msgstr ""
5647
 
5648
- #: includes/functions/wcj-functions-country.php:254
5649
  msgid "Guernsey"
5650
  msgstr ""
5651
 
5652
- #: includes/functions/wcj-functions-country.php:255
5653
  msgid "Guinea"
5654
  msgstr ""
5655
 
5656
- #: includes/functions/wcj-functions-country.php:256
5657
  msgid "Guinea-Bissau"
5658
  msgstr ""
5659
 
5660
- #: includes/functions/wcj-functions-country.php:257
5661
  msgid "Guyana"
5662
  msgstr ""
5663
 
5664
- #: includes/functions/wcj-functions-country.php:258
5665
  msgid "Haiti"
5666
  msgstr ""
5667
 
5668
- #: includes/functions/wcj-functions-country.php:259
5669
  msgid "Heard Island and McDonald Islands"
5670
  msgstr ""
5671
 
5672
- #: includes/functions/wcj-functions-country.php:260
5673
  msgid "Honduras"
5674
  msgstr ""
5675
 
5676
- #: includes/functions/wcj-functions-country.php:261
5677
  msgid "Hong Kong"
5678
  msgstr ""
5679
 
5680
- #: includes/functions/wcj-functions-country.php:262
5681
  msgid "Hungary"
5682
  msgstr ""
5683
 
5684
- #: includes/functions/wcj-functions-country.php:263
5685
  msgid "Iceland"
5686
  msgstr ""
5687
 
5688
- #: includes/functions/wcj-functions-country.php:264
5689
  msgid "India"
5690
  msgstr ""
5691
 
5692
- #: includes/functions/wcj-functions-country.php:265
5693
  msgid "Indonesia"
5694
  msgstr ""
5695
 
5696
- #: includes/functions/wcj-functions-country.php:266
5697
  msgid "Iran"
5698
  msgstr ""
5699
 
5700
- #: includes/functions/wcj-functions-country.php:267
5701
  msgid "Iraq"
5702
  msgstr ""
5703
 
5704
- #: includes/functions/wcj-functions-country.php:268
5705
  msgid "Republic of Ireland"
5706
  msgstr ""
5707
 
5708
- #: includes/functions/wcj-functions-country.php:269
5709
  msgid "Isle of Man"
5710
  msgstr ""
5711
 
5712
- #: includes/functions/wcj-functions-country.php:270
5713
  msgid "Israel"
5714
  msgstr ""
5715
 
5716
- #: includes/functions/wcj-functions-country.php:271
5717
  msgid "Italy"
5718
  msgstr ""
5719
 
5720
- #: includes/functions/wcj-functions-country.php:272
5721
  msgid "Ivory Coast"
5722
  msgstr ""
5723
 
5724
- #: includes/functions/wcj-functions-country.php:273
5725
  msgid "Jamaica"
5726
  msgstr ""
5727
 
5728
- #: includes/functions/wcj-functions-country.php:274
5729
  msgid "Japan"
5730
  msgstr ""
5731
 
5732
- #: includes/functions/wcj-functions-country.php:275
5733
  msgid "Jersey"
5734
  msgstr ""
5735
 
5736
- #: includes/functions/wcj-functions-country.php:276
5737
  msgid "Jordan"
5738
  msgstr ""
5739
 
5740
- #: includes/functions/wcj-functions-country.php:277
5741
  msgid "Kazakhstan"
5742
  msgstr ""
5743
 
5744
- #: includes/functions/wcj-functions-country.php:278
5745
  msgid "Kenya"
5746
  msgstr ""
5747
 
5748
- #: includes/functions/wcj-functions-country.php:279
5749
  msgid "Kiribati"
5750
  msgstr ""
5751
 
5752
- #: includes/functions/wcj-functions-country.php:280
5753
  msgid "Kuwait"
5754
  msgstr ""
5755
 
5756
- #: includes/functions/wcj-functions-country.php:281
5757
  msgid "Kyrgyzstan"
5758
  msgstr ""
5759
 
5760
- #: includes/functions/wcj-functions-country.php:282
5761
  msgid "Laos"
5762
  msgstr ""
5763
 
5764
- #: includes/functions/wcj-functions-country.php:283
5765
  msgid "Latvia"
5766
  msgstr ""
5767
 
5768
- #: includes/functions/wcj-functions-country.php:284
5769
  msgid "Lebanon"
5770
  msgstr ""
5771
 
5772
- #: includes/functions/wcj-functions-country.php:285
5773
  msgid "Lesotho"
5774
  msgstr ""
5775
 
5776
- #: includes/functions/wcj-functions-country.php:286
5777
  msgid "Liberia"
5778
  msgstr ""
5779
 
5780
- #: includes/functions/wcj-functions-country.php:287
5781
  msgid "Libya"
5782
  msgstr ""
5783
 
5784
- #: includes/functions/wcj-functions-country.php:288
5785
  msgid "Liechtenstein"
5786
  msgstr ""
5787
 
5788
- #: includes/functions/wcj-functions-country.php:289
5789
  msgid "Lithuania"
5790
  msgstr ""
5791
 
5792
- #: includes/functions/wcj-functions-country.php:290
5793
  msgid "Luxembourg"
5794
  msgstr ""
5795
 
5796
- #: includes/functions/wcj-functions-country.php:291
5797
  msgid "Macao S.A.R., China"
5798
  msgstr ""
5799
 
5800
- #: includes/functions/wcj-functions-country.php:292
5801
  msgid "Macedonia"
5802
  msgstr ""
5803
 
5804
- #: includes/functions/wcj-functions-country.php:293
5805
- msgid "Madagascar"
5806
- msgstr ""
5807
-
5808
- #: includes/functions/wcj-functions-country.php:294
5809
- msgid "Malawi"
5810
- msgstr ""
5811
-
5812
- #: includes/functions/wcj-functions-country.php:295
5813
- msgid "Malaysia"
5814
- msgstr ""
5815
-
5816
  #: includes/functions/wcj-functions-country.php:296
5817
- msgid "Maldives"
5818
  msgstr ""
5819
 
5820
  #: includes/functions/wcj-functions-country.php:297
5821
- msgid "Mali"
5822
  msgstr ""
5823
 
5824
  #: includes/functions/wcj-functions-country.php:298
5825
- msgid "Malta"
5826
  msgstr ""
5827
 
5828
  #: includes/functions/wcj-functions-country.php:299
5829
- msgid "Marshall Islands"
5830
  msgstr ""
5831
 
5832
  #: includes/functions/wcj-functions-country.php:300
5833
- msgid "Martinique"
5834
  msgstr ""
5835
 
5836
  #: includes/functions/wcj-functions-country.php:301
5837
- msgid "Mauritania"
5838
  msgstr ""
5839
 
5840
  #: includes/functions/wcj-functions-country.php:302
5841
- msgid "Mauritius"
5842
  msgstr ""
5843
 
5844
  #: includes/functions/wcj-functions-country.php:303
5845
- msgid "Mayotte"
5846
  msgstr ""
5847
 
5848
  #: includes/functions/wcj-functions-country.php:304
5849
- msgid "Mexico"
5850
  msgstr ""
5851
 
5852
  #: includes/functions/wcj-functions-country.php:305
5853
- msgid "Micronesia"
5854
  msgstr ""
5855
 
5856
  #: includes/functions/wcj-functions-country.php:306
5857
- msgid "Moldova"
5858
  msgstr ""
5859
 
5860
  #: includes/functions/wcj-functions-country.php:307
5861
- msgid "Monaco"
5862
  msgstr ""
5863
 
5864
  #: includes/functions/wcj-functions-country.php:308
5865
- msgid "Mongolia"
5866
  msgstr ""
5867
 
5868
  #: includes/functions/wcj-functions-country.php:309
5869
- msgid "Montenegro"
5870
  msgstr ""
5871
 
5872
  #: includes/functions/wcj-functions-country.php:310
5873
- msgid "Montserrat"
5874
  msgstr ""
5875
 
5876
  #: includes/functions/wcj-functions-country.php:311
5877
- msgid "Morocco"
5878
  msgstr ""
5879
 
5880
  #: includes/functions/wcj-functions-country.php:312
5881
- msgid "Mozambique"
5882
  msgstr ""
5883
 
5884
  #: includes/functions/wcj-functions-country.php:313
5885
- msgid "Myanmar"
5886
  msgstr ""
5887
 
5888
  #: includes/functions/wcj-functions-country.php:314
5889
- msgid "Namibia"
5890
  msgstr ""
5891
 
5892
  #: includes/functions/wcj-functions-country.php:315
5893
- msgid "Nauru"
5894
  msgstr ""
5895
 
5896
  #: includes/functions/wcj-functions-country.php:316
5897
- msgid "Nepal"
5898
  msgstr ""
5899
 
5900
  #: includes/functions/wcj-functions-country.php:317
5901
- msgid "Netherlands"
5902
  msgstr ""
5903
 
5904
  #: includes/functions/wcj-functions-country.php:318
5905
- msgid "Netherlands Antilles"
5906
  msgstr ""
5907
 
5908
  #: includes/functions/wcj-functions-country.php:319
5909
- msgid "New Caledonia"
5910
  msgstr ""
5911
 
5912
  #: includes/functions/wcj-functions-country.php:320
5913
- msgid "New Zealand"
5914
  msgstr ""
5915
 
5916
  #: includes/functions/wcj-functions-country.php:321
5917
- msgid "Nicaragua"
5918
  msgstr ""
5919
 
5920
  #: includes/functions/wcj-functions-country.php:322
5921
- msgid "Niger"
5922
  msgstr ""
5923
 
5924
  #: includes/functions/wcj-functions-country.php:323
5925
- msgid "Nigeria"
5926
  msgstr ""
5927
 
5928
  #: includes/functions/wcj-functions-country.php:324
5929
- msgid "Niue"
5930
  msgstr ""
5931
 
5932
  #: includes/functions/wcj-functions-country.php:325
5933
- msgid "Norfolk Island"
5934
  msgstr ""
5935
 
5936
  #: includes/functions/wcj-functions-country.php:326
5937
- msgid "North Korea"
5938
  msgstr ""
5939
 
5940
  #: includes/functions/wcj-functions-country.php:327
5941
- msgid "Norway"
5942
  msgstr ""
5943
 
5944
  #: includes/functions/wcj-functions-country.php:328
5945
- msgid "Oman"
5946
  msgstr ""
5947
 
5948
  #: includes/functions/wcj-functions-country.php:329
5949
- msgid "Pakistan"
5950
  msgstr ""
5951
 
5952
  #: includes/functions/wcj-functions-country.php:330
5953
- msgid "Palestinian Territory"
5954
  msgstr ""
5955
 
5956
  #: includes/functions/wcj-functions-country.php:331
5957
- msgid "Panama"
5958
  msgstr ""
5959
 
5960
  #: includes/functions/wcj-functions-country.php:332
5961
- msgid "Papua New Guinea"
5962
  msgstr ""
5963
 
5964
  #: includes/functions/wcj-functions-country.php:333
5965
- msgid "Paraguay"
5966
  msgstr ""
5967
 
5968
  #: includes/functions/wcj-functions-country.php:334
5969
- msgid "Peru"
5970
  msgstr ""
5971
 
5972
  #: includes/functions/wcj-functions-country.php:335
5973
- msgid "Philippines"
5974
  msgstr ""
5975
 
5976
  #: includes/functions/wcj-functions-country.php:336
5977
- msgid "Pitcairn"
5978
  msgstr ""
5979
 
5980
  #: includes/functions/wcj-functions-country.php:337
5981
- msgid "Poland"
5982
  msgstr ""
5983
 
5984
  #: includes/functions/wcj-functions-country.php:338
5985
- msgid "Portugal"
5986
  msgstr ""
5987
 
5988
  #: includes/functions/wcj-functions-country.php:339
5989
- msgid "Qatar"
5990
  msgstr ""
5991
 
5992
  #: includes/functions/wcj-functions-country.php:340
5993
- msgid "Reunion"
5994
  msgstr ""
5995
 
5996
  #: includes/functions/wcj-functions-country.php:341
5997
- msgid "Romania"
5998
  msgstr ""
5999
 
6000
  #: includes/functions/wcj-functions-country.php:342
6001
- msgid "Russia"
6002
  msgstr ""
6003
 
6004
  #: includes/functions/wcj-functions-country.php:343
6005
- msgid "Rwanda"
6006
  msgstr ""
6007
 
6008
  #: includes/functions/wcj-functions-country.php:344
6009
- msgid "Saint Barth&eacute;lemy"
6010
  msgstr ""
6011
 
6012
  #: includes/functions/wcj-functions-country.php:345
6013
- msgid "Saint Helena"
6014
  msgstr ""
6015
 
6016
  #: includes/functions/wcj-functions-country.php:346
6017
- msgid "Saint Kitts and Nevis"
6018
  msgstr ""
6019
 
6020
  #: includes/functions/wcj-functions-country.php:347
6021
- msgid "Saint Lucia"
6022
  msgstr ""
6023
 
6024
  #: includes/functions/wcj-functions-country.php:348
6025
- msgid "Saint Martin (French part)"
6026
  msgstr ""
6027
 
6028
  #: includes/functions/wcj-functions-country.php:349
6029
- msgid "Saint Martin (Dutch part)"
6030
  msgstr ""
6031
 
6032
  #: includes/functions/wcj-functions-country.php:350
6033
- msgid "Saint Pierre and Miquelon"
6034
  msgstr ""
6035
 
6036
  #: includes/functions/wcj-functions-country.php:351
6037
- msgid "Saint Vincent and the Grenadines"
6038
  msgstr ""
6039
 
6040
  #: includes/functions/wcj-functions-country.php:352
6041
- msgid "San Marino"
6042
  msgstr ""
6043
 
6044
  #: includes/functions/wcj-functions-country.php:353
6045
- msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
6046
  msgstr ""
6047
 
6048
  #: includes/functions/wcj-functions-country.php:354
6049
- msgid "Saudi Arabia"
6050
  msgstr ""
6051
 
6052
  #: includes/functions/wcj-functions-country.php:355
6053
- msgid "Senegal"
6054
  msgstr ""
6055
 
6056
  #: includes/functions/wcj-functions-country.php:356
6057
- msgid "Serbia"
6058
  msgstr ""
6059
 
6060
  #: includes/functions/wcj-functions-country.php:357
6061
- msgid "Seychelles"
6062
  msgstr ""
6063
 
6064
  #: includes/functions/wcj-functions-country.php:358
6065
- msgid "Sierra Leone"
6066
  msgstr ""
6067
 
6068
  #: includes/functions/wcj-functions-country.php:359
6069
- msgid "Singapore"
6070
  msgstr ""
6071
 
6072
  #: includes/functions/wcj-functions-country.php:360
6073
- msgid "Slovakia"
6074
  msgstr ""
6075
 
6076
  #: includes/functions/wcj-functions-country.php:361
6077
- msgid "Slovenia"
6078
  msgstr ""
6079
 
6080
  #: includes/functions/wcj-functions-country.php:362
6081
- msgid "Solomon Islands"
6082
  msgstr ""
6083
 
6084
  #: includes/functions/wcj-functions-country.php:363
6085
- msgid "Somalia"
6086
  msgstr ""
6087
 
6088
  #: includes/functions/wcj-functions-country.php:364
6089
- msgid "South Africa"
6090
  msgstr ""
6091
 
6092
  #: includes/functions/wcj-functions-country.php:365
6093
- msgid "South Georgia/Sandwich Islands"
6094
  msgstr ""
6095
 
6096
  #: includes/functions/wcj-functions-country.php:366
6097
- msgid "South Korea"
6098
  msgstr ""
6099
 
6100
  #: includes/functions/wcj-functions-country.php:367
6101
- msgid "South Sudan"
6102
  msgstr ""
6103
 
6104
  #: includes/functions/wcj-functions-country.php:368
6105
- msgid "Spain"
6106
  msgstr ""
6107
 
6108
  #: includes/functions/wcj-functions-country.php:369
6109
- msgid "Sri Lanka"
6110
  msgstr ""
6111
 
6112
  #: includes/functions/wcj-functions-country.php:370
6113
- msgid "Sudan"
6114
  msgstr ""
6115
 
6116
  #: includes/functions/wcj-functions-country.php:371
6117
- msgid "Suriname"
6118
  msgstr ""
6119
 
6120
  #: includes/functions/wcj-functions-country.php:372
6121
- msgid "Svalbard and Jan Mayen"
6122
  msgstr ""
6123
 
6124
  #: includes/functions/wcj-functions-country.php:373
6125
- msgid "Swaziland"
6126
  msgstr ""
6127
 
6128
  #: includes/functions/wcj-functions-country.php:374
6129
- msgid "Sweden"
6130
  msgstr ""
6131
 
6132
  #: includes/functions/wcj-functions-country.php:375
6133
- msgid "Switzerland"
6134
  msgstr ""
6135
 
6136
  #: includes/functions/wcj-functions-country.php:376
6137
- msgid "Syria"
6138
  msgstr ""
6139
 
6140
  #: includes/functions/wcj-functions-country.php:377
6141
- msgid "Taiwan"
6142
  msgstr ""
6143
 
6144
  #: includes/functions/wcj-functions-country.php:378
6145
- msgid "Tajikistan"
6146
  msgstr ""
6147
 
6148
  #: includes/functions/wcj-functions-country.php:379
6149
- msgid "Tanzania"
6150
  msgstr ""
6151
 
6152
  #: includes/functions/wcj-functions-country.php:380
6153
- msgid "Thailand"
6154
  msgstr ""
6155
 
6156
  #: includes/functions/wcj-functions-country.php:381
6157
- msgid "Timor-Leste"
6158
  msgstr ""
6159
 
6160
  #: includes/functions/wcj-functions-country.php:382
6161
- msgid "Togo"
6162
  msgstr ""
6163
 
6164
  #: includes/functions/wcj-functions-country.php:383
6165
- msgid "Tokelau"
6166
  msgstr ""
6167
 
6168
  #: includes/functions/wcj-functions-country.php:384
6169
- msgid "Tonga"
6170
  msgstr ""
6171
 
6172
  #: includes/functions/wcj-functions-country.php:385
6173
- msgid "Trinidad and Tobago"
6174
  msgstr ""
6175
 
6176
  #: includes/functions/wcj-functions-country.php:386
6177
- msgid "Tunisia"
6178
  msgstr ""
6179
 
6180
  #: includes/functions/wcj-functions-country.php:387
6181
- msgid "Turkey"
6182
  msgstr ""
6183
 
6184
  #: includes/functions/wcj-functions-country.php:388
6185
- msgid "Turkmenistan"
6186
  msgstr ""
6187
 
6188
  #: includes/functions/wcj-functions-country.php:389
6189
- msgid "Turks and Caicos Islands"
6190
  msgstr ""
6191
 
6192
  #: includes/functions/wcj-functions-country.php:390
6193
- msgid "Tuvalu"
6194
  msgstr ""
6195
 
6196
  #: includes/functions/wcj-functions-country.php:391
6197
- msgid "Uganda"
6198
  msgstr ""
6199
 
6200
  #: includes/functions/wcj-functions-country.php:392
6201
- msgid "Ukraine"
6202
  msgstr ""
6203
 
6204
  #: includes/functions/wcj-functions-country.php:393
6205
- msgid "United Arab Emirates"
6206
  msgstr ""
6207
 
6208
  #: includes/functions/wcj-functions-country.php:394
6209
- msgid "United Kingdom (UK)"
6210
  msgstr ""
6211
 
6212
  #: includes/functions/wcj-functions-country.php:395
6213
- msgid "United States (US)"
6214
  msgstr ""
6215
 
6216
  #: includes/functions/wcj-functions-country.php:396
6217
- msgid "Uruguay"
6218
  msgstr ""
6219
 
6220
  #: includes/functions/wcj-functions-country.php:397
6221
- msgid "Uzbekistan"
6222
  msgstr ""
6223
 
6224
  #: includes/functions/wcj-functions-country.php:398
6225
- msgid "Vanuatu"
6226
  msgstr ""
6227
 
6228
  #: includes/functions/wcj-functions-country.php:399
6229
- msgid "Vatican"
6230
  msgstr ""
6231
 
6232
  #: includes/functions/wcj-functions-country.php:400
6233
- msgid "Venezuela"
6234
- msgstr ""
6235
-
6236
- #: includes/functions/wcj-functions-country.php:401
6237
- msgid "Vietnam"
6238
- msgstr ""
6239
-
6240
- #: includes/functions/wcj-functions-country.php:402
6241
- msgid "Wallis and Futuna"
6242
- msgstr ""
6243
-
6244
- #: includes/functions/wcj-functions-country.php:403
6245
- msgid "Western Sahara"
6246
- msgstr ""
6247
-
6248
- #: includes/functions/wcj-functions-country.php:404
6249
- msgid "Western Samoa"
6250
- msgstr ""
6251
-
6252
- #: includes/functions/wcj-functions-country.php:405
6253
- msgid "Yemen"
6254
- msgstr ""
6255
-
6256
- #: includes/functions/wcj-functions-country.php:406
6257
- msgid "Zambia"
6258
- msgstr ""
6259
-
6260
- #: includes/functions/wcj-functions-country.php:407
6261
- msgid "Zimbabwe"
6262
- msgstr ""
6263
-
6264
- #: includes/functions/wcj-functions-country.php:408
6265
- msgid "European Union"
6266
- msgstr ""
6267
-
6268
- #: includes/functions/wcj-functions-crons.php:24
6269
- msgid "Update"
6270
- msgstr ""
6271
-
6272
- #: includes/functions/wcj-functions-crons.php:27
6273
- #, php-format
6274
- msgid "%s every minute"
6275
- msgstr ""
6276
-
6277
- #: includes/functions/wcj-functions-crons.php:28
6278
- #, php-format
6279
- msgid "%s every 5 minutes"
6280
- msgstr ""
6281
-
6282
- #: includes/functions/wcj-functions-crons.php:29
6283
- #, php-format
6284
- msgid "%s every 15 minutes"
6285
- msgstr ""
6286
-
6287
- #: includes/functions/wcj-functions-crons.php:30
6288
- #, php-format
6289
- msgid "%s every 30 minutes"
6290
- msgstr ""
6291
-
6292
- #: includes/functions/wcj-functions-crons.php:31
6293
- #, php-format
6294
- msgid "%s hourly"
6295
- msgstr ""
6296
-
6297
- #: includes/functions/wcj-functions-crons.php:32
6298
- #, php-format
6299
- msgid "%s twice daily"
6300
- msgstr ""
6301
-
6302
- #: includes/functions/wcj-functions-crons.php:33
6303
- #, php-format
6304
- msgid "%s daily"
6305
- msgstr ""
6306
-
6307
- #: includes/functions/wcj-functions-crons.php:34
6308
- #, php-format
6309
- msgid "%s weekly"
6310
- msgstr ""
6311
-
6312
- #: includes/functions/wcj-functions-crons.php:80
6313
- #, php-format
6314
- msgid "%s till next run."
6315
- msgstr ""
6316
-
6317
- #: includes/functions/wcj-functions-crons.php:82
6318
- #, php-format
6319
- msgid "%s seconds till next run."
6320
- msgstr ""
6321
-
6322
- #: includes/functions/wcj-functions-crons.php:99
6323
- msgid "Once weekly"
6324
- msgstr ""
6325
-
6326
- #: includes/functions/wcj-functions-crons.php:103
6327
- msgid "Once every 30 minutes"
6328
- msgstr ""
6329
-
6330
- #: includes/functions/wcj-functions-crons.php:107
6331
- msgid "Once every 15 minutes"
6332
- msgstr ""
6333
-
6334
- #: includes/functions/wcj-functions-crons.php:111
6335
- msgid "Once every 5 minutes"
6336
- msgstr ""
6337
-
6338
- #: includes/functions/wcj-functions-crons.php:115
6339
- msgid "Once a minute"
6340
- msgstr ""
6341
-
6342
- #: includes/functions/wcj-functions-currencies.php:18
6343
- msgid "United Arab Emirates Dirham"
6344
- msgstr ""
6345
-
6346
- #: includes/functions/wcj-functions-currencies.php:19
6347
- msgid "Afghan afghani"
6348
- msgstr ""
6349
-
6350
- #: includes/functions/wcj-functions-currencies.php:20
6351
- msgid "Albanian lek"
6352
- msgstr ""
6353
-
6354
- #: includes/functions/wcj-functions-currencies.php:21
6355
- msgid "Armenian dram"
6356
- msgstr ""
6357
-
6358
- #: includes/functions/wcj-functions-currencies.php:22
6359
- msgid "Netherlands Antillean gulden"
6360
- msgstr ""
6361
-
6362
- #: includes/functions/wcj-functions-currencies.php:23
6363
- msgid "Angolan kwanza"
6364
- msgstr ""
6365
-
6366
- #: includes/functions/wcj-functions-currencies.php:24
6367
- msgid "Argentine Peso"
6368
- msgstr ""
6369
-
6370
- #: includes/functions/wcj-functions-currencies.php:25
6371
- msgid "Australian Dollars"
6372
- msgstr ""
6373
-
6374
- #: includes/functions/wcj-functions-currencies.php:26
6375
- msgid "Aruban florin"
6376
- msgstr ""
6377
-
6378
- #: includes/functions/wcj-functions-currencies.php:27
6379
- msgid "Azerbaijani manat"
6380
- msgstr ""
6381
-
6382
- #: includes/functions/wcj-functions-currencies.php:28
6383
- msgid "Bosnia and Herzegovina konvertibilna marka"
6384
- msgstr ""
6385
-
6386
- #: includes/functions/wcj-functions-currencies.php:29
6387
- msgid "Barbadian dollar"
6388
- msgstr ""
6389
-
6390
- #: includes/functions/wcj-functions-currencies.php:30
6391
- msgid "Bangladeshi Taka"
6392
- msgstr ""
6393
-
6394
- #: includes/functions/wcj-functions-currencies.php:31
6395
- msgid "Bulgarian Lev"
6396
- msgstr ""
6397
-
6398
- #: includes/functions/wcj-functions-currencies.php:32
6399
- msgid "Bahraini dinar"
6400
- msgstr ""
6401
-
6402
- #: includes/functions/wcj-functions-currencies.php:33
6403
- msgid "Burundi franc"
6404
- msgstr ""
6405
-
6406
- #: includes/functions/wcj-functions-currencies.php:34
6407
- msgid "Belarusian ruble"
6408
- msgstr ""
6409
-
6410
- #: includes/functions/wcj-functions-currencies.php:35
6411
- msgid "Brunei dollar"
6412
- msgstr ""
6413
-
6414
- #: includes/functions/wcj-functions-currencies.php:36
6415
- msgid "Bolivian boliviano"
6416
- msgstr ""
6417
-
6418
- #: includes/functions/wcj-functions-currencies.php:37
6419
- msgid "Brazilian Real"
6420
- msgstr ""
6421
-
6422
- #: includes/functions/wcj-functions-currencies.php:38
6423
- msgid "Bahamian dollar"
6424
- msgstr ""
6425
-
6426
- #: includes/functions/wcj-functions-currencies.php:39
6427
- msgid "Bhutanese ngultrum"
6428
- msgstr ""
6429
-
6430
- #: includes/functions/wcj-functions-currencies.php:40
6431
- msgid "Botswana pula"
6432
- msgstr ""
6433
-
6434
- #: includes/functions/wcj-functions-currencies.php:41
6435
- msgid "Belize dollar"
6436
- msgstr ""
6437
-
6438
- #: includes/functions/wcj-functions-currencies.php:42
6439
- msgid "Canadian Dollars"
6440
- msgstr ""
6441
-
6442
- #: includes/functions/wcj-functions-currencies.php:43
6443
- msgid "Congolese franc"
6444
- msgstr ""
6445
-
6446
- #: includes/functions/wcj-functions-currencies.php:44
6447
- msgid "Swiss Franc"
6448
- msgstr ""
6449
-
6450
- #: includes/functions/wcj-functions-currencies.php:45
6451
- msgid "Chilean Peso"
6452
- msgstr ""
6453
-
6454
- #: includes/functions/wcj-functions-currencies.php:46
6455
- msgid "Chinese Yuan"
6456
- msgstr ""
6457
-
6458
- #: includes/functions/wcj-functions-currencies.php:47
6459
- msgid "Colombian Peso"
6460
- msgstr ""
6461
-
6462
- #: includes/functions/wcj-functions-currencies.php:48
6463
- msgid "Costa Rican colon"
6464
- msgstr ""
6465
-
6466
- #: includes/functions/wcj-functions-currencies.php:49
6467
- msgid "Cuban peso"
6468
- msgstr ""
6469
-
6470
- #: includes/functions/wcj-functions-currencies.php:50
6471
- msgid "Cape Verdean escudo"
6472
- msgstr ""
6473
-
6474
- #: includes/functions/wcj-functions-currencies.php:51
6475
- msgid "Czech Koruna"
6476
- msgstr ""
6477
-
6478
- #: includes/functions/wcj-functions-currencies.php:52
6479
- msgid "Djiboutian franc"
6480
- msgstr ""
6481
-
6482
- #: includes/functions/wcj-functions-currencies.php:53
6483
- msgid "Danish Krone"
6484
- msgstr ""
6485
-
6486
- #: includes/functions/wcj-functions-currencies.php:54
6487
- msgid "Dominican Peso"
6488
- msgstr ""
6489
-
6490
- #: includes/functions/wcj-functions-currencies.php:55
6491
- msgid "Algerian dinar"
6492
- msgstr ""
6493
-
6494
- #: includes/functions/wcj-functions-currencies.php:56
6495
- msgid "Estonian kroon"
6496
- msgstr ""
6497
-
6498
- #: includes/functions/wcj-functions-currencies.php:57
6499
- msgid "Egyptian Pound"
6500
- msgstr ""
6501
-
6502
- #: includes/functions/wcj-functions-currencies.php:58
6503
- msgid "Eritrean nakfa"
6504
- msgstr ""
6505
-
6506
- #: includes/functions/wcj-functions-currencies.php:59
6507
- msgid "Ethiopian birr"
6508
- msgstr ""
6509
-
6510
- #: includes/functions/wcj-functions-currencies.php:60
6511
- msgid "Euros"
6512
- msgstr ""
6513
-
6514
- #: includes/functions/wcj-functions-currencies.php:61
6515
- msgid "Fijian dollar"
6516
- msgstr ""
6517
-
6518
- #: includes/functions/wcj-functions-currencies.php:62
6519
- msgid "Falkland Islands pound"
6520
- msgstr ""
6521
-
6522
- #: includes/functions/wcj-functions-currencies.php:63
6523
- msgid "Pounds Sterling"
6524
- msgstr ""
6525
-
6526
- #: includes/functions/wcj-functions-currencies.php:64
6527
- msgid "Georgian lari"
6528
- msgstr ""
6529
-
6530
- #: includes/functions/wcj-functions-currencies.php:65
6531
- msgid "Ghanaian cedi"
6532
- msgstr ""
6533
-
6534
- #: includes/functions/wcj-functions-currencies.php:66
6535
- msgid "Gibraltar pound"
6536
- msgstr ""
6537
-
6538
- #: includes/functions/wcj-functions-currencies.php:67
6539
- msgid "Guyanese dollar"
6540
- msgstr ""
6541
-
6542
- #: includes/functions/wcj-functions-currencies.php:68
6543
- msgid "Gambian dalasi"
6544
- msgstr ""
6545
-
6546
- #: includes/functions/wcj-functions-currencies.php:69
6547
- msgid "Guinean franc"
6548
- msgstr ""
6549
-
6550
- #: includes/functions/wcj-functions-currencies.php:70
6551
- #: includes/functions/wcj-functions-currencies.php:173
6552
- msgid "Central African CFA franc"
6553
- msgstr ""
6554
-
6555
- #: includes/functions/wcj-functions-currencies.php:71
6556
- msgid "Guatemalan quetzal"
6557
- msgstr ""
6558
-
6559
- #: includes/functions/wcj-functions-currencies.php:72
6560
- msgid "Hong Kong Dollar"
6561
- msgstr ""
6562
-
6563
- #: includes/functions/wcj-functions-currencies.php:73
6564
- msgid "Honduran lempira"
6565
- msgstr ""
6566
-
6567
- #: includes/functions/wcj-functions-currencies.php:74
6568
- msgid "Croatia kuna"
6569
- msgstr ""
6570
-
6571
- #: includes/functions/wcj-functions-currencies.php:75
6572
- msgid "Haitian gourde"
6573
- msgstr ""
6574
-
6575
- #: includes/functions/wcj-functions-currencies.php:76
6576
- msgid "Hungarian Forint"
6577
- msgstr ""
6578
-
6579
- #: includes/functions/wcj-functions-currencies.php:77
6580
- msgid "Indonesia Rupiah"
6581
- msgstr ""
6582
-
6583
- #: includes/functions/wcj-functions-currencies.php:78
6584
- msgid "Israeli Shekel"
6585
- msgstr ""
6586
-
6587
- #: includes/functions/wcj-functions-currencies.php:79
6588
- msgid "Indian Rupee"
6589
- msgstr ""
6590
-
6591
- #: includes/functions/wcj-functions-currencies.php:80
6592
- msgid "Iraqi dinar"
6593
- msgstr ""
6594
-
6595
- #: includes/functions/wcj-functions-currencies.php:81
6596
- msgid "Iranian rial"
6597
- msgstr ""
6598
-
6599
- #: includes/functions/wcj-functions-currencies.php:82
6600
- msgid "Icelandic krona"
6601
- msgstr ""
6602
-
6603
- #: includes/functions/wcj-functions-currencies.php:83
6604
- msgid "Yemeni rial"
6605
- msgstr ""
6606
-
6607
- #: includes/functions/wcj-functions-currencies.php:84
6608
- msgid "Jamaican dollar"
6609
- msgstr ""
6610
-
6611
- #: includes/functions/wcj-functions-currencies.php:85
6612
- msgid "Jordanian dinar"
6613
- msgstr ""
6614
-
6615
- #: includes/functions/wcj-functions-currencies.php:86
6616
- msgid "Japanese Yen"
6617
- msgstr ""
6618
-
6619
- #: includes/functions/wcj-functions-currencies.php:87
6620
- msgid "Kenyan shilling"
6621
- msgstr ""
6622
-
6623
- #: includes/functions/wcj-functions-currencies.php:88
6624
- msgid "Kyrgyzstani som"
6625
- msgstr ""
6626
-
6627
- #: includes/functions/wcj-functions-currencies.php:89
6628
- msgid "Cambodian riel"
6629
- msgstr ""
6630
-
6631
- #: includes/functions/wcj-functions-currencies.php:90
6632
- msgid "Lao kip"
6633
- msgstr ""
6634
-
6635
- #: includes/functions/wcj-functions-currencies.php:91
6636
- msgid "Cayman Islands dollar"
6637
- msgstr ""
6638
-
6639
- #: includes/functions/wcj-functions-currencies.php:92
6640
- msgid "Comorian franc"
6641
- msgstr ""
6642
-
6643
- #: includes/functions/wcj-functions-currencies.php:93
6644
- msgid "North Korean won"
6645
- msgstr ""
6646
-
6647
- #: includes/functions/wcj-functions-currencies.php:94
6648
- msgid "South Korean Won"
6649
- msgstr ""
6650
-
6651
- #: includes/functions/wcj-functions-currencies.php:95
6652
- msgid "Kuwaiti dinar"
6653
- msgstr ""
6654
-
6655
- #: includes/functions/wcj-functions-currencies.php:96
6656
- msgid "Kazakhstani tenge"
6657
- msgstr ""
6658
-
6659
- #: includes/functions/wcj-functions-currencies.php:97
6660
- msgid "Lao Kip"
6661
- msgstr ""
6662
-
6663
- #: includes/functions/wcj-functions-currencies.php:98
6664
- msgid "Lebanese lira"
6665
- msgstr ""
6666
-
6667
- #: includes/functions/wcj-functions-currencies.php:99
6668
- msgid "Libyan dinar"
6669
- msgstr ""
6670
-
6671
- #: includes/functions/wcj-functions-currencies.php:100
6672
- msgid "Sri Lankan rupee"
6673
- msgstr ""
6674
-
6675
- #: includes/functions/wcj-functions-currencies.php:101
6676
- msgid "Liberian dollar"
6677
- msgstr ""
6678
-
6679
- #: includes/functions/wcj-functions-currencies.php:102
6680
- msgid "Lesotho loti"
6681
- msgstr ""
6682
-
6683
- #: includes/functions/wcj-functions-currencies.php:103
6684
- msgid "Lithuanian litas"
6685
- msgstr ""
6686
-
6687
- #: includes/functions/wcj-functions-currencies.php:104
6688
- msgid "Latvian lats"
6689
- msgstr ""
6690
-
6691
- #: includes/functions/wcj-functions-currencies.php:105
6692
- msgid "Moroccan dirham"
6693
- msgstr ""
6694
-
6695
- #: includes/functions/wcj-functions-currencies.php:106
6696
- msgid "Moldovan leu"
6697
- msgstr ""
6698
-
6699
- #: includes/functions/wcj-functions-currencies.php:107
6700
- msgid "Malagasy ariary"
6701
- msgstr ""
6702
-
6703
- #: includes/functions/wcj-functions-currencies.php:108
6704
- msgid "Malaysian ringgit"
6705
- msgstr ""
6706
-
6707
- #: includes/functions/wcj-functions-currencies.php:109
6708
- msgid "Macedonian denar"
6709
- msgstr ""
6710
-
6711
- #: includes/functions/wcj-functions-currencies.php:110
6712
- msgid "Myanma kyat"
6713
- msgstr ""
6714
-
6715
- #: includes/functions/wcj-functions-currencies.php:111
6716
- msgid "Mongolian tugrik"
6717
- msgstr ""
6718
-
6719
- #: includes/functions/wcj-functions-currencies.php:112
6720
- msgid "Macanese pataca"
6721
- msgstr ""
6722
-
6723
- #: includes/functions/wcj-functions-currencies.php:113
6724
- msgid "Mauritanian ouguiya"
6725
- msgstr ""
6726
-
6727
- #: includes/functions/wcj-functions-currencies.php:114
6728
- msgid "Mauritian rupee"
6729
- msgstr ""
6730
-
6731
- #: includes/functions/wcj-functions-currencies.php:115
6732
- msgid "Maldivian rufiyaa"
6733
- msgstr ""
6734
-
6735
- #: includes/functions/wcj-functions-currencies.php:116
6736
- msgid "Malawian kwacha"
6737
- msgstr ""
6738
-
6739
- #: includes/functions/wcj-functions-currencies.php:117
6740
- msgid "Mexican Peso"
6741
- msgstr ""
6742
-
6743
- #: includes/functions/wcj-functions-currencies.php:118
6744
- msgid "Malaysian Ringgits"
6745
- msgstr ""
6746
-
6747
- #: includes/functions/wcj-functions-currencies.php:119
6748
- msgid "Mozambican metical"
6749
- msgstr ""
6750
-
6751
- #: includes/functions/wcj-functions-currencies.php:120
6752
- msgid "Namibian dollar"
6753
- msgstr ""
6754
-
6755
- #: includes/functions/wcj-functions-currencies.php:121
6756
- msgid "Nigerian Naira"
6757
- msgstr ""
6758
-
6759
- #: includes/functions/wcj-functions-currencies.php:122
6760
- msgid "Nicaraguan cordoba"
6761
- msgstr ""
6762
-
6763
- #: includes/functions/wcj-functions-currencies.php:123
6764
- msgid "Norwegian Krone"
6765
- msgstr ""
6766
-
6767
- #: includes/functions/wcj-functions-currencies.php:124
6768
- msgid "Nepali Rupee"
6769
- msgstr ""
6770
-
6771
- #: includes/functions/wcj-functions-currencies.php:125
6772
- msgid "New Zealand Dollar"
6773
- msgstr ""
6774
-
6775
- #: includes/functions/wcj-functions-currencies.php:126
6776
- msgid "Omani rial"
6777
- msgstr ""
6778
-
6779
- #: includes/functions/wcj-functions-currencies.php:127
6780
- msgid "Panamanian balboa"
6781
- msgstr ""
6782
-
6783
- #: includes/functions/wcj-functions-currencies.php:128
6784
- msgid "Peruvian nuevo sol"
6785
- msgstr ""
6786
-
6787
- #: includes/functions/wcj-functions-currencies.php:129
6788
- msgid "Papua New Guinean kina"
6789
- msgstr ""
6790
-
6791
- #: includes/functions/wcj-functions-currencies.php:130
6792
- msgid "Philippine Pesos"
6793
- msgstr ""
6794
-
6795
- #: includes/functions/wcj-functions-currencies.php:131
6796
- msgid "Paraguayan guarani"
6797
- msgstr ""
6798
-
6799
- #: includes/functions/wcj-functions-currencies.php:132
6800
- msgid "Pakistani Rupee"
6801
- msgstr ""
6802
-
6803
- #: includes/functions/wcj-functions-currencies.php:133
6804
- msgid "Polish Zloty"
6805
- msgstr ""
6806
-
6807
- #: includes/functions/wcj-functions-currencies.php:134
6808
- msgid "Paraguayan Guaran"
6809
- msgstr ""
6810
-
6811
- #: includes/functions/wcj-functions-currencies.php:135
6812
- msgid "Qatari riyal"
6813
- msgstr ""
6814
-
6815
- #: includes/functions/wcj-functions-currencies.php:136
6816
- msgid "Chinese renminbi"
6817
- msgstr ""
6818
-
6819
- #: includes/functions/wcj-functions-currencies.php:137
6820
- msgid "Romanian Leu"
6821
- msgstr ""
6822
-
6823
- #: includes/functions/wcj-functions-currencies.php:138
6824
- msgid "Serbian dinar"
6825
- msgstr ""
6826
-
6827
- #: includes/functions/wcj-functions-currencies.php:139
6828
- msgid "Russian Ruble"
6829
- msgstr ""
6830
-
6831
- #: includes/functions/wcj-functions-currencies.php:140
6832
- msgid "Rwandan franc"
6833
- msgstr ""
6834
-
6835
- #: includes/functions/wcj-functions-currencies.php:141
6836
- msgid "Saudi Riyal"
6837
- msgstr ""
6838
-
6839
- #: includes/functions/wcj-functions-currencies.php:142
6840
- msgid "Solomon Islands dollar"
6841
- msgstr ""
6842
-
6843
- #: includes/functions/wcj-functions-currencies.php:143
6844
- msgid "Seychellois rupee"
6845
- msgstr ""
6846
-
6847
- #: includes/functions/wcj-functions-currencies.php:144
6848
- msgid "Sudanese pound"
6849
- msgstr ""
6850
-
6851
- #: includes/functions/wcj-functions-currencies.php:145
6852
- msgid "Swedish Krona"
6853
- msgstr ""
6854
-
6855
- #: includes/functions/wcj-functions-currencies.php:146
6856
- msgid "Singapore Dollar"
6857
- msgstr ""
6858
-
6859
- #: includes/functions/wcj-functions-currencies.php:147
6860
- msgid "Saint Helena pound"
6861
- msgstr ""
6862
-
6863
- #: includes/functions/wcj-functions-currencies.php:148
6864
- msgid "Syrian pound"
6865
- msgstr ""
6866
-
6867
- #: includes/functions/wcj-functions-currencies.php:149
6868
- msgid "Slovak koruna"
6869
- msgstr ""
6870
-
6871
- #: includes/functions/wcj-functions-currencies.php:150
6872
- msgid "Sierra Leonean leone"
6873
- msgstr ""
6874
-
6875
- #: includes/functions/wcj-functions-currencies.php:151
6876
- msgid "Somali shilling"
6877
- msgstr ""
6878
-
6879
- #: includes/functions/wcj-functions-currencies.php:152
6880
- msgid "Surinamese dollar"
6881
- msgstr ""
6882
-
6883
- #: includes/functions/wcj-functions-currencies.php:153
6884
- msgid "Sao Tome and Principe dobra"
6885
- msgstr ""
6886
-
6887
- #: includes/functions/wcj-functions-currencies.php:154
6888
- msgid "Swazi lilangeni"
6889
- msgstr ""
6890
-
6891
- #: includes/functions/wcj-functions-currencies.php:155
6892
- msgid "Thai Baht"
6893
- msgstr ""
6894
-
6895
- #: includes/functions/wcj-functions-currencies.php:156
6896
- msgid "Tajikistani somoni"
6897
- msgstr ""
6898
-
6899
- #: includes/functions/wcj-functions-currencies.php:157
6900
- msgid "Turkmen manat"
6901
- msgstr ""
6902
-
6903
- #: includes/functions/wcj-functions-currencies.php:158
6904
- msgid "Tunisian dinar"
6905
- msgstr ""
6906
-
6907
- #: includes/functions/wcj-functions-currencies.php:159
6908
- msgid "Paanga"
6909
- msgstr ""
6910
-
6911
- #: includes/functions/wcj-functions-currencies.php:160
6912
- msgid "Turkish Lira"
6913
- msgstr ""
6914
-
6915
- #: includes/functions/wcj-functions-currencies.php:161
6916
- msgid "Trinidad and Tobago dollar"
6917
- msgstr ""
6918
-
6919
- #: includes/functions/wcj-functions-currencies.php:162
6920
- msgid "Taiwan New Dollars"
6921
- msgstr ""
6922
-
6923
- #: includes/functions/wcj-functions-currencies.php:163
6924
- msgid "Tanzanian shilling"
6925
- msgstr ""
6926
-
6927
- #: includes/functions/wcj-functions-currencies.php:164
6928
- msgid "Ukrainian Hryvnia"
6929
- msgstr ""
6930
-
6931
- #: includes/functions/wcj-functions-currencies.php:165
6932
- msgid "Ugandan shilling"
6933
- msgstr ""
6934
-
6935
- #: includes/functions/wcj-functions-currencies.php:166
6936
- msgid "Uruguayan peso"
6937
- msgstr ""
6938
-
6939
- #: includes/functions/wcj-functions-currencies.php:167
6940
- msgid "US Dollars"
6941
- msgstr ""
6942
-
6943
- #: includes/functions/wcj-functions-currencies.php:168
6944
- msgid "Uzbekistani som"
6945
- msgstr ""
6946
-
6947
- #: includes/functions/wcj-functions-currencies.php:169
6948
- msgid "Venezuelan bolivar"
6949
- msgstr ""
6950
-
6951
- #: includes/functions/wcj-functions-currencies.php:170
6952
- msgid "Vietnamese Dong"
6953
- msgstr ""
6954
-
6955
- #: includes/functions/wcj-functions-currencies.php:171
6956
- msgid "Vanuatu vatu"
6957
- msgstr ""
6958
-
6959
- #: includes/functions/wcj-functions-currencies.php:172
6960
- msgid "Samoan tala"
6961
- msgstr ""
6962
-
6963
- #: includes/functions/wcj-functions-currencies.php:174
6964
- msgid "East Caribbean dollar"
6965
- msgstr ""
6966
-
6967
- #: includes/functions/wcj-functions-currencies.php:175
6968
- msgid "Special Drawing Rights"
6969
- msgstr ""
6970
-
6971
- #: includes/functions/wcj-functions-currencies.php:176
6972
- msgid "West African CFA franc"
6973
- msgstr ""
6974
-
6975
- #: includes/functions/wcj-functions-currencies.php:177
6976
- msgid "CFP franc"
6977
- msgstr ""
6978
-
6979
- #: includes/functions/wcj-functions-currencies.php:178
6980
- msgid "South African rand"
6981
- msgstr ""
6982
-
6983
- #: includes/functions/wcj-functions-currencies.php:179
6984
- msgid "Zambian kwacha"
6985
- msgstr ""
6986
-
6987
- #: includes/functions/wcj-functions-currencies.php:180
6988
- msgid "Zimbabwean dollar"
6989
- msgstr ""
6990
-
6991
- #: includes/functions/wcj-functions-currencies.php:182
6992
- msgid "Auroracoin"
6993
- msgstr ""
6994
-
6995
- #: includes/functions/wcj-functions-currencies.php:183
6996
- msgid "BitConnect"
6997
- msgstr ""
6998
-
6999
- #: includes/functions/wcj-functions-currencies.php:184
7000
- msgid "Bitcoin Cash"
7001
  msgstr ""
7002
 
7003
- #: includes/functions/wcj-functions-currencies.php:185
7004
- msgid "Bitcoin"
7005
  msgstr ""
7006
 
7007
- #: includes/functions/wcj-functions-currencies.php:186
7008
- msgid "Coinye"
7009
  msgstr ""
7010
 
7011
- #: includes/functions/wcj-functions-currencies.php:187
7012
- msgid "DigitalNote"
7013
  msgstr ""
7014
 
7015
- #: includes/functions/wcj-functions-currencies.php:188
7016
- msgid "Emercoin"
7017
  msgstr ""
7018
 
7019
- #: includes/functions/wcj-functions-currencies.php:189
7020
- msgid "Ethereum Classic"
7021
  msgstr ""
7022
 
7023
- #: includes/functions/wcj-functions-currencies.php:190
7024
- msgid "Ethereum"
7025
  msgstr ""
7026
 
7027
- #: includes/functions/wcj-functions-currencies.php:191
7028
- msgid "Freemasoncoin"
7029
  msgstr ""
7030
 
7031
- #: includes/functions/wcj-functions-currencies.php:192
7032
- msgid "Gridcoin"
7033
  msgstr ""
7034
 
7035
- #: includes/functions/wcj-functions-currencies.php:193
7036
- msgid "IOTA"
7037
  msgstr ""
7038
 
7039
- #: includes/functions/wcj-functions-currencies.php:194
7040
- msgid "Litecoin"
7041
  msgstr ""
7042
 
7043
- #: includes/functions/wcj-functions-currencies.php:195
7044
- msgid "MazaCoin"
7045
  msgstr ""
7046
 
7047
- #: includes/functions/wcj-functions-currencies.php:196
7048
- msgid "Monero"
7049
  msgstr ""
7050
 
7051
- #: includes/functions/wcj-functions-currencies.php:197
7052
- msgid "Namecoin"
 
7053
  msgstr ""
7054
 
7055
- #: includes/functions/wcj-functions-currencies.php:198
7056
- msgid "NEM"
 
7057
  msgstr ""
7058
 
7059
- #: includes/functions/wcj-functions-currencies.php:199
7060
- msgid "Nxt"
 
7061
  msgstr ""
7062
 
7063
- #: includes/functions/wcj-functions-currencies.php:200
7064
- msgid "Omni"
 
7065
  msgstr ""
7066
 
7067
- #: includes/functions/wcj-functions-currencies.php:201
7068
- msgid "Peercoin"
 
7069
  msgstr ""
7070
 
7071
- #: includes/functions/wcj-functions-currencies.php:202
7072
- msgid "PotCoin"
 
7073
  msgstr ""
7074
 
7075
- #: includes/functions/wcj-functions-currencies.php:203
7076
- msgid "Primecoin"
 
7077
  msgstr ""
7078
 
7079
- #: includes/functions/wcj-functions-currencies.php:204
7080
- msgid "Ripple"
 
7081
  msgstr ""
7082
 
7083
- #: includes/functions/wcj-functions-currencies.php:205
7084
- msgid "SixEleven"
 
7085
  msgstr ""
7086
 
7087
- #: includes/functions/wcj-functions-currencies.php:206
7088
- msgid "Synereo AMP"
 
7089
  msgstr ""
7090
 
7091
- #: includes/functions/wcj-functions-currencies.php:207
7092
- msgid "Titcoin"
7093
  msgstr ""
7094
 
7095
- #: includes/functions/wcj-functions-currencies.php:208
7096
- msgid "Ubiq"
7097
  msgstr ""
7098
 
7099
- #: includes/functions/wcj-functions-currencies.php:209
7100
- msgid "Vertcoin"
7101
  msgstr ""
7102
 
7103
- #: includes/functions/wcj-functions-currencies.php:210
7104
- msgid "Zcash"
7105
  msgstr ""
7106
 
7107
- #: includes/functions/wcj-functions-currencies.php:212
7108
- msgid "myCred"
7109
  msgstr ""
7110
 
7111
  #: includes/functions/wcj-functions-exchange-rates.php:69
7112
- msgid "Yahoo"
7113
  msgstr ""
7114
 
7115
- #: includes/functions/wcj-functions-exchange-rates.php:70
7116
- msgid "European Central Bank (ECB)"
7117
  msgstr ""
7118
 
7119
  #: includes/functions/wcj-functions-exchange-rates.php:70
7120
- msgid "recommended"
7121
  msgstr ""
7122
 
7123
  #: includes/functions/wcj-functions-exchange-rates.php:71
7124
- msgid "TCMB"
7125
  msgstr ""
7126
 
7127
  #: includes/functions/wcj-functions-exchange-rates.php:72
7128
- msgid "Fixer.io"
7129
  msgstr ""
7130
 
7131
  #: includes/functions/wcj-functions-exchange-rates.php:73
@@ -7136,100 +6519,92 @@ msgstr ""
7136
  msgid "CoinMarketCap"
7137
  msgstr ""
7138
 
7139
- #: includes/functions/wcj-functions-exchange-rates.php:75
7140
- msgid "Google"
7141
- msgstr ""
7142
-
7143
- #: includes/functions/wcj-functions-exchange-rates.php:76
7144
- msgid "Bank of England (BOE)"
7145
- msgstr ""
7146
-
7147
- #: includes/functions/wcj-functions-general.php:603
7148
  #: includes/settings/wcj-settings-cross-sells.php:73
7149
  #: includes/settings/wcj-settings-empty-cart.php:47
7150
  msgid "Before cart"
7151
  msgstr ""
7152
 
7153
- #: includes/functions/wcj-functions-general.php:604
7154
  msgid "Before cart table"
7155
  msgstr ""
7156
 
7157
- #: includes/functions/wcj-functions-general.php:605
7158
  msgid "Before cart contents"
7159
  msgstr ""
7160
 
7161
- #: includes/functions/wcj-functions-general.php:606
7162
  msgid "Cart contents"
7163
  msgstr ""
7164
 
7165
- #: includes/functions/wcj-functions-general.php:607
7166
  msgid "Cart coupon"
7167
  msgstr ""
7168
 
7169
- #: includes/functions/wcj-functions-general.php:608
7170
  msgid "Cart actions"
7171
  msgstr ""
7172
 
7173
- #: includes/functions/wcj-functions-general.php:609
7174
  msgid "After cart contents"
7175
  msgstr ""
7176
 
7177
- #: includes/functions/wcj-functions-general.php:610
7178
  msgid "After cart table"
7179
  msgstr ""
7180
 
7181
- #: includes/functions/wcj-functions-general.php:611
7182
  #: includes/settings/wcj-settings-cross-sells.php:74
7183
  msgid "Cart collaterals"
7184
  msgstr ""
7185
 
7186
- #: includes/functions/wcj-functions-general.php:612
7187
  #: includes/settings/wcj-settings-cross-sells.php:75
7188
  #: includes/settings/wcj-settings-empty-cart.php:56
7189
  msgid "After cart"
7190
  msgstr ""
7191
 
7192
- #: includes/functions/wcj-functions-general.php:614
7193
  msgid "Before cart totals"
7194
  msgstr ""
7195
 
7196
- #: includes/functions/wcj-functions-general.php:615
7197
  #: includes/settings/wcj-settings-empty-cart.php:49
7198
  msgid "Cart totals: Before shipping"
7199
  msgstr ""
7200
 
7201
- #: includes/functions/wcj-functions-general.php:616
7202
  #: includes/settings/wcj-settings-empty-cart.php:50
7203
  msgid "Cart totals: After shipping"
7204
  msgstr ""
7205
 
7206
- #: includes/functions/wcj-functions-general.php:617
7207
  #: includes/settings/wcj-settings-empty-cart.php:51
7208
  msgid "Cart totals: Before order total"
7209
  msgstr ""
7210
 
7211
- #: includes/functions/wcj-functions-general.php:618
7212
  #: includes/settings/wcj-settings-empty-cart.php:52
7213
  msgid "Cart totals: After order total"
7214
  msgstr ""
7215
 
7216
- #: includes/functions/wcj-functions-general.php:619
7217
  msgid "Proceed to checkout"
7218
  msgstr ""
7219
 
7220
- #: includes/functions/wcj-functions-general.php:620
7221
  msgid "After cart totals"
7222
  msgstr ""
7223
 
7224
- #: includes/functions/wcj-functions-general.php:622
7225
  msgid "Before shipping calculator"
7226
  msgstr ""
7227
 
7228
- #: includes/functions/wcj-functions-general.php:623
7229
  msgid "After shipping calculator"
7230
  msgstr ""
7231
 
7232
- #: includes/functions/wcj-functions-general.php:625
7233
  msgid "If cart is empty"
7234
  msgstr ""
7235
 
@@ -7347,7 +6722,7 @@ msgstr ""
7347
 
7348
  #: includes/functions/wcj-functions-shipping.php:222
7349
  #: includes/functions/wcj-functions-shipping.php:279
7350
- #: includes/settings/wcj-settings-left-to-free-shipping.php:134
7351
  msgid "You have Free delivery"
7352
  msgstr ""
7353
 
@@ -7356,7 +6731,7 @@ msgid "Enable Custom Payment"
7356
  msgstr ""
7357
 
7358
  #: includes/gateways/class-wc-gateway-wcj-custom.php:68
7359
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:144
7360
  #: includes/shipping/class-wc-shipping-wcj-custom.php:109
7361
  msgid "This controls the title which the user sees during checkout."
7362
  msgstr ""
@@ -7478,12 +6853,12 @@ msgstr ""
7478
  msgid "Optional. Leave blank to use default URL."
7479
  msgstr ""
7480
 
7481
- #: includes/gateways/class-wc-gateway-wcj-custom.php:354
7482
  #: includes/settings/wcj-settings-payment-gateways.php:38
7483
  msgid "Custom Gateway"
7484
  msgstr ""
7485
 
7486
- #: includes/gateways/class-wc-gateway-wcj-custom.php:355
7487
  msgid "Booster for WooCommerce: Custom Payment Gateway"
7488
  msgstr ""
7489
 
@@ -7961,6 +7336,8 @@ msgid "No documents (%s) found for %d-%02d."
7961
  msgstr ""
7962
 
7963
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:25
 
 
7964
  #: includes/settings/wcj-settings-order-min-amount.php:69
7965
  msgid "Advanced"
7966
  msgstr ""
@@ -8039,12 +7416,12 @@ msgid "Display & Misc."
8039
  msgstr ""
8040
 
8041
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:131
8042
- #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:306
8043
  msgid "View"
8044
  msgstr ""
8045
 
8046
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:150
8047
- #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:330
8048
  msgid "Create"
8049
  msgstr ""
8050
 
@@ -8062,7 +7439,7 @@ msgstr ""
8062
  msgid "You have no document types enabled."
8063
  msgstr ""
8064
 
8065
- #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:336
8066
  msgid ""
8067
  "In case of partial refund, you need to reload the page to see created "
8068
  "document in this meta box."
@@ -8089,45 +7466,31 @@ msgid "Styling"
8089
  msgstr ""
8090
 
8091
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php:23
 
8092
  msgid "Templates"
8093
  msgstr ""
8094
 
8095
- #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:75
8096
- msgid "Create All Country Groups Failed."
8097
- msgstr ""
8098
-
8099
- #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:87
8100
- msgid "Create All Country Groups Failed. Wrong parameter."
8101
- msgstr ""
8102
-
8103
- #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:93
8104
- #, php-format
8105
- msgid ""
8106
- "All existing country groups will be deleted and %s new groups will be "
8107
- "created. Are you sure?"
8108
- msgstr ""
8109
-
8110
- #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:94
8111
- msgid "Confirm"
8112
  msgstr ""
8113
 
8114
- #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:122
8115
- msgid "Country Groups Generated."
8116
  msgstr ""
8117
 
8118
  #: includes/price-by-country/class-wcj-price-by-country-local.php:111
8119
- #: includes/settings/wcj-settings-price-by-country.php:317
8120
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:67
8121
  msgid "Make empty price"
8122
  msgstr ""
8123
 
8124
  #: includes/price-by-country/class-wcj-price-by-country-local.php:215
8125
- #: includes/settings/wcj-settings-add-to-cart.php:51
8126
- #: includes/settings/wcj-settings-price-by-country.php:211
8127
  #: includes/settings/wcj-settings-price-by-country.php:212
8128
- #: includes/settings/wcj-settings-price-by-country.php:217
8129
- #: includes/settings/wcj-settings-price-by-country.php:265
8130
- #: includes/settings/wcj-settings-price-by-country.php:308
 
8131
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:17
8132
  msgid "Group"
8133
  msgstr ""
@@ -8137,7 +7500,7 @@ msgid "Reports currency:"
8137
  msgstr ""
8138
 
8139
  #: includes/reports/class-wcj-currency-reports.php:40
8140
- #: includes/reports/class-wcj-currency-reports.php:84
8141
  msgid "Show reports only in"
8142
  msgstr ""
8143
 
@@ -8300,6 +7663,8 @@ msgid "No sales data for current period."
8300
  msgstr ""
8301
 
8302
  #: includes/reports/wcj-class-reports-sales-gateways.php:84
 
 
8303
  msgid "N/A"
8304
  msgstr ""
8305
 
@@ -8331,107 +7696,103 @@ msgstr ""
8331
  msgid "Filter products"
8332
  msgstr ""
8333
 
8334
- #: includes/reports/wcj-class-reports-stock.php:32
8335
  msgid "All Products on Stock"
8336
  msgstr ""
8337
 
8338
- #: includes/reports/wcj-class-reports-stock.php:33
8339
  msgid "Report shows all products that are on stock and some sales info."
8340
  msgstr ""
8341
 
8342
- #: includes/reports/wcj-class-reports-stock.php:37
8343
  msgid "Understocked"
8344
  msgstr ""
8345
 
8346
- #: includes/reports/wcj-class-reports-stock.php:38
8347
  msgid ""
8348
  "Report shows all products that are low in stock calculated on product's "
8349
  "sales data."
8350
  msgstr ""
8351
 
8352
- #: includes/reports/wcj-class-reports-stock.php:39
8353
  msgid ""
8354
  "Threshold for minimum stock is equal to half of the sales in selected days "
8355
  "range."
8356
  msgstr ""
8357
 
8358
- #: includes/reports/wcj-class-reports-stock.php:43
8359
  msgid "Overstocked"
8360
  msgstr ""
8361
 
8362
- #: includes/reports/wcj-class-reports-stock.php:44
8363
  msgid ""
8364
  "Report shows all products that are on stock, but have no sales in selected "
8365
  "period. Only products added before the start date of selected period are "
8366
  "accounted."
8367
  msgstr ""
8368
 
8369
- #: includes/reports/wcj-class-reports-stock.php:173
8370
- msgid "deleted"
8371
- msgstr ""
8372
-
8373
- #: includes/reports/wcj-class-reports-stock.php:257
8374
  msgid "Stock price"
8375
  msgstr ""
8376
 
8377
- #: includes/reports/wcj-class-reports-stock.php:258
8378
  msgid "Total stock price"
8379
  msgstr ""
8380
 
8381
- #: includes/reports/wcj-class-reports-stock.php:259
8382
  msgid "Last sale"
8383
  msgstr ""
8384
 
8385
- #: includes/reports/wcj-class-reports-stock.php:260
8386
  #, php-format
8387
  msgid "Sales in last %s days"
8388
  msgstr ""
8389
 
8390
- #: includes/reports/wcj-class-reports-stock.php:261
8391
  msgid "Total sales"
8392
  msgstr ""
8393
 
8394
- #: includes/reports/wcj-class-reports-stock.php:263
8395
  msgid "Stock to minimum"
8396
  msgstr ""
8397
 
8398
- #: includes/reports/wcj-class-reports-stock.php:292
8399
  msgid "purchase price:"
8400
  msgstr ""
8401
 
8402
- #: includes/reports/wcj-class-reports-stock.php:296
8403
  msgid "stock purchase price:"
8404
  msgstr ""
8405
 
8406
- #: includes/reports/wcj-class-reports-stock.php:301
8407
  msgid "No sales yet"
8408
  msgstr ""
8409
 
8410
- #: includes/reports/wcj-class-reports-stock.php:305
8411
  msgid "profit:"
8412
  msgstr ""
8413
 
8414
- #: includes/reports/wcj-class-reports-stock.php:325
8415
  msgid "Total current stock value"
8416
  msgstr ""
8417
 
8418
- #: includes/reports/wcj-class-reports-stock.php:326
8419
  msgid "Total stock value"
8420
  msgstr ""
8421
 
8422
- #: includes/reports/wcj-class-reports-stock.php:327
8423
  msgid "Product stock value average"
8424
  msgstr ""
8425
 
8426
- #: includes/reports/wcj-class-reports-stock.php:328
8427
  msgid "Product stock average"
8428
  msgstr ""
8429
 
8430
- #: includes/reports/wcj-class-reports-stock.php:330
8431
  msgid "Total current stock purchase price"
8432
  msgstr ""
8433
 
8434
- #: includes/reports/wcj-class-reports-stock.php:334
8435
  msgid "Report was generated in: "
8436
  msgstr ""
8437
 
@@ -8445,8 +7806,8 @@ msgid "All Products"
8445
  msgstr ""
8446
 
8447
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:23
8448
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:69
8449
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:86
8450
  #: includes/settings/wcj-settings-admin-orders-list.php:21
8451
  #: includes/settings/wcj-settings-admin-orders-list.php:109
8452
  #: includes/settings/wcj-settings-admin-orders-list.php:201
@@ -8481,19 +7842,19 @@ msgid "Enable section"
8481
  msgstr ""
8482
 
8483
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:29
8484
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:92
8485
  msgid "Disable Buttons on Category/Archives Pages"
8486
  msgstr ""
8487
 
8488
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:30
8489
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:45
8490
- #: includes/settings/wcj-settings-general.php:50
8491
- #: includes/settings/wcj-settings-general.php:99
8492
- #: includes/settings/wcj-settings-general.php:113
8493
- #: includes/settings/wcj-settings-general.php:120
8494
- #: includes/settings/wcj-settings-general.php:127
8495
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:84
8496
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:110
8497
  #: includes/settings/wcj-settings-price-by-user-role.php:56
8498
  #: includes/settings/wcj-settings-price-by-user-role.php:96
8499
  #: includes/settings/wcj-settings-product-add-to-cart.php:131
@@ -8503,27 +7864,53 @@ msgstr ""
8503
  msgid "Disable"
8504
  msgstr ""
8505
 
 
 
 
 
 
 
8506
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:37
8507
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8508
  msgid ""
8509
  "Content to replace with on archives (can be empty). You can use HTML and/or "
8510
  "shortcodes here."
8511
  msgstr ""
8512
 
8513
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:44
8514
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:108
8515
  msgid "Disable Buttons on Single Product Pages"
8516
  msgstr ""
8517
 
8518
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:52
8519
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:117
 
 
 
 
8520
  msgid ""
8521
  "Content to replace with on single product pages (can be empty). You can use "
8522
  "HTML and/or shortcodes here."
8523
  msgstr ""
8524
 
8525
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:63
8526
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:68
8527
  #: includes/settings/wcj-settings-max-products-per-user.php:37
8528
  #: includes/settings/wcj-settings-max-products-per-user.php:42
8529
  #: includes/settings/wcj-settings-price-labels.php:22
@@ -8535,15 +7922,15 @@ msgstr ""
8535
  msgid "Per Product"
8536
  msgstr ""
8537
 
8538
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:70
8539
  #: includes/settings/wcj-settings-currency-per-product.php:65
8540
  #: includes/settings/wcj-settings-product-add-to-cart.php:179
8541
  #: includes/settings/wcj-settings-product-add-to-cart.php:196
8542
  msgid "This will add meta box to each product's edit page"
8543
  msgstr ""
8544
 
8545
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:80
8546
- #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:85
8547
  #: includes/settings/wcj-settings-sale-flash.php:81
8548
  msgid "Per Category"
8549
  msgstr ""
@@ -8562,9 +7949,9 @@ msgid "Per Category Labels"
8562
  msgstr ""
8563
 
8564
  #: includes/settings/wcj-settings-add-to-cart.php:21
8565
- #: includes/settings/wcj-settings-add-to-cart.php:96
8566
- #: includes/settings/wcj-settings-add-to-cart.php:114
8567
- #: includes/settings/wcj-settings-general.php:160
8568
  #: includes/settings/wcj-settings-shipping-calculator.php:69
8569
  #: includes/settings/wcj-settings-sorting.php:20
8570
  #: includes/settings/wcj-settings-sorting.php:99
@@ -8581,24 +7968,24 @@ msgstr ""
8581
  msgid "Click \"Save changes\" after you change this number."
8582
  msgstr ""
8583
 
8584
- #: includes/settings/wcj-settings-add-to-cart.php:58
8585
  msgid "categories"
8586
  msgstr ""
8587
 
8588
- #: includes/settings/wcj-settings-add-to-cart.php:59
8589
  #: includes/settings/wcj-settings-shipping-calculator.php:47
8590
  msgid ""
8591
  msgstr ""
8592
 
8593
- #: includes/settings/wcj-settings-add-to-cart.php:68
8594
  msgid "Button text - single product view"
8595
  msgstr ""
8596
 
8597
- #: includes/settings/wcj-settings-add-to-cart.php:75
8598
  msgid "Button text - product archive (category) view"
8599
  msgstr ""
8600
 
8601
- #: includes/settings/wcj-settings-add-to-cart.php:89
8602
  #: includes/settings/wcj-settings-currency-per-product.php:59
8603
  #: includes/settings/wcj-settings-product-addons.php:25
8604
  #: includes/settings/wcj-settings-product-by-date.php:47
@@ -8606,86 +7993,86 @@ msgstr ""
8606
  msgid "Per Product Options"
8607
  msgstr ""
8608
 
8609
- #: includes/settings/wcj-settings-add-to-cart.php:91
8610
  msgid ""
8611
  "This section lets you set Add to Cart button text on per product basis. When "
8612
  "enabled, label for each product can be changed in \"Edit Product\"."
8613
  msgstr ""
8614
 
8615
- #: includes/settings/wcj-settings-add-to-cart.php:95
8616
  msgid "Per Product Labels"
8617
  msgstr ""
8618
 
8619
- #: includes/settings/wcj-settings-add-to-cart.php:107
8620
  msgid "Per Product Type Options"
8621
  msgstr ""
8622
 
8623
- #: includes/settings/wcj-settings-add-to-cart.php:113
8624
  msgid "Per Product Type Labels"
8625
  msgstr ""
8626
 
8627
- #: includes/settings/wcj-settings-add-to-cart.php:123
8628
  #: includes/settings/wcj-settings-product-by-user.php:93
8629
  msgid "Simple product"
8630
  msgstr ""
8631
 
8632
- #: includes/settings/wcj-settings-add-to-cart.php:124
8633
- #: includes/settings/wcj-settings-add-to-cart.php:173
8634
  #: includes/settings/wcj-settings-add-to-cart.php:181
8635
- #: includes/settings/wcj-settings-add-to-cart.php:189
8636
- #: includes/settings/wcj-settings-add-to-cart.php:197
8637
- #: includes/settings/wcj-settings-add-to-cart.php:219
8638
- #: includes/settings/wcj-settings-add-to-cart.php:220
8639
- #: includes/settings/wcj-settings-add-to-cart.php:229
8640
- #: includes/settings/wcj-settings-add-to-cart.php:230
8641
  msgid "Add to cart"
8642
  msgstr ""
8643
 
8644
- #: includes/settings/wcj-settings-add-to-cart.php:128
8645
  msgid "Variable product"
8646
  msgstr ""
8647
 
8648
- #: includes/settings/wcj-settings-add-to-cart.php:129
8649
  msgid "Select options"
8650
  msgstr ""
8651
 
8652
- #: includes/settings/wcj-settings-add-to-cart.php:133
8653
  msgid "External product"
8654
  msgstr ""
8655
 
8656
- #: includes/settings/wcj-settings-add-to-cart.php:134
8657
  msgid "Buy product"
8658
  msgstr ""
8659
 
8660
- #: includes/settings/wcj-settings-add-to-cart.php:138
8661
  msgid "Grouped product"
8662
  msgstr ""
8663
 
8664
- #: includes/settings/wcj-settings-add-to-cart.php:139
8665
  msgid "View products"
8666
  msgstr ""
8667
 
8668
- #: includes/settings/wcj-settings-add-to-cart.php:143
8669
  msgid "Other product"
8670
  msgstr ""
8671
 
8672
- #: includes/settings/wcj-settings-add-to-cart.php:152
8673
  msgid "Single product view."
8674
  msgstr ""
8675
 
8676
- #: includes/settings/wcj-settings-add-to-cart.php:153
8677
- #: includes/settings/wcj-settings-add-to-cart.php:161
8678
- #: includes/settings/wcj-settings-add-to-cart.php:217
8679
- #: includes/settings/wcj-settings-add-to-cart.php:227
8680
  #: includes/settings/wcj-settings-payment-gateways-fees.php:24
8681
  #: includes/settings/wcj-settings-product-custom-info.php:192
8682
  msgid "Leave blank to disable."
8683
  msgstr ""
8684
 
8685
- #: includes/settings/wcj-settings-add-to-cart.php:153
8686
- #: includes/settings/wcj-settings-add-to-cart.php:161
8687
- #: includes/settings/wcj-settings-add-to-cart.php:219
8688
- #: includes/settings/wcj-settings-add-to-cart.php:229
8689
  #: includes/settings/wcj-settings-sorting.php:27
8690
  #: includes/settings/wcj-settings-sorting.php:36
8691
  #: includes/settings/wcj-settings-sorting.php:45
@@ -8695,61 +8082,62 @@ msgstr ""
8695
  msgid "Default: "
8696
  msgstr ""
8697
 
8698
- #: includes/settings/wcj-settings-add-to-cart.php:160
8699
  msgid "Product category (archive) view."
8700
  msgstr ""
8701
 
8702
- #: includes/settings/wcj-settings-add-to-cart.php:170
8703
- msgid "Products on sale. Single product view."
8704
  msgstr ""
8705
 
8706
- #: includes/settings/wcj-settings-add-to-cart.php:171
 
8707
  #: includes/settings/wcj-settings-add-to-cart.php:179
8708
- #: includes/settings/wcj-settings-add-to-cart.php:187
8709
- #: includes/settings/wcj-settings-add-to-cart.php:195
8710
  msgid "Leave blank to disable. Default: Add to cart"
8711
  msgstr ""
8712
 
 
 
 
 
8713
  #: includes/settings/wcj-settings-add-to-cart.php:178
8714
  msgid "Products on sale. Product category (archive) view."
8715
  msgstr ""
8716
 
8717
- #: includes/settings/wcj-settings-add-to-cart.php:186
8718
  msgid "Products with price set to 0 (i.e. free). Single product view."
8719
  msgstr ""
8720
 
8721
- #: includes/settings/wcj-settings-add-to-cart.php:194
8722
  msgid ""
8723
  "Products with price set to 0 (i.e. free). Product category (archive) view."
8724
  msgstr ""
8725
 
8726
- #: includes/settings/wcj-settings-add-to-cart.php:202
8727
  msgid "Products with empty price. Product category (archive) view."
8728
  msgstr ""
8729
 
8730
- #: includes/settings/wcj-settings-add-to-cart.php:203
8731
  msgid "Leave blank to disable. Default: Read More"
8732
  msgstr ""
8733
 
8734
- #: includes/settings/wcj-settings-add-to-cart.php:205
8735
- msgid "Read More"
8736
- msgstr ""
8737
-
8738
- #: includes/settings/wcj-settings-add-to-cart.php:216
8739
  msgid "Already in cart. Single product view."
8740
  msgstr ""
8741
 
8742
- #: includes/settings/wcj-settings-add-to-cart.php:218
8743
- #: includes/settings/wcj-settings-add-to-cart.php:228
8744
  msgid "Try: "
8745
  msgstr ""
8746
 
8747
- #: includes/settings/wcj-settings-add-to-cart.php:218
8748
- #: includes/settings/wcj-settings-add-to-cart.php:228
8749
  msgid "Already in cart - Add Again?"
8750
  msgstr ""
8751
 
8752
- #: includes/settings/wcj-settings-add-to-cart.php:226
8753
  msgid "Already in cart. Product category (archive) view."
8754
  msgstr ""
8755
 
@@ -8876,7 +8264,7 @@ msgstr ""
8876
  #: includes/settings/wcj-settings-cart-customization.php:27
8877
  #: includes/settings/wcj-settings-checkout-customization.php:68
8878
  #: includes/settings/wcj-settings-cross-sells.php:87
8879
- #: includes/settings/wcj-settings-currency.php:21
8880
  #: includes/settings/wcj-settings-my-account.php:151
8881
  #: includes/settings/wcj-settings-my-account.php:158
8882
  #: includes/settings/wcj-settings-order-custom-statuses.php:63
@@ -8886,8 +8274,8 @@ msgstr ""
8886
  #: includes/settings/wcj-settings-product-images.php:27
8887
  #: includes/settings/wcj-settings-product-images.php:34
8888
  #: includes/settings/wcj-settings-product-images.php:41
8889
- #: includes/settings/wcj-settings-related-products.php:163
8890
- #: includes/settings/wcj-settings-related-products.php:169
8891
  #: includes/settings/wcj-settings-sale-flash.php:35
8892
  #: includes/settings/wcj-settings-sale-flash.php:42
8893
  #: includes/settings/wcj-settings-sale-flash.php:49
@@ -9100,10 +8488,6 @@ msgstr ""
9100
  msgid "Change Empty Cart \"Return to shop\" Button Text"
9101
  msgstr ""
9102
 
9103
- #: includes/settings/wcj-settings-cart-customization.php:40
9104
- msgid "Method"
9105
- msgstr ""
9106
-
9107
  #: includes/settings/wcj-settings-cart-customization.php:45
9108
  msgid "Use JavaScript"
9109
  msgstr ""
@@ -9554,7 +8938,7 @@ msgstr ""
9554
  #: includes/settings/wcj-settings-global-discount.php:158
9555
  #: includes/settings/wcj-settings-payment-gateways-fees.php:116
9556
  #: includes/settings/wcj-settings-product-addons.php:149
9557
- #: includes/settings/wcj-settings-related-products.php:223
9558
  msgid "Exclude Products"
9559
  msgstr ""
9560
 
@@ -9564,7 +8948,7 @@ msgstr ""
9564
 
9565
  #: includes/settings/wcj-settings-checkout-custom-fields.php:369
9566
  #: includes/settings/wcj-settings-global-discount.php:147
9567
- #: includes/settings/wcj-settings-related-products.php:212
9568
  msgid "Include Products"
9569
  msgstr ""
9570
 
@@ -9624,14 +9008,14 @@ msgid "Order review"
9624
  msgstr ""
9625
 
9626
  #: includes/settings/wcj-settings-checkout-custom-info.php:60
9627
- #: includes/settings/wcj-settings-left-to-free-shipping.php:119
9628
  msgid "After order review"
9629
  msgstr ""
9630
 
9631
  #: includes/settings/wcj-settings-checkout-custom-info.php:61
9632
  #: includes/settings/wcj-settings-checkout-files-upload.php:57
9633
  #: includes/settings/wcj-settings-empty-cart.php:69
9634
- #: includes/settings/wcj-settings-left-to-free-shipping.php:120
9635
  msgid "After checkout form"
9636
  msgstr ""
9637
 
@@ -9844,7 +9228,7 @@ msgstr ""
9844
  #: includes/settings/wcj-settings-payment-gateways-fees.php:36
9845
  #: includes/settings/wcj-settings-price-by-user-role.php:32
9846
  #: includes/settings/wcj-settings-purchase-data.php:77
9847
- #: includes/settings/wcj-settings-wholesale-price.php:78
9848
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:19
9849
  msgid "Fixed"
9850
  msgstr ""
@@ -9853,7 +9237,7 @@ msgstr ""
9853
  #: includes/settings/wcj-settings-global-discount.php:64
9854
  #: includes/settings/wcj-settings-payment-gateways-fees.php:37
9855
  #: includes/settings/wcj-settings-purchase-data.php:78
9856
- #: includes/settings/wcj-settings-wholesale-price.php:77
9857
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:18
9858
  msgid "Percent"
9859
  msgstr ""
@@ -10031,6 +9415,7 @@ msgid "Remove All Uploaded Files on Empty Cart"
10031
  msgstr ""
10032
 
10033
  #: includes/settings/wcj-settings-checkout-files-upload.php:233
 
10034
  #: includes/settings/wcj-settings-order-min-amount.php:76
10035
  msgid "Add notice"
10036
  msgstr ""
@@ -10085,8 +9470,8 @@ msgstr ""
10085
  #: includes/settings/wcj-settings-checkout-files-upload.php:298
10086
  #: includes/settings/wcj-settings-checkout-files-upload.php:352
10087
  #: includes/settings/wcj-settings-checkout-files-upload.php:393
10088
- #: includes/settings/wcj-settings-product-addons.php:303
10089
- #: includes/settings/wcj-settings-product-addons.php:334
10090
  msgid "Before"
10091
  msgstr ""
10092
 
@@ -10108,8 +9493,8 @@ msgstr ""
10108
  #: includes/settings/wcj-settings-checkout-files-upload.php:321
10109
  #: includes/settings/wcj-settings-checkout-files-upload.php:367
10110
  #: includes/settings/wcj-settings-checkout-files-upload.php:408
10111
- #: includes/settings/wcj-settings-product-addons.php:318
10112
- #: includes/settings/wcj-settings-product-addons.php:349
10113
  msgid "After"
10114
  msgstr ""
10115
 
@@ -10144,25 +9529,38 @@ msgstr ""
10144
  #: includes/settings/wcj-settings-checkout-files-upload.php:421
10145
  #: includes/settings/wcj-settings-currency-per-product.php:251
10146
  #: includes/settings/wcj-settings-eu-vat-number.php:203
10147
- #: includes/settings/wcj-settings-general.php:76
10148
  #: includes/settings/wcj-settings-payment-gateways.php:49
10149
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:43
10150
  #: includes/settings/wcj-settings-product-by-date.php:117
10151
  #: includes/settings/wcj-settings-product-custom-info.php:186
10152
  #: includes/settings/wcj-settings-product-input-fields.php:329
10153
- #: includes/settings/wcj-settings-shipping-by-condition.php:104
10154
  msgid "Advanced Options"
10155
  msgstr ""
10156
 
10157
  #: includes/settings/wcj-settings-checkout-files-upload.php:426
10158
- msgid "Block Potentially Harmful Files"
 
 
 
 
 
10159
  msgstr ""
10160
 
10161
  #: includes/settings/wcj-settings-checkout-files-upload.php:433
 
 
 
 
 
 
 
 
10162
  msgid "Potentially Harmful File Extensions"
10163
  msgstr ""
10164
 
10165
- #: includes/settings/wcj-settings-checkout-files-upload.php:434
10166
  #, php-format
10167
  msgid "List of file extensions separated by vertical bar %s."
10168
  msgstr ""
@@ -10370,13 +9768,50 @@ msgstr ""
10370
 
10371
  #: includes/settings/wcj-settings-cross-sells.php:98
10372
  msgid ""
10373
- "Enable this section if you want to add same cross-sells to all products."
10374
  msgstr ""
10375
 
10376
  #: includes/settings/wcj-settings-cross-sells.php:106
10377
  msgid "Global cross-sells"
10378
  msgstr ""
10379
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10380
  #: includes/settings/wcj-settings-currency-exchange-rates.php:18
10381
  #, php-format
10382
  msgid "%s till next update."
@@ -10391,8 +9826,8 @@ msgstr ""
10391
  #: includes/settings/wcj-settings-currency-per-product.php:119
10392
  #: includes/settings/wcj-settings-multicurrency-base-price.php:22
10393
  #: includes/settings/wcj-settings-multicurrency.php:22
10394
- #: includes/settings/wcj-settings-payment-gateways-currency.php:59
10395
- #: includes/settings/wcj-settings-price-by-country.php:281
10396
  msgid "Exchange Rates Updates"
10397
  msgstr ""
10398
 
@@ -10467,17 +9902,17 @@ msgid ""
10467
  msgstr ""
10468
 
10469
  #: includes/settings/wcj-settings-currency-exchange-rates.php:126
10470
- #: includes/settings/wcj-settings-currency.php:59
10471
  msgid "Total Custom Currencies"
10472
  msgstr ""
10473
 
10474
  #: includes/settings/wcj-settings-currency-exchange-rates.php:138
10475
- #: includes/settings/wcj-settings-currency.php:71
10476
  msgid "Custom Currency"
10477
  msgstr ""
10478
 
10479
  #: includes/settings/wcj-settings-currency-exchange-rates.php:157
10480
- #: includes/settings/wcj-settings-price-by-country.php:276
10481
  msgid "Exchange Rates"
10482
  msgstr ""
10483
 
@@ -10494,9 +9929,9 @@ msgstr ""
10494
 
10495
  #: includes/settings/wcj-settings-currency-external-products.php:20
10496
  #: includes/settings/wcj-settings-currency-per-product.php:180
10497
- #: includes/settings/wcj-settings-multicurrency-base-price.php:100
10498
- #: includes/settings/wcj-settings-multicurrency.php:148
10499
- #: includes/settings/wcj-settings-price-by-country.php:256
10500
  #: includes/settings/wcj-settings-price-formats.php:59
10501
  msgid "Currency"
10502
  msgstr ""
@@ -10570,24 +10005,24 @@ msgstr ""
10570
  #: includes/settings/wcj-settings-currency-per-product.php:124
10571
  #: includes/settings/wcj-settings-multicurrency-base-price.php:27
10572
  #: includes/settings/wcj-settings-multicurrency.php:28
10573
- #: includes/settings/wcj-settings-payment-gateways-currency.php:64
10574
- #: includes/settings/wcj-settings-price-by-country.php:286
10575
  msgid "Enter Rates Manually"
10576
  msgstr ""
10577
 
10578
  #: includes/settings/wcj-settings-currency-per-product.php:125
10579
  #: includes/settings/wcj-settings-multicurrency-base-price.php:28
10580
  #: includes/settings/wcj-settings-multicurrency.php:29
10581
- #: includes/settings/wcj-settings-payment-gateways-currency.php:65
10582
- #: includes/settings/wcj-settings-price-by-country.php:287
10583
  msgid "Automatically via Currency Exchange Rates module"
10584
  msgstr ""
10585
 
10586
  #: includes/settings/wcj-settings-currency-per-product.php:128
10587
  #: includes/settings/wcj-settings-multicurrency-base-price.php:31
10588
  #: includes/settings/wcj-settings-multicurrency.php:32
10589
- #: includes/settings/wcj-settings-payment-gateways-currency.php:68
10590
- #: includes/settings/wcj-settings-price-by-country.php:290
10591
  msgid "Visit"
10592
  msgstr ""
10593
 
@@ -10595,13 +10030,13 @@ msgstr ""
10595
  #: includes/settings/wcj-settings-multicurrency-base-price.php:31
10596
  #: includes/settings/wcj-settings-multicurrency.php:32
10597
  #: includes/settings/wcj-settings-payment-gateways-currency.php:68
10598
- #: includes/settings/wcj-settings-price-by-country.php:290
10599
  msgid "Currency Exchange Rates module"
10600
  msgstr ""
10601
 
10602
  #: includes/settings/wcj-settings-currency-per-product.php:138
10603
- #: includes/settings/wcj-settings-multicurrency-base-price.php:71
10604
- #: includes/settings/wcj-settings-multicurrency.php:117
10605
  msgid "Currencies Options"
10606
  msgstr ""
10607
 
@@ -10613,8 +10048,8 @@ msgid ""
10613
  msgstr ""
10614
 
10615
  #: includes/settings/wcj-settings-currency-per-product.php:144
10616
- #: includes/settings/wcj-settings-multicurrency-base-price.php:76
10617
- #: includes/settings/wcj-settings-multicurrency.php:123
10618
  msgid "Total Currencies"
10619
  msgstr ""
10620
 
@@ -10638,27 +10073,32 @@ msgid ""
10638
  "plugins."
10639
  msgstr ""
10640
 
10641
- #: includes/settings/wcj-settings-currency.php:15
10642
  msgid "Currency Symbol Options"
10643
  msgstr ""
10644
 
10645
- #: includes/settings/wcj-settings-currency.php:20
 
 
 
 
 
10646
  msgid "Hide Currency Symbol"
10647
  msgstr ""
10648
 
10649
- #: includes/settings/wcj-settings-currency.php:22
10650
- msgid "Default: no."
10651
  msgstr ""
10652
 
10653
- #: includes/settings/wcj-settings-currency.php:54
10654
  msgid "Custom Currencies"
10655
  msgstr ""
10656
 
10657
- #: includes/settings/wcj-settings-currency.php:72
10658
  msgid "Currency Name (required)"
10659
  msgstr ""
10660
 
10661
- #: includes/settings/wcj-settings-currency.php:79
10662
  msgid "Currency Code (required)"
10663
  msgstr ""
10664
 
@@ -10712,6 +10152,7 @@ msgid "Add Product Info to Item Name"
10712
  msgstr ""
10713
 
10714
  #: includes/settings/wcj-settings-email-options.php:26
 
10715
  #: includes/settings/wcj-settings-track-users.php:26
10716
  msgid "Info"
10717
  msgstr ""
@@ -10738,56 +10179,68 @@ msgid ""
10738
  msgstr ""
10739
 
10740
  #: includes/settings/wcj-settings-emails-verification.php:35
10741
- msgid "Redirect to \"My Account\" Page After Successful Verification"
 
 
 
 
 
 
 
 
10742
  msgstr ""
10743
 
10744
- #: includes/settings/wcj-settings-emails-verification.php:46
10745
  msgid "Messages"
10746
  msgstr ""
10747
 
10748
- #: includes/settings/wcj-settings-emails-verification.php:51
10749
  msgid "Message - Success"
10750
  msgstr ""
10751
 
10752
- #: includes/settings/wcj-settings-emails-verification.php:58
10753
  msgid "Message - Error"
10754
  msgstr ""
10755
 
10756
- #: includes/settings/wcj-settings-emails-verification.php:66
10757
  msgid "Message - Failed"
10758
  msgstr ""
10759
 
10760
- #: includes/settings/wcj-settings-emails-verification.php:74
 
 
 
 
10761
  msgid "Message - Activate"
10762
  msgstr ""
10763
 
10764
- #: includes/settings/wcj-settings-emails-verification.php:81
10765
  msgid "Message - Resend"
10766
  msgstr ""
10767
 
10768
- #: includes/settings/wcj-settings-emails-verification.php:97
10769
  #: includes/settings/wcj-settings-offer-price.php:317
10770
  msgid "Email Subject"
10771
  msgstr ""
10772
 
10773
- #: includes/settings/wcj-settings-emails-verification.php:106
10774
  msgid "Email Content"
10775
  msgstr ""
10776
 
10777
- #: includes/settings/wcj-settings-emails-verification.php:116
10778
  #: includes/settings/wcj-settings-offer-price.php:324
10779
  msgid "Email Template"
10780
  msgstr ""
10781
 
10782
- #: includes/settings/wcj-settings-emails-verification.php:117
10783
  msgid "Possible values: Plain, WooCommerce."
10784
  msgstr ""
10785
 
10786
- #: includes/settings/wcj-settings-emails-verification.php:122
10787
  msgid "Plain"
10788
  msgstr ""
10789
 
10790
- #: includes/settings/wcj-settings-emails-verification.php:129
10791
  msgid "If WooCommerce template is selected, set email heading here."
10792
  msgstr ""
10793
 
@@ -10985,7 +10438,7 @@ msgid "Export Options"
10985
  msgstr ""
10986
 
10987
  #: includes/settings/wcj-settings-export.php:20
10988
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:177
10989
  msgid "CSV Separator"
10990
  msgstr ""
10991
 
@@ -11156,81 +10609,82 @@ msgid "Labels can contain shortcodes."
11156
  msgstr ""
11157
 
11158
  #: includes/settings/wcj-settings-free-price.php:38
 
11159
  msgid "Variations"
11160
  msgstr ""
11161
 
11162
- #: includes/settings/wcj-settings-general.php:35
11163
  msgid "Shortcodes Options"
11164
  msgstr ""
11165
 
11166
- #: includes/settings/wcj-settings-general.php:40
11167
  msgid "Enable All Shortcodes in WordPress Text Widgets"
11168
  msgstr ""
11169
 
11170
- #: includes/settings/wcj-settings-general.php:41
11171
  msgid ""
11172
  "This will enable all (including non Booster's) shortcodes in WordPress text "
11173
  "widgets."
11174
  msgstr ""
11175
 
11176
- #: includes/settings/wcj-settings-general.php:48
11177
  msgid "Disable Booster's Shortcodes"
11178
  msgstr ""
11179
 
11180
- #: includes/settings/wcj-settings-general.php:49
11181
  msgid "Disable all Booster's shortcodes (for memory saving)."
11182
  msgstr ""
11183
 
11184
- #: includes/settings/wcj-settings-general.php:60
11185
- #: includes/settings/wcj-settings-general.php:65
11186
  msgid "Product Revisions"
11187
  msgstr ""
11188
 
11189
- #: includes/settings/wcj-settings-general.php:81
11190
  msgid "Recalculate Cart Totals on Every Page Load"
11191
  msgstr ""
11192
 
11193
- #: includes/settings/wcj-settings-general.php:88
11194
  msgid "Session Type in Booster"
11195
  msgstr ""
11196
 
11197
- #: includes/settings/wcj-settings-general.php:93
11198
  msgid "Standard PHP sessions"
11199
  msgstr ""
11200
 
11201
- #: includes/settings/wcj-settings-general.php:94
11202
  msgid "WC sessions"
11203
  msgstr ""
11204
 
11205
- #: includes/settings/wcj-settings-general.php:98
11206
  msgid "Disable Loading Datepicker/Weekpicker CSS"
11207
  msgstr ""
11208
 
11209
- #: includes/settings/wcj-settings-general.php:105
11210
  msgid "Datepicker/Weekpicker CSS"
11211
  msgstr ""
11212
 
11213
- #: includes/settings/wcj-settings-general.php:112
11214
  msgid "Disable Loading Datepicker/Weekpicker JavaScript"
11215
  msgstr ""
11216
 
11217
- #: includes/settings/wcj-settings-general.php:119
11218
  msgid "Disable Loading Timepicker CSS"
11219
  msgstr ""
11220
 
11221
- #: includes/settings/wcj-settings-general.php:126
11222
  msgid "Disable Loading Timepicker JavaScript"
11223
  msgstr ""
11224
 
11225
- #: includes/settings/wcj-settings-general.php:137
11226
  msgid "PayPal Email per Product Options"
11227
  msgstr ""
11228
 
11229
- #: includes/settings/wcj-settings-general.php:142
11230
  msgid "PayPal Email per Product"
11231
  msgstr ""
11232
 
11233
- #: includes/settings/wcj-settings-general.php:144
11234
  #: includes/settings/wcj-settings-max-products-per-user.php:44
11235
  #: includes/settings/wcj-settings-product-by-date.php:54
11236
  #: includes/settings/wcj-settings-product-by-time.php:54
@@ -11238,40 +10692,40 @@ msgstr ""
11238
  msgid "This will add new meta box to each product's edit page."
11239
  msgstr ""
11240
 
11241
- #: includes/settings/wcj-settings-general.php:154
11242
  msgid "Session Expiration Options"
11243
  msgstr ""
11244
 
11245
- #: includes/settings/wcj-settings-general.php:159
11246
- #: includes/settings/wcj-settings-general.php:174
11247
  msgid "Session Expiration"
11248
  msgstr ""
11249
 
11250
- #: includes/settings/wcj-settings-general.php:166
11251
  msgid "Session Expiring"
11252
  msgstr ""
11253
 
11254
- #: includes/settings/wcj-settings-general.php:167
11255
  msgid "In seconds. Default: 47 hours (60 * 60 * 47)"
11256
  msgstr ""
11257
 
11258
- #: includes/settings/wcj-settings-general.php:175
11259
  msgid "In seconds. Default: 48 hours (60 * 60 * 48)"
11260
  msgstr ""
11261
 
11262
- #: includes/settings/wcj-settings-general.php:186
11263
  msgid "Booster User Roles Changer Options"
11264
  msgstr ""
11265
 
11266
- #: includes/settings/wcj-settings-general.php:187
11267
  msgid "This will add user roles changer tool to admin bar."
11268
  msgstr ""
11269
 
11270
- #: includes/settings/wcj-settings-general.php:193
11271
  msgid "Booster User Roles Changer"
11272
  msgstr ""
11273
 
11274
- #: includes/settings/wcj-settings-general.php:202
11275
  msgid "Enabled for"
11276
  msgstr ""
11277
 
@@ -11313,8 +10767,8 @@ msgid ""
11313
  msgstr ""
11314
 
11315
  #: includes/settings/wcj-settings-global-discount.php:85
11316
- #: includes/settings/wcj-settings-multicurrency.php:74
11317
- #: includes/settings/wcj-settings-price-by-country.php:67
11318
  #: includes/settings/wcj-settings-product-price-by-formula.php:70
11319
  msgid "Round"
11320
  msgstr ""
@@ -11357,7 +10811,7 @@ msgid "Only products that are not on sale"
11357
  msgstr ""
11358
 
11359
  #: includes/settings/wcj-settings-global-discount.php:110
11360
- #: includes/settings/wcj-settings-related-products.php:175
11361
  msgid "Include Product Categories"
11362
  msgstr ""
11363
 
@@ -11368,7 +10822,7 @@ msgid ""
11368
  msgstr ""
11369
 
11370
  #: includes/settings/wcj-settings-global-discount.php:119
11371
- #: includes/settings/wcj-settings-related-products.php:184
11372
  msgid "Exclude Product Categories"
11373
  msgstr ""
11374
 
@@ -11379,7 +10833,7 @@ msgid ""
11379
  msgstr ""
11380
 
11381
  #: includes/settings/wcj-settings-global-discount.php:128
11382
- #: includes/settings/wcj-settings-related-products.php:193
11383
  msgid "Include Product Tags"
11384
  msgstr ""
11385
 
@@ -11390,7 +10844,7 @@ msgid ""
11390
  msgstr ""
11391
 
11392
  #: includes/settings/wcj-settings-global-discount.php:137
11393
- #: includes/settings/wcj-settings-related-products.php:202
11394
  msgid "Exclude Product Tags"
11395
  msgstr ""
11396
 
@@ -11412,6 +10866,27 @@ msgid ""
11412
  "apply to all products."
11413
  msgstr ""
11414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11415
  #: includes/settings/wcj-settings-left-to-free-shipping.php:14
11416
  msgid "Left to Free Shipping Info Options"
11417
  msgstr ""
@@ -11440,7 +10915,7 @@ msgstr ""
11440
  #: includes/settings/wcj-settings-left-to-free-shipping.php:35
11441
  #: includes/settings/wcj-settings-left-to-free-shipping.php:66
11442
  #: includes/settings/wcj-settings-left-to-free-shipping.php:100
11443
- #: includes/settings/wcj-settings-left-to-free-shipping.php:131
11444
  msgid "You can use HTML and/or shortcodes (e.g. [wcj_wpml]) here."
11445
  msgstr ""
11446
 
@@ -11458,7 +10933,7 @@ msgstr ""
11458
 
11459
  #: includes/settings/wcj-settings-left-to-free-shipping.php:50
11460
  #: includes/settings/wcj-settings-left-to-free-shipping.php:84
11461
- #: includes/settings/wcj-settings-left-to-free-shipping.php:124
11462
  msgid "Position Order (Priority)"
11463
  msgstr ""
11464
 
@@ -11485,11 +10960,19 @@ msgstr ""
11485
  msgid "Info on Checkout"
11486
  msgstr ""
11487
 
11488
- #: includes/settings/wcj-settings-left-to-free-shipping.php:130
11489
- msgid "Message on Free Shipping Reached"
 
 
 
 
11490
  msgstr ""
11491
 
11492
  #: includes/settings/wcj-settings-left-to-free-shipping.php:132
 
 
 
 
11493
  msgid "Set empty to disable."
11494
  msgstr ""
11495
 
@@ -11580,6 +11063,14 @@ msgstr ""
11580
  msgid "Convert Product Prices in Admin Products List"
11581
  msgstr ""
11582
 
 
 
 
 
 
 
 
 
11583
  #: includes/settings/wcj-settings-multicurrency.php:23
11584
  msgid ""
11585
  "Select how you want currency exchange rates to be updated. Possible options "
@@ -11613,113 +11104,115 @@ msgid "Add option to make empty price"
11613
  msgstr ""
11614
 
11615
  #: includes/settings/wcj-settings-multicurrency.php:59
11616
- #: includes/settings/wcj-settings-price-by-country.php:53
11617
- msgid "Revert Currency to Default on Checkout"
11618
  msgstr ""
11619
 
11620
  #: includes/settings/wcj-settings-multicurrency.php:60
11621
  msgid ""
11622
  "Enable this if you want prices to revert back to your shop's default "
11623
- "currency, when customer reaches the checkout page."
 
 
 
 
 
 
 
 
11624
  msgstr ""
11625
 
11626
  #: includes/settings/wcj-settings-multicurrency.php:67
 
 
 
 
 
 
 
 
11627
  #: includes/settings/wcj-settings-payment-gateways-fees.php:65
11628
  #: includes/settings/wcj-settings-product-price-by-formula.php:64
11629
  msgid "Rounding"
11630
  msgstr ""
11631
 
11632
- #: includes/settings/wcj-settings-multicurrency.php:68
11633
  msgid "If using exchange rates, choose rounding here."
11634
  msgstr ""
11635
 
11636
- #: includes/settings/wcj-settings-multicurrency.php:73
11637
- #: includes/settings/wcj-settings-price-by-country.php:66
11638
  msgid "No rounding"
11639
  msgstr ""
11640
 
11641
- #: includes/settings/wcj-settings-multicurrency.php:75
11642
- #: includes/settings/wcj-settings-price-by-country.php:69
11643
  #: includes/settings/wcj-settings-product-price-by-formula.php:71
11644
  msgid "Round up"
11645
  msgstr ""
11646
 
11647
- #: includes/settings/wcj-settings-multicurrency.php:76
11648
- #: includes/settings/wcj-settings-price-by-country.php:68
11649
  #: includes/settings/wcj-settings-product-price-by-formula.php:72
11650
  msgid "Round down"
11651
  msgstr ""
11652
 
11653
- #: includes/settings/wcj-settings-multicurrency.php:80
11654
  msgid "Rounding Precision"
11655
  msgstr ""
11656
 
11657
- #: includes/settings/wcj-settings-multicurrency.php:81
11658
  msgid "If rounding is enabled, set rounding precision here."
11659
  msgstr ""
11660
 
11661
- #: includes/settings/wcj-settings-multicurrency.php:88
11662
  msgid "Currency Switcher Template"
11663
  msgstr ""
11664
 
11665
- #: includes/settings/wcj-settings-multicurrency.php:89
11666
  msgid "Set how you want currency switcher to be displayed on frontend."
11667
  msgstr ""
11668
 
11669
- #: includes/settings/wcj-settings-multicurrency.php:97
11670
  msgid "Advanced: Additional Price Filters"
11671
  msgstr ""
11672
 
11673
- #: includes/settings/wcj-settings-multicurrency.php:98
11674
  msgid ""
11675
  "Add additional price filters here. One per line. Leave blank if not sure."
11676
  msgstr ""
11677
 
11678
- #: includes/settings/wcj-settings-multicurrency.php:99
11679
  #: includes/settings/wcj-settings-offer-price.php:73
11680
  #, php-format
11681
  msgid "E.g.: %s"
11682
  msgstr ""
11683
 
11684
- #: includes/settings/wcj-settings-multicurrency.php:106
11685
- #: includes/settings/wcj-settings-price-by-country.php:140
11686
- #: includes/settings/wcj-settings-price-by-user-role.php:69
11687
- msgid "Advanced: Price Filters Priority"
11688
- msgstr ""
11689
-
11690
- #: includes/settings/wcj-settings-multicurrency.php:107
11691
- #: includes/settings/wcj-settings-price-by-country.php:141
11692
- #: includes/settings/wcj-settings-price-by-user-role.php:70
11693
- msgid ""
11694
- "Priority for all module's price filters. Set to zero to use default priority."
11695
- msgstr ""
11696
-
11697
- #: includes/settings/wcj-settings-multicurrency.php:119
11698
  msgid ""
11699
  "One currency probably should be set to current (original) shop currency with "
11700
  "an exchange rate of 1."
11701
  msgstr ""
11702
 
11703
- #: includes/settings/wcj-settings-multicurrency.php:124
11704
  msgid ""
11705
  "Press Save changes after setting this option, so new settings fields will be "
11706
  "added."
11707
  msgstr ""
11708
 
11709
- #: includes/settings/wcj-settings-multicurrency.php:173
11710
  msgid "Role Defaults"
11711
  msgstr ""
11712
 
11713
- #: includes/settings/wcj-settings-multicurrency.php:180
11714
  msgid "Roles"
11715
  msgstr ""
11716
 
11717
- #: includes/settings/wcj-settings-multicurrency.php:181
11718
- #: includes/settings/wcj-settings-wholesale-price.php:177
11719
  msgid "Save settings after you change this option. Leave blank to disable."
11720
  msgstr ""
11721
 
11722
- #: includes/settings/wcj-settings-multicurrency.php:204
11723
  msgid "No default currency"
11724
  msgstr ""
11725
 
@@ -12000,7 +11493,6 @@ msgid "Enable for all products with empty price"
12000
  msgstr ""
12001
 
12002
  #: includes/settings/wcj-settings-offer-price.php:28
12003
- #: includes/settings/wcj-settings-wholesale-price.php:23
12004
  msgid "Enable per product"
12005
  msgstr ""
12006
 
@@ -12197,7 +11689,7 @@ msgid ""
12197
  msgstr ""
12198
 
12199
  #: includes/settings/wcj-settings-order-custom-statuses.php:25
12200
- #: includes/settings/wcj-settings-payment-gateways-currency.php:44
12201
  msgid "No changes"
12202
  msgstr ""
12203
 
@@ -12332,10 +11824,6 @@ msgstr ""
12332
  msgid "Cart notice method"
12333
  msgstr ""
12334
 
12335
- #: includes/settings/wcj-settings-order-min-amount.php:75
12336
- msgid "Print notice"
12337
- msgstr ""
12338
-
12339
  #: includes/settings/wcj-settings-order-min-amount.php:80
12340
  msgid "Cart notice type"
12341
  msgstr ""
@@ -12818,16 +12306,16 @@ msgstr ""
12818
  msgid "Leave empty to disable."
12819
  msgstr ""
12820
 
12821
- #: includes/settings/wcj-settings-payment-gateways-by-currency.php:27
12822
  #, php-format
12823
  msgid "PayPal allows only these currencies: %s."
12824
  msgstr ""
12825
 
12826
- #: includes/settings/wcj-settings-payment-gateways-by-currency.php:44
12827
  msgid "Allowed Currencies"
12828
  msgstr ""
12829
 
12830
- #: includes/settings/wcj-settings-payment-gateways-by-currency.php:55
12831
  msgid "Denied Currencies"
12832
  msgstr ""
12833
 
@@ -12873,14 +12361,24 @@ msgstr ""
12873
  msgid "Exclude User Roles"
12874
  msgstr ""
12875
 
12876
- #: includes/settings/wcj-settings-payment-gateways-currency.php:14
12877
  msgid "Payment Gateways Currency Options"
12878
  msgstr ""
12879
 
12880
- #: includes/settings/wcj-settings-payment-gateways-currency.php:16
12881
  msgid "This section lets you set different currency for each payment gateway."
12882
  msgstr ""
12883
 
 
 
 
 
 
 
 
 
 
 
12884
  #: includes/settings/wcj-settings-payment-gateways-fees.php:23
12885
  msgid "Fee (or Discount) Title"
12886
  msgstr ""
@@ -13019,10 +12517,6 @@ msgstr ""
13019
  msgid "Success"
13020
  msgstr ""
13021
 
13022
- #: includes/settings/wcj-settings-payment-gateways-min-max.php:67
13023
- msgid "Leave zero to disable."
13024
- msgstr ""
13025
-
13026
  #: includes/settings/wcj-settings-payment-gateways-min-max.php:88
13027
  msgid "Min"
13028
  msgstr ""
@@ -13210,72 +12704,72 @@ msgid ""
13210
  "zip will stop working, if you enable this checkbox."
13211
  msgstr ""
13212
 
13213
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:95
13214
  msgid "Fonts Manager"
13215
  msgstr ""
13216
 
13217
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:104
13218
  msgid "Re-download"
13219
  msgstr ""
13220
 
13221
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:104
13222
  msgid "Download"
13223
  msgstr ""
13224
 
13225
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:109
13226
  msgid "Disable Fonts Download"
13227
  msgstr ""
13228
 
13229
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:120
13230
  msgid "General Display Options"
13231
  msgstr ""
13232
 
13233
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:125
13234
  msgid "Add PDF Invoices Meta Box to Admin Edit Order Page"
13235
  msgstr ""
13236
 
13237
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:132
13238
  msgid "Open docs in new window"
13239
  msgstr ""
13240
 
13241
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:138
13242
- msgid "Add editable numbers"
13243
  msgstr ""
13244
 
13245
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:148
13246
  msgid "Report Tool Options"
13247
  msgstr ""
13248
 
13249
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:153
13250
  msgid "Reports Filename"
13251
  msgstr ""
13252
 
13253
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:161
13254
  msgid "Report Columns"
13255
  msgstr ""
13256
 
13257
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:162
13258
  msgid "Leave blank to show all columns."
13259
  msgstr ""
13260
 
13261
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:170
13262
  msgid "Tax Percent Precision"
13263
  msgstr ""
13264
 
13265
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:183
13266
  msgid "CSV UTF-8 BOM"
13267
  msgstr ""
13268
 
13269
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:190
13270
  msgid "Replace Periods with Commas in CSV Data"
13271
  msgstr ""
13272
 
13273
- #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:191
13274
  msgid "Replace"
13275
  msgstr ""
13276
 
13277
  #: includes/settings/wcj-settings-pdf-invoicing-display.php:25
13278
- #: includes/settings/wcj-settings-price-by-country.php:263
13279
  #: includes/settings/wcj-settings-shipping.php:30
13280
  msgid "Admin Title"
13281
  msgstr ""
@@ -13588,78 +13082,100 @@ msgid "Do not create if order total equals zero"
13588
  msgstr ""
13589
 
13590
  #: includes/settings/wcj-settings-price-by-country.php:14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13591
  msgid "Price by Country Options"
13592
  msgstr ""
13593
 
13594
- #: includes/settings/wcj-settings-price-by-country.php:16
13595
  msgid ""
13596
  "Change product's price and currency by customer's country. Customer's "
13597
  "country is detected automatically by IP, or selected by customer manually."
13598
  msgstr ""
13599
 
13600
- #: includes/settings/wcj-settings-price-by-country.php:20
13601
  msgid "Customer Country Detection Method"
13602
  msgstr ""
13603
 
13604
- #: includes/settings/wcj-settings-price-by-country.php:22
13605
  msgid ""
13606
  "If you choose \"by user selection\", use [wcj_country_select_drop_down_list] "
13607
  "shortcode to display country selection list on frontend."
13608
  msgstr ""
13609
 
13610
- #: includes/settings/wcj-settings-price-by-country.php:26
13611
  msgid "by IP"
13612
  msgstr ""
13613
 
13614
- #: includes/settings/wcj-settings-price-by-country.php:27
13615
  msgid "by IP, then by user selection"
13616
  msgstr ""
13617
 
13618
- #: includes/settings/wcj-settings-price-by-country.php:28
13619
  msgid "by user selection"
13620
  msgstr ""
13621
 
13622
- #: includes/settings/wcj-settings-price-by-country.php:32
13623
  msgid "Override Country Options"
13624
  msgstr ""
13625
 
13626
- #: includes/settings/wcj-settings-price-by-country.php:37
13627
  msgid "No Override"
13628
  msgstr ""
13629
 
13630
- #: includes/settings/wcj-settings-price-by-country.php:38
13631
  msgid "Override Country with Customer's Checkout Billing Country"
13632
  msgstr ""
13633
 
13634
- #: includes/settings/wcj-settings-price-by-country.php:39
13635
  msgid "Override Country with Customer's Checkout Shipping Country"
13636
  msgstr ""
13637
 
13638
- #: includes/settings/wcj-settings-price-by-country.php:43
13639
  msgid "Override Scope"
13640
  msgstr ""
13641
 
13642
- #: includes/settings/wcj-settings-price-by-country.php:48
13643
  msgid "All site"
13644
  msgstr ""
13645
 
13646
- #: includes/settings/wcj-settings-price-by-country.php:49
13647
  msgid "Checkout only"
13648
  msgstr ""
13649
 
13650
- #: includes/settings/wcj-settings-price-by-country.php:60
 
 
 
 
13651
  msgid "Price Rounding"
13652
  msgstr ""
13653
 
13654
- #: includes/settings/wcj-settings-price-by-country.php:61
13655
  msgid "If you choose to multiply price, set rounding options here."
13656
  msgstr ""
13657
 
13658
- #: includes/settings/wcj-settings-price-by-country.php:73
13659
  msgid "Make Pretty Price"
13660
  msgstr ""
13661
 
13662
- #: includes/settings/wcj-settings-price-by-country.php:75
13663
  msgid ""
13664
  "If enabled, this will be applied if exchange rates are used. Final converted "
13665
  "price will be rounded, then decreased by smallest possible value. For "
@@ -13668,129 +13184,118 @@ msgid ""
13668
  "above zero."
13669
  msgstr ""
13670
 
13671
- #: includes/settings/wcj-settings-price-by-country.php:81
13672
  msgid "Discount Min Amount Multiplier"
13673
  msgstr ""
13674
 
13675
- #: includes/settings/wcj-settings-price-by-country.php:82
13676
  msgid ""
13677
  "If \"Make Pretty Price\" is enabled, here you can set by how many smallest "
13678
  "possible values (e.g. cents) final price should be decreased."
13679
  msgstr ""
13680
 
13681
- #: includes/settings/wcj-settings-price-by-country.php:89
13682
  msgid "Price by Country on per Product Basis"
13683
  msgstr ""
13684
 
13685
- #: includes/settings/wcj-settings-price-by-country.php:91
13686
  msgid "This will add product data fields in product edit."
13687
  msgstr ""
13688
 
13689
- #: includes/settings/wcj-settings-price-by-country.php:97
13690
  msgid "Per product options - backend style"
13691
  msgstr ""
13692
 
13693
- #: includes/settings/wcj-settings-price-by-country.php:102
13694
  #: includes/settings/wcj-settings-product-msrp.php:96
13695
  msgid "Inline"
13696
  msgstr ""
13697
 
13698
- #: includes/settings/wcj-settings-price-by-country.php:103
13699
  msgid "Separate meta box"
13700
  msgstr ""
13701
 
13702
- #: includes/settings/wcj-settings-price-by-country.php:107
13703
  msgid "Per product options - backend user role visibility"
13704
  msgstr ""
13705
 
13706
- #: includes/settings/wcj-settings-price-by-country.php:108
13707
  msgid "Leave empty to show to all user roles."
13708
  msgstr ""
13709
 
13710
- #: includes/settings/wcj-settings-price-by-country.php:116
13711
  msgid "Price Filter Widget and Sorting by Price Support"
13712
  msgstr ""
13713
 
13714
- #: includes/settings/wcj-settings-price-by-country.php:119
13715
  msgid "Recalculate price filter widget and sorting by price product prices"
13716
  msgstr ""
13717
 
13718
- #: includes/settings/wcj-settings-price-by-country.php:125
13719
  msgid "Add Countries Flags Images to Select Drop-Down Box"
13720
  msgstr ""
13721
 
13722
- #: includes/settings/wcj-settings-price-by-country.php:127
13723
  msgid ""
13724
  "If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
13725
  "Country Switcher\" widget, this will add country flags to these select boxes."
13726
  msgstr ""
13727
 
13728
- #: includes/settings/wcj-settings-price-by-country.php:133
13729
  #: includes/settings/wcj-settings-price-by-user-role.php:62
13730
  msgid "Search Engine Bots"
13731
  msgstr ""
13732
 
13733
- #: includes/settings/wcj-settings-price-by-country.php:134
13734
  msgid "Disable Price by Country for Bots"
13735
  msgstr ""
13736
 
13737
- #: includes/settings/wcj-settings-price-by-country.php:147
13738
  msgid "Advanced: User IP Detection Method"
13739
  msgstr ""
13740
 
13741
- #: includes/settings/wcj-settings-price-by-country.php:161
13742
  msgid "Country Groups"
13743
  msgstr ""
13744
 
13745
- #: includes/settings/wcj-settings-price-by-country.php:166
13746
  msgid "Countries Selection"
13747
  msgstr ""
13748
 
13749
- #: includes/settings/wcj-settings-price-by-country.php:167
13750
  msgid "Choose how do you want to enter countries groups in admin."
13751
  msgstr ""
13752
 
13753
- #: includes/settings/wcj-settings-price-by-country.php:172
13754
  msgid "Comma separated list"
13755
  msgstr ""
13756
 
13757
- #: includes/settings/wcj-settings-price-by-country.php:173
13758
  msgid "Multiselect"
13759
  msgstr ""
13760
 
13761
- #: includes/settings/wcj-settings-price-by-country.php:174
13762
  #: includes/settings/wcj-settings-product-by-condition.php:82
 
13763
  msgid "Chosen select"
13764
  msgstr ""
13765
 
13766
- #: includes/settings/wcj-settings-price-by-country.php:178
13767
  msgid "Autogenerate Groups"
13768
  msgstr ""
13769
 
13770
- #: includes/settings/wcj-settings-price-by-country.php:183
13771
- msgid "Currencies supported in both PayPal and Yahoo Exchange Rates:"
13772
- msgstr ""
13773
-
13774
- #: includes/settings/wcj-settings-price-by-country.php:188
13775
- msgid "Currencies supported in Yahoo Exchange Rates:"
13776
- msgstr ""
13777
-
13778
- #: includes/settings/wcj-settings-price-by-country.php:193
13779
- msgid "All Countries and Currencies:"
13780
- msgstr ""
13781
-
13782
- #: includes/settings/wcj-settings-price-by-country.php:199
13783
  msgid "Groups Number"
13784
  msgstr ""
13785
 
13786
- #: includes/settings/wcj-settings-price-by-country.php:223
13787
  msgid ""
13788
  "Countries. List of comma separated country codes.<br>For country codes and "
13789
- "predifined sets visit <a href=\"https://booster.io/country-codes/\" target="
13790
  "\"_blank\">https://booster.io/country-codes/</a>"
13791
  msgstr ""
13792
 
13793
- #: includes/settings/wcj-settings-price-by-country.php:309
13794
  msgid "Multiply Price by"
13795
  msgstr ""
13796
 
@@ -13843,7 +13348,7 @@ msgid "Disable Price based on User Role for Bots"
13843
  msgstr ""
13844
 
13845
  #: includes/settings/wcj-settings-price-by-user-role.php:76
13846
- #: includes/settings/wcj-settings-wholesale-price.php:116
13847
  msgid "Advanced: Price Changes"
13848
  msgstr ""
13849
 
@@ -13852,7 +13357,7 @@ msgid "Disable price based on user role for products with \"Price Changes\""
13852
  msgstr ""
13853
 
13854
  #: includes/settings/wcj-settings-price-by-user-role.php:78
13855
- #: includes/settings/wcj-settings-wholesale-price.php:118
13856
  msgid ""
13857
  "Try enabling this checkbox, if you are having compatibility issues with "
13858
  "other plugins."
@@ -14410,7 +13915,7 @@ msgid "Position Priority on Frontend"
14410
  msgstr ""
14411
 
14412
  #: includes/settings/wcj-settings-product-addons.php:212
14413
- #: includes/settings/wcj-settings-shipping-by-condition.php:110
14414
  #: includes/settings/wcj-settings-shipping-options.php:41
14415
  msgid "Set to zero to use the default priority."
14416
  msgstr ""
@@ -14424,12 +13929,19 @@ msgid "By module"
14424
  msgstr ""
14425
 
14426
  #: includes/settings/wcj-settings-product-addons.php:229
 
 
 
 
 
 
 
14427
  #: includes/settings/wcj-settings-product-bookings.php:98
14428
  #: includes/settings/wcj-settings-product-open-pricing.php:127
14429
  msgid "Advanced: Check for Outputted Data"
14430
  msgstr ""
14431
 
14432
- #: includes/settings/wcj-settings-product-addons.php:231
14433
  #: includes/settings/wcj-settings-product-bookings.php:100
14434
  #: includes/settings/wcj-settings-product-input-fields.php:336
14435
  #: includes/settings/wcj-settings-product-open-pricing.php:129
@@ -14438,44 +13950,44 @@ msgid ""
14438
  "on frontend twice. Disable if you see no data outputted."
14439
  msgstr ""
14440
 
14441
- #: includes/settings/wcj-settings-product-addons.php:241
14442
  msgid "Frontend Templates"
14443
  msgstr ""
14444
 
14445
- #: includes/settings/wcj-settings-product-addons.php:246
14446
  msgid "Each Addon - Title"
14447
  msgstr ""
14448
 
14449
- #: includes/settings/wcj-settings-product-addons.php:254
14450
  msgid "Each Addon - Type: Checkbox"
14451
  msgstr ""
14452
 
14453
- #: includes/settings/wcj-settings-product-addons.php:262
14454
  msgid "Each Addon - Type: Text"
14455
  msgstr ""
14456
 
14457
- #: includes/settings/wcj-settings-product-addons.php:270
14458
  msgid "Each Addon - Type: Select Box"
14459
  msgstr ""
14460
 
14461
- #: includes/settings/wcj-settings-product-addons.php:278
14462
  msgid "Each Addon - Type: Radio Button (Each)"
14463
  msgstr ""
14464
 
14465
- #: includes/settings/wcj-settings-product-addons.php:286
14466
  msgid "All Addons - Final"
14467
  msgstr ""
14468
 
14469
- #: includes/settings/wcj-settings-product-addons.php:298
14470
  msgid "Cart Template"
14471
  msgstr ""
14472
 
14473
- #: includes/settings/wcj-settings-product-addons.php:310
14474
- #: includes/settings/wcj-settings-product-addons.php:341
14475
  msgid "Each Addon"
14476
  msgstr ""
14477
 
14478
- #: includes/settings/wcj-settings-product-addons.php:329
14479
  msgid "Order Details Table Template"
14480
  msgstr ""
14481
 
@@ -14645,6 +14157,7 @@ msgid "Select Box Style"
14645
  msgstr ""
14646
 
14647
  #: includes/settings/wcj-settings-product-by-condition.php:83
 
14648
  #: includes/shortcodes/class-wcj-shortcodes-order-items.php:189
14649
  msgid "Standard"
14650
  msgstr ""
@@ -14901,6 +14414,7 @@ msgid "Inside product title"
14901
  msgstr ""
14902
 
14903
  #: includes/settings/wcj-settings-product-custom-info.php:131
 
14904
  msgid "Product Categories to Include"
14905
  msgstr ""
14906
 
@@ -14914,6 +14428,7 @@ msgid "Leave blank to disable the option."
14914
  msgstr ""
14915
 
14916
  #: includes/settings/wcj-settings-product-custom-info.php:139
 
14917
  msgid "Product Categories to Exclude"
14918
  msgstr ""
14919
 
@@ -14927,11 +14442,13 @@ msgstr ""
14927
 
14928
  #: includes/settings/wcj-settings-product-custom-info.php:163
14929
  #: includes/settings/wcj-settings-products-xml.php:147
 
14930
  msgid "Products to Include"
14931
  msgstr ""
14932
 
14933
  #: includes/settings/wcj-settings-product-custom-info.php:171
14934
  #: includes/settings/wcj-settings-products-xml.php:157
 
14935
  msgid "Products to Exclude"
14936
  msgstr ""
14937
 
@@ -15001,6 +14518,18 @@ msgstr ""
15001
  msgid "Single Product Thumbnails Columns"
15002
  msgstr ""
15003
 
 
 
 
 
 
 
 
 
 
 
 
 
15004
  #: includes/settings/wcj-settings-product-info.php:14
15005
  msgid "Products Info"
15006
  msgstr ""
@@ -15110,8 +14639,8 @@ msgstr ""
15110
  #: includes/settings/wcj-settings-product-input-fields.php:144
15111
  #: includes/settings/wcj-settings-product-input-fields.php:156
15112
  #: includes/settings/wcj-settings-product-input-fields.php:168
15113
- #: includes/settings/wcj-settings-wholesale-price.php:83
15114
- #: includes/settings/wcj-settings-wholesale-price.php:100
15115
  msgid "Leave blank to include all products."
15116
  msgstr ""
15117
 
@@ -16101,129 +15630,161 @@ msgid ""
16101
  "product basis."
16102
  msgstr ""
16103
 
16104
- #: includes/settings/wcj-settings-related-products.php:168
 
 
 
 
16105
  msgid "Hide Related Products"
16106
  msgstr ""
16107
 
16108
- #: includes/settings/wcj-settings-related-products.php:176
16109
  msgid ""
16110
  "Set this field to hide related products on selected product categories only. "
16111
  "Leave blank to hide on all products."
16112
  msgstr ""
16113
 
16114
- #: includes/settings/wcj-settings-related-products.php:185
16115
  msgid ""
16116
  "Set this field to NOT hide related products on selected product categories. "
16117
  "Leave blank to hide on all products."
16118
  msgstr ""
16119
 
16120
- #: includes/settings/wcj-settings-related-products.php:194
16121
  msgid ""
16122
  "Set this field to hide related products on selected product tags only. Leave "
16123
  "blank to hide on all products."
16124
  msgstr ""
16125
 
16126
- #: includes/settings/wcj-settings-related-products.php:203
16127
  msgid ""
16128
  "Set this field to NOT hide related products on selected product tags. Leave "
16129
  "blank to hide on all products."
16130
  msgstr ""
16131
 
16132
- #: includes/settings/wcj-settings-related-products.php:213
16133
  msgid ""
16134
  "Set this field to hide related products on selected products only. Leave "
16135
  "blank to hide on all products."
16136
  msgstr ""
16137
 
16138
- #: includes/settings/wcj-settings-related-products.php:224
16139
  msgid ""
16140
  "Set this field to NOT hide related products on selected products. Leave "
16141
  "blank to hide on all products."
16142
  msgstr ""
16143
 
16144
  #: includes/settings/wcj-settings-reports.php:14
 
 
 
 
16145
  msgid "Product Sales (Daily)"
16146
  msgstr ""
16147
 
16148
- #: includes/settings/wcj-settings-reports.php:21
16149
  msgid "Report columns"
16150
  msgstr ""
16151
 
16152
- #: includes/settings/wcj-settings-reports.php:22
16153
  msgid "Set empty to include all columns."
16154
  msgstr ""
16155
 
16156
- #: includes/settings/wcj-settings-reports.php:30
16157
  msgid "Order statuses"
16158
  msgstr ""
16159
 
16160
- #: includes/settings/wcj-settings-reports.php:31
16161
  msgid "Set empty to include all statuses."
16162
  msgstr ""
16163
 
16164
- #: includes/settings/wcj-settings-reports.php:39
16165
- #: includes/settings/wcj-settings-reports.php:80
16166
  msgid "Include taxes"
16167
  msgstr ""
16168
 
16169
- #: includes/settings/wcj-settings-reports.php:46
16170
- #: includes/settings/wcj-settings-reports.php:87
16171
  msgid "Count variations for variable products"
16172
  msgstr ""
16173
 
16174
- #: includes/settings/wcj-settings-reports.php:52
16175
  msgid "Product Sales (Monthly)"
16176
  msgstr ""
16177
 
16178
- #: includes/settings/wcj-settings-reports.php:59
16179
  msgid "Display item sales"
16180
  msgstr ""
16181
 
16182
- #: includes/settings/wcj-settings-reports.php:66
16183
  msgid "Display sales sum"
16184
  msgstr ""
16185
 
16186
- #: includes/settings/wcj-settings-reports.php:73
16187
  msgid "Display profit"
16188
  msgstr ""
16189
 
16190
- #: includes/settings/wcj-settings-reports.php:93
16191
  msgid "Monthly Sales (with Currency Conversion)"
16192
  msgstr ""
16193
 
16194
- #: includes/settings/wcj-settings-reports.php:100
16195
  msgid "Include current day for current month"
16196
  msgstr ""
16197
 
16198
- #: includes/settings/wcj-settings-reports.php:107
16199
  msgid "Forecast total orders and sum (excl. TAX) for current month and year"
16200
  msgstr ""
16201
 
16202
- #: includes/settings/wcj-settings-reports.php:119
 
 
 
 
16203
  msgid "Customers by Country"
16204
  msgstr ""
16205
 
16206
- #: includes/settings/wcj-settings-reports.php:125
16207
  msgid "Customers by Country Sets"
16208
  msgstr ""
16209
 
16210
- #: includes/settings/wcj-settings-reports.php:131
 
 
 
 
16211
  msgid "All in Stock with sales data"
16212
  msgstr ""
16213
 
16214
- #: includes/settings/wcj-settings-reports.php:137
16215
  msgid "Understocked products (calculated by sales data)"
16216
  msgstr ""
16217
 
16218
- #: includes/settings/wcj-settings-reports.php:143
16219
  msgid "Overstocked products (calculated by sales data)"
16220
  msgstr ""
16221
 
16222
- #: includes/settings/wcj-settings-reports.php:151
16223
- msgid "Available Reports"
16224
  msgstr ""
16225
 
16226
- #: includes/settings/wcj-settings-reports.php:168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16227
  msgid "View report"
16228
  msgstr ""
16229
 
@@ -16254,17 +15815,17 @@ msgstr ""
16254
  msgid "Shipping Methods by %s"
16255
  msgstr ""
16256
 
16257
- #: includes/settings/wcj-settings-shipping-by-condition.php:73
16258
  #, php-format
16259
  msgid "Include %s"
16260
  msgstr ""
16261
 
16262
- #: includes/settings/wcj-settings-shipping-by-condition.php:84
16263
  #, php-format
16264
  msgid "Exclude %s"
16265
  msgstr ""
16266
 
16267
- #: includes/settings/wcj-settings-shipping-by-condition.php:109
16268
  msgid "Filter Priority"
16269
  msgstr ""
16270
 
@@ -17075,6 +16636,22 @@ msgstr ""
17075
  msgid "Excluding tax"
17076
  msgstr ""
17077
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17078
  #: includes/settings/wcj-settings-track-users.php:19
17079
  msgid "Countries by Visits"
17080
  msgstr ""
@@ -17240,8 +16817,12 @@ msgstr ""
17240
  msgid "If you want to display prices table on frontend, use %s shortcode."
17241
  msgstr ""
17242
 
 
 
 
 
17243
  #: includes/settings/wcj-settings-wholesale-price.php:31
17244
- msgid "Quantity calculation"
17245
  msgstr ""
17246
 
17247
  #: includes/settings/wcj-settings-wholesale-price.php:36
@@ -17257,96 +16838,81 @@ msgid "Total cart quantity"
17257
  msgstr ""
17258
 
17259
  #: includes/settings/wcj-settings-wholesale-price.php:42
17260
- msgid "Apply wholesale discount only if no other cart discounts were applied"
17261
  msgstr ""
17262
 
17263
- #: includes/settings/wcj-settings-wholesale-price.php:49
17264
- msgid "Round single product price"
17265
  msgstr ""
17266
 
17267
  #: includes/settings/wcj-settings-wholesale-price.php:50
 
 
 
 
17268
  msgid ""
17269
  "If enabled will round single product price with precision set in WooCommerce "
17270
  "> Settings > General > Number of decimals."
17271
  msgstr ""
17272
 
17273
- #: includes/settings/wcj-settings-wholesale-price.php:57
17274
- msgid "Show discount info on cart page"
17275
- msgstr ""
17276
-
17277
- #: includes/settings/wcj-settings-wholesale-price.php:64
17278
- msgid "If show discount info on cart page is enabled, set format here"
17279
- msgstr ""
17280
-
17281
- #: includes/settings/wcj-settings-wholesale-price.php:72
17282
- msgid "Discount type"
17283
- msgstr ""
17284
-
17285
- #: includes/settings/wcj-settings-wholesale-price.php:82
17286
- msgid "Products to include"
17287
- msgstr ""
17288
-
17289
- #: includes/settings/wcj-settings-wholesale-price.php:91
17290
- msgid "Products to exclude"
17291
  msgstr ""
17292
 
17293
- #: includes/settings/wcj-settings-wholesale-price.php:99
17294
- msgid "Product Categories to include"
17295
  msgstr ""
17296
 
17297
- #: includes/settings/wcj-settings-wholesale-price.php:108
17298
- msgid "Product Categories to exclude"
 
17299
  msgstr ""
17300
 
17301
- #: includes/settings/wcj-settings-wholesale-price.php:117
17302
  msgid "Disable wholesale pricing for products with \"Price Changes\""
17303
  msgstr ""
17304
 
17305
- #: includes/settings/wcj-settings-wholesale-price.php:128
17306
  msgid "Wholesale Levels Options"
17307
  msgstr ""
17308
 
17309
- #: includes/settings/wcj-settings-wholesale-price.php:133
17310
- #: includes/settings/wcj-settings-wholesale-price.php:190
17311
- #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:48
17312
- #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:84
17313
- msgid "Number of levels"
17314
- msgstr ""
17315
-
17316
- #: includes/settings/wcj-settings-wholesale-price.php:147
17317
- #: includes/settings/wcj-settings-wholesale-price.php:204
17318
- #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:65
17319
- #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:101
17320
- msgid "Min quantity"
17321
  msgstr ""
17322
 
17323
  #: includes/settings/wcj-settings-wholesale-price.php:148
17324
  #: includes/settings/wcj-settings-wholesale-price.php:205
 
 
 
 
 
17325
  msgid "Minimum quantity to apply discount"
17326
  msgstr ""
17327
 
17328
- #: includes/settings/wcj-settings-wholesale-price.php:155
17329
  #: includes/settings/wcj-settings-wholesale-price.php:156
17330
- #: includes/settings/wcj-settings-wholesale-price.php:212
17331
  #: includes/settings/wcj-settings-wholesale-price.php:213
 
17332
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
17333
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:108
17334
  msgid "Discount"
17335
  msgstr ""
17336
 
17337
- #: includes/settings/wcj-settings-wholesale-price.php:170
17338
  msgid "Additional User Roles Options"
17339
  msgstr ""
17340
 
17341
- #: includes/settings/wcj-settings-wholesale-price.php:172
17342
  msgid ""
17343
  "If you want to set different wholesale pricing options for different user "
17344
  "roles, fill this section. Please note that you can also use Booster's "
17345
  "\"Price based on User Role\" module without filling this section."
17346
  msgstr ""
17347
 
17348
- #: includes/settings/wcj-settings-wholesale-price.php:176
17349
- msgid "User roles settings"
17350
  msgstr ""
17351
 
17352
  #: includes/settings/wcj-settings-wpml.php:27
@@ -17502,6 +17068,11 @@ msgstr ""
17502
  msgid "%s number"
17503
  msgstr ""
17504
 
 
 
 
 
 
17505
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:29
17506
  msgid "Per Product Settings (press Update after changing)"
17507
  msgstr ""
@@ -17599,14 +17170,16 @@ msgstr ""
17599
  msgid "Number of Parameters"
17600
  msgstr ""
17601
 
17602
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:18
17603
  msgid ""
17604
  "If enabled and no products selected - will hide related products section on "
17605
  "frontend for current product."
17606
  msgstr ""
17607
 
17608
- #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:29
17609
- msgid "Hold Control (Ctrl) key to select multiple products."
 
 
17610
  msgstr ""
17611
 
17612
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:20
@@ -17617,8 +17190,9 @@ msgstr ""
17617
  msgid "Enable per Product Levels"
17618
  msgstr ""
17619
 
17620
- #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:41
17621
- msgid "Discount Type"
 
17622
  msgstr ""
17623
 
17624
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:49
@@ -17635,6 +17209,11 @@ msgstr ""
17635
  msgid "Level"
17636
  msgstr ""
17637
 
 
 
 
 
 
17638
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:40
17639
  #: includes/shipping/class-wc-shipping-wcj-custom.php:38
17640
  msgid "Booster: Custom Shipping Method"
@@ -17645,79 +17224,81 @@ msgstr ""
17645
  msgid "Max Weight or Quantity"
17646
  msgstr ""
17647
 
17648
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:132
17649
  msgid "Flat rate"
17650
  msgstr ""
17651
 
17652
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:133
17653
  msgid "By total cart weight"
17654
  msgstr ""
17655
 
17656
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:134
17657
  msgid "By total cart weight table"
17658
  msgstr ""
17659
 
17660
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:135
17661
  msgid "By total cart quantity"
17662
  msgstr ""
17663
 
17664
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:138
17665
  msgid "By total cart quantity table"
17666
  msgstr ""
17667
 
17668
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:151
17669
  #: includes/shipping/class-wc-shipping-wcj-custom.php:116
17670
  msgid "Cost calculation type."
17671
  msgstr ""
17672
 
17673
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:152
17674
  #: includes/shipping/class-wc-shipping-wcj-custom.php:97
17675
  #: includes/shipping/class-wc-shipping-wcj-custom.php:116
17676
  msgid "By Total Cart Quantity Table"
17677
  msgstr ""
17678
 
17679
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:160
17680
  #: includes/shipping/class-wc-shipping-wcj-custom.php:124
17681
  msgid ""
17682
  "Cost. If calculating by weight - then cost per one weight unit. If "
17683
  "calculating by quantity - then cost per one piece."
17684
  msgstr ""
17685
 
17686
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:165
17687
  #: includes/shipping/class-wc-shipping-wcj-custom.php:130
17688
  msgid "Min Weight"
17689
  msgstr ""
17690
 
17691
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:167
17692
  #: includes/shipping/class-wc-shipping-wcj-custom.php:132
17693
  msgid "Minimum total cart weight. Set zero to disable."
17694
  msgstr ""
17695
 
17696
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:173
17697
  #: includes/shipping/class-wc-shipping-wcj-custom.php:138
17698
  msgid "Max Weight"
17699
  msgstr ""
17700
 
17701
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:175
17702
  #: includes/shipping/class-wc-shipping-wcj-custom.php:140
17703
  msgid "Maximum total cart weight. Set zero to disable."
17704
  msgstr ""
17705
 
17706
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:181
17707
- msgid "Apply Formula to Costs"
17708
  msgstr ""
17709
 
17710
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:182
17711
  #, php-format
17712
- msgid "You can use %s and %s params in formula. E.g.: %s"
 
 
17713
  msgstr ""
17714
 
17715
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:191
17716
  #: includes/shipping/class-wc-shipping-wcj-custom.php:146
17717
  msgid "Table Total Rows"
17718
  msgstr ""
17719
 
17720
- #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:193
17721
  msgid ""
17722
  "Press \"Save changes\" and reload the page after you change this number."
17723
  msgstr ""
@@ -17742,11 +17323,11 @@ msgstr ""
17742
  msgid "Enable Custom Shipping"
17743
  msgstr ""
17744
 
17745
- #: includes/shortcodes/class-wcj-shortcodes-general.php:92
17746
  msgid "Tax toggle (incl.)"
17747
  msgstr ""
17748
 
17749
- #: includes/shortcodes/class-wcj-shortcodes-general.php:93
17750
  msgid "Tax toggle (excl.)"
17751
  msgstr ""
17752
 
1
+ #: includes/class-wcj-add-to-cart-button-visibility.php:26
2
  msgid "Add to Cart Button Visibility"
3
  msgstr ""
4
 
5
+ #: includes/class-wcj-add-to-cart-button-visibility.php:27
6
  msgid "Enable/disable Add to Cart button globally or on per product basis."
7
  msgstr ""
8
 
9
+ #: includes/class-wcj-add-to-cart-button-visibility.php:29
10
  #, php-format
11
  msgid ""
12
  "If you need to enable/disable Add to Cart button for some <strong>user "
14
  "Booster's %s module."
15
  msgstr ""
16
 
17
+ #: includes/class-wcj-add-to-cart-button-visibility.php:31
18
  #: includes/class-wcj-modules-by-user-roles.php:25
19
  msgid "Modules By User Roles"
20
  msgstr ""
47
  msgid "WooCommerce admin bar."
48
  msgstr ""
49
 
50
+ #: includes/class-wcj-admin-bar.php:140
51
  #: includes/admin/class-wc-settings-jetpack.php:83
52
  msgid "Alphabetically"
53
  msgstr ""
54
 
55
+ #: includes/class-wcj-admin-bar.php:144
56
  #: includes/admin/class-wc-settings-jetpack.php:84
57
  msgid "By Category"
58
  msgstr ""
59
 
60
+ #: includes/class-wcj-admin-bar.php:148
61
  #: includes/admin/class-wc-settings-jetpack.php:85
62
  msgid "Active"
63
  msgstr ""
64
 
65
+ #: includes/class-wcj-admin-bar.php:152
66
  #: includes/admin/class-wc-settings-jetpack.php:86
67
  msgid "Manage Settings"
68
  msgstr ""
69
 
70
+ #: includes/class-wcj-admin-bar.php:168 includes/class-wcj-admin-bar.php:478
71
+ #: includes/class-wcj-admin-bar.php:578
72
  #: includes/admin/class-wc-settings-jetpack.php:219
73
  #: includes/admin/class-wc-settings-jetpack.php:414
74
  #: includes/core/class-wcj-admin.php:113
75
  msgid "Settings"
76
  msgstr ""
77
 
78
+ #: includes/class-wcj-admin-bar.php:172
79
  #: includes/admin/class-wc-settings-jetpack.php:416
80
+ #: includes/classes/class-wcj-module.php:698
81
  msgid "Documentation"
82
  msgstr ""
83
 
84
+ #: includes/class-wcj-admin-bar.php:214 includes/class-wcj-my-account.php:31
85
  #: includes/admin/class-wc-settings-jetpack.php:146
86
  #: includes/admin/wcj-modules-cats.php:14
87
  msgid "Dashboard"
88
  msgstr ""
89
 
90
+ #: includes/class-wcj-admin-bar.php:215
91
  msgid ""
92
  "This dashboard lets you check statuses and short descriptions of all "
93
  "available Booster for WooCommerce tools. Tools can be enabled through "
94
  "WooCommerce > Settings > Booster."
95
  msgstr ""
96
 
97
+ #: includes/class-wcj-admin-bar.php:245 includes/class-wcj-admin-bar.php:288
98
+ #: includes/class-wcj-admin-bar.php:602
99
+ #: includes/classes/class-wcj-module.php:531
100
  #: includes/settings/wcj-settings-wpml.php:74
101
  msgid "Tools"
102
  msgstr ""
103
 
104
+ #: includes/class-wcj-admin-bar.php:253
105
  msgid "Booster: Active"
106
  msgstr ""
107
 
108
+ #: includes/class-wcj-admin-bar.php:256
109
  msgid "Booster - Active"
110
  msgstr ""
111
 
112
+ #: includes/class-wcj-admin-bar.php:276
113
+ #: includes/class-wcj-checkout-files-upload.php:218
114
  #: includes/class-wcj-eu-vat-number.php:129
115
  #: includes/class-wcj-max-products-per-user.php:115
116
  #: includes/class-wcj-orders.php:109 includes/class-wcj-orders.php:138
119
  #: includes/class-wcj-track-users.php:251
120
  #: includes/admin/class-wc-settings-jetpack.php:24
121
  #: includes/admin/class-wc-settings-jetpack.php:221
122
+ #: includes/classes/class-wcj-module.php:348
123
+ #: includes/classes/class-wcj-module.php:558
124
+ #: includes/settings/wcj-settings-price-by-country.php:169
125
  msgid "Booster"
126
  msgstr ""
127
 
128
+ #: includes/class-wcj-admin-bar.php:279
129
  msgid "Booster - Settings"
130
  msgstr ""
131
 
132
+ #: includes/class-wcj-admin-bar.php:283
133
  msgid "Modules"
134
  msgstr ""
135
 
136
+ #: includes/class-wcj-admin-bar.php:307
137
  msgid "Sales by date"
138
  msgstr ""
139
 
140
+ #: includes/class-wcj-admin-bar.php:308
141
  msgid "Sales by product"
142
  msgstr ""
143
 
144
+ #: includes/class-wcj-admin-bar.php:309
145
  msgid "Sales by category"
146
  msgstr ""
147
 
148
+ #: includes/class-wcj-admin-bar.php:310
149
  msgid "Coupons by date"
150
  msgstr ""
151
 
152
+ #: includes/class-wcj-admin-bar.php:318 includes/class-wcj-track-users.php:34
153
  #: includes/functions/wcj-functions-reports.php:62
154
  msgid "Last 7 days"
155
  msgstr ""
156
 
157
+ #: includes/class-wcj-admin-bar.php:322
158
  #: includes/functions/wcj-functions-reports.php:57
159
  msgid "This month"
160
  msgstr ""
161
 
162
+ #: includes/class-wcj-admin-bar.php:326
163
  #: includes/functions/wcj-functions-reports.php:52
164
  msgid "Last month"
165
  msgstr ""
166
 
167
+ #: includes/class-wcj-admin-bar.php:330
168
  #: includes/functions/wcj-functions-reports.php:47
169
  #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:125
170
  msgid "Year"
171
  msgstr ""
172
 
173
+ #: includes/class-wcj-admin-bar.php:356
174
  #: includes/admin/class-wc-settings-jetpack.php:217
175
+ #: includes/settings/wcj-settings-emails-verification.php:138
176
+ #: includes/settings/wcj-settings-price-by-country.php:168
177
  msgid "WooCommerce"
178
  msgstr ""
179
 
180
+ #: includes/class-wcj-admin-bar.php:359
181
  msgid "WooCommerce settings"
182
  msgstr ""
183
 
184
+ #: includes/class-wcj-admin-bar.php:363 includes/class-wcj-admin-bar.php:367
185
+ #: includes/class-wcj-admin-bar.php:385 includes/class-wcj-my-account.php:32
186
  #: includes/class-wcj-my-account.php:40 includes/class-wcj-orders.php:26
187
  #: includes/reports/wcj-class-reports-sales-gateways.php:153
188
+ #: includes/settings/wcj-settings-reports.php:21
189
+ #: includes/settings/wcj-settings-reports.php:59
190
+ #: includes/settings/wcj-settings-reports.php:100
191
+ #: includes/settings/wcj-settings-reports.php:120
192
  msgid "Orders"
193
  msgstr ""
194
 
195
+ #: includes/class-wcj-admin-bar.php:371
196
  msgid "Add order"
197
  msgstr ""
198
 
199
+ #: includes/class-wcj-admin-bar.php:375 includes/class-wcj-admin-bar.php:390
200
+ #: includes/settings/wcj-settings-reports.php:135
201
+ #: includes/settings/wcj-settings-reports.php:141
202
  msgid "Customers"
203
  msgstr ""
204
 
205
+ #: includes/class-wcj-admin-bar.php:381 includes/class-wcj-reports.php:33
206
  msgid "Reports"
207
  msgstr ""
208
 
209
+ #: includes/class-wcj-admin-bar.php:394
210
  msgid "Customers vs. guests"
211
  msgstr ""
212
 
213
+ #: includes/class-wcj-admin-bar.php:398
214
  msgid "Customer list"
215
  msgstr ""
216
 
217
+ #: includes/class-wcj-admin-bar.php:404 includes/class-wcj-stock.php:27
218
+ #: includes/reports/wcj-class-reports-stock.php:272
219
+ #: includes/settings/wcj-settings-reports.php:156
220
+ #: includes/settings/wcj-settings-reports.php:162
221
+ #: includes/settings/wcj-settings-reports.php:168
222
  msgid "Stock"
223
  msgstr ""
224
 
225
+ #: includes/class-wcj-admin-bar.php:408
226
  msgid "Low in stock"
227
  msgstr ""
228
 
229
+ #: includes/class-wcj-admin-bar.php:412
230
  #: includes/settings/wcj-settings-stock.php:101
231
  #: includes/shortcodes/class-wcj-shortcodes-products.php:572
232
  msgid "Out of stock"
233
  msgstr ""
234
 
235
+ #: includes/class-wcj-admin-bar.php:416
236
  msgid "Most Stocked"
237
  msgstr ""
238
 
239
+ #: includes/class-wcj-admin-bar.php:422
240
  #: includes/class-wcj-eu-vat-number.php:193
241
  msgid "Taxes"
242
  msgstr ""
243
 
244
+ #: includes/class-wcj-admin-bar.php:426
245
  msgid "Taxes by code"
246
  msgstr ""
247
 
248
+ #: includes/class-wcj-admin-bar.php:430
249
  msgid "Taxes by date"
250
  msgstr ""
251
 
252
+ #: includes/class-wcj-admin-bar.php:438 includes/class-wcj-admin-bar.php:442
253
+ #: includes/class-wcj-admin-bar.php:486
254
  #: includes/class-wcj-product-bulk-meta-editor.php:263
255
  #: includes/class-wcj-product-by-user.php:96
256
  #: includes/class-wcj-product-by-user.php:132
257
  #: includes/class-wcj-shipping-by-products.php:32
258
  #: includes/admin/wcj-modules-cats.php:59
259
+ #: includes/settings/wcj-settings-reports.php:178
260
  #: includes/settings/wcj-settings-shipping-options.php:69
261
  msgid "Products"
262
  msgstr ""
263
 
264
+ #: includes/class-wcj-admin-bar.php:446
265
  msgid "Add product"
266
  msgstr ""
267
 
268
+ #: includes/class-wcj-admin-bar.php:450
269
  #: includes/class-wcj-product-bulk-price-converter.php:149
270
  #: includes/class-wcj-sku.php:538
271
  #: includes/export/class-wcj-fields-helper.php:318
275
  msgid "Categories"
276
  msgstr ""
277
 
278
+ #: includes/class-wcj-admin-bar.php:454
279
  #: includes/export/class-wcj-fields-helper.php:319
280
  #: includes/settings/wcj-settings-product-by-user.php:20
281
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:183
283
  msgid "Tags"
284
  msgstr ""
285
 
286
+ #: includes/class-wcj-admin-bar.php:458
287
  msgid "Attributes"
288
  msgstr ""
289
 
290
+ #: includes/class-wcj-admin-bar.php:464 includes/class-wcj-admin-bar.php:468
291
  msgid "Coupons"
292
  msgstr ""
293
 
294
+ #: includes/class-wcj-admin-bar.php:472
295
  msgid "Add coupon"
296
  msgstr ""
297
 
298
+ #: includes/class-wcj-admin-bar.php:482 includes/class-wcj-admin-bar.php:490
299
  #: includes/class-wcj-general.php:24 includes/class-wcj-pdf-invoicing.php:24
300
  #: includes/settings/wcj-settings-related-products.php:38
301
  msgid "General"
302
  msgstr ""
303
 
304
+ #: includes/class-wcj-admin-bar.php:494
305
  #: includes/settings/wcj-settings-eu-vat-number.php:146
306
  #: includes/settings/wcj-settings-product-msrp.php:25
307
  msgid "Display"
308
  msgstr ""
309
 
310
+ #: includes/class-wcj-admin-bar.php:498
311
  msgid "Inventory"
312
  msgstr ""
313
 
314
+ #: includes/class-wcj-admin-bar.php:502
315
  msgid "Downloadable products"
316
  msgstr ""
317
 
318
+ #: includes/class-wcj-admin-bar.php:508
319
  msgid "Tax"
320
  msgstr ""
321
 
322
+ #: includes/class-wcj-admin-bar.php:512
323
  msgid "Tax options"
324
  msgstr ""
325
 
326
+ #: includes/class-wcj-admin-bar.php:516
327
  msgid "Standard rates"
328
  msgstr ""
329
 
330
+ #: includes/class-wcj-admin-bar.php:522
331
  #: includes/settings/wcj-settings-checkout-custom-fields.php:193
332
  #: includes/settings/wcj-settings-checkout-custom-info.php:56
333
  #: includes/settings/wcj-settings-left-to-free-shipping.php:115
335
  msgid "Shipping"
336
  msgstr ""
337
 
338
+ #: includes/class-wcj-admin-bar.php:526
339
  msgid "Shipping zones"
340
  msgstr ""
341
 
342
+ #: includes/class-wcj-admin-bar.php:530
343
  msgid "Shipping options"
344
  msgstr ""
345
 
346
+ #: includes/class-wcj-admin-bar.php:534
347
  msgid "Shipping classes"
348
  msgstr ""
349
 
350
+ #: includes/class-wcj-admin-bar.php:540
351
  msgid "Checkout"
352
  msgstr ""
353
 
354
+ #: includes/class-wcj-admin-bar.php:544
355
  msgid "Checkout options"
356
  msgstr ""
357
 
358
+ #: includes/class-wcj-admin-bar.php:548
359
  msgid "BACS"
360
  msgstr ""
361
 
362
+ #: includes/class-wcj-admin-bar.php:552
363
  msgid "Check payments"
364
  msgstr ""
365
 
366
+ #: includes/class-wcj-admin-bar.php:556
367
  msgid "Cash on delivery"
368
  msgstr ""
369
 
370
+ #: includes/class-wcj-admin-bar.php:560
371
  msgid "PayPal"
372
  msgstr ""
373
 
374
+ #: includes/class-wcj-admin-bar.php:566
375
  #: includes/settings/wcj-settings-checkout-custom-fields.php:195
376
  msgid "Account"
377
  msgstr ""
378
 
379
+ #: includes/class-wcj-admin-bar.php:570
380
  msgid "Emails"
381
  msgstr ""
382
 
383
+ #: includes/class-wcj-admin-bar.php:574
384
  msgid "API"
385
  msgstr ""
386
 
387
+ #: includes/class-wcj-admin-bar.php:582
388
  msgid "Keys/Apps"
389
  msgstr ""
390
 
391
+ #: includes/class-wcj-admin-bar.php:586
392
  msgid "Webhooks"
393
  msgstr ""
394
 
395
+ #: includes/class-wcj-admin-bar.php:594 includes/class-wcj-admin-bar.php:598
396
  msgid "System status"
397
  msgstr ""
398
 
399
+ #: includes/class-wcj-admin-bar.php:606
400
  msgid "Logs"
401
  msgstr ""
402
 
403
+ #: includes/class-wcj-admin-bar.php:612
404
  msgid "Extensions"
405
  msgstr ""
406
 
584
  msgstr ""
585
 
586
  #: includes/class-wcj-checkout-custom-info.php:24
587
+ #: includes/class-wcj-cross-sells.php:31
588
  msgid "Checkout Custom Info"
589
  msgstr ""
590
 
649
  msgid "File: %s"
650
  msgstr ""
651
 
652
+ #: includes/class-wcj-checkout-files-upload.php:180
653
  #: includes/settings/wcj-settings-checkout-files-upload.php:116
654
  msgid "File is required!"
655
  msgstr ""
656
 
657
+ #: includes/class-wcj-checkout-files-upload.php:194
658
+ #: includes/class-wcj-checkout-files-upload.php:200
659
+ #: includes/class-wcj-checkout-files-upload.php:416
660
+ #: includes/class-wcj-checkout-files-upload.php:423
661
  #: includes/settings/wcj-settings-checkout-files-upload.php:110
662
  #, php-format
663
  msgid "Wrong file type: \"%s\"!"
664
  msgstr ""
665
 
666
+ #: includes/class-wcj-checkout-files-upload.php:218
667
  msgid "Uploaded Files"
668
  msgstr ""
669
 
670
+ #: includes/class-wcj-checkout-files-upload.php:250
671
  msgid "No files uploaded."
672
  msgstr ""
673
 
674
+ #: includes/class-wcj-checkout-files-upload.php:253
675
  msgid "Delete all files"
676
  msgstr ""
677
 
678
+ #: includes/class-wcj-checkout-files-upload.php:332
679
  #: includes/settings/wcj-settings-checkout-files-upload.php:240
680
  msgid "Files were successfully removed."
681
  msgstr ""
682
 
683
+ #: includes/class-wcj-checkout-files-upload.php:359
684
  msgid "Booster for WooCommerce: Checkout Files Upload: %action%"
685
  msgstr ""
686
 
687
+ #: includes/class-wcj-checkout-files-upload.php:360
688
  msgid "Order ID: %order_id%; File name: %file_name%"
689
  msgstr ""
690
 
691
+ #: includes/class-wcj-checkout-files-upload.php:373
692
+ #: includes/class-wcj-checkout-files-upload.php:396
693
  #: includes/settings/wcj-settings-checkout-files-upload.php:136
694
  #, php-format
695
  msgid "File \"%s\" was successfully removed."
696
  msgstr ""
697
 
698
+ #: includes/class-wcj-checkout-files-upload.php:380
699
  msgid "File Removed"
700
  msgstr ""
701
 
702
+ #: includes/class-wcj-checkout-files-upload.php:434
703
  #: includes/settings/wcj-settings-checkout-files-upload.php:123
704
  #, php-format
705
  msgid "File \"%s\" was successfully uploaded."
706
  msgstr ""
707
 
708
+ #: includes/class-wcj-checkout-files-upload.php:444
709
  msgid "File Uploaded"
710
  msgstr ""
711
 
712
+ #: includes/class-wcj-checkout-files-upload.php:462
713
  #: includes/settings/wcj-settings-checkout-files-upload.php:129
714
  msgid "Please select file to upload!"
715
  msgstr ""
716
 
717
+ #: includes/class-wcj-checkout-files-upload.php:736
718
+ #: includes/class-wcj-checkout-files-upload.php:737
719
  #: includes/settings/wcj-settings-checkout-files-upload.php:97
720
  msgid "Upload"
721
  msgstr ""
722
 
723
+ #: includes/class-wcj-checkout-files-upload.php:746
724
+ #: includes/class-wcj-checkout-files-upload.php:747
725
  #: includes/settings/wcj-settings-checkout-files-upload.php:103
726
  #: includes/settings/wcj-settings-sku.php:275
727
  #: includes/settings/wcj-settings-sorting.php:144
753
  msgid "Coupon code generator."
754
  msgstr ""
755
 
756
+ #: includes/class-wcj-cross-sells.php:26
757
  msgid "Cross-sells"
758
  msgstr ""
759
 
760
+ #: includes/class-wcj-cross-sells.php:27
761
  msgid ""
762
  "Cross-sells are products which you promote in the cart, based on the current "
763
  "product."
764
  msgstr ""
765
 
766
+ #: includes/class-wcj-cross-sells.php:28
767
  #, php-format
768
  msgid ""
769
  "You can also use %s shortcode to display cross-sells anywhere on your site, "
770
  "for example on checkout page with %s module."
771
  msgstr ""
772
 
773
+ #: includes/class-wcj-cross-sells.php:32
774
  msgid "Customize cross-sells products display."
775
  msgstr ""
776
 
807
  "module</a>."
808
  msgstr ""
809
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
810
  #: includes/class-wcj-currency-exchange-rates.php:24
811
  msgid "Currency Exchange Rates"
812
  msgstr ""
863
  msgid "Display prices for products in different currencies."
864
  msgstr ""
865
 
866
+ #: includes/class-wcj-currency-per-product.php:172
867
  #: includes/settings/wcj-settings-currency-per-product.php:43
868
  msgid ""
869
  "Only one product can be added to the cart. Clear the cart or finish the "
870
  "order, before adding another product to the cart."
871
  msgstr ""
872
 
873
+ #: includes/class-wcj-currency-per-product.php:187
874
  #: includes/settings/wcj-settings-currency-per-product.php:50
875
  msgid ""
876
  "Only products with same currency can be added to the cart. Clear the cart or "
877
  "finish the order, before adding products with another currency to the cart."
878
  msgstr ""
879
 
880
+ #: includes/class-wcj-currency-per-product.php:226
881
  #, php-format
882
  msgctxt "Price range: from-to"
883
  msgid "%1$s&ndash;%2$s"
884
  msgstr ""
885
 
886
+ #: includes/class-wcj-currency.php:27
887
+ msgid "Currencies"
888
+ msgstr ""
889
+
890
+ #: includes/class-wcj-currency.php:28
891
+ msgid ""
892
+ "Add all world currencies and cryptocurrencies to your store; change currency "
893
+ "symbol."
894
+ msgstr ""
895
+
896
+ #: includes/class-wcj-currency.php:67
897
+ msgid "Auroracoin"
898
+ msgstr ""
899
+
900
+ #: includes/class-wcj-currency.php:68
901
+ msgid "BitConnect"
902
+ msgstr ""
903
+
904
+ #: includes/class-wcj-currency.php:69
905
+ msgid "Bitcoin Cash"
906
+ msgstr ""
907
+
908
+ #: includes/class-wcj-currency.php:70
909
+ msgid "Coinye"
910
+ msgstr ""
911
+
912
+ #: includes/class-wcj-currency.php:71
913
+ msgid "DigitalNote"
914
+ msgstr ""
915
+
916
+ #: includes/class-wcj-currency.php:72
917
+ msgid "Emercoin"
918
+ msgstr ""
919
+
920
+ #: includes/class-wcj-currency.php:73
921
+ msgid "Ethereum Classic"
922
+ msgstr ""
923
+
924
+ #: includes/class-wcj-currency.php:74
925
+ msgid "Ethereum"
926
+ msgstr ""
927
+
928
+ #: includes/class-wcj-currency.php:75
929
+ msgid "Freemasoncoin"
930
+ msgstr ""
931
+
932
+ #: includes/class-wcj-currency.php:76
933
+ msgid "Gridcoin"
934
+ msgstr ""
935
+
936
+ #: includes/class-wcj-currency.php:77
937
+ msgid "IOTA"
938
+ msgstr ""
939
+
940
+ #: includes/class-wcj-currency.php:78
941
+ msgid "Litecoin"
942
+ msgstr ""
943
+
944
+ #: includes/class-wcj-currency.php:79
945
+ msgid "MazaCoin"
946
+ msgstr ""
947
+
948
+ #: includes/class-wcj-currency.php:80
949
+ msgid "Monero"
950
+ msgstr ""
951
+
952
+ #: includes/class-wcj-currency.php:81
953
+ msgid "Namecoin"
954
+ msgstr ""
955
+
956
+ #: includes/class-wcj-currency.php:82
957
+ msgid "NEM"
958
+ msgstr ""
959
+
960
+ #: includes/class-wcj-currency.php:83
961
+ msgid "Nxt"
962
+ msgstr ""
963
+
964
+ #: includes/class-wcj-currency.php:84
965
+ msgid "Omni"
966
+ msgstr ""
967
+
968
+ #: includes/class-wcj-currency.php:85
969
+ msgid "Peercoin"
970
+ msgstr ""
971
+
972
+ #: includes/class-wcj-currency.php:86
973
+ msgid "PotCoin"
974
+ msgstr ""
975
+
976
+ #: includes/class-wcj-currency.php:87
977
+ msgid "Primecoin"
978
+ msgstr ""
979
+
980
+ #: includes/class-wcj-currency.php:88
981
+ msgid "Ripple"
982
+ msgstr ""
983
+
984
+ #: includes/class-wcj-currency.php:89
985
+ msgid "SixEleven"
986
+ msgstr ""
987
+
988
+ #: includes/class-wcj-currency.php:90
989
+ msgid "Synereo AMP"
990
+ msgstr ""
991
+
992
+ #: includes/class-wcj-currency.php:91
993
+ msgid "Titcoin"
994
+ msgstr ""
995
+
996
+ #: includes/class-wcj-currency.php:92
997
+ msgid "Ubiq"
998
+ msgstr ""
999
+
1000
+ #: includes/class-wcj-currency.php:93
1001
+ msgid "Vertcoin"
1002
+ msgstr ""
1003
+
1004
+ #: includes/class-wcj-currency.php:94
1005
+ msgid "Zcash"
1006
+ msgstr ""
1007
+
1008
+ #: includes/class-wcj-currency.php:96
1009
+ msgid "Special Drawing Rights"
1010
+ msgstr ""
1011
+
1012
+ #: includes/class-wcj-currency.php:98
1013
+ msgid "myCred"
1014
+ msgstr ""
1015
+
1016
+ #: includes/class-wcj-currency.php:174
1017
+ msgid "Booster: Currency Symbol"
1018
+ msgstr ""
1019
+
1020
+ #: includes/class-wcj-currency.php:175
1021
+ msgid "This sets the currency symbol."
1022
+ msgstr ""
1023
+
1024
  #: includes/class-wcj-custom-css.php:28
1025
  msgid "Custom CSS"
1026
  msgstr ""
1039
 
1040
  #: includes/class-wcj-email-options.php:26
1041
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-emails.php:24
1042
+ #: includes/settings/wcj-settings-emails-verification.php:107
1043
  #: includes/settings/wcj-settings-offer-price.php:298
1044
  msgid "Email Options"
1045
  msgstr ""
1111
  msgstr ""
1112
 
1113
  #: includes/class-wcj-emails-verification.php:100
1114
+ #: includes/settings/wcj-settings-emails-verification.php:70
1115
  msgid ""
1116
  "Your account has to be activated before you can login. You can resend email "
1117
  "with verification link by clicking <a href=\"%resend_verification_url%"
1118
  "\">here</a>."
1119
  msgstr ""
1120
 
1121
+ #: includes/class-wcj-emails-verification.php:120
1122
+ #: includes/class-wcj-emails-verification.php:122
1123
+ #: includes/settings/wcj-settings-emails-verification.php:125
1124
  msgid ""
1125
  "Please click the following link to verify your email:<br><br><a href="
1126
  "\"%verification_url%\">%verification_url%</a>"
1127
  msgstr ""
1128
 
1129
+ #: includes/class-wcj-emails-verification.php:125
1130
+ #: includes/class-wcj-emails-verification.php:127
1131
+ #: includes/settings/wcj-settings-emails-verification.php:115
1132
  msgid "Please activate your account"
1133
  msgstr ""
1134
 
1135
+ #: includes/class-wcj-emails-verification.php:132
1136
+ #: includes/settings/wcj-settings-emails-verification.php:147
1137
  msgid "Activate your account"
1138
  msgstr ""
1139
 
1140
+ #: includes/class-wcj-emails-verification.php:149
1141
+ #: includes/settings/wcj-settings-emails-verification.php:62
1142
  msgid "<strong>Success:</strong> Your account has been activated!"
1143
  msgstr ""
1144
 
1145
+ #: includes/class-wcj-emails-verification.php:166
1146
+ #: includes/settings/wcj-settings-emails-verification.php:78
1147
  msgid ""
1148
  "<strong>Error:</strong> Activation failed, please contact our administrator. "
1149
  "You can resend email with verification link by clicking <a href="
1150
  "\"%resend_verification_url%\">here</a>."
1151
  msgstr ""
1152
 
1153
+ #: includes/class-wcj-emails-verification.php:173
1154
+ #: includes/settings/wcj-settings-emails-verification.php:85
1155
+ msgid ""
1156
+ "<strong>Error:</strong> Activation failed, please contact our administrator."
1157
+ msgstr ""
1158
+
1159
+ #: includes/class-wcj-emails-verification.php:178
1160
+ #: includes/settings/wcj-settings-emails-verification.php:92
1161
  msgid ""
1162
  "Thank you for your registration. Your account has to be activated before you "
1163
  "can login. Please check your email."
1164
  msgstr ""
1165
 
1166
+ #: includes/class-wcj-emails-verification.php:182
1167
+ #: includes/settings/wcj-settings-emails-verification.php:99
1168
  msgid ""
1169
+ "<strong>Success:</strong> Your activation email has been resent. Please "
1170
  "check your email."
1171
  msgstr ""
1172
 
1199
  msgstr ""
1200
 
1201
  #: includes/class-wcj-empty-cart-button.php:25
1202
+ #: includes/shortcodes/class-wcj-shortcodes-general.php:495
1203
  msgid "Empty Cart Button"
1204
  msgstr ""
1205
 
1452
 
1453
  #: includes/class-wcj-general.php:197
1454
  #: includes/class-wcj-product-by-user.php:197
1455
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:100
1456
  #: includes/tools/class-wcj-order-statuses-tool.php:145
1457
  #: includes/tools/class-wcj-order-statuses-tool.php:221
1458
  msgid "Actions"
1463
  #: includes/class-wcj-product-bulk-meta-editor.php:367
1464
  #: includes/class-wcj-product-by-user.php:206
1465
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:140
1466
+ #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:315
1467
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:364
1468
  #: includes/tools/class-wcj-order-statuses-tool.php:161
1469
  msgid "Delete"
1478
  msgstr ""
1479
 
1480
  #: includes/class-wcj-general.php:215
1481
+ #: includes/class-wcj-shipping-by-products.php:206
1482
  #: includes/settings/wcj-settings-admin-orders-list.php:134
1483
  #: includes/settings/wcj-settings-checkout-custom-fields.php:22
1484
  #: includes/settings/wcj-settings-checkout-custom-fields.php:29
1494
  #: includes/settings/wcj-settings-order-min-amount.php:53
1495
  #: includes/settings/wcj-settings-orders.php:106
1496
  #: includes/settings/wcj-settings-orders.php:133
1497
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:125
1498
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:183
1499
  #: includes/settings/wcj-settings-product-by-condition.php:107
1500
  #: includes/settings/wcj-settings-product-by-user.php:114
1501
  #: includes/settings/wcj-settings-product-open-pricing.php:121
1516
  #: includes/class-wcj-product-bulk-price-converter.php:148
1517
  #: includes/class-wcj-sku.php:537
1518
  #: includes/reports/wcj-class-reports-sales.php:197
1519
+ #: includes/reports/wcj-class-reports-stock.php:269
1520
  msgid "Product"
1521
  msgstr ""
1522
 
1523
  #: includes/class-wcj-general.php:279 includes/class-wcj-general.php:321
1524
+ #: includes/reports/wcj-class-reports-stock.php:270
1525
  msgid "Category"
1526
  msgstr ""
1527
 
1531
 
1532
  #: includes/class-wcj-global-discount.php:27
1533
  #: includes/admin/class-wc-settings-jetpack.php:479
1534
+ #: includes/settings/wcj-settings-product-addons.php:237
1535
  msgid "Global Discount"
1536
  msgstr ""
1537
 
1600
  msgstr ""
1601
 
1602
  #: includes/class-wcj-max-products-per-user.php:135
1603
+ #: includes/functions/wcj-functions-users.php:151
1604
+ #: includes/functions/wcj-functions-users.php:171
1605
  msgid "Guest"
1606
  msgstr ""
1607
 
1637
  msgstr ""
1638
 
1639
  #: includes/class-wcj-multicurrency-product-base-price.php:25
1640
+ #: includes/settings/wcj-settings-product-addons.php:235
1641
  msgid "Multicurrency Product Base Price"
1642
  msgstr ""
1643
 
1646
  msgstr ""
1647
 
1648
  #: includes/class-wcj-multicurrency.php:25
1649
+ #: includes/settings/wcj-settings-product-addons.php:236
1650
  msgid "Multicurrency (Currency Switcher)"
1651
  msgstr ""
1652
 
1731
  #: includes/class-wcj-product-by-user.php:206
1732
  #: includes/class-wcj-purchase-data.php:94
1733
  #: includes/class-wcj-track-users.php:334
1734
+ #: includes/classes/class-wcj-module.php:667
1735
+ #: includes/functions/wcj-functions-general.php:155
1736
  #: includes/functions/wcj-functions-html.php:96
1737
  #: includes/reports/wcj-class-reports-monthly-sales.php:351
1738
  #: includes/settings/wcj-settings-empty-cart.php:85
1770
 
1771
  #: includes/class-wcj-offer-price.php:170
1772
  #: includes/export/class-wcj-fields-helper.php:288
1773
+ #: includes/reports/wcj-class-reports-stock.php:271
1774
  #: includes/settings/wcj-settings-cross-sells.php:47
1775
  #: includes/settings/wcj-settings-product-add-to-cart.php:302
1776
  #: includes/settings/wcj-settings-related-products.php:33
2258
  msgstr ""
2259
 
2260
  #: includes/class-wcj-pdf-invoicing.php:91
 
 
 
2261
  msgid "Generate"
2262
  msgstr ""
2263
 
2363
  "format options."
2364
  msgstr ""
2365
 
2366
+ #: includes/class-wcj-price-labels.php:24
2367
  msgid "Custom Price Labels"
2368
  msgstr ""
2369
 
2370
+ #: includes/class-wcj-price-labels.php:25
2371
  msgid "Create any custom price label for any product."
2372
  msgstr ""
2373
 
2374
+ #: includes/class-wcj-price-labels.php:33
2375
  #: includes/settings/wcj-settings-price-labels.php:99
2376
  msgid "Instead of the price"
2377
  msgstr ""
2378
 
2379
+ #: includes/class-wcj-price-labels.php:34
2380
  msgid "Before the price"
2381
  msgstr ""
2382
 
2383
+ #: includes/class-wcj-price-labels.php:35
2384
  msgid "Between regular and sale prices"
2385
  msgstr ""
2386
 
2387
+ #: includes/class-wcj-price-labels.php:36
2388
  msgid "After the price"
2389
  msgstr ""
2390
 
2391
+ #: includes/class-wcj-price-labels.php:41
2392
  #: includes/class-wcj-product-info.php:235
2393
+ #: includes/class-wcj-shipping-by-products.php:195
2394
  #: includes/class-wcj-shipping-options.php:121
2395
+ #: includes/settings/wcj-settings-add-to-cart.php:51
2396
  #: includes/settings/wcj-settings-address-formats.php:20
2397
  #: includes/settings/wcj-settings-admin-bar.php:20
2398
  #: includes/settings/wcj-settings-admin-bar.php:27
2419
  #: includes/settings/wcj-settings-checkout-fees.php:71
2420
  #: includes/settings/wcj-settings-checkout-files-upload.php:227
2421
  #: includes/settings/wcj-settings-checkout-files-upload.php:329
2422
+ #: includes/settings/wcj-settings-checkout-files-upload.php:438
2423
  #: includes/settings/wcj-settings-coupon-by-user-role.php:47
2424
  #: includes/settings/wcj-settings-coupon-code-generator.php:32
2425
  #: includes/settings/wcj-settings-cross-sells.php:97
2426
+ #: includes/settings/wcj-settings-cross-sells.php:115
2427
+ #: includes/settings/wcj-settings-cross-sells.php:125
2428
  #: includes/settings/wcj-settings-currency-exchange-rates.php:54
2429
  #: includes/settings/wcj-settings-currency-exchange-rates.php:85
2430
  #: includes/settings/wcj-settings-currency-exchange-rates.php:93
2437
  #: includes/settings/wcj-settings-custom-css.php:34
2438
  #: includes/settings/wcj-settings-emails-verification.php:28
2439
  #: includes/settings/wcj-settings-emails-verification.php:36
2440
+ #: includes/settings/wcj-settings-general.php:22
2441
+ #: includes/settings/wcj-settings-general.php:46
2442
+ #: includes/settings/wcj-settings-general.php:62
2443
+ #: includes/settings/wcj-settings-general.php:123
2444
+ #: includes/settings/wcj-settings-general.php:174
2445
  #: includes/settings/wcj-settings-global-discount.php:52
2446
  #: includes/settings/wcj-settings-left-to-free-shipping.php:28
2447
  #: includes/settings/wcj-settings-left-to-free-shipping.php:57
2452
  #: includes/settings/wcj-settings-multicurrency-base-price.php:53
2453
  #: includes/settings/wcj-settings-multicurrency-base-price.php:61
2454
  #: includes/settings/wcj-settings-multicurrency.php:39
 
2455
  #: includes/settings/wcj-settings-my-account.php:29
2456
  #: includes/settings/wcj-settings-my-account.php:87
2457
  #: includes/settings/wcj-settings-my-account.php:104
2471
  #: includes/settings/wcj-settings-orders.php:60
2472
  #: includes/settings/wcj-settings-orders.php:79
2473
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:23
2474
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:74
2475
  #: includes/settings/wcj-settings-payment-gateways-fees.php:66
2476
  #: includes/settings/wcj-settings-payment-gateways-fees.php:82
2477
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:55
2480
  #: includes/settings/wcj-settings-pdf-invoicing-header.php:24
2481
  #: includes/settings/wcj-settings-pdf-invoicing-numbering.php:23
2482
  #: includes/settings/wcj-settings-pdf-invoicing-styling.php:73
2483
+ #: includes/settings/wcj-settings-price-by-country.php:70
 
2484
  #: includes/settings/wcj-settings-price-by-country.php:90
2485
+ #: includes/settings/wcj-settings-price-by-country.php:106
2486
+ #: includes/settings/wcj-settings-price-by-country.php:133
2487
+ #: includes/settings/wcj-settings-price-by-country.php:142
2488
  #: includes/settings/wcj-settings-price-by-user-role.php:20
2489
  #: includes/settings/wcj-settings-price-by-user-role.php:47
2490
  #: includes/settings/wcj-settings-price-formats.php:21
2504
  #: includes/settings/wcj-settings-product-addons.php:50
2505
  #: includes/settings/wcj-settings-product-addons.php:74
2506
  #: includes/settings/wcj-settings-product-addons.php:179
2507
+ #: includes/settings/wcj-settings-product-addons.php:249
2508
  #: includes/settings/wcj-settings-product-bookings.php:99
2509
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:21
2510
  #: includes/settings/wcj-settings-product-bulk-meta-editor.php:29
2571
  #: includes/settings/wcj-settings-upsells.php:81
2572
  #: includes/settings/wcj-settings-wholesale-price.php:25
2573
  #: includes/settings/wcj-settings-wholesale-price.php:43
2574
+ #: includes/settings/wcj-settings-wholesale-price.php:52
2575
  #: includes/settings/wcj-settings-wpml.php:28
2576
  #: includes/settings/wcj-settings-wpml.php:45
2577
  #: includes/settings/meta-box/wcj-settings-meta-box-product-add-to-cart.php:68
2578
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:35
2579
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:18
2580
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:14
2581
  msgid "Enable"
2582
  msgstr ""
2583
 
2584
+ #: includes/class-wcj-price-labels.php:42
2585
  msgid "Hide on home page"
2586
  msgstr ""
2587
 
2588
+ #: includes/class-wcj-price-labels.php:43
2589
  msgid "Hide on products page"
2590
  msgstr ""
2591
 
2592
+ #: includes/class-wcj-price-labels.php:44
2593
  msgid "Hide on single"
2594
  msgstr ""
2595
 
2596
+ #: includes/class-wcj-price-labels.php:45
2597
  msgid "Hide on all pages"
2598
  msgstr ""
2599
 
2600
+ #: includes/class-wcj-price-labels.php:46
2601
  msgid "Hide on cart page only"
2602
  msgstr ""
2603
 
2604
+ #: includes/class-wcj-price-labels.php:48
2605
  msgid "Hide for main price"
2606
  msgstr ""
2607
 
2608
+ #: includes/class-wcj-price-labels.php:49
2609
  msgid "Hide for all variations"
2610
  msgstr ""
2611
 
2612
+ #: includes/class-wcj-price-labels.php:137
2613
  msgid "Booster: Custom Price Labels"
2614
  msgstr ""
2615
 
2670
  msgid "View cart"
2671
  msgstr ""
2672
 
2673
+ #: includes/class-wcj-product-addons.php:29
2674
  msgid "Product Addons"
2675
  msgstr ""
2676
 
2677
+ #: includes/class-wcj-product-addons.php:30
2678
  msgid "Add (paid/free/discount) addons to products."
2679
  msgstr ""
2680
 
2681
+ #: includes/class-wcj-product-addons.php:169
2682
  msgid "Some of the required addons are not selected!"
2683
  msgstr ""
2684
 
2685
+ #: includes/class-wcj-product-addons.php:184
2686
  msgid ""
2687
  "Booster: Free plugin's version is limited to only three products with per "
2688
  "product addons enabled at a time. You will need to get <a href=\"https://"
2712
 
2713
  #: includes/class-wcj-product-bookings.php:148
2714
  #: includes/class-wcj-product-open-pricing.php:225
2715
+ #: includes/settings/wcj-settings-add-to-cart.php:140
2716
+ #: includes/settings/wcj-settings-add-to-cart.php:167
2717
+ #: includes/settings/wcj-settings-add-to-cart.php:202
2718
  msgid "Read more"
2719
  msgstr ""
2720
 
2794
 
2795
  #: includes/class-wcj-product-bulk-meta-editor.php:232
2796
  #: includes/settings/wcj-settings-product-msrp.php:31
2797
+ #: includes/settings/wcj-settings-wholesale-price.php:59
2798
  #: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:19
2799
  #: includes/settings/meta-box/wcj-settings-meta-box-add-to-cart-button-visibility.php:38
2800
  msgid "Show"
2865
  msgid "Show all"
2866
  msgstr ""
2867
 
2868
+ #: includes/class-wcj-product-bulk-price-converter.php:23
2869
+ #: includes/class-wcj-product-bulk-price-converter.php:30
2870
  msgid "Bulk Price Converter"
2871
  msgstr ""
2872
 
2873
+ #: includes/class-wcj-product-bulk-price-converter.php:24
2874
  msgid "Multiply all products prices by set value."
2875
  msgstr ""
2876
 
2877
+ #: includes/class-wcj-product-bulk-price-converter.php:31
2878
  msgid "Bulk Price Converter Tool."
2879
  msgstr ""
2880
 
2890
  msgid "Modified Price"
2891
  msgstr ""
2892
 
2893
+ #: includes/class-wcj-product-bulk-price-converter.php:207
2894
  msgid "Multiply value must be above zero."
2895
  msgstr ""
2896
 
2897
+ #: includes/class-wcj-product-bulk-price-converter.php:214
2898
  msgid "Prices changed successfully!"
2899
  msgstr ""
2900
 
2901
+ #: includes/class-wcj-product-bulk-price-converter.php:239
2902
  msgid "Multiply all product prices by"
2903
  msgstr ""
2904
 
2905
+ #: includes/class-wcj-product-bulk-price-converter.php:247
2906
  msgid "Price type to modify"
2907
  msgstr ""
2908
 
2909
+ #: includes/class-wcj-product-bulk-price-converter.php:249
2910
  msgid "Both"
2911
  msgstr ""
2912
 
2913
+ #: includes/class-wcj-product-bulk-price-converter.php:251
2914
  msgid "Sale prices only"
2915
  msgstr ""
2916
 
2917
+ #: includes/class-wcj-product-bulk-price-converter.php:253
2918
  msgid "Regular prices only"
2919
  msgstr ""
2920
 
2921
+ #: includes/class-wcj-product-bulk-price-converter.php:260
2922
  msgid "Products category"
2923
  msgstr ""
2924
 
2925
+ #: includes/class-wcj-product-bulk-price-converter.php:262
2926
  #: includes/shortcodes/class-wcj-shortcodes-products.php:362
2927
  msgid "Any"
2928
  msgstr ""
2929
 
2930
+ #: includes/class-wcj-product-bulk-price-converter.php:264
2931
  #: includes/settings/wcj-settings-global-discount.php:84
2932
  msgid "None"
2933
  msgstr ""
2934
 
2935
+ #: includes/class-wcj-product-bulk-price-converter.php:271
2936
  msgid "\"Pretty prices\" threshold"
2937
  msgstr ""
2938
 
2939
+ #: includes/class-wcj-product-bulk-price-converter.php:271
2940
+ #: includes/settings/wcj-settings-payment-gateways-min-max.php:67
2941
+ msgid "Leave zero to disable."
2942
+ msgstr ""
2943
+
2944
+ #: includes/class-wcj-product-bulk-price-converter.php:272
2945
+ msgid ""
2946
+ "Otherwise - all prices below \"threshold\" will end with 0,99 and all prices "
2947
+ "above or equal to \"threshold\" will end with 9,00."
2948
+ msgstr ""
2949
+
2950
  #: includes/class-wcj-product-bulk-price-converter.php:273
2951
+ msgid ""
2952
+ "E.g.: if you set \"threshold\" to 100, then all prices below 100 will be "
2953
+ "like 45,99 and all other prices will be like 109,00."
2954
  msgstr ""
2955
 
2956
+ #: includes/class-wcj-product-bulk-price-converter.php:281
2957
  msgid "Preview Prices"
2958
  msgstr ""
2959
 
2960
+ #: includes/class-wcj-product-bulk-price-converter.php:288
2961
  msgid "Change Prices"
2962
  msgstr ""
2963
 
3160
  #: includes/settings/wcj-settings-related-products.php:24
3161
  #: includes/settings/wcj-settings-upsells.php:42
3162
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:57
3163
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:144
3164
  #: includes/shipping/class-wc-shipping-wcj-custom.php:107
3165
  #: includes/shortcodes/class-wcj-shortcodes-products-add-form.php:334
3166
  #: includes/widgets/class-wcj-widget-country-switcher.php:62
3181
  #: includes/admin/class-wc-settings-jetpack.php:480
3182
  #: includes/admin/class-wc-settings-jetpack.php:492
3183
  #: includes/admin/class-wc-settings-jetpack.php:501
3184
+ #: includes/functions/wcj-functions-general.php:414
3185
  msgid "Product Info"
3186
  msgstr ""
3187
 
3520
  msgstr ""
3521
 
3522
  #: includes/class-wcj-product-tabs.php:606
3523
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:47
3524
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:73
3525
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:122
3526
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:138
3527
  #: includes/settings/wcj-settings-cart.php:44
3528
  #: includes/settings/wcj-settings-checkout-custom-info.php:40
3529
  #: includes/settings/wcj-settings-left-to-free-shipping.php:34
3577
  #: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:53
3578
  #: includes/settings/meta-box/wcj-settings-meta-box-product-open-pricing.php:20
3579
  #: includes/settings/meta-box/wcj-settings-meta-box-product-price-by-formula.php:19
3580
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:24
3581
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:20
3582
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:32
3583
  #: includes/widgets/class-wcj-widget-country-switcher.php:82
3611
  #: includes/settings/meta-box/wcj-settings-meta-box-product-images.php:52
3612
  #: includes/settings/meta-box/wcj-settings-meta-box-product-open-pricing.php:19
3613
  #: includes/settings/meta-box/wcj-settings-meta-box-product-price-by-formula.php:18
3614
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:25
3615
  #: includes/settings/meta-box/wcj-settings-meta-box-sale-flash.php:19
3616
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:31
3617
  #: includes/widgets/class-wcj-widget-country-switcher.php:83
3711
  msgstr ""
3712
 
3713
  #: includes/class-wcj-purchase-data.php:115
3714
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:92
3715
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:162
3716
  #: includes/shipping/class-wc-shipping-wcj-custom.php:122
3717
  #: includes/shipping/class-wc-shipping-wcj-custom.php:164
3718
  msgid "Cost"
3719
  msgstr ""
3720
 
3721
  #: includes/class-wcj-purchase-data.php:118
3722
+ #: includes/class-wcj-purchase-data.php:181
3723
+ #: includes/class-wcj-purchase-data.php:268
3724
  #: includes/functions/wcj-functions-reports.php:28
3725
  #: includes/settings/wcj-settings-purchase-data.php:133
3726
  #: includes/settings/wcj-settings-purchase-data.php:161
3727
  msgid "Profit"
3728
  msgstr ""
3729
 
3730
+ #: includes/class-wcj-purchase-data.php:184
3731
  #: includes/settings/wcj-settings-purchase-data.php:142
3732
  #: includes/settings/wcj-settings-purchase-data.php:168
3733
  msgid "Purchase Cost"
3734
  msgstr ""
3735
 
3736
+ #: includes/class-wcj-purchase-data.php:266
3737
  msgid "Selling"
3738
  msgstr ""
3739
 
3740
+ #: includes/class-wcj-purchase-data.php:267
3741
  msgid "Buying"
3742
  msgstr ""
3743
 
3744
+ #: includes/class-wcj-purchase-data.php:271
3745
  msgid "Report"
3746
  msgstr ""
3747
 
3748
  #: includes/class-wcj-related-products.php:38
3749
  #: includes/admin/class-wc-settings-jetpack.php:483
3750
  #: includes/settings/wcj-settings-free-price.php:20
3751
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:29
3752
  msgid "Related Products"
3753
  msgstr ""
3754
 
3899
  msgid "Product Shipping Classes"
3900
  msgstr ""
3901
 
3902
+ #: includes/class-wcj-shipping-by-products.php:168
3903
  #: includes/functions/wcj-functions-shipping.php:108
3904
  msgid "No shipping class"
3905
  msgstr ""
3906
 
3907
+ #: includes/class-wcj-shipping-by-products.php:185
3908
  msgid "\"Include\" Options"
3909
  msgstr ""
3910
 
3911
+ #: includes/class-wcj-shipping-by-products.php:186
3912
  msgid ""
3913
  "Enable this checkbox if you want all products in cart to be valid (instead "
3914
  "of at least one)."
3915
  msgstr ""
3916
 
3917
+ #: includes/class-wcj-shipping-by-products.php:187
3918
  msgid "Validate all"
3919
  msgstr ""
3920
 
3921
+ #: includes/class-wcj-shipping-by-products.php:193
3922
  msgid "Cart instead of Package"
3923
  msgstr ""
3924
 
3925
+ #: includes/class-wcj-shipping-by-products.php:194
3926
  msgid ""
3927
  "Enable this checkbox if you want to check all cart products instead of "
3928
  "package."
3929
  msgstr ""
3930
 
3931
+ #: includes/class-wcj-shipping-by-products.php:203
3932
  msgid "Add Products Variations"
3933
  msgstr ""
3934
 
3935
+ #: includes/class-wcj-shipping-by-products.php:204
3936
  msgid ""
3937
  "Enable this checkbox if you want to add products variations to the products "
3938
  "list."
3939
  msgstr ""
3940
 
3941
+ #: includes/class-wcj-shipping-by-products.php:205
3942
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:25
3943
  #: includes/settings/wcj-settings-shipping-by-condition.php:27
3944
  #: includes/settings/wcj-settings-shipping-by-order-amount.php:23
3960
  msgstr ""
3961
 
3962
  #: includes/class-wcj-shipping-by-user-role.php:33
3963
+ #: includes/settings/wcj-settings-multicurrency.php:180
3964
  #: includes/settings/wcj-settings-order-min-amount.php:104
3965
  #: includes/settings/wcj-settings-price-by-user-role.php:90
3966
  #, php-format
4064
  #: includes/class-wcj-shipping.php:24
4065
  #: includes/settings/wcj-settings-shipping.php:16
4066
  #: includes/settings/wcj-settings-shipping.php:23
4067
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:147
4068
  #: includes/shipping/class-wc-shipping-wcj-custom.php:110
4069
  msgid "Custom Shipping"
4070
  msgstr ""
4166
  msgid "Customize WooCommerce tax display."
4167
  msgstr ""
4168
 
4169
+ #: includes/class-wcj-template-editor.php:25
4170
+ msgid "Template Editor"
4171
+ msgstr ""
4172
+
4173
+ #: includes/class-wcj-template-editor.php:26
4174
+ msgid "WooCommerce template editor."
4175
+ msgstr ""
4176
+
4177
  #: includes/class-wcj-track-users.php:26
4178
  msgid "User Tracking"
4179
  msgstr ""
4245
  msgid "Update now"
4246
  msgstr ""
4247
 
4248
+ #: includes/class-wcj-upsells.php:29
4249
  msgid "Upsells"
4250
  msgstr ""
4251
 
4252
+ #: includes/class-wcj-upsells.php:30
4253
  msgid ""
4254
  "Upsells are products which you recommend instead of the currently viewed "
4255
  "product, for example, products that are more profitable or better quality or "
4256
  "more expensive."
4257
  msgstr ""
4258
 
4259
+ #: includes/class-wcj-upsells.php:31
4260
  msgid "Customize upsells products display."
4261
  msgstr ""
4262
 
4554
  #: includes/settings/wcj-settings-payment-gateways-by-shipping.php:37
4555
  #: includes/settings/wcj-settings-payment-gateways-by-user-role.php:14
4556
  #: includes/settings/wcj-settings-payment-gateways-min-max.php:65
4557
+ #: includes/settings/wcj-settings-reports.php:118
4558
  msgid "Payment Gateways"
4559
  msgstr ""
4560
 
4613
  "\"%1$s\" products."
4614
  msgstr ""
4615
 
4616
+ #: includes/classes/class-wcj-module.php:440
4617
  #, php-format
4618
  msgid "Selected: %s."
4619
  msgstr ""
4620
 
4621
+ #: includes/classes/class-wcj-module.php:519
4622
  msgid "Back to Module Settings"
4623
  msgstr ""
4624
 
4625
+ #: includes/classes/class-wcj-module.php:537
4626
  #: includes/settings/wcj-settings-wpml.php:79
4627
  msgid "Module Tools"
4628
  msgstr ""
4629
 
4630
+ #: includes/classes/class-wcj-module.php:610
4631
  #: includes/settings/wcj-settings-checkout-core-fields.php:64
4632
  msgid "enabled"
4633
  msgstr ""
4634
 
4635
+ #: includes/classes/class-wcj-module.php:611
4636
  msgid "disabled"
4637
  msgstr ""
4638
 
4639
+ #: includes/classes/class-wcj-module.php:619
4640
  #: includes/settings/wcj-settings-product-tabs.php:172
4641
  #: includes/settings/wcj-settings-product-tabs.php:184
4642
  #: includes/settings/wcj-settings-product-tabs.php:196
4644
  msgid "Deprecated"
4645
  msgstr ""
4646
 
4647
+ #: includes/classes/class-wcj-module.php:657
4648
  msgid "Reset Settings"
4649
  msgstr ""
4650
 
4651
+ #: includes/classes/class-wcj-module.php:663
4652
  msgid "Reset Module to Default Settings"
4653
  msgstr ""
4654
 
4655
+ #: includes/classes/class-wcj-module.php:664
4656
  msgid "Reset Submodule to Default Settings"
4657
  msgstr ""
4658
 
4659
+ #: includes/classes/class-wcj-module.php:668
4660
  msgid "Reset settings"
4661
  msgstr ""
4662
 
4663
+ #: includes/classes/class-wcj-module.php:702
4664
  msgid "Module Options"
4665
  msgstr ""
4666
 
4667
+ #: includes/classes/class-wcj-module.php:709
4668
  msgid "Enable Module"
4669
  msgstr ""
4670
 
4674
  msgstr ""
4675
 
4676
  #: includes/classes/class-wcj-pdf-invoice.php:257
4677
+ #: includes/functions/wcj-functions-general.php:111
4678
  #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:245
4679
  msgid "Unexpected error"
4680
  msgstr ""
4681
 
4682
  #: includes/classes/class-wcj-shortcodes.php:109
4683
+ #: includes/shortcodes/class-wcj-shortcodes-general.php:495
4684
  #, php-format
4685
  msgid "\"%s\" module is not enabled!"
4686
  msgstr ""
4739
  msgid "[{site_title}] Custom Subject - Order ({order_number}) - {order_date}"
4740
  msgstr ""
4741
 
4742
+ #: includes/emails/class-wc-email-wcj-custom.php:218
4743
  #, php-format
4744
  msgid "New order (%s)"
4745
  msgstr ""
4746
 
4747
+ #: includes/emails/class-wc-email-wcj-custom.php:219
4748
  #, php-format
4749
  msgid "Order status updated to %s"
4750
  msgstr ""
4751
 
4752
+ #: includes/emails/class-wc-email-wcj-custom.php:222
4753
  #, php-format
4754
  msgid "Order status %s to %s"
4755
  msgstr ""
4756
 
4757
+ #: includes/emails/class-wc-email-wcj-custom.php:229
4758
  #: includes/gateways/class-wc-gateway-wcj-custom.php:59
4759
  #: includes/settings/wcj-settings-admin-products-list.php:19
4760
  #: includes/settings/wcj-settings-admin-products-list.php:75
4764
  msgid "Enable/Disable"
4765
  msgstr ""
4766
 
4767
+ #: includes/emails/class-wc-email-wcj-custom.php:231
4768
  msgid "Enable this email notification"
4769
  msgstr ""
4770
 
4771
+ #: includes/emails/class-wc-email-wcj-custom.php:235
4772
  msgid "Trigger(s)"
4773
  msgstr ""
4774
 
4775
+ #: includes/emails/class-wc-email-wcj-custom.php:239
4776
  msgid ""
4777
  "Please note, that all new orders in WooCommerce by default are created with "
4778
  "Pending Payment status. If you want to change the default order status - you "
4780
  "Settings > Booster > Shipping & Orders > Order Custom Statuses)."
4781
  msgstr ""
4782
 
4783
+ #: includes/emails/class-wc-email-wcj-custom.php:242
4784
  msgid "New order (Any status)"
4785
  msgstr ""
4786
 
4787
+ #: includes/emails/class-wc-email-wcj-custom.php:247
4788
  msgid "Reset password notification"
4789
  msgstr ""
4790
 
4791
+ #: includes/emails/class-wc-email-wcj-custom.php:248
4792
  msgid "Order fully refunded notification"
4793
  msgstr ""
4794
 
4795
+ #: includes/emails/class-wc-email-wcj-custom.php:249
4796
  msgid "Order partially refunded notification"
4797
  msgstr ""
4798
 
4799
+ #: includes/emails/class-wc-email-wcj-custom.php:250
4800
  msgid "New customer note notification"
4801
  msgstr ""
4802
 
4803
+ #: includes/emails/class-wc-email-wcj-custom.php:251
4804
  msgid "Low stock notification"
4805
  msgstr ""
4806
 
4807
+ #: includes/emails/class-wc-email-wcj-custom.php:252
4808
  msgid "No stock notification"
4809
  msgstr ""
4810
 
4811
+ #: includes/emails/class-wc-email-wcj-custom.php:253
4812
  msgid "Product on backorder notification"
4813
  msgstr ""
4814
 
4815
+ #: includes/emails/class-wc-email-wcj-custom.php:254
4816
  msgid "Created customer notification"
4817
  msgstr ""
4818
 
4819
+ #: includes/emails/class-wc-email-wcj-custom.php:261
4820
  msgid "Recipient(s)"
4821
  msgstr ""
4822
 
4823
+ #: includes/emails/class-wc-email-wcj-custom.php:263
4824
  #, php-format
4825
  msgid ""
4826
  "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
4827
  "code>."
4828
  msgstr ""
4829
 
4830
+ #: includes/emails/class-wc-email-wcj-custom.php:264
4831
  msgid "Or enter <code>%customer%</code> to send to customer billing email."
4832
  msgstr ""
4833
 
4834
+ #: includes/emails/class-wc-email-wcj-custom.php:270
4835
  msgid "Subject"
4836
  msgstr ""
4837
 
4838
+ #: includes/emails/class-wc-email-wcj-custom.php:272
4839
  #, php-format
4840
  msgid ""
4841
  "This controls the email subject line. Leave blank to use the default "
4842
  "subject: <code>%s</code>."
4843
  msgstr ""
4844
 
4845
+ #: includes/emails/class-wc-email-wcj-custom.php:278
4846
  msgid "Email type"
4847
  msgstr ""
4848
 
4849
+ #: includes/emails/class-wc-email-wcj-custom.php:280
4850
  msgid "Choose which format of email to send."
4851
  msgstr ""
4852
 
4853
+ #: includes/emails/class-wc-email-wcj-custom.php:286
4854
  msgid "Wrap in WC Email Template"
4855
  msgstr ""
4856
 
4857
+ #: includes/emails/class-wc-email-wcj-custom.php:292
4858
  msgid ""
4859
  "WC Email Heading. Used only if \"Wrap in WC Email Template\" is enabled and "
4860
  "only for HTML templates."
4861
  msgstr ""
4862
 
4863
+ #: includes/emails/class-wc-email-wcj-custom.php:293
4864
  #, php-format
4865
  msgid ""
4866
  "This controls the main heading contained within the email notification. "
4867
  "Leave blank to use the default heading: <code>%s</code>."
4868
  msgstr ""
4869
 
4870
+ #: includes/emails/class-wc-email-wcj-custom.php:299
4871
  msgid "HTML template"
4872
  msgstr ""
4873
 
4874
+ #: includes/emails/class-wc-email-wcj-custom.php:301
4875
+ #: includes/emails/class-wc-email-wcj-custom.php:310
4876
  msgid "You can use shortcodes here. E.g. Booster's order shortcodes."
4877
  msgstr ""
4878
 
4879
+ #: includes/emails/class-wc-email-wcj-custom.php:308
4880
  msgid "Plain text template"
4881
  msgstr ""
4882
 
5238
  #: includes/settings/wcj-settings-purchase-data.php:73
5239
  #: includes/settings/wcj-settings-shipping-options.php:77
5240
  #: includes/settings/meta-box/wcj-settings-meta-box-product-addons.php:45
5241
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:152
5242
  #: includes/shipping/class-wc-shipping-wcj-custom.php:114
5243
  #: includes/widgets/class-wcj-widget-multicurrency.php:70
5244
  msgid "Type"
5373
  msgstr ""
5374
 
5375
  #: includes/functions/wcj-functions-admin.php:211
 
5376
  #: includes/settings/wcj-settings-emails-verification.php:67
5377
+ #: includes/settings/wcj-settings-emails-verification.php:75
5378
+ #: includes/settings/wcj-settings-emails-verification.php:122
5379
  #, php-format
5380
  msgid "Replaced value: %s"
5381
  msgstr ""
5437
  msgid "Get Booster Plus to change value."
5438
  msgstr ""
5439
 
5440
+ #: includes/functions/wcj-functions-country.php:167
5441
  msgid "Afghanistan"
5442
  msgstr ""
5443
 
5444
+ #: includes/functions/wcj-functions-country.php:168
5445
  msgid "&#197;land Islands"
5446
  msgstr ""
5447
 
5448
+ #: includes/functions/wcj-functions-country.php:169
5449
  msgid "Albania"
5450
  msgstr ""
5451
 
5452
+ #: includes/functions/wcj-functions-country.php:170
5453
  msgid "Algeria"
5454
  msgstr ""
5455
 
5456
+ #: includes/functions/wcj-functions-country.php:171
5457
  msgid "Andorra"
5458
  msgstr ""
5459
 
5460
+ #: includes/functions/wcj-functions-country.php:172
5461
  msgid "Angola"
5462
  msgstr ""
5463
 
5464
+ #: includes/functions/wcj-functions-country.php:173
5465
  msgid "Anguilla"
5466
  msgstr ""
5467
 
5468
+ #: includes/functions/wcj-functions-country.php:174
5469
  msgid "Antarctica"
5470
  msgstr ""
5471
 
5472
+ #: includes/functions/wcj-functions-country.php:175
5473
  msgid "Antigua and Barbuda"
5474
  msgstr ""
5475
 
5476
+ #: includes/functions/wcj-functions-country.php:176
5477
  msgid "Argentina"
5478
  msgstr ""
5479
 
5480
+ #: includes/functions/wcj-functions-country.php:177
5481
  msgid "Armenia"
5482
  msgstr ""
5483
 
5484
+ #: includes/functions/wcj-functions-country.php:178
5485
  msgid "Aruba"
5486
  msgstr ""
5487
 
5488
+ #: includes/functions/wcj-functions-country.php:179
5489
  msgid "Australia"
5490
  msgstr ""
5491
 
5492
+ #: includes/functions/wcj-functions-country.php:180
5493
  msgid "Austria"
5494
  msgstr ""
5495
 
5496
+ #: includes/functions/wcj-functions-country.php:181
5497
  msgid "Azerbaijan"
5498
  msgstr ""
5499
 
5500
+ #: includes/functions/wcj-functions-country.php:182
5501
  msgid "Bahamas"
5502
  msgstr ""
5503
 
5504
+ #: includes/functions/wcj-functions-country.php:183
5505
  msgid "Bahrain"
5506
  msgstr ""
5507
 
5508
+ #: includes/functions/wcj-functions-country.php:184
5509
  msgid "Bangladesh"
5510
  msgstr ""
5511
 
5512
+ #: includes/functions/wcj-functions-country.php:185
5513
  msgid "Barbados"
5514
  msgstr ""
5515
 
5516
+ #: includes/functions/wcj-functions-country.php:186
5517
  msgid "Belarus"
5518
  msgstr ""
5519
 
5520
+ #: includes/functions/wcj-functions-country.php:187
5521
  msgid "Belgium"
5522
  msgstr ""
5523
 
5524
+ #: includes/functions/wcj-functions-country.php:188
5525
  msgid "Belau"
5526
  msgstr ""
5527
 
5528
+ #: includes/functions/wcj-functions-country.php:189
5529
  msgid "Belize"
5530
  msgstr ""
5531
 
5532
+ #: includes/functions/wcj-functions-country.php:190
5533
  msgid "Benin"
5534
  msgstr ""
5535
 
5536
+ #: includes/functions/wcj-functions-country.php:191
5537
  msgid "Bermuda"
5538
  msgstr ""
5539
 
5540
+ #: includes/functions/wcj-functions-country.php:192
5541
  msgid "Bhutan"
5542
  msgstr ""
5543
 
5544
+ #: includes/functions/wcj-functions-country.php:193
5545
  msgid "Bolivia"
5546
  msgstr ""
5547
 
5548
+ #: includes/functions/wcj-functions-country.php:194
5549
  msgid "Bonaire, Saint Eustatius and Saba"
5550
  msgstr ""
5551
 
5552
+ #: includes/functions/wcj-functions-country.php:195
5553
  msgid "Bosnia and Herzegovina"
5554
  msgstr ""
5555
 
5556
+ #: includes/functions/wcj-functions-country.php:196
5557
  msgid "Botswana"
5558
  msgstr ""
5559
 
5560
+ #: includes/functions/wcj-functions-country.php:197
5561
  msgid "Bouvet Island"
5562
  msgstr ""
5563
 
5564
+ #: includes/functions/wcj-functions-country.php:198
5565
  msgid "Brazil"
5566
  msgstr ""
5567
 
5568
+ #: includes/functions/wcj-functions-country.php:199
5569
  msgid "British Indian Ocean Territory"
5570
  msgstr ""
5571
 
5572
+ #: includes/functions/wcj-functions-country.php:200
5573
  msgid "British Virgin Islands"
5574
  msgstr ""
5575
 
5576
+ #: includes/functions/wcj-functions-country.php:201
5577
  msgid "Brunei"
5578
  msgstr ""
5579
 
5580
+ #: includes/functions/wcj-functions-country.php:202
5581
  msgid "Bulgaria"
5582
  msgstr ""
5583
 
5584
+ #: includes/functions/wcj-functions-country.php:203
5585
  msgid "Burkina Faso"
5586
  msgstr ""
5587
 
5588
+ #: includes/functions/wcj-functions-country.php:204
5589
  msgid "Burundi"
5590
  msgstr ""
5591
 
5592
+ #: includes/functions/wcj-functions-country.php:205
5593
  msgid "Cambodia"
5594
  msgstr ""
5595
 
5596
+ #: includes/functions/wcj-functions-country.php:206
5597
  msgid "Cameroon"
5598
  msgstr ""
5599
 
5600
+ #: includes/functions/wcj-functions-country.php:207
5601
  msgid "Canada"
5602
  msgstr ""
5603
 
5604
+ #: includes/functions/wcj-functions-country.php:208
5605
  msgid "Cape Verde"
5606
  msgstr ""
5607
 
5608
+ #: includes/functions/wcj-functions-country.php:209
5609
  msgid "Cayman Islands"
5610
  msgstr ""
5611
 
5612
+ #: includes/functions/wcj-functions-country.php:210
5613
  msgid "Central African Republic"
5614
  msgstr ""
5615
 
5616
+ #: includes/functions/wcj-functions-country.php:211
5617
  msgid "Chad"
5618
  msgstr ""
5619
 
5620
+ #: includes/functions/wcj-functions-country.php:212
5621
  msgid "Chile"
5622
  msgstr ""
5623
 
5624
+ #: includes/functions/wcj-functions-country.php:213
5625
  msgid "China"
5626
  msgstr ""
5627
 
5628
+ #: includes/functions/wcj-functions-country.php:214
5629
  msgid "Christmas Island"
5630
  msgstr ""
5631
 
5632
+ #: includes/functions/wcj-functions-country.php:215
5633
  msgid "Cocos (Keeling) Islands"
5634
  msgstr ""
5635
 
5636
+ #: includes/functions/wcj-functions-country.php:216
5637
  msgid "Colombia"
5638
  msgstr ""
5639
 
5640
+ #: includes/functions/wcj-functions-country.php:217
5641
  msgid "Comoros"
5642
  msgstr ""
5643
 
5644
+ #: includes/functions/wcj-functions-country.php:218
5645
  msgid "Congo (Brazzaville)"
5646
  msgstr ""
5647
 
5648
+ #: includes/functions/wcj-functions-country.php:219
5649
  msgid "Congo (Kinshasa)"
5650
  msgstr ""
5651
 
5652
+ #: includes/functions/wcj-functions-country.php:220
5653
  msgid "Cook Islands"
5654
  msgstr ""
5655
 
5656
+ #: includes/functions/wcj-functions-country.php:221
5657
  msgid "Costa Rica"
5658
  msgstr ""
5659
 
5660
+ #: includes/functions/wcj-functions-country.php:222
5661
  msgid "Croatia"
5662
  msgstr ""
5663
 
5664
+ #: includes/functions/wcj-functions-country.php:223
5665
  msgid "Cuba"
5666
  msgstr ""
5667
 
5668
+ #: includes/functions/wcj-functions-country.php:224
5669
  msgid "Cura&Ccedil;ao"
5670
  msgstr ""
5671
 
5672
+ #: includes/functions/wcj-functions-country.php:225
5673
  msgid "Cyprus"
5674
  msgstr ""
5675
 
5676
+ #: includes/functions/wcj-functions-country.php:226
5677
  msgid "Czech Republic"
5678
  msgstr ""
5679
 
5680
+ #: includes/functions/wcj-functions-country.php:227
5681
  msgid "Denmark"
5682
  msgstr ""
5683
 
5684
+ #: includes/functions/wcj-functions-country.php:228
5685
  msgid "Djibouti"
5686
  msgstr ""
5687
 
5688
+ #: includes/functions/wcj-functions-country.php:229
5689
  msgid "Dominica"
5690
  msgstr ""
5691
 
5692
+ #: includes/functions/wcj-functions-country.php:230
5693
  msgid "Dominican Republic"
5694
  msgstr ""
5695
 
5696
+ #: includes/functions/wcj-functions-country.php:231
5697
  msgid "Ecuador"
5698
  msgstr ""
5699
 
5700
+ #: includes/functions/wcj-functions-country.php:232
5701
  msgid "Egypt"
5702
  msgstr ""
5703
 
5704
+ #: includes/functions/wcj-functions-country.php:233
5705
  msgid "El Salvador"
5706
  msgstr ""
5707
 
5708
+ #: includes/functions/wcj-functions-country.php:234
5709
  msgid "Equatorial Guinea"
5710
  msgstr ""
5711
 
5712
+ #: includes/functions/wcj-functions-country.php:235
5713
  msgid "Eritrea"
5714
  msgstr ""
5715
 
5716
+ #: includes/functions/wcj-functions-country.php:236
5717
  msgid "Estonia"
5718
  msgstr ""
5719
 
5720
+ #: includes/functions/wcj-functions-country.php:237
5721
  msgid "Ethiopia"
5722
  msgstr ""
5723
 
5724
+ #: includes/functions/wcj-functions-country.php:238
5725
  msgid "Falkland Islands"
5726
  msgstr ""
5727
 
5728
+ #: includes/functions/wcj-functions-country.php:239
5729
  msgid "Faroe Islands"
5730
  msgstr ""
5731
 
5732
+ #: includes/functions/wcj-functions-country.php:240
5733
  msgid "Fiji"
5734
  msgstr ""
5735
 
5736
+ #: includes/functions/wcj-functions-country.php:241
5737
  msgid "Finland"
5738
  msgstr ""
5739
 
5740
+ #: includes/functions/wcj-functions-country.php:242
5741
  msgid "France"
5742
  msgstr ""
5743
 
5744
+ #: includes/functions/wcj-functions-country.php:243
5745
  msgid "French Guiana"
5746
  msgstr ""
5747
 
5748
+ #: includes/functions/wcj-functions-country.php:244
5749
  msgid "French Polynesia"
5750
  msgstr ""
5751
 
5752
+ #: includes/functions/wcj-functions-country.php:245
5753
  msgid "French Southern Territories"
5754
  msgstr ""
5755
 
5756
+ #: includes/functions/wcj-functions-country.php:246
5757
  msgid "Gabon"
5758
  msgstr ""
5759
 
5760
+ #: includes/functions/wcj-functions-country.php:247
5761
  msgid "Gambia"
5762
  msgstr ""
5763
 
5764
+ #: includes/functions/wcj-functions-country.php:248
5765
  msgid "Georgia"
5766
  msgstr ""
5767
 
5768
+ #: includes/functions/wcj-functions-country.php:249
5769
  msgid "Germany"
5770
  msgstr ""
5771
 
5772
+ #: includes/functions/wcj-functions-country.php:250
5773
  msgid "Ghana"
5774
  msgstr ""
5775
 
5776
+ #: includes/functions/wcj-functions-country.php:251
5777
  msgid "Gibraltar"
5778
  msgstr ""
5779
 
5780
+ #: includes/functions/wcj-functions-country.php:252
5781
  msgid "Greece"
5782
  msgstr ""
5783
 
5784
+ #: includes/functions/wcj-functions-country.php:253
5785
  msgid "Greenland"
5786
  msgstr ""
5787
 
5788
+ #: includes/functions/wcj-functions-country.php:254
5789
  msgid "Grenada"
5790
  msgstr ""
5791
 
5792
+ #: includes/functions/wcj-functions-country.php:255
5793
  msgid "Guadeloupe"
5794
  msgstr ""
5795
 
5796
+ #: includes/functions/wcj-functions-country.php:256
5797
  msgid "Guatemala"
5798
  msgstr ""
5799
 
5800
+ #: includes/functions/wcj-functions-country.php:257
5801
  msgid "Guernsey"
5802
  msgstr ""
5803
 
5804
+ #: includes/functions/wcj-functions-country.php:258
5805
  msgid "Guinea"
5806
  msgstr ""
5807
 
5808
+ #: includes/functions/wcj-functions-country.php:259
5809
  msgid "Guinea-Bissau"
5810
  msgstr ""
5811
 
5812
+ #: includes/functions/wcj-functions-country.php:260
5813
  msgid "Guyana"
5814
  msgstr ""
5815
 
5816
+ #: includes/functions/wcj-functions-country.php:261
5817
  msgid "Haiti"
5818
  msgstr ""
5819
 
5820
+ #: includes/functions/wcj-functions-country.php:262
5821
  msgid "Heard Island and McDonald Islands"
5822
  msgstr ""
5823
 
5824
+ #: includes/functions/wcj-functions-country.php:263
5825
  msgid "Honduras"
5826
  msgstr ""
5827
 
5828
+ #: includes/functions/wcj-functions-country.php:264
5829
  msgid "Hong Kong"
5830
  msgstr ""
5831
 
5832
+ #: includes/functions/wcj-functions-country.php:265
5833
  msgid "Hungary"
5834
  msgstr ""
5835
 
5836
+ #: includes/functions/wcj-functions-country.php:266
5837
  msgid "Iceland"
5838
  msgstr ""
5839
 
5840
+ #: includes/functions/wcj-functions-country.php:267
5841
  msgid "India"
5842
  msgstr ""
5843
 
5844
+ #: includes/functions/wcj-functions-country.php:268
5845
  msgid "Indonesia"
5846
  msgstr ""
5847
 
5848
+ #: includes/functions/wcj-functions-country.php:269
5849
  msgid "Iran"
5850
  msgstr ""
5851
 
5852
+ #: includes/functions/wcj-functions-country.php:270
5853
  msgid "Iraq"
5854
  msgstr ""
5855
 
5856
+ #: includes/functions/wcj-functions-country.php:271
5857
  msgid "Republic of Ireland"
5858
  msgstr ""
5859
 
5860
+ #: includes/functions/wcj-functions-country.php:272
5861
  msgid "Isle of Man"
5862
  msgstr ""
5863
 
5864
+ #: includes/functions/wcj-functions-country.php:273
5865
  msgid "Israel"
5866
  msgstr ""
5867
 
5868
+ #: includes/functions/wcj-functions-country.php:274
5869
  msgid "Italy"
5870
  msgstr ""
5871
 
5872
+ #: includes/functions/wcj-functions-country.php:275
5873
  msgid "Ivory Coast"
5874
  msgstr ""
5875
 
5876
+ #: includes/functions/wcj-functions-country.php:276
5877
  msgid "Jamaica"
5878
  msgstr ""
5879
 
5880
+ #: includes/functions/wcj-functions-country.php:277
5881
  msgid "Japan"
5882
  msgstr ""
5883
 
5884
+ #: includes/functions/wcj-functions-country.php:278
5885
  msgid "Jersey"
5886
  msgstr ""
5887
 
5888
+ #: includes/functions/wcj-functions-country.php:279
5889
  msgid "Jordan"
5890
  msgstr ""
5891
 
5892
+ #: includes/functions/wcj-functions-country.php:280
5893
  msgid "Kazakhstan"
5894
  msgstr ""
5895
 
5896
+ #: includes/functions/wcj-functions-country.php:281
5897
  msgid "Kenya"
5898
  msgstr ""
5899
 
5900
+ #: includes/functions/wcj-functions-country.php:282
5901
  msgid "Kiribati"
5902
  msgstr ""
5903
 
5904
+ #: includes/functions/wcj-functions-country.php:283
5905
  msgid "Kuwait"
5906
  msgstr ""
5907
 
5908
+ #: includes/functions/wcj-functions-country.php:284
5909
  msgid "Kyrgyzstan"
5910
  msgstr ""
5911
 
5912
+ #: includes/functions/wcj-functions-country.php:285
5913
  msgid "Laos"
5914
  msgstr ""
5915
 
5916
+ #: includes/functions/wcj-functions-country.php:286
5917
  msgid "Latvia"
5918
  msgstr ""
5919
 
5920
+ #: includes/functions/wcj-functions-country.php:287
5921
  msgid "Lebanon"
5922
  msgstr ""
5923
 
5924
+ #: includes/functions/wcj-functions-country.php:288
5925
  msgid "Lesotho"
5926
  msgstr ""
5927
 
5928
+ #: includes/functions/wcj-functions-country.php:289
5929
  msgid "Liberia"
5930
  msgstr ""
5931
 
5932
+ #: includes/functions/wcj-functions-country.php:290
5933
  msgid "Libya"
5934
  msgstr ""
5935
 
5936
+ #: includes/functions/wcj-functions-country.php:291
5937
  msgid "Liechtenstein"
5938
  msgstr ""
5939
 
5940
+ #: includes/functions/wcj-functions-country.php:292
5941
  msgid "Lithuania"
5942
  msgstr ""
5943
 
5944
+ #: includes/functions/wcj-functions-country.php:293
5945
  msgid "Luxembourg"
5946
  msgstr ""
5947
 
5948
+ #: includes/functions/wcj-functions-country.php:294
5949
  msgid "Macao S.A.R., China"
5950
  msgstr ""
5951
 
5952
+ #: includes/functions/wcj-functions-country.php:295
5953
  msgid "Macedonia"
5954
  msgstr ""
5955
 
 
 
 
 
 
 
 
 
 
 
 
 
5956
  #: includes/functions/wcj-functions-country.php:296
5957
+ msgid "Madagascar"
5958
  msgstr ""
5959
 
5960
  #: includes/functions/wcj-functions-country.php:297
5961
+ msgid "Malawi"
5962
  msgstr ""
5963
 
5964
  #: includes/functions/wcj-functions-country.php:298
5965
+ msgid "Malaysia"
5966
  msgstr ""
5967
 
5968
  #: includes/functions/wcj-functions-country.php:299
5969
+ msgid "Maldives"
5970
  msgstr ""
5971
 
5972
  #: includes/functions/wcj-functions-country.php:300
5973
+ msgid "Mali"
5974
  msgstr ""
5975
 
5976
  #: includes/functions/wcj-functions-country.php:301
5977
+ msgid "Malta"
5978
  msgstr ""
5979
 
5980
  #: includes/functions/wcj-functions-country.php:302
5981
+ msgid "Marshall Islands"
5982
  msgstr ""
5983
 
5984
  #: includes/functions/wcj-functions-country.php:303
5985
+ msgid "Martinique"
5986
  msgstr ""
5987
 
5988
  #: includes/functions/wcj-functions-country.php:304
5989
+ msgid "Mauritania"
5990
  msgstr ""
5991
 
5992
  #: includes/functions/wcj-functions-country.php:305
5993
+ msgid "Mauritius"
5994
  msgstr ""
5995
 
5996
  #: includes/functions/wcj-functions-country.php:306
5997
+ msgid "Mayotte"
5998
  msgstr ""
5999
 
6000
  #: includes/functions/wcj-functions-country.php:307
6001
+ msgid "Mexico"
6002
  msgstr ""
6003
 
6004
  #: includes/functions/wcj-functions-country.php:308
6005
+ msgid "Micronesia"
6006
  msgstr ""
6007
 
6008
  #: includes/functions/wcj-functions-country.php:309
6009
+ msgid "Moldova"
6010
  msgstr ""
6011
 
6012
  #: includes/functions/wcj-functions-country.php:310
6013
+ msgid "Monaco"
6014
  msgstr ""
6015
 
6016
  #: includes/functions/wcj-functions-country.php:311
6017
+ msgid "Mongolia"
6018
  msgstr ""
6019
 
6020
  #: includes/functions/wcj-functions-country.php:312
6021
+ msgid "Montenegro"
6022
  msgstr ""
6023
 
6024
  #: includes/functions/wcj-functions-country.php:313
6025
+ msgid "Montserrat"
6026
  msgstr ""
6027
 
6028
  #: includes/functions/wcj-functions-country.php:314
6029
+ msgid "Morocco"
6030
  msgstr ""
6031
 
6032
  #: includes/functions/wcj-functions-country.php:315
6033
+ msgid "Mozambique"
6034
  msgstr ""
6035
 
6036
  #: includes/functions/wcj-functions-country.php:316
6037
+ msgid "Myanmar"
6038
  msgstr ""
6039
 
6040
  #: includes/functions/wcj-functions-country.php:317
6041
+ msgid "Namibia"
6042
  msgstr ""
6043
 
6044
  #: includes/functions/wcj-functions-country.php:318
6045
+ msgid "Nauru"
6046
  msgstr ""
6047
 
6048
  #: includes/functions/wcj-functions-country.php:319
6049
+ msgid "Nepal"
6050
  msgstr ""
6051
 
6052
  #: includes/functions/wcj-functions-country.php:320
6053
+ msgid "Netherlands"
6054
  msgstr ""
6055
 
6056
  #: includes/functions/wcj-functions-country.php:321
6057
+ msgid "Netherlands Antilles"
6058
  msgstr ""
6059
 
6060
  #: includes/functions/wcj-functions-country.php:322
6061
+ msgid "New Caledonia"
6062
  msgstr ""
6063
 
6064
  #: includes/functions/wcj-functions-country.php:323
6065
+ msgid "New Zealand"
6066
  msgstr ""
6067
 
6068
  #: includes/functions/wcj-functions-country.php:324
6069
+ msgid "Nicaragua"
6070
  msgstr ""
6071
 
6072
  #: includes/functions/wcj-functions-country.php:325
6073
+ msgid "Niger"
6074
  msgstr ""
6075
 
6076
  #: includes/functions/wcj-functions-country.php:326
6077
+ msgid "Nigeria"
6078
  msgstr ""
6079
 
6080
  #: includes/functions/wcj-functions-country.php:327
6081
+ msgid "Niue"
6082
  msgstr ""
6083
 
6084
  #: includes/functions/wcj-functions-country.php:328
6085
+ msgid "Norfolk Island"
6086
  msgstr ""
6087
 
6088
  #: includes/functions/wcj-functions-country.php:329
6089
+ msgid "North Korea"
6090
  msgstr ""
6091
 
6092
  #: includes/functions/wcj-functions-country.php:330
6093
+ msgid "Norway"
6094
  msgstr ""
6095
 
6096
  #: includes/functions/wcj-functions-country.php:331
6097
+ msgid "Oman"
6098
  msgstr ""
6099
 
6100
  #: includes/functions/wcj-functions-country.php:332
6101
+ msgid "Pakistan"
6102
  msgstr ""
6103
 
6104
  #: includes/functions/wcj-functions-country.php:333
6105
+ msgid "Palestinian Territory"
6106
  msgstr ""
6107
 
6108
  #: includes/functions/wcj-functions-country.php:334
6109
+ msgid "Panama"
6110
  msgstr ""
6111
 
6112
  #: includes/functions/wcj-functions-country.php:335
6113
+ msgid "Papua New Guinea"
6114
  msgstr ""
6115
 
6116
  #: includes/functions/wcj-functions-country.php:336
6117
+ msgid "Paraguay"
6118
  msgstr ""
6119
 
6120
  #: includes/functions/wcj-functions-country.php:337
6121
+ msgid "Peru"
6122
  msgstr ""
6123
 
6124
  #: includes/functions/wcj-functions-country.php:338
6125
+ msgid "Philippines"
6126
  msgstr ""
6127
 
6128
  #: includes/functions/wcj-functions-country.php:339
6129
+ msgid "Pitcairn"
6130
  msgstr ""
6131
 
6132
  #: includes/functions/wcj-functions-country.php:340
6133
+ msgid "Poland"
6134
  msgstr ""
6135
 
6136
  #: includes/functions/wcj-functions-country.php:341
6137
+ msgid "Portugal"
6138
  msgstr ""
6139
 
6140
  #: includes/functions/wcj-functions-country.php:342
6141
+ msgid "Qatar"
6142
  msgstr ""
6143
 
6144
  #: includes/functions/wcj-functions-country.php:343
6145
+ msgid "Reunion"
6146
  msgstr ""
6147
 
6148
  #: includes/functions/wcj-functions-country.php:344
6149
+ msgid "Romania"
6150
  msgstr ""
6151
 
6152
  #: includes/functions/wcj-functions-country.php:345
6153
+ msgid "Russia"
6154
  msgstr ""
6155
 
6156
  #: includes/functions/wcj-functions-country.php:346
6157
+ msgid "Rwanda"
6158
  msgstr ""
6159
 
6160
  #: includes/functions/wcj-functions-country.php:347
6161
+ msgid "Saint Barth&eacute;lemy"
6162
  msgstr ""
6163
 
6164
  #: includes/functions/wcj-functions-country.php:348
6165
+ msgid "Saint Helena"
6166
  msgstr ""
6167
 
6168
  #: includes/functions/wcj-functions-country.php:349
6169
+ msgid "Saint Kitts and Nevis"
6170
  msgstr ""
6171
 
6172
  #: includes/functions/wcj-functions-country.php:350
6173
+ msgid "Saint Lucia"
6174
  msgstr ""
6175
 
6176
  #: includes/functions/wcj-functions-country.php:351
6177
+ msgid "Saint Martin (French part)"
6178
  msgstr ""
6179
 
6180
  #: includes/functions/wcj-functions-country.php:352
6181
+ msgid "Saint Martin (Dutch part)"
6182
  msgstr ""
6183
 
6184
  #: includes/functions/wcj-functions-country.php:353
6185
+ msgid "Saint Pierre and Miquelon"
6186
  msgstr ""
6187
 
6188
  #: includes/functions/wcj-functions-country.php:354
6189
+ msgid "Saint Vincent and the Grenadines"
6190
  msgstr ""
6191
 
6192
  #: includes/functions/wcj-functions-country.php:355
6193
+ msgid "San Marino"
6194
  msgstr ""
6195
 
6196
  #: includes/functions/wcj-functions-country.php:356
6197
+ msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
6198
  msgstr ""
6199
 
6200
  #: includes/functions/wcj-functions-country.php:357
6201
+ msgid "Saudi Arabia"
6202
  msgstr ""
6203
 
6204
  #: includes/functions/wcj-functions-country.php:358
6205
+ msgid "Senegal"
6206
  msgstr ""
6207
 
6208
  #: includes/functions/wcj-functions-country.php:359
6209
+ msgid "Serbia"
6210
  msgstr ""
6211
 
6212
  #: includes/functions/wcj-functions-country.php:360
6213
+ msgid "Seychelles"
6214
  msgstr ""
6215
 
6216
  #: includes/functions/wcj-functions-country.php:361
6217
+ msgid "Sierra Leone"
6218
  msgstr ""
6219
 
6220
  #: includes/functions/wcj-functions-country.php:362
6221
+ msgid "Singapore"
6222
  msgstr ""
6223
 
6224
  #: includes/functions/wcj-functions-country.php:363
6225
+ msgid "Slovakia"
6226
  msgstr ""
6227
 
6228
  #: includes/functions/wcj-functions-country.php:364
6229
+ msgid "Slovenia"
6230
  msgstr ""
6231
 
6232
  #: includes/functions/wcj-functions-country.php:365
6233
+ msgid "Solomon Islands"
6234
  msgstr ""
6235
 
6236
  #: includes/functions/wcj-functions-country.php:366
6237
+ msgid "Somalia"
6238
  msgstr ""
6239
 
6240
  #: includes/functions/wcj-functions-country.php:367
6241
+ msgid "South Africa"
6242
  msgstr ""
6243
 
6244
  #: includes/functions/wcj-functions-country.php:368
6245
+ msgid "South Georgia/Sandwich Islands"
6246
  msgstr ""
6247
 
6248
  #: includes/functions/wcj-functions-country.php:369
6249
+ msgid "South Korea"
6250
  msgstr ""
6251
 
6252
  #: includes/functions/wcj-functions-country.php:370
6253
+ msgid "South Sudan"
6254
  msgstr ""
6255
 
6256
  #: includes/functions/wcj-functions-country.php:371
6257
+ msgid "Spain"
6258
  msgstr ""
6259
 
6260
  #: includes/functions/wcj-functions-country.php:372
6261
+ msgid "Sri Lanka"
6262
  msgstr ""
6263
 
6264
  #: includes/functions/wcj-functions-country.php:373
6265
+ msgid "Sudan"
6266
  msgstr ""
6267
 
6268
  #: includes/functions/wcj-functions-country.php:374
6269
+ msgid "Suriname"
6270
  msgstr ""
6271
 
6272
  #: includes/functions/wcj-functions-country.php:375
6273
+ msgid "Svalbard and Jan Mayen"
6274
  msgstr ""
6275
 
6276
  #: includes/functions/wcj-functions-country.php:376
6277
+ msgid "Swaziland"
6278
  msgstr ""
6279
 
6280
  #: includes/functions/wcj-functions-country.php:377
6281
+ msgid "Sweden"
6282
  msgstr ""
6283
 
6284
  #: includes/functions/wcj-functions-country.php:378
6285
+ msgid "Switzerland"
6286
  msgstr ""
6287
 
6288
  #: includes/functions/wcj-functions-country.php:379
6289
+ msgid "Syria"
6290
  msgstr ""
6291
 
6292
  #: includes/functions/wcj-functions-country.php:380
6293
+ msgid "Taiwan"
6294
  msgstr ""
6295
 
6296
  #: includes/functions/wcj-functions-country.php:381
6297
+ msgid "Tajikistan"
6298
  msgstr ""
6299
 
6300
  #: includes/functions/wcj-functions-country.php:382
6301
+ msgid "Tanzania"
6302
  msgstr ""
6303
 
6304
  #: includes/functions/wcj-functions-country.php:383
6305
+ msgid "Thailand"
6306
  msgstr ""
6307
 
6308
  #: includes/functions/wcj-functions-country.php:384
6309
+ msgid "Timor-Leste"
6310
  msgstr ""
6311
 
6312
  #: includes/functions/wcj-functions-country.php:385
6313
+ msgid "Togo"
6314
  msgstr ""
6315
 
6316
  #: includes/functions/wcj-functions-country.php:386
6317
+ msgid "Tokelau"
6318
  msgstr ""
6319
 
6320
  #: includes/functions/wcj-functions-country.php:387
6321
+ msgid "Tonga"
6322
  msgstr ""
6323
 
6324
  #: includes/functions/wcj-functions-country.php:388
6325
+ msgid "Trinidad and Tobago"
6326
  msgstr ""
6327
 
6328
  #: includes/functions/wcj-functions-country.php:389
6329
+ msgid "Tunisia"
6330
  msgstr ""
6331
 
6332
  #: includes/functions/wcj-functions-country.php:390
6333
+ msgid "Turkey"
6334
  msgstr ""
6335
 
6336
  #: includes/functions/wcj-functions-country.php:391
6337
+ msgid "Turkmenistan"
6338
  msgstr ""
6339
 
6340
  #: includes/functions/wcj-functions-country.php:392
6341
+ msgid "Turks and Caicos Islands"
6342
  msgstr ""
6343
 
6344
  #: includes/functions/wcj-functions-country.php:393
6345
+ msgid "Tuvalu"
6346
  msgstr ""
6347
 
6348
  #: includes/functions/wcj-functions-country.php:394
6349
+ msgid "Uganda"
6350
  msgstr ""
6351
 
6352
  #: includes/functions/wcj-functions-country.php:395
6353
+ msgid "Ukraine"
6354
  msgstr ""
6355
 
6356
  #: includes/functions/wcj-functions-country.php:396
6357
+ msgid "United Arab Emirates"
6358
  msgstr ""
6359
 
6360
  #: includes/functions/wcj-functions-country.php:397
6361
+ msgid "United Kingdom (UK)"
6362
  msgstr ""
6363
 
6364
  #: includes/functions/wcj-functions-country.php:398
6365
+ msgid "United States (US)"
6366
  msgstr ""
6367
 
6368
  #: includes/functions/wcj-functions-country.php:399
6369
+ msgid "Uruguay"
6370
  msgstr ""
6371
 
6372
  #: includes/functions/wcj-functions-country.php:400
6373
+ msgid "Uzbekistan"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6374
  msgstr ""
6375
 
6376
+ #: includes/functions/wcj-functions-country.php:401
6377
+ msgid "Vanuatu"
6378
  msgstr ""
6379
 
6380
+ #: includes/functions/wcj-functions-country.php:402
6381
+ msgid "Vatican"
6382
  msgstr ""
6383
 
6384
+ #: includes/functions/wcj-functions-country.php:403
6385
+ msgid "Venezuela"
6386
  msgstr ""
6387
 
6388
+ #: includes/functions/wcj-functions-country.php:404
6389
+ msgid "Vietnam"
6390
  msgstr ""
6391
 
6392
+ #: includes/functions/wcj-functions-country.php:405
6393
+ msgid "Wallis and Futuna"
6394
  msgstr ""
6395
 
6396
+ #: includes/functions/wcj-functions-country.php:406
6397
+ msgid "Western Sahara"
6398
  msgstr ""
6399
 
6400
+ #: includes/functions/wcj-functions-country.php:407
6401
+ msgid "Western Samoa"
6402
  msgstr ""
6403
 
6404
+ #: includes/functions/wcj-functions-country.php:408
6405
+ msgid "Yemen"
6406
  msgstr ""
6407
 
6408
+ #: includes/functions/wcj-functions-country.php:409
6409
+ msgid "Zambia"
6410
  msgstr ""
6411
 
6412
+ #: includes/functions/wcj-functions-country.php:410
6413
+ msgid "Zimbabwe"
6414
  msgstr ""
6415
 
6416
+ #: includes/functions/wcj-functions-country.php:411
6417
+ msgid "European Union"
6418
  msgstr ""
6419
 
6420
+ #: includes/functions/wcj-functions-crons.php:24
6421
+ msgid "Update"
6422
  msgstr ""
6423
 
6424
+ #: includes/functions/wcj-functions-crons.php:27
6425
+ #, php-format
6426
+ msgid "%s every minute"
6427
  msgstr ""
6428
 
6429
+ #: includes/functions/wcj-functions-crons.php:28
6430
+ #, php-format
6431
+ msgid "%s every 5 minutes"
6432
  msgstr ""
6433
 
6434
+ #: includes/functions/wcj-functions-crons.php:29
6435
+ #, php-format
6436
+ msgid "%s every 15 minutes"
6437
  msgstr ""
6438
 
6439
+ #: includes/functions/wcj-functions-crons.php:30
6440
+ #, php-format
6441
+ msgid "%s every 30 minutes"
6442
  msgstr ""
6443
 
6444
+ #: includes/functions/wcj-functions-crons.php:31
6445
+ #, php-format
6446
+ msgid "%s hourly"
6447
  msgstr ""
6448
 
6449
+ #: includes/functions/wcj-functions-crons.php:32
6450
+ #, php-format
6451
+ msgid "%s twice daily"
6452
  msgstr ""
6453
 
6454
+ #: includes/functions/wcj-functions-crons.php:33
6455
+ #, php-format
6456
+ msgid "%s daily"
6457
  msgstr ""
6458
 
6459
+ #: includes/functions/wcj-functions-crons.php:34
6460
+ #, php-format
6461
+ msgid "%s weekly"
6462
  msgstr ""
6463
 
6464
+ #: includes/functions/wcj-functions-crons.php:80
6465
+ #, php-format
6466
+ msgid "%s till next run."
6467
  msgstr ""
6468
 
6469
+ #: includes/functions/wcj-functions-crons.php:82
6470
+ #, php-format
6471
+ msgid "%s seconds till next run."
6472
  msgstr ""
6473
 
6474
+ #: includes/functions/wcj-functions-crons.php:99
6475
+ msgid "Once weekly"
6476
  msgstr ""
6477
 
6478
+ #: includes/functions/wcj-functions-crons.php:103
6479
+ msgid "Once every 30 minutes"
6480
  msgstr ""
6481
 
6482
+ #: includes/functions/wcj-functions-crons.php:107
6483
+ msgid "Once every 15 minutes"
6484
  msgstr ""
6485
 
6486
+ #: includes/functions/wcj-functions-crons.php:111
6487
+ msgid "Once every 5 minutes"
6488
  msgstr ""
6489
 
6490
+ #: includes/functions/wcj-functions-crons.php:115
6491
+ msgid "Once a minute"
6492
  msgstr ""
6493
 
6494
  #: includes/functions/wcj-functions-exchange-rates.php:69
6495
+ msgid "European Central Bank (ECB)"
6496
  msgstr ""
6497
 
6498
+ #: includes/functions/wcj-functions-exchange-rates.php:69
6499
+ msgid "recommended"
6500
  msgstr ""
6501
 
6502
  #: includes/functions/wcj-functions-exchange-rates.php:70
6503
+ msgid "The Free Currency Converter API"
6504
  msgstr ""
6505
 
6506
  #: includes/functions/wcj-functions-exchange-rates.php:71
6507
+ msgid "Bank of England (BOE)"
6508
  msgstr ""
6509
 
6510
  #: includes/functions/wcj-functions-exchange-rates.php:72
6511
+ msgid "TCMB"
6512
  msgstr ""
6513
 
6514
  #: includes/functions/wcj-functions-exchange-rates.php:73
6519
  msgid "CoinMarketCap"
6520
  msgstr ""
6521
 
6522
+ #: includes/functions/wcj-functions-general.php:617
 
 
 
 
 
 
 
 
6523
  #: includes/settings/wcj-settings-cross-sells.php:73
6524
  #: includes/settings/wcj-settings-empty-cart.php:47
6525
  msgid "Before cart"
6526
  msgstr ""
6527
 
6528
+ #: includes/functions/wcj-functions-general.php:618
6529
  msgid "Before cart table"
6530
  msgstr ""
6531
 
6532
+ #: includes/functions/wcj-functions-general.php:619
6533
  msgid "Before cart contents"
6534
  msgstr ""
6535
 
6536
+ #: includes/functions/wcj-functions-general.php:620
6537
  msgid "Cart contents"
6538
  msgstr ""
6539
 
6540
+ #: includes/functions/wcj-functions-general.php:621
6541
  msgid "Cart coupon"
6542
  msgstr ""
6543
 
6544
+ #: includes/functions/wcj-functions-general.php:622
6545
  msgid "Cart actions"
6546
  msgstr ""
6547
 
6548
+ #: includes/functions/wcj-functions-general.php:623
6549
  msgid "After cart contents"
6550
  msgstr ""
6551
 
6552
+ #: includes/functions/wcj-functions-general.php:624
6553
  msgid "After cart table"
6554
  msgstr ""
6555
 
6556
+ #: includes/functions/wcj-functions-general.php:625
6557
  #: includes/settings/wcj-settings-cross-sells.php:74
6558
  msgid "Cart collaterals"
6559
  msgstr ""
6560
 
6561
+ #: includes/functions/wcj-functions-general.php:626
6562
  #: includes/settings/wcj-settings-cross-sells.php:75
6563
  #: includes/settings/wcj-settings-empty-cart.php:56
6564
  msgid "After cart"
6565
  msgstr ""
6566
 
6567
+ #: includes/functions/wcj-functions-general.php:628
6568
  msgid "Before cart totals"
6569
  msgstr ""
6570
 
6571
+ #: includes/functions/wcj-functions-general.php:629
6572
  #: includes/settings/wcj-settings-empty-cart.php:49
6573
  msgid "Cart totals: Before shipping"
6574
  msgstr ""
6575
 
6576
+ #: includes/functions/wcj-functions-general.php:630
6577
  #: includes/settings/wcj-settings-empty-cart.php:50
6578
  msgid "Cart totals: After shipping"
6579
  msgstr ""
6580
 
6581
+ #: includes/functions/wcj-functions-general.php:631
6582
  #: includes/settings/wcj-settings-empty-cart.php:51
6583
  msgid "Cart totals: Before order total"
6584
  msgstr ""
6585
 
6586
+ #: includes/functions/wcj-functions-general.php:632
6587
  #: includes/settings/wcj-settings-empty-cart.php:52
6588
  msgid "Cart totals: After order total"
6589
  msgstr ""
6590
 
6591
+ #: includes/functions/wcj-functions-general.php:633
6592
  msgid "Proceed to checkout"
6593
  msgstr ""
6594
 
6595
+ #: includes/functions/wcj-functions-general.php:634
6596
  msgid "After cart totals"
6597
  msgstr ""
6598
 
6599
+ #: includes/functions/wcj-functions-general.php:636
6600
  msgid "Before shipping calculator"
6601
  msgstr ""
6602
 
6603
+ #: includes/functions/wcj-functions-general.php:637
6604
  msgid "After shipping calculator"
6605
  msgstr ""
6606
 
6607
+ #: includes/functions/wcj-functions-general.php:639
6608
  msgid "If cart is empty"
6609
  msgstr ""
6610
 
6722
 
6723
  #: includes/functions/wcj-functions-shipping.php:222
6724
  #: includes/functions/wcj-functions-shipping.php:279
6725
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:136
6726
  msgid "You have Free delivery"
6727
  msgstr ""
6728
 
6731
  msgstr ""
6732
 
6733
  #: includes/gateways/class-wc-gateway-wcj-custom.php:68
6734
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:146
6735
  #: includes/shipping/class-wc-shipping-wcj-custom.php:109
6736
  msgid "This controls the title which the user sees during checkout."
6737
  msgstr ""
6853
  msgid "Optional. Leave blank to use default URL."
6854
  msgstr ""
6855
 
6856
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:355
6857
  #: includes/settings/wcj-settings-payment-gateways.php:38
6858
  msgid "Custom Gateway"
6859
  msgstr ""
6860
 
6861
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:356
6862
  msgid "Booster for WooCommerce: Custom Payment Gateway"
6863
  msgstr ""
6864
 
7336
  msgstr ""
7337
 
7338
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-advanced.php:25
7339
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
7340
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:62
7341
  #: includes/settings/wcj-settings-order-min-amount.php:69
7342
  msgid "Advanced"
7343
  msgstr ""
7416
  msgstr ""
7417
 
7418
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:131
7419
+ #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:307
7420
  msgid "View"
7421
  msgstr ""
7422
 
7423
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:150
7424
+ #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:335
7425
  msgid "Create"
7426
  msgstr ""
7427
 
7439
  msgid "You have no document types enabled."
7440
  msgstr ""
7441
 
7442
+ #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-display.php:341
7443
  msgid ""
7444
  "In case of partial refund, you need to reload the page to see created "
7445
  "document in this meta box."
7466
  msgstr ""
7467
 
7468
  #: includes/pdf-invoices/submodules/class-wcj-pdf-invoicing-templates.php:23
7469
+ #: includes/settings/wcj-settings-template-editor.php:20
7470
  msgid "Templates"
7471
  msgstr ""
7472
 
7473
+ #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:34
7474
+ msgid "Country groups successfully generated."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7475
  msgstr ""
7476
 
7477
+ #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:37
7478
+ msgid "Country groups generation failed."
7479
  msgstr ""
7480
 
7481
  #: includes/price-by-country/class-wcj-price-by-country-local.php:111
7482
+ #: includes/settings/wcj-settings-price-by-country.php:318
7483
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:67
7484
  msgid "Make empty price"
7485
  msgstr ""
7486
 
7487
  #: includes/price-by-country/class-wcj-price-by-country-local.php:215
7488
+ #: includes/settings/wcj-settings-add-to-cart.php:50
 
7489
  #: includes/settings/wcj-settings-price-by-country.php:212
7490
+ #: includes/settings/wcj-settings-price-by-country.php:213
7491
+ #: includes/settings/wcj-settings-price-by-country.php:218
7492
+ #: includes/settings/wcj-settings-price-by-country.php:266
7493
+ #: includes/settings/wcj-settings-price-by-country.php:309
7494
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-country.php:17
7495
  msgid "Group"
7496
  msgstr ""
7500
  msgstr ""
7501
 
7502
  #: includes/reports/class-wcj-currency-reports.php:40
7503
+ #: includes/reports/class-wcj-currency-reports.php:78
7504
  msgid "Show reports only in"
7505
  msgstr ""
7506
 
7663
  msgstr ""
7664
 
7665
  #: includes/reports/wcj-class-reports-sales-gateways.php:84
7666
+ #: includes/reports/wcj-class-reports-stock.php:108
7667
+ #: includes/reports/wcj-class-reports-stock.php:183
7668
  msgid "N/A"
7669
  msgstr ""
7670
 
7696
  msgid "Filter products"
7697
  msgstr ""
7698
 
7699
+ #: includes/reports/wcj-class-reports-stock.php:33
7700
  msgid "All Products on Stock"
7701
  msgstr ""
7702
 
7703
+ #: includes/reports/wcj-class-reports-stock.php:34
7704
  msgid "Report shows all products that are on stock and some sales info."
7705
  msgstr ""
7706
 
7707
+ #: includes/reports/wcj-class-reports-stock.php:38
7708
  msgid "Understocked"
7709
  msgstr ""
7710
 
7711
+ #: includes/reports/wcj-class-reports-stock.php:39
7712
  msgid ""
7713
  "Report shows all products that are low in stock calculated on product's "
7714
  "sales data."
7715
  msgstr ""
7716
 
7717
+ #: includes/reports/wcj-class-reports-stock.php:40
7718
  msgid ""
7719
  "Threshold for minimum stock is equal to half of the sales in selected days "
7720
  "range."
7721
  msgstr ""
7722
 
7723
+ #: includes/reports/wcj-class-reports-stock.php:44
7724
  msgid "Overstocked"
7725
  msgstr ""
7726
 
7727
+ #: includes/reports/wcj-class-reports-stock.php:45
7728
  msgid ""
7729
  "Report shows all products that are on stock, but have no sales in selected "
7730
  "period. Only products added before the start date of selected period are "
7731
  "accounted."
7732
  msgstr ""
7733
 
7734
+ #: includes/reports/wcj-class-reports-stock.php:273
 
 
 
 
7735
  msgid "Stock price"
7736
  msgstr ""
7737
 
7738
+ #: includes/reports/wcj-class-reports-stock.php:274
7739
  msgid "Total stock price"
7740
  msgstr ""
7741
 
7742
+ #: includes/reports/wcj-class-reports-stock.php:275
7743
  msgid "Last sale"
7744
  msgstr ""
7745
 
7746
+ #: includes/reports/wcj-class-reports-stock.php:276
7747
  #, php-format
7748
  msgid "Sales in last %s days"
7749
  msgstr ""
7750
 
7751
+ #: includes/reports/wcj-class-reports-stock.php:277
7752
  msgid "Total sales"
7753
  msgstr ""
7754
 
7755
+ #: includes/reports/wcj-class-reports-stock.php:279
7756
  msgid "Stock to minimum"
7757
  msgstr ""
7758
 
7759
+ #: includes/reports/wcj-class-reports-stock.php:308
7760
  msgid "purchase price:"
7761
  msgstr ""
7762
 
7763
+ #: includes/reports/wcj-class-reports-stock.php:312
7764
  msgid "stock purchase price:"
7765
  msgstr ""
7766
 
7767
+ #: includes/reports/wcj-class-reports-stock.php:317
7768
  msgid "No sales yet"
7769
  msgstr ""
7770
 
7771
+ #: includes/reports/wcj-class-reports-stock.php:320
7772
  msgid "profit:"
7773
  msgstr ""
7774
 
7775
+ #: includes/reports/wcj-class-reports-stock.php:340
7776
  msgid "Total current stock value"
7777
  msgstr ""
7778
 
7779
+ #: includes/reports/wcj-class-reports-stock.php:341
7780
  msgid "Total stock value"
7781
  msgstr ""
7782
 
7783
+ #: includes/reports/wcj-class-reports-stock.php:342
7784
  msgid "Product stock value average"
7785
  msgstr ""
7786
 
7787
+ #: includes/reports/wcj-class-reports-stock.php:343
7788
  msgid "Product stock average"
7789
  msgstr ""
7790
 
7791
+ #: includes/reports/wcj-class-reports-stock.php:345
7792
  msgid "Total current stock purchase price"
7793
  msgstr ""
7794
 
7795
+ #: includes/reports/wcj-class-reports-stock.php:349
7796
  msgid "Report was generated in: "
7797
  msgstr ""
7798
 
7806
  msgstr ""
7807
 
7808
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:23
7809
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:91
7810
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:108
7811
  #: includes/settings/wcj-settings-admin-orders-list.php:21
7812
  #: includes/settings/wcj-settings-admin-orders-list.php:109
7813
  #: includes/settings/wcj-settings-admin-orders-list.php:201
7842
  msgstr ""
7843
 
7844
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:29
7845
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:114
7846
  msgid "Disable Buttons on Category/Archives Pages"
7847
  msgstr ""
7848
 
7849
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:30
7850
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:56
7851
+ #: includes/settings/wcj-settings-general.php:30
7852
+ #: includes/settings/wcj-settings-general.php:79
7853
+ #: includes/settings/wcj-settings-general.php:93
7854
+ #: includes/settings/wcj-settings-general.php:100
7855
+ #: includes/settings/wcj-settings-general.php:107
7856
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:84
7857
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:109
7858
  #: includes/settings/wcj-settings-price-by-user-role.php:56
7859
  #: includes/settings/wcj-settings-price-by-user-role.php:96
7860
  #: includes/settings/wcj-settings-product-add-to-cart.php:131
7864
  msgid "Disable"
7865
  msgstr ""
7866
 
7867
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:36
7868
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:62
7869
+ #: includes/settings/wcj-settings-cart-customization.php:40
7870
+ msgid "Method"
7871
+ msgstr ""
7872
+
7873
  #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:37
7874
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:63
7875
+ msgid ""
7876
+ "Method for disabling the buttons. Try changing if buttons are not being "
7877
+ "disabled (may happen with some themes)."
7878
+ msgstr ""
7879
+
7880
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:42
7881
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:68
7882
+ msgid "Remove action"
7883
+ msgstr ""
7884
+
7885
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:43
7886
+ msgid "Add filter"
7887
+ msgstr ""
7888
+
7889
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:48
7890
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:123
7891
  msgid ""
7892
  "Content to replace with on archives (can be empty). You can use HTML and/or "
7893
  "shortcodes here."
7894
  msgstr ""
7895
 
7896
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:55
7897
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:130
7898
  msgid "Disable Buttons on Single Product Pages"
7899
  msgstr ""
7900
 
7901
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:69
7902
+ msgid "Add action"
7903
+ msgstr ""
7904
+
7905
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:74
7906
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:139
7907
  msgid ""
7908
  "Content to replace with on single product pages (can be empty). You can use "
7909
  "HTML and/or shortcodes here."
7910
  msgstr ""
7911
 
7912
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:85
7913
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:90
7914
  #: includes/settings/wcj-settings-max-products-per-user.php:37
7915
  #: includes/settings/wcj-settings-max-products-per-user.php:42
7916
  #: includes/settings/wcj-settings-price-labels.php:22
7922
  msgid "Per Product"
7923
  msgstr ""
7924
 
7925
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:92
7926
  #: includes/settings/wcj-settings-currency-per-product.php:65
7927
  #: includes/settings/wcj-settings-product-add-to-cart.php:179
7928
  #: includes/settings/wcj-settings-product-add-to-cart.php:196
7929
  msgid "This will add meta box to each product's edit page"
7930
  msgstr ""
7931
 
7932
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:102
7933
+ #: includes/settings/wcj-settings-add-to-cart-button-visibility.php:107
7934
  #: includes/settings/wcj-settings-sale-flash.php:81
7935
  msgid "Per Category"
7936
  msgstr ""
7949
  msgstr ""
7950
 
7951
  #: includes/settings/wcj-settings-add-to-cart.php:21
7952
+ #: includes/settings/wcj-settings-add-to-cart.php:92
7953
+ #: includes/settings/wcj-settings-add-to-cart.php:110
7954
+ #: includes/settings/wcj-settings-general.php:140
7955
  #: includes/settings/wcj-settings-shipping-calculator.php:69
7956
  #: includes/settings/wcj-settings-sorting.php:20
7957
  #: includes/settings/wcj-settings-sorting.php:99
7968
  msgid "Click \"Save changes\" after you change this number."
7969
  msgstr ""
7970
 
7971
+ #: includes/settings/wcj-settings-add-to-cart.php:57
7972
  msgid "categories"
7973
  msgstr ""
7974
 
7975
+ #: includes/settings/wcj-settings-add-to-cart.php:58
7976
  #: includes/settings/wcj-settings-shipping-calculator.php:47
7977
  msgid ""
7978
  msgstr ""
7979
 
7980
+ #: includes/settings/wcj-settings-add-to-cart.php:66
7981
  msgid "Button text - single product view"
7982
  msgstr ""
7983
 
7984
+ #: includes/settings/wcj-settings-add-to-cart.php:72
7985
  msgid "Button text - product archive (category) view"
7986
  msgstr ""
7987
 
7988
+ #: includes/settings/wcj-settings-add-to-cart.php:85
7989
  #: includes/settings/wcj-settings-currency-per-product.php:59
7990
  #: includes/settings/wcj-settings-product-addons.php:25
7991
  #: includes/settings/wcj-settings-product-by-date.php:47
7993
  msgid "Per Product Options"
7994
  msgstr ""
7995
 
7996
+ #: includes/settings/wcj-settings-add-to-cart.php:87
7997
  msgid ""
7998
  "This section lets you set Add to Cart button text on per product basis. When "
7999
  "enabled, label for each product can be changed in \"Edit Product\"."
8000
  msgstr ""
8001
 
8002
+ #: includes/settings/wcj-settings-add-to-cart.php:91
8003
  msgid "Per Product Labels"
8004
  msgstr ""
8005
 
8006
+ #: includes/settings/wcj-settings-add-to-cart.php:103
8007
  msgid "Per Product Type Options"
8008
  msgstr ""
8009
 
8010
+ #: includes/settings/wcj-settings-add-to-cart.php:109
8011
  msgid "Per Product Type Labels"
8012
  msgstr ""
8013
 
8014
+ #: includes/settings/wcj-settings-add-to-cart.php:119
8015
  #: includes/settings/wcj-settings-product-by-user.php:93
8016
  msgid "Simple product"
8017
  msgstr ""
8018
 
8019
+ #: includes/settings/wcj-settings-add-to-cart.php:120
8020
+ #: includes/settings/wcj-settings-add-to-cart.php:174
8021
  #: includes/settings/wcj-settings-add-to-cart.php:181
8022
+ #: includes/settings/wcj-settings-add-to-cart.php:188
8023
+ #: includes/settings/wcj-settings-add-to-cart.php:195
8024
+ #: includes/settings/wcj-settings-add-to-cart.php:215
8025
+ #: includes/settings/wcj-settings-add-to-cart.php:216
8026
+ #: includes/settings/wcj-settings-add-to-cart.php:224
8027
+ #: includes/settings/wcj-settings-add-to-cart.php:225
8028
  msgid "Add to cart"
8029
  msgstr ""
8030
 
8031
+ #: includes/settings/wcj-settings-add-to-cart.php:124
8032
  msgid "Variable product"
8033
  msgstr ""
8034
 
8035
+ #: includes/settings/wcj-settings-add-to-cart.php:125
8036
  msgid "Select options"
8037
  msgstr ""
8038
 
8039
+ #: includes/settings/wcj-settings-add-to-cart.php:129
8040
  msgid "External product"
8041
  msgstr ""
8042
 
8043
+ #: includes/settings/wcj-settings-add-to-cart.php:130
8044
  msgid "Buy product"
8045
  msgstr ""
8046
 
8047
+ #: includes/settings/wcj-settings-add-to-cart.php:134
8048
  msgid "Grouped product"
8049
  msgstr ""
8050
 
8051
+ #: includes/settings/wcj-settings-add-to-cart.php:135
8052
  msgid "View products"
8053
  msgstr ""
8054
 
8055
+ #: includes/settings/wcj-settings-add-to-cart.php:139
8056
  msgid "Other product"
8057
  msgstr ""
8058
 
8059
+ #: includes/settings/wcj-settings-add-to-cart.php:148
8060
  msgid "Single product view."
8061
  msgstr ""
8062
 
8063
+ #: includes/settings/wcj-settings-add-to-cart.php:149
8064
+ #: includes/settings/wcj-settings-add-to-cart.php:156
8065
+ #: includes/settings/wcj-settings-add-to-cart.php:213
8066
+ #: includes/settings/wcj-settings-add-to-cart.php:222
8067
  #: includes/settings/wcj-settings-payment-gateways-fees.php:24
8068
  #: includes/settings/wcj-settings-product-custom-info.php:192
8069
  msgid "Leave blank to disable."
8070
  msgstr ""
8071
 
8072
+ #: includes/settings/wcj-settings-add-to-cart.php:149
8073
+ #: includes/settings/wcj-settings-add-to-cart.php:156
8074
+ #: includes/settings/wcj-settings-add-to-cart.php:215
8075
+ #: includes/settings/wcj-settings-add-to-cart.php:224
8076
  #: includes/settings/wcj-settings-sorting.php:27
8077
  #: includes/settings/wcj-settings-sorting.php:36
8078
  #: includes/settings/wcj-settings-sorting.php:45
8082
  msgid "Default: "
8083
  msgstr ""
8084
 
8085
+ #: includes/settings/wcj-settings-add-to-cart.php:155
8086
  msgid "Product category (archive) view."
8087
  msgstr ""
8088
 
8089
+ #: includes/settings/wcj-settings-add-to-cart.php:164
8090
+ msgid "Products not in stock. Product category (archive) view."
8091
  msgstr ""
8092
 
8093
+ #: includes/settings/wcj-settings-add-to-cart.php:165
8094
+ #: includes/settings/wcj-settings-add-to-cart.php:172
8095
  #: includes/settings/wcj-settings-add-to-cart.php:179
8096
+ #: includes/settings/wcj-settings-add-to-cart.php:186
8097
+ #: includes/settings/wcj-settings-add-to-cart.php:193
8098
  msgid "Leave blank to disable. Default: Add to cart"
8099
  msgstr ""
8100
 
8101
+ #: includes/settings/wcj-settings-add-to-cart.php:171
8102
+ msgid "Products on sale. Single product view."
8103
+ msgstr ""
8104
+
8105
  #: includes/settings/wcj-settings-add-to-cart.php:178
8106
  msgid "Products on sale. Product category (archive) view."
8107
  msgstr ""
8108
 
8109
+ #: includes/settings/wcj-settings-add-to-cart.php:185
8110
  msgid "Products with price set to 0 (i.e. free). Single product view."
8111
  msgstr ""
8112
 
8113
+ #: includes/settings/wcj-settings-add-to-cart.php:192
8114
  msgid ""
8115
  "Products with price set to 0 (i.e. free). Product category (archive) view."
8116
  msgstr ""
8117
 
8118
+ #: includes/settings/wcj-settings-add-to-cart.php:199
8119
  msgid "Products with empty price. Product category (archive) view."
8120
  msgstr ""
8121
 
8122
+ #: includes/settings/wcj-settings-add-to-cart.php:200
8123
  msgid "Leave blank to disable. Default: Read More"
8124
  msgstr ""
8125
 
8126
+ #: includes/settings/wcj-settings-add-to-cart.php:212
 
 
 
 
8127
  msgid "Already in cart. Single product view."
8128
  msgstr ""
8129
 
8130
+ #: includes/settings/wcj-settings-add-to-cart.php:214
8131
+ #: includes/settings/wcj-settings-add-to-cart.php:223
8132
  msgid "Try: "
8133
  msgstr ""
8134
 
8135
+ #: includes/settings/wcj-settings-add-to-cart.php:214
8136
+ #: includes/settings/wcj-settings-add-to-cart.php:223
8137
  msgid "Already in cart - Add Again?"
8138
  msgstr ""
8139
 
8140
+ #: includes/settings/wcj-settings-add-to-cart.php:221
8141
  msgid "Already in cart. Product category (archive) view."
8142
  msgstr ""
8143
 
8264
  #: includes/settings/wcj-settings-cart-customization.php:27
8265
  #: includes/settings/wcj-settings-checkout-customization.php:68
8266
  #: includes/settings/wcj-settings-cross-sells.php:87
8267
+ #: includes/settings/wcj-settings-currency.php:22
8268
  #: includes/settings/wcj-settings-my-account.php:151
8269
  #: includes/settings/wcj-settings-my-account.php:158
8270
  #: includes/settings/wcj-settings-order-custom-statuses.php:63
8274
  #: includes/settings/wcj-settings-product-images.php:27
8275
  #: includes/settings/wcj-settings-product-images.php:34
8276
  #: includes/settings/wcj-settings-product-images.php:41
8277
+ #: includes/settings/wcj-settings-related-products.php:173
8278
+ #: includes/settings/wcj-settings-related-products.php:179
8279
  #: includes/settings/wcj-settings-sale-flash.php:35
8280
  #: includes/settings/wcj-settings-sale-flash.php:42
8281
  #: includes/settings/wcj-settings-sale-flash.php:49
8488
  msgid "Change Empty Cart \"Return to shop\" Button Text"
8489
  msgstr ""
8490
 
 
 
 
 
8491
  #: includes/settings/wcj-settings-cart-customization.php:45
8492
  msgid "Use JavaScript"
8493
  msgstr ""
8938
  #: includes/settings/wcj-settings-global-discount.php:158
8939
  #: includes/settings/wcj-settings-payment-gateways-fees.php:116
8940
  #: includes/settings/wcj-settings-product-addons.php:149
8941
+ #: includes/settings/wcj-settings-related-products.php:233
8942
  msgid "Exclude Products"
8943
  msgstr ""
8944
 
8948
 
8949
  #: includes/settings/wcj-settings-checkout-custom-fields.php:369
8950
  #: includes/settings/wcj-settings-global-discount.php:147
8951
+ #: includes/settings/wcj-settings-related-products.php:222
8952
  msgid "Include Products"
8953
  msgstr ""
8954
 
9008
  msgstr ""
9009
 
9010
  #: includes/settings/wcj-settings-checkout-custom-info.php:60
9011
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:121
9012
  msgid "After order review"
9013
  msgstr ""
9014
 
9015
  #: includes/settings/wcj-settings-checkout-custom-info.php:61
9016
  #: includes/settings/wcj-settings-checkout-files-upload.php:57
9017
  #: includes/settings/wcj-settings-empty-cart.php:69
9018
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:122
9019
  msgid "After checkout form"
9020
  msgstr ""
9021
 
9228
  #: includes/settings/wcj-settings-payment-gateways-fees.php:36
9229
  #: includes/settings/wcj-settings-price-by-user-role.php:32
9230
  #: includes/settings/wcj-settings-purchase-data.php:77
9231
+ #: includes/settings/wcj-settings-wholesale-price.php:79
9232
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:19
9233
  msgid "Fixed"
9234
  msgstr ""
9237
  #: includes/settings/wcj-settings-global-discount.php:64
9238
  #: includes/settings/wcj-settings-payment-gateways-fees.php:37
9239
  #: includes/settings/wcj-settings-purchase-data.php:78
9240
+ #: includes/settings/wcj-settings-wholesale-price.php:78
9241
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:18
9242
  msgid "Percent"
9243
  msgstr ""
9415
  msgstr ""
9416
 
9417
  #: includes/settings/wcj-settings-checkout-files-upload.php:233
9418
+ #: includes/settings/wcj-settings-checkout-files-upload.php:431
9419
  #: includes/settings/wcj-settings-order-min-amount.php:76
9420
  msgid "Add notice"
9421
  msgstr ""
9470
  #: includes/settings/wcj-settings-checkout-files-upload.php:298
9471
  #: includes/settings/wcj-settings-checkout-files-upload.php:352
9472
  #: includes/settings/wcj-settings-checkout-files-upload.php:393
9473
+ #: includes/settings/wcj-settings-product-addons.php:322
9474
+ #: includes/settings/wcj-settings-product-addons.php:353
9475
  msgid "Before"
9476
  msgstr ""
9477
 
9493
  #: includes/settings/wcj-settings-checkout-files-upload.php:321
9494
  #: includes/settings/wcj-settings-checkout-files-upload.php:367
9495
  #: includes/settings/wcj-settings-checkout-files-upload.php:408
9496
+ #: includes/settings/wcj-settings-product-addons.php:337
9497
+ #: includes/settings/wcj-settings-product-addons.php:368
9498
  msgid "After"
9499
  msgstr ""
9500
 
9529
  #: includes/settings/wcj-settings-checkout-files-upload.php:421
9530
  #: includes/settings/wcj-settings-currency-per-product.php:251
9531
  #: includes/settings/wcj-settings-eu-vat-number.php:203
9532
+ #: includes/settings/wcj-settings-general.php:56
9533
  #: includes/settings/wcj-settings-payment-gateways.php:49
9534
  #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:43
9535
  #: includes/settings/wcj-settings-product-by-date.php:117
9536
  #: includes/settings/wcj-settings-product-custom-info.php:186
9537
  #: includes/settings/wcj-settings-product-input-fields.php:329
9538
+ #: includes/settings/wcj-settings-shipping-by-condition.php:105
9539
  msgid "Advanced Options"
9540
  msgstr ""
9541
 
9542
  #: includes/settings/wcj-settings-checkout-files-upload.php:426
9543
+ msgid "Notice Type"
9544
+ msgstr ""
9545
+
9546
+ #: includes/settings/wcj-settings-checkout-files-upload.php:432
9547
+ #: includes/settings/wcj-settings-order-min-amount.php:75
9548
+ msgid "Print notice"
9549
  msgstr ""
9550
 
9551
  #: includes/settings/wcj-settings-checkout-files-upload.php:433
9552
+ msgid "Disable notice"
9553
+ msgstr ""
9554
+
9555
+ #: includes/settings/wcj-settings-checkout-files-upload.php:437
9556
+ msgid "Block Potentially Harmful Files"
9557
+ msgstr ""
9558
+
9559
+ #: includes/settings/wcj-settings-checkout-files-upload.php:444
9560
  msgid "Potentially Harmful File Extensions"
9561
  msgstr ""
9562
 
9563
+ #: includes/settings/wcj-settings-checkout-files-upload.php:445
9564
  #, php-format
9565
  msgid "List of file extensions separated by vertical bar %s."
9566
  msgstr ""
9768
 
9769
  #: includes/settings/wcj-settings-cross-sells.php:98
9770
  msgid ""
9771
+ "Enable this section, if you want to add same cross-sells to all products."
9772
  msgstr ""
9773
 
9774
  #: includes/settings/wcj-settings-cross-sells.php:106
9775
  msgid "Global cross-sells"
9776
  msgstr ""
9777
 
9778
+ #: includes/settings/wcj-settings-cross-sells.php:114
9779
+ msgid "Exclude \"Not in Stock\" Products"
9780
+ msgstr ""
9781
+
9782
+ #: includes/settings/wcj-settings-cross-sells.php:116
9783
+ msgid ""
9784
+ "Enable this, if you want to exclude \"not in stock\" products from cross-"
9785
+ "sells."
9786
+ msgstr ""
9787
+
9788
+ #: includes/settings/wcj-settings-cross-sells.php:124
9789
+ msgid "Replace Cart Products with Cross-sells"
9790
+ msgstr ""
9791
+
9792
+ #: includes/settings/wcj-settings-cross-sells.php:126
9793
+ msgid ""
9794
+ "Enable this, if you want original products to be removed from cart and "
9795
+ "replaced with cross-sells, if customer adds cross-sells on cart page."
9796
+ msgstr ""
9797
+
9798
+ #: includes/settings/wcj-settings-cross-sells.php:127
9799
+ #, php-format
9800
+ msgid ""
9801
+ "Please note that this option will work only if \"%s\" option is disabled in "
9802
+ "%s."
9803
+ msgstr ""
9804
+
9805
+ #: includes/settings/wcj-settings-cross-sells.php:128
9806
+ msgid "Enable AJAX add to cart buttons on archives"
9807
+ msgstr ""
9808
+
9809
+ #: includes/settings/wcj-settings-cross-sells.php:129
9810
+ msgid ""
9811
+ "WooCommerce > Settings > Products > General > Shop pages > Add to cart "
9812
+ "behaviour"
9813
+ msgstr ""
9814
+
9815
  #: includes/settings/wcj-settings-currency-exchange-rates.php:18
9816
  #, php-format
9817
  msgid "%s till next update."
9826
  #: includes/settings/wcj-settings-currency-per-product.php:119
9827
  #: includes/settings/wcj-settings-multicurrency-base-price.php:22
9828
  #: includes/settings/wcj-settings-multicurrency.php:22
9829
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:57
9830
+ #: includes/settings/wcj-settings-price-by-country.php:282
9831
  msgid "Exchange Rates Updates"
9832
  msgstr ""
9833
 
9902
  msgstr ""
9903
 
9904
  #: includes/settings/wcj-settings-currency-exchange-rates.php:126
9905
+ #: includes/settings/wcj-settings-currency.php:61
9906
  msgid "Total Custom Currencies"
9907
  msgstr ""
9908
 
9909
  #: includes/settings/wcj-settings-currency-exchange-rates.php:138
9910
+ #: includes/settings/wcj-settings-currency.php:73
9911
  msgid "Custom Currency"
9912
  msgstr ""
9913
 
9914
  #: includes/settings/wcj-settings-currency-exchange-rates.php:157
9915
+ #: includes/settings/wcj-settings-price-by-country.php:277
9916
  msgid "Exchange Rates"
9917
  msgstr ""
9918
 
9929
 
9930
  #: includes/settings/wcj-settings-currency-external-products.php:20
9931
  #: includes/settings/wcj-settings-currency-per-product.php:180
9932
+ #: includes/settings/wcj-settings-multicurrency-base-price.php:107
9933
+ #: includes/settings/wcj-settings-multicurrency.php:153
9934
+ #: includes/settings/wcj-settings-price-by-country.php:257
9935
  #: includes/settings/wcj-settings-price-formats.php:59
9936
  msgid "Currency"
9937
  msgstr ""
10005
  #: includes/settings/wcj-settings-currency-per-product.php:124
10006
  #: includes/settings/wcj-settings-multicurrency-base-price.php:27
10007
  #: includes/settings/wcj-settings-multicurrency.php:28
10008
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:62
10009
+ #: includes/settings/wcj-settings-price-by-country.php:287
10010
  msgid "Enter Rates Manually"
10011
  msgstr ""
10012
 
10013
  #: includes/settings/wcj-settings-currency-per-product.php:125
10014
  #: includes/settings/wcj-settings-multicurrency-base-price.php:28
10015
  #: includes/settings/wcj-settings-multicurrency.php:29
10016
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:63
10017
+ #: includes/settings/wcj-settings-price-by-country.php:288
10018
  msgid "Automatically via Currency Exchange Rates module"
10019
  msgstr ""
10020
 
10021
  #: includes/settings/wcj-settings-currency-per-product.php:128
10022
  #: includes/settings/wcj-settings-multicurrency-base-price.php:31
10023
  #: includes/settings/wcj-settings-multicurrency.php:32
10024
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:66
10025
+ #: includes/settings/wcj-settings-price-by-country.php:291
10026
  msgid "Visit"
10027
  msgstr ""
10028
 
10030
  #: includes/settings/wcj-settings-multicurrency-base-price.php:31
10031
  #: includes/settings/wcj-settings-multicurrency.php:32
10032
  #: includes/settings/wcj-settings-payment-gateways-currency.php:68
10033
+ #: includes/settings/wcj-settings-price-by-country.php:291
10034
  msgid "Currency Exchange Rates module"
10035
  msgstr ""
10036
 
10037
  #: includes/settings/wcj-settings-currency-per-product.php:138
10038
+ #: includes/settings/wcj-settings-multicurrency-base-price.php:78
10039
+ #: includes/settings/wcj-settings-multicurrency.php:122
10040
  msgid "Currencies Options"
10041
  msgstr ""
10042
 
10048
  msgstr ""
10049
 
10050
  #: includes/settings/wcj-settings-currency-per-product.php:144
10051
+ #: includes/settings/wcj-settings-multicurrency-base-price.php:83
10052
+ #: includes/settings/wcj-settings-multicurrency.php:128
10053
  msgid "Total Currencies"
10054
  msgstr ""
10055
 
10073
  "plugins."
10074
  msgstr ""
10075
 
10076
+ #: includes/settings/wcj-settings-currency.php:14
10077
  msgid "Currency Symbol Options"
10078
  msgstr ""
10079
 
10080
+ #: includes/settings/wcj-settings-currency.php:16
10081
+ #, php-format
10082
+ msgid "You can use shortcodes in currency symbols, e.g.: %s."
10083
+ msgstr ""
10084
+
10085
+ #: includes/settings/wcj-settings-currency.php:21
10086
  msgid "Hide Currency Symbol"
10087
  msgstr ""
10088
 
10089
+ #: includes/settings/wcj-settings-currency.php:23
10090
+ msgid "Hides currency symbol completely."
10091
  msgstr ""
10092
 
10093
+ #: includes/settings/wcj-settings-currency.php:56
10094
  msgid "Custom Currencies"
10095
  msgstr ""
10096
 
10097
+ #: includes/settings/wcj-settings-currency.php:74
10098
  msgid "Currency Name (required)"
10099
  msgstr ""
10100
 
10101
+ #: includes/settings/wcj-settings-currency.php:80
10102
  msgid "Currency Code (required)"
10103
  msgstr ""
10104
 
10152
  msgstr ""
10153
 
10154
  #: includes/settings/wcj-settings-email-options.php:26
10155
+ #: includes/settings/wcj-settings-template-editor.php:43
10156
  #: includes/settings/wcj-settings-track-users.php:26
10157
  msgid "Info"
10158
  msgstr ""
10179
  msgstr ""
10180
 
10181
  #: includes/settings/wcj-settings-emails-verification.php:35
10182
+ msgid "Login User After Successful Verification"
10183
+ msgstr ""
10184
+
10185
+ #: includes/settings/wcj-settings-emails-verification.php:42
10186
+ msgid "Redirect User After Successful Verification to Custom URL"
10187
+ msgstr ""
10188
+
10189
+ #: includes/settings/wcj-settings-emails-verification.php:43
10190
+ msgid "Redirect URL. Ignored if empty."
10191
  msgstr ""
10192
 
10193
+ #: includes/settings/wcj-settings-emails-verification.php:54
10194
  msgid "Messages"
10195
  msgstr ""
10196
 
10197
+ #: includes/settings/wcj-settings-emails-verification.php:59
10198
  msgid "Message - Success"
10199
  msgstr ""
10200
 
10201
+ #: includes/settings/wcj-settings-emails-verification.php:66
10202
  msgid "Message - Error"
10203
  msgstr ""
10204
 
10205
+ #: includes/settings/wcj-settings-emails-verification.php:74
10206
  msgid "Message - Failed"
10207
  msgstr ""
10208
 
10209
+ #: includes/settings/wcj-settings-emails-verification.php:82
10210
+ msgid "Message - Failed (no user ID)"
10211
+ msgstr ""
10212
+
10213
+ #: includes/settings/wcj-settings-emails-verification.php:89
10214
  msgid "Message - Activate"
10215
  msgstr ""
10216
 
10217
+ #: includes/settings/wcj-settings-emails-verification.php:96
10218
  msgid "Message - Resend"
10219
  msgstr ""
10220
 
10221
+ #: includes/settings/wcj-settings-emails-verification.php:112
10222
  #: includes/settings/wcj-settings-offer-price.php:317
10223
  msgid "Email Subject"
10224
  msgstr ""
10225
 
10226
+ #: includes/settings/wcj-settings-emails-verification.php:121
10227
  msgid "Email Content"
10228
  msgstr ""
10229
 
10230
+ #: includes/settings/wcj-settings-emails-verification.php:131
10231
  #: includes/settings/wcj-settings-offer-price.php:324
10232
  msgid "Email Template"
10233
  msgstr ""
10234
 
10235
+ #: includes/settings/wcj-settings-emails-verification.php:132
10236
  msgid "Possible values: Plain, WooCommerce."
10237
  msgstr ""
10238
 
10239
+ #: includes/settings/wcj-settings-emails-verification.php:137
10240
  msgid "Plain"
10241
  msgstr ""
10242
 
10243
+ #: includes/settings/wcj-settings-emails-verification.php:144
10244
  msgid "If WooCommerce template is selected, set email heading here."
10245
  msgstr ""
10246
 
10438
  msgstr ""
10439
 
10440
  #: includes/settings/wcj-settings-export.php:20
10441
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:176
10442
  msgid "CSV Separator"
10443
  msgstr ""
10444
 
10609
  msgstr ""
10610
 
10611
  #: includes/settings/wcj-settings-free-price.php:38
10612
+ #: includes/settings/wcj-settings-reports.php:179
10613
  msgid "Variations"
10614
  msgstr ""
10615
 
10616
+ #: includes/settings/wcj-settings-general.php:15
10617
  msgid "Shortcodes Options"
10618
  msgstr ""
10619
 
10620
+ #: includes/settings/wcj-settings-general.php:20
10621
  msgid "Enable All Shortcodes in WordPress Text Widgets"
10622
  msgstr ""
10623
 
10624
+ #: includes/settings/wcj-settings-general.php:21
10625
  msgid ""
10626
  "This will enable all (including non Booster's) shortcodes in WordPress text "
10627
  "widgets."
10628
  msgstr ""
10629
 
10630
+ #: includes/settings/wcj-settings-general.php:28
10631
  msgid "Disable Booster's Shortcodes"
10632
  msgstr ""
10633
 
10634
+ #: includes/settings/wcj-settings-general.php:29
10635
  msgid "Disable all Booster's shortcodes (for memory saving)."
10636
  msgstr ""
10637
 
10638
+ #: includes/settings/wcj-settings-general.php:40
10639
+ #: includes/settings/wcj-settings-general.php:45
10640
  msgid "Product Revisions"
10641
  msgstr ""
10642
 
10643
+ #: includes/settings/wcj-settings-general.php:61
10644
  msgid "Recalculate Cart Totals on Every Page Load"
10645
  msgstr ""
10646
 
10647
+ #: includes/settings/wcj-settings-general.php:68
10648
  msgid "Session Type in Booster"
10649
  msgstr ""
10650
 
10651
+ #: includes/settings/wcj-settings-general.php:73
10652
  msgid "Standard PHP sessions"
10653
  msgstr ""
10654
 
10655
+ #: includes/settings/wcj-settings-general.php:74
10656
  msgid "WC sessions"
10657
  msgstr ""
10658
 
10659
+ #: includes/settings/wcj-settings-general.php:78
10660
  msgid "Disable Loading Datepicker/Weekpicker CSS"
10661
  msgstr ""
10662
 
10663
+ #: includes/settings/wcj-settings-general.php:85
10664
  msgid "Datepicker/Weekpicker CSS"
10665
  msgstr ""
10666
 
10667
+ #: includes/settings/wcj-settings-general.php:92
10668
  msgid "Disable Loading Datepicker/Weekpicker JavaScript"
10669
  msgstr ""
10670
 
10671
+ #: includes/settings/wcj-settings-general.php:99
10672
  msgid "Disable Loading Timepicker CSS"
10673
  msgstr ""
10674
 
10675
+ #: includes/settings/wcj-settings-general.php:106
10676
  msgid "Disable Loading Timepicker JavaScript"
10677
  msgstr ""
10678
 
10679
+ #: includes/settings/wcj-settings-general.php:117
10680
  msgid "PayPal Email per Product Options"
10681
  msgstr ""
10682
 
10683
+ #: includes/settings/wcj-settings-general.php:122
10684
  msgid "PayPal Email per Product"
10685
  msgstr ""
10686
 
10687
+ #: includes/settings/wcj-settings-general.php:124
10688
  #: includes/settings/wcj-settings-max-products-per-user.php:44
10689
  #: includes/settings/wcj-settings-product-by-date.php:54
10690
  #: includes/settings/wcj-settings-product-by-time.php:54
10692
  msgid "This will add new meta box to each product's edit page."
10693
  msgstr ""
10694
 
10695
+ #: includes/settings/wcj-settings-general.php:134
10696
  msgid "Session Expiration Options"
10697
  msgstr ""
10698
 
10699
+ #: includes/settings/wcj-settings-general.php:139
10700
+ #: includes/settings/wcj-settings-general.php:154
10701
  msgid "Session Expiration"
10702
  msgstr ""
10703
 
10704
+ #: includes/settings/wcj-settings-general.php:146
10705
  msgid "Session Expiring"
10706
  msgstr ""
10707
 
10708
+ #: includes/settings/wcj-settings-general.php:147
10709
  msgid "In seconds. Default: 47 hours (60 * 60 * 47)"
10710
  msgstr ""
10711
 
10712
+ #: includes/settings/wcj-settings-general.php:155
10713
  msgid "In seconds. Default: 48 hours (60 * 60 * 48)"
10714
  msgstr ""
10715
 
10716
+ #: includes/settings/wcj-settings-general.php:166
10717
  msgid "Booster User Roles Changer Options"
10718
  msgstr ""
10719
 
10720
+ #: includes/settings/wcj-settings-general.php:167
10721
  msgid "This will add user roles changer tool to admin bar."
10722
  msgstr ""
10723
 
10724
+ #: includes/settings/wcj-settings-general.php:173
10725
  msgid "Booster User Roles Changer"
10726
  msgstr ""
10727
 
10728
+ #: includes/settings/wcj-settings-general.php:182
10729
  msgid "Enabled for"
10730
  msgstr ""
10731
 
10767
  msgstr ""
10768
 
10769
  #: includes/settings/wcj-settings-global-discount.php:85
10770
+ #: includes/settings/wcj-settings-multicurrency.php:79
10771
+ #: includes/settings/wcj-settings-price-by-country.php:83
10772
  #: includes/settings/wcj-settings-product-price-by-formula.php:70
10773
  msgid "Round"
10774
  msgstr ""
10811
  msgstr ""
10812
 
10813
  #: includes/settings/wcj-settings-global-discount.php:110
10814
+ #: includes/settings/wcj-settings-related-products.php:185
10815
  msgid "Include Product Categories"
10816
  msgstr ""
10817
 
10822
  msgstr ""
10823
 
10824
  #: includes/settings/wcj-settings-global-discount.php:119
10825
+ #: includes/settings/wcj-settings-related-products.php:194
10826
  msgid "Exclude Product Categories"
10827
  msgstr ""
10828
 
10833
  msgstr ""
10834
 
10835
  #: includes/settings/wcj-settings-global-discount.php:128
10836
+ #: includes/settings/wcj-settings-related-products.php:203
10837
  msgid "Include Product Tags"
10838
  msgstr ""
10839
 
10844
  msgstr ""
10845
 
10846
  #: includes/settings/wcj-settings-global-discount.php:137
10847
+ #: includes/settings/wcj-settings-related-products.php:212
10848
  msgid "Exclude Product Tags"
10849
  msgstr ""
10850
 
10866
  "apply to all products."
10867
  msgstr ""
10868
 
10869
+ #: includes/settings/wcj-settings-global-discount.php:175
10870
+ #: includes/settings/wcj-settings-product-price-by-formula.php:87
10871
+ msgid "Advanced Settings"
10872
+ msgstr ""
10873
+
10874
+ #: includes/settings/wcj-settings-global-discount.php:180
10875
+ #: includes/settings/wcj-settings-product-price-by-formula.php:92
10876
+ msgid "Price Filters Priority"
10877
+ msgstr ""
10878
+
10879
+ #: includes/settings/wcj-settings-global-discount.php:181
10880
+ #: includes/settings/wcj-settings-multicurrency-base-price.php:68
10881
+ #: includes/settings/wcj-settings-multicurrency.php:112
10882
+ #: includes/settings/wcj-settings-price-by-country.php:157
10883
+ #: includes/settings/wcj-settings-price-by-user-role.php:70
10884
+ #: includes/settings/wcj-settings-product-addons.php:242
10885
+ #: includes/settings/wcj-settings-product-price-by-formula.php:93
10886
+ msgid ""
10887
+ "Priority for all module's price filters. Set to zero to use default priority."
10888
+ msgstr ""
10889
+
10890
  #: includes/settings/wcj-settings-left-to-free-shipping.php:14
10891
  msgid "Left to Free Shipping Info Options"
10892
  msgstr ""
10915
  #: includes/settings/wcj-settings-left-to-free-shipping.php:35
10916
  #: includes/settings/wcj-settings-left-to-free-shipping.php:66
10917
  #: includes/settings/wcj-settings-left-to-free-shipping.php:100
10918
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:133
10919
  msgid "You can use HTML and/or shortcodes (e.g. [wcj_wpml]) here."
10920
  msgstr ""
10921
 
10933
 
10934
  #: includes/settings/wcj-settings-left-to-free-shipping.php:50
10935
  #: includes/settings/wcj-settings-left-to-free-shipping.php:84
10936
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:126
10937
  msgid "Position Order (Priority)"
10938
  msgstr ""
10939
 
10960
  msgid "Info on Checkout"
10961
  msgstr ""
10962
 
10963
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:119
10964
+ msgid "Order review: Payment: Before submit button"
10965
+ msgstr ""
10966
+
10967
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:120
10968
+ msgid "Order review: Payment: After submit button"
10969
  msgstr ""
10970
 
10971
  #: includes/settings/wcj-settings-left-to-free-shipping.php:132
10972
+ msgid "Message on Free Shipping Reached"
10973
+ msgstr ""
10974
+
10975
+ #: includes/settings/wcj-settings-left-to-free-shipping.php:134
10976
  msgid "Set empty to disable."
10977
  msgstr ""
10978
 
11063
  msgid "Convert Product Prices in Admin Products List"
11064
  msgstr ""
11065
 
11066
+ #: includes/settings/wcj-settings-multicurrency-base-price.php:67
11067
+ #: includes/settings/wcj-settings-multicurrency.php:111
11068
+ #: includes/settings/wcj-settings-price-by-country.php:156
11069
+ #: includes/settings/wcj-settings-price-by-user-role.php:69
11070
+ #: includes/settings/wcj-settings-product-addons.php:241
11071
+ msgid "Advanced: Price Filters Priority"
11072
+ msgstr ""
11073
+
11074
  #: includes/settings/wcj-settings-multicurrency.php:23
11075
  msgid ""
11076
  "Select how you want currency exchange rates to be updated. Possible options "
11104
  msgstr ""
11105
 
11106
  #: includes/settings/wcj-settings-multicurrency.php:59
11107
+ msgid "Revert Currency to Shop's Default"
 
11108
  msgstr ""
11109
 
11110
  #: includes/settings/wcj-settings-multicurrency.php:60
11111
  msgid ""
11112
  "Enable this if you want prices to revert back to your shop's default "
11113
+ "currency, when customer reaches the cart and/or checkout page."
11114
+ msgstr ""
11115
+
11116
+ #: includes/settings/wcj-settings-multicurrency.php:65
11117
+ msgid "Do not revert"
11118
+ msgstr ""
11119
+
11120
+ #: includes/settings/wcj-settings-multicurrency.php:66
11121
+ msgid "Revert on cart page only"
11122
  msgstr ""
11123
 
11124
  #: includes/settings/wcj-settings-multicurrency.php:67
11125
+ msgid "Revert on checkout page only"
11126
+ msgstr ""
11127
+
11128
+ #: includes/settings/wcj-settings-multicurrency.php:68
11129
+ msgid "Revert on both cart & checkout pages"
11130
+ msgstr ""
11131
+
11132
+ #: includes/settings/wcj-settings-multicurrency.php:72
11133
  #: includes/settings/wcj-settings-payment-gateways-fees.php:65
11134
  #: includes/settings/wcj-settings-product-price-by-formula.php:64
11135
  msgid "Rounding"
11136
  msgstr ""
11137
 
11138
+ #: includes/settings/wcj-settings-multicurrency.php:73
11139
  msgid "If using exchange rates, choose rounding here."
11140
  msgstr ""
11141
 
11142
+ #: includes/settings/wcj-settings-multicurrency.php:78
11143
+ #: includes/settings/wcj-settings-price-by-country.php:82
11144
  msgid "No rounding"
11145
  msgstr ""
11146
 
11147
+ #: includes/settings/wcj-settings-multicurrency.php:80
11148
+ #: includes/settings/wcj-settings-price-by-country.php:85
11149
  #: includes/settings/wcj-settings-product-price-by-formula.php:71
11150
  msgid "Round up"
11151
  msgstr ""
11152
 
11153
+ #: includes/settings/wcj-settings-multicurrency.php:81
11154
+ #: includes/settings/wcj-settings-price-by-country.php:84
11155
  #: includes/settings/wcj-settings-product-price-by-formula.php:72
11156
  msgid "Round down"
11157
  msgstr ""
11158
 
11159
+ #: includes/settings/wcj-settings-multicurrency.php:85
11160
  msgid "Rounding Precision"
11161
  msgstr ""
11162
 
11163
+ #: includes/settings/wcj-settings-multicurrency.php:86
11164
  msgid "If rounding is enabled, set rounding precision here."
11165
  msgstr ""
11166
 
11167
+ #: includes/settings/wcj-settings-multicurrency.php:93
11168
  msgid "Currency Switcher Template"
11169
  msgstr ""
11170
 
11171
+ #: includes/settings/wcj-settings-multicurrency.php:94
11172
  msgid "Set how you want currency switcher to be displayed on frontend."
11173
  msgstr ""
11174
 
11175
+ #: includes/settings/wcj-settings-multicurrency.php:102
11176
  msgid "Advanced: Additional Price Filters"
11177
  msgstr ""
11178
 
11179
+ #: includes/settings/wcj-settings-multicurrency.php:103
11180
  msgid ""
11181
  "Add additional price filters here. One per line. Leave blank if not sure."
11182
  msgstr ""
11183
 
11184
+ #: includes/settings/wcj-settings-multicurrency.php:104
11185
  #: includes/settings/wcj-settings-offer-price.php:73
11186
  #, php-format
11187
  msgid "E.g.: %s"
11188
  msgstr ""
11189
 
11190
+ #: includes/settings/wcj-settings-multicurrency.php:124
 
 
 
 
 
 
 
 
 
 
 
 
 
11191
  msgid ""
11192
  "One currency probably should be set to current (original) shop currency with "
11193
  "an exchange rate of 1."
11194
  msgstr ""
11195
 
11196
+ #: includes/settings/wcj-settings-multicurrency.php:129
11197
  msgid ""
11198
  "Press Save changes after setting this option, so new settings fields will be "
11199
  "added."
11200
  msgstr ""
11201
 
11202
+ #: includes/settings/wcj-settings-multicurrency.php:178
11203
  msgid "Role Defaults"
11204
  msgstr ""
11205
 
11206
+ #: includes/settings/wcj-settings-multicurrency.php:185
11207
  msgid "Roles"
11208
  msgstr ""
11209
 
11210
+ #: includes/settings/wcj-settings-multicurrency.php:186
11211
+ #: includes/settings/wcj-settings-wholesale-price.php:178
11212
  msgid "Save settings after you change this option. Leave blank to disable."
11213
  msgstr ""
11214
 
11215
+ #: includes/settings/wcj-settings-multicurrency.php:209
11216
  msgid "No default currency"
11217
  msgstr ""
11218
 
11493
  msgstr ""
11494
 
11495
  #: includes/settings/wcj-settings-offer-price.php:28
 
11496
  msgid "Enable per product"
11497
  msgstr ""
11498
 
11689
  msgstr ""
11690
 
11691
  #: includes/settings/wcj-settings-order-custom-statuses.php:25
11692
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:43
11693
  msgid "No changes"
11694
  msgstr ""
11695
 
11824
  msgid "Cart notice method"
11825
  msgstr ""
11826
 
 
 
 
 
11827
  #: includes/settings/wcj-settings-order-min-amount.php:80
11828
  msgid "Cart notice type"
11829
  msgstr ""
12306
  msgid "Leave empty to disable."
12307
  msgstr ""
12308
 
12309
+ #: includes/settings/wcj-settings-payment-gateways-by-currency.php:29
12310
  #, php-format
12311
  msgid "PayPal allows only these currencies: %s."
12312
  msgstr ""
12313
 
12314
+ #: includes/settings/wcj-settings-payment-gateways-by-currency.php:46
12315
  msgid "Allowed Currencies"
12316
  msgstr ""
12317
 
12318
+ #: includes/settings/wcj-settings-payment-gateways-by-currency.php:57
12319
  msgid "Denied Currencies"
12320
  msgstr ""
12321
 
12361
  msgid "Exclude User Roles"
12362
  msgstr ""
12363
 
12364
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:15
12365
  msgid "Payment Gateways Currency Options"
12366
  msgstr ""
12367
 
12368
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:17
12369
  msgid "This section lets you set different currency for each payment gateway."
12370
  msgstr ""
12371
 
12372
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:73
12373
+ msgid "Advanced: Fix \"Chosen Payment Method\""
12374
+ msgstr ""
12375
+
12376
+ #: includes/settings/wcj-settings-payment-gateways-currency.php:75
12377
+ msgid ""
12378
+ "Enable this if you are having compatibility issues with some other plugins "
12379
+ "or modules."
12380
+ msgstr ""
12381
+
12382
  #: includes/settings/wcj-settings-payment-gateways-fees.php:23
12383
  msgid "Fee (or Discount) Title"
12384
  msgstr ""
12517
  msgid "Success"
12518
  msgstr ""
12519
 
 
 
 
 
12520
  #: includes/settings/wcj-settings-payment-gateways-min-max.php:88
12521
  msgid "Min"
12522
  msgstr ""
12704
  "zip will stop working, if you enable this checkbox."
12705
  msgstr ""
12706
 
12707
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:94
12708
  msgid "Fonts Manager"
12709
  msgstr ""
12710
 
12711
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:103
12712
  msgid "Re-download"
12713
  msgstr ""
12714
 
12715
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:103
12716
  msgid "Download"
12717
  msgstr ""
12718
 
12719
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:108
12720
  msgid "Disable Fonts Download"
12721
  msgstr ""
12722
 
12723
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:119
12724
  msgid "General Display Options"
12725
  msgstr ""
12726
 
12727
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:124
12728
  msgid "Add PDF Invoices Meta Box to Admin Edit Order Page"
12729
  msgstr ""
12730
 
12731
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:131
12732
  msgid "Open docs in new window"
12733
  msgstr ""
12734
 
12735
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:137
12736
+ msgid "Add editable numbers and dates"
12737
  msgstr ""
12738
 
12739
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:147
12740
  msgid "Report Tool Options"
12741
  msgstr ""
12742
 
12743
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:152
12744
  msgid "Reports Filename"
12745
  msgstr ""
12746
 
12747
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:160
12748
  msgid "Report Columns"
12749
  msgstr ""
12750
 
12751
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:161
12752
  msgid "Leave blank to show all columns."
12753
  msgstr ""
12754
 
12755
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:169
12756
  msgid "Tax Percent Precision"
12757
  msgstr ""
12758
 
12759
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:182
12760
  msgid "CSV UTF-8 BOM"
12761
  msgstr ""
12762
 
12763
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:189
12764
  msgid "Replace Periods with Commas in CSV Data"
12765
  msgstr ""
12766
 
12767
+ #: includes/settings/wcj-settings-pdf-invoicing-advanced.php:190
12768
  msgid "Replace"
12769
  msgstr ""
12770
 
12771
  #: includes/settings/wcj-settings-pdf-invoicing-display.php:25
12772
+ #: includes/settings/wcj-settings-price-by-country.php:264
12773
  #: includes/settings/wcj-settings-shipping.php:30
12774
  msgid "Admin Title"
12775
  msgstr ""
13082
  msgstr ""
13083
 
13084
  #: includes/settings/wcj-settings-price-by-country.php:14
13085
+ msgid "All countries and currencies"
13086
+ msgstr ""
13087
+
13088
+ #: includes/settings/wcj-settings-price-by-country.php:15
13089
+ msgid "PayPal supported currencies only"
13090
+ msgstr ""
13091
+
13092
+ #: includes/settings/wcj-settings-price-by-country.php:19
13093
+ msgid "Available in Booster Plus only."
13094
+ msgstr ""
13095
+
13096
+ #: includes/settings/wcj-settings-price-by-country.php:22
13097
+ msgid ""
13098
+ "All existing country groups will be deleted and new groups will be created. "
13099
+ "Are you sure?"
13100
+ msgstr ""
13101
+
13102
+ #: includes/settings/wcj-settings-price-by-country.php:30
13103
  msgid "Price by Country Options"
13104
  msgstr ""
13105
 
13106
+ #: includes/settings/wcj-settings-price-by-country.php:32
13107
  msgid ""
13108
  "Change product's price and currency by customer's country. Customer's "
13109
  "country is detected automatically by IP, or selected by customer manually."
13110
  msgstr ""
13111
 
13112
+ #: includes/settings/wcj-settings-price-by-country.php:36
13113
  msgid "Customer Country Detection Method"
13114
  msgstr ""
13115
 
13116
+ #: includes/settings/wcj-settings-price-by-country.php:38
13117
  msgid ""
13118
  "If you choose \"by user selection\", use [wcj_country_select_drop_down_list] "
13119
  "shortcode to display country selection list on frontend."
13120
  msgstr ""
13121
 
13122
+ #: includes/settings/wcj-settings-price-by-country.php:42
13123
  msgid "by IP"
13124
  msgstr ""
13125
 
13126
+ #: includes/settings/wcj-settings-price-by-country.php:43
13127
  msgid "by IP, then by user selection"
13128
  msgstr ""
13129
 
13130
+ #: includes/settings/wcj-settings-price-by-country.php:44
13131
  msgid "by user selection"
13132
  msgstr ""
13133
 
13134
+ #: includes/settings/wcj-settings-price-by-country.php:48
13135
  msgid "Override Country Options"
13136
  msgstr ""
13137
 
13138
+ #: includes/settings/wcj-settings-price-by-country.php:53
13139
  msgid "No Override"
13140
  msgstr ""
13141
 
13142
+ #: includes/settings/wcj-settings-price-by-country.php:54
13143
  msgid "Override Country with Customer's Checkout Billing Country"
13144
  msgstr ""
13145
 
13146
+ #: includes/settings/wcj-settings-price-by-country.php:55
13147
  msgid "Override Country with Customer's Checkout Shipping Country"
13148
  msgstr ""
13149
 
13150
+ #: includes/settings/wcj-settings-price-by-country.php:59
13151
  msgid "Override Scope"
13152
  msgstr ""
13153
 
13154
+ #: includes/settings/wcj-settings-price-by-country.php:64
13155
  msgid "All site"
13156
  msgstr ""
13157
 
13158
+ #: includes/settings/wcj-settings-price-by-country.php:65
13159
  msgid "Checkout only"
13160
  msgstr ""
13161
 
13162
+ #: includes/settings/wcj-settings-price-by-country.php:69
13163
+ msgid "Revert Currency to Default on Checkout"
13164
+ msgstr ""
13165
+
13166
+ #: includes/settings/wcj-settings-price-by-country.php:76
13167
  msgid "Price Rounding"
13168
  msgstr ""
13169
 
13170
+ #: includes/settings/wcj-settings-price-by-country.php:77
13171
  msgid "If you choose to multiply price, set rounding options here."
13172
  msgstr ""
13173
 
13174
+ #: includes/settings/wcj-settings-price-by-country.php:89
13175
  msgid "Make Pretty Price"
13176
  msgstr ""
13177
 
13178
+ #: includes/settings/wcj-settings-price-by-country.php:91
13179
  msgid ""
13180
  "If enabled, this will be applied if exchange rates are used. Final converted "
13181
  "price will be rounded, then decreased by smallest possible value. For "
13184
  "above zero."
13185
  msgstr ""
13186
 
13187
+ #: includes/settings/wcj-settings-price-by-country.php:97
13188
  msgid "Discount Min Amount Multiplier"
13189
  msgstr ""
13190
 
13191
+ #: includes/settings/wcj-settings-price-by-country.php:98
13192
  msgid ""
13193
  "If \"Make Pretty Price\" is enabled, here you can set by how many smallest "
13194
  "possible values (e.g. cents) final price should be decreased."
13195
  msgstr ""
13196
 
13197
+ #: includes/settings/wcj-settings-price-by-country.php:105
13198
  msgid "Price by Country on per Product Basis"
13199
  msgstr ""
13200
 
13201
+ #: includes/settings/wcj-settings-price-by-country.php:107
13202
  msgid "This will add product data fields in product edit."
13203
  msgstr ""
13204
 
13205
+ #: includes/settings/wcj-settings-price-by-country.php:113
13206
  msgid "Per product options - backend style"
13207
  msgstr ""
13208
 
13209
+ #: includes/settings/wcj-settings-price-by-country.php:118
13210
  #: includes/settings/wcj-settings-product-msrp.php:96
13211
  msgid "Inline"
13212
  msgstr ""
13213
 
13214
+ #: includes/settings/wcj-settings-price-by-country.php:119
13215
  msgid "Separate meta box"
13216
  msgstr ""
13217
 
13218
+ #: includes/settings/wcj-settings-price-by-country.php:123
13219
  msgid "Per product options - backend user role visibility"
13220
  msgstr ""
13221
 
13222
+ #: includes/settings/wcj-settings-price-by-country.php:124
13223
  msgid "Leave empty to show to all user roles."
13224
  msgstr ""
13225
 
13226
+ #: includes/settings/wcj-settings-price-by-country.php:132
13227
  msgid "Price Filter Widget and Sorting by Price Support"
13228
  msgstr ""
13229
 
13230
+ #: includes/settings/wcj-settings-price-by-country.php:135
13231
  msgid "Recalculate price filter widget and sorting by price product prices"
13232
  msgstr ""
13233
 
13234
+ #: includes/settings/wcj-settings-price-by-country.php:141
13235
  msgid "Add Countries Flags Images to Select Drop-Down Box"
13236
  msgstr ""
13237
 
13238
+ #: includes/settings/wcj-settings-price-by-country.php:143
13239
  msgid ""
13240
  "If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
13241
  "Country Switcher\" widget, this will add country flags to these select boxes."
13242
  msgstr ""
13243
 
13244
+ #: includes/settings/wcj-settings-price-by-country.php:149
13245
  #: includes/settings/wcj-settings-price-by-user-role.php:62
13246
  msgid "Search Engine Bots"
13247
  msgstr ""
13248
 
13249
+ #: includes/settings/wcj-settings-price-by-country.php:150
13250
  msgid "Disable Price by Country for Bots"
13251
  msgstr ""
13252
 
13253
+ #: includes/settings/wcj-settings-price-by-country.php:163
13254
  msgid "Advanced: User IP Detection Method"
13255
  msgstr ""
13256
 
13257
+ #: includes/settings/wcj-settings-price-by-country.php:177
13258
  msgid "Country Groups"
13259
  msgstr ""
13260
 
13261
+ #: includes/settings/wcj-settings-price-by-country.php:182
13262
  msgid "Countries Selection"
13263
  msgstr ""
13264
 
13265
+ #: includes/settings/wcj-settings-price-by-country.php:183
13266
  msgid "Choose how do you want to enter countries groups in admin."
13267
  msgstr ""
13268
 
13269
+ #: includes/settings/wcj-settings-price-by-country.php:188
13270
  msgid "Comma separated list"
13271
  msgstr ""
13272
 
13273
+ #: includes/settings/wcj-settings-price-by-country.php:189
13274
  msgid "Multiselect"
13275
  msgstr ""
13276
 
13277
+ #: includes/settings/wcj-settings-price-by-country.php:190
13278
  #: includes/settings/wcj-settings-product-by-condition.php:82
13279
+ #: includes/settings/wcj-settings-related-products.php:164
13280
  msgid "Chosen select"
13281
  msgstr ""
13282
 
13283
+ #: includes/settings/wcj-settings-price-by-country.php:194
13284
  msgid "Autogenerate Groups"
13285
  msgstr ""
13286
 
13287
+ #: includes/settings/wcj-settings-price-by-country.php:200
 
 
 
 
 
 
 
 
 
 
 
 
13288
  msgid "Groups Number"
13289
  msgstr ""
13290
 
13291
+ #: includes/settings/wcj-settings-price-by-country.php:224
13292
  msgid ""
13293
  "Countries. List of comma separated country codes.<br>For country codes and "
13294
+ "predefined sets visit <a href=\"https://booster.io/country-codes/\" target="
13295
  "\"_blank\">https://booster.io/country-codes/</a>"
13296
  msgstr ""
13297
 
13298
+ #: includes/settings/wcj-settings-price-by-country.php:310
13299
  msgid "Multiply Price by"
13300
  msgstr ""
13301
 
13348
  msgstr ""
13349
 
13350
  #: includes/settings/wcj-settings-price-by-user-role.php:76
13351
+ #: includes/settings/wcj-settings-wholesale-price.php:117
13352
  msgid "Advanced: Price Changes"
13353
  msgstr ""
13354
 
13357
  msgstr ""
13358
 
13359
  #: includes/settings/wcj-settings-price-by-user-role.php:78
13360
+ #: includes/settings/wcj-settings-wholesale-price.php:119
13361
  msgid ""
13362
  "Try enabling this checkbox, if you are having compatibility issues with "
13363
  "other plugins."
13915
  msgstr ""
13916
 
13917
  #: includes/settings/wcj-settings-product-addons.php:212
13918
+ #: includes/settings/wcj-settings-shipping-by-condition.php:111
13919
  #: includes/settings/wcj-settings-shipping-options.php:41
13920
  msgid "Set to zero to use the default priority."
13921
  msgstr ""
13929
  msgstr ""
13930
 
13931
  #: includes/settings/wcj-settings-product-addons.php:229
13932
+ msgid ""
13933
+ "If you have selected \"By module\" for \"Advanced: Apply Price Filter\" "
13934
+ "option, you can set which modules to apply here. Leave empty to apply all "
13935
+ "modules."
13936
+ msgstr ""
13937
+
13938
+ #: includes/settings/wcj-settings-product-addons.php:248
13939
  #: includes/settings/wcj-settings-product-bookings.php:98
13940
  #: includes/settings/wcj-settings-product-open-pricing.php:127
13941
  msgid "Advanced: Check for Outputted Data"
13942
  msgstr ""
13943
 
13944
+ #: includes/settings/wcj-settings-product-addons.php:250
13945
  #: includes/settings/wcj-settings-product-bookings.php:100
13946
  #: includes/settings/wcj-settings-product-input-fields.php:336
13947
  #: includes/settings/wcj-settings-product-open-pricing.php:129
13950
  "on frontend twice. Disable if you see no data outputted."
13951
  msgstr ""
13952
 
13953
+ #: includes/settings/wcj-settings-product-addons.php:260
13954
  msgid "Frontend Templates"
13955
  msgstr ""
13956
 
13957
+ #: includes/settings/wcj-settings-product-addons.php:265
13958
  msgid "Each Addon - Title"
13959
  msgstr ""
13960
 
13961
+ #: includes/settings/wcj-settings-product-addons.php:273
13962
  msgid "Each Addon - Type: Checkbox"
13963
  msgstr ""
13964
 
13965
+ #: includes/settings/wcj-settings-product-addons.php:281
13966
  msgid "Each Addon - Type: Text"
13967
  msgstr ""
13968
 
13969
+ #: includes/settings/wcj-settings-product-addons.php:289
13970
  msgid "Each Addon - Type: Select Box"
13971
  msgstr ""
13972
 
13973
+ #: includes/settings/wcj-settings-product-addons.php:297
13974
  msgid "Each Addon - Type: Radio Button (Each)"
13975
  msgstr ""
13976
 
13977
+ #: includes/settings/wcj-settings-product-addons.php:305
13978
  msgid "All Addons - Final"
13979
  msgstr ""
13980
 
13981
+ #: includes/settings/wcj-settings-product-addons.php:317
13982
  msgid "Cart Template"
13983
  msgstr ""
13984
 
13985
+ #: includes/settings/wcj-settings-product-addons.php:329
13986
+ #: includes/settings/wcj-settings-product-addons.php:360
13987
  msgid "Each Addon"
13988
  msgstr ""
13989
 
13990
+ #: includes/settings/wcj-settings-product-addons.php:348
13991
  msgid "Order Details Table Template"
13992
  msgstr ""
13993
 
14157
  msgstr ""
14158
 
14159
  #: includes/settings/wcj-settings-product-by-condition.php:83
14160
+ #: includes/settings/wcj-settings-related-products.php:165
14161
  #: includes/shortcodes/class-wcj-shortcodes-order-items.php:189
14162
  msgid "Standard"
14163
  msgstr ""
14414
  msgstr ""
14415
 
14416
  #: includes/settings/wcj-settings-product-custom-info.php:131
14417
+ #: includes/settings/wcj-settings-wholesale-price.php:100
14418
  msgid "Product Categories to Include"
14419
  msgstr ""
14420
 
14428
  msgstr ""
14429
 
14430
  #: includes/settings/wcj-settings-product-custom-info.php:139
14431
+ #: includes/settings/wcj-settings-wholesale-price.php:109
14432
  msgid "Product Categories to Exclude"
14433
  msgstr ""
14434
 
14442
 
14443
  #: includes/settings/wcj-settings-product-custom-info.php:163
14444
  #: includes/settings/wcj-settings-products-xml.php:147
14445
+ #: includes/settings/wcj-settings-wholesale-price.php:83
14446
  msgid "Products to Include"
14447
  msgstr ""
14448
 
14449
  #: includes/settings/wcj-settings-product-custom-info.php:171
14450
  #: includes/settings/wcj-settings-products-xml.php:157
14451
+ #: includes/settings/wcj-settings-wholesale-price.php:92
14452
  msgid "Products to Exclude"
14453
  msgstr ""
14454
 
14518
  msgid "Single Product Thumbnails Columns"
14519
  msgstr ""
14520
 
14521
+ #: includes/settings/wcj-settings-product-images.php:84
14522
+ msgid "Placeholder Image"
14523
+ msgstr ""
14524
+
14525
+ #: includes/settings/wcj-settings-product-images.php:89
14526
+ msgid "Custom Placeholder Image URL"
14527
+ msgstr ""
14528
+
14529
+ #: includes/settings/wcj-settings-product-images.php:90
14530
+ msgid "Leave blank to use the default placeholder image."
14531
+ msgstr ""
14532
+
14533
  #: includes/settings/wcj-settings-product-info.php:14
14534
  msgid "Products Info"
14535
  msgstr ""
14639
  #: includes/settings/wcj-settings-product-input-fields.php:144
14640
  #: includes/settings/wcj-settings-product-input-fields.php:156
14641
  #: includes/settings/wcj-settings-product-input-fields.php:168
14642
+ #: includes/settings/wcj-settings-wholesale-price.php:84
14643
+ #: includes/settings/wcj-settings-wholesale-price.php:101
14644
  msgid "Leave blank to include all products."
14645
  msgstr ""
14646
 
15630
  "product basis."
15631
  msgstr ""
15632
 
15633
+ #: includes/settings/wcj-settings-related-products.php:159
15634
+ msgid "Relate Manually: Select box type"
15635
+ msgstr ""
15636
+
15637
+ #: includes/settings/wcj-settings-related-products.php:178
15638
  msgid "Hide Related Products"
15639
  msgstr ""
15640
 
15641
+ #: includes/settings/wcj-settings-related-products.php:186
15642
  msgid ""
15643
  "Set this field to hide related products on selected product categories only. "
15644
  "Leave blank to hide on all products."
15645
  msgstr ""
15646
 
15647
+ #: includes/settings/wcj-settings-related-products.php:195
15648
  msgid ""
15649
  "Set this field to NOT hide related products on selected product categories. "
15650
  "Leave blank to hide on all products."
15651
  msgstr ""
15652
 
15653
+ #: includes/settings/wcj-settings-related-products.php:204
15654
  msgid ""
15655
  "Set this field to hide related products on selected product tags only. Leave "
15656
  "blank to hide on all products."
15657
  msgstr ""
15658
 
15659
+ #: includes/settings/wcj-settings-related-products.php:213
15660
  msgid ""
15661
  "Set this field to NOT hide related products on selected product tags. Leave "
15662
  "blank to hide on all products."
15663
  msgstr ""
15664
 
15665
+ #: includes/settings/wcj-settings-related-products.php:223
15666
  msgid ""
15667
  "Set this field to hide related products on selected products only. Leave "
15668
  "blank to hide on all products."
15669
  msgstr ""
15670
 
15671
+ #: includes/settings/wcj-settings-related-products.php:234
15672
  msgid ""
15673
  "Set this field to NOT hide related products on selected products. Leave "
15674
  "blank to hide on all products."
15675
  msgstr ""
15676
 
15677
  #: includes/settings/wcj-settings-reports.php:14
15678
+ msgid "Orders Reports"
15679
+ msgstr ""
15680
+
15681
+ #: includes/settings/wcj-settings-reports.php:19
15682
  msgid "Product Sales (Daily)"
15683
  msgstr ""
15684
 
15685
+ #: includes/settings/wcj-settings-reports.php:26
15686
  msgid "Report columns"
15687
  msgstr ""
15688
 
15689
+ #: includes/settings/wcj-settings-reports.php:27
15690
  msgid "Set empty to include all columns."
15691
  msgstr ""
15692
 
15693
+ #: includes/settings/wcj-settings-reports.php:35
15694
  msgid "Order statuses"
15695
  msgstr ""
15696
 
15697
+ #: includes/settings/wcj-settings-reports.php:36
15698
  msgid "Set empty to include all statuses."
15699
  msgstr ""
15700
 
15701
+ #: includes/settings/wcj-settings-reports.php:44
15702
+ #: includes/settings/wcj-settings-reports.php:85
15703
  msgid "Include taxes"
15704
  msgstr ""
15705
 
15706
+ #: includes/settings/wcj-settings-reports.php:51
15707
+ #: includes/settings/wcj-settings-reports.php:92
15708
  msgid "Count variations for variable products"
15709
  msgstr ""
15710
 
15711
+ #: includes/settings/wcj-settings-reports.php:57
15712
  msgid "Product Sales (Monthly)"
15713
  msgstr ""
15714
 
15715
+ #: includes/settings/wcj-settings-reports.php:64
15716
  msgid "Display item sales"
15717
  msgstr ""
15718
 
15719
+ #: includes/settings/wcj-settings-reports.php:71
15720
  msgid "Display sales sum"
15721
  msgstr ""
15722
 
15723
+ #: includes/settings/wcj-settings-reports.php:78
15724
  msgid "Display profit"
15725
  msgstr ""
15726
 
15727
+ #: includes/settings/wcj-settings-reports.php:98
15728
  msgid "Monthly Sales (with Currency Conversion)"
15729
  msgstr ""
15730
 
15731
+ #: includes/settings/wcj-settings-reports.php:105
15732
  msgid "Include current day for current month"
15733
  msgstr ""
15734
 
15735
+ #: includes/settings/wcj-settings-reports.php:112
15736
  msgid "Forecast total orders and sum (excl. TAX) for current month and year"
15737
  msgstr ""
15738
 
15739
+ #: includes/settings/wcj-settings-reports.php:128
15740
+ msgid "Customers Reports"
15741
+ msgstr ""
15742
+
15743
+ #: includes/settings/wcj-settings-reports.php:133
15744
  msgid "Customers by Country"
15745
  msgstr ""
15746
 
15747
+ #: includes/settings/wcj-settings-reports.php:139
15748
  msgid "Customers by Country Sets"
15749
  msgstr ""
15750
 
15751
+ #: includes/settings/wcj-settings-reports.php:149
15752
+ msgid "Stock Reports"
15753
+ msgstr ""
15754
+
15755
+ #: includes/settings/wcj-settings-reports.php:154
15756
  msgid "All in Stock with sales data"
15757
  msgstr ""
15758
 
15759
+ #: includes/settings/wcj-settings-reports.php:160
15760
  msgid "Understocked products (calculated by sales data)"
15761
  msgstr ""
15762
 
15763
+ #: includes/settings/wcj-settings-reports.php:166
15764
  msgid "Overstocked products (calculated by sales data)"
15765
  msgstr ""
15766
 
15767
+ #: includes/settings/wcj-settings-reports.php:173
15768
+ msgid "product type"
15769
  msgstr ""
15770
 
15771
+ #: includes/settings/wcj-settings-reports.php:174
15772
+ msgid "Product type for all \"Stock\" reports."
15773
+ msgstr ""
15774
+
15775
+ #: includes/settings/wcj-settings-reports.php:180
15776
+ msgid "Both products and variations"
15777
+ msgstr ""
15778
+
15779
+ #: includes/settings/wcj-settings-reports.php:185
15780
+ msgid "Include deleted products"
15781
+ msgstr ""
15782
+
15783
+ #: includes/settings/wcj-settings-reports.php:186
15784
+ msgid "Include deleted products in all \"Stock\" reports."
15785
+ msgstr ""
15786
+
15787
+ #: includes/settings/wcj-settings-reports.php:208
15788
  msgid "View report"
15789
  msgstr ""
15790
 
15815
  msgid "Shipping Methods by %s"
15816
  msgstr ""
15817
 
15818
+ #: includes/settings/wcj-settings-shipping-by-condition.php:74
15819
  #, php-format
15820
  msgid "Include %s"
15821
  msgstr ""
15822
 
15823
+ #: includes/settings/wcj-settings-shipping-by-condition.php:85
15824
  #, php-format
15825
  msgid "Exclude %s"
15826
  msgstr ""
15827
 
15828
+ #: includes/settings/wcj-settings-shipping-by-condition.php:110
15829
  msgid "Filter Priority"
15830
  msgstr ""
15831
 
16636
  msgid "Excluding tax"
16637
  msgstr ""
16638
 
16639
+ #: includes/settings/wcj-settings-template-editor.php:25
16640
+ msgid "Templates to Edit"
16641
+ msgstr ""
16642
+
16643
+ #: includes/settings/wcj-settings-template-editor.php:26
16644
+ msgid "Save changes after you set this option to see new options fields."
16645
+ msgstr ""
16646
+
16647
+ #: includes/settings/wcj-settings-template-editor.php:45
16648
+ msgid "Default template path"
16649
+ msgstr ""
16650
+
16651
+ #: includes/settings/wcj-settings-template-editor.php:46
16652
+ msgid "Replaced template path"
16653
+ msgstr ""
16654
+
16655
  #: includes/settings/wcj-settings-track-users.php:19
16656
  msgid "Countries by Visits"
16657
  msgstr ""
16817
  msgid "If you want to display prices table on frontend, use %s shortcode."
16818
  msgstr ""
16819
 
16820
+ #: includes/settings/wcj-settings-wholesale-price.php:23
16821
+ msgid "Enable per Product"
16822
+ msgstr ""
16823
+
16824
  #: includes/settings/wcj-settings-wholesale-price.php:31
16825
+ msgid "Quantity Calculation"
16826
  msgstr ""
16827
 
16828
  #: includes/settings/wcj-settings-wholesale-price.php:36
16838
  msgstr ""
16839
 
16840
  #: includes/settings/wcj-settings-wholesale-price.php:42
16841
+ msgid "Exclusive Use Only"
16842
  msgstr ""
16843
 
16844
+ #: includes/settings/wcj-settings-wholesale-price.php:44
16845
+ msgid "Apply wholesale discount only if no other cart discounts were applied."
16846
  msgstr ""
16847
 
16848
  #: includes/settings/wcj-settings-wholesale-price.php:50
16849
+ msgid "Round Single Product Price"
16850
+ msgstr ""
16851
+
16852
+ #: includes/settings/wcj-settings-wholesale-price.php:51
16853
  msgid ""
16854
  "If enabled will round single product price with precision set in WooCommerce "
16855
  "> Settings > General > Number of decimals."
16856
  msgstr ""
16857
 
16858
+ #: includes/settings/wcj-settings-wholesale-price.php:58
16859
+ msgid "Discount Info on Cart Page"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16860
  msgstr ""
16861
 
16862
+ #: includes/settings/wcj-settings-wholesale-price.php:65
16863
+ msgid "If show discount info on cart page is enabled, set format here."
16864
  msgstr ""
16865
 
16866
+ #: includes/settings/wcj-settings-wholesale-price.php:73
16867
+ #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:41
16868
+ msgid "Discount Type"
16869
  msgstr ""
16870
 
16871
+ #: includes/settings/wcj-settings-wholesale-price.php:118
16872
  msgid "Disable wholesale pricing for products with \"Price Changes\""
16873
  msgstr ""
16874
 
16875
+ #: includes/settings/wcj-settings-wholesale-price.php:129
16876
  msgid "Wholesale Levels Options"
16877
  msgstr ""
16878
 
16879
+ #: includes/settings/wcj-settings-wholesale-price.php:134
16880
+ #: includes/settings/wcj-settings-wholesale-price.php:191
16881
+ msgid "Number of Levels"
 
 
 
 
 
 
 
 
 
16882
  msgstr ""
16883
 
16884
  #: includes/settings/wcj-settings-wholesale-price.php:148
16885
  #: includes/settings/wcj-settings-wholesale-price.php:205
16886
+ msgid "Min Quantity"
16887
+ msgstr ""
16888
+
16889
+ #: includes/settings/wcj-settings-wholesale-price.php:149
16890
+ #: includes/settings/wcj-settings-wholesale-price.php:206
16891
  msgid "Minimum quantity to apply discount"
16892
  msgstr ""
16893
 
 
16894
  #: includes/settings/wcj-settings-wholesale-price.php:156
16895
+ #: includes/settings/wcj-settings-wholesale-price.php:157
16896
  #: includes/settings/wcj-settings-wholesale-price.php:213
16897
+ #: includes/settings/wcj-settings-wholesale-price.php:214
16898
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:72
16899
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:108
16900
  msgid "Discount"
16901
  msgstr ""
16902
 
16903
+ #: includes/settings/wcj-settings-wholesale-price.php:171
16904
  msgid "Additional User Roles Options"
16905
  msgstr ""
16906
 
16907
+ #: includes/settings/wcj-settings-wholesale-price.php:173
16908
  msgid ""
16909
  "If you want to set different wholesale pricing options for different user "
16910
  "roles, fill this section. Please note that you can also use Booster's "
16911
  "\"Price based on User Role\" module without filling this section."
16912
  msgstr ""
16913
 
16914
+ #: includes/settings/wcj-settings-wholesale-price.php:177
16915
+ msgid "User Roles Settings"
16916
  msgstr ""
16917
 
16918
  #: includes/settings/wcj-settings-wpml.php:27
17068
  msgid "%s number"
17069
  msgstr ""
17070
 
17071
+ #: includes/settings/meta-box/wcj-settings-meta-box-pdf-invoicing.php:30
17072
+ #, php-format
17073
+ msgid "%s date"
17074
+ msgstr ""
17075
+
17076
  #: includes/settings/meta-box/wcj-settings-meta-box-price-by-user-role.php:29
17077
  msgid "Per Product Settings (press Update after changing)"
17078
  msgstr ""
17170
  msgid "Number of Parameters"
17171
  msgstr ""
17172
 
17173
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:19
17174
  msgid ""
17175
  "If enabled and no products selected - will hide related products section on "
17176
  "frontend for current product."
17177
  msgstr ""
17178
 
17179
+ #: includes/settings/meta-box/wcj-settings-meta-box-related-products.php:30
17180
+ msgid ""
17181
+ "Hold Control (Ctrl) key to select multiple products. Ctrl and \"A\" to "
17182
+ "select all products."
17183
  msgstr ""
17184
 
17185
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:20
17190
  msgid "Enable per Product Levels"
17191
  msgstr ""
17192
 
17193
+ #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:48
17194
+ #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:84
17195
+ msgid "Number of levels"
17196
  msgstr ""
17197
 
17198
  #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:49
17209
  msgid "Level"
17210
  msgstr ""
17211
 
17212
+ #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:65
17213
+ #: includes/settings/meta-box/wcj-settings-meta-box-wholesale-price.php:101
17214
+ msgid "Min quantity"
17215
+ msgstr ""
17216
+
17217
  #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:40
17218
  #: includes/shipping/class-wc-shipping-wcj-custom.php:38
17219
  msgid "Booster: Custom Shipping Method"
17224
  msgid "Max Weight or Quantity"
17225
  msgstr ""
17226
 
17227
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:134
17228
  msgid "Flat rate"
17229
  msgstr ""
17230
 
17231
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:135
17232
  msgid "By total cart weight"
17233
  msgstr ""
17234
 
17235
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:136
17236
  msgid "By total cart weight table"
17237
  msgstr ""
17238
 
17239
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:137
17240
  msgid "By total cart quantity"
17241
  msgstr ""
17242
 
17243
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:140
17244
  msgid "By total cart quantity table"
17245
  msgstr ""
17246
 
17247
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:154
17248
  #: includes/shipping/class-wc-shipping-wcj-custom.php:116
17249
  msgid "Cost calculation type."
17250
  msgstr ""
17251
 
17252
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:155
17253
  #: includes/shipping/class-wc-shipping-wcj-custom.php:97
17254
  #: includes/shipping/class-wc-shipping-wcj-custom.php:116
17255
  msgid "By Total Cart Quantity Table"
17256
  msgstr ""
17257
 
17258
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:164
17259
  #: includes/shipping/class-wc-shipping-wcj-custom.php:124
17260
  msgid ""
17261
  "Cost. If calculating by weight - then cost per one weight unit. If "
17262
  "calculating by quantity - then cost per one piece."
17263
  msgstr ""
17264
 
17265
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:170
17266
  #: includes/shipping/class-wc-shipping-wcj-custom.php:130
17267
  msgid "Min Weight"
17268
  msgstr ""
17269
 
17270
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:172
17271
  #: includes/shipping/class-wc-shipping-wcj-custom.php:132
17272
  msgid "Minimum total cart weight. Set zero to disable."
17273
  msgstr ""
17274
 
17275
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:179
17276
  #: includes/shipping/class-wc-shipping-wcj-custom.php:138
17277
  msgid "Max Weight"
17278
  msgstr ""
17279
 
17280
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:181
17281
  #: includes/shipping/class-wc-shipping-wcj-custom.php:140
17282
  msgid "Maximum total cart weight. Set zero to disable."
17283
  msgstr ""
17284
 
17285
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:188
17286
+ msgid "Apply Formula and Shortcodes to Costs"
17287
  msgstr ""
17288
 
17289
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:189
17290
  #, php-format
17291
+ msgid ""
17292
+ "You can use %s and %s params in formula, e.g.: %s. Also you can use "
17293
+ "shortcodes, e.g.: %s."
17294
  msgstr ""
17295
 
17296
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:198
17297
  #: includes/shipping/class-wc-shipping-wcj-custom.php:146
17298
  msgid "Table Total Rows"
17299
  msgstr ""
17300
 
17301
+ #: includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php:200
17302
  msgid ""
17303
  "Press \"Save changes\" and reload the page after you change this number."
17304
  msgstr ""
17323
  msgid "Enable Custom Shipping"
17324
  msgstr ""
17325
 
17326
+ #: includes/shortcodes/class-wcj-shortcodes-general.php:94
17327
  msgid "Tax toggle (incl.)"
17328
  msgstr ""
17329
 
17330
+ #: includes/shortcodes/class-wcj-shortcodes-general.php:95
17331
  msgid "Tax toggle (excl.)"
17332
  msgstr ""
17333
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: algoritmika, anbinder, debugeris
3
  Tags: woocommerce, booster for woocommerce, woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
- Stable tag: 3.8.0
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -147,6 +147,7 @@ Booster for WooCommerce is a WordPress WooCommerce plugin that supercharges your
147
  * *My Account* - WooCommerce "My Account" page customization.
148
  * *Old Slugs* - Remove old products slugs.
149
  * *Reports* - Stock, sales, customers etc. reports.
 
150
  * *User Tracking* - Track your users in WooCommerce.
151
 
152
  = Feedback =
@@ -161,9 +162,9 @@ Booster for WooCommerce is a WordPress WooCommerce plugin that supercharges your
161
 
162
  == Installation ==
163
 
164
- 1. Upload the entire `woocommerce-jetpack` folder to the `/wp-content/plugins/` directory.
165
- 2. Activate the plugin through the 'Plugins' menu in WordPress.
166
- 3. Go to WooCommerce > Settings > Booster.
167
 
168
  == Frequently Asked Questions ==
169
 
@@ -188,6 +189,76 @@ You can see the differences between versions in this [table](https://booster.io/
188
 
189
  == Changelog ==
190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  = 3.8.0 - 28/07/2018 =
192
  * Feature - PRICES & CURRENCIES - Global Discount - "Final Correction" options added.
193
  * Feature - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Multicurrency on per Product Basis - "Add option to make empty price" options added.
3
  Tags: woocommerce, booster for woocommerce, woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 4.9
6
+ Stable tag: 3.9.0
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
147
  * *My Account* - WooCommerce "My Account" page customization.
148
  * *Old Slugs* - Remove old products slugs.
149
  * *Reports* - Stock, sales, customers etc. reports.
150
+ * *Template Editor* - WooCommerce template editor.
151
  * *User Tracking* - Track your users in WooCommerce.
152
 
153
  = Feedback =
162
 
163
  == Installation ==
164
 
165
+ 1. Upload the entire plugin folder to the `/wp-content/plugins/` directory.
166
+ 2. Activate the plugin through the "Plugins" menu in WordPress.
167
+ 3. Go to "WooCommerce > Settings > Booster".
168
 
169
  == Frequently Asked Questions ==
170
 
189
 
190
  == Changelog ==
191
 
192
+ = 3.9.0 - 05/09/2018 =
193
+ * Feature - PRICES & CURRENCIES - Currencies - Shortcodes (e.g. `[wcj_wpml]`) can now be used in currency symbol fields.
194
+ * Feature - PRICES & CURRENCIES - Currency Exchange Rates - Exchange Rates Server - "The Free Currency Converter API" server added.
195
+ * Feature - BUTTON & PRICE LABELS - Add to Cart Button Labels - Per Product Type - "Products not in stock" option added.
196
+ * Feature - PRODUCTS - Cross-sells - "Exclude Not in Stock Products" option added.
197
+ * Feature - PRODUCTS - Cross-sells - "Replace Cart Products with Cross-sells" option added.
198
+ * Feature - PRODUCTS - Product Images - Placeholder Image - "Custom Placeholder Image URL" option added.
199
+ * Feature - SHIPPING & ORDERS - Custom Shipping - Shortcodes can now be used in "Cost" field (e.g.: `[wcj_shipping_costs_table]`).
200
+ * Feature - PDF INVOICING & PACKING SLIPS - Advanced - Add PDF Invoices Meta Box to Admin Edit Order Page - Editable date added.
201
+ * Feature - EMAILS & MISC. - Email Verification - "Redirect User After Successful Verification to Custom URL" option added.
202
+ * Feature - EMAILS & MISC. - Reports - Stock - "product type" option added.
203
+ * Feature - EMAILS & MISC. - Reports - Stock - "Include deleted products" option added.
204
+ * Feature - EMAILS & MISC. - Template Editor - Initial module release.
205
+ * Fix - PRICES & CURRENCIES - Currency Exchange Rates - Discontinued servers (Yahoo, Google, Fixer) removed.
206
+ * Fix - BUTTON & PRICE LABELS - Add to Cart Button Labels - Per Product Type - Products with empty price - Default value fixed.
207
+ * Fix - PRODUCTS - Cost of Goods - Products List Columns - Variable products fixed in both ("Profit" and "Cost") columns.
208
+ * Fix - PRODUCTS - Cost of Goods - Products List Columns - Profit - Checking for price to be `is_numeric()`.
209
+ * Fix - PRODUCTS - Product Addons - `maybe_convert_currency()` - "Global Discount" module conversion added.
210
+ * Fix - PRODUCTS - Product by Condition - `pre_get_posts()` - Additional checks added (to prevent possible "Call to undefined function is_user_logged_in() ..." error).
211
+ * Fix - PRODUCTS - Products XML Feeds - `html_entity_decode()` added to XML header and footer.
212
+ * Fix - PRODUCTS - Related Products - Relate Manually - Hiding related products for current product (i.e. if enabled and no products selected) fixed.
213
+ * Fix - CART & CHECKOUT - Checkout Fees - "Checkout Field" option fixed.
214
+ * Fix - SHIPPING & ORDERS - Admin Orders List - Additional checks for `wp_get_current_user()` function to exist added (`wcj_current_user_can()` function added).
215
+ * Fix - EMAILS & MISC. - Email Verification - "Login User After Successful Verification" admin description fixed.
216
+ * Fix - EMAILS & MISC. - Email Verification - "Message - Resend" default value fixed.
217
+ * Fix - EMAILS & MISC. - Email Verification - "Message - Failed (no user ID)" option added.
218
+ * Fix - EMAILS & MISC. - Reports - Stock - `is_numeric()` checks added.
219
+ * Fix - EMAILS & MISC. - Reports - Stock - "Last sale" column fixed.
220
+ * Fix - EMAILS & MISC. - User Tracking - Fatal error on "Update now" button fixed.
221
+ * Fix - Core - `WCJ_Module` - `save_meta_box()` - `delete_post_meta()` added.
222
+ * Fix - Functions - Country - `wcj_get_country_by_ip()` - Additional checks added (to prevent possible "Call to undefined function wc_format_country_state_string() ..." error).
223
+ * Fix - Functions - Exchange Rates - Average exchange rates function fixed (used in "Booster: Monthly Sales (with Currency Conversion)" report).
224
+ * Fix - Functions - General - `wcj_wrap_in_wc_email_template()` - `{site_title}` in footer replaced with blog name.
225
+ * Dev - PRICES & CURRENCIES - Bulk Price Converter - `WP_Query` optimized to return `ids` only.
226
+ * Dev - PRICES & CURRENCIES - Bulk Price Converter - Tool restyled. "Pretty prices threshold" option description added.
227
+ * Dev - PRICES & CURRENCIES - Currencies - Major code refactoring and optimization.
228
+ * Dev - PRICES & CURRENCIES - Global Discount - Advanced Settings - "Price Filters Priority" option added.
229
+ * Dev - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Revert Currency to Shop's Default - "Revert on cart page only" and "Revert on both cart & checkout pages" options added.
230
+ * Dev - PRICES & CURRENCIES - Multicurrency Product Base Price - Advanced Settings - "Price Filters Priority" option added.
231
+ * Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Autogenerate Groups - Cleaned up; restyled; Yahoo exchange rates server related buttons removed; "PayPal supported currencies only" button added.
232
+ * Dev - PRICES & CURRENCIES - Product Price by Formula - Advanced Settings - "Price Filters Priority" option added.
233
+ * Dev - PRICES & CURRENCIES - Wholesale Price - Discount Info on Cart Page - `%original_price%` replaced value added.
234
+ * Dev - PRICES & CURRENCIES - Wholesale Price - Admin settings restyled.
235
+ * Dev - BUTTON & PRICE LABELS - Add to Cart Button Labels - Admin settings restyled.
236
+ * Dev - PRODUCTS - Add to Cart Button Visibility - All Products - "Advanced: Method" options added.
237
+ * Dev - PRODUCTS - Product Addons - Advanced Settings - Apply Price Filter - "... modules to apply ..." option added.
238
+ * Dev - PRODUCTS - Product Addons - Advanced Settings - "Price Filters Priority" option added.
239
+ * Dev - PRODUCTS - Related Products - Relate Manually - "Select box type" option added.
240
+ * Dev - CART & CHECKOUT - Checkout Files Upload - Advanced Options - "Notice Type" option added.
241
+ * Dev - PAYMENT GATEWAYS - Gateways by Country, State or Postcode - Trying to get customer country and state from `$_REQUEST` first (before accessing `WC()->customer`). Postcode code part rewritten.
242
+ * Dev - PAYMENT GATEWAYS - Gateways Currency Converter - "Advanced: Fix Chosen Payment Method" option added.
243
+ * Dev - PAYMENT GATEWAYS - Gateways Currency Converter - Code refactoring (`get_chosen_payment_method()` function added; `global $woocommerce` replaced with `WC()`).
244
+ * Dev - SHIPPING & ORDERS - Custom Shipping - Admin settings restyled.
245
+ * Dev - SHIPPING & ORDERS - Left to Free Shipping - Info on Checkout - Position - New positions added.
246
+ * Dev - SHIPPING & ORDERS - Shipping Methods by Products - Minor code changes.
247
+ * Dev - EMAILS & MISC. - Admin Bar - "Booster: Active" admin bar can now be added without adding "Booster" admin bar.
248
+ * Dev - EMAILS & MISC. - Custom Emails - Code cleaned up and refactored.
249
+ * Dev - EMAILS & MISC. - Email Verification - Admin settings restyled. Code refactored.
250
+ * Dev - EMAILS & MISC. - Reports - Admin settings restyled.
251
+ * Dev - Functions - Price and Currency - `wcj_get_woocommerce_currencies_and_symbols()` function added. `wcj_get_currency_symbol()`, `wcj_get_currencies_names_and_symbols()` and `wcj_get_currencies_array()` functions removed. Affected modules: "Currency Exchange Rates", "Admin Orders List", "Currency for External Products", "Currency per Product", "Multicurrency Product Base Price", "Multicurrency (Currency Switcher)", "Gateways by Currency", "Gateways Currency Converter", "Prices and Currencies by Country", "Price Formats", "Orders", "Currencies".
252
+ * Dev - Shortcodes - General - `[wcj_get_option]` shortcode added.
253
+ * Dev - Shortcodes - General - `[wcj_image]` shortcode added.
254
+ * Dev - Shortcodes - General - `[wcj_shipping_costs_table]` shortcode added.
255
+ * Dev - Shortcodes - Orders - `[wcj_order_items_meta]` - `sep` attribute added.
256
+ * Dev - Shortcodes - Orders - `[wcj_order_products_meta]` shortcode added.
257
+ * Dev - Shortcodes - Products - `[wcj_product_price]` - `min_or_max` attribute added (for variable products).
258
+ * Dev - Settings - Shipping by Condition - Code optimized.
259
+ * Dev - Unnecessary `woocommerce_currency_symbol` hooks removed (affected modules: "Prices and Currencies by Country", "Currency for External Products", "Multicurrency (Currency Switcher)", "Currency per Product", "Gateways Currency Converter").
260
+ * Dev - Code cleaned up.
261
+
262
  = 3.8.0 - 28/07/2018 =
263
  * Feature - PRICES & CURRENCIES - Global Discount - "Final Correction" options added.
264
  * Feature - PRICES & CURRENCIES - Multicurrency (Currency Switcher) - Multicurrency on per Product Basis - "Add option to make empty price" options added.
woocommerce-jetpack.php CHANGED
@@ -3,7 +3,7 @@
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: 3.8.0
7
  Author: Algoritmika Ltd
8
  Author URI: https://booster.io
9
  Text Domain: woocommerce-jetpack
@@ -57,7 +57,7 @@ final class WC_Jetpack {
57
  * @var string
58
  * @since 2.4.7
59
  */
60
- public $version = '3.8.0';
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: 3.9.0
7
  Author: Algoritmika Ltd
8
  Author URI: https://booster.io
9
  Text Domain: woocommerce-jetpack
57
  * @var string
58
  * @since 2.4.7
59
  */
60
+ public $version = '3.9.0';
61
 
62
  /**
63
  * @var WC_Jetpack The single instance of the class