Booster for WooCommerce - Version 2.5.6

Version Description

  • 29/09/2016 =
  • Dev - Functions - wcj_get_product_input_fields() - unserialize() added for serialized values.
  • Dev - Shortcodes - General - [wcj_wholesale_price_table] - hide_if_zero_quantity and table_format attributes added.
  • Dev - Shortcodes - Orders - [wcj_order_payment_method_transaction_id] shortcode added.
  • Dev - Shortcodes - Orders - [wcj_order_shipping_price], [wcj_order_total_excl_tax] code refactoring.
  • Dev - Shortcodes - Orders - [wcj_order_total_excl_shipping] shortcode added.
  • Dev - Shortcodes - Orders - [wcj_order_status] shortcode added.
  • Dev - Shortcodes - Orders - [wcj_order_function] shortcode added.
  • Dev - Shortcodes - Products - Crowdfunding - get_product_orders_data() - WP_Query optimized to return ids only.
  • Dev - Shortcodes - Products - Crowdfunding - get_product_orders_data() - Grouped products support added.
  • Dev - Shortcodes - Products - [wcj_product_wholesale_price_table] - hide_if_zero_quantity and table_format attributes added.
  • Fix - PRICES & CURRENCIES - Currency per Product - Default WooCommerce currency added to metabox (and to module's settings).
  • Fix - PRICES & CURRENCIES - Prices and Currencies by Country - add_hooks() moved to init hook.
  • Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Sorting by price support added.
  • Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Override Country Options" - "Override Country with Customer's Checkout Shipping Country" option added.
  • Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Recalculate price filter widget product prices" option added.
  • Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Multicurrency Base Product price is calculated in Price by Country Price Filter widget.
  • Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Search Engine Bots" option added.
  • Fix - PRICES & CURRENCIES - Product Open Pricing (Name Your Price) - Decimal numbers now allowed in default, min and max prices metabox.
  • Dev - PRODUCTS - Product Add to Cart - "Add to Cart Button AJAX" section added.
  • Dev - PRODUCTS - Product Add to Cart - "Add to Cart Button Custom URL" section added.
  • Fix - PRODUCTS - Product Addons - Addons tax display fixed (get_display_price() function).
  • Fix - PRODUCTS - Product Addons - PHP 7 fix regarding "changes to the handling of indirect variables, properties, and methods" (http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect).
  • Dev - PRODUCTS - Product Addons - "Admin Order Page - Hide all addons" option added.
  • Dev - PRODUCTS - Product Addons - "Addon in Cart Format" and "Addon in Order Details Table Format" options added.
  • Dev - PRODUCTS - Product Cost Price - "Profit" column - Now calculating profit for all orders statuses except cancelled, refunded or failed.
  • Fix - PRODUCTS - Product Visibility by User Role - Checking all user's roles (not only first one).
  • Fix - CART & CHECKOUT - Checkout Files Upload - "Add to Thank You page" and "Add to My Account page" fixed (before was putting all fields even if only one was enabled).
  • Dev - CART & CHECKOUT - Checkout Files Upload - "Form Template Options" section added.
  • Dev - CART & CHECKOUT - Checkout Files Upload - "No files uploaded" message added to admin's order edit page.
  • Dev - PAYMENT GATEWAYS - Custom Gateways - Minimum order amount - When checking cart total now excludes fees (including "Gateways Fees and Discounts" module's fees/discounts).
  • Dev - PAYMENT GATEWAYS - Custom Gateways - Minimum order amount - Checking if cart total is not empty (this fixes the issue with "Gateways Fees and Discounts" module).
  • Dev - PAYMENT GATEWAYS - Custom Gateways - Restriction on max number (was 10) of custom payment gateways removed (using objects instead of class names in woocommerce_payment_gateways hook).
  • Fix - PAYMENT GATEWAYS - Gateways by Country or State - Additional check added to available_payment_gateways() function.
  • Fix - SHIPPING & ORDERS - Order Custom Statuses - Default order statuses moved from constructor to separate function.
  • Dev - SHIPPING & ORDERS - Orders - "Admin Order Currency" section added.
  • Fix - SHIPPING & ORDERS - Shipping - Custom Shipping (without Zones) - PHP 7 fix regarding "changes to the handling of indirect variables, properties, and methods" (http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect).
  • Dev - SHIPPING & ORDERS - Shipping - Custom Shipping with Zones added.
  • Dev - SHIPPING & ORDERS - Shipping - Custom Shipping - Restriction on max number (was 10) of custom shipping methods removed (using objects instead of class names in woocommerce_shipping_methods hook).
  • Dev - SHIPPING & ORDERS - Shipping - "Shipping Descriptions" section added. Settings moved to init hook.
  • Dev - SHIPPING & ORDERS - Shipping - "Shipping Icons" section added.
  • Dev - PDF INVOICING & PACKING SLIPS - Display - "Save as" disabled by default.
  • Dev - PDF INVOICING & PACKING SLIPS - Added die after generate_pdf_on_init.
  • Dev - PDF INVOICING & PACKING SLIPS - woocommerce_cli_create_order, kco_before_confirm_order and woocommerce_checkout_order_processed hooks added (duplicates woocommerce_new_order hook).
  • Dev - EMAILS & MISC. - Emails - Custom Emails - Shortcode are now working in subject.
  • Dev - EMAILS & MISC. - Emails - Custom Emails - "Low stock notification", "No stock notification", "Product on backorder notification", "Created customer notification" triggers added.
  • Dev - EMAILS & MISC. - Emails - Custom Emails - Settings field type custom_textarea added (this lets save HTML without removing any tags).
  • Dev - EMAILS & MISC. - Export - Export Orders - Loop modified to return posts ids only.
  • Dev - EMAILS & MISC. - Export - Export Orders - "Order Items Product Input Fields" column added.
  • Dev - EMAILS & MISC. - Export - Export Orders - "Export Orders Fields" option added.
  • Dev - EMAILS & MISC. - Reports - WP_Query optimized to return ids only.
  • Tweak - PRICES & CURRENCIES - Currency per Product - Metabox tooltip added.
  • Tweak - PRICES & CURRENCIES - Wholesale Price - "If show discount info on cart page is enabled, set format here" option description tip added.
  • Tweak - PRODUCTS - Product Add to Cart - "Add to Cart Button" section renamed to "Add to Cart Button Disabling".
  • Tweak - PRODUCTS - Product Visibility by Country - Description fixed.
  • Tweak - PRODUCTS - Product Visibility by User Role - Tooltip added to metabox (product edit page).
  • Tweak - PRODUCTS - Product Visibility by User Role - Link and description fixed.
  • Tweak - PRODUCTS - Sorting - Unnecessary global $woocommerce removed.
  • Tweak - Language (POT) file updated.
Download this release

Release Info

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

Code changes from version 2.5.5 to 2.5.6

Files changed (35) hide show
  1. includes/class-wcj-checkout-files-upload.php +100 -9
  2. includes/class-wcj-currency-per-product.php +7 -5
  3. includes/class-wcj-export-import.php +221 -79
  4. includes/class-wcj-multicurrency-product-base-price.php +11 -1
  5. includes/class-wcj-order-custom-statuses.php +26 -16
  6. includes/class-wcj-orders.php +74 -4
  7. includes/class-wcj-payment-gateways-by-country.php +25 -23
  8. includes/class-wcj-payment-gateways.php +4 -6
  9. includes/class-wcj-pdf-invoicing.php +17 -7
  10. includes/class-wcj-price-by-country.php +42 -11
  11. includes/class-wcj-product-add-to-cart.php +133 -31
  12. includes/class-wcj-product-addons.php +110 -28
  13. includes/class-wcj-product-by-country.php +5 -5
  14. includes/class-wcj-product-by-user-role.php +15 -11
  15. includes/class-wcj-product-open-pricing.php +5 -5
  16. includes/class-wcj-purchase-data.php +3 -3
  17. includes/class-wcj-shipping.php +184 -12
  18. includes/class-wcj-sorting.php +5 -7
  19. includes/class-wcj-wholesale-price.php +86 -85
  20. includes/classes/class-wcj-module.php +5 -3
  21. includes/emails/class-wc-email-wcj-custom.php +44 -5
  22. includes/functions/wcj-functions.php +66 -3
  23. includes/gateways/class-wc-gateway-wcj-custom.php +24 -31
  24. includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php +3 -3
  25. includes/price-by-country/class-wcj-price-by-country-core.php +45 -10
  26. includes/reports/wcj-class-reports-sales.php +13 -25
  27. includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php +219 -0
  28. includes/shipping/class-wc-shipping-wcj-custom.php +16 -20
  29. includes/shortcodes/class-wcj-general-shortcodes.php +20 -4
  30. includes/shortcodes/class-wcj-orders-shortcodes.php +61 -8
  31. includes/shortcodes/class-wcj-products-crowdfunding-shortcodes.php +18 -9
  32. includes/shortcodes/class-wcj-products-shortcodes.php +46 -29
  33. langs/woocommerce-jetpack.pot +2209 -1114
  34. readme.txt +66 -6
  35. woocommerce-jetpack.php +2 -2
includes/class-wcj-checkout-files-upload.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Checkout Files Upload class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.4.5
9
  * @author Algoritmika Ltd.
10
  * @todo styling options;
@@ -148,17 +148,19 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
148
  /**
149
  * create_file_admin_order_meta_box.
150
  *
151
- * @version 2.4.5
152
  * @since 2.4.5
153
  */
154
  function create_file_admin_order_meta_box() {
155
  $order_id = get_the_ID();
156
  $html = '';
157
  $total_files = get_post_meta( $order_id, '_' . 'wcj_checkout_files_total_files', true );
 
158
  for ( $i = 1; $i <= $total_files; $i++ ) {
159
  $order_file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_' . $i, true );
160
  $real_file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
161
  if ( '' != $order_file_name ) {
 
162
  $html .= '<p><a href="' . add_query_arg(
163
  array(
164
  'wcj_download_checkout_file_admin' => $order_file_name,
@@ -166,6 +168,9 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
166
  ) ) . '">' . $real_file_name . '</a></p>';
167
  }
168
  }
 
 
 
169
  echo $html;
170
  }
171
 
@@ -396,14 +401,24 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
396
  /**
397
  * get_the_form.
398
  *
399
- * @version 2.5.0
400
  * @since 2.5.0
401
  */
402
  function get_the_form( $i, $file_name, $order_id = 0 ) {
403
  $html = '';
404
  $html .= '<form enctype="multipart/form-data" action="" method="POST">';
405
- $html .= '<table>';
406
  if ( '' != ( $the_label = get_option( 'wcj_checkout_files_upload_label_' . $i, '' ) ) ) {
 
 
 
 
 
 
 
 
 
 
407
  $html .= '<tr>';
408
  $html .= '<td colspan="2">';
409
  $html .= '<label for="wcj_checkout_files_upload_' . $i . '">' . $the_label . '</label>';
@@ -412,8 +427,19 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
412
  }
413
  $html .= '</td>';
414
  $html .= '</tr>';
 
415
  }
416
  if ( '' == $file_name ) {
 
 
 
 
 
 
 
 
 
 
417
  $html .= '<tr>';
418
  $html .= '<td style="width:50%;">';
419
  $html .= '<input type="file" name="wcj_checkout_files_upload_' . $i . '" id="wcj_checkout_files_upload_' . $i .
@@ -429,7 +455,17 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
429
  ' data-value="' . get_option( 'wcj_checkout_files_upload_label_upload_button_' . $i, __( 'Upload', 'woocommerce-jetpack' ) ) . '">';
430
  $html .= '</td>';
431
  $html .= '</tr>';
 
432
  } else {
 
 
 
 
 
 
 
 
 
433
  $html .= '<tr>';
434
  $html .= '<td style="width:50%;">';
435
  $html .= '<a href="' . add_query_arg( array( 'wcj_download_checkout_file' => $i, '_wpnonce' => wp_create_nonce( 'wcj_download_checkout_file' ) ) ) . '">' . $file_name . '</a>';
@@ -444,8 +480,16 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
444
  ' data-value="' . get_option( 'wcj_checkout_files_upload_label_remove_button_' . $i, __( 'Remove', 'woocommerce-jetpack' ) ) . '">';
445
  $html .= '</td>';
446
  $html .= '</tr>';
 
447
  }
448
- $html .= '</table>';
 
 
 
 
 
 
 
449
  if ( 0 != $order_id ) {
450
  $html .= '<input type="hidden" name="wcj_checkout_files_upload_order_id_' . $i . '" value="' . $order_id . '">';
451
  }
@@ -456,16 +500,22 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
456
  /**
457
  * add_files_upload_form_to_thankyou_and_myaccount_page.
458
  *
459
- * @version 2.5.0
460
  * @since 2.5.0
461
  */
462
  function add_files_upload_form_to_thankyou_and_myaccount_page( $order_id ) {
463
  $html = '';
464
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
 
465
  for ( $i = 1; $i <= $total_number; $i++ ) {
466
  if ( 'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) && $this->is_visible( $i, $order_id ) ) {
467
- $file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
468
- $html .= $this->get_the_form( $i, $file_name, $order_id );
 
 
 
 
 
469
  }
470
  }
471
  echo $html;
@@ -510,7 +560,7 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
510
  /**
511
  * get_settings.
512
  *
513
- * @version 2.5.5
514
  * @since 2.4.5
515
  */
516
  function get_settings() {
@@ -731,6 +781,47 @@ class WCJ_Checkout_Files_Upload extends WCJ_Module {
731
  'id' => 'wcj_checkout_files_upload_emails_options',
732
  ),
733
  ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
734
  return $this->add_standard_settings( $settings );
735
  }
736
  }
4
  *
5
  * The WooCommerce Jetpack Checkout Files Upload class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.4.5
9
  * @author Algoritmika Ltd.
10
  * @todo styling options;
148
  /**
149
  * create_file_admin_order_meta_box.
150
  *
151
+ * @version 2.5.6
152
  * @since 2.4.5
153
  */
154
  function create_file_admin_order_meta_box() {
155
  $order_id = get_the_ID();
156
  $html = '';
157
  $total_files = get_post_meta( $order_id, '_' . 'wcj_checkout_files_total_files', true );
158
+ $files_exists = false;
159
  for ( $i = 1; $i <= $total_files; $i++ ) {
160
  $order_file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_' . $i, true );
161
  $real_file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
162
  if ( '' != $order_file_name ) {
163
+ $files_exists = true;
164
  $html .= '<p><a href="' . add_query_arg(
165
  array(
166
  'wcj_download_checkout_file_admin' => $order_file_name,
168
  ) ) . '">' . $real_file_name . '</a></p>';
169
  }
170
  }
171
+ if ( ! $files_exists ) {
172
+ $html .= '<p><em>' . __( 'No files uploaded.', 'woocommerce-jetpack' ) . '</em></p>';
173
+ }
174
  echo $html;
175
  }
176
 
401
  /**
402
  * get_the_form.
403
  *
404
+ * @version 2.5.6
405
  * @since 2.5.0
406
  */
407
  function get_the_form( $i, $file_name, $order_id = 0 ) {
408
  $html = '';
409
  $html .= '<form enctype="multipart/form-data" action="" method="POST">';
410
+ $html .= get_option( 'wcj_checkout_files_upload_form_template_before', '<table>' );
411
  if ( '' != ( $the_label = get_option( 'wcj_checkout_files_upload_label_' . $i, '' ) ) ) {
412
+ $template = get_option( 'wcj_checkout_files_upload_form_template_label',
413
+ '<tr><td colspan="2"><label for="%field_id%">%field_label%</label>%required_html%</td></tr>' );
414
+ $required_html = ( 'yes' === get_option( 'wcj_checkout_files_upload_required_' . $i, 'no' ) ) ?
415
+ '&nbsp;<abbr class="required" title="required">*</abbr>' : '';
416
+ $html .= str_replace(
417
+ array( '%field_id%', '%field_label%', '%required_html%' ),
418
+ array( 'wcj_checkout_files_upload_' . $i, $the_label, $required_html ),
419
+ $template
420
+ );
421
+ /*
422
  $html .= '<tr>';
423
  $html .= '<td colspan="2">';
424
  $html .= '<label for="wcj_checkout_files_upload_' . $i . '">' . $the_label . '</label>';
427
  }
428
  $html .= '</td>';
429
  $html .= '</tr>';
430
+ */
431
  }
432
  if ( '' == $file_name ) {
433
+ $field_html = '<input type="file" name="wcj_checkout_files_upload_' . $i . '" id="wcj_checkout_files_upload_' . $i .
434
+ '" accept="' . get_option( 'wcj_checkout_files_upload_file_accept_' . $i, '' ) . '">';
435
+ $button_html = '<input type="submit"' .
436
+ ' class="button alt"' .
437
+ ' style="width:100%;"' .
438
+ ' name="wcj_upload_checkout_file_' . $i . '"' .
439
+ ' id="wcj_upload_checkout_file_' . $i . '"' .
440
+ ' value="' . get_option( 'wcj_checkout_files_upload_label_upload_button_' . $i, __( 'Upload', 'woocommerce-jetpack' ) ) . '"' .
441
+ ' data-value="' . get_option( 'wcj_checkout_files_upload_label_upload_button_' . $i, __( 'Upload', 'woocommerce-jetpack' ) ) . '">';
442
+ /*
443
  $html .= '<tr>';
444
  $html .= '<td style="width:50%;">';
445
  $html .= '<input type="file" name="wcj_checkout_files_upload_' . $i . '" id="wcj_checkout_files_upload_' . $i .
455
  ' data-value="' . get_option( 'wcj_checkout_files_upload_label_upload_button_' . $i, __( 'Upload', 'woocommerce-jetpack' ) ) . '">';
456
  $html .= '</td>';
457
  $html .= '</tr>';
458
+ */
459
  } else {
460
+ $field_html = '<a href="' . add_query_arg( array( 'wcj_download_checkout_file' => $i, '_wpnonce' => wp_create_nonce( 'wcj_download_checkout_file' ) ) ) . '">' . $file_name . '</a>';
461
+ $button_html = '<input type="submit"' .
462
+ ' class="button"' .
463
+ ' style="width:100%;"' .
464
+ ' name="wcj_remove_checkout_file_' . $i . '"' .
465
+ ' id="wcj_remove_checkout_file_' . $i . '"' .
466
+ ' value="' . get_option( 'wcj_checkout_files_upload_label_remove_button_' . $i, __( 'Remove', 'woocommerce-jetpack' ) ) . '"' .
467
+ ' data-value="' . get_option( 'wcj_checkout_files_upload_label_remove_button_' . $i, __( 'Remove', 'woocommerce-jetpack' ) ) . '">';;
468
+ /*
469
  $html .= '<tr>';
470
  $html .= '<td style="width:50%;">';
471
  $html .= '<a href="' . add_query_arg( array( 'wcj_download_checkout_file' => $i, '_wpnonce' => wp_create_nonce( 'wcj_download_checkout_file' ) ) ) . '">' . $file_name . '</a>';
480
  ' data-value="' . get_option( 'wcj_checkout_files_upload_label_remove_button_' . $i, __( 'Remove', 'woocommerce-jetpack' ) ) . '">';
481
  $html .= '</td>';
482
  $html .= '</tr>';
483
+ */
484
  }
485
+ $template = get_option( 'wcj_checkout_files_upload_form_template_field',
486
+ '<tr><td style="width:50%;">%field_html%</td><td style="width:50%;">%button_html%</td></tr>' );
487
+ $html .= str_replace(
488
+ array( '%field_html%', '%button_html%' ),
489
+ array( $field_html, $button_html ),
490
+ $template
491
+ );
492
+ $html .= get_option( 'wcj_checkout_files_upload_form_template_after', '</table>' );
493
  if ( 0 != $order_id ) {
494
  $html .= '<input type="hidden" name="wcj_checkout_files_upload_order_id_' . $i . '" value="' . $order_id . '">';
495
  }
500
  /**
501
  * add_files_upload_form_to_thankyou_and_myaccount_page.
502
  *
503
+ * @version 2.5.6
504
  * @since 2.5.0
505
  */
506
  function add_files_upload_form_to_thankyou_and_myaccount_page( $order_id ) {
507
  $html = '';
508
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_checkout_files_upload_total_number', 1 ) );
509
+ $current_filter = current_filter();
510
  for ( $i = 1; $i <= $total_number; $i++ ) {
511
  if ( 'yes' === get_option( 'wcj_checkout_files_upload_enabled_' . $i, 'yes' ) && $this->is_visible( $i, $order_id ) ) {
512
+ if (
513
+ ( 'yes' === get_option( 'wcj_checkout_files_upload_add_to_thankyou_' . $i, 'no' ) && 'woocommerce_thankyou' === $current_filter ) ||
514
+ ( 'yes' === get_option( 'wcj_checkout_files_upload_add_to_myaccount_' . $i, 'no' ) && 'woocommerce_view_order' === $current_filter )
515
+ ) {
516
+ $file_name = get_post_meta( $order_id, '_' . 'wcj_checkout_files_upload_real_name_' . $i, true );
517
+ $html .= $this->get_the_form( $i, $file_name, $order_id );
518
+ }
519
  }
520
  }
521
  echo $html;
560
  /**
561
  * get_settings.
562
  *
563
+ * @version 2.5.6
564
  * @since 2.4.5
565
  */
566
  function get_settings() {
781
  'id' => 'wcj_checkout_files_upload_emails_options',
782
  ),
783
  ) );
784
+ $settings = array_merge( $settings, array(
785
+ array(
786
+ 'title' => __( 'Form Template Options', 'woocommerce-jetpack' ),
787
+ 'type' => 'title',
788
+ 'id' => 'wcj_checkout_files_upload_form_template_options',
789
+ ),
790
+ array(
791
+ 'title' => __( 'Before', 'woocommerce-jetpack' ),
792
+ 'id' => 'wcj_checkout_files_upload_form_template_before',
793
+ 'default' => '<table>',
794
+ 'type' => 'textarea',
795
+ 'css' => 'width:66%;min-width:300px;',
796
+ ),
797
+ array(
798
+ 'title' => __( 'Label', 'woocommerce-jetpack' ),
799
+ 'desc_tip' => __( 'Replaced values: %field_id%, %field_label%, %required_html%.', 'woocommerce-jetpack' ),
800
+ 'id' => 'wcj_checkout_files_upload_form_template_label',
801
+ 'default' => '<tr><td colspan="2"><label for="%field_id%">%field_label%</label>%required_html%</td></tr>',
802
+ 'type' => 'textarea',
803
+ 'css' => 'width:66%;min-width:300px;',
804
+ ),
805
+ array(
806
+ 'title' => __( 'Field', 'woocommerce-jetpack' ),
807
+ 'desc_tip' => __( 'Replaced values: %field_html%, %button_html%.', 'woocommerce-jetpack' ),
808
+ 'id' => 'wcj_checkout_files_upload_form_template_field',
809
+ 'default' => '<tr><td style="width:50%;">%field_html%</td><td style="width:50%;">%button_html%</td></tr>',
810
+ 'type' => 'textarea',
811
+ 'css' => 'width:66%;min-width:300px;',
812
+ ),
813
+ array(
814
+ 'title' => __( 'After', 'woocommerce-jetpack' ),
815
+ 'id' => 'wcj_checkout_files_upload_form_template_after',
816
+ 'default' => '</table>',
817
+ 'type' => 'textarea',
818
+ 'css' => 'width:66%;min-width:300px;',
819
+ ),
820
+ array(
821
+ 'type' => 'sectionend',
822
+ 'id' => 'wcj_checkout_files_upload_form_template_options',
823
+ ),
824
+ ) );
825
  return $this->add_standard_settings( $settings );
826
  }
827
  }
includes/class-wcj-currency-per-product.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Currency per Product class.
6
  *
7
- * @version 2.5.2
8
  * @since 2.5.2
9
  * @author Algoritmika Ltd.
10
  */
@@ -217,11 +217,12 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
217
  /**
218
  * get_meta_box_options.
219
  *
220
- * @version 2.5.2
221
  * @since 2.5.2
222
  */
223
  function get_meta_box_options() {
224
  $currency_codes = array();
 
225
  $currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
226
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
227
  for ( $i = 1; $i <= $total_number; $i++ ) {
@@ -234,6 +235,7 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
234
  'type' => 'select',
235
  'title' => __( 'Product Currency', 'woocommerce-jetpack' ),
236
  'options' => $currency_codes,
 
237
  ),
238
  );
239
  return $options;
@@ -263,17 +265,17 @@ class WCJ_Currency_Per_Product extends WCJ_Module {
263
  /**
264
  * add_settings.
265
  *
266
- * @version 2.5.2
267
  * @since 2.5.2
268
  */
269
  function add_settings() {
270
  $currency_from = get_woocommerce_currency();
271
  $all_currencies = wcj_get_currencies_names_and_symbols();
272
- foreach ( $all_currencies as $currency_key => $currency_name ) {
273
  if ( $currency_from == $currency_key ) {
274
  unset( $all_currencies[ $currency_key ] );
275
  }
276
- }
277
  $settings = array(
278
  array(
279
  'title' => __( 'Options', 'woocommerce-jetpack' ),
4
  *
5
  * The WooCommerce Jetpack Currency per Product class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.2
9
  * @author Algoritmika Ltd.
10
  */
217
  /**
218
  * get_meta_box_options.
219
  *
220
+ * @version 2.5.6
221
  * @since 2.5.2
222
  */
223
  function get_meta_box_options() {
224
  $currency_codes = array();
225
+ $currency_codes[ get_option('woocommerce_currency') ] = get_option('woocommerce_currency');
226
  $currency_codes[ get_woocommerce_currency() ] = get_woocommerce_currency();
227
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_currency_per_product_total_number', 1 ) );
228
  for ( $i = 1; $i <= $total_number; $i++ ) {
235
  'type' => 'select',
236
  'title' => __( 'Product Currency', 'woocommerce-jetpack' ),
237
  'options' => $currency_codes,
238
+ 'tooltip' => __( 'Update product after you change this field\'s value.', 'woocommerce-jetpack' ),
239
  ),
240
  );
241
  return $options;
265
  /**
266
  * add_settings.
267
  *
268
+ * @version 2.5.6
269
  * @since 2.5.2
270
  */
271
  function add_settings() {
272
  $currency_from = get_woocommerce_currency();
273
  $all_currencies = wcj_get_currencies_names_and_symbols();
274
+ /* foreach ( $all_currencies as $currency_key => $currency_name ) {
275
  if ( $currency_from == $currency_key ) {
276
  unset( $all_currencies[ $currency_key ] );
277
  }
278
+ } */
279
  $settings = array(
280
  array(
281
  'title' => __( 'Options', 'woocommerce-jetpack' ),
includes/class-wcj-export-import.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Export Import class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.5.4
9
  * @author Algoritmika Ltd.
10
  * @todo import products (maybe orders, customers) tool(s);
@@ -104,12 +104,12 @@ class WCJ_Export_Import extends WCJ_Module {
104
  }
105
 
106
  /**
107
- * export_filter_fileds.
108
  *
109
- * @version 2.5.5
110
  * @since 2.5.5
111
  */
112
- function export_filter_fileds( $tool_id ) {
113
  $fields = array();
114
  switch ( $tool_id ) {
115
  case 'orders':
@@ -129,23 +129,108 @@ class WCJ_Export_Import extends WCJ_Module {
129
  );
130
  }
131
  $data[] = array(
132
- '<button class="button-primary" type="submit" name="wcj_export_show" value="' . $tool_id . '">' . __( 'Show', 'woocommerce-jetpack' ) . '</button>',
133
  '',
134
  );
135
  return wcj_get_table_html( $data, array( 'table_class' => 'widefat', 'table_style' => 'width:50%;min-width:300px;', 'table_heading_type' => 'vertical', ) );
136
  }
137
  }
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  /**
140
  * create_export_tool.
141
  *
142
- * @version 2.5.5
143
  * @since 2.4.8
144
  */
145
  function create_export_tool( $tool_id ) {
146
  $data = $this->export( $tool_id );
147
  echo '<form method="post" action="">';
148
- echo $this->export_filter_fileds( $tool_id );
149
  echo '<p><button class="button-primary" type="submit" name="wcj_export" value="' . $tool_id . '">' . __( 'Download CSV', 'woocommerce-jetpack' ) . '</button></p>';
150
  echo '</form>';
151
  echo wcj_get_table_html( $data, array( 'table_class' => 'widefat striped' ) );
@@ -215,46 +300,20 @@ class WCJ_Export_Import extends WCJ_Module {
215
  /**
216
  * export_orders.
217
  *
218
- * @version 2.5.5
219
  * @since 2.4.8
220
  */
221
  function export_orders() {
 
 
 
 
 
 
222
  $data = array();
223
- $data[] = array(
224
- __( 'Order ID', 'woocommerce-jetpack' ),
225
- __( 'Order Number', 'woocommerce-jetpack' ),
226
- __( 'Order Status', 'woocommerce-jetpack' ),
227
- __( 'Order Date', 'woocommerce-jetpack' ),
228
- __( 'Order Item Count', 'woocommerce-jetpack' ),
229
- __( 'Order Items', 'woocommerce-jetpack' ),
230
- __( 'Order Currency', 'woocommerce-jetpack' ),
231
- __( 'Order Total', 'woocommerce-jetpack' ),
232
- __( 'Order Total Tax', 'woocommerce-jetpack' ),
233
- __( 'Order Payment Method', 'woocommerce-jetpack' ),
234
- __( 'Order Notes', 'woocommerce-jetpack' ),
235
- __( 'Billing First Name', 'woocommerce-jetpack' ),
236
- __( 'Billing Last Name', 'woocommerce-jetpack' ),
237
- __( 'Billing Company', 'woocommerce-jetpack' ),
238
- __( 'Billing Address 1', 'woocommerce-jetpack' ),
239
- __( 'Billing Address 2', 'woocommerce-jetpack' ),
240
- __( 'Billing City', 'woocommerce-jetpack' ),
241
- __( 'Billing State', 'woocommerce-jetpack' ),
242
- __( 'Billing Postcode', 'woocommerce-jetpack' ),
243
- __( 'Billing Country', 'woocommerce-jetpack' ),
244
- __( 'Billing Phone', 'woocommerce-jetpack' ),
245
- __( 'Billing Email', 'woocommerce-jetpack' ),
246
- __( 'Shipping First Name', 'woocommerce-jetpack' ),
247
- __( 'Shipping Last Name', 'woocommerce-jetpack' ),
248
- __( 'Shipping Company', 'woocommerce-jetpack' ),
249
- __( 'Shipping Address 1', 'woocommerce-jetpack' ),
250
- __( 'Shipping Address 2', 'woocommerce-jetpack' ),
251
- __( 'Shipping City', 'woocommerce-jetpack' ),
252
- __( 'Shipping State', 'woocommerce-jetpack' ),
253
- __( 'Shipping Postcode', 'woocommerce-jetpack' ),
254
- __( 'Shipping Country', 'woocommerce-jetpack' ),
255
- );
256
  $offset = 0;
257
- $block_size = 96;
258
  while( true ) {
259
  $args_orders = array(
260
  'post_type' => 'shop_order',
@@ -263,11 +322,11 @@ class WCJ_Export_Import extends WCJ_Module {
263
  'orderby' => 'date',
264
  'order' => 'DESC',
265
  'offset' => $offset,
 
266
  );
267
  $loop_orders = new WP_Query( $args_orders );
268
  if ( ! $loop_orders->have_posts() ) break;
269
- while ( $loop_orders->have_posts() ) : $loop_orders->the_post();
270
- $order_id = $loop_orders->post->ID;
271
  $order = wc_get_order( $order_id );
272
 
273
  if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
@@ -281,8 +340,13 @@ class WCJ_Export_Import extends WCJ_Module {
281
  $filter_by_product_title = false;
282
  }
283
  $items = array();
 
284
  foreach ( $order->get_items() as $item ) {
285
  $items[] = $item['name'];
 
 
 
 
286
  if ( ! $filter_by_product_title ) {
287
  // if ( $item['name'] === $_POST['wcj_filter_by_product_title'] ) {
288
  if ( false !== strpos( $item['name'], $_POST['wcj_filter_by_product_title'] ) ) {
@@ -291,44 +355,114 @@ class WCJ_Export_Import extends WCJ_Module {
291
  }
292
  }
293
  $items = implode( ' / ', $items );
 
294
  if ( ! $filter_by_product_title ) {
295
  continue;
296
  }
297
 
298
- $data[] = array(
299
- $order_id,
300
- $order->get_order_number(),
301
- $order->get_status(),
302
- get_the_date( 'Y/m/d' ),
303
- $order->get_item_count(),
304
- $items,
305
- $order->get_order_currency(),
306
- $order->get_total(),
307
- $order->get_total_tax(),
308
- $order->payment_method_title,
309
- $order->customer_note,
310
- $order->billing_first_name,
311
- $order->billing_last_name,
312
- $order->billing_company,
313
- $order->billing_address_1,
314
- $order->billing_address_2,
315
- $order->billing_city,
316
- $order->billing_state,
317
- $order->billing_postcode,
318
- $order->billing_country,
319
- $order->billing_phone,
320
- $order->billing_email,
321
- $order->shipping_first_name,
322
- $order->shipping_last_name,
323
- $order->shipping_company,
324
- $order->shipping_address_1,
325
- $order->shipping_address_2,
326
- $order->shipping_city,
327
- $order->shipping_state,
328
- $order->shipping_postcode,
329
- $order->shipping_country,
330
- );
331
- endwhile;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
332
  $offset += $block_size;
333
  }
334
  return $data;
@@ -436,7 +570,7 @@ class WCJ_Export_Import extends WCJ_Module {
436
  /**
437
  * get_settings.
438
  *
439
- * @version 2.5.5
440
  * @since 2.5.4
441
  */
442
  function get_settings() {
@@ -452,6 +586,14 @@ class WCJ_Export_Import extends WCJ_Module {
452
  'default' => ',',
453
  'type' => 'text',
454
  ),
 
 
 
 
 
 
 
 
455
  array(
456
  'type' => 'sectionend',
457
  'id' => 'wcj_export_options'
4
  *
5
  * The WooCommerce Jetpack Export Import class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.4
9
  * @author Algoritmika Ltd.
10
  * @todo import products (maybe orders, customers) tool(s);
104
  }
105
 
106
  /**
107
+ * export_filter_fields.
108
  *
109
+ * @version 2.5.6
110
  * @since 2.5.5
111
  */
112
+ function export_filter_fields( $tool_id ) {
113
  $fields = array();
114
  switch ( $tool_id ) {
115
  case 'orders':
129
  );
130
  }
131
  $data[] = array(
132
+ '<button class="button-primary" type="submit" name="wcj_export_filter" value="' . $tool_id . '">' . __( 'Filter', 'woocommerce-jetpack' ) . '</button>',
133
  '',
134
  );
135
  return wcj_get_table_html( $data, array( 'table_class' => 'widefat', 'table_style' => 'width:50%;min-width:300px;', 'table_heading_type' => 'vertical', ) );
136
  }
137
  }
138
 
139
+ /**
140
+ * get_order_export_fields.
141
+ *
142
+ * @version 2.5.6
143
+ * @since 2.5.6
144
+ */
145
+ function get_order_export_fields() {
146
+ return array(
147
+ 'order-id' => __( 'Order ID', 'woocommerce-jetpack' ),
148
+ 'order-number' => __( 'Order Number', 'woocommerce-jetpack' ),
149
+ 'order-status' => __( 'Order Status', 'woocommerce-jetpack' ),
150
+ 'order-date' => __( 'Order Date', 'woocommerce-jetpack' ),
151
+ 'order-item-count' => __( 'Order Item Count', 'woocommerce-jetpack' ),
152
+ 'order-items' => __( 'Order Items', 'woocommerce-jetpack' ),
153
+ 'order-items-product-input-fields' => __( 'Order Items Product Input Fields', 'woocommerce-jetpack' ),
154
+ 'order-currency' => __( 'Order Currency', 'woocommerce-jetpack' ),
155
+ 'order-total' => __( 'Order Total', 'woocommerce-jetpack' ),
156
+ 'order-total-tax' => __( 'Order Total Tax', 'woocommerce-jetpack' ),
157
+ 'order-payment-method' => __( 'Order Payment Method', 'woocommerce-jetpack' ),
158
+ 'order-notes' => __( 'Order Notes', 'woocommerce-jetpack' ),
159
+ 'billing-first-name' => __( 'Billing First Name', 'woocommerce-jetpack' ),
160
+ 'billing-last-name' => __( 'Billing Last Name', 'woocommerce-jetpack' ),
161
+ 'billing-company' => __( 'Billing Company', 'woocommerce-jetpack' ),
162
+ 'billing-address-1' => __( 'Billing Address 1', 'woocommerce-jetpack' ),
163
+ 'billing-address-2' => __( 'Billing Address 2', 'woocommerce-jetpack' ),
164
+ 'billing-city' => __( 'Billing City', 'woocommerce-jetpack' ),
165
+ 'billing-state' => __( 'Billing State', 'woocommerce-jetpack' ),
166
+ 'billing-postcode' => __( 'Billing Postcode', 'woocommerce-jetpack' ),
167
+ 'billing-country' => __( 'Billing Country', 'woocommerce-jetpack' ),
168
+ 'billing-phone' => __( 'Billing Phone', 'woocommerce-jetpack' ),
169
+ 'billing-email' => __( 'Billing Email', 'woocommerce-jetpack' ),
170
+ 'shipping-first-name' => __( 'Shipping First Name', 'woocommerce-jetpack' ),
171
+ 'shipping-last-name' => __( 'Shipping Last Name', 'woocommerce-jetpack' ),
172
+ 'shipping-company' => __( 'Shipping Company', 'woocommerce-jetpack' ),
173
+ 'shipping-address-1' => __( 'Shipping Address 1', 'woocommerce-jetpack' ),
174
+ 'shipping-address-2' => __( 'Shipping Address 2', 'woocommerce-jetpack' ),
175
+ 'shipping-city' => __( 'Shipping City', 'woocommerce-jetpack' ),
176
+ 'shipping-state' => __( 'Shipping State', 'woocommerce-jetpack' ),
177
+ 'shipping-postcode' => __( 'Shipping Postcode', 'woocommerce-jetpack' ),
178
+ 'shipping-country' => __( 'Shipping Country', 'woocommerce-jetpack' ),
179
+ );
180
+ }
181
+
182
+ /**
183
+ * get_order_export_default_fields_ids.
184
+ *
185
+ * @version 2.5.6
186
+ * @since 2.5.6
187
+ */
188
+ function get_order_export_default_fields_ids() {
189
+ return array(
190
+ 'order-id',
191
+ 'order-number',
192
+ 'order-status',
193
+ 'order-date',
194
+ 'order-item-count',
195
+ 'order-items',
196
+ 'order-currency',
197
+ 'order-total',
198
+ 'order-total-tax',
199
+ 'order-payment-method',
200
+ 'order-notes',
201
+ 'billing-first-name',
202
+ 'billing-last-name',
203
+ 'billing-company',
204
+ 'billing-address-1',
205
+ 'billing-address-2',
206
+ 'billing-city',
207
+ 'billing-state',
208
+ 'billing-postcode',
209
+ 'billing-country',
210
+ 'billing-phone',
211
+ 'billing-email',
212
+ 'shipping-first-name',
213
+ 'shipping-last-name',
214
+ 'shipping-company',
215
+ 'shipping-address-1',
216
+ 'shipping-address-2',
217
+ 'shipping-city',
218
+ 'shipping-state',
219
+ 'shipping-postcode',
220
+ 'shipping-country',
221
+ );
222
+ }
223
+
224
  /**
225
  * create_export_tool.
226
  *
227
+ * @version 2.5.6
228
  * @since 2.4.8
229
  */
230
  function create_export_tool( $tool_id ) {
231
  $data = $this->export( $tool_id );
232
  echo '<form method="post" action="">';
233
+ echo '<p>' . $this->export_filter_fields( $tool_id ) . '</p>';
234
  echo '<p><button class="button-primary" type="submit" name="wcj_export" value="' . $tool_id . '">' . __( 'Download CSV', 'woocommerce-jetpack' ) . '</button></p>';
235
  echo '</form>';
236
  echo wcj_get_table_html( $data, array( 'table_class' => 'widefat striped' ) );
300
  /**
301
  * export_orders.
302
  *
303
+ * @version 2.5.6
304
  * @since 2.4.8
305
  */
306
  function export_orders() {
307
+ $all_fields = $this->get_order_export_fields();
308
+ $fields_ids = get_option( 'wcj_export_orders_fields', $this->get_order_export_default_fields_ids() );
309
+ $titles = array();
310
+ foreach( $fields_ids as $field_id ) {
311
+ $titles[] = $all_fields[ $field_id ];
312
+ }
313
  $data = array();
314
+ $data[] = $titles;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  $offset = 0;
316
+ $block_size = 1024;
317
  while( true ) {
318
  $args_orders = array(
319
  'post_type' => 'shop_order',
322
  'orderby' => 'date',
323
  'order' => 'DESC',
324
  'offset' => $offset,
325
+ 'fields' => 'ids',
326
  );
327
  $loop_orders = new WP_Query( $args_orders );
328
  if ( ! $loop_orders->have_posts() ) break;
329
+ foreach ( $loop_orders->posts as $order_id ) {
 
330
  $order = wc_get_order( $order_id );
331
 
332
  if ( isset( $_POST['wcj_filter_by_order_billing_country'] ) && '' != $_POST['wcj_filter_by_order_billing_country'] ) {
340
  $filter_by_product_title = false;
341
  }
342
  $items = array();
343
+ $items_product_input_fields = array();
344
  foreach ( $order->get_items() as $item ) {
345
  $items[] = $item['name'];
346
+ $item_product_input_fields = wcj_get_product_input_fields( $item );
347
+ if ( '' != $item_product_input_fields ) {
348
+ $items_product_input_fields[] = $item_product_input_fields;
349
+ }
350
  if ( ! $filter_by_product_title ) {
351
  // if ( $item['name'] === $_POST['wcj_filter_by_product_title'] ) {
352
  if ( false !== strpos( $item['name'], $_POST['wcj_filter_by_product_title'] ) ) {
355
  }
356
  }
357
  $items = implode( ' / ', $items );
358
+ $items_product_input_fields = implode( ' / ', $items_product_input_fields );
359
  if ( ! $filter_by_product_title ) {
360
  continue;
361
  }
362
 
363
+ $row = array();
364
+ foreach( $fields_ids as $field_id ) {
365
+ switch ( $field_id ) {
366
+ case 'order-id':
367
+ $row[] = $order_id;
368
+ break;
369
+ case 'order-number':
370
+ $row[] = $order->get_order_number();
371
+ break;
372
+ case 'order-status':
373
+ $row[] = $order->get_status();
374
+ break;
375
+ case 'order-date':
376
+ $row[] = get_the_date( 'Y/m/d' );
377
+ break;
378
+ case 'order-item-count':
379
+ $row[] = $order->get_item_count();
380
+ break;
381
+ case 'order-items':
382
+ $row[] = $items;
383
+ break;
384
+ case 'order-items-product-input-fields':
385
+ $row[] = $items_product_input_fields;
386
+ break;
387
+ case 'order-currency':
388
+ $row[] = $order->get_order_currency();
389
+ break;
390
+ case 'order-total':
391
+ $row[] = $order->get_total();
392
+ break;
393
+ case 'order-total-tax':
394
+ $row[] = $order->get_total_tax();
395
+ break;
396
+ case 'order-payment-method':
397
+ $row[] = $order->payment_method_title;
398
+ break;
399
+ case 'order-notes':
400
+ $row[] = $order->customer_note;
401
+ break;
402
+ case 'billing-first-name':
403
+ $row[] = $order->billing_first_name;
404
+ break;
405
+ case 'billing-last-name':
406
+ $row[] = $order->billing_last_name;
407
+ break;
408
+ case 'billing-company':
409
+ $row[] = $order->billing_company;
410
+ break;
411
+ case 'billing-address-1':
412
+ $row[] = $order->billing_address_1;
413
+ break;
414
+ case 'billing-address-2':
415
+ $row[] = $order->billing_address_2;
416
+ break;
417
+ case 'billing-city':
418
+ $row[] = $order->billing_city;
419
+ break;
420
+ case 'billing-state':
421
+ $row[] = $order->billing_state;
422
+ break;
423
+ case 'billing-postcode':
424
+ $row[] = $order->billing_postcode;
425
+ break;
426
+ case 'billing-country':
427
+ $row[] = $order->billing_country;
428
+ break;
429
+ case 'billing-phone':
430
+ $row[] = $order->billing_phone;
431
+ break;
432
+ case 'billing-email':
433
+ $row[] = $order->billing_email;
434
+ break;
435
+ case 'shipping-first-name':
436
+ $row[] = $order->shipping_first_name;
437
+ break;
438
+ case 'shipping-last-name':
439
+ $row[] = $order->shipping_last_name;
440
+ break;
441
+ case 'shipping-company':
442
+ $row[] = $order->shipping_company;
443
+ break;
444
+ case 'shipping-address-1':
445
+ $row[] = $order->shipping_address_1;
446
+ break;
447
+ case 'shipping-address-2':
448
+ $row[] = $order->shipping_address_2;
449
+ break;
450
+ case 'shipping-city':
451
+ $row[] = $order->shipping_city;
452
+ break;
453
+ case 'shipping-state':
454
+ $row[] = $order->shipping_state;
455
+ break;
456
+ case 'shipping-postcode':
457
+ $row[] = $order->shipping_postcode;
458
+ break;
459
+ case 'shipping-country':
460
+ $row[] = $order->shipping_country;
461
+ break;
462
+ }
463
+ }
464
+ $data[] = $row;
465
+ }
466
  $offset += $block_size;
467
  }
468
  return $data;
570
  /**
571
  * get_settings.
572
  *
573
+ * @version 2.5.6
574
  * @since 2.5.4
575
  */
576
  function get_settings() {
586
  'default' => ',',
587
  'type' => 'text',
588
  ),
589
+ array(
590
+ 'title' => __( 'Export Orders Fields', 'woocommerce-jetpack' ),
591
+ 'id' => 'wcj_export_orders_fields',
592
+ 'default' => $this->get_order_export_default_fields_ids(),
593
+ 'type' => 'multiselect',
594
+ 'options' => $this->get_order_export_fields(),
595
+ 'css' => 'height:300px;',
596
+ ),
597
  array(
598
  'type' => 'sectionend',
599
  'id' => 'wcj_export_options'
includes/class-wcj-multicurrency-product-base-price.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Multicurrency Product Base Price class.
6
  *
7
- * @version 2.5.2
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
@@ -61,8 +61,11 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
61
 
62
  /**
63
  * get_currency_exchange_rate.
 
 
64
  */
65
  function get_currency_exchange_rate( $currency_code ) {
 
66
  $currency_exchange_rate = 1;
67
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
68
  for ( $i = 1; $i <= $total_number; $i++ ) {
@@ -72,6 +75,8 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
72
  }
73
  }
74
  return $currency_exchange_rate;
 
 
75
  }
76
 
77
  /**
@@ -97,8 +102,11 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
97
 
98
  /**
99
  * change_price_by_currency.
 
 
100
  */
101
  function change_price_by_currency( $price, $_product ) {
 
102
  $multicurrency_base_price_currency = get_post_meta( $_product->id, '_' . 'wcj_multicurrency_base_price_currency', true );
103
  if ( '' != $multicurrency_base_price_currency ) {
104
  if ( 1 != ( $currency_exchange_rate = $this->get_currency_exchange_rate( $multicurrency_base_price_currency ) ) ) {
@@ -106,6 +114,8 @@ class WCJ_Multicurrency_Base_Price extends WCJ_Module {
106
  }
107
  }
108
  return $price;
 
 
109
  }
110
 
111
  /**
4
  *
5
  * The WooCommerce Jetpack Multicurrency Product Base Price class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
61
 
62
  /**
63
  * get_currency_exchange_rate.
64
+ *
65
+ * @version 2.5.6
66
  */
67
  function get_currency_exchange_rate( $currency_code ) {
68
+ /*
69
  $currency_exchange_rate = 1;
70
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
71
  for ( $i = 1; $i <= $total_number; $i++ ) {
75
  }
76
  }
77
  return $currency_exchange_rate;
78
+ */
79
+ return wcj_get_currency_exchange_rate_product_base_currency( $currency_code );
80
  }
81
 
82
  /**
102
 
103
  /**
104
  * change_price_by_currency.
105
+ *
106
+ * @version 2.5.6
107
  */
108
  function change_price_by_currency( $price, $_product ) {
109
+ /*
110
  $multicurrency_base_price_currency = get_post_meta( $_product->id, '_' . 'wcj_multicurrency_base_price_currency', true );
111
  if ( '' != $multicurrency_base_price_currency ) {
112
  if ( 1 != ( $currency_exchange_rate = $this->get_currency_exchange_rate( $multicurrency_base_price_currency ) ) ) {
114
  }
115
  }
116
  return $price;
117
+ */
118
+ return wcj_price_by_product_base_currency( $price, $_product->id );
119
  }
120
 
121
  /**
includes/class-wcj-order-custom-statuses.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Order Custom Statuses class.
6
  *
7
- * @version 2.5.2
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
@@ -18,7 +18,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
18
  /**
19
  * Constructor.
20
  *
21
- * @version 2.5.0
22
  */
23
  public function __construct() {
24
 
@@ -35,16 +35,6 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
35
  ),
36
  ) );
37
 
38
- $this->default_statuses = array(
39
- 'wc-pending' => _x( 'Pending payment', 'Order status', 'woocommerce' ),
40
- 'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
41
- 'wc-on-hold' => _x( 'On hold', 'Order status', 'woocommerce' ),
42
- 'wc-completed' => _x( 'Completed', 'Order status', 'woocommerce' ),
43
- 'wc-cancelled' => _x( 'Cancelled', 'Order status', 'woocommerce' ),
44
- 'wc-refunded' => _x( 'Refunded', 'Order status', 'woocommerce' ),
45
- 'wc-failed' => _x( 'Failed', 'Order status', 'woocommerce' ),
46
- );
47
-
48
  if ( $this->is_enabled() ) {
49
 
50
  add_filter( 'wc_order_statuses', array( $this, 'add_custom_statuses_to_filter' ), 100 );
@@ -63,6 +53,24 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
63
  }
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  /**
67
  * add_custom_order_statuses_to_reports.
68
  *
@@ -116,13 +124,14 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
116
  /**
117
  * hook_statuses_icons_css.
118
  *
119
- * @verison 2.5.2
120
  */
121
  public function hook_statuses_icons_css() {
122
  $output = '<style>';
123
  $statuses = function_exists( 'wc_get_order_statuses' ) ? wc_get_order_statuses() : array();
 
124
  foreach( $statuses as $status => $status_name ) {
125
- if ( ! array_key_exists( $status, $this->default_statuses ) ) {
126
  if ( '' != ( $icon_data = get_option( 'wcj_orders_custom_status_icon_data_' . substr( $status, 3 ), '' ) ) ) {
127
  $content = $icon_data['content'];
128
  $color = $icon_data['color'];
@@ -180,7 +189,7 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
180
  /**
181
  * create_custom_statuses_tool.
182
  *
183
- * @version 2.5.2
184
  */
185
  public function create_custom_statuses_tool() {
186
  $result_message = '';
@@ -211,11 +220,12 @@ class WCJ_Order_Custom_Statuses extends WCJ_Module {
211
  echo '<th>' . __( 'Delete', 'woocommerce-jetpack' ) . '</th>';
212
  echo '</tr>';
213
  $statuses = function_exists( 'wc_get_order_statuses' ) ? wc_get_order_statuses() : array();
 
214
  foreach( $statuses as $status => $status_name ) {
215
  echo '<tr>';
216
  echo '<td>' . esc_attr( $status ) . '</td>';
217
  echo '<td>' . esc_html( $status_name ) . '</td>';
218
- if ( array_key_exists( $status, $this->default_statuses ) ) {
219
  echo '<td></td>';
220
  echo '<td></td>';
221
  echo '<td></td>';
4
  *
5
  * The WooCommerce Jetpack Order Custom Statuses class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
18
  /**
19
  * Constructor.
20
  *
21
+ * @version 2.5.6
22
  */
23
  public function __construct() {
24
 
35
  ),
36
  ) );
37
 
 
 
 
 
 
 
 
 
 
 
38
  if ( $this->is_enabled() ) {
39
 
40
  add_filter( 'wc_order_statuses', array( $this, 'add_custom_statuses_to_filter' ), 100 );
53
  }
54
  }
55
 
56
+ /**
57
+ * get_default_order_statuses.
58
+ *
59
+ * @version 2.5.6
60
+ * @since 2.5.6
61
+ */
62
+ function get_default_order_statuses() {
63
+ return array(
64
+ 'wc-pending' => _x( 'Pending payment', 'Order status', 'woocommerce' ),
65
+ 'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
66
+ 'wc-on-hold' => _x( 'On hold', 'Order status', 'woocommerce' ),
67
+ 'wc-completed' => _x( 'Completed', 'Order status', 'woocommerce' ),
68
+ 'wc-cancelled' => _x( 'Cancelled', 'Order status', 'woocommerce' ),
69
+ 'wc-refunded' => _x( 'Refunded', 'Order status', 'woocommerce' ),
70
+ 'wc-failed' => _x( 'Failed', 'Order status', 'woocommerce' ),
71
+ );
72
+ }
73
+
74
  /**
75
  * add_custom_order_statuses_to_reports.
76
  *
124
  /**
125
  * hook_statuses_icons_css.
126
  *
127
+ * @verison 2.5.6
128
  */
129
  public function hook_statuses_icons_css() {
130
  $output = '<style>';
131
  $statuses = function_exists( 'wc_get_order_statuses' ) ? wc_get_order_statuses() : array();
132
+ $default_statuses = $this->get_default_order_statuses();
133
  foreach( $statuses as $status => $status_name ) {
134
+ if ( ! array_key_exists( $status, $default_statuses ) ) {
135
  if ( '' != ( $icon_data = get_option( 'wcj_orders_custom_status_icon_data_' . substr( $status, 3 ), '' ) ) ) {
136
  $content = $icon_data['content'];
137
  $color = $icon_data['color'];
189
  /**
190
  * create_custom_statuses_tool.
191
  *
192
+ * @version 2.5.6
193
  */
194
  public function create_custom_statuses_tool() {
195
  $result_message = '';
220
  echo '<th>' . __( 'Delete', 'woocommerce-jetpack' ) . '</th>';
221
  echo '</tr>';
222
  $statuses = function_exists( 'wc_get_order_statuses' ) ? wc_get_order_statuses() : array();
223
+ $default_statuses = $this->get_default_order_statuses();
224
  foreach( $statuses as $status => $status_name ) {
225
  echo '<tr>';
226
  echo '<td>' . esc_attr( $status ) . '</td>';
227
  echo '<td>' . esc_html( $status_name ) . '</td>';
228
+ if ( array_key_exists( $status, $default_statuses ) ) {
229
  echo '<td></td>';
230
  echo '<td></td>';
231
  echo '<td></td>';
includes/class-wcj-orders.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Orders class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,13 +17,13 @@ class WCJ_Orders extends WCJ_Module {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.3
21
  */
22
  public function __construct() {
23
 
24
  $this->id = 'orders';
25
  $this->short_desc = __( 'Orders', 'woocommerce-jetpack' );
26
- $this->desc = __( 'Minimum WooCommerce order amount (optionally by user role); orders auto-complete; custom admin order list columns.', 'woocommerce-jetpack' );
27
  $this->link = 'http://booster.io/features/woocommerce-orders/';
28
  parent::__construct();
29
 
@@ -47,9 +47,51 @@ class WCJ_Orders extends WCJ_Module {
47
  add_action( 'restrict_manage_posts', array( $this, 'restrict_manage_posts' ) );
48
  add_filter( 'parse_query', array( $this, 'orders_by_country_admin_filter_query' ) );
49
  }
 
 
 
 
 
 
 
 
 
 
50
  }
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  /**
54
  * add_order_minimum_amount_hooks.
55
  *
@@ -296,11 +338,39 @@ class WCJ_Orders extends WCJ_Module {
296
  /**
297
  * add_settings.
298
  *
299
- * @version 2.5.5
300
  * @since 2.5.3
301
  */
302
  function add_settings() {
303
  $settings = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  array(
305
  'title' => __( 'Order Minimum Amount', 'woocommerce-jetpack' ),
306
  'type' => 'title',
4
  *
5
  * The WooCommerce Jetpack Orders class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
24
  $this->id = 'orders';
25
  $this->short_desc = __( 'Orders', 'woocommerce-jetpack' );
26
+ $this->desc = __( 'Minimum WooCommerce order amount (optionally by user role); orders auto-complete; custom admin order list columns; admin order currency.', 'woocommerce-jetpack' );
27
  $this->link = 'http://booster.io/features/woocommerce-orders/';
28
  parent::__construct();
29
 
47
  add_action( 'restrict_manage_posts', array( $this, 'restrict_manage_posts' ) );
48
  add_filter( 'parse_query', array( $this, 'orders_by_country_admin_filter_query' ) );
49
  }
50
+
51
+ // Order Currency
52
+ if ( 'yes' === get_option( 'wcj_order_admin_currency', 'no' ) ) {
53
+ $this->meta_box_screen = 'shop_order';
54
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
55
+ add_action( 'save_post_shop_order', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
56
+ if ( 'filter' === get_option( 'wcj_order_admin_currency_method', 'filter' ) ) {
57
+ add_filter( 'woocommerce_get_order_currency', array( $this, 'change_order_currency' ), PHP_INT_MAX, 2 );
58
+ }
59
+ }
60
  }
61
  }
62
 
63
+ /**
64
+ * change_order_currency.
65
+ *
66
+ * @version 2.5.6
67
+ * @since 2.5.6
68
+ */
69
+ function change_order_currency( $order_currency, $_order ) {
70
+ return ( '' != ( $wcj_order_currency = get_post_meta( $_order->id, '_' . 'wcj_order_currency', true ) ) ) ? $wcj_order_currency : $order_currency;
71
+ }
72
+
73
+ /**
74
+ * get_meta_box_options.
75
+ *
76
+ * @version 2.5.6
77
+ * @since 2.5.6
78
+ */
79
+ function get_meta_box_options() {
80
+ $order_id = get_the_ID();
81
+ $_order = wc_get_order( $order_id );
82
+ $options = array(
83
+ array(
84
+ 'name' => ( 'filter' === get_option( 'wcj_order_admin_currency_method', 'filter' ) ? 'wcj_order_currency' : 'order_currency' ),
85
+ 'default' => $_order->get_order_currency(),
86
+ 'type' => 'select',
87
+ 'options' => wcj_get_currencies_names_and_symbols( 'names' ),
88
+ 'title' => __( 'Order Currency', 'woocommerce-jetpack' ),
89
+ 'tooltip' => __( 'Save order after you change this field.', 'woocommerce-jetpack' ),
90
+ ),
91
+ );
92
+ return $options;
93
+ }
94
+
95
  /**
96
  * add_order_minimum_amount_hooks.
97
  *
338
  /**
339
  * add_settings.
340
  *
341
+ * @version 2.5.6
342
  * @since 2.5.3
343
  */
344
  function add_settings() {
345
  $settings = array(
346
+ array(
347
+ 'title' => __( 'Admin Order Currency', 'woocommerce-jetpack' ),
348
+ 'type' => 'title',
349
+ 'id' => 'wcj_order_admin_currency_options',
350
+ ),
351
+ array(
352
+ 'title' => __( 'Admin Order Currency', 'woocommerce-jetpack' ),
353
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
354
+ 'desc_tip' => __( 'When enabled this will add "Booster: Orders" metabox to each order\'s edit page.', 'woocommerce-jetpack' ),
355
+ 'id' => 'wcj_order_admin_currency',
356
+ 'default' => 'no',
357
+ 'type' => 'checkbox',
358
+ ),
359
+ array(
360
+ 'title' => __( 'Admin Order Currency Method', 'woocommerce-jetpack' ),
361
+ 'desc_tip' => __( 'Choose if you want changed order currency to be saved directly to DB, or if you want to use filter. When using <em>filter</em> method, changes will be active only when "Admin Order Currency" section is enabled. When using <em>directly to DB</em> method, changes will be permanent, that is even if Booster plugin is removed.', 'woocommerce-jetpack' ),
362
+ 'id' => 'wcj_order_admin_currency_method',
363
+ 'default' => 'filter',
364
+ 'type' => 'select',
365
+ 'options' => array(
366
+ 'filter' => __( 'Filter', 'woocommerce-jetpack' ),
367
+ 'db' => __( 'Directly to DB', 'woocommerce-jetpack' ),
368
+ ),
369
+ ),
370
+ array(
371
+ 'type' => 'sectionend',
372
+ 'id' => 'wcj_order_admin_currency_options',
373
+ ),
374
  array(
375
  'title' => __( 'Order Minimum Amount', 'woocommerce-jetpack' ),
376
  'type' => 'title',
includes/class-wcj-payment-gateways-by-country.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Payment Gateways by Country class.
6
  *
7
- * @version 2.5.0
8
  * @since 2.4.1
9
  * @author Algoritmika Ltd.
10
  */
@@ -38,31 +38,33 @@ class WCJ_Payment_Gateways_By_Country extends WCJ_Module {
38
  /**
39
  * available_payment_gateways.
40
  *
41
- * @version 2.4.4
42
  */
43
  function available_payment_gateways( $_available_gateways ) {
44
- foreach ( $_available_gateways as $key => $gateway ) {
45
  $customer_country = WC()->customer->get_country();
46
- $include_countries = get_option( 'wcj_gateways_countries_include_' . $key, '' );
47
- if ( ! empty( $include_countries ) && ! in_array( $customer_country, $include_countries ) ) {
48
- unset( $_available_gateways[ $key ] );
49
- continue;
50
- }
51
- $exclude_countries = get_option( 'wcj_gateways_countries_exclude_' . $key, '' );
52
- if ( ! empty( $exclude_countries ) && in_array( $customer_country, $exclude_countries ) ) {
53
- unset( $_available_gateways[ $key ] );
54
- continue;
55
- }
56
- $customer_state = WC()->customer->get_state();
57
- $include_states = get_option( 'wcj_gateways_states_include_' . $key, '' );
58
- if ( ! empty( $include_states ) && ! in_array( $customer_state, $include_states ) ) {
59
- unset( $_available_gateways[ $key ] );
60
- continue;
61
- }
62
- $exclude_states = get_option( 'wcj_gateways_states_exclude_' . $key, '' );
63
- if ( ! empty( $exclude_states ) && in_array( $customer_state, $exclude_states ) ) {
64
- unset( $_available_gateways[ $key ] );
65
- continue;
 
 
66
  }
67
  }
68
  return $_available_gateways;
4
  *
5
  * The WooCommerce Jetpack Payment Gateways by Country class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.4.1
9
  * @author Algoritmika Ltd.
10
  */
38
  /**
39
  * available_payment_gateways.
40
  *
41
+ * @version 2.5.6
42
  */
43
  function available_payment_gateways( $_available_gateways ) {
44
+ if ( isset( WC()->customer ) ) {
45
  $customer_country = WC()->customer->get_country();
46
+ foreach ( $_available_gateways as $key => $gateway ) {
47
+ $include_countries = get_option( 'wcj_gateways_countries_include_' . $key, '' );
48
+ if ( ! empty( $include_countries ) && ! in_array( $customer_country, $include_countries ) ) {
49
+ unset( $_available_gateways[ $key ] );
50
+ continue;
51
+ }
52
+ $exclude_countries = get_option( 'wcj_gateways_countries_exclude_' . $key, '' );
53
+ if ( ! empty( $exclude_countries ) && in_array( $customer_country, $exclude_countries ) ) {
54
+ unset( $_available_gateways[ $key ] );
55
+ continue;
56
+ }
57
+ $customer_state = WC()->customer->get_state();
58
+ $include_states = get_option( 'wcj_gateways_states_include_' . $key, '' );
59
+ if ( ! empty( $include_states ) && ! in_array( $customer_state, $include_states ) ) {
60
+ unset( $_available_gateways[ $key ] );
61
+ continue;
62
+ }
63
+ $exclude_states = get_option( 'wcj_gateways_states_exclude_' . $key, '' );
64
+ if ( ! empty( $exclude_states ) && in_array( $customer_state, $exclude_states ) ) {
65
+ unset( $_available_gateways[ $key ] );
66
+ continue;
67
+ }
68
  }
69
  }
70
  return $_available_gateways;
includes/class-wcj-payment-gateways.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Payment Gateways class.
6
  *
7
- * @version 2.5.2
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -109,7 +109,7 @@ class WCJ_Payment_Gateways extends WCJ_Module {
109
  /**
110
  * get_settings.
111
  *
112
- * @version 2.4.8
113
  */
114
  function get_settings() {
115
  $wocommerce_checkout_settings_url = admin_url( 'admin.php?page=wc-settings&tab=checkout' );
@@ -129,10 +129,8 @@ class WCJ_Payment_Gateways extends WCJ_Module {
129
  'id' => 'wcj_custom_payment_gateways_number',
130
  'default' => 1,
131
  'type' => 'number',
132
- 'custom_attributes' => array_merge(
133
- is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ? apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array(),
134
- array( 'step' => '1', 'min' => '1', 'max' => '10', )
135
- ),
136
  ),
137
  );
138
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_custom_payment_gateways_number', 1 ) );
4
  *
5
  * The WooCommerce Jetpack Payment Gateways class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
109
  /**
110
  * get_settings.
111
  *
112
+ * @version 2.5.6
113
  */
114
  function get_settings() {
115
  $wocommerce_checkout_settings_url = admin_url( 'admin.php?page=wc-settings&tab=checkout' );
129
  'id' => 'wcj_custom_payment_gateways_number',
130
  'default' => 1,
131
  'type' => 'number',
132
+ 'custom_attributes' => is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ?
133
+ apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '1' ),
 
 
134
  ),
135
  );
136
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_custom_payment_gateways_number', 1 ) );
includes/class-wcj-pdf-invoicing.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack PDF Invoicing class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,7 +17,7 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.5
21
  */
22
  public function __construct() {
23
 
@@ -52,7 +52,10 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
52
  if ( 'disabled' != $the_hook && 'manual' != $the_hook && '' != $the_hook ) {
53
  add_action( $the_hook, array( $this, 'create_' . $invoice_type['id'] ) );
54
  if ( 'woocommerce_new_order' === $the_hook ) {
55
- add_action( 'woocommerce_api_create_order', array( $this, 'create_' . $invoice_type['id'] ) );
 
 
 
56
  }
57
  }
58
  }
@@ -117,7 +120,8 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
117
  function create_custom_doc( $order_id ) {
118
  return $this->create_document( $order_id, 'custom_doc' );
119
  }
120
-
 
121
  * create_document.
122
  */
123
  function create_document( $order_id, $invoice_type ) {
@@ -137,7 +141,8 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
137
  wcj_delete_invoice( $order_id, $invoice_type );
138
  }
139
  }
140
-
 
141
  * catch_args.
142
  *
143
  * @version 2.5.0
@@ -155,8 +160,11 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
155
  $this->delete_document( $_GET['delete_invoice_for_order_id'], $this->invoice_type_id );
156
  }
157
  }
158
-
 
159
  * generate_pdf_on_init.
 
 
160
  */
161
  function generate_pdf_on_init() {
162
 
@@ -173,8 +181,10 @@ class WCJ_PDF_Invoicing extends WCJ_Module {
173
  $the_invoice = wcj_get_pdf_invoice( $this->order_id, $this->invoice_type_id );
174
  $dest = ( true === $this->save_as_pdf ) ? 'D' : 'I';
175
  $the_invoice->get_pdf( $dest );
 
176
  }
177
-
 
178
  * get_settings.
179
  *
180
  * @version 2.4.0
4
  *
5
  * The WooCommerce Jetpack PDF Invoicing class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
52
  if ( 'disabled' != $the_hook && 'manual' != $the_hook && '' != $the_hook ) {
53
  add_action( $the_hook, array( $this, 'create_' . $invoice_type['id'] ) );
54
  if ( 'woocommerce_new_order' === $the_hook ) {
55
+ add_action( 'woocommerce_api_create_order', array( $this, 'create_' . $invoice_type['id'] ) );
56
+ add_action( 'woocommerce_cli_create_order', array( $this, 'create_' . $invoice_type['id'] ) );
57
+ add_action( 'kco_before_confirm_order', array( $this, 'create_' . $invoice_type['id'] ) );
58
+ add_action( 'woocommerce_checkout_order_processed', array( $this, 'create_' . $invoice_type['id'] ) );
59
  }
60
  }
61
  }
120
  function create_custom_doc( $order_id ) {
121
  return $this->create_document( $order_id, 'custom_doc' );
122
  }
123
+
124
+ /**
125
  * create_document.
126
  */
127
  function create_document( $order_id, $invoice_type ) {
141
  wcj_delete_invoice( $order_id, $invoice_type );
142
  }
143
  }
144
+
145
+ /**
146
  * catch_args.
147
  *
148
  * @version 2.5.0
160
  $this->delete_document( $_GET['delete_invoice_for_order_id'], $this->invoice_type_id );
161
  }
162
  }
163
+
164
+ /**
165
  * generate_pdf_on_init.
166
+ *
167
+ * @version 2.5.6
168
  */
169
  function generate_pdf_on_init() {
170
 
181
  $the_invoice = wcj_get_pdf_invoice( $this->order_id, $this->invoice_type_id );
182
  $dest = ( true === $this->save_as_pdf ) ? 'D' : 'I';
183
  $the_invoice->get_pdf( $dest );
184
+ die();
185
  }
186
+
187
+ /**
188
  * get_settings.
189
  *
190
  * @version 2.4.0
includes/class-wcj-price-by-country.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Price by Country class.
6
  *
7
- * @version 2.5.4
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,7 +17,7 @@ class WCJ_Price_By_Country extends WCJ_Module {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.3
21
  */
22
  public function __construct() {
23
 
@@ -55,6 +55,9 @@ class WCJ_Price_By_Country extends WCJ_Module {
55
  if ( 'yes' === get_option( 'wcj_price_by_country_local_enabled' ) ) {
56
  include_once( 'price-by-country/class-wcj-price-by-country-local.php' );
57
  }
 
 
 
58
  }
59
 
60
  // Price Filter Widget
@@ -76,6 +79,20 @@ class WCJ_Price_By_Country extends WCJ_Module {
76
  }
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * update_products_price_by_country_module_saved.
81
  *
@@ -111,11 +128,11 @@ class WCJ_Price_By_Country extends WCJ_Module {
111
  /**
112
  * get_settings.
113
  *
114
- * @version 2.5.4
115
  */
116
  function get_settings() {
117
 
118
- global $wcj_notice;
119
 
120
  $settings = array(
121
 
@@ -152,11 +169,15 @@ class WCJ_Price_By_Country extends WCJ_Module {
152
  ), */
153
 
154
  array(
155
- 'title' => __( 'Override Country with Customer\'s Checkout Billing Country', 'woocommerce-jetpack' ),
156
  'id' => 'wcj_price_by_country_override_on_checkout_with_billing_country',
157
- 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
158
  'default' => 'no',
159
- 'type' => 'checkbox',
 
 
 
 
 
160
  ),
161
 
162
  array(
@@ -191,8 +212,10 @@ class WCJ_Price_By_Country extends WCJ_Module {
191
  ),
192
 
193
  array(
194
- 'title' => __( 'Price Filter Widget Support', 'woocommerce-jetpack' ),
195
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
 
 
196
  'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
197
  'default' => 'no',
198
  'type' => 'checkbox',
@@ -207,6 +230,14 @@ class WCJ_Price_By_Country extends WCJ_Module {
207
  'type' => 'checkbox',
208
  ),
209
 
 
 
 
 
 
 
 
 
210
  array( 'type' => 'sectionend', 'id' => 'wcj_price_by_country_options' ),
211
 
212
  array(
@@ -235,17 +266,17 @@ class WCJ_Price_By_Country extends WCJ_Module {
235
  'link' => /* '<pre>' . $wcj_notice . '</pre>' . */
236
  '<pre>' .
237
  __( 'Currencies supported in both PayPal and Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
238
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'paypal_and_yahoo_exchange_rates_only', remove_query_arg( 'wcj_generate_country_groups_confirm' ) ) . '">' .
239
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
240
  '</pre>' .
241
  '<pre>' .
242
  __( 'Currencies supported in Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
243
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'yahoo_exchange_rates_only', remove_query_arg( 'wcj_generate_country_groups_confirm' ) ) . '">' .
244
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
245
  '</pre>' .
246
  '<pre>' .
247
  __( 'All Countries and Currencies:', 'woocommerce-jetpack' ) . ' ' .
248
- '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'all', remove_query_arg( 'wcj_generate_country_groups_confirm' ) ) . '">' .
249
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>' .
250
  '</pre>',
251
  ),
4
  *
5
  * The WooCommerce Jetpack Price by Country class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
55
  if ( 'yes' === get_option( 'wcj_price_by_country_local_enabled' ) ) {
56
  include_once( 'price-by-country/class-wcj-price-by-country-local.php' );
57
  }
58
+
59
+ // Reset Price Filter
60
+ add_action( 'init', array( $this, 'recalculate_price_filter_products_prices' ) );
61
  }
62
 
63
  // Price Filter Widget
79
  }
80
  }
81
 
82
+ /**
83
+ * recalculate_price_filter_products_prices.
84
+ *
85
+ * @version 2.5.6
86
+ * @since 2.5.6
87
+ */
88
+ function recalculate_price_filter_products_prices() {
89
+ if ( isset( $_GET['recalculate_price_filter_products_prices'] ) && ( wcj_is_user_role( 'administrator' ) || is_shop_manager() ) ) {
90
+ wcj_update_products_price_by_country();
91
+ global $wcj_notice;
92
+ $wcj_notice = __( 'Price filter widget product prices recalculated.', 'woocommerce-jetpack' );
93
+ }
94
+ }
95
+
96
  /**
97
  * update_products_price_by_country_module_saved.
98
  *
128
  /**
129
  * get_settings.
130
  *
131
+ * @version 2.5.6
132
  */
133
  function get_settings() {
134
 
135
+ // global $wcj_notice;
136
 
137
  $settings = array(
138
 
169
  ), */
170
 
171
  array(
172
+ 'title' => __( 'Override Country Options', 'woocommerce-jetpack' ),
173
  'id' => 'wcj_price_by_country_override_on_checkout_with_billing_country',
 
174
  'default' => 'no',
175
+ 'type' => 'select',
176
+ 'options' => array(
177
+ 'no' => __( 'No Override', 'woocommerce-jetpack' ),
178
+ 'yes' => __( 'Override Country with Customer\'s Checkout Billing Country', 'woocommerce-jetpack' ),
179
+ 'shipping_country' => __( 'Override Country with Customer\'s Checkout Shipping Country', 'woocommerce-jetpack' ),
180
+ ),
181
  ),
182
 
183
  array(
212
  ),
213
 
214
  array(
215
+ 'title' => __( 'Price Filter Widget and Sorting by Price Support', 'woocommerce-jetpack' ),
216
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
217
+ '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' ) ) ) . '">' .
218
+ __( 'Recalculate price filter widget and sorting by price product prices', 'woocommerce-jetpack' ) . '</a>',
219
  'id' => 'wcj_price_by_country_price_filter_widget_support_enabled',
220
  'default' => 'no',
221
  'type' => 'checkbox',
230
  'type' => 'checkbox',
231
  ),
232
 
233
+ array(
234
+ 'title' => __( 'Search Engine Bots', 'woocommerce-jetpack' ),
235
+ 'desc' => __( 'Disable Price by Country for Bots', 'woocommerce-jetpack' ),
236
+ 'id' => 'wcj_price_by_country_for_bots_disabled',
237
+ 'default' => 'no',
238
+ 'type' => 'checkbox',
239
+ ),
240
+
241
  array( 'type' => 'sectionend', 'id' => 'wcj_price_by_country_options' ),
242
 
243
  array(
266
  'link' => /* '<pre>' . $wcj_notice . '</pre>' . */
267
  '<pre>' .
268
  __( 'Currencies supported in both PayPal and Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
269
+ '<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' ) ) ) . '">' .
270
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
271
  '</pre>' .
272
  '<pre>' .
273
  __( 'Currencies supported in Yahoo Exchange Rates:', 'woocommerce-jetpack' ) . ' ' .
274
+ '<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' ) ) ) . '">' .
275
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>.' .
276
  '</pre>' .
277
  '<pre>' .
278
  __( 'All Countries and Currencies:', 'woocommerce-jetpack' ) . ' ' .
279
+ '<a href="' . add_query_arg( 'wcj_generate_country_groups', 'all', remove_query_arg( array( 'wcj_generate_country_groups_confirm', 'recalculate_price_filter_products_prices' ) ) ) . '">' .
280
  __( 'Generate', 'woocommerce-jetpack' ) . '</a>' .
281
  '</pre>',
282
  ),
includes/class-wcj-product-add-to-cart.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Product Add To Cart class.
6
  *
7
- * @version 2.5.3
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
@@ -18,7 +18,7 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
18
  /**
19
  * Constructor.
20
  *
21
- * @version 2.5.3
22
  */
23
  public function __construct() {
24
 
@@ -54,14 +54,28 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
54
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_disable_quantity_add_to_cart_script' ) );
55
  }
56
 
57
- // Button per product
58
- if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
 
 
 
 
59
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
60
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
61
-
 
 
62
  add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
63
- add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
64
- add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
 
 
 
 
 
 
 
 
65
  }
66
 
67
  // External Products
@@ -117,6 +131,32 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
117
  return $link_html;
118
  }
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  /**
121
  * add_to_cart_button_loop_disable.
122
  *
@@ -157,32 +197,60 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
157
  /**
158
  * get_meta_box_options.
159
  *
160
- * @version 2.5.2
161
  * @since 2.5.2
162
  */
163
  function get_meta_box_options() {
164
- $options = array(
165
- array(
166
- 'name' => 'wcj_add_to_cart_button_disable',
167
- 'default' => 'no',
168
- 'type' => 'select',
169
- 'options' => array(
170
- 'yes' => __( 'Yes', 'woocommerce-jetpack' ),
171
- 'no' => __( 'No', 'woocommerce-jetpack' ),
 
 
 
 
172
  ),
173
- 'title' => __( 'Disable Add to Cart Button (Single Product Page)', 'woocommerce-jetpack' ),
174
- ),
175
- array(
176
- 'name' => 'wcj_add_to_cart_button_loop_disable',
177
- 'default' => 'no',
178
- 'type' => 'select',
179
- 'options' => array(
180
- 'yes' => __( 'Yes', 'woocommerce-jetpack' ),
181
- 'no' => __( 'No', 'woocommerce-jetpack' ),
182
  ),
183
- 'title' => __( 'Disable Add to Cart Button (Category/Archives)', 'woocommerce-jetpack' ),
184
- ),
185
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  return $options;
187
  }
188
 
@@ -265,7 +333,7 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
265
  /**
266
  * get_settings.
267
  *
268
- * @version 2.5.3
269
  */
270
  function get_settings() {
271
  $settings = array(
@@ -355,12 +423,12 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
355
  'id' => 'wcj_add_to_cart_quantity_options',
356
  ),
357
  array(
358
- 'title' => __( 'Add to Cart Button', 'woocommerce-jetpack' ),
359
  'type' => 'title',
360
  'id' => 'wcj_add_to_cart_button_options',
361
  ),
362
  array(
363
- 'title' => __( 'Enable/Disable Add to Cart Buttons on per Product Basis', 'woocommerce-jetpack' ),
364
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
365
  'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
366
  'id' => 'wcj_add_to_cart_button_per_product_enabled',
@@ -371,6 +439,40 @@ class WCJ_Product_Add_To_Cart extends WCJ_Module {
371
  'type' => 'sectionend',
372
  'id' => 'wcj_add_to_cart_button_options',
373
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
374
  array(
375
  'title' => __( 'External Products', 'woocommerce-jetpack' ),
376
  'type' => 'title',
4
  *
5
  * The WooCommerce Jetpack Product Add To Cart class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
18
  /**
19
  * Constructor.
20
  *
21
+ * @version 2.5.6
22
  */
23
  public function __construct() {
24
 
54
  add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_disable_quantity_add_to_cart_script' ) );
55
  }
56
 
57
+ // Button per product - Metaboxes
58
+ if (
59
+ 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ||
60
+ 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ||
61
+ 'yes' === get_option( 'wcj_add_to_cart_button_ajax_per_product_enabled', 'no' )
62
+ ) {
63
  add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) );
64
  add_action( 'save_post_product', array( $this, 'save_meta_box' ), PHP_INT_MAX, 2 );
65
+ }
66
+ // Button per product - Disabling
67
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
68
  add_action( 'woocommerce_before_add_to_cart_button', array( $this, 'add_to_cart_button_disable_start' ), PHP_INT_MAX, 0 );
69
+ add_action( 'woocommerce_after_add_to_cart_button', array( $this, 'add_to_cart_button_disable_end' ), PHP_INT_MAX, 0 );
70
+ add_filter( 'woocommerce_loop_add_to_cart_link', array( $this, 'add_to_cart_button_loop_disable' ), PHP_INT_MAX, 2 );
71
+ }
72
+ // Button per product Custom URL
73
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
74
+ add_filter( 'woocommerce_product_add_to_cart_url', array( $this, 'custom_add_to_cart_loop_url' ), PHP_INT_MAX, 2 );
75
+ }
76
+ // Button per product AJAX
77
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_ajax_per_product_enabled', 'no' ) ) {
78
+ add_filter( 'woocommerce_product_supports', array( $this, 'manage_add_to_cart_ajax' ), PHP_INT_MAX, 3 );
79
  }
80
 
81
  // External Products
131
  return $link_html;
132
  }
133
 
134
+ /**
135
+ * manage_add_to_cart_ajax.
136
+ *
137
+ * @version 2.5.6
138
+ * @since 2.5.6
139
+ */
140
+ function manage_add_to_cart_ajax( $supports, $feature, $_product ) {
141
+ if ( 'ajax_add_to_cart' === $feature && 0 != get_the_ID() && 'as_shop_default' != ( $value = get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_ajax_disable', true ) ) ) {
142
+ return ( 'yes' === $value ) ? false : true;
143
+ }
144
+ return $supports;
145
+ }
146
+
147
+ /**
148
+ * custom_add_to_cart_loop_url.
149
+ *
150
+ * @version 2.5.6
151
+ * @since 2.5.6
152
+ */
153
+ function custom_add_to_cart_loop_url( $url, $_product ) {
154
+ if ( 0 != get_the_ID() && '' != ( $custom_url = get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_loop_custom_url', true ) ) ) {
155
+ return $custom_url;
156
+ }
157
+ return $url;
158
+ }
159
+
160
  /**
161
  * add_to_cart_button_loop_disable.
162
  *
197
  /**
198
  * get_meta_box_options.
199
  *
200
+ * @version 2.5.6
201
  * @since 2.5.2
202
  */
203
  function get_meta_box_options() {
204
+ $options = array();
205
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_per_product_enabled', 'no' ) ) {
206
+ $options = array_merge( $options, array(
207
+ array(
208
+ 'name' => 'wcj_add_to_cart_button_disable',
209
+ 'default' => 'no',
210
+ 'type' => 'select',
211
+ 'options' => array(
212
+ 'yes' => __( 'Yes', 'woocommerce-jetpack' ),
213
+ 'no' => __( 'No', 'woocommerce-jetpack' ),
214
+ ),
215
+ 'title' => __( 'Disable Add to Cart Button (Single Product Page)', 'woocommerce-jetpack' ),
216
  ),
217
+ array(
218
+ 'name' => 'wcj_add_to_cart_button_loop_disable',
219
+ 'default' => 'no',
220
+ 'type' => 'select',
221
+ 'options' => array(
222
+ 'yes' => __( 'Yes', 'woocommerce-jetpack' ),
223
+ 'no' => __( 'No', 'woocommerce-jetpack' ),
224
+ ),
225
+ 'title' => __( 'Disable Add to Cart Button (Category/Archives)', 'woocommerce-jetpack' ),
226
  ),
227
+ ) );
228
+ }
229
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled', 'no' ) ) {
230
+ $options = array_merge( $options, array(
231
+ array(
232
+ 'name' => 'wcj_add_to_cart_button_loop_custom_url',
233
+ 'default' => '',
234
+ 'type' => 'text',
235
+ 'title' => __( 'Custom Add to Cart Button URL (Category/Archives)', 'woocommerce-jetpack' ),
236
+ ),
237
+ ) );
238
+ }
239
+ if ( 'yes' === get_option( 'wcj_add_to_cart_button_ajax_per_product_enabled', 'no' ) ) {
240
+ $options = array_merge( $options, array(
241
+ array(
242
+ 'name' => 'wcj_add_to_cart_button_ajax_disable',
243
+ 'default' => 'as_shop_default',
244
+ 'type' => 'select',
245
+ 'options' => array(
246
+ 'as_shop_default' => __( 'As shop default (no changes)', 'woocommerce-jetpack' ),
247
+ 'yes' => __( 'Disable', 'woocommerce-jetpack' ),
248
+ 'no' => __( 'Enable', 'woocommerce-jetpack' ),
249
+ ),
250
+ 'title' => __( 'Disable Add to Cart Button AJAX', 'woocommerce-jetpack' ),
251
+ ),
252
+ ) );
253
+ }
254
  return $options;
255
  }
256
 
333
  /**
334
  * get_settings.
335
  *
336
+ * @version 2.5.6
337
  */
338
  function get_settings() {
339
  $settings = array(
423
  'id' => 'wcj_add_to_cart_quantity_options',
424
  ),
425
  array(
426
+ 'title' => __( 'Add to Cart Button Disabling', 'woocommerce-jetpack' ),
427
  'type' => 'title',
428
  'id' => 'wcj_add_to_cart_button_options',
429
  ),
430
  array(
431
+ 'title' => __( 'Disable Add to Cart Buttons on per Product Basis', 'woocommerce-jetpack' ),
432
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
433
  'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
434
  'id' => 'wcj_add_to_cart_button_per_product_enabled',
439
  'type' => 'sectionend',
440
  'id' => 'wcj_add_to_cart_button_options',
441
  ),
442
+ array(
443
+ 'title' => __( 'Add to Cart Button Custom URL', 'woocommerce-jetpack' ),
444
+ 'type' => 'title',
445
+ 'id' => 'wcj_add_to_cart_button_custom_url_options',
446
+ ),
447
+ array(
448
+ 'title' => __( 'Custom Add to Cart Buttons URL on Archives on per Product Basis', 'woocommerce-jetpack' ),
449
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
450
+ 'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
451
+ 'id' => 'wcj_add_to_cart_button_custom_loop_url_per_product_enabled',
452
+ 'default' => 'no',
453
+ 'type' => 'checkbox',
454
+ ),
455
+ array(
456
+ 'type' => 'sectionend',
457
+ 'id' => 'wcj_add_to_cart_button_custom_url_options',
458
+ ),
459
+ array(
460
+ 'title' => __( 'Add to Cart Button AJAX', 'woocommerce-jetpack' ),
461
+ 'type' => 'title',
462
+ 'id' => 'wcj_add_to_cart_button_ajax_options',
463
+ ),
464
+ array(
465
+ 'title' => __( 'Disable/Enable Add to Cart Button AJAX on per Product Basis', 'woocommerce-jetpack' ),
466
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
467
+ 'desc_tip' => __( 'This will add meta box to each product\'s edit page', 'woocommerce-jetpack' ),
468
+ 'id' => 'wcj_add_to_cart_button_ajax_per_product_enabled',
469
+ 'default' => 'no',
470
+ 'type' => 'checkbox',
471
+ ),
472
+ array(
473
+ 'type' => 'sectionend',
474
+ 'id' => 'wcj_add_to_cart_button_ajax_options',
475
+ ),
476
  array(
477
  'title' => __( 'External Products', 'woocommerce-jetpack' ),
478
  'type' => 'title',
includes/class-wcj-product-addons.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Product Addons class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.5.3
9
  * @author Algoritmika Ltd.
10
  * @todo admin order view (names);
@@ -19,7 +19,7 @@ class WCJ_Product_Addons extends WCJ_Module {
19
  /**
20
  * Constructor.
21
  *
22
- * @version 2.5.5
23
  * @since 2.5.3
24
  */
25
  function __construct() {
@@ -59,7 +59,30 @@ class WCJ_Product_Addons extends WCJ_Module {
59
  add_filter( 'woocommerce_order_item_name', array( $this, 'add_info_to_order_item_name' ), PHP_INT_MAX, 2 );
60
  add_action( 'woocommerce_add_order_item_meta', array( $this, 'add_info_to_order_item_meta' ), PHP_INT_MAX, 3 );
61
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
 
63
  }
64
 
65
  /**
@@ -94,13 +117,11 @@ class WCJ_Product_Addons extends WCJ_Module {
94
  /**
95
  * price_change_ajax.
96
  *
97
- * @version 2.5.5
98
  * @since 2.5.3
99
  */
100
  function price_change_ajax( $param ) {
101
  $the_product = wc_get_product( $_POST['product_id'] );
102
- $get_price_method = 'get_price_' . get_option( 'woocommerce_tax_display_shop' ) . 'uding_tax';
103
- $the_price = $the_product->$get_price_method();
104
  $parent_product_id = ( $the_product->is_type( 'variation' ) ) ? wp_get_post_parent_id( $_POST['product_id'] ) : $_POST['product_id'];
105
  $addons = $this->get_product_addons( $parent_product_id );
106
  $the_addons_price = 0;
@@ -123,7 +144,9 @@ class WCJ_Product_Addons extends WCJ_Module {
123
  }
124
  }
125
  if ( 0 != $the_addons_price ) {
126
- echo wc_price( $the_price + $the_addons_price );
 
 
127
  } else {
128
  echo $the_product->get_price_html();
129
  }
@@ -224,27 +247,32 @@ class WCJ_Product_Addons extends WCJ_Module {
224
  /**
225
  * Adds info to order details (and emails).
226
  *
227
- * @version 2.5.3
228
  * @since 2.5.3
229
  */
230
  function add_info_to_order_item_name( $name, $item, $is_cart = false ) {
231
  if ( $is_cart ) {
232
- $name .= '<dl class="variation">';
 
 
 
 
 
 
233
  }
 
234
  $addons = $this->get_product_addons( $item['product_id'] );
 
235
  foreach ( $addons as $addon ) {
236
  if ( isset( $item[ $addon['price_key'] ] ) ) {
237
- if ( $is_cart ) {
238
- $name .= '<dt>' . $item[ $addon['label_key'] ] . ':' . '</dt>';
239
- $name .= '<dd>' . wc_price( $item[ $addon['price_key'] ] ) . '</dd>';
240
- } else {
241
- $name .= ' | ' . $item[ $addon['label_key'] ] . ': ' . wc_price( $item[ $addon['price_key'] ] );
242
- }
243
  }
244
  }
245
- if ( $is_cart ) {
246
- $name .= '</dl>';
247
- }
248
  return $name;
249
  }
250
 
@@ -261,14 +289,14 @@ class WCJ_Product_Addons extends WCJ_Module {
261
  /**
262
  * change_price.
263
  *
264
- * @version 2.5.3
265
  * @since 2.5.3
266
  */
267
  function change_price( $price, $_product ) {
268
  $addons = $this->get_product_addons( $_product->id );
269
  foreach ( $addons as $addon ) {
270
- if ( isset( $_product->$addon['price_key'] ) ) {
271
- $price += $_product->$addon['price_key'];
272
  }
273
  }
274
  return $price;
@@ -277,14 +305,14 @@ class WCJ_Product_Addons extends WCJ_Module {
277
  /**
278
  * add_addons_price_to_cart_item.
279
  *
280
- * @version 2.5.3
281
  * @since 2.5.3
282
  */
283
  function add_addons_price_to_cart_item( $cart_item_data, $cart_item_key ) {
284
  $addons = $this->get_product_addons( $cart_item_data['data']->product_id );
285
  foreach ( $addons as $addon ) {
286
  if ( isset( $cart_item_data[ $addon['price_key'] ] ) ) {
287
- $cart_item_data['data']->$addon['price_key'] = $cart_item_data[ $addon['price_key'] ];
288
  }
289
  }
290
  return $cart_item_data;
@@ -293,14 +321,14 @@ class WCJ_Product_Addons extends WCJ_Module {
293
  /**
294
  * get_cart_item_addons_price_from_session.
295
  *
296
- * @version 2.5.3
297
  * @since 2.5.3
298
  */
299
  function get_cart_item_addons_price_from_session( $item, $values, $addon ) {
300
  $addons = $this->get_product_addons( $item['product_id'] );
301
  foreach ( $addons as $addon ) {
302
  if ( array_key_exists( $addon['price_key'], $values ) ) {
303
- $item['data']->$addon['price_key'] = $values[ $addon['price_key'] ];
304
  }
305
  }
306
  return $item;
@@ -340,12 +368,13 @@ class WCJ_Product_Addons extends WCJ_Module {
340
  /**
341
  * add_addons_to_frontend.
342
  *
343
- * @version 2.5.5
344
  * @since 2.5.3
345
  */
346
  function add_addons_to_frontend() {
347
  $html = '';
348
  $addons = $this->get_product_addons( get_the_ID() );
 
349
  foreach ( $addons as $addon ) {
350
  $is_required = ( 'yes' === $addon['is_required'] ) ? ' required' : '';
351
  if ( 'checkbox' === $addon['type'] || '' == $addon['type'] ) {
@@ -360,7 +389,7 @@ class WCJ_Product_Addons extends WCJ_Module {
360
  '';
361
  $html .= '<p>' .
362
  '<input type="checkbox" id="' . $addon['checkbox_key'] . '" name="' . $addon['checkbox_key'] . '"' . $is_checked . $is_required . '>' . ' ' .
363
- '<label for="' . $addon['checkbox_key'] . '">' . $addon['label_value'] . ' ('. wc_price( $addon['price_value'] ) . ')' . '</label>' .
364
  $maybe_tooltip .
365
  '</p>';
366
  } elseif ( 'radio' === $addon['type'] ) {
@@ -381,7 +410,7 @@ class WCJ_Product_Addons extends WCJ_Module {
381
  '';
382
  $html .= '<p>' .
383
  '<input type="radio" id="' . $addon['checkbox_key'] . '-' . $label . '" name="' . $addon['checkbox_key'] . '" value="' . $label . '"' . $is_checked . $is_required . '>' . ' ' .
384
- '<label for="' . $addon['checkbox_key'] . '-' . $label . '">' . $labels[ $i ] . ' ('. wc_price( $prices[ $i ] ) . ')' . '</label>' .
385
  $maybe_tooltip .
386
  '</p>';
387
  }
@@ -489,7 +518,7 @@ class WCJ_Product_Addons extends WCJ_Module {
489
  /**
490
  * get_settings.
491
  *
492
- * @version 2.5.5
493
  * @since 2.5.3
494
  */
495
  function get_settings() {
@@ -621,6 +650,59 @@ class WCJ_Product_Addons extends WCJ_Module {
621
  'default' => 'no',
622
  'type' => 'checkbox',
623
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
624
  array(
625
  'type' => 'sectionend',
626
  'id' => 'wcj_product_addons_options',
4
  *
5
  * The WooCommerce Jetpack Product Addons class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.3
9
  * @author Algoritmika Ltd.
10
  * @todo admin order view (names);
19
  /**
20
  * Constructor.
21
  *
22
+ * @version 2.5.6
23
  * @since 2.5.3
24
  */
25
  function __construct() {
59
  add_filter( 'woocommerce_order_item_name', array( $this, 'add_info_to_order_item_name' ), PHP_INT_MAX, 2 );
60
  add_action( 'woocommerce_add_order_item_meta', array( $this, 'add_info_to_order_item_meta' ), PHP_INT_MAX, 3 );
61
  }
62
+ if ( is_admin() ) {
63
+ if ( 'yes' === get_option( 'wcj_product_addons_hide_on_admin_order_page', 'no' ) ) {
64
+ add_filter( 'woocommerce_hidden_order_itemmeta', array( $this, 'hide_addons_in_admin_order' ), PHP_INT_MAX );
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ /**
71
+ * hide_addons_in_admin_order.
72
+ *
73
+ * @version 2.5.6
74
+ * @since 2.5.6
75
+ * @todo get real number of addons (instead of max_addons = 100)
76
+ */
77
+ function hide_addons_in_admin_order( $hidden_metas ) {
78
+ $max_addons = 100;
79
+ for ( $i = 1; $i <= $max_addons; $i++ ) {
80
+ $hidden_metas[] = '_' . 'wcj_product_all_products_addons_price_' . $i;
81
+ $hidden_metas[] = '_' . 'wcj_product_all_products_addons_label_' . $i;
82
+ $hidden_metas[] = '_' . 'wcj_product_per_product_addons_price_' . $i;
83
+ $hidden_metas[] = '_' . 'wcj_product_per_product_addons_label_' . $i;
84
  }
85
+ return $hidden_metas;
86
  }
87
 
88
  /**
117
  /**
118
  * price_change_ajax.
119
  *
120
+ * @version 2.5.6
121
  * @since 2.5.3
122
  */
123
  function price_change_ajax( $param ) {
124
  $the_product = wc_get_product( $_POST['product_id'] );
 
 
125
  $parent_product_id = ( $the_product->is_type( 'variation' ) ) ? wp_get_post_parent_id( $_POST['product_id'] ) : $_POST['product_id'];
126
  $addons = $this->get_product_addons( $parent_product_id );
127
  $the_addons_price = 0;
144
  }
145
  }
146
  if ( 0 != $the_addons_price ) {
147
+ $the_price = $the_product->get_price();
148
+ $the_display_price = $the_product->get_display_price( $the_price + $the_addons_price );
149
+ echo wc_price( $the_display_price );
150
  } else {
151
  echo $the_product->get_price_html();
152
  }
247
  /**
248
  * Adds info to order details (and emails).
249
  *
250
+ * @version 2.5.6
251
  * @since 2.5.3
252
  */
253
  function add_info_to_order_item_name( $name, $item, $is_cart = false ) {
254
  if ( $is_cart ) {
255
+ $start_format = get_option( 'wcj_product_addons_cart_format_start', '<dl class="variation">' );
256
+ $item_format = get_option( 'wcj_product_addons_cart_format_each_addon', '<dt>%addon_label%:</dt><dd>%addon_price%</dd>' );
257
+ $end_format = get_option( 'wcj_product_addons_cart_format_end', '</dl>' );
258
+ } else {
259
+ $start_format = get_option( 'wcj_product_addons_order_details_format_start', '' );
260
+ $item_format = get_option( 'wcj_product_addons_order_details_format_each_addon', '&nbsp;| %addon_label%: %addon_price%' );
261
+ $end_format = get_option( 'wcj_product_addons_order_details_format_end', '' );
262
  }
263
+ $name .= $start_format;
264
  $addons = $this->get_product_addons( $item['product_id'] );
265
+ $_product = wc_get_product( $item['product_id'] );
266
  foreach ( $addons as $addon ) {
267
  if ( isset( $item[ $addon['price_key'] ] ) ) {
268
+ $name .= str_replace(
269
+ array( '%addon_label%', '%addon_price%' ),
270
+ array( $item[ $addon['label_key'] ], wc_price( $_product->get_display_price( $item[ $addon['price_key'] ] ) ) ),
271
+ $item_format
272
+ );
 
273
  }
274
  }
275
+ $name .= $end_format;
 
 
276
  return $name;
277
  }
278
 
289
  /**
290
  * change_price.
291
  *
292
+ * @version 2.5.6
293
  * @since 2.5.3
294
  */
295
  function change_price( $price, $_product ) {
296
  $addons = $this->get_product_addons( $_product->id );
297
  foreach ( $addons as $addon ) {
298
+ if ( isset( $_product->{$addon['price_key']} ) ) {
299
+ $price += $_product->{$addon['price_key']};
300
  }
301
  }
302
  return $price;
305
  /**
306
  * add_addons_price_to_cart_item.
307
  *
308
+ * @version 2.5.6
309
  * @since 2.5.3
310
  */
311
  function add_addons_price_to_cart_item( $cart_item_data, $cart_item_key ) {
312
  $addons = $this->get_product_addons( $cart_item_data['data']->product_id );
313
  foreach ( $addons as $addon ) {
314
  if ( isset( $cart_item_data[ $addon['price_key'] ] ) ) {
315
+ $cart_item_data['data']->{$addon['price_key']} = $cart_item_data[ $addon['price_key'] ];
316
  }
317
  }
318
  return $cart_item_data;
321
  /**
322
  * get_cart_item_addons_price_from_session.
323
  *
324
+ * @version 2.5.6
325
  * @since 2.5.3
326
  */
327
  function get_cart_item_addons_price_from_session( $item, $values, $addon ) {
328
  $addons = $this->get_product_addons( $item['product_id'] );
329
  foreach ( $addons as $addon ) {
330
  if ( array_key_exists( $addon['price_key'], $values ) ) {
331
+ $item['data']->{$addon['price_key']} = $values[ $addon['price_key'] ];
332
  }
333
  }
334
  return $item;
368
  /**
369
  * add_addons_to_frontend.
370
  *
371
+ * @version 2.5.6
372
  * @since 2.5.3
373
  */
374
  function add_addons_to_frontend() {
375
  $html = '';
376
  $addons = $this->get_product_addons( get_the_ID() );
377
+ $_product = wc_get_product( get_the_ID() );
378
  foreach ( $addons as $addon ) {
379
  $is_required = ( 'yes' === $addon['is_required'] ) ? ' required' : '';
380
  if ( 'checkbox' === $addon['type'] || '' == $addon['type'] ) {
389
  '';
390
  $html .= '<p>' .
391
  '<input type="checkbox" id="' . $addon['checkbox_key'] . '" name="' . $addon['checkbox_key'] . '"' . $is_checked . $is_required . '>' . ' ' .
392
+ '<label for="' . $addon['checkbox_key'] . '">' . $addon['label_value'] . ' ('. wc_price( $_product->get_display_price( $addon['price_value'] ) ) . ')' . '</label>' .
393
  $maybe_tooltip .
394
  '</p>';
395
  } elseif ( 'radio' === $addon['type'] ) {
410
  '';
411
  $html .= '<p>' .
412
  '<input type="radio" id="' . $addon['checkbox_key'] . '-' . $label . '" name="' . $addon['checkbox_key'] . '" value="' . $label . '"' . $is_checked . $is_required . '>' . ' ' .
413
+ '<label for="' . $addon['checkbox_key'] . '-' . $label . '">' . $labels[ $i ] . ' ('. wc_price( $_product->get_display_price( $prices[ $i ] ) ) . ')' . '</label>' .
414
  $maybe_tooltip .
415
  '</p>';
416
  }
518
  /**
519
  * get_settings.
520
  *
521
+ * @version 2.5.6
522
  * @since 2.5.3
523
  */
524
  function get_settings() {
650
  'default' => 'no',
651
  'type' => 'checkbox',
652
  ),
653
+ array(
654
+ 'title' => __( 'Addon in Cart Format', 'woocommerce-jetpack' ),
655
+ 'desc' => __( 'Before', 'woocommerce-jetpack' ),
656
+ 'id' => 'wcj_product_addons_cart_format_start',
657
+ 'default' => '<dl class="variation">',
658
+ 'type' => 'textarea',
659
+ 'css' => 'width:300px;',
660
+ ),
661
+ array(
662
+ 'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
663
+ 'desc_tip' => __( 'You can use %addon_label% and %addon_price%.', 'woocommerce-jetpack' ),
664
+ 'id' => 'wcj_product_addons_cart_format_each_addon',
665
+ 'default' => '<dt>%addon_label%:</dt><dd>%addon_price%</dd>',
666
+ 'type' => 'textarea',
667
+ 'css' => 'width:300px;',
668
+ ),
669
+ array(
670
+ 'desc' => __( 'After', 'woocommerce-jetpack' ),
671
+ 'id' => 'wcj_product_addons_cart_format_end',
672
+ 'default' => '</dl>',
673
+ 'type' => 'textarea',
674
+ 'css' => 'width:300px;',
675
+ ),
676
+ array(
677
+ 'title' => __( 'Addon in Order Details Table Format', 'woocommerce-jetpack' ),
678
+ 'desc' => __( 'Before', 'woocommerce-jetpack' ),
679
+ 'id' => 'wcj_product_addons_order_details_format_start',
680
+ 'default' => '',
681
+ 'type' => 'textarea',
682
+ 'css' => 'width:300px;',
683
+ ),
684
+ array(
685
+ 'desc' => __( 'Each Addon', 'woocommerce-jetpack' ),
686
+ 'desc_tip' => __( 'You can use %addon_label% and %addon_price%.', 'woocommerce-jetpack' ),
687
+ 'id' => 'wcj_product_addons_order_details_format_each_addon',
688
+ 'default' => '&nbsp;| %addon_label%: %addon_price%',
689
+ 'type' => 'textarea',
690
+ 'css' => 'width:300px;',
691
+ ),
692
+ array(
693
+ 'desc' => __( 'After', 'woocommerce-jetpack' ),
694
+ 'id' => 'wcj_product_addons_order_details_format_end',
695
+ 'default' => '',
696
+ 'type' => 'textarea',
697
+ 'css' => 'width:300px;',
698
+ ),
699
+ array(
700
+ 'title' => __( 'Admin Order Page', 'woocommerce-jetpack' ),
701
+ 'desc' => __( 'Hide all addons', 'woocommerce-jetpack' ),
702
+ 'id' => 'wcj_product_addons_hide_on_admin_order_page',
703
+ 'default' => 'no',
704
+ 'type' => 'checkbox',
705
+ ),
706
  array(
707
  'type' => 'sectionend',
708
  'id' => 'wcj_product_addons_options',
includes/class-wcj-product-by-country.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Product by Country class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.5.0
9
  * @author Algoritmika Ltd.
10
  */
@@ -18,14 +18,14 @@ class WCJ_Product_By_Country extends WCJ_Module {
18
  /**
19
  * Constructor.
20
  *
21
- * @version 2.5.5
22
  * @since 2.5.0
23
  */
24
  function __construct() {
25
 
26
  $this->id = 'product_by_country';
27
  $this->short_desc = __( 'Product Visibility by Country', 'woocommerce-jetpack' );
28
- $this->desc = __( 'Display WooCommerce products by customers country.', 'woocommerce-jetpack' );
29
  $this->link = 'http://booster.io/features/woocommerce-product-visibility-by-country/';
30
  parent::__construct();
31
 
@@ -82,12 +82,12 @@ class WCJ_Product_By_Country extends WCJ_Module {
82
  /**
83
  * get_settings.
84
  *
85
- * @version 2.5.0
86
  * @since 2.5.0
87
  */
88
  function get_settings() {
89
  $settings = array();
90
- return $this->add_standard_settings( $settings, __( 'When enabled, module will add new "Booster: Product by Country" meta box to each product\'s edit page.', 'woocommerce-jetpack' ) );
91
  }
92
  }
93
 
4
  *
5
  * The WooCommerce Jetpack Product by Country class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.0
9
  * @author Algoritmika Ltd.
10
  */
18
  /**
19
  * Constructor.
20
  *
21
+ * @version 2.5.6
22
  * @since 2.5.0
23
  */
24
  function __construct() {
25
 
26
  $this->id = 'product_by_country';
27
  $this->short_desc = __( 'Product Visibility by Country', 'woocommerce-jetpack' );
28
+ $this->desc = __( 'Display WooCommerce products by customer\'s country.', 'woocommerce-jetpack' );
29
  $this->link = 'http://booster.io/features/woocommerce-product-visibility-by-country/';
30
  parent::__construct();
31
 
82
  /**
83
  * get_settings.
84
  *
85
+ * @version 2.5.6
86
  * @since 2.5.0
87
  */
88
  function get_settings() {
89
  $settings = array();
90
+ return $this->add_standard_settings( $settings, __( 'When enabled, module will add new "Booster: Product Visibility by Country" meta box to each product\'s edit page.', 'woocommerce-jetpack' ) );
91
  }
92
  }
93
 
includes/class-wcj-product-by-user-role.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Product by User Role class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.5.5
9
  * @author Algoritmika Ltd.
10
  */
@@ -18,15 +18,15 @@ class WCJ_Product_By_User_Role extends WCJ_Module {
18
  /**
19
  * Constructor.
20
  *
21
- * @version 2.5.5
22
  * @since 2.5.5
23
  */
24
  function __construct() {
25
 
26
  $this->id = 'product_by_user_role';
27
  $this->short_desc = __( 'Product Visibility by User Role', 'woocommerce-jetpack' );
28
- $this->desc = __( 'Display WooCommerce products by customers user role.', 'woocommerce-jetpack' );
29
- $this->link = 'http://booster.io/features/woocommerce-visibility-product-by-user-role/';
30
  parent::__construct();
31
 
32
  if ( $this->is_enabled() ) {
@@ -41,14 +41,17 @@ class WCJ_Product_By_User_Role extends WCJ_Module {
41
  /**
42
  * product_by_user_role.
43
  *
44
- * @version 2.5.5
45
  * @since 2.5.5
46
  */
47
  function product_by_user_role( $visible, $product_id ) {
48
- $current_user_role = wcj_get_current_user_first_role();
49
  $visible_user_roles = get_post_meta( $product_id, '_' . 'wcj_product_by_user_role_visible', true );
50
- if ( is_array( $visible_user_roles ) && ! in_array( $current_user_role, $visible_user_roles ) ) {
51
- return false;
 
 
 
 
52
  }
53
  return $visible;
54
  }
@@ -56,7 +59,7 @@ class WCJ_Product_By_User_Role extends WCJ_Module {
56
  /**
57
  * get_meta_box_options.
58
  *
59
- * @version 2.5.5
60
  * @since 2.5.5
61
  */
62
  function get_meta_box_options() {
@@ -68,6 +71,7 @@ class WCJ_Product_By_User_Role extends WCJ_Module {
68
  'options' => wcj_get_user_roles_options(),
69
  'multiple' => true,
70
  'title' => __( 'Visible for User Roles', 'woocommerce-jetpack' ),
 
71
  ),
72
  );
73
  return $options;
@@ -76,12 +80,12 @@ class WCJ_Product_By_User_Role extends WCJ_Module {
76
  /**
77
  * get_settings.
78
  *
79
- * @version 2.5.5
80
  * @since 2.5.5
81
  */
82
  function get_settings() {
83
  $settings = array();
84
- return $this->add_standard_settings( $settings, __( 'When enabled, module will add new "Booster: Product by User Role" meta box to each product\'s edit page.', 'woocommerce-jetpack' ) );
85
  }
86
  }
87
 
4
  *
5
  * The WooCommerce Jetpack Product by User Role class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.5
9
  * @author Algoritmika Ltd.
10
  */
18
  /**
19
  * Constructor.
20
  *
21
+ * @version 2.5.6
22
  * @since 2.5.5
23
  */
24
  function __construct() {
25
 
26
  $this->id = 'product_by_user_role';
27
  $this->short_desc = __( 'Product Visibility by User Role', 'woocommerce-jetpack' );
28
+ $this->desc = __( 'Display WooCommerce products by customer\'s user role.', 'woocommerce-jetpack' );
29
+ $this->link = 'http://booster.io/features/woocommerce-product-visibility-by-user-role/';
30
  parent::__construct();
31
 
32
  if ( $this->is_enabled() ) {
41
  /**
42
  * product_by_user_role.
43
  *
44
+ * @version 2.5.6
45
  * @since 2.5.5
46
  */
47
  function product_by_user_role( $visible, $product_id ) {
 
48
  $visible_user_roles = get_post_meta( $product_id, '_' . 'wcj_product_by_user_role_visible', true );
49
+ if ( is_array( $visible_user_roles ) && ! empty( $visible_user_roles ) ) {
50
+ $current_user_roles = wcj_get_current_user_all_roles();
51
+ $the_intersect = array_intersect( $visible_user_roles, $current_user_roles );
52
+ if ( empty( $the_intersect ) ) {
53
+ return false;
54
+ }
55
  }
56
  return $visible;
57
  }
59
  /**
60
  * get_meta_box_options.
61
  *
62
+ * @version 2.5.6
63
  * @since 2.5.5
64
  */
65
  function get_meta_box_options() {
71
  'options' => wcj_get_user_roles_options(),
72
  'multiple' => true,
73
  'title' => __( 'Visible for User Roles', 'woocommerce-jetpack' ),
74
+ 'tooltip' => __( 'Hold Control (Ctrl) key to select multiple roles.', 'woocommerce-jetpack' ),
75
  ),
76
  );
77
  return $options;
80
  /**
81
  * get_settings.
82
  *
83
+ * @version 2.5.6
84
  * @since 2.5.5
85
  */
86
  function get_settings() {
87
  $settings = array();
88
+ return $this->add_standard_settings( $settings, __( 'When enabled, module will add new "Booster: Product Visibility by User Role" meta box to each product\'s edit page.', 'woocommerce-jetpack' ) );
89
  }
90
  }
91
 
includes/class-wcj-product-open-pricing.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Product Open Pricing class.
6
  *
7
- * @version 2.5.1
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
@@ -162,7 +162,7 @@ class WCJ_Product_Open_Pricing extends WCJ_Module {
162
  /**
163
  * get_meta_box_options.
164
  *
165
- * @version 2.4.8
166
  * @since 2.4.8
167
  */
168
  function get_meta_box_options() {
@@ -180,19 +180,19 @@ class WCJ_Product_Open_Pricing extends WCJ_Module {
180
  array(
181
  'name' => 'wcj_product_open_price_default_price',
182
  'default' => '',
183
- 'type' => 'number',
184
  'title' => __( 'Default Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
185
  ),
186
  array(
187
  'name' => 'wcj_product_open_price_min_price',
188
  'default' => 1,
189
- 'type' => 'number',
190
  'title' => __( 'Min Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
191
  ),
192
  array(
193
  'name' => 'wcj_product_open_price_max_price',
194
  'default' => '',
195
- 'type' => 'number',
196
  'title' => __( 'Max Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
197
  ),
198
  );
4
  *
5
  * The WooCommerce Jetpack Product Open Pricing class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
162
  /**
163
  * get_meta_box_options.
164
  *
165
+ * @version 2.5.6
166
  * @since 2.4.8
167
  */
168
  function get_meta_box_options() {
180
  array(
181
  'name' => 'wcj_product_open_price_default_price',
182
  'default' => '',
183
+ 'type' => 'price',
184
  'title' => __( 'Default Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
185
  ),
186
  array(
187
  'name' => 'wcj_product_open_price_min_price',
188
  'default' => 1,
189
+ 'type' => 'price',
190
  'title' => __( 'Min Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
191
  ),
192
  array(
193
  'name' => 'wcj_product_open_price_max_price',
194
  'default' => '',
195
+ 'type' => 'price',
196
  'title' => __( 'Max Price', 'woocommerce-jetpack' ) . ' (' . get_woocommerce_currency_symbol() . ')',
197
  ),
198
  );
includes/class-wcj-purchase-data.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Purchase Data class.
6
  *
7
- * @version 2.4.8
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
@@ -54,7 +54,7 @@ class WCJ_Purchase_Data extends WCJ_Module {
54
  * Output custom columns for orders
55
  *
56
  * @param string $column
57
- * @version 2.4.5
58
  * @since 2.2.4
59
  * @todo forecasted profit
60
  */
@@ -62,7 +62,7 @@ class WCJ_Purchase_Data extends WCJ_Module {
62
  if ( 'profit' === $column ) {
63
  $total_profit = 0;
64
  $the_order = wc_get_order( get_the_ID() );
65
- if ( 'completed' === $the_order->get_status() ) {
66
  $is_forecasted = false;
67
  foreach ( $the_order->get_items() as $item_id => $item ) {
68
  $the_profit = 0;
4
  *
5
  * The WooCommerce Jetpack Purchase Data class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  */
54
  * Output custom columns for orders
55
  *
56
  * @param string $column
57
+ * @version 2.5.6
58
  * @since 2.2.4
59
  * @todo forecasted profit
60
  */
62
  if ( 'profit' === $column ) {
63
  $total_profit = 0;
64
  $the_order = wc_get_order( get_the_ID() );
65
+ if ( ! in_array( $the_order->get_status(), array( 'cancelled', 'refunded', 'failed' ) ) ) {
66
  $is_forecasted = false;
67
  foreach ( $the_order->get_items() as $item_id => $item ) {
68
  $the_profit = 0;
includes/class-wcj-shipping.php CHANGED
@@ -4,9 +4,8 @@
4
  *
5
  * The WooCommerce Jetpack Shipping class.
6
  *
7
- * @version 2.5.3
8
  * @author Algoritmika Ltd.
9
- * @todo Redo custom shipping methods according to new (since WC v2.6.0) shipping zones mechanism
10
  */
11
 
12
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
@@ -18,7 +17,7 @@ class WCJ_Shipping extends WCJ_Module {
18
  /**
19
  * Constructor.
20
  *
21
- * @version 2.5.3
22
  */
23
  function __construct() {
24
 
@@ -26,15 +25,21 @@ class WCJ_Shipping extends WCJ_Module {
26
  $this->short_desc = __( 'Shipping', 'woocommerce-jetpack' );
27
  $this->desc =
28
  __( 'Add multiple custom shipping methods to WooCommerce.', 'woocommerce-jetpack' ) . ' ' .
 
29
  __( 'Hide WooCommerce shipping when free is available.', 'woocommerce-jetpack') . ' ' .
30
  __( 'Display "left to free shipping" info.', 'woocommerce-jetpack' );
31
  $this->link = 'http://booster.io/features/woocommerce-shipping/';
32
  parent::__construct();
33
 
 
 
34
  if ( $this->is_enabled() ) {
35
 
36
  // Custom Shipping
37
  include_once( 'shipping/class-wc-shipping-wcj-custom.php' );
 
 
 
38
 
39
  // Hide if free is available
40
  if ( 'yes' === get_option( 'wcj_shipping_hide_if_free_available_all', 'no' ) ) {
@@ -64,9 +69,47 @@ class WCJ_Shipping extends WCJ_Module {
64
  get_option( 'wcj_shipping_left_to_free_info_priority_checkout', 10 )
65
  );
66
  }
 
 
 
 
 
 
 
 
 
 
67
  }
68
  }
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  /**
71
  * show_left_to_free_shipping_info_checkout.
72
  *
@@ -157,18 +200,67 @@ class WCJ_Shipping extends WCJ_Module {
157
  return $updated_settings;
158
  }
159
 
 
 
 
 
 
 
 
 
 
 
160
  /**
161
  * get_settings.
162
  *
163
- * @version 2.5.3
164
  */
165
  function get_settings() {
 
 
 
 
 
 
 
 
 
 
 
 
166
  $wocommerce_shipping_settings_url = admin_url( 'admin.php?page=wc-settings&tab=shipping' );
167
  $wocommerce_shipping_settings_url = '<a href="' . $wocommerce_shipping_settings_url . '">' . __( 'WooCommerce > Settings > Shipping', 'woocommerce-jetpack' ) . '</a>';
168
  $settings = array(
169
  array(
170
  'title' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
171
  'type' => 'title',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  'id' => 'wcj_shipping_custom_shipping_options',
173
  'desc' => __( 'This section lets you set number of custom shipping methods to add.', 'woocommerce-jetpack' )
174
  . ' ' . sprintf( __( 'After setting the number, visit %s to set each method options.', 'woocommerce-jetpack' ), $wocommerce_shipping_settings_url ),
@@ -179,16 +271,13 @@ class WCJ_Shipping extends WCJ_Module {
179
  'default' => 1,
180
  'type' => 'custom_number',
181
  'desc' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
182
- 'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ),
183
- 'custom_attributes' => array_merge(
184
- is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ? apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array(),
185
- array( 'step' => '1', 'min' => '0', 'max' => '10', )
186
- ),
187
  ),
188
- );
189
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_shipping_custom_shipping_total_number', 1 ) );
190
  for ( $i = 1; $i <= $total_number; $i++ ) {
191
- $settings [] = array(
192
  'title' => __( 'Admin Title Custom Shipping', 'woocommerce-jetpack' ) . ' #' . $i,
193
  'id' => 'wcj_shipping_custom_shipping_admin_title_' . $i,
194
  'default' => __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i,
@@ -363,7 +452,90 @@ class WCJ_Shipping extends WCJ_Module {
363
  'id' => 'wcj_shipping_left_to_free_info_options',
364
  ),
365
  ) );
366
- return $this->add_standard_settings( $settings );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  }
368
  }
369
 
4
  *
5
  * The WooCommerce Jetpack Shipping class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
 
9
  */
10
 
11
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  function __construct() {
23
 
25
  $this->short_desc = __( 'Shipping', 'woocommerce-jetpack' );
26
  $this->desc =
27
  __( 'Add multiple custom shipping methods to WooCommerce.', 'woocommerce-jetpack' ) . ' ' .
28
+ __( 'Add descriptions and icons to shipping methods on frontend.', 'woocommerce-jetpack') . ' ' .
29
  __( 'Hide WooCommerce shipping when free is available.', 'woocommerce-jetpack') . ' ' .
30
  __( 'Display "left to free shipping" info.', 'woocommerce-jetpack' );
31
  $this->link = 'http://booster.io/features/woocommerce-shipping/';
32
  parent::__construct();
33
 
34
+ add_action( 'init', array( $this, 'add_settings_hook' ) );
35
+
36
  if ( $this->is_enabled() ) {
37
 
38
  // Custom Shipping
39
  include_once( 'shipping/class-wc-shipping-wcj-custom.php' );
40
+ if ( 'yes' === get_option( 'wcj_shipping_custom_shipping_w_zones_enabled', 'no' ) ) {
41
+ include_once( 'shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php' );
42
+ }
43
 
44
  // Hide if free is available
45
  if ( 'yes' === get_option( 'wcj_shipping_hide_if_free_available_all', 'no' ) ) {
69
  get_option( 'wcj_shipping_left_to_free_info_priority_checkout', 10 )
70
  );
71
  }
72
+
73
+ // Shipping Descriptions
74
+ if ( 'yes' === get_option( 'wcj_shipping_description_enabled', 'no' ) ) {
75
+ add_filter( 'woocommerce_cart_shipping_method_full_label', array( $this, 'shipping_description' ), PHP_INT_MAX, 2 );
76
+ }
77
+
78
+ // Shipping Icons
79
+ if ( 'yes' === get_option( 'wcj_shipping_icons_enabled', 'no' ) ) {
80
+ add_filter( 'woocommerce_cart_shipping_method_full_label', array( $this, 'shipping_icon' ), PHP_INT_MAX, 2 );
81
+ }
82
  }
83
  }
84
 
85
+ /**
86
+ * shipping_icon.
87
+ *
88
+ * @version 2.5.6
89
+ * @since 2.5.6
90
+ */
91
+ function shipping_icon( $label, $method ) {
92
+ if ( '' != ( $icon_url = get_option( 'wcj_shipping_icon_' . $method->method_id, '' ) ) ) {
93
+ $style_html = ( '' != ( $style = get_option( 'wcj_shipping_icons_style', 'display:inline;' ) ) ) ? 'style="' . $style . '" ' : '';
94
+ $img = '<img ' . $style_html . 'class="wcj_shipping_icon" id="wcj_shipping_icon_' . $method->method_id . '" src="' . $icon_url . '">';
95
+ $label = ( 'before' === get_option( 'wcj_shipping_icons_position', 'before' ) ) ? $img . ' ' . $label : $label . ' ' . $img;
96
+ }
97
+ return $label;
98
+ }
99
+
100
+ /**
101
+ * shipping_description.
102
+ *
103
+ * @version 2.5.6
104
+ * @since 2.5.6
105
+ */
106
+ function shipping_description( $label, $method ) {
107
+ if ( '' != ( $desc = get_option( 'wcj_shipping_description_' . $method->method_id, '' ) ) ) {
108
+ $label .= $desc;
109
+ }
110
+ return $label;
111
+ }
112
+
113
  /**
114
  * show_left_to_free_shipping_info_checkout.
115
  *
200
  return $updated_settings;
201
  }
202
 
203
+ /**
204
+ * add_settings_hook.
205
+ *
206
+ * @version 2.5.6
207
+ * @since 2.5.6
208
+ */
209
+ function add_settings_hook() {
210
+ add_filter( 'wcj_' . $this->id . '_settings', array( $this, 'add_settings' ) );
211
+ }
212
+
213
  /**
214
  * get_settings.
215
  *
216
+ * @version 2.5.6
217
  */
218
  function get_settings() {
219
+ $settings = array();
220
+ $settings = apply_filters( 'wcj_' . $this->id . '_settings', $settings );
221
+ return $this->add_standard_settings( $settings );
222
+ }
223
+
224
+ /**
225
+ * add_settings.
226
+ *
227
+ * @version 2.5.6
228
+ * @since 2.5.6
229
+ */
230
+ function add_settings( $settings ) {
231
  $wocommerce_shipping_settings_url = admin_url( 'admin.php?page=wc-settings&tab=shipping' );
232
  $wocommerce_shipping_settings_url = '<a href="' . $wocommerce_shipping_settings_url . '">' . __( 'WooCommerce > Settings > Shipping', 'woocommerce-jetpack' ) . '</a>';
233
  $settings = array(
234
  array(
235
  'title' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
236
  'type' => 'title',
237
+ 'id' => 'wcj_shipping_custom_shipping_w_zones_options',
238
+ 'desc' => __( 'This section lets you add custom shipping method.', 'woocommerce-jetpack' )
239
+ . ' ' . sprintf( __( 'Visit %s to set method\'s options.', 'woocommerce-jetpack' ), $wocommerce_shipping_settings_url ),
240
+ ),
241
+ array(
242
+ 'title' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
243
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
244
+ 'id' => 'wcj_shipping_custom_shipping_w_zones_enabled',
245
+ 'default' => 'no',
246
+ 'type' => 'checkbox',
247
+ ),
248
+ array(
249
+ 'title' => __( 'Admin Title', 'woocommerce-jetpack' ),
250
+ 'id' => 'wcj_shipping_custom_shipping_w_zones_admin_title',
251
+ 'default' => __( 'Booster: Custom Shipping', 'woocommerce-jetpack' ),
252
+ 'type' => 'text',
253
+ 'css' => 'width:300px;',
254
+ ),
255
+ array(
256
+ 'type' => 'sectionend',
257
+ 'id' => 'wcj_shipping_custom_shipping_w_zones_options',
258
+ ),
259
+ );
260
+ $settings = array_merge( $settings, array(
261
+ array(
262
+ 'title' => __( 'Custom Shipping (Legacy - without Shipping Zones)', 'woocommerce-jetpack' ),
263
+ 'type' => 'title',
264
  'id' => 'wcj_shipping_custom_shipping_options',
265
  'desc' => __( 'This section lets you set number of custom shipping methods to add.', 'woocommerce-jetpack' )
266
  . ' ' . sprintf( __( 'After setting the number, visit %s to set each method options.', 'woocommerce-jetpack' ), $wocommerce_shipping_settings_url ),
271
  'default' => 1,
272
  'type' => 'custom_number',
273
  'desc' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
274
+ 'custom_attributes' => is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ?
275
+ apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array( 'step' => '1', 'min' => '0' ),
 
 
 
276
  ),
277
+ ) );
278
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_shipping_custom_shipping_total_number', 1 ) );
279
  for ( $i = 1; $i <= $total_number; $i++ ) {
280
+ $settings[] = array(
281
  'title' => __( 'Admin Title Custom Shipping', 'woocommerce-jetpack' ) . ' #' . $i,
282
  'id' => 'wcj_shipping_custom_shipping_admin_title_' . $i,
283
  'default' => __( 'Custom', 'woocommerce-jetpack' ) . ' #' . $i,
452
  'id' => 'wcj_shipping_left_to_free_info_options',
453
  ),
454
  ) );
455
+ $settings = array_merge( $settings, array(
456
+ array(
457
+ 'title' => __( 'Shipping Descriptions', 'woocommerce-jetpack' ),
458
+ 'type' => 'title',
459
+ 'desc' => sprintf( __( 'This section will allow you to add any text (e.g. description) for shipping method. Text will be visible on cart and checkout pages. You can add HTML tags here, e.g. try "%s"', 'woocommerce-jetpack' ), esc_html( '<br><small>Your shipping description.</small>' ) ),
460
+ 'id' => 'wcj_shipping_description_options',
461
+ ),
462
+ array(
463
+ 'title' => __( 'Shipping Descriptions', 'woocommerce-jetpack' ),
464
+ 'desc' => __( 'Enable Section', 'woocommerce-jetpack' ),
465
+ 'id' => 'wcj_shipping_description_enabled',
466
+ 'default' => 'no',
467
+ 'type' => 'checkbox',
468
+ ),
469
+ ) );
470
+ foreach ( WC()->shipping->get_shipping_methods() as $method ) {
471
+ $settings = array_merge( $settings, array(
472
+ array(
473
+ 'title' => $method->method_title,
474
+ 'id' => 'wcj_shipping_description_' . $method->id,
475
+ 'default' => '',
476
+ 'type' => 'textarea',
477
+ 'css' => 'width:30%;min-width:300px;',
478
+ ),
479
+ ) );
480
+ }
481
+ $settings = array_merge( $settings, array(
482
+ array(
483
+ 'type' => 'sectionend',
484
+ 'id' => 'wcj_shipping_description_options',
485
+ ),
486
+ ) );
487
+ $settings = array_merge( $settings, array(
488
+ array(
489
+ 'title' => __( 'Shipping Icons', 'woocommerce-jetpack' ),
490
+ 'type' => 'title',
491
+ 'desc' => __( 'This section will allow you to add icons for shipping method. Icons will be visible on cart and checkout pages.', 'woocommerce-jetpack' ),
492
+ 'id' => 'wcj_shipping_icons_options',
493
+ ),
494
+ array(
495
+ 'title' => __( 'Shipping Icons', 'woocommerce-jetpack' ),
496
+ 'desc' => __( 'Enable Section', 'woocommerce-jetpack' ),
497
+ 'id' => 'wcj_shipping_icons_enabled',
498
+ 'default' => 'no',
499
+ 'type' => 'checkbox',
500
+ ),
501
+ array(
502
+ 'title' => __( 'Icon Position', 'woocommerce-jetpack' ),
503
+ 'id' => 'wcj_shipping_icons_position',
504
+ 'default' => 'before',
505
+ 'type' => 'select',
506
+ 'options' => array(
507
+ 'before' => __( 'Before label', 'woocommerce-jetpack' ),
508
+ 'after' => __( 'After label', 'woocommerce-jetpack' ),
509
+ ),
510
+ ),
511
+ array(
512
+ 'title' => __( 'Icon Style', 'woocommerce-jetpack' ),
513
+ 'desc_tip' => __( 'You can also style icons with CSS class "wcj_shipping_icon", or id "wcj_shipping_icon_method_id"', 'woocommerce-jetpack' ),
514
+ 'id' => 'wcj_shipping_icons_style',
515
+ 'default' => 'display:inline;',
516
+ 'type' => 'text',
517
+ 'css' => 'width:20%;min-width:300px;',
518
+ ),
519
+ ) );
520
+ foreach ( WC()->shipping->get_shipping_methods() as $method ) {
521
+ $settings = array_merge( $settings, array(
522
+ array(
523
+ 'title' => $method->method_title,
524
+ 'desc_tip' => __( 'Image URL', 'woocommerce-jetpack' ),
525
+ 'id' => 'wcj_shipping_icon_' . $method->id,
526
+ 'default' => '',
527
+ 'type' => 'text',
528
+ 'css' => 'width:30%;min-width:300px;',
529
+ ),
530
+ ) );
531
+ }
532
+ $settings = array_merge( $settings, array(
533
+ array(
534
+ 'type' => 'sectionend',
535
+ 'id' => 'wcj_shipping_icons_options',
536
+ ),
537
+ ) );
538
+ return $settings;
539
  }
540
  }
541
 
includes/class-wcj-sorting.php CHANGED
@@ -4,12 +4,11 @@
4
  *
5
  * The WooCommerce Jetpack Sorting class.
6
  *
7
- * @version 2.4.8
8
  * @author Algoritmika Ltd.
9
  */
10
 
11
- // Exit if accessed directly
12
- if ( ! defined( 'ABSPATH' ) ) exit;
13
 
14
  if ( ! class_exists( 'WCJ_Sorting' ) ) :
15
 
@@ -109,14 +108,13 @@ class WCJ_Sorting extends WCJ_Module {
109
  /*
110
  * Add new sorting options to WooCommerce sorting.
111
  *
112
- * @version 2.2.4
113
  */
114
  function custom_woocommerce_get_catalog_ordering_args( $args ) {
115
 
116
- global $woocommerce;
117
- // Get ordering from query string unless defined
118
  $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
119
- // Get order + orderby args from string
120
  $orderby_value = explode( '-', $orderby_value );
121
  $orderby = esc_attr( $orderby_value[0] );
122
 
4
  *
5
  * The WooCommerce Jetpack Sorting class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
11
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
 
12
 
13
  if ( ! class_exists( 'WCJ_Sorting' ) ) :
14
 
108
  /*
109
  * Add new sorting options to WooCommerce sorting.
110
  *
111
+ * @version 2.5.6
112
  */
113
  function custom_woocommerce_get_catalog_ordering_args( $args ) {
114
 
115
+ // Get ordering from query string
 
116
  $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
117
+ // Get orderby arg from string
118
  $orderby_value = explode( '-', $orderby_value );
119
  $orderby = esc_attr( $orderby_value[0] );
120
 
includes/class-wcj-wholesale-price.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Wholesale Price class.
6
  *
7
- * @version 2.5.5
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  * @todo per variation;
@@ -355,138 +355,139 @@ class WCJ_Wholesale_Price extends WCJ_Module {
355
  /**
356
  * add_settings.
357
  *
358
- * @version 2.5.5
359
  * @since 2.5.5
360
  */
361
  function add_settings() {
362
  $products = apply_filters( 'wcj_get_products_filter', array() );
363
  $settings = array(
364
  array(
365
- 'title' => __( 'Options', 'woocommerce-jetpack' ),
366
- 'type' => 'title',
367
- 'desc' => __( 'Wholesale Price Levels Options. If you want to display prices table on frontend, use [wcj_product_wholesale_price_table] shortcode.', 'woocommerce-jetpack' ),
368
- 'id' => 'wcj_wholesale_price_general_options',
369
  ),
370
  array(
371
- 'title' => __( 'Enable per Product', 'woocommerce-jetpack' ),
372
- 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
373
- 'id' => 'wcj_wholesale_price_per_product_enable',
374
- 'default' => 'yes',
375
- 'type' => 'checkbox',
376
  ),
377
  array(
378
- 'title' => __( 'Use total cart quantity instead of product quantity', 'woocommerce-jetpack' ),
379
- 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
380
- 'id' => 'wcj_wholesale_price_use_total_cart_quantity',
381
- 'default' => 'no',
382
- 'type' => 'checkbox',
383
  ),
384
  array(
385
- 'title' => __( 'Apply wholesale discount only if no other cart discounts were applied', 'woocommerce-jetpack' ),
386
- 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
387
- 'id' => 'wcj_wholesale_price_apply_only_if_no_other_discounts',
388
- 'default' => 'no',
389
- 'type' => 'checkbox',
390
  ),
391
  array(
392
- 'title' => __( 'Show discount info on cart page', 'woocommerce-jetpack' ),
393
- 'desc' => __( 'Show', 'woocommerce-jetpack' ),
394
- 'id' => 'wcj_wholesale_price_show_info_on_cart',
395
- 'default' => 'no',
396
- 'type' => 'checkbox',
397
  ),
398
  array(
399
- 'title' => __( 'If show discount info on cart page is enabled, set format here', 'woocommerce-jetpack' ),
400
- 'id' => 'wcj_wholesale_price_show_info_on_cart_format',
401
- 'default' => '<del>%old_price%</del> %price%<br>You save: <span style="color:red;">%discount_value%</span>',
402
- 'type' => 'textarea',
403
- 'css' => 'width: 450px;',
 
404
  ),
405
  array(
406
- 'title' => __( 'Discount Type', 'woocommerce-jetpack' ),
407
- 'id' => 'wcj_wholesale_price_discount_type',
408
- 'default' => 'percent',
409
- 'type' => 'select',
410
- 'options' => array(
411
  'percent' => __( 'Percent', 'woocommerce-jetpack' ),
412
  'fixed' => __( 'Fixed', 'woocommerce-jetpack' ),
413
  ),
414
  ),
415
  array(
416
- 'title' => __( 'Products to include', 'woocommerce-jetpack' ),
417
- 'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
418
- 'id' => 'wcj_wholesale_price_products_to_include',
419
- 'default' => '',
420
- 'type' => 'multiselect',
421
- 'class' => 'chosen_select',
422
- 'options' => $products,
423
  ),
424
  array(
425
- 'title' => __( 'Products to exclude', 'woocommerce-jetpack' ),
426
- 'id' => 'wcj_wholesale_price_products_to_exclude',
427
- 'default' => '',
428
- 'type' => 'multiselect',
429
- 'class' => 'chosen_select',
430
- 'options' => $products,
431
  ),
432
  array(
433
- 'type' => 'sectionend',
434
- 'id' => 'wcj_wholesale_price_general_options',
435
  ),
436
  array(
437
- 'title' => __( 'Wholesale Levels Options', 'woocommerce-jetpack' ),
438
- 'type' => 'title',
439
- 'id' => 'wcj_wholesale_price_level_options',
440
  ),
441
  array(
442
- 'title' => __( 'Number of levels', 'woocommerce-jetpack' ),
443
- 'id' => 'wcj_wholesale_price_levels_number',
444
- 'default' => 1,
445
- 'type' => 'custom_number',
446
- 'desc' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
447
  'custom_attributes' => array_merge(
448
  is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ? apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array(),
449
  array('step' => '1', 'min' => '1', ) ),
450
- 'css' => 'width:100px;',
451
  ),
452
  );
453
  for ( $i = 1; $i <= apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_wholesale_price_levels_number', 1 ) ); $i++ ) {
454
  $settings[] = array(
455
- 'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i,
456
- 'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
457
- 'id' => 'wcj_wholesale_price_level_min_qty_' . $i,
458
- 'default' => 0,
459
- 'type' => 'number',
460
  'custom_attributes' => array('step' => '1', 'min' => '0', ),
461
  );
462
  $settings[] = array(
463
- 'title' => __( 'Discount', 'woocommerce-jetpack' ) . ' #' . $i,
464
- 'desc' => __( 'Discount', 'woocommerce-jetpack' ),
465
- 'id' => 'wcj_wholesale_price_level_discount_percent_' . $i, // mislabeled - should be 'wcj_wholesale_price_level_discount_'
466
- 'default' => 0,
467
- 'type' => 'number',
468
  'custom_attributes' => array('step' => '0.0001', 'min' => '0', ),
469
  );
470
  }
471
  $settings[] = array(
472
- 'type' => 'sectionend',
473
- 'id' => 'wcj_wholesale_price_level_options',
474
  );
475
  $settings = array_merge( $settings, array(
476
  array(
477
- 'title' => __( 'Additional User Roles Options', 'woocommerce-jetpack' ),
478
- 'type' => 'title',
479
- 'desc' => __( 'If you want to set different wholesale pricing options for different user roles, fill this section. Please note that you can also use Booster\'s "Price by User Role" module without filling this section.', 'woocommerce-jetpack' ),
480
- 'id' => 'wcj_wholesale_price_by_user_role_options',
481
  ),
482
  array(
483
- 'title' => __( 'User Roles Settings', 'woocommerce-jetpack' ),
484
- 'desc' => __( 'Save settings after you change this option. Leave blank to disable.', 'woocommerce-jetpack' ),
485
- 'type' => 'multiselect',
486
- 'id' => 'wcj_wholesale_price_by_user_role_roles',
487
- 'default' => '',
488
- 'class' => 'chosen_select',
489
- 'options' => wcj_get_user_roles_options(),
490
  ),
491
  ) );
492
  $user_roles = get_option( 'wcj_wholesale_price_by_user_role_roles', '' );
@@ -528,8 +529,8 @@ class WCJ_Wholesale_Price extends WCJ_Module {
528
  }
529
  }
530
  $settings[] = array(
531
- 'type' => 'sectionend',
532
- 'id' => 'wcj_wholesale_price_by_user_role_options',
533
  );
534
  return $settings;
535
  }
4
  *
5
  * The WooCommerce Jetpack Wholesale Price class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.2.0
9
  * @author Algoritmika Ltd.
10
  * @todo per variation;
355
  /**
356
  * add_settings.
357
  *
358
+ * @version 2.5.6
359
  * @since 2.5.5
360
  */
361
  function add_settings() {
362
  $products = apply_filters( 'wcj_get_products_filter', array() );
363
  $settings = array(
364
  array(
365
+ 'title' => __( 'Options', 'woocommerce-jetpack' ),
366
+ 'type' => 'title',
367
+ 'desc' => __( 'Wholesale Price Levels Options. If you want to display prices table on frontend, use [wcj_product_wholesale_price_table] shortcode.', 'woocommerce-jetpack' ),
368
+ 'id' => 'wcj_wholesale_price_general_options',
369
  ),
370
  array(
371
+ 'title' => __( 'Enable per Product', 'woocommerce-jetpack' ),
372
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
373
+ 'id' => 'wcj_wholesale_price_per_product_enable',
374
+ 'default' => 'yes',
375
+ 'type' => 'checkbox',
376
  ),
377
  array(
378
+ 'title' => __( 'Use total cart quantity instead of product quantity', 'woocommerce-jetpack' ),
379
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
380
+ 'id' => 'wcj_wholesale_price_use_total_cart_quantity',
381
+ 'default' => 'no',
382
+ 'type' => 'checkbox',
383
  ),
384
  array(
385
+ 'title' => __( 'Apply wholesale discount only if no other cart discounts were applied', 'woocommerce-jetpack' ),
386
+ 'desc' => __( 'Enable', 'woocommerce-jetpack' ),
387
+ 'id' => 'wcj_wholesale_price_apply_only_if_no_other_discounts',
388
+ 'default' => 'no',
389
+ 'type' => 'checkbox',
390
  ),
391
  array(
392
+ 'title' => __( 'Show discount info on cart page', 'woocommerce-jetpack' ),
393
+ 'desc' => __( 'Show', 'woocommerce-jetpack' ),
394
+ 'id' => 'wcj_wholesale_price_show_info_on_cart',
395
+ 'default' => 'no',
396
+ 'type' => 'checkbox',
397
  ),
398
  array(
399
+ 'title' => __( 'If show discount info on cart page is enabled, set format here', 'woocommerce-jetpack' ),
400
+ 'desc_tip' => __( 'Replaced values: %old_price%, %price%, %discount_value%.', 'woocommerce-jetpack' ),
401
+ 'id' => 'wcj_wholesale_price_show_info_on_cart_format',
402
+ 'default' => '<del>%old_price%</del> %price%<br>You save: <span style="color:red;">%discount_value%</span>',
403
+ 'type' => 'textarea',
404
+ 'css' => 'width: 450px;',
405
  ),
406
  array(
407
+ 'title' => __( 'Discount Type', 'woocommerce-jetpack' ),
408
+ 'id' => 'wcj_wholesale_price_discount_type',
409
+ 'default' => 'percent',
410
+ 'type' => 'select',
411
+ 'options' => array(
412
  'percent' => __( 'Percent', 'woocommerce-jetpack' ),
413
  'fixed' => __( 'Fixed', 'woocommerce-jetpack' ),
414
  ),
415
  ),
416
  array(
417
+ 'title' => __( 'Products to include', 'woocommerce-jetpack' ),
418
+ 'desc' => __( 'Leave blank to include all products.', 'woocommerce-jetpack' ),
419
+ 'id' => 'wcj_wholesale_price_products_to_include',
420
+ 'default' => '',
421
+ 'type' => 'multiselect',
422
+ 'class' => 'chosen_select',
423
+ 'options' => $products,
424
  ),
425
  array(
426
+ 'title' => __( 'Products to exclude', 'woocommerce-jetpack' ),
427
+ 'id' => 'wcj_wholesale_price_products_to_exclude',
428
+ 'default' => '',
429
+ 'type' => 'multiselect',
430
+ 'class' => 'chosen_select',
431
+ 'options' => $products,
432
  ),
433
  array(
434
+ 'type' => 'sectionend',
435
+ 'id' => 'wcj_wholesale_price_general_options',
436
  ),
437
  array(
438
+ 'title' => __( 'Wholesale Levels Options', 'woocommerce-jetpack' ),
439
+ 'type' => 'title',
440
+ 'id' => 'wcj_wholesale_price_level_options',
441
  ),
442
  array(
443
+ 'title' => __( 'Number of levels', 'woocommerce-jetpack' ),
444
+ 'id' => 'wcj_wholesale_price_levels_number',
445
+ 'default' => 1,
446
+ 'type' => 'custom_number',
447
+ 'desc' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
448
  'custom_attributes' => array_merge(
449
  is_array( apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) ) ? apply_filters( 'get_wc_jetpack_plus_message', '', 'readonly' ) : array(),
450
  array('step' => '1', 'min' => '1', ) ),
451
+ 'css' => 'width:100px;',
452
  ),
453
  );
454
  for ( $i = 1; $i <= apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_wholesale_price_levels_number', 1 ) ); $i++ ) {
455
  $settings[] = array(
456
+ 'title' => __( 'Min quantity', 'woocommerce-jetpack' ) . ' #' . $i,
457
+ 'desc' => __( 'Minimum quantity to apply discount', 'woocommerce-jetpack' ),
458
+ 'id' => 'wcj_wholesale_price_level_min_qty_' . $i,
459
+ 'default' => 0,
460
+ 'type' => 'number',
461
  'custom_attributes' => array('step' => '1', 'min' => '0', ),
462
  );
463
  $settings[] = array(
464
+ 'title' => __( 'Discount', 'woocommerce-jetpack' ) . ' #' . $i,
465
+ 'desc' => __( 'Discount', 'woocommerce-jetpack' ),
466
+ 'id' => 'wcj_wholesale_price_level_discount_percent_' . $i, // mislabeled - should be 'wcj_wholesale_price_level_discount_'
467
+ 'default' => 0,
468
+ 'type' => 'number',
469
  'custom_attributes' => array('step' => '0.0001', 'min' => '0', ),
470
  );
471
  }
472
  $settings[] = array(
473
+ 'type' => 'sectionend',
474
+ 'id' => 'wcj_wholesale_price_level_options',
475
  );
476
  $settings = array_merge( $settings, array(
477
  array(
478
+ 'title' => __( 'Additional User Roles Options', 'woocommerce-jetpack' ),
479
+ 'type' => 'title',
480
+ 'desc' => __( 'If you want to set different wholesale pricing options for different user roles, fill this section. Please note that you can also use Booster\'s "Price by User Role" module without filling this section.', 'woocommerce-jetpack' ),
481
+ 'id' => 'wcj_wholesale_price_by_user_role_options',
482
  ),
483
  array(
484
+ 'title' => __( 'User Roles Settings', 'woocommerce-jetpack' ),
485
+ 'desc' => __( 'Save settings after you change this option. Leave blank to disable.', 'woocommerce-jetpack' ),
486
+ 'type' => 'multiselect',
487
+ 'id' => 'wcj_wholesale_price_by_user_role_roles',
488
+ 'default' => '',
489
+ 'class' => 'chosen_select',
490
+ 'options' => wcj_get_user_roles_options(),
491
  ),
492
  ) );
493
  $user_roles = get_option( 'wcj_wholesale_price_by_user_role_roles', '' );
529
  }
530
  }
531
  $settings[] = array(
532
+ 'type' => 'sectionend',
533
+ 'id' => 'wcj_wholesale_price_by_user_role_options',
534
  );
535
  return $settings;
536
  }
includes/classes/class-wcj-module.php CHANGED
@@ -149,7 +149,9 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
149
  */
150
  function save_meta_box( $post_id, $post ) {
151
  // Check that we are saving with current metabox displayed.
152
- if ( ! isset( $_POST[ 'woojetpack_' . $this->id . '_save_post' ] ) ) return;
 
 
153
  // Save options
154
  foreach ( $this->get_meta_box_options() as $option ) {
155
  if ( 'title' === $option['type'] ) {
@@ -158,7 +160,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
158
  $is_enabled = ( isset( $option['enabled'] ) && 'no' === $option['enabled'] ) ? false : true;
159
  if ( $is_enabled ) {
160
  $option_value = ( isset( $_POST[ $option['name'] ] ) ) ? $_POST[ $option['name'] ] : $option['default'];
161
- $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $post_id;
162
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
163
  update_post_meta( $the_post_id, $the_meta_name, apply_filters( 'wcj_save_meta_box_value', $option_value, $option['name'], $this->id ) );
164
  }
@@ -203,7 +205,7 @@ if ( ! class_exists( 'WCJ_Module' ) ) :
203
  $html .= '</tr>';
204
  } else {
205
  $custom_attributes = '';
206
- $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $current_post_id;
207
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
208
  if ( get_post_meta( $the_post_id, $the_meta_name ) ) {
209
  $option_value = get_post_meta( $the_post_id, $the_meta_name, true );
149
  */
150
  function save_meta_box( $post_id, $post ) {
151
  // Check that we are saving with current metabox displayed.
152
+ if ( ! isset( $_POST[ 'woojetpack_' . $this->id . '_save_post' ] ) ) {
153
+ return;
154
+ }
155
  // Save options
156
  foreach ( $this->get_meta_box_options() as $option ) {
157
  if ( 'title' === $option['type'] ) {
160
  $is_enabled = ( isset( $option['enabled'] ) && 'no' === $option['enabled'] ) ? false : true;
161
  if ( $is_enabled ) {
162
  $option_value = ( isset( $_POST[ $option['name'] ] ) ) ? $_POST[ $option['name'] ] : $option['default'];
163
+ $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $post_id; // todo: maybe also order_id?
164
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
165
  update_post_meta( $the_post_id, $the_meta_name, apply_filters( 'wcj_save_meta_box_value', $option_value, $option['name'], $this->id ) );
166
  }
205
  $html .= '</tr>';
206
  } else {
207
  $custom_attributes = '';
208
+ $the_post_id = ( isset( $option['product_id'] ) ) ? $option['product_id'] : $current_post_id; // todo: maybe also order_id?
209
  $the_meta_name = ( isset( $option['meta_name'] ) ) ? $option['meta_name'] : '_' . $option['name'];
210
  if ( get_post_meta( $the_post_id, $the_meta_name ) ) {
211
  $option_value = get_post_meta( $the_post_id, $the_meta_name, true );
includes/emails/class-wc-email-wcj-custom.php CHANGED
@@ -11,7 +11,7 @@ if ( ! class_exists( 'WC_Email_WCJ_Custom' ) ) :
11
  *
12
  * An email sent to recipient list when selected triggers are called.
13
  *
14
- * @version 2.5.5
15
  * @since 2.3.9
16
  * @author Algoritmika Ltd.
17
  * @extends WC_Email
@@ -62,6 +62,41 @@ class WC_Email_WCJ_Custom extends WC_Email {
62
  }
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  /**
66
  * Proxy to parent's get_option and attempt to localize the result using gettext.
67
  *
@@ -80,7 +115,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
80
  /**
81
  * Trigger.
82
  *
83
- * @version 2.5.5
84
  */
85
  function trigger( $order_id ) {
86
 
@@ -134,7 +169,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
134
  return;
135
  }
136
 
137
- $this->send( $this->get_recipient(), $this->get_subject(), do_shortcode( $this->get_content() ), $this->get_headers(), $this->get_attachments() );
138
 
139
  if ( $order_id ) {
140
  wp_reset_postdata();
@@ -197,7 +232,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
197
  /**
198
  * Initialise settings form fields
199
  *
200
- * @version 2.4.5
201
  */
202
  function init_form_fields() {
203
 
@@ -246,6 +281,10 @@ class WC_Email_WCJ_Custom extends WC_Email {
246
  'woocommerce_order_fully_refunded_notification' => __( 'Order fully refunded notification', 'woocommerce-jetpack' ),
247
  'woocommerce_order_partially_refunded_notification' => __( 'Order partially refunded notification', 'woocommerce-jetpack' ),
248
  'woocommerce_new_customer_note_notification' => __( 'New customer note notification', 'woocommerce-jetpack' ),
 
 
 
 
249
  ),
250
  $status_change_triggers
251
  ),
@@ -283,7 +322,7 @@ class WC_Email_WCJ_Custom extends WC_Email {
283
  ),
284
  'content_html_template' => array(
285
  'title' => __( 'HTML template', 'woocommerce' ),
286
- 'type' => 'textarea',
287
  'desc_tip' => __( 'You can use shortcodes here. E.g. Booster\'s order shortcodes.', 'woocommerce' ),
288
  'description' => '',
289
  'placeholder' => '',
11
  *
12
  * An email sent to recipient list when selected triggers are called.
13
  *
14
+ * @version 2.5.6
15
  * @since 2.3.9
16
  * @author Algoritmika Ltd.
17
  * @extends WC_Email
62
  }
63
  }
64
 
65
+ /**
66
+ * Validate Custom Textarea Field.
67
+ *
68
+ * @param string $key
69
+ * @param string|null $value Posted Value
70
+ * @version 2.5.6
71
+ * @since 2.5.6
72
+ * @return string
73
+ */
74
+ public function validate_custom_textarea_field( $key, $value ) {
75
+ $value = is_null( $value ) ? '' : $value;
76
+ /* return wp_kses( trim( stripslashes( $value ) ),
77
+ array_merge(
78
+ array(
79
+ 'iframe' => array( 'src' => true, 'style' => true, 'id' => true, 'class' => true )
80
+ ),
81
+ wp_kses_allowed_html( 'post' )
82
+ )
83
+ ); */
84
+ return stripslashes( $value );
85
+ }
86
+
87
+ /**
88
+ * Generate Custom Textarea HTML.
89
+ *
90
+ * @param mixed $key
91
+ * @param mixed $data
92
+ * @version 2.5.6
93
+ * @since 2.5.6
94
+ * @return string
95
+ */
96
+ public function generate_custom_textarea_html( $key, $data ) {
97
+ return $this->generate_textarea_html( $key, $data );
98
+ }
99
+
100
  /**
101
  * Proxy to parent's get_option and attempt to localize the result using gettext.
102
  *
115
  /**
116
  * Trigger.
117
  *
118
+ * @version 2.5.6
119
  */
120
  function trigger( $order_id ) {
121
 
169
  return;
170
  }
171
 
172
+ $this->send( $this->get_recipient(), do_shortcode( $this->get_subject() ), do_shortcode( $this->get_content() ), $this->get_headers(), $this->get_attachments() );
173
 
174
  if ( $order_id ) {
175
  wp_reset_postdata();
232
  /**
233
  * Initialise settings form fields
234
  *
235
+ * @version 2.5.6
236
  */
237
  function init_form_fields() {
238
 
281
  'woocommerce_order_fully_refunded_notification' => __( 'Order fully refunded notification', 'woocommerce-jetpack' ),
282
  'woocommerce_order_partially_refunded_notification' => __( 'Order partially refunded notification', 'woocommerce-jetpack' ),
283
  'woocommerce_new_customer_note_notification' => __( 'New customer note notification', 'woocommerce-jetpack' ),
284
+ 'woocommerce_low_stock_notification' => __( 'Low stock notification', 'woocommerce-jetpack' ),
285
+ 'woocommerce_no_stock_notification' => __( 'No stock notification', 'woocommerce-jetpack' ),
286
+ 'woocommerce_product_on_backorder_notification' => __( 'Product on backorder notification', 'woocommerce-jetpack' ),
287
+ 'woocommerce_created_customer_notification' => __( 'Created customer notification', 'woocommerce-jetpack' ),
288
  ),
289
  $status_change_triggers
290
  ),
322
  ),
323
  'content_html_template' => array(
324
  'title' => __( 'HTML template', 'woocommerce' ),
325
+ 'type' => 'custom_textarea',
326
  'desc_tip' => __( 'You can use shortcodes here. E.g. Booster\'s order shortcodes.', 'woocommerce' ),
327
  'description' => '',
328
  'placeholder' => '',
includes/functions/wcj-functions.php CHANGED
@@ -4,10 +4,48 @@
4
  *
5
  * The WooCommerce Jetpack Functions.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  if ( ! function_exists( 'wcj_price_by_country' ) ) {
12
  /**
13
  * wcj_price_by_country.
@@ -119,7 +157,7 @@ if ( ! function_exists( 'wcj_update_products_price_by_country_for_single_product
119
  /**
120
  * wcj_update_products_price_by_country_for_single_product.
121
  *
122
- * @version 2.5.3
123
  * @since 2.5.3
124
  */
125
  function wcj_update_products_price_by_country_for_single_product( $product_id ) {
@@ -132,6 +170,9 @@ if ( ! function_exists( 'wcj_update_products_price_by_country_for_single_product
132
  foreach ( $available_variations as $variation ) {
133
  $variation_product_id = $variation['variation_id'];
134
  $_old_variation_price = get_post_meta( $variation_product_id, '_price', true );
 
 
 
135
  $price_by_country = wcj_price_by_country( $_old_variation_price, $variation_product_id, $i, 'woocommerce_get_price' );
136
  update_post_meta( $variation_product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
137
  if ( '' != $price_by_country && $price_by_country < $min_variation_price ) {
@@ -149,6 +190,9 @@ if ( ! function_exists( 'wcj_update_products_price_by_country_for_single_product
149
  }
150
  } else {
151
  $_old_price = get_post_meta( $product_id, '_price', true );
 
 
 
152
  for ( $i = 1; $i <= apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
153
  $price_by_country = wcj_price_by_country( $_old_price, $product_id, $i, 'woocommerce_get_price' );
154
  update_post_meta( $product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
@@ -369,7 +413,7 @@ if ( ! function_exists( 'wcj_current_filter_priority' ) ) {
369
  /*
370
  * wcj_get_product_input_fields.
371
  *
372
- * @version 2.4.4
373
  * @since 2.4.4
374
  * @return string
375
  */
@@ -378,6 +422,12 @@ if ( ! function_exists( 'wcj_get_product_input_fields' ) ) {
378
  $product_input_fields = array();
379
  foreach ( $item as $key => $value ) {
380
  if ( false !== strpos( $key, 'wcj_product_input_fields_' ) ) {
 
 
 
 
 
 
381
  $product_input_fields[] = /* $key . ': ' . */ $value;
382
  }
383
  }
@@ -706,6 +756,19 @@ if ( ! function_exists( 'is_shop_manager' ) ) {
706
  }
707
  }
708
 
 
 
 
 
 
 
 
 
 
 
 
 
 
709
  /**
710
  * wcj_get_current_user_first_role.
711
  *
4
  *
5
  * The WooCommerce Jetpack Functions.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
11
+ if ( ! function_exists( 'wcj_get_currency_exchange_rate_product_base_currency' ) ) {
12
+ /**
13
+ * wcj_get_currency_exchange_rate_product_base_currency.
14
+ *
15
+ * @version 2.5.6
16
+ * @since 2.5.6
17
+ */
18
+ function wcj_get_currency_exchange_rate_product_base_currency( $currency_code ) {
19
+ $currency_exchange_rate = 1;
20
+ $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_multicurrency_base_price_total_number', 1 ) );
21
+ for ( $i = 1; $i <= $total_number; $i++ ) {
22
+ if ( $currency_code === get_option( 'wcj_multicurrency_base_price_currency_' . $i ) ) {
23
+ $currency_exchange_rate = get_option( 'wcj_multicurrency_base_price_exchange_rate_' . $i );
24
+ break;
25
+ }
26
+ }
27
+ return $currency_exchange_rate;
28
+ }
29
+ }
30
+
31
+ if ( ! function_exists( 'wcj_price_by_product_base_currency' ) ) {
32
+ /**
33
+ * wcj_price_by_product_base_currency.
34
+ *
35
+ * @version 2.5.6
36
+ * @since 2.5.6
37
+ */
38
+ function wcj_price_by_product_base_currency( $price, $product_id ) {
39
+ $multicurrency_base_price_currency = get_post_meta( $product_id, '_' . 'wcj_multicurrency_base_price_currency', true );
40
+ if ( '' != $multicurrency_base_price_currency ) {
41
+ if ( 1 != ( $currency_exchange_rate = wcj_get_currency_exchange_rate_product_base_currency( $multicurrency_base_price_currency ) ) ) {
42
+ return $price / $currency_exchange_rate;
43
+ }
44
+ }
45
+ return $price;
46
+ }
47
+ }
48
+
49
  if ( ! function_exists( 'wcj_price_by_country' ) ) {
50
  /**
51
  * wcj_price_by_country.
157
  /**
158
  * wcj_update_products_price_by_country_for_single_product.
159
  *
160
+ * @version 2.5.6
161
  * @since 2.5.3
162
  */
163
  function wcj_update_products_price_by_country_for_single_product( $product_id ) {
170
  foreach ( $available_variations as $variation ) {
171
  $variation_product_id = $variation['variation_id'];
172
  $_old_variation_price = get_post_meta( $variation_product_id, '_price', true );
173
+ if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
174
+ $_old_variation_price = wcj_price_by_product_base_currency( $_old_variation_price, $product_id );
175
+ }
176
  $price_by_country = wcj_price_by_country( $_old_variation_price, $variation_product_id, $i, 'woocommerce_get_price' );
177
  update_post_meta( $variation_product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
178
  if ( '' != $price_by_country && $price_by_country < $min_variation_price ) {
190
  }
191
  } else {
192
  $_old_price = get_post_meta( $product_id, '_price', true );
193
+ if ( wcj_is_module_enabled( 'multicurrency_base_price' ) ) {
194
+ $_old_price = wcj_price_by_product_base_currency( $_old_price, $product_id );
195
+ }
196
  for ( $i = 1; $i <= apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_price_by_country_total_groups_number', 1 ) ); $i++ ) {
197
  $price_by_country = wcj_price_by_country( $_old_price, $product_id, $i, 'woocommerce_get_price' );
198
  update_post_meta( $product_id, '_' . 'wcj_price_by_country_' . $i, $price_by_country );
413
  /*
414
  * wcj_get_product_input_fields.
415
  *
416
+ * @version 2.5.6
417
  * @since 2.4.4
418
  * @return string
419
  */
422
  $product_input_fields = array();
423
  foreach ( $item as $key => $value ) {
424
  if ( false !== strpos( $key, 'wcj_product_input_fields_' ) ) {
425
+ if ( is_serialized( $value ) ) {
426
+ $value = unserialize( $value );
427
+ if ( is_array( $value ) ) {
428
+ $value = implode( ' ', $value );
429
+ }
430
+ }
431
  $product_input_fields[] = /* $key . ': ' . */ $value;
432
  }
433
  }
756
  }
757
  }
758
 
759
+ /**
760
+ * wcj_get_current_user_all_roles.
761
+ *
762
+ * @version 2.5.6
763
+ * @since 2.5.6
764
+ */
765
+ if ( ! function_exists( 'wcj_get_current_user_all_roles' ) ) {
766
+ function wcj_get_current_user_all_roles() {
767
+ $current_user = wp_get_current_user();
768
+ return ( ! empty( $current_user->roles ) ) ? $current_user->roles : array( 'guest' );
769
+ }
770
+ }
771
+
772
  /**
773
  * wcj_get_current_user_first_role.
774
  *
includes/gateways/class-wc-gateway-wcj-custom.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Custom Payment Gateway class.
6
  *
7
- * @version 2.5.2
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -16,6 +16,11 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
16
 
17
  if ( class_exists( 'WC_Payment_Gateway' ) ) {
18
 
 
 
 
 
 
19
  class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
20
 
21
  /**
@@ -31,7 +36,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
31
  /**
32
  * Initialise Gateway Settings Form Fields
33
  *
34
- * @version 2.5.2
35
  */
36
  public function init_form_fields() {
37
  global $woocommerce;
@@ -104,7 +109,7 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
104
  'min_amount' => array(
105
  'title' => __( 'Minimum order amount', 'woocommerce-jetpack' ),
106
  'type' => 'number',
107
- 'desc_tip' => __( 'If you want to set minimum order amount to show this gateway on frontend, enter a number here. Set to 0 to disable.', 'woocommerce-jetpack' ),
108
  'default' => 0,
109
  'description' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
110
  'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
@@ -184,14 +189,16 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
184
  /**
185
  * Check If The Gateway Is Available For Use
186
  *
187
- * @version 2.3.9
188
  * @return bool
189
  */
190
  public function is_available() {
 
191
  // Check min amount
192
  $min_amount = apply_filters( 'wcj_get_option_filter', 0, $this->min_amount );
193
- if ( $min_amount > 0 ) {
194
- if ( WC()->cart->total < $min_amount )
 
195
  return false;
196
  }
197
 
@@ -375,35 +382,21 @@ if ( ! function_exists( 'init_wc_gateway_wcj_custom_class' ) ) {
375
  }
376
  }
377
 
378
- class WC_Gateway_WCJ_Custom extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 1 ); } } // required
379
- class WC_Gateway_WCJ_Custom_2 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 2 ); } }
380
- class WC_Gateway_WCJ_Custom_3 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 3 ); } }
381
- class WC_Gateway_WCJ_Custom_4 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 4 ); } }
382
- class WC_Gateway_WCJ_Custom_5 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 5 ); } }
383
- class WC_Gateway_WCJ_Custom_6 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 6 ); } }
384
- class WC_Gateway_WCJ_Custom_7 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 7 ); } }
385
- class WC_Gateway_WCJ_Custom_8 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 8 ); } }
386
- class WC_Gateway_WCJ_Custom_9 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 9 ); } }
387
- class WC_Gateway_WCJ_Custom_10 extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( 10 ); } }
388
  function add_wc_gateway_wcj_custom_classes( $methods ) {
389
- $methods[] = 'WC_Gateway_WCJ_Custom'; // required
390
- $the_number = apply_filters( 'wcj_get_option_filter', 0, get_option( 'wcj_custom_payment_gateways_number' ) );
391
- if ( $the_number > 10 ) $the_number = 10;
392
- for ( $i = 2; $i <= $the_number; $i++ )
393
- $methods[] = 'WC_Gateway_WCJ_Custom_' . $i;
394
- return $methods;
395
- }
396
- add_filter( 'woocommerce_payment_gateways', 'add_wc_gateway_wcj_custom_classes' );
397
-
398
- /* function add_wc_gateway_wcj_custom_classes( $methods ) {
399
- for ( $i = 1; $i <= apply_filters( 'wcj_get_option_filter', 0, get_option( 'wcj_custom_payment_gateways_number' ) ); $i++ ) {
400
- $class_name = ( 1 === $i ) ? 'WC_Gateway_WCJ_Custom' : 'WC_Gateway_WCJ_Custom_' . $i;
401
- eval( 'class ' . $class_name . ' extends WC_Gateway_WCJ_Custom_Template { public function __construct() { $this->init( ' . $i . ' ); } }' );
402
- $methods[] = $class_name;
403
  }
404
  return $methods;
405
  }
406
- add_filter( 'woocommerce_payment_gateways', 'add_wc_gateway_wcj_custom_classes' ); */
407
  }
408
  }
409
  }
4
  *
5
  * The WooCommerce Jetpack Custom Payment Gateway class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
16
 
17
  if ( class_exists( 'WC_Payment_Gateway' ) ) {
18
 
19
+ /**
20
+ * WC_Gateway_WCJ_Custom_Template class.
21
+ *
22
+ * @version 2.5.6
23
+ */
24
  class WC_Gateway_WCJ_Custom_Template extends WC_Payment_Gateway {
25
 
26
  /**
36
  /**
37
  * Initialise Gateway Settings Form Fields
38
  *
39
+ * @version 2.5.6
40
  */
41
  public function init_form_fields() {
42
  global $woocommerce;
109
  'min_amount' => array(
110
  'title' => __( 'Minimum order amount', 'woocommerce-jetpack' ),
111
  'type' => 'number',
112
+ 'desc_tip' => __( 'If you want to set minimum order amount (excluding fees) to show this gateway on frontend, enter a number here. Set to 0 to disable.', 'woocommerce-jetpack' ),
113
  'default' => 0,
114
  'description' => apply_filters( 'get_wc_jetpack_plus_message', '', 'desc' ),
115
  'custom_attributes' => apply_filters( 'get_wc_jetpack_plus_message', '', 'disabled' ),
189
  /**
190
  * Check If The Gateway Is Available For Use
191
  *
192
+ * @version 2.5.6
193
  * @return bool
194
  */
195
  public function is_available() {
196
+
197
  // Check min amount
198
  $min_amount = apply_filters( 'wcj_get_option_filter', 0, $this->min_amount );
199
+ if ( $min_amount > 0 && isset( WC()->cart->total ) && '' != WC()->cart->total && isset( WC()->cart->fee_total ) ) {
200
+ $total_excluding_fees = WC()->cart->total - WC()->cart->fee_total;
201
+ if ( $total_excluding_fees < $min_amount )
202
  return false;
203
  }
204
 
382
  }
383
  }
384
 
385
+ /**
386
+ * add_wc_gateway_wcj_custom_classes.
387
+ *
388
+ * @version 2.5.6
389
+ */
 
 
 
 
 
390
  function add_wc_gateway_wcj_custom_classes( $methods ) {
391
+ $the_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_custom_payment_gateways_number', 1 ) );
392
+ for ( $i = 1; $i <= $the_number; $i++ ) {
393
+ $the_method = new WC_Gateway_WCJ_Custom_Template();
394
+ $the_method->init( $i );
395
+ $methods[] = $the_method;
 
 
 
 
 
 
 
 
 
396
  }
397
  return $methods;
398
  }
399
+ add_filter( 'woocommerce_payment_gateways', 'add_wc_gateway_wcj_custom_classes' );
400
  }
401
  }
402
  }
includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack PDF Invoicing Display class.
6
  *
7
- * @version 2.5.2
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -237,7 +237,7 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
237
  /**
238
  * get_settings.
239
  *
240
- * @version 2.5.2
241
  * @todo "edit order" metabox;
242
  */
243
  function get_settings() {
@@ -344,7 +344,7 @@ class WCJ_PDF_Invoicing_Display extends WCJ_Module {
344
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
345
  'desc_tip' => __( 'Enable "save as" pdf instead of view pdf in browser', 'woocommerce-jetpack' ),
346
  'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_save_as_enabled',
347
- 'default' => 'yes',
348
  'type' => 'checkbox',
349
  ),
350
 
4
  *
5
  * The WooCommerce Jetpack PDF Invoicing Display class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
237
  /**
238
  * get_settings.
239
  *
240
+ * @version 2.5.6
241
  * @todo "edit order" metabox;
242
  */
243
  function get_settings() {
344
  'desc' => __( 'Enable', 'woocommerce-jetpack' ),
345
  'desc_tip' => __( 'Enable "save as" pdf instead of view pdf in browser', 'woocommerce-jetpack' ),
346
  'id' => 'wcj_invoicing_' . $invoice_type['id'] . '_save_as_enabled',
347
+ 'default' => 'no',
348
  'type' => 'checkbox',
349
  ),
350
 
includes/price-by-country/class-wcj-price-by-country-core.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Price by Country Core class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,17 +17,30 @@ class WCJ_Price_by_Country_Core {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.4
21
  */
22
  public function __construct() {
23
  $this->customer_country_group_id = null;
24
- $this->add_hooks();
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  }
26
 
27
  /**
28
  * add_hooks.
29
  *
30
- * @version 2.5.4
31
  */
32
  function add_hooks() {
33
 
@@ -77,8 +90,9 @@ class WCJ_Price_by_Country_Core {
77
 
78
  // Price Filter Widget
79
  if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
80
- add_filter( 'woocommerce_price_filter_meta_keys', array( $this, 'price_filter_meta_keys' ), PHP_INT_MAX, 1 );
81
- add_filter( 'woocommerce_product_query_meta_query', array( $this, 'price_filter_meta_query' ), PHP_INT_MAX, 2 );
 
82
  }
83
  }
84
 
@@ -94,6 +108,27 @@ class WCJ_Price_by_Country_Core {
94
  wp_enqueue_script( 'wcj-wcj-wSelect', wcj_plugin_url() . '/includes/js/wcj-wSelect.js', array(), false, true );
95
  }
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  /**
98
  * price_filter_meta_query.
99
  *
@@ -198,7 +233,7 @@ class WCJ_Price_by_Country_Core {
198
  /**
199
  * get_customer_country_group_id.
200
  *
201
- * @version 2.5.5
202
  */
203
  public function get_customer_country_group_id() {
204
 
@@ -215,12 +250,12 @@ class WCJ_Price_by_Country_Core {
215
  // Get the country
216
  if ( isset( $_GET['country'] ) && '' != $_GET['country'] && wcj_is_user_role( 'administrator' ) ) {
217
  $country = $_GET['country'];
218
- } elseif ( 'yes' === get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' )
219
  /* && is_checkout() */
220
  && isset( WC()->customer )
221
- && '' != WC()->customer->get_country()
222
  ) {
223
- $country = WC()->customer->get_country();
224
  } else {
225
  if ( 'by_ip' === get_option( 'wcj_price_by_country_customer_country_detection_method', 'by_ip' ) ) {
226
  $country = $this->get_customer_country_by_ip();
4
  *
5
  * The WooCommerce Jetpack Price by Country Core class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
  $this->customer_country_group_id = null;
24
+ if ( 'no' === get_option( 'wcj_price_by_country_for_bots_disabled', 'no' ) || ! $this->is_bot() ) {
25
+ // `add_hooks()` moved to `init` hook, so in case we need to call `get_customer_country_by_ip()` `WC_Geolocation` class is ready
26
+ add_action( 'init', array( $this, 'add_hooks' ) );
27
+ }
28
+ }
29
+
30
+ /**
31
+ * is_bot.
32
+ *
33
+ * @version 2.5.6
34
+ * @since 2.5.6
35
+ */
36
+ function is_bot() {
37
+ return ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/Google-Structured-Data-Testing-Tool|bot|crawl|slurp|spider/i', $_SERVER['HTTP_USER_AGENT'] ) ) ? true : false;
38
  }
39
 
40
  /**
41
  * add_hooks.
42
  *
43
+ * @version 2.5.6
44
  */
45
  function add_hooks() {
46
 
90
 
91
  // Price Filter Widget
92
  if ( 'yes' === get_option( 'wcj_price_by_country_price_filter_widget_support_enabled', 'no' ) ) {
93
+ add_filter( 'woocommerce_price_filter_meta_keys', array( $this, 'price_filter_meta_keys' ), PHP_INT_MAX, 1 );
94
+ add_filter( 'woocommerce_product_query_meta_query', array( $this, 'price_filter_meta_query' ), PHP_INT_MAX, 2 );
95
+ add_filter( 'woocommerce_get_catalog_ordering_args', array( $this, 'sorting_by_price_fix' ), PHP_INT_MAX ); // Sorting
96
  }
97
  }
98
 
108
  wp_enqueue_script( 'wcj-wcj-wSelect', wcj_plugin_url() . '/includes/js/wcj-wSelect.js', array(), false, true );
109
  }
110
 
111
+ /*
112
+ * sorting_by_price_fix.
113
+ *
114
+ * @version 2.5.6
115
+ * @since 2.5.6
116
+ */
117
+ function sorting_by_price_fix( $args ) {
118
+ if ( null != ( $group_id = $this->get_customer_country_group_id() ) ) {
119
+ // Get ordering from query string
120
+ $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
121
+ // Get orderby arg from string
122
+ $orderby_value = explode( '-', $orderby_value );
123
+ $orderby = esc_attr( $orderby_value[0] );
124
+ $orderby = strtolower( $orderby );
125
+ if ( 'price' == $orderby ) {
126
+ $args['meta_key'] = '_' . 'wcj_price_by_country_' . $group_id;
127
+ }
128
+ }
129
+ return $args;
130
+ }
131
+
132
  /**
133
  * price_filter_meta_query.
134
  *
233
  /**
234
  * get_customer_country_group_id.
235
  *
236
+ * @version 2.5.6
237
  */
238
  public function get_customer_country_group_id() {
239
 
250
  // Get the country
251
  if ( isset( $_GET['country'] ) && '' != $_GET['country'] && wcj_is_user_role( 'administrator' ) ) {
252
  $country = $_GET['country'];
253
+ } elseif ( 'no' != ( $override_option = get_option( 'wcj_price_by_country_override_on_checkout_with_billing_country', 'no' ) )
254
  /* && is_checkout() */
255
  && isset( WC()->customer )
256
+ && ( ( 'yes' === $override_option && '' != WC()->customer->get_country() ) || ( 'shipping_country' === $override_option && '' != WC()->customer->get_shipping_country() ) )
257
  ) {
258
+ $country = ( 'yes' === $override_option ) ? WC()->customer->get_country() : WC()->customer->get_shipping_country();
259
  } else {
260
  if ( 'by_ip' === get_option( 'wcj_price_by_country_customer_country_detection_method', 'by_ip' ) ) {
261
  $country = $this->get_customer_country_by_ip();
includes/reports/wcj-class-reports-sales.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Sales Reports class.
6
  *
7
- * @version 2.3.9
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -58,21 +58,18 @@ class WCJ_Reports_Sales {
58
  /*
59
  * get_products_sales.
60
  *
61
- * @version 2.3.9
62
  * @since 2.3.0
63
  */
64
  function get_products_sales() {
65
 
66
  $products_data = array();
67
-
68
  $years = array();
69
-
70
  $total_orders = 0;
71
 
72
  $offset = 0;
73
- $block_size = 96;
74
  while( true ) {
75
-
76
  $args_orders = array(
77
  'post_type' => 'shop_order',
78
  'post_status' => 'wc-completed',
@@ -85,47 +82,38 @@ class WCJ_Reports_Sales {
85
  'year' => $this->year,
86
  ),
87
  ),
 
88
  );
89
  $loop_orders = new WP_Query( $args_orders );
90
- if ( ! $loop_orders->have_posts() ) break;
91
- while ( $loop_orders->have_posts() ) : $loop_orders->the_post();
92
-
93
- $order_id = $loop_orders->post->ID;
94
- $order = new WC_Order( $order_id );
95
  $items = $order->get_items();
96
  foreach ( $items as $item ) {
97
-
98
  if ( ! isset( $products_data[ $item['product_id'] ][ 'sales' ] ) ) {
99
  $products_data[ $item['product_id'] ][ 'sales' ] = 0;
100
  }
101
  $products_data[ $item['product_id'] ][ 'sales' ] += $item['qty'];
102
-
103
- $month = date( 'n', get_the_time( 'U' ) );
104
- $year = date( 'Y', get_the_time( 'U' ) );
105
  $years[ $year ] = true;
106
  if ( ! isset( $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] ) ) {
107
  $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] = 0;
108
  }
109
  $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] += $item['qty'];
110
-
111
  if ( ! isset( $products_data[ $item['product_id'] ][ 'title' ] ) ) {
112
  $products_data[ $item['product_id'] ][ 'title' ] = get_the_title( $item['product_id'] );
113
  }
114
-
115
  if ( ! isset( $products_data[ $item['product_id'] ][ 'last_sale' ] ) ) {
116
- $products_data[ $item['product_id'] ][ 'last_sale' ] = date( 'Y-m-d H:i:s', get_the_time( 'U' ) );
117
  }
118
-
119
  }
120
-
121
  $total_orders++;
122
-
123
- endwhile;
124
-
125
  $offset += $block_size;
126
-
127
  }
128
-
129
  usort( $products_data, array( $this, 'sort_by_total_sales' ) );
130
 
131
  $table_data = array();
4
  *
5
  * The WooCommerce Jetpack Sales Reports class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
58
  /*
59
  * get_products_sales.
60
  *
61
+ * @version 2.5.6
62
  * @since 2.3.0
63
  */
64
  function get_products_sales() {
65
 
66
  $products_data = array();
 
67
  $years = array();
 
68
  $total_orders = 0;
69
 
70
  $offset = 0;
71
+ $block_size = 512;
72
  while( true ) {
 
73
  $args_orders = array(
74
  'post_type' => 'shop_order',
75
  'post_status' => 'wc-completed',
82
  'year' => $this->year,
83
  ),
84
  ),
85
+ 'fields' => 'ids',
86
  );
87
  $loop_orders = new WP_Query( $args_orders );
88
+ if ( ! $loop_orders->have_posts() ) {
89
+ break;
90
+ }
91
+ foreach ( $loop_orders->posts as $order_id ) {
92
+ $order = wc_get_order( $order_id );
93
  $items = $order->get_items();
94
  foreach ( $items as $item ) {
 
95
  if ( ! isset( $products_data[ $item['product_id'] ][ 'sales' ] ) ) {
96
  $products_data[ $item['product_id'] ][ 'sales' ] = 0;
97
  }
98
  $products_data[ $item['product_id'] ][ 'sales' ] += $item['qty'];
99
+ $month = date( 'n', get_the_time( 'U', $order_id ) );
100
+ $year = date( 'Y', get_the_time( 'U', $order_id ) );
 
101
  $years[ $year ] = true;
102
  if ( ! isset( $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] ) ) {
103
  $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] = 0;
104
  }
105
  $products_data[ $item['product_id'] ][ 'sales_by_month' ][ $year ][ $month ] += $item['qty'];
 
106
  if ( ! isset( $products_data[ $item['product_id'] ][ 'title' ] ) ) {
107
  $products_data[ $item['product_id'] ][ 'title' ] = get_the_title( $item['product_id'] );
108
  }
 
109
  if ( ! isset( $products_data[ $item['product_id'] ][ 'last_sale' ] ) ) {
110
+ $products_data[ $item['product_id'] ][ 'last_sale' ] = date( 'Y-m-d H:i:s', get_the_time( 'U', $order_id ) );
111
  }
 
112
  }
 
113
  $total_orders++;
114
+ }
 
 
115
  $offset += $block_size;
 
116
  }
 
117
  usort( $products_data, array( $this, 'sort_by_total_sales' ) );
118
 
119
  $table_data = array();
includes/shipping/class-wc-shipping-wcj-custom-with-shipping-zones.php ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WooCommerce Jetpack Custom Shipping with Shipping Zones
4
+ *
5
+ * The WooCommerce Jetpack Custom Shipping with Shipping Zones class.
6
+ *
7
+ * @version 2.5.6
8
+ * @since 2.5.6
9
+ * @author Algoritmika Ltd.
10
+ */
11
+
12
+ add_action( 'woocommerce_shipping_init', 'init_wc_shipping_wcj_custom_w_zones_class' );
13
+
14
+ if ( ! function_exists( 'init_wc_shipping_wcj_custom_w_zones_class' ) ) {
15
+
16
+ function init_wc_shipping_wcj_custom_w_zones_class() {
17
+
18
+ if ( class_exists( 'WC_Shipping_Method' ) ) {
19
+
20
+ /*
21
+ * WC_Shipping_WCJ_Custom_W_Zones class.
22
+ *
23
+ * @version 2.5.6
24
+ * @since 2.5.6
25
+ */
26
+ class WC_Shipping_WCJ_Custom_W_Zones extends WC_Shipping_Method {
27
+
28
+ /**
29
+ * Constructor shipping class
30
+ *
31
+ * @version 2.5.6
32
+ * @since 2.5.6
33
+ * @access public
34
+ * @return void
35
+ */
36
+ function __construct( $instance_id = 0 ) {
37
+ $this->init( $instance_id );
38
+ }
39
+
40
+ /**
41
+ * Init settings
42
+ *
43
+ * @version 2.5.6
44
+ * @since 2.5.6
45
+ * @access public
46
+ * @return void
47
+ */
48
+ function init( $instance_id ) {
49
+
50
+ $this->id = 'booster_custom_shipping_w_zones';
51
+ $this->method_title = get_option( 'wcj_shipping_custom_shipping_w_zones_admin_title', __( 'Booster: Custom Shipping', 'woocommerce-jetpack' ) );
52
+ $this->method_description = __( 'Booster: Custom Shipping Method', 'woocommerce-jetpack' );
53
+
54
+ $this->instance_id = absint( $instance_id );
55
+ $this->supports = array(
56
+ 'shipping-zones',
57
+ 'instance-settings',
58
+ 'instance-settings-modal',
59
+ );
60
+
61
+ // Load the settings.
62
+ $this->init_instance_form_fields();
63
+ // $this->init_settings();
64
+
65
+ // Define user set variables
66
+ $this->title = $this->get_option( 'title' );
67
+ $this->cost = $this->get_option( 'cost' );
68
+ $this->type = $this->get_option( 'type' );
69
+ $this->weight_table_total_rows = $this->get_option( 'weight_table_total_rows' );
70
+ for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
71
+ $option_name = 'weight_table_weight_row_' . $i;
72
+ $this->{$option_name} = $this->get_option( $option_name );
73
+ $option_name = 'weight_table_cost_row_' . $i;
74
+ $this->{$option_name} = $this->get_option( $option_name );
75
+ }
76
+
77
+ // Save settings in admin
78
+ add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
79
+ }
80
+
81
+ /**
82
+ * Initialise Settings Form Fields
83
+ *
84
+ * @version 2.5.6
85
+ * @since 2.5.6
86
+ */
87
+ function init_instance_form_fields() {
88
+ $this->instance_form_fields = array(
89
+ 'title' => array(
90
+ 'title' => __( 'Title', 'woocommerce' ),
91
+ 'type' => 'text',
92
+ 'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce' ),
93
+ 'default' => __( 'Custom Shipping', 'woocommerce-jetpack' ),
94
+ 'desc_tip' => true,
95
+ ),
96
+ 'type' => array(
97
+ 'title' => __( 'Type', 'woocommerce' ),
98
+ 'type' => 'select',
99
+ 'description' => __( 'Cost calculation type.', 'woocommerce-jetpack' ),
100
+ 'default' => 'flat_rate',
101
+ 'desc_tip' => true,
102
+ 'options' => array(
103
+ 'flat_rate' => __( 'Flat Rate', 'woocommerce-jetpack' ),
104
+ 'by_total_cart_weight' => __( 'By Total Cart Weight', 'woocommerce-jetpack' ),
105
+ 'by_total_cart_weight_table' => __( 'By Total Cart Weight Table', 'woocommerce-jetpack' ),
106
+ 'by_total_cart_quantity' => __( 'By Total Cart Quantity', 'woocommerce-jetpack' ),
107
+ ),
108
+ ),
109
+ 'cost' => array(
110
+ 'title' => __( 'Cost', 'woocommerce' ),
111
+ 'type' => 'number',
112
+ 'description' => __( 'Cost. If calculating by weight - then cost per one weight unit. If calculating by quantity - then cost per one piece.', 'woocommerce-jetpack' ),
113
+ 'default' => 0,
114
+ 'desc_tip' => true,
115
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0', ),
116
+ ),
117
+ 'weight_table_total_rows' => array(
118
+ 'title' => __( 'Weight Table Total Rows', 'woocommerce' ),
119
+ 'type' => 'number',
120
+ 'description' => __( 'Press Save changes after you change this number.', 'woocommerce-jetpack' ),
121
+ 'default' => 0,
122
+ 'desc_tip' => true,
123
+ 'custom_attributes' => array( 'min' => '0', ),
124
+ ),
125
+ );
126
+ for ( $i = 1; $i <= $this->get_option( 'weight_table_total_rows' ); $i++ ) {
127
+ $this->instance_form_fields = array_merge( $this->instance_form_fields, array(
128
+ 'weight_table_weight_row_' . $i => array(
129
+ 'title' => __( 'Max Weight', 'woocommerce' ) . ' #' . $i,
130
+ 'type' => 'number',
131
+ 'default' => 0,
132
+ 'desc_tip' => true,
133
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0', ),
134
+ ),
135
+ 'weight_table_cost_row_' . $i => array(
136
+ 'title' => __( 'Cost', 'woocommerce' ) . ' #' . $i,
137
+ 'type' => 'number',
138
+ 'default' => 0,
139
+ 'desc_tip' => true,
140
+ 'custom_attributes' => array( 'step' => '0.000001', 'min' => '0', ),
141
+ ),
142
+ ) );
143
+ }
144
+ }
145
+
146
+ /**
147
+ * calculate_shipping_by_weight_table.
148
+ *
149
+ * @version 2.5.6
150
+ * @since 2.5.6
151
+ */
152
+ function calculate_shipping_by_weight_table( $weight ) {
153
+ if ( 0 == $this->weight_table_total_rows ) {
154
+ return $this->cost * $weight; // fallback
155
+ }
156
+ $option_name_weight = $option_name_cost = '';
157
+ for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
158
+ $option_name_weight = 'weight_table_weight_row_' . $i;
159
+ $option_name_cost = 'weight_table_cost_row_' . $i;
160
+ if ( $weight <= $this->{$option_name_weight} ) {
161
+ return $this->{$option_name_cost};
162
+ }
163
+ }
164
+ return $this->{$option_name_cost}; // fallback - last row
165
+ }
166
+
167
+ /**
168
+ * calculate_shipping function.
169
+ *
170
+ * @version 2.5.6
171
+ * @since 2.5.6
172
+ * @access public
173
+ * @param mixed $package
174
+ * @return void
175
+ */
176
+ function calculate_shipping( $package = array() ) {
177
+ switch ( $this->type ) {
178
+ case 'by_total_cart_quantity':
179
+ $cart_quantity = 0;
180
+ foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
181
+ $cart_quantity += $values['quantity'];
182
+ }
183
+ $cost = $this->cost * $cart_quantity;
184
+ break;
185
+ case 'by_total_cart_weight':
186
+ $cost = $this->cost * WC()->cart->get_cart_contents_weight();
187
+ break;
188
+ case 'by_total_cart_weight_table':
189
+ $cost = $this->calculate_shipping_by_weight_table( WC()->cart->get_cart_contents_weight() );
190
+ break;
191
+ default: // 'flat_rate'
192
+ $cost = $this->cost;
193
+ break;
194
+ }
195
+ $rate = array(
196
+ 'id' => $this->id,
197
+ 'label' => $this->title,
198
+ 'cost' => $cost,
199
+ 'calc_tax' => 'per_order',
200
+ );
201
+ // Register the rate
202
+ $this->add_rate( $rate );
203
+ }
204
+ }
205
+
206
+ /*
207
+ * add_wc_shipping_wcj_custom_w_zones_class.
208
+ *
209
+ * @version 2.5.6
210
+ * @since 2.5.6
211
+ */
212
+ function add_wc_shipping_wcj_custom_w_zones_class( $methods ) {
213
+ $methods[ 'booster_custom_shipping_w_zones' ] = 'WC_Shipping_WCJ_Custom_W_Zones';
214
+ return $methods;
215
+ }
216
+ add_filter( 'woocommerce_shipping_methods', 'add_wc_shipping_wcj_custom_w_zones_class' );
217
+ }
218
+ }
219
+ }
includes/shipping/class-wc-shipping-wcj-custom.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Custom Shipping class.
6
  *
7
- * @version 2.5.3
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
@@ -17,6 +17,9 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
17
 
18
  if ( class_exists( 'WC_Shipping_Method' ) ) {
19
 
 
 
 
20
  class WC_Shipping_WCJ_Custom_Template extends WC_Shipping_Method {
21
 
22
  /**
@@ -31,7 +34,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
31
  /**
32
  * Init settings
33
  *
34
- * @version 2.5.2
35
  * @access public
36
  * @return void
37
  */
@@ -53,9 +56,9 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
53
  $this->weight_table_total_rows = $this->get_option( 'weight_table_total_rows' );
54
  for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
55
  $option_name = 'weight_table_weight_row_' . $i;
56
- $this->$option_name = $this->get_option( $option_name );
57
  $option_name = 'weight_table_cost_row_' . $i;
58
- $this->$option_name = $this->get_option( $option_name );
59
  }
60
 
61
  // Save settings in admin
@@ -135,7 +138,7 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
135
  /**
136
  * calculate_shipping_by_weight_table.
137
  *
138
- * @version 2.5.2
139
  * @since 2.5.2
140
  */
141
  function calculate_shipping_by_weight_table( $weight ) {
@@ -146,11 +149,11 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
146
  for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
147
  $option_name_weight = 'weight_table_weight_row_' . $i;
148
  $option_name_cost = 'weight_table_cost_row_' . $i;
149
- if ( $weight <= $this->$option_name_weight ) {
150
- return $this->$option_name_cost;
151
  }
152
  }
153
- return $this->$option_name_cost; // fallback - last row
154
  }
155
 
156
  /**
@@ -191,24 +194,17 @@ if ( ! function_exists( 'init_wc_shipping_wcj_custom_class' ) ) {
191
  }
192
  }
193
 
194
- class WC_Shipping_WCJ_Custom_1 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 1 ); } }
195
- class WC_Shipping_WCJ_Custom_2 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 2 ); } }
196
- class WC_Shipping_WCJ_Custom_3 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 3 ); } }
197
- class WC_Shipping_WCJ_Custom_4 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 4 ); } }
198
- class WC_Shipping_WCJ_Custom_5 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 5 ); } }
199
- class WC_Shipping_WCJ_Custom_6 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 6 ); } }
200
- class WC_Shipping_WCJ_Custom_7 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 7 ); } }
201
- class WC_Shipping_WCJ_Custom_8 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 8 ); } }
202
- class WC_Shipping_WCJ_Custom_9 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 9 ); } }
203
- class WC_Shipping_WCJ_Custom_10 extends WC_Shipping_WCJ_Custom_Template { public function __construct() { $this->init( 10 ); } }
204
-
205
  /*
206
  * add_wc_shipping_wcj_custom_class.
 
 
207
  */
208
  function add_wc_shipping_wcj_custom_class( $methods ) {
209
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_shipping_custom_shipping_total_number', 1 ) );
210
  for ( $i = 1; $i <= $total_number; $i++ ) {
211
- $methods[] = 'WC_Shipping_WCJ_Custom_' . $i;
 
 
212
  }
213
  return $methods;
214
  }
4
  *
5
  * The WooCommerce Jetpack Custom Shipping class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.4.8
9
  * @author Algoritmika Ltd.
10
  */
17
 
18
  if ( class_exists( 'WC_Shipping_Method' ) ) {
19
 
20
+ /*
21
+ * WC_Shipping_WCJ_Custom_Template class.
22
+ */
23
  class WC_Shipping_WCJ_Custom_Template extends WC_Shipping_Method {
24
 
25
  /**
34
  /**
35
  * Init settings
36
  *
37
+ * @version 2.5.6
38
  * @access public
39
  * @return void
40
  */
56
  $this->weight_table_total_rows = $this->get_option( 'weight_table_total_rows' );
57
  for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
58
  $option_name = 'weight_table_weight_row_' . $i;
59
+ $this->{$option_name} = $this->get_option( $option_name );
60
  $option_name = 'weight_table_cost_row_' . $i;
61
+ $this->{$option_name} = $this->get_option( $option_name );
62
  }
63
 
64
  // Save settings in admin
138
  /**
139
  * calculate_shipping_by_weight_table.
140
  *
141
+ * @version 2.5.6
142
  * @since 2.5.2
143
  */
144
  function calculate_shipping_by_weight_table( $weight ) {
149
  for ( $i = 1; $i <= $this->weight_table_total_rows; $i++ ) {
150
  $option_name_weight = 'weight_table_weight_row_' . $i;
151
  $option_name_cost = 'weight_table_cost_row_' . $i;
152
+ if ( $weight <= $this->{$option_name_weight} ) {
153
+ return $this->{$option_name_cost};
154
  }
155
  }
156
+ return $this->{$option_name_cost}; // fallback - last row
157
  }
158
 
159
  /**
194
  }
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
197
  /*
198
  * add_wc_shipping_wcj_custom_class.
199
+ *
200
+ * @version 2.5.6
201
  */
202
  function add_wc_shipping_wcj_custom_class( $methods ) {
203
  $total_number = apply_filters( 'wcj_get_option_filter', 1, get_option( 'wcj_shipping_custom_shipping_total_number', 1 ) );
204
  for ( $i = 1; $i <= $total_number; $i++ ) {
205
+ $the_method = new WC_Shipping_WCJ_Custom_Template();
206
+ $the_method->init( $i );
207
+ $methods[ $the_method->id ] = $the_method;
208
  }
209
  return $methods;
210
  }
includes/shortcodes/class-wcj-general-shortcodes.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack General Shortcodes class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,7 +17,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.4
21
  */
22
  public function __construct() {
23
 
@@ -48,6 +48,8 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
48
  'content' => '',
49
  'heading_format' => 'from %level_qty% pcs.',
50
  'replace_with_currency' => 'no',
 
 
51
  );
52
 
53
  parent::__construct();
@@ -82,7 +84,7 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
82
  /**
83
  * wcj_wholesale_price_table (global only).
84
  *
85
- * @version 2.5.5
86
  * @since 2.4.8
87
  */
88
  function wcj_wholesale_price_table( $atts ) {
@@ -115,6 +117,9 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
115
  $data_discount = array();
116
  $columns_styles = array();
117
  foreach ( $wholesale_price_levels as $wholesale_price_level ) {
 
 
 
118
  $data_qty[] = str_replace( '%level_qty%', $wholesale_price_level['quantity'], $atts['heading_format'] ) ;
119
  $data_discount[] = ( 'fixed' === get_option( 'wcj_wholesale_price_discount_type', 'percent' ) )
120
  ? '-' . wc_price( $wholesale_price_level['discount'] ) : '-' . $wholesale_price_level['discount'] . '%';
@@ -122,7 +127,18 @@ class WCJ_General_Shortcodes extends WCJ_Shortcodes {
122
  }
123
 
124
  $table_rows = array( $data_qty, $data_discount, );
125
- return wcj_get_table_html( $table_rows, array( 'table_class' => 'wcj_wholesale_price_table', 'columns_styles' => $columns_styles ) );
 
 
 
 
 
 
 
 
 
 
 
126
  }
127
 
128
  /**
4
  *
5
  * The WooCommerce Jetpack General Shortcodes class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
48
  'content' => '',
49
  'heading_format' => 'from %level_qty% pcs.',
50
  'replace_with_currency' => 'no',
51
+ 'hide_if_zero_quantity' => 'no',
52
+ 'table_format' => 'horizontal',
53
  );
54
 
55
  parent::__construct();
84
  /**
85
  * wcj_wholesale_price_table (global only).
86
  *
87
+ * @version 2.5.6
88
  * @since 2.4.8
89
  */
90
  function wcj_wholesale_price_table( $atts ) {
117
  $data_discount = array();
118
  $columns_styles = array();
119
  foreach ( $wholesale_price_levels as $wholesale_price_level ) {
120
+ if ( 0 == $wholesale_price_level['quantity'] && 'yes' === $atts['hide_if_zero_quantity'] ) {
121
+ continue;
122
+ }
123
  $data_qty[] = str_replace( '%level_qty%', $wholesale_price_level['quantity'], $atts['heading_format'] ) ;
124
  $data_discount[] = ( 'fixed' === get_option( 'wcj_wholesale_price_discount_type', 'percent' ) )
125
  ? '-' . wc_price( $wholesale_price_level['discount'] ) : '-' . $wholesale_price_level['discount'] . '%';
127
  }
128
 
129
  $table_rows = array( $data_qty, $data_discount, );
130
+
131
+ if ( 'vertical' === $atts['table_format'] ) {
132
+ $table_rows_modified = array();
133
+ foreach ( $table_rows as $row_number => $table_row ) {
134
+ foreach ( $table_row as $column_number => $cell ) {
135
+ $table_rows_modified[ $column_number ][ $row_number ] = $cell;
136
+ }
137
+ }
138
+ $table_rows = $table_rows_modified;
139
+ }
140
+
141
+ return wcj_get_table_html( $table_rows, array( 'table_class' => 'wcj_wholesale_price_table', 'columns_styles' => $columns_styles, 'table_heading_type' => $atts['table_format'] ) );
142
  }
143
 
144
  /**
includes/shortcodes/class-wcj-orders-shortcodes.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Orders Shortcodes class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,11 +17,12 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.4
21
  */
22
  public function __construct() {
23
 
24
  $this->the_shortcodes = array(
 
25
  'wcj_order_date',
26
  'wcj_order_time',
27
  'wcj_order_number',
@@ -45,6 +46,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
45
  'wcj_order_total_tax',
46
  'wcj_order_total_tax_percent',
47
  'wcj_order_total',
 
48
  'wcj_order_total_by_tax_class',
49
  'wcj_order_subtotal_by_tax_class',
50
  'wcj_order_currency',
@@ -58,10 +60,12 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
58
  'wcj_order_fee',
59
  'wcj_order_fees_html',
60
  'wcj_order_payment_method',
 
61
  'wcj_order_shipping_method',
62
  'wcj_order_items_total_weight',
63
  'wcj_order_items_total_quantity',
64
  'wcj_order_items_total_number',
 
65
  );
66
 
67
  parent::__construct();
@@ -70,7 +74,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
70
  /**
71
  * add_extra_atts.
72
  *
73
- * @version 2.5.5
74
  */
75
  function add_extra_atts( $atts ) {
76
  $modified_atts = array_merge( array(
@@ -88,6 +92,7 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
88
  'precision' => get_option( 'woocommerce_price_num_decimals', 2 ),
89
  'lang' => 'EN',
90
  'unique_only' => 'no',
 
91
  ), $atts );
92
 
93
  return $modified_atts;
@@ -120,6 +125,20 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
120
  return ( 'yes' === $atts['hide_if_zero'] && 0 == $raw_price ) ? '' : wcj_price( $raw_price, $this->the_order->get_order_currency(), $atts['hide_currency'] );
121
  }
122
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  /**
124
  * Get order custom field.
125
  *
@@ -220,6 +239,16 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
220
  return $this->the_order->get_shipping_method();
221
  }
222
 
 
 
 
 
 
 
 
 
 
 
223
  /**
224
  * wcj_order_payment_method.
225
  */
@@ -355,6 +384,16 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
355
  return $this->the_order->get_formatted_shipping_address();
356
  }
357
 
 
 
 
 
 
 
 
 
 
 
358
  /**
359
  * wcj_order_date.
360
  */
@@ -385,10 +424,11 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
385
 
386
  /**
387
  * wcj_order_shipping_price.
 
 
388
  */
389
  function wcj_order_shipping_price( $atts ) {
390
- $the_result = $this->the_order->get_total_shipping();
391
- if ( false === $atts['excl_tax'] ) $the_result = $the_result + $this->the_order->get_shipping_tax();
392
  return $this->wcj_price_shortcode( $the_result, $atts );
393
  }
394
 
@@ -589,11 +629,11 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
589
 
590
  /**
591
  * wcj_order_total_excl_tax.
 
 
592
  */
593
  function wcj_order_total_excl_tax( $atts ) {
594
- //$order_total_tax = $this->the_order->get_total() - $this->the_order->get_subtotal() + $this->the_order->get_total_discount( true );
595
- $order_total_tax = $this->the_order->get_total_tax();
596
- $order_total = $this->the_order->get_total() - $order_total_tax;
597
  $order_total = apply_filters( 'wcj_order_total_excl_tax', $order_total, $this->the_order );
598
  return $this->wcj_price_shortcode( $order_total, $atts );
599
  }
@@ -605,6 +645,19 @@ class WCJ_Orders_Shortcodes extends WCJ_Shortcodes {
605
  return $this->the_order->get_order_currency();
606
  }
607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
  /**
609
  * wcj_order_total.
610
  */
4
  *
5
  * The WooCommerce Jetpack Orders Shortcodes class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
24
  $this->the_shortcodes = array(
25
+ 'wcj_order_status',
26
  'wcj_order_date',
27
  'wcj_order_time',
28
  'wcj_order_number',
46
  'wcj_order_total_tax',
47
  'wcj_order_total_tax_percent',
48
  'wcj_order_total',
49
+ 'wcj_order_total_excl_shipping',
50
  'wcj_order_total_by_tax_class',
51
  'wcj_order_subtotal_by_tax_class',
52
  'wcj_order_currency',
60
  'wcj_order_fee',
61
  'wcj_order_fees_html',
62
  'wcj_order_payment_method',
63
+ 'wcj_order_payment_method_transaction_id',
64
  'wcj_order_shipping_method',
65
  'wcj_order_items_total_weight',
66
  'wcj_order_items_total_quantity',
67
  'wcj_order_items_total_number',
68
+ 'wcj_order_function',
69
  );
70
 
71
  parent::__construct();
74
  /**
75
  * add_extra_atts.
76
  *
77
+ * @version 2.5.6
78
  */
79
  function add_extra_atts( $atts ) {
80
  $modified_atts = array_merge( array(
92
  'precision' => get_option( 'woocommerce_price_num_decimals', 2 ),
93
  'lang' => 'EN',
94
  'unique_only' => 'no',
95
+ 'function_name' => '',
96
  ), $atts );
97
 
98
  return $modified_atts;
125
  return ( 'yes' === $atts['hide_if_zero'] && 0 == $raw_price ) ? '' : wcj_price( $raw_price, $this->the_order->get_order_currency(), $atts['hide_currency'] );
126
  }
127
 
128
+ /**
129
+ * wcj_order_function.
130
+ *
131
+ * @version 2.5.6
132
+ * @since 2.5.6
133
+ * @todo add function_params attribute.
134
+ */
135
+ function wcj_order_function( $atts ) {
136
+ $function_name = $atts['function_name'];
137
+ if ( '' != $function_name && method_exists( $this->the_order, $function_name ) ) {
138
+ return $this->the_order->$function_name();
139
+ }
140
+ }
141
+
142
  /**
143
  * Get order custom field.
144
  *
239
  return $this->the_order->get_shipping_method();
240
  }
241
 
242
+ /**
243
+ * wcj_order_payment_method_transaction_id.
244
+ *
245
+ * @version 2.5.6
246
+ * @since 2.5.6
247
+ */
248
+ function wcj_order_payment_method_transaction_id( $atts ) {
249
+ return $this->the_order->get_transaction_id();
250
+ }
251
+
252
  /**
253
  * wcj_order_payment_method.
254
  */
384
  return $this->the_order->get_formatted_shipping_address();
385
  }
386
 
387
+ /**
388
+ * wcj_order_status.
389
+ *
390
+ * @version 2.5.6
391
+ * @since 2.5.6
392
+ */
393
+ function wcj_order_status( $atts ) {
394
+ return $this->the_order->get_status();
395
+ }
396
+
397
  /**
398
  * wcj_order_date.
399
  */
424
 
425
  /**
426
  * wcj_order_shipping_price.
427
+ *
428
+ * @version 2.5.6
429
  */
430
  function wcj_order_shipping_price( $atts ) {
431
+ $the_result = ( $atts['excl_tax'] ) ? $this->the_order->get_total_shipping() : $this->the_order->get_total_shipping() + $this->the_order->get_shipping_tax();
 
432
  return $this->wcj_price_shortcode( $the_result, $atts );
433
  }
434
 
629
 
630
  /**
631
  * wcj_order_total_excl_tax.
632
+ *
633
+ * @version 2.5.6
634
  */
635
  function wcj_order_total_excl_tax( $atts ) {
636
+ $order_total = $this->the_order->get_total() - $this->the_order->get_total_tax();
 
 
637
  $order_total = apply_filters( 'wcj_order_total_excl_tax', $order_total, $this->the_order );
638
  return $this->wcj_price_shortcode( $order_total, $atts );
639
  }
645
  return $this->the_order->get_order_currency();
646
  }
647
 
648
+ /**
649
+ * wcj_order_total_excl_shipping.
650
+ *
651
+ * @version 2.5.6
652
+ * @since 2.5.6
653
+ */
654
+ function wcj_order_total_excl_shipping( $atts ) {
655
+ $order_total_excl_shipping = ( true === $atts['excl_tax'] ) ?
656
+ $this->the_order->get_total() - $this->the_order->get_total_shipping() - $this->the_order->get_total_tax() :
657
+ $this->the_order->get_total() - $this->the_order->get_total_shipping() - $this->the_order->get_shipping_tax();
658
+ return $this->wcj_price_shortcode( $order_total_excl_shipping, $atts );
659
+ }
660
+
661
  /**
662
  * wcj_order_total.
663
  */
includes/shortcodes/class-wcj-products-crowdfunding-shortcodes.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Products Crowdfunding Shortcodes class.
6
  *
7
- * @version 2.5.4
8
  * @since 2.5.4
9
  * @author Algoritmika Ltd.
10
  */
@@ -78,10 +78,16 @@ class WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Shortcodes {
78
  /**
79
  * get_product_orders_data.
80
  *
81
- * @version 2.5.4
82
  * @since 2.2.6
83
  */
84
  function get_product_orders_data( $return_value = 'total_orders', $atts ) {
 
 
 
 
 
 
85
  global $woocommerce_loop, $post;
86
  $saved_wc_loop = $woocommerce_loop;
87
  $saved_post = $post;
@@ -89,7 +95,8 @@ class WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Shortcodes {
89
  $total_qty = 0;
90
  $total_sum = 0;
91
  $offset = 0;
92
- $block_size = 96;
 
93
  while( true ) {
94
  $args = array(
95
  'post_type' => 'shop_order',
@@ -100,20 +107,22 @@ class WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Shortcodes {
100
  'order' => 'ASC',
101
  'date_query' => array(
102
  array(
103
- 'after' => get_post_meta( $this->the_product->id, '_' . 'wcj_crowdfunding_startdate', true ),
104
  'inclusive' => true,
105
  ),
106
  ),
 
107
  );
108
  $loop = new WP_Query( $args );
109
- if ( ! $loop->have_posts() ) break;
110
- while ( $loop->have_posts() ) : $loop->the_post();
111
- $order_id = $loop->post->ID;
 
112
  $the_order = wc_get_order( $order_id );
113
  $the_items = $the_order->get_items();
114
  $item_found = false;
115
  foreach( $the_items as $item ) {
116
- if ( $this->the_product->id == $item['product_id'] ) {
117
  $total_sum += $item['line_total'] + $item['line_tax'];
118
  $total_qty += $item['qty'];
119
  $item_found = true;
@@ -122,7 +131,7 @@ class WCJ_Products_Crowdfunding_Shortcodes extends WCJ_Shortcodes {
122
  if ( $item_found ) {
123
  $total_orders++;
124
  }
125
- endwhile;
126
  $offset += $block_size;
127
  }
128
  // wp_reset_postdata();
4
  *
5
  * The WooCommerce Jetpack Products Crowdfunding Shortcodes class.
6
  *
7
+ * @version 2.5.6
8
  * @since 2.5.4
9
  * @author Algoritmika Ltd.
10
  */
78
  /**
79
  * get_product_orders_data.
80
  *
81
+ * @version 2.5.6
82
  * @since 2.2.6
83
  */
84
  function get_product_orders_data( $return_value = 'total_orders', $atts ) {
85
+ $product_ids = array();
86
+ if ( $this->the_product->is_type( 'grouped' ) ) {
87
+ $product_ids = $this->the_product->get_children();
88
+ } else {
89
+ $product_ids = array( $this->the_product->id );
90
+ }
91
  global $woocommerce_loop, $post;
92
  $saved_wc_loop = $woocommerce_loop;
93
  $saved_post = $post;
95
  $total_qty = 0;
96
  $total_sum = 0;
97
  $offset = 0;
98
+ $block_size = 256;
99
+ $date_query_after = get_post_meta( $this->the_product->id, '_' . 'wcj_crowdfunding_startdate', true );
100
  while( true ) {
101
  $args = array(
102
  'post_type' => 'shop_order',
107
  'order' => 'ASC',
108
  'date_query' => array(
109
  array(
110
+ 'after' => $date_query_after,
111
  'inclusive' => true,
112
  ),
113
  ),
114
+ 'fields' => 'ids',
115
  );
116
  $loop = new WP_Query( $args );
117
+ if ( ! $loop->have_posts() ) {
118
+ break;
119
+ }
120
+ foreach ( $loop->posts as $order_id ) {
121
  $the_order = wc_get_order( $order_id );
122
  $the_items = $the_order->get_items();
123
  $item_found = false;
124
  foreach( $the_items as $item ) {
125
+ if ( in_array( $item['product_id'], $product_ids ) ) {
126
  $total_sum += $item['line_total'] + $item['line_tax'];
127
  $total_qty += $item['qty'];
128
  $item_found = true;
131
  if ( $item_found ) {
132
  $total_orders++;
133
  }
134
+ }
135
  $offset += $block_size;
136
  }
137
  // wp_reset_postdata();
includes/shortcodes/class-wcj-products-shortcodes.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * The WooCommerce Jetpack Products Shortcodes class.
6
  *
7
- * @version 2.5.5
8
  * @author Algoritmika Ltd.
9
  */
10
 
@@ -17,7 +17,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
17
  /**
18
  * Constructor.
19
  *
20
- * @version 2.5.5
21
  */
22
  public function __construct() {
23
 
@@ -57,31 +57,33 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
57
  );
58
 
59
  $this->the_atts = array(
60
- 'product_id' => 0,
61
- 'image_size' => 'shop_thumbnail',
62
- 'multiply_by' => '',
63
- 'hide_currency' => 'no',
64
- 'excerpt_length' => 0,
65
- 'name' => '',
66
- 'heading_format' => 'from %level_qty% pcs.',
67
- 'price_row_format' => '<del>%old_price%</del> %price%',
68
- 'sep' => ', ',
69
- 'add_links' => 'yes',
70
- 'add_percent_row' => 'no',
71
- 'add_discount_row' => 'no',
72
- 'add_price_row' => 'yes',
73
- 'show_always' => 'yes',
74
- 'hide_if_zero' => 'no',
75
- 'reverse' => 'no',
76
- 'find' => '',
77
- 'replace' => '',
78
- 'offset' => '',
79
- 'days_to_cover' => 90,
80
- 'order_status' => 'wc-completed',
81
- 'hide_if_no_sales' => 'no',
82
- 'to_unit' => '',
83
- 'round' => 'no',
84
- 'precision' => 2,
 
 
85
  );
86
 
87
  parent::__construct();
@@ -566,7 +568,7 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
566
  /**
567
  * wcj_product_wholesale_price_table.
568
  *
569
- * @version 2.5.5
570
  */
571
  function wcj_product_wholesale_price_table( $atts ) {
572
 
@@ -609,6 +611,11 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
609
  $data_discount = array();
610
  $columns_styles = array();
611
  foreach ( $wholesale_price_levels as $wholesale_price_level ) {
 
 
 
 
 
612
  $the_price = '';
613
 
614
  if ( $this->the_product->is_type( 'variable' ) ) {
@@ -687,7 +694,17 @@ class WCJ_Products_Shortcodes extends WCJ_Shortcodes {
687
  $table_rows[] = $data_discount;
688
  }
689
 
690
- return wcj_get_table_html( $table_rows, array( 'table_class' => 'wcj_product_wholesale_price_table', 'columns_styles' => $columns_styles ) );
 
 
 
 
 
 
 
 
 
 
691
  }
692
 
693
  /**
4
  *
5
  * The WooCommerce Jetpack Products Shortcodes class.
6
  *
7
+ * @version 2.5.6
8
  * @author Algoritmika Ltd.
9
  */
10
 
17
  /**
18
  * Constructor.
19
  *
20
+ * @version 2.5.6
21
  */
22
  public function __construct() {
23
 
57
  );
58
 
59
  $this->the_atts = array(
60
+ 'product_id' => 0,
61
+ 'image_size' => 'shop_thumbnail',
62
+ 'multiply_by' => '',
63
+ 'hide_currency' => 'no',
64
+ 'excerpt_length' => 0,
65
+ 'name' => '',
66
+ 'heading_format' => 'from %level_qty% pcs.',
67
+ 'price_row_format' => '<del>%old_price%</del> %price%',
68
+ 'sep' => ', ',
69
+ 'add_links' => 'yes',
70
+ 'add_percent_row' => 'no',
71
+ 'add_discount_row' => 'no',
72
+ 'add_price_row' => 'yes',
73
+ 'show_always' => 'yes',
74
+ 'hide_if_zero' => 'no',
75
+ 'reverse' => 'no',
76
+ 'find' => '',
77
+ 'replace' => '',
78
+ 'offset' => '',
79
+ 'days_to_cover' => 90,
80
+ 'order_status' => 'wc-completed',
81
+ 'hide_if_no_sales' => 'no',
82
+ 'to_unit' => '',
83
+ 'round' => 'no',
84
+ 'precision' => 2,
85
+ 'hide_if_zero_quantity' => 'no',
86
+ 'table_format' => 'horizontal',
87
  );
88
 
89
  parent::__construct();
568
  /**
569
  * wcj_product_wholesale_price_table.
570
  *
571
+ * @version 2.5.6
572
  */
573
  function wcj_product_wholesale_price_table( $atts ) {
574
 
611
  $data_discount = array();
612
  $columns_styles = array();
613
  foreach ( $wholesale_price_levels as $wholesale_price_level ) {
614
+
615
+ if ( 0 == $wholesale_price_level['quantity'] && 'yes' === $atts['hide_if_zero_quantity'] ) {
616
+ continue;
617
+ }
618
+
619
  $the_price = '';
620
 
621
  if ( $this->the_product->is_type( 'variable' ) ) {
694
  $table_rows[] = $data_discount;
695
  }
696
 
697
+ if ( 'vertical' === $atts['table_format'] ) {
698
+ $table_rows_modified = array();
699
+ foreach ( $table_rows as $row_number => $table_row ) {
700
+ foreach ( $table_row as $column_number => $cell ) {
701
+ $table_rows_modified[ $column_number ][ $row_number ] = $cell;
702
+ }
703
+ }
704
+ $table_rows = $table_rows_modified;
705
+ }
706
+
707
+ return wcj_get_table_html( $table_rows, array( 'table_class' => 'wcj_product_wholesale_price_table', 'columns_styles' => $columns_styles, 'table_heading_type' => $atts['table_format'] ) );
708
  }
709
 
710
  /**
langs/woocommerce-jetpack.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the Booster for WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Booster for WooCommerce 2.5.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce-"
7
  "jetpack\n"
8
- "POT-Creation-Date: 2016-05-23 09:00:54+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -26,10 +26,11 @@ msgid "Product category (archive) view"
26
  msgstr ""
27
 
28
  #: includes/admin/class-wc-settings-jetpack.php:26
29
- #: includes/admin/class-wc-settings-jetpack.php:291
30
- #: includes/class-wcj-checkout-files-upload.php:120
31
- #: includes/classes/class-wcj-module.php:124
32
- #: includes/classes/class-wcj-module.php:307
 
33
  msgid "Booster"
34
  msgstr ""
35
 
@@ -49,65 +50,103 @@ msgstr ""
49
  msgid "Active"
50
  msgstr ""
51
 
52
- #: includes/admin/class-wc-settings-jetpack.php:241
 
 
 
 
53
  #: includes/admin/wcj-modules-cats.php:15
54
  msgid "Dashboard"
55
  msgstr ""
56
 
57
- #: includes/admin/class-wc-settings-jetpack.php:276
 
 
 
 
 
58
  msgid ""
59
- "Please note that current module is depreciated and will be removed in future "
60
- "updates. Please use <em>%s</em> module instead."
61
  msgstr ""
62
 
63
- #: includes/admin/class-wc-settings-jetpack.php:287
64
  msgid "WooCommerce"
65
  msgstr ""
66
 
67
- #: includes/admin/class-wc-settings-jetpack.php:289
68
- #: includes/admin/class-wc-settings-jetpack.php:420
69
- #: woocommerce-jetpack.php:293
70
  msgid "Settings"
71
  msgstr ""
72
 
73
- #: includes/admin/class-wc-settings-jetpack.php:351
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  msgid "Version"
75
  msgstr ""
76
 
77
- #: includes/admin/class-wc-settings-jetpack.php:375
78
- #: includes/admin/class-wc-settings-jetpack.php:382
79
  msgid "Select All"
80
  msgstr ""
81
 
82
- #: includes/admin/class-wc-settings-jetpack.php:376
83
- #: includes/admin/class-wc-settings-jetpack.php:383
84
  #: includes/admin/class-wcj-tools.php:74
85
  msgid "Module"
86
  msgstr ""
87
 
88
- #: includes/admin/class-wc-settings-jetpack.php:377
89
- #: includes/admin/class-wc-settings-jetpack.php:384
90
  #: includes/admin/class-wcj-tools.php:75
91
- #: includes/class-wcj-eu-vat-number.php:292
 
92
  #: includes/gateways/class-wc-gateway-wcj-custom.php:71
93
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:134
 
94
  msgid "Description"
95
  msgstr ""
96
 
97
- #: includes/admin/class-wc-settings-jetpack.php:422
98
- #: includes/classes/class-wcj-module.php:446
99
  msgid "Documentation"
100
  msgstr ""
101
 
102
- #: includes/admin/class-wc-settings-jetpack.php:437
 
 
 
 
103
  msgid "Total Modules:"
104
  msgstr ""
105
 
106
- #: includes/admin/class-wc-settings-jetpack.php:466
107
  msgid "Booster for WooCommerce - Dashboard"
108
  msgstr ""
109
 
110
- #: includes/admin/class-wc-settings-jetpack.php:468
111
  msgid ""
112
  "This dashboard lets you enable/disable any Booster's module. Each checkbox "
113
  "comes with short module's description. Please visit <a href=\"http://booster."
@@ -144,40 +183,42 @@ msgid "Tool"
144
  msgstr ""
145
 
146
  #: includes/admin/class-wcj-tools.php:76
 
147
  msgid "Status"
148
  msgstr ""
149
 
150
- #: includes/admin/wcj-modules-cats.php:25
151
  msgid "Prices & Currencies"
152
  msgstr ""
153
 
154
- #: includes/admin/wcj-modules-cats.php:43
155
  msgid "Button & Price Labels"
156
  msgstr ""
157
 
158
- #: includes/admin/wcj-modules-cats.php:54
159
  msgid "Products"
160
  msgstr ""
161
 
162
- #: includes/admin/wcj-modules-cats.php:75
163
  msgid "Cart & Checkout"
164
  msgstr ""
165
 
166
- #: includes/admin/wcj-modules-cats.php:89
167
  #: includes/class-wcj-payment-gateways-by-country.php:86
 
168
  #: includes/class-wcj-payment-gateways-min-max.php:90
169
  msgid "Payment Gateways"
170
  msgstr ""
171
 
172
- #: includes/admin/wcj-modules-cats.php:103
173
  msgid "Shipping & Orders"
174
  msgstr ""
175
 
176
- #: includes/admin/wcj-modules-cats.php:116
177
  msgid "PDF Invoicing & Packing Slips"
178
  msgstr ""
179
 
180
- #: includes/admin/wcj-modules-cats.php:132
181
  msgid "Emails & Misc."
182
  msgstr ""
183
 
@@ -203,8 +244,8 @@ msgstr ""
203
  #: includes/class-wcj-add-to-cart.php:48
204
  #: includes/class-wcj-add-to-cart.php:187
205
  #: includes/class-wcj-add-to-cart.php:212
206
- #: includes/class-wcj-product-images.php:184
207
- #: includes/class-wcj-product-images.php:261
208
  msgid "Enable Section"
209
  msgstr ""
210
 
@@ -308,6 +349,7 @@ msgid "Already in cart. Product category (archive) view."
308
  msgstr ""
309
 
310
  #: includes/class-wcj-add-to-cart.php:180
 
311
  msgid "Per Product Options"
312
  msgstr ""
313
 
@@ -341,36 +383,49 @@ msgstr ""
341
  msgid "Click \"Save changes\" after you change this number."
342
  msgstr ""
343
 
344
- #: includes/class-wcj-add-to-cart.php:258
345
- #: includes/class-wcj-price-by-country.php:202
346
- #: includes/class-wcj-price-by-country.php:213
347
- #: includes/class-wcj-price-by-country.php:224
348
- #: includes/class-wcj-price-by-country.php:278
349
  msgid "Group"
350
  msgstr ""
351
 
352
- #: includes/class-wcj-add-to-cart.php:259
353
  #: includes/class-wcj-admin-tools.php:84 includes/class-wcj-admin-tools.php:92
354
- #: includes/class-wcj-general.php:419 includes/class-wcj-general.php:475
355
- #: includes/class-wcj-multicurrency.php:353
356
- #: includes/class-wcj-multicurrency.php:361
357
- #: includes/class-wcj-order-numbers.php:174
358
- #: includes/class-wcj-order-numbers.php:237 includes/class-wcj-orders.php:248
359
- #: includes/class-wcj-price-by-country.php:112
360
- #: includes/class-wcj-price-by-country.php:133
361
- #: includes/class-wcj-price-by-user-role.php:438
362
- #: includes/class-wcj-price-by-user-role.php:446
 
 
 
 
 
363
  #: includes/class-wcj-price-labels.php:51
364
- #: includes/class-wcj-price-labels.php:726
365
- #: includes/class-wcj-product-add-to-cart.php:125
366
- #: includes/class-wcj-product-add-to-cart.php:151
367
- #: includes/class-wcj-product-add-to-cart.php:167
 
 
 
 
 
 
 
368
  #: includes/class-wcj-product-info.php:256
369
  #: includes/class-wcj-product-info.php:351
370
  #: includes/class-wcj-product-info.php:384
371
  #: includes/class-wcj-product-input-fields.php:133
372
  #: includes/class-wcj-product-input-fields.php:170
373
  #: includes/class-wcj-product-input-fields.php:283
 
374
  #: includes/class-wcj-product-tabs.php:678
375
  #: includes/class-wcj-product-tabs.php:686
376
  #: includes/class-wcj-purchase-data.php:277
@@ -383,25 +438,26 @@ msgstr ""
383
  #: includes/class-wcj-shipping-calculator.php:123
384
  #: includes/class-wcj-shipping-calculator.php:130
385
  #: includes/class-wcj-shipping-calculator.php:137
386
- #: includes/class-wcj-shipping.php:238 includes/class-wcj-shipping.php:270
387
- #: includes/class-wcj-shipping.php:308 includes/class-wcj-sorting.php:191
388
- #: includes/class-wcj-wholesale-price.php:285
389
- #: includes/class-wcj-wholesale-price.php:292
390
- #: includes/class-wcj-wholesale-price.php:299
391
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:319
 
392
  msgid "Enable"
393
  msgstr ""
394
 
395
- #: includes/class-wcj-add-to-cart.php:275
396
  #: includes/class-wcj-checkout-custom-fields.php:866
397
  msgid "categories"
398
  msgstr ""
399
 
400
- #: includes/class-wcj-add-to-cart.php:286
401
  msgid "Button text - single product view"
402
  msgstr ""
403
 
404
- #: includes/class-wcj-add-to-cart.php:294
405
  msgid "Button text - product archive (category) view"
406
  msgstr ""
407
 
@@ -566,20 +622,22 @@ msgstr ""
566
  #: includes/class-wcj-mini-cart.php:106
567
  #: includes/class-wcj-product-custom-info.php:135
568
  #: includes/class-wcj-product-tabs.php:431
569
- #: includes/class-wcj-product-tabs.php:557 includes/class-wcj-shipping.php:245
570
- #: includes/class-wcj-shipping.php:279 includes/class-wcj-shipping.php:317
571
  msgid "Content"
572
  msgstr ""
573
 
574
  #: includes/class-wcj-cart.php:167
575
  #: includes/class-wcj-checkout-custom-info.php:102
576
- #: includes/class-wcj-checkout-files-upload.php:542
577
  #: includes/class-wcj-mini-cart.php:114
578
  #: includes/class-wcj-product-custom-info.php:142
579
  #: includes/class-wcj-product-info.php:263
580
  #: includes/class-wcj-product-info.php:366
581
- #: includes/class-wcj-product-info.php:399 includes/class-wcj-shipping.php:253
582
- #: includes/class-wcj-shipping.php:287 includes/class-wcj-shipping.php:325
 
 
583
  msgid "Position"
584
  msgstr ""
585
 
@@ -618,29 +676,32 @@ msgid "Checkout Core Fields Options"
618
  msgstr ""
619
 
620
  #: includes/class-wcj-checkout-core-fields.php:225
621
- #: includes/classes/class-wcj-module.php:359
622
  msgid "enabled"
623
  msgstr ""
624
 
625
  #: includes/class-wcj-checkout-core-fields.php:230
626
  #: includes/class-wcj-checkout-core-fields.php:244
627
  #: includes/class-wcj-checkout-core-fields.php:278
 
628
  msgid "Default"
629
  msgstr ""
630
 
631
  #: includes/class-wcj-checkout-core-fields.php:231
632
  #: includes/class-wcj-checkout-custom-fields.php:668
633
- #: includes/class-wcj-checkout-files-upload.php:530
634
- #: includes/class-wcj-price-by-user-role.php:147
635
- #: includes/class-wcj-product-bookings.php:411
 
 
636
  #: includes/class-wcj-product-open-pricing.php:178
637
- #: includes/class-wcj-product-price-by-formula.php:235
638
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:37
639
  msgid "Enabled"
640
  msgstr ""
641
 
642
  #: includes/class-wcj-checkout-core-fields.php:232
643
- #: includes/class-wcj-pdf-invoicing.php:195
644
  #: includes/class-wcj-product-tabs.php:440
645
  msgid "Disabled"
646
  msgstr ""
@@ -651,9 +712,9 @@ msgid "required"
651
  msgstr ""
652
 
653
  #: includes/class-wcj-checkout-core-fields.php:245
654
- #: includes/class-wcj-checkout-files-upload.php:536
655
- #: includes/class-wcj-eu-vat-number.php:305
656
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:199
657
  msgid "Required"
658
  msgstr ""
659
 
@@ -712,13 +773,14 @@ msgstr ""
712
  #: includes/class-wcj-checkout-custom-fields.php:606
713
  #: includes/class-wcj-checkout-custom-fields.php:613
714
  #: includes/class-wcj-checkout-custom-fields.php:620
715
- #: includes/class-wcj-order-custom-statuses.php:209
716
- #: includes/class-wcj-order-custom-statuses.php:281
717
- #: includes/class-wcj-order-custom-statuses.php:288
718
- #: includes/class-wcj-orders.php:214 includes/class-wcj-orders.php:266
719
- #: includes/class-wcj-price-by-user-role.php:236
720
- #: includes/class-wcj-purchase-data.php:389
721
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:161
 
722
  msgid "Add"
723
  msgstr ""
724
 
@@ -748,6 +810,7 @@ msgstr ""
748
 
749
  #: includes/class-wcj-checkout-custom-fields.php:683
750
  #: includes/class-wcj-more-button-labels.php:58
 
751
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:48
752
  msgid "Text"
753
  msgstr ""
@@ -763,6 +826,8 @@ msgid "Number"
763
  msgstr ""
764
 
765
  #: includes/class-wcj-checkout-custom-fields.php:686
 
 
766
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:51
767
  msgid "Checkbox"
768
  msgstr ""
@@ -798,7 +863,7 @@ msgid "Password"
798
  msgstr ""
799
 
800
  #: includes/class-wcj-checkout-custom-fields.php:694
801
- #: includes/class-wcj-orders.php:91 includes/class-wcj-orders.php:265
802
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:59
803
  #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:90
804
  #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:104
@@ -810,7 +875,7 @@ msgid "State"
810
  msgstr ""
811
 
812
  #: includes/class-wcj-checkout-custom-fields.php:696
813
- #: includes/class-wcj-general.php:239
814
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:61
815
  #: includes/reports/wcj-class-reports-customers.php:92
816
  msgid "Email"
@@ -833,19 +898,29 @@ msgid "If checkbox is selected, set value for ON here"
833
  msgstr ""
834
 
835
  #: includes/class-wcj-checkout-custom-fields.php:714
836
- #: includes/class-wcj-eu-vat-number.php:306
837
- #: includes/class-wcj-eu-vat-number.php:313
838
- #: includes/class-wcj-eu-vat-number.php:331
839
- #: includes/class-wcj-eu-vat-number.php:346
840
- #: includes/class-wcj-eu-vat-number.php:353
841
- #: includes/class-wcj-eu-vat-number.php:371
842
- #: includes/class-wcj-price-by-user-role.php:144
843
- #: includes/class-wcj-product-bookings.php:408
 
 
 
 
 
 
 
 
 
844
  #: includes/class-wcj-product-open-pricing.php:175
845
- #: includes/class-wcj-product-price-by-formula.php:232
846
- #: includes/class-wcj-wholesale-price.php:224
847
- #: includes/classes/class-wcj-module.php:53
848
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:82
 
849
  msgid "Yes"
850
  msgstr ""
851
 
@@ -855,13 +930,23 @@ msgid "If checkbox is selected, set value for OFF here"
855
  msgstr ""
856
 
857
  #: includes/class-wcj-checkout-custom-fields.php:722
858
- #: includes/class-wcj-price-by-user-role.php:145
859
- #: includes/class-wcj-product-bookings.php:409
 
 
 
 
 
 
 
 
 
860
  #: includes/class-wcj-product-open-pricing.php:176
861
- #: includes/class-wcj-product-price-by-formula.php:233
862
- #: includes/class-wcj-wholesale-price.php:225
863
- #: includes/classes/class-wcj-module.php:54
864
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:90
 
865
  msgid "No"
866
  msgstr ""
867
 
@@ -881,7 +966,7 @@ msgid "Checked"
881
  msgstr ""
882
 
883
  #: includes/class-wcj-checkout-custom-fields.php:739
884
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:116
885
  msgid ""
886
  "If datepicker/weekpicker is selected, set date format here. Visit <a href="
887
  "\"https://codex.wordpress.org/Formatting_Date_and_Time\" target=\"_blank"
@@ -889,28 +974,28 @@ msgid ""
889
  msgstr ""
890
 
891
  #: includes/class-wcj-checkout-custom-fields.php:740
892
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:117
893
  msgid "Leave blank to use your current WordPress format"
894
  msgstr ""
895
 
896
  #: includes/class-wcj-checkout-custom-fields.php:747
897
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:125
898
  msgid "If datepicker/weekpicker is selected, set min date (in days) here"
899
  msgstr ""
900
 
901
  #: includes/class-wcj-checkout-custom-fields.php:754
902
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:133
903
  msgid "If datepicker/weekpicker is selected, set max date (in days) here"
904
  msgstr ""
905
 
906
  #: includes/class-wcj-checkout-custom-fields.php:761
907
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:141
908
  msgid ""
909
  "If datepicker/weekpicker is selected, set if you want to add year selector"
910
  msgstr ""
911
 
912
  #: includes/class-wcj-checkout-custom-fields.php:768
913
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:149
914
  msgid ""
915
  "If datepicker/weekpicker is selected, and year selector is enabled, set year "
916
  "range here"
@@ -926,47 +1011,47 @@ msgid ""
926
  msgstr ""
927
 
928
  #: includes/class-wcj-checkout-custom-fields.php:776
929
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:158
930
  msgid "If datepicker/weekpicker is selected, set first week day here"
931
  msgstr ""
932
 
933
  #: includes/class-wcj-checkout-custom-fields.php:781
934
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:163
935
  msgid "Sunday"
936
  msgstr ""
937
 
938
  #: includes/class-wcj-checkout-custom-fields.php:782
939
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:164
940
  msgid "Monday"
941
  msgstr ""
942
 
943
  #: includes/class-wcj-checkout-custom-fields.php:783
944
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:165
945
  msgid "Tuesday"
946
  msgstr ""
947
 
948
  #: includes/class-wcj-checkout-custom-fields.php:784
949
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:166
950
  msgid "Wednesday"
951
  msgstr ""
952
 
953
  #: includes/class-wcj-checkout-custom-fields.php:785
954
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:167
955
  msgid "Thursday"
956
  msgstr ""
957
 
958
  #: includes/class-wcj-checkout-custom-fields.php:786
959
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:168
960
  msgid "Friday"
961
  msgstr ""
962
 
963
  #: includes/class-wcj-checkout-custom-fields.php:787
964
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:169
965
  msgid "Saturday"
966
  msgstr ""
967
 
968
  #: includes/class-wcj-checkout-custom-fields.php:792
969
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:175
970
  msgid ""
971
  "If timepicker is selected, set time format here. Visit <a href=\"http://"
972
  "timepicker.co/options/\" target=\"_blank\">timepicker options page</a> for "
@@ -974,7 +1059,7 @@ msgid ""
974
  msgstr ""
975
 
976
  #: includes/class-wcj-checkout-custom-fields.php:800
977
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:183
978
  msgid "If timepicker is selected, set interval (in minutes) here"
979
  msgstr ""
980
 
@@ -985,19 +1070,20 @@ msgstr ""
985
  #: includes/class-wcj-checkout-custom-fields.php:836
986
  #: includes/class-wcj-checkout-custom-info.php:110
987
  #: includes/class-wcj-empty-cart-button.php:117
988
- #: includes/class-wcj-shipping.php:332
989
  msgid "Billing"
990
  msgstr ""
991
 
992
  #: includes/class-wcj-checkout-custom-fields.php:837
993
  #: includes/class-wcj-checkout-custom-info.php:111
994
  #: includes/class-wcj-empty-cart-button.php:118
995
- #: includes/class-wcj-price-by-user-role.php:445
996
- #: includes/class-wcj-shipping.php:25 includes/class-wcj-shipping.php:333
997
  msgid "Shipping"
998
  msgstr ""
999
 
1000
  #: includes/class-wcj-checkout-custom-fields.php:838
 
1001
  msgid "Order Notes"
1002
  msgstr ""
1003
 
@@ -1006,17 +1092,17 @@ msgid "Account"
1006
  msgstr ""
1007
 
1008
  #: includes/class-wcj-checkout-custom-fields.php:850
1009
- #: includes/class-wcj-eu-vat-number.php:324
1010
  msgid "Wide"
1011
  msgstr ""
1012
 
1013
  #: includes/class-wcj-checkout-custom-fields.php:851
1014
- #: includes/class-wcj-eu-vat-number.php:325
1015
  msgid "First"
1016
  msgstr ""
1017
 
1018
  #: includes/class-wcj-checkout-custom-fields.php:852
1019
- #: includes/class-wcj-eu-vat-number.php:326
1020
  msgid "Last"
1021
  msgstr ""
1022
 
@@ -1050,46 +1136,46 @@ msgid "Checkout Custom Info Blocks"
1050
  msgstr ""
1051
 
1052
  #: includes/class-wcj-checkout-custom-info.php:108
1053
- #: includes/class-wcj-checkout-files-upload.php:546
1054
  #: includes/class-wcj-empty-cart-button.php:115
1055
- #: includes/class-wcj-shipping.php:330
1056
  msgid "Before checkout form"
1057
  msgstr ""
1058
 
1059
  #: includes/class-wcj-checkout-custom-info.php:109
1060
  #: includes/class-wcj-empty-cart-button.php:116
1061
- #: includes/class-wcj-shipping.php:331
1062
  msgid "Before customer details"
1063
  msgstr ""
1064
 
1065
  #: includes/class-wcj-checkout-custom-info.php:112
1066
  #: includes/class-wcj-empty-cart-button.php:119
1067
- #: includes/class-wcj-shipping.php:334
1068
  msgid "After customer details"
1069
  msgstr ""
1070
 
1071
  #: includes/class-wcj-checkout-custom-info.php:113
1072
  #: includes/class-wcj-empty-cart-button.php:120
1073
- #: includes/class-wcj-shipping.php:335
1074
  msgid "Before order review"
1075
  msgstr ""
1076
 
1077
  #: includes/class-wcj-checkout-custom-info.php:114
1078
  #: includes/class-wcj-empty-cart-button.php:121
1079
- #: includes/class-wcj-shipping.php:336
1080
  msgid "Order review"
1081
  msgstr ""
1082
 
1083
  #: includes/class-wcj-checkout-custom-info.php:115
1084
  #: includes/class-wcj-empty-cart-button.php:122
1085
- #: includes/class-wcj-shipping.php:337
1086
  msgid "After order review"
1087
  msgstr ""
1088
 
1089
  #: includes/class-wcj-checkout-custom-info.php:116
1090
- #: includes/class-wcj-checkout-files-upload.php:547
1091
  #: includes/class-wcj-empty-cart-button.php:123
1092
- #: includes/class-wcj-shipping.php:338
1093
  msgid "After checkout form"
1094
  msgstr ""
1095
 
@@ -1101,175 +1187,202 @@ msgstr ""
1101
  msgid "Let customers upload files on (or after) WooCommerce checkout."
1102
  msgstr ""
1103
 
1104
- #: includes/class-wcj-checkout-files-upload.php:68
1105
- #: includes/class-wcj-checkout-files-upload.php:528
1106
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:52
1107
  msgid "File"
1108
  msgstr ""
1109
 
1110
- #: includes/class-wcj-checkout-files-upload.php:90
1111
- #: includes/class-wcj-checkout-files-upload.php:613
1112
  msgid "File is required!"
1113
  msgstr ""
1114
 
1115
- #: includes/class-wcj-checkout-files-upload.php:100
1116
- #: includes/class-wcj-checkout-files-upload.php:232
1117
- #: includes/class-wcj-checkout-files-upload.php:606
1118
  msgid "Wrong file type: \"%s\"!"
1119
  msgstr ""
1120
 
1121
- #: includes/class-wcj-checkout-files-upload.php:120
1122
  msgid "Uploaded Files"
1123
  msgstr ""
1124
 
1125
- #: includes/class-wcj-checkout-files-upload.php:204
1126
- #: includes/class-wcj-checkout-files-upload.php:212
1127
- #: includes/class-wcj-checkout-files-upload.php:636
1128
  msgid "File \"%s\" was successfully removed."
1129
  msgstr ""
1130
 
1131
- #: includes/class-wcj-checkout-files-upload.php:244
1132
- #: includes/class-wcj-checkout-files-upload.php:621
1133
  msgid "File \"%s\" was successfully uploaded."
1134
  msgstr ""
1135
 
1136
- #: includes/class-wcj-checkout-files-upload.php:252
1137
- #: includes/class-wcj-checkout-files-upload.php:628
1138
  msgid "Please select file to upload!"
1139
  msgstr ""
1140
 
1141
- #: includes/class-wcj-checkout-files-upload.php:408
1142
- #: includes/class-wcj-checkout-files-upload.php:409
1143
- #: includes/class-wcj-checkout-files-upload.php:591
1144
  msgid "Upload"
1145
  msgstr ""
1146
 
1147
- #: includes/class-wcj-checkout-files-upload.php:423
1148
- #: includes/class-wcj-checkout-files-upload.php:424
1149
- #: includes/class-wcj-checkout-files-upload.php:598
1150
  msgid "Remove"
1151
  msgstr ""
1152
 
1153
- #: includes/class-wcj-checkout-files-upload.php:507
1154
- #: includes/class-wcj-eu-vat-number.php:273
 
1155
  #: includes/class-wcj-multicurrency-product-base-price.php:226
1156
- #: includes/class-wcj-multicurrency.php:332
1157
  #: includes/class-wcj-payment-gateways-icons.php:95
1158
  #: includes/class-wcj-payment-gateways-per-category.php:166
1159
- #: includes/class-wcj-price-by-user-role.php:432
 
 
 
1160
  #: includes/class-wcj-related-products.php:98
1161
- #: includes/class-wcj-wholesale-price.php:278
1162
  msgid "Options"
1163
  msgstr ""
1164
 
1165
- #: includes/class-wcj-checkout-files-upload.php:512
1166
  msgid "Total Files"
1167
  msgstr ""
1168
 
1169
- #: includes/class-wcj-checkout-files-upload.php:548
1170
  msgid "Do not add on checkout"
1171
  msgstr ""
1172
 
1173
- #: includes/class-wcj-checkout-files-upload.php:553
1174
  msgid "Position order"
1175
  msgstr ""
1176
 
1177
- #: includes/class-wcj-checkout-files-upload.php:562
1178
  msgid "Add to Thank You page"
1179
  msgstr ""
1180
 
1181
- #: includes/class-wcj-checkout-files-upload.php:568
1182
  msgid "Add to My Account page"
1183
  msgstr ""
1184
 
1185
- #: includes/class-wcj-checkout-files-upload.php:573
1186
- #: includes/class-wcj-order-custom-statuses.php:190
1187
- #: includes/class-wcj-order-custom-statuses.php:214
 
1188
  msgid "Label"
1189
  msgstr ""
1190
 
1191
- #: includes/class-wcj-checkout-files-upload.php:574
1192
  msgid "Leave blank to disable label"
1193
  msgstr ""
1194
 
1195
- #: includes/class-wcj-checkout-files-upload.php:576
1196
  msgid "Please select file to upload"
1197
  msgstr ""
1198
 
1199
- #: includes/class-wcj-checkout-files-upload.php:581
1200
  msgid "Accepted file types"
1201
  msgstr ""
1202
 
1203
- #: includes/class-wcj-checkout-files-upload.php:582
1204
  msgid ""
1205
  "Accepted file types. E.g.: \".jpg,.jpeg,.png\". Leave blank to accept all "
1206
  "files"
1207
  msgstr ""
1208
 
1209
- #: includes/class-wcj-checkout-files-upload.php:589
1210
  msgid "Label: Upload button"
1211
  msgstr ""
1212
 
1213
- #: includes/class-wcj-checkout-files-upload.php:596
1214
  msgid "Label: Remove button"
1215
  msgstr ""
1216
 
1217
- #: includes/class-wcj-checkout-files-upload.php:603
1218
  msgid "Notice: Wrong file type"
1219
  msgstr ""
1220
 
1221
- #: includes/class-wcj-checkout-files-upload.php:604
1222
- #: includes/class-wcj-checkout-files-upload.php:619
1223
- #: includes/class-wcj-checkout-files-upload.php:634
1224
  msgid "%s will be replaced with file name"
1225
  msgstr ""
1226
 
1227
- #: includes/class-wcj-checkout-files-upload.php:611
1228
  msgid "Notice: File is required"
1229
  msgstr ""
1230
 
1231
- #: includes/class-wcj-checkout-files-upload.php:618
1232
  msgid "Notice: File was successfully uploaded"
1233
  msgstr ""
1234
 
1235
- #: includes/class-wcj-checkout-files-upload.php:626
1236
  msgid "Notice: No file selected"
1237
  msgstr ""
1238
 
1239
- #: includes/class-wcj-checkout-files-upload.php:633
1240
  msgid "Notice: File was successfully removed"
1241
  msgstr ""
1242
 
1243
- #: includes/class-wcj-checkout-files-upload.php:642
1244
  msgid "PRODUCTS to show this field"
1245
  msgstr ""
1246
 
1247
- #: includes/class-wcj-checkout-files-upload.php:643
1248
  msgid ""
1249
  "To show this field only if at least one selected product is in cart, enter "
1250
  "products here. Leave blank to show for all products."
1251
  msgstr ""
1252
 
1253
- #: includes/class-wcj-checkout-files-upload.php:652
1254
  msgid "CATEGORIES to show this field"
1255
  msgstr ""
1256
 
1257
- #: includes/class-wcj-checkout-files-upload.php:653
1258
  msgid ""
1259
  "To show this field only if at least one product of selected category is in "
1260
  "cart, enter categories here. Leave blank to show for all products."
1261
  msgstr ""
1262
 
1263
- #: includes/class-wcj-checkout-files-upload.php:662
1264
  msgid "TAGS to show this field"
1265
  msgstr ""
1266
 
1267
- #: includes/class-wcj-checkout-files-upload.php:663
1268
  msgid ""
1269
  "To show this field only if at least one product of selected tag is in cart, "
1270
  "enter tags here. Leave blank to show for all products."
1271
  msgstr ""
1272
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1273
  #: includes/class-wcj-crowdfunding.php:26
1274
  msgid "Crowdfunding"
1275
  msgstr ""
@@ -1333,11 +1446,12 @@ msgid "Hide Currency Symbol"
1333
  msgstr ""
1334
 
1335
  #: includes/class-wcj-currencies.php:106
1336
- #: includes/class-wcj-pdf-invoicing.php:220
1337
- #: includes/class-wcj-product-images.php:192
1338
- #: includes/class-wcj-product-images.php:218
1339
- #: includes/class-wcj-product-images.php:226
1340
- #: includes/class-wcj-product-images.php:243
 
1341
  #: includes/class-wcj-related-products.php:151
1342
  #: includes/class-wcj-shipping-calculator.php:150
1343
  msgid "Hide"
@@ -1380,54 +1494,60 @@ msgid "Automatic currency exchange rates for WooCommerce."
1380
  msgstr ""
1381
 
1382
  #: includes/class-wcj-currency-exchange-rates.php:80
 
1383
  #: includes/class-wcj-multicurrency-product-base-price.php:295
1384
- #: includes/class-wcj-multicurrency.php:417
1385
  #: includes/class-wcj-payment-gateways-currency.php:275
1386
- #: includes/class-wcj-price-by-country.php:287
1387
  msgid "Grab %s rate from Yahoo.com"
1388
  msgstr ""
1389
 
1390
- #: includes/class-wcj-currency-exchange-rates.php:96
1391
- #: includes/class-wcj-price-by-country.php:247
 
 
 
 
1392
  msgid "Exchange Rates"
1393
  msgstr ""
1394
 
1395
- #: includes/class-wcj-currency-exchange-rates.php:98
1396
  msgid ""
1397
  "All currencies from all <strong>enabled</strong> modules will be "
1398
  "automatically added to the list."
1399
  msgstr ""
1400
 
1401
- #: includes/class-wcj-currency-exchange-rates.php:103
 
1402
  #: includes/class-wcj-multicurrency-product-base-price.php:231
1403
- #: includes/class-wcj-multicurrency.php:337
1404
  #: includes/class-wcj-payment-gateways-currency.php:282
1405
- #: includes/class-wcj-price-by-country.php:250
1406
  msgid "Exchange Rates Updates"
1407
  msgstr ""
1408
 
1409
- #: includes/class-wcj-currency-exchange-rates.php:109
1410
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:27
1411
  msgid "Update Every Minute"
1412
  msgstr ""
1413
 
1414
- #: includes/class-wcj-currency-exchange-rates.php:110
1415
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:28
1416
  msgid "Update Hourly"
1417
  msgstr ""
1418
 
1419
- #: includes/class-wcj-currency-exchange-rates.php:111
1420
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:29
1421
  msgid "Update Twice Daily"
1422
  msgstr ""
1423
 
1424
- #: includes/class-wcj-currency-exchange-rates.php:112
1425
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:30
1426
  msgid "Update Daily"
1427
  msgstr ""
1428
 
1429
- #: includes/class-wcj-currency-exchange-rates.php:113
1430
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:31
1431
  msgid "Update Weekly"
1432
  msgstr ""
1433
 
@@ -1444,9 +1564,11 @@ msgid "Currency for External Products Options"
1444
  msgstr ""
1445
 
1446
  #: includes/class-wcj-currency-external-products.php:79
 
1447
  #: includes/class-wcj-multicurrency-product-base-price.php:279
1448
- #: includes/class-wcj-multicurrency.php:401
1449
- #: includes/class-wcj-price-by-country.php:237
 
1450
  msgid "Currency"
1451
  msgstr ""
1452
 
@@ -1454,6 +1576,68 @@ msgstr ""
1454
  msgid "Set currency for all external products."
1455
  msgstr ""
1456
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1457
  #: includes/class-wcj-emails.php:25
1458
  msgid "Emails"
1459
  msgstr ""
@@ -1511,10 +1695,10 @@ msgstr ""
1511
  msgid "Admin Title Custom Email"
1512
  msgstr ""
1513
 
1514
- #: includes/class-wcj-emails.php:207 includes/class-wcj-shipping.php:192
1515
  #: includes/emails/class-wc-email-wcj-custom.php:30
1516
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-emails.php:127
1517
- #: includes/shipping/class-wc-shipping-wcj-custom.php:40
1518
  msgid "Custom"
1519
  msgstr ""
1520
 
@@ -1592,13 +1776,15 @@ msgid "Confirmation Text (if enabled)"
1592
  msgstr ""
1593
 
1594
  #: includes/class-wcj-empty-cart-button.php:141
 
 
1595
  msgid "Are you sure?"
1596
  msgstr ""
1597
 
1598
  #: includes/class-wcj-eu-vat-number.php:26
1599
- #: includes/class-wcj-eu-vat-number.php:72
1600
- #: includes/class-wcj-eu-vat-number.php:280
1601
- #: includes/class-wcj-eu-vat-number.php:287
1602
  msgid "EU VAT Number"
1603
  msgstr ""
1604
 
@@ -1617,343 +1803,582 @@ msgstr ""
1617
  msgid "Add all EU countries VAT standard rates to WooCommerce."
1618
  msgstr ""
1619
 
1620
- #: includes/class-wcj-eu-vat-number.php:216
1621
- #: includes/class-wcj-eu-vat-number.php:340
1622
  msgid "<strong>EU VAT Number</strong> is not valid."
1623
  msgstr ""
1624
 
1625
- #: includes/class-wcj-eu-vat-number.php:278
1626
  msgid "Field Label"
1627
  msgstr ""
1628
 
1629
- #: includes/class-wcj-eu-vat-number.php:285
1630
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:213
1631
  msgid "Placeholder"
1632
  msgstr ""
1633
 
1634
- #: includes/class-wcj-eu-vat-number.php:312
1635
  msgid "Clear"
1636
  msgstr ""
1637
 
1638
- #: includes/class-wcj-eu-vat-number.php:319
1639
  msgid "Class"
1640
  msgstr ""
1641
 
1642
- #: includes/class-wcj-eu-vat-number.php:330
1643
  msgid "Validate"
1644
  msgstr ""
1645
 
1646
- #: includes/class-wcj-eu-vat-number.php:338
1647
  msgid "Message on not valid"
1648
  msgstr ""
1649
 
1650
- #: includes/class-wcj-eu-vat-number.php:345
1651
  msgid "Exempt VAT for Valid Numbers"
1652
  msgstr ""
1653
 
1654
- #: includes/class-wcj-eu-vat-number.php:352
1655
  msgid "Preserve VAT in Base Country"
1656
  msgstr ""
1657
 
1658
- #: includes/class-wcj-eu-vat-number.php:370
1659
  msgid "Check for IP Location Country"
1660
  msgstr ""
1661
 
1662
- #: includes/class-wcj-general.php:25 includes/class-wcj-pdf-invoicing.php:26
1663
- msgid "General"
1664
  msgstr ""
1665
 
1666
- #: includes/class-wcj-general.php:26
1667
- msgid ""
1668
- "Separate custom CSS for front and back end. Shortcodes in Wordpress text "
1669
- "widgets."
1670
  msgstr ""
1671
 
1672
- #: includes/class-wcj-general.php:32
1673
- msgid "Products Atts"
1674
  msgstr ""
1675
 
1676
- #: includes/class-wcj-general.php:33
1677
- msgid "All Products and All Attributes."
1678
  msgstr ""
1679
 
1680
- #: includes/class-wcj-general.php:36
1681
  msgid "Export Customers"
1682
  msgstr ""
1683
 
1684
- #: includes/class-wcj-general.php:37
1685
  msgid "Export Customers."
1686
  msgstr ""
1687
 
1688
- #: includes/class-wcj-general.php:40
1689
  msgid "Export Customers from Orders"
1690
  msgstr ""
1691
 
1692
- #: includes/class-wcj-general.php:41
1693
  msgid "Export Customers (extracted from orders)."
1694
  msgstr ""
1695
 
1696
- #: includes/class-wcj-general.php:44
1697
  msgid "Export Orders"
1698
  msgstr ""
1699
 
1700
- #: includes/class-wcj-general.php:45
1701
  msgid "Export Orders."
1702
  msgstr ""
1703
 
1704
- #: includes/class-wcj-general.php:135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1705
  msgid "Download CSV"
1706
  msgstr ""
1707
 
1708
- #: includes/class-wcj-general.php:179
1709
  msgid "Customer ID"
1710
  msgstr ""
1711
 
1712
- #: includes/class-wcj-general.php:180 includes/class-wcj-general.php:201
1713
  msgid "Customer Email"
1714
  msgstr ""
1715
 
1716
- #: includes/class-wcj-general.php:181 includes/class-wcj-general.php:202
1717
  msgid "Customer First Name"
1718
  msgstr ""
1719
 
1720
- #: includes/class-wcj-general.php:182 includes/class-wcj-general.php:203
1721
  msgid "Customer Last Name"
1722
  msgstr ""
1723
 
1724
- #: includes/class-wcj-general.php:200
1725
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:196
1726
  msgid "Order ID"
1727
  msgstr ""
1728
 
1729
- #: includes/class-wcj-general.php:204
1730
- msgid "Order Date"
1731
  msgstr ""
1732
 
1733
- #: includes/class-wcj-general.php:238
1734
- msgid "Nr."
1735
  msgstr ""
1736
 
1737
- #: includes/class-wcj-general.php:240
1738
- msgid "First Name"
1739
  msgstr ""
1740
 
1741
- #: includes/class-wcj-general.php:241
1742
- msgid "Last Name"
1743
  msgstr ""
1744
 
1745
- #: includes/class-wcj-general.php:242
1746
- msgid "Last Order Date"
1747
  msgstr ""
1748
 
1749
- #: includes/class-wcj-general.php:300 includes/class-wcj-general.php:342
1750
- #: includes/class-wcj-product-bulk-price-converter.php:149
1751
- #: includes/class-wcj-sku.php:195
1752
- #: includes/reports/wcj-class-reports-sales.php:132
1753
- #: includes/reports/wcj-class-reports-stock.php:319
1754
- msgid "Product"
1755
  msgstr ""
1756
 
1757
- #: includes/class-wcj-general.php:301 includes/class-wcj-general.php:343
1758
- #: includes/reports/wcj-class-reports-stock.php:320
1759
- msgid "Category"
1760
  msgstr ""
1761
 
1762
- #: includes/class-wcj-general.php:363
1763
- msgid "Total Products:"
1764
  msgstr ""
1765
 
1766
- #: includes/class-wcj-general.php:411
1767
- msgid "Shortcodes Options"
1768
  msgstr ""
1769
 
1770
- #: includes/class-wcj-general.php:417
1771
- msgid "Enable All Shortcodes in WordPress Text Widgets"
1772
  msgstr ""
1773
 
1774
- #: includes/class-wcj-general.php:418
1775
- msgid ""
1776
- "This will enable all (including non Booster's) shortcodes in WordPress text "
1777
- "widgets."
1778
  msgstr ""
1779
 
1780
- #: includes/class-wcj-general.php:426
1781
- msgid "Disable Booster's Shortcodes"
1782
  msgstr ""
1783
 
1784
- #: includes/class-wcj-general.php:427
1785
- msgid "Disable all Booster's shortcodes (for memory saving)."
1786
  msgstr ""
1787
 
1788
- #: includes/class-wcj-general.php:428 includes/class-wcj-general.php:494
1789
- #: includes/class-wcj-general.php:510 includes/class-wcj-general.php:518
1790
- #: includes/class-wcj-general.php:526 includes/class-wcj-general.php:534
1791
- msgid "Disable"
1792
  msgstr ""
1793
 
1794
- #: includes/class-wcj-general.php:440
1795
- msgid "Custom CSS Options"
1796
  msgstr ""
1797
 
1798
- #: includes/class-wcj-general.php:442
1799
- msgid "Another custom CSS, if you need one."
1800
  msgstr ""
1801
 
1802
- #: includes/class-wcj-general.php:447
1803
- msgid "Custom CSS - Front end (Customers)"
1804
  msgstr ""
1805
 
1806
- #: includes/class-wcj-general.php:455
1807
- msgid "Custom CSS - Back end (Admin)"
1808
  msgstr ""
1809
 
1810
- #: includes/class-wcj-general.php:468 includes/class-wcj-general.php:474
1811
- msgid "Product Revisions"
1812
  msgstr ""
1813
 
1814
- #: includes/class-wcj-general.php:487
1815
- msgid "Advanced Options"
1816
  msgstr ""
1817
 
1818
- #: includes/class-wcj-general.php:493
1819
- msgid "Disable Loading Datepicker/Weekpicker CSS"
1820
  msgstr ""
1821
 
1822
- #: includes/class-wcj-general.php:501
1823
- msgid "Datepicker/Weekpicker CSS"
1824
  msgstr ""
1825
 
1826
- #: includes/class-wcj-general.php:509
1827
- msgid "Disable Loading Datepicker/Weekpicker JavaScript"
1828
  msgstr ""
1829
 
1830
- #: includes/class-wcj-general.php:517
1831
- msgid "Disable Loading Timepicker CSS"
1832
  msgstr ""
1833
 
1834
- #: includes/class-wcj-general.php:525
1835
- msgid "Disable Loading Timepicker JavaScript"
1836
  msgstr ""
1837
 
1838
- #: includes/class-wcj-general.php:533
1839
- msgid "Disable Saving PDFs in PHP directory for temporary files"
1840
  msgstr ""
1841
 
1842
- #: includes/class-wcj-mini-cart.php:26
1843
- msgid "Mini Cart"
1844
  msgstr ""
1845
 
1846
- #: includes/class-wcj-mini-cart.php:27
1847
- msgid "Customize WooCommerce mini cart widget."
1848
  msgstr ""
1849
 
1850
- #: includes/class-wcj-mini-cart.php:74
1851
- msgid "Mini Cart Custom Info Blocks"
1852
  msgstr ""
1853
 
1854
- #: includes/class-wcj-mini-cart.php:119 includes/class-wcj-shipping.php:292
1855
- msgid "Before mini cart"
1856
  msgstr ""
1857
 
1858
- #: includes/class-wcj-mini-cart.php:120 includes/class-wcj-shipping.php:293
1859
- msgid "Before buttons"
 
 
 
1860
  msgstr ""
1861
 
1862
- #: includes/class-wcj-mini-cart.php:121 includes/class-wcj-shipping.php:294
1863
- msgid "After mini cart"
 
1864
  msgstr ""
1865
 
1866
- #: includes/class-wcj-more-button-labels.php:26
1867
- msgid "More Button Labels"
 
1868
  msgstr ""
1869
 
1870
- #: includes/class-wcj-more-button-labels.php:27
1871
- msgid "Set WooCommerce \"Place order\" button label."
 
 
 
 
 
 
1872
  msgstr ""
1873
 
1874
- #: includes/class-wcj-more-button-labels.php:52
1875
- msgid "Place order (Order now) Button"
 
 
 
 
 
 
1876
  msgstr ""
1877
 
1878
- #: includes/class-wcj-more-button-labels.php:59
1879
- msgid "leave blank for WooCommerce default"
 
1880
  msgstr ""
1881
 
1882
- #: includes/class-wcj-more-button-labels.php:60
1883
- msgid "Button on the checkout page."
 
 
 
 
 
1884
  msgstr ""
1885
 
1886
- #: includes/class-wcj-multicurrency-product-base-price.php:27
1887
- msgid "Multicurrency Product Base Price"
1888
  msgstr ""
1889
 
1890
- #: includes/class-wcj-multicurrency-product-base-price.php:28
1891
- msgid "Enter prices for WooCommerce products in different currencies."
1892
  msgstr ""
1893
 
1894
- #: includes/class-wcj-multicurrency-product-base-price.php:175
1895
- msgid "Product Currency"
1896
  msgstr ""
1897
 
1898
- #: includes/class-wcj-multicurrency-product-base-price.php:236
1899
- #: includes/class-wcj-multicurrency.php:342
1900
- #: includes/class-wcj-payment-gateways-currency.php:287
1901
- #: includes/class-wcj-price-by-country.php:255
1902
- msgid "Enter Rates Manually"
1903
  msgstr ""
1904
 
1905
- #: includes/class-wcj-multicurrency-product-base-price.php:237
1906
- #: includes/class-wcj-multicurrency.php:343
1907
- #: includes/class-wcj-payment-gateways-currency.php:288
1908
- #: includes/class-wcj-price-by-country.php:256
1909
- msgid "Automatically via Currency Exchange Rates module"
1910
  msgstr ""
1911
 
1912
- #: includes/class-wcj-multicurrency-product-base-price.php:240
1913
- #: includes/class-wcj-multicurrency.php:346
1914
- #: includes/class-wcj-payment-gateways-currency.php:291
1915
- #: includes/class-wcj-price-by-country.php:259
1916
- msgid "Visit"
1917
  msgstr ""
1918
 
1919
- #: includes/class-wcj-multicurrency-product-base-price.php:240
1920
- #: includes/class-wcj-multicurrency.php:346
1921
- #: includes/class-wcj-payment-gateways-currency.php:291
1922
- #: includes/class-wcj-price-by-country.php:259
1923
- msgid "Currency Exchange Rates module"
1924
  msgstr ""
1925
 
1926
- #: includes/class-wcj-multicurrency-product-base-price.php:250
1927
- #: includes/class-wcj-multicurrency.php:371
1928
- msgid "Currencies Options"
 
1929
  msgstr ""
1930
 
1931
- #: includes/class-wcj-multicurrency-product-base-price.php:255
1932
- #: includes/class-wcj-multicurrency.php:377
1933
- msgid "Total Currencies"
1934
  msgstr ""
1935
 
1936
- #: includes/class-wcj-multicurrency.php:26
1937
- msgid "Multicurrency (Currency Switcher)"
1938
  msgstr ""
1939
 
1940
- #: includes/class-wcj-multicurrency.php:27
1941
- msgid "Add multiple currencies (currency switcher) to WooCommerce."
1942
  msgstr ""
1943
 
1944
- #: includes/class-wcj-multicurrency.php:76
1945
- #: includes/class-wcj-price-by-user-role.php:162
1946
- #: includes/price-by-country/class-wcj-price-by-country-local.php:129
1947
- msgid "Regular Price"
1948
  msgstr ""
1949
 
1950
- #: includes/class-wcj-multicurrency.php:85
1951
- #: includes/class-wcj-price-by-user-role.php:171
1952
- #: includes/price-by-country/class-wcj-price-by-country-local.php:136
1953
- msgid "Sale Price"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1954
  msgstr ""
1955
 
1956
- #: includes/class-wcj-multicurrency.php:318
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1957
  msgid ""
1958
  "After setting currencies in the Currencies Options below, use <em>Booster - "
1959
  "Multicurrency Switcher</em> widget, or <em>"
@@ -1962,25 +2387,50 @@ msgid ""
1962
  "( '[wcj_currency_select_drop_down_list]' );</em>"
1963
  msgstr ""
1964
 
1965
- #: includes/class-wcj-multicurrency.php:352
1966
  msgid "Multicurrency on per Product Basis"
1967
  msgstr ""
1968
 
1969
- #: includes/class-wcj-multicurrency.php:354
1970
- #: includes/class-wcj-price-by-country.php:134
1971
  msgid "This will add meta boxes in product edit."
1972
  msgstr ""
1973
 
1974
- #: includes/class-wcj-multicurrency.php:360
 
1975
  msgid "Revert Currency to Default on Checkout"
1976
  msgstr ""
1977
 
1978
- #: includes/class-wcj-multicurrency.php:373
1979
  msgid ""
1980
  "One currency probably should be set to current (original) shop currency with "
1981
  "an exchange rate of 1."
1982
  msgstr ""
1983
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1984
  #: includes/class-wcj-old-slugs.php:25
1985
  msgid "Old Slugs"
1986
  msgstr ""
@@ -2022,7 +2472,7 @@ msgid "Custom statuses for WooCommerce orders."
2022
  msgstr ""
2023
 
2024
  #: includes/class-wcj-order-custom-statuses.php:33
2025
- #: includes/class-wcj-order-custom-statuses.php:266
2026
  msgid "Custom Statuses"
2027
  msgstr ""
2028
 
@@ -2036,7 +2486,7 @@ msgid "Pending payment"
2036
  msgstr ""
2037
 
2038
  #: includes/class-wcj-order-custom-statuses.php:40
2039
- #: includes/functions/wcj-functions.php:619
2040
  msgctxt "Order status"
2041
  msgid "Processing"
2042
  msgstr ""
@@ -2047,121 +2497,128 @@ msgid "On hold"
2047
  msgstr ""
2048
 
2049
  #: includes/class-wcj-order-custom-statuses.php:42
2050
- #: includes/functions/wcj-functions.php:621
2051
  msgctxt "Order status"
2052
  msgid "Completed"
2053
  msgstr ""
2054
 
2055
  #: includes/class-wcj-order-custom-statuses.php:43
2056
- #: includes/functions/wcj-functions.php:622
2057
  msgctxt "Order status"
2058
  msgid "Cancelled"
2059
  msgstr ""
2060
 
2061
  #: includes/class-wcj-order-custom-statuses.php:44
2062
- #: includes/functions/wcj-functions.php:623
2063
  msgctxt "Order status"
2064
  msgid "Refunded"
2065
  msgstr ""
2066
 
2067
  #: includes/class-wcj-order-custom-statuses.php:45
2068
- #: includes/functions/wcj-functions.php:624
2069
  msgctxt "Order status"
2070
  msgid "Failed"
2071
  msgstr ""
2072
 
2073
- #: includes/class-wcj-order-custom-statuses.php:142
2074
  msgid "Status slug is empty. Status not added."
2075
  msgstr ""
2076
 
2077
- #: includes/class-wcj-order-custom-statuses.php:144
2078
  msgid "The length of status slug must be 17 or less characters."
2079
  msgstr ""
2080
 
2081
- #: includes/class-wcj-order-custom-statuses.php:146
2082
  msgid "Status label is empty. Status not added."
2083
  msgstr ""
2084
 
2085
- #: includes/class-wcj-order-custom-statuses.php:152
2086
  msgid "Duplicate slug. Status not added."
2087
  msgstr ""
2088
 
2089
- #: includes/class-wcj-order-custom-statuses.php:158
2090
  msgid "New status have been successfully added!"
2091
  msgstr ""
2092
 
2093
- #: includes/class-wcj-order-custom-statuses.php:160
2094
  msgid "Status was not added."
2095
  msgstr ""
2096
 
2097
- #: includes/class-wcj-order-custom-statuses.php:177
2098
  msgid "Status have been successfully deleted."
2099
  msgstr ""
2100
 
2101
- #: includes/class-wcj-order-custom-statuses.php:179
2102
  msgid "Delete failed."
2103
  msgstr ""
2104
 
2105
- #: includes/class-wcj-order-custom-statuses.php:183
2106
  msgid "Booster - Custom Statuses"
2107
  msgstr ""
2108
 
2109
- #: includes/class-wcj-order-custom-statuses.php:184
2110
  msgid ""
2111
  "The tool lets you add or delete any custom status for WooCommerce orders."
2112
  msgstr ""
2113
 
2114
- #: includes/class-wcj-order-custom-statuses.php:186
2115
  msgid "Statuses"
2116
  msgstr ""
2117
 
2118
- #: includes/class-wcj-order-custom-statuses.php:189
2119
  msgid "Slug"
2120
  msgstr ""
2121
 
2122
- #: includes/class-wcj-order-custom-statuses.php:191
2123
- #: includes/class-wcj-order-custom-statuses.php:201
2124
- #: includes/class-wcj-price-by-user-role.php:224
2125
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:105
2126
- msgid "Delete"
2127
  msgstr ""
2128
 
2129
- #: includes/class-wcj-order-custom-statuses.php:213
 
 
 
 
 
2130
  msgid "Slug (without wc- prefix)"
2131
  msgstr ""
2132
 
2133
- #: includes/class-wcj-order-custom-statuses.php:238
2134
- #: includes/class-wcj-order-custom-statuses.php:239
 
 
 
 
2135
  msgid "Mark"
2136
  msgstr ""
2137
 
2138
- #: includes/class-wcj-order-custom-statuses.php:271
2139
- #: includes/gateways/class-wc-gateway-wcj-custom.php:132
2140
  msgid "Default Order Status"
2141
  msgstr ""
2142
 
2143
- #: includes/class-wcj-order-custom-statuses.php:272
2144
- #: includes/gateways/class-wc-gateway-wcj-custom.php:133
2145
  msgid "Enable Custom Statuses feature to add custom statuses to the list."
2146
  msgstr ""
2147
 
2148
- #: includes/class-wcj-order-custom-statuses.php:273
2149
  msgid ""
2150
  "You can change the default order status here. However payment gateways can "
2151
  "change this status immediatelly on order creation. E.g. BACS gateway will "
2152
  "change status to On-hold."
2153
  msgstr ""
2154
 
2155
- #: includes/class-wcj-order-custom-statuses.php:280
2156
  msgid "Add All Statuses to Admin Order Bulk Actions"
2157
  msgstr ""
2158
 
2159
- #: includes/class-wcj-order-custom-statuses.php:287
2160
  msgid "Add Custom Statuses to Admin Reports"
2161
  msgstr ""
2162
 
2163
  #: includes/class-wcj-order-numbers.php:25
2164
- #: includes/class-wcj-order-numbers.php:167
2165
  msgid "Order Numbers"
2166
  msgstr ""
2167
 
@@ -2179,61 +2636,61 @@ msgstr ""
2179
  msgid "Tool renumerates all orders."
2180
  msgstr ""
2181
 
2182
- #: includes/class-wcj-order-numbers.php:78
2183
  msgid "Orders successfully renumerated!"
2184
  msgstr ""
2185
 
2186
- #: includes/class-wcj-order-numbers.php:82
2187
  msgid ""
2188
  "Press the button below to renumerate all existing orders starting from order "
2189
  "counter settings in WooCommerce > Settings > Booster > Order Numbers."
2190
  msgstr ""
2191
 
2192
- #: includes/class-wcj-order-numbers.php:85
2193
  msgid "Renumerate orders"
2194
  msgstr ""
2195
 
2196
- #: includes/class-wcj-order-numbers.php:169
2197
  msgid ""
2198
  "This section lets you enable sequential order numbering, set custom number "
2199
  "prefix, suffix and width."
2200
  msgstr ""
2201
 
2202
- #: includes/class-wcj-order-numbers.php:173
2203
  msgid "Make Order Numbers Sequential"
2204
  msgstr ""
2205
 
2206
- #: includes/class-wcj-order-numbers.php:180
2207
  msgid "Next Order Number"
2208
  msgstr ""
2209
 
2210
- #: includes/class-wcj-order-numbers.php:181
2211
  msgid "Next new order will be given this number."
2212
  msgstr ""
2213
 
2214
- #: includes/class-wcj-order-numbers.php:181
2215
  msgid "Use Renumerate Orders tool for existing orders."
2216
  msgstr ""
2217
 
2218
- #: includes/class-wcj-order-numbers.php:182
2219
  msgid "This will be ignored if sequential order numbering is disabled."
2220
  msgstr ""
2221
 
2222
- #: includes/class-wcj-order-numbers.php:188
2223
  msgid "Order Number Custom Prefix"
2224
  msgstr ""
2225
 
2226
- #: includes/class-wcj-order-numbers.php:189
2227
  msgid ""
2228
  "Prefix before order number (optional). This will change the prefixes for all "
2229
  "existing orders."
2230
  msgstr ""
2231
 
2232
- #: includes/class-wcj-order-numbers.php:196
2233
  msgid "Order Number Date Prefix"
2234
  msgstr ""
2235
 
2236
- #: includes/class-wcj-order-numbers.php:198
2237
  msgid ""
2238
  "Date prefix before order number (optional). This will change the prefixes "
2239
  "for all existing orders. Value is passed directly to PHP `date` function, so "
@@ -2242,11 +2699,11 @@ msgid ""
2242
  "d- or mdy."
2243
  msgstr ""
2244
 
2245
- #: includes/class-wcj-order-numbers.php:206
2246
  msgid "Order Number Width"
2247
  msgstr ""
2248
 
2249
- #: includes/class-wcj-order-numbers.php:208
2250
  msgid ""
2251
  "Minimum width of number without prefix (zeros will be added to the left "
2252
  "side). This will change the minimum width of order number for all existing "
@@ -2254,21 +2711,21 @@ msgid ""
2254
  "Leave zero to disable."
2255
  msgstr ""
2256
 
2257
- #: includes/class-wcj-order-numbers.php:216
2258
  msgid "Order Number Custom Suffix"
2259
  msgstr ""
2260
 
2261
- #: includes/class-wcj-order-numbers.php:218
2262
  msgid ""
2263
  "Suffix after order number (optional). This will change the suffixes for all "
2264
  "existing orders."
2265
  msgstr ""
2266
 
2267
- #: includes/class-wcj-order-numbers.php:226
2268
  msgid "Order Number Date Suffix"
2269
  msgstr ""
2270
 
2271
- #: includes/class-wcj-order-numbers.php:228
2272
  msgid ""
2273
  "Date suffix after order number (optional). This will change the suffixes for "
2274
  "all existing orders. Value is passed directly to PHP `date` function, so "
@@ -2277,100 +2734,132 @@ msgid ""
2277
  "d- or mdy."
2278
  msgstr ""
2279
 
2280
- #: includes/class-wcj-order-numbers.php:236
2281
  msgid "Use MySQL Transaction"
2282
  msgstr ""
2283
 
2284
- #: includes/class-wcj-order-numbers.php:238
2285
  msgid ""
2286
  "This should be enabled if you have a lot of simultaneous orders in your shop "
2287
  "- to prevent duplicate order numbers (sequential)."
2288
  msgstr ""
2289
 
 
 
 
 
2290
  #: includes/class-wcj-orders.php:25
2291
  msgid "Orders"
2292
  msgstr ""
2293
 
2294
  #: includes/class-wcj-orders.php:26
2295
  msgid ""
2296
- "Minimum WooCommerce order amount; orders auto-complete; custom admin order "
2297
- "list columns."
2298
  msgstr ""
2299
 
2300
- #: includes/class-wcj-orders.php:78
2301
  msgid "All countries"
2302
  msgstr ""
2303
 
2304
- #: includes/class-wcj-orders.php:186
2305
  msgid "Order Minimum Amount"
2306
  msgstr ""
2307
 
2308
- #: includes/class-wcj-orders.php:188
2309
  msgid "This section lets you set minimum order amount."
2310
  msgstr ""
2311
 
2312
- #: includes/class-wcj-orders.php:192
2313
  msgid "Amount"
2314
  msgstr ""
2315
 
2316
- #: includes/class-wcj-orders.php:193
2317
  msgid "Minimum order amount. Set to 0 to disable."
2318
  msgstr ""
2319
 
2320
- #: includes/class-wcj-orders.php:203
 
 
 
 
 
 
 
 
2321
  msgid "Error message"
2322
  msgstr ""
2323
 
2324
- #: includes/class-wcj-orders.php:205 includes/class-wcj-orders.php:222
2325
  msgid ""
2326
  "Message to customer if order is below minimum amount. Default: You must have "
2327
  "an order with a minimum of %s to place your order, your current order total "
2328
  "is %s."
2329
  msgstr ""
2330
 
2331
- #: includes/class-wcj-orders.php:213
2332
  msgid "Add notice to cart page also"
2333
  msgstr ""
2334
 
2335
- #: includes/class-wcj-orders.php:220
2336
  msgid "Message on cart page"
2337
  msgstr ""
2338
 
2339
- #: includes/class-wcj-orders.php:230
2340
  msgid ""
2341
  "Stop customer from seeing the Checkout page if minimum amount not reached."
2342
  msgstr ""
2343
 
2344
- #: includes/class-wcj-orders.php:231
2345
  msgid "Redirect back to Cart page"
2346
  msgstr ""
2347
 
2348
- #: includes/class-wcj-orders.php:241
 
 
 
 
2349
  msgid "Orders Auto-Complete"
2350
  msgstr ""
2351
 
2352
- #: includes/class-wcj-orders.php:243
2353
  msgid "This section lets you enable orders auto-complete function."
2354
  msgstr ""
2355
 
2356
- #: includes/class-wcj-orders.php:247
2357
  msgid "Auto-complete all WooCommerce orders"
2358
  msgstr ""
2359
 
2360
- #: includes/class-wcj-orders.php:249
2361
  msgid ""
2362
  "E.g. if you sell digital products then you are not shipping anything and you "
2363
  "may want auto-complete all your orders."
2364
  msgstr ""
2365
 
2366
- #: includes/class-wcj-orders.php:259 includes/class-wcj-purchase-data.php:382
2367
  msgid "Orders List Custom Columns"
2368
  msgstr ""
2369
 
2370
- #: includes/class-wcj-orders.php:261 includes/class-wcj-purchase-data.php:384
2371
  msgid "This section lets you add custom columns to WooCommerce orders list."
2372
  msgstr ""
2373
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2374
  #: includes/class-wcj-payment-gateways-by-country.php:26
2375
  msgid "Gateways by Country or State"
2376
  msgstr ""
@@ -2382,6 +2871,7 @@ msgid ""
2382
  msgstr ""
2383
 
2384
  #: includes/class-wcj-payment-gateways-by-country.php:88
 
2385
  msgid "Leave empty to disable."
2386
  msgstr ""
2387
 
@@ -2401,6 +2891,31 @@ msgstr ""
2401
  msgid "Exclude States (Base Country)"
2402
  msgstr ""
2403
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2404
  #: includes/class-wcj-payment-gateways-currency.php:26
2405
  msgid "Gateways Currency"
2406
  msgstr ""
@@ -2451,15 +2966,15 @@ msgstr ""
2451
 
2452
  #: includes/class-wcj-payment-gateways-fees.php:164
2453
  #: includes/class-wcj-purchase-data.php:332
2454
- #: includes/class-wcj-wholesale-price.php:235
2455
- #: includes/class-wcj-wholesale-price.php:325
2456
  msgid "Fixed"
2457
  msgstr ""
2458
 
2459
  #: includes/class-wcj-payment-gateways-fees.php:165
2460
  #: includes/class-wcj-purchase-data.php:333
2461
- #: includes/class-wcj-wholesale-price.php:234
2462
- #: includes/class-wcj-wholesale-price.php:324
2463
  msgid "Percent"
2464
  msgstr ""
2465
 
@@ -2515,7 +3030,7 @@ msgid ""
2515
  msgstr ""
2516
 
2517
  #: includes/class-wcj-payment-gateways-icons.php:97
2518
- #: includes/gateways/class-wc-gateway-wcj-custom.php:97
2519
  msgid ""
2520
  "If you want to show an image next to the gateway's name on the frontend, "
2521
  "enter a URL to an image."
@@ -2573,7 +3088,7 @@ msgid ""
2573
  msgstr ""
2574
 
2575
  #: includes/class-wcj-payment-gateways-per-category.php:184
2576
- #: includes/class-wcj-price-labels.php:697
2577
  msgid "Product Categories - Include"
2578
  msgstr ""
2579
 
@@ -2584,7 +3099,7 @@ msgid ""
2584
  msgstr ""
2585
 
2586
  #: includes/class-wcj-payment-gateways-per-category.php:195
2587
- #: includes/class-wcj-price-labels.php:707
2588
  msgid "Product Categories - Exclude"
2589
  msgstr ""
2590
 
@@ -2595,7 +3110,7 @@ msgid ""
2595
  msgstr ""
2596
 
2597
  #: includes/class-wcj-payment-gateways-per-category.php:206
2598
- #: includes/class-wcj-price-labels.php:677
2599
  msgid "Products - Include"
2600
  msgstr ""
2601
 
@@ -2606,7 +3121,7 @@ msgid ""
2606
  msgstr ""
2607
 
2608
  #: includes/class-wcj-payment-gateways-per-category.php:218
2609
- #: includes/class-wcj-price-labels.php:687
2610
  msgid "Products - Exclude"
2611
  msgstr ""
2612
 
@@ -2624,38 +3139,42 @@ msgstr ""
2624
  msgid "Add multiple custom payment gateways to WooCommerce."
2625
  msgstr ""
2626
 
2627
- #: includes/class-wcj-payment-gateways.php:43
 
 
 
 
2628
  msgid "WooCommerce > Settings > Checkout"
2629
  msgstr ""
2630
 
2631
- #: includes/class-wcj-payment-gateways.php:46
2632
  msgid "Custom Payment Gateways Options"
2633
  msgstr ""
2634
 
2635
- #: includes/class-wcj-payment-gateways.php:49
2636
  msgid "This section lets you set number of custom payment gateways to add."
2637
  msgstr ""
2638
 
2639
- #: includes/class-wcj-payment-gateways.php:50
2640
  msgid "After setting the number, visit %s to set each gateway options."
2641
  msgstr ""
2642
 
2643
- #: includes/class-wcj-payment-gateways.php:53
2644
  msgid "Number of Gateways"
2645
  msgstr ""
2646
 
2647
- #: includes/class-wcj-payment-gateways.php:55
2648
  msgid ""
2649
  "Number of custom payments gateways to be added. All settings for each new "
2650
  "gateway are in WooCommerce > Settings > Checkout."
2651
  msgstr ""
2652
 
2653
- #: includes/class-wcj-payment-gateways.php:68
2654
  msgid "Admin Title Custom Gateway"
2655
  msgstr ""
2656
 
2657
- #: includes/class-wcj-payment-gateways.php:70
2658
- #: includes/gateways/class-wc-gateway-wcj-custom.php:345
2659
  msgid "Custom Gateway"
2660
  msgstr ""
2661
 
@@ -2687,23 +3206,23 @@ msgstr ""
2687
  msgid "Invoices Monthly Reports."
2688
  msgstr ""
2689
 
2690
- #: includes/class-wcj-pdf-invoicing.php:187
2691
  msgid "PDF Invoicing General Options"
2692
  msgstr ""
2693
 
2694
- #: includes/class-wcj-pdf-invoicing.php:196
2695
  msgid "Create on New Order"
2696
  msgstr ""
2697
 
2698
- #: includes/class-wcj-pdf-invoicing.php:199
2699
  msgid "Create on Order Status"
2700
  msgstr ""
2701
 
2702
- #: includes/class-wcj-pdf-invoicing.php:201
2703
  msgid "Manual Only"
2704
  msgstr ""
2705
 
2706
- #: includes/class-wcj-pdf-invoicing.php:219
2707
  msgid "Hide Disabled Docs Settings"
2708
  msgstr ""
2709
 
@@ -2717,234 +3236,254 @@ msgid ""
2717
  "country."
2718
  msgstr ""
2719
 
2720
- #: includes/class-wcj-price-by-country.php:78
2721
  msgid "Price by Country Options"
2722
  msgstr ""
2723
 
2724
- #: includes/class-wcj-price-by-country.php:80
2725
  msgid ""
2726
  "Change product's price and currency by customer's country. Customer's "
2727
  "country is detected automatically by IP, or selected by customer manually."
2728
  msgstr ""
2729
 
2730
- #: includes/class-wcj-price-by-country.php:85
2731
  msgid "Customer Country Detection Method"
2732
  msgstr ""
2733
 
2734
- #: includes/class-wcj-price-by-country.php:87
2735
  msgid ""
2736
  "If you choose \"by user selection\", use [wcj_country_select_drop_down_list] "
2737
  "shortcode to display country selection list on frontend."
2738
  msgstr ""
2739
 
2740
- #: includes/class-wcj-price-by-country.php:91
2741
  msgid "by IP"
2742
  msgstr ""
2743
 
2744
- #: includes/class-wcj-price-by-country.php:92
2745
  msgid "by IP, then by user selection"
2746
  msgstr ""
2747
 
2748
- #: includes/class-wcj-price-by-country.php:93
2749
  msgid "by user selection"
2750
  msgstr ""
2751
 
2752
- #: includes/class-wcj-price-by-country.php:110
2753
  msgid "Override Country with Customer's Checkout Billing Country"
2754
  msgstr ""
2755
 
2756
- #: includes/class-wcj-price-by-country.php:118
2757
  msgid "Price Rounding"
2758
  msgstr ""
2759
 
2760
- #: includes/class-wcj-price-by-country.php:119
2761
  msgid "If you choose to multiply price, set rounding options here."
2762
  msgstr ""
2763
 
2764
- #: includes/class-wcj-price-by-country.php:124
2765
  msgid "No rounding"
2766
  msgstr ""
2767
 
2768
- #: includes/class-wcj-price-by-country.php:125
2769
  msgid "Round"
2770
  msgstr ""
2771
 
2772
- #: includes/class-wcj-price-by-country.php:126
2773
  msgid "Round down"
2774
  msgstr ""
2775
 
2776
- #: includes/class-wcj-price-by-country.php:127
2777
  msgid "Round up"
2778
  msgstr ""
2779
 
2780
- #: includes/class-wcj-price-by-country.php:132
2781
  msgid "Price by Country on per Product Basis"
2782
  msgstr ""
2783
 
2784
- #: includes/class-wcj-price-by-country.php:143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2785
  msgid "Country Groups"
2786
  msgstr ""
2787
 
2788
- #: includes/class-wcj-price-by-country.php:149
2789
  msgid "Countries Selection"
2790
  msgstr ""
2791
 
2792
- #: includes/class-wcj-price-by-country.php:150
2793
  msgid "Choose how do you want to enter countries groups in admin."
2794
  msgstr ""
2795
 
2796
- #: includes/class-wcj-price-by-country.php:155
2797
  msgid "Comma separated list"
2798
  msgstr ""
2799
 
2800
- #: includes/class-wcj-price-by-country.php:156
2801
  msgid "Multiselect"
2802
  msgstr ""
2803
 
2804
- #: includes/class-wcj-price-by-country.php:157
2805
  msgid "Chosen select"
2806
  msgstr ""
2807
 
2808
- #: includes/class-wcj-price-by-country.php:162
2809
  msgid "Autogenerate Groups"
2810
  msgstr ""
2811
 
2812
- #: includes/class-wcj-price-by-country.php:167
2813
  msgid "Currencies supported in both PayPal and Yahoo Exchange Rates:"
2814
  msgstr ""
2815
 
2816
- #: includes/class-wcj-price-by-country.php:169
2817
- #: includes/class-wcj-price-by-country.php:174
2818
- #: includes/class-wcj-price-by-country.php:179
2819
  msgid "Generate"
2820
  msgstr ""
2821
 
2822
- #: includes/class-wcj-price-by-country.php:172
2823
  msgid "Currencies supported in Yahoo Exchange Rates:"
2824
  msgstr ""
2825
 
2826
- #: includes/class-wcj-price-by-country.php:177
2827
  msgid "All Countries and Currencies:"
2828
  msgstr ""
2829
 
2830
- #: includes/class-wcj-price-by-country.php:184
2831
  msgid "Groups Number"
2832
  msgstr ""
2833
 
2834
- #: includes/class-wcj-price-by-country.php:203
2835
  msgid ""
2836
  "Countries. List of comma separated country codes.<br>For country codes and "
2837
  "predifined sets visit <a href=\"http://booster.io/features/prices-and-"
2838
  "currencies-by-customers-country\" target=\"_blank\">http://booster.io</a>"
2839
  msgstr ""
2840
 
2841
- #: includes/class-wcj-price-by-country.php:279
2842
  msgid "Multiply Price by"
2843
  msgstr ""
2844
 
2845
- #: includes/class-wcj-price-by-country.php:302
2846
  #: includes/price-by-country/class-wcj-price-by-country-local.php:143
2847
  msgid "Make empty price"
2848
  msgstr ""
2849
 
2850
- #: includes/class-wcj-price-by-user-role.php:27
2851
  msgid "Price by User Role"
2852
  msgstr ""
2853
 
2854
- #: includes/class-wcj-price-by-user-role.php:28
2855
  msgid "Display WooCommerce products prices by user roles."
2856
  msgstr ""
2857
 
2858
- #: includes/class-wcj-price-by-user-role.php:34
2859
- msgid "Add/Manage Custom Roles"
 
 
 
 
2860
  msgstr ""
2861
 
2862
- #: includes/class-wcj-price-by-user-role.php:35
2863
- msgid "Custom Roles"
2864
  msgstr ""
2865
 
2866
- #: includes/class-wcj-price-by-user-role.php:36
2867
- msgid "Manage Custom Roles."
 
 
 
 
 
2868
  msgstr ""
2869
 
2870
- #: includes/class-wcj-price-by-user-role.php:110
2871
  msgid ""
2872
- "Booster: Free plugin's version is limited to only one price by user role per "
2873
- "products settings product enabled at a time. You will need to get <a href="
2874
- "\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> to add "
2875
- "unlimited number of price by user role per product settings products."
2876
  msgstr ""
2877
 
2878
- #: includes/class-wcj-price-by-user-role.php:137
2879
- msgid "Per Product Settings (press Update after changing)"
2880
  msgstr ""
2881
 
2882
- #: includes/class-wcj-price-by-user-role.php:195
2883
- msgid "Both fields are required!"
 
 
2884
  msgstr ""
2885
 
2886
- #: includes/class-wcj-price-by-user-role.php:198
2887
- msgid "Role ID must not be numbers only!"
 
2888
  msgstr ""
2889
 
2890
- #: includes/class-wcj-price-by-user-role.php:202
2891
- msgid "Role successfully added!"
2892
  msgstr ""
2893
 
2894
- #: includes/class-wcj-price-by-user-role.php:204
2895
- msgid "Role already exists!"
2896
  msgstr ""
2897
 
2898
- #: includes/class-wcj-price-by-user-role.php:212
2899
- msgid "Role %s successfully deleted!"
2900
  msgstr ""
2901
 
2902
- #: includes/class-wcj-price-by-user-role.php:218
2903
- #: includes/class-wcj-price-by-user-role.php:231
2904
- #: includes/class-wcj-sku.php:132
2905
- msgid "ID"
2906
  msgstr ""
2907
 
2908
- #: includes/class-wcj-price-by-user-role.php:218
2909
- #: includes/class-wcj-price-by-user-role.php:232
2910
- #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:72
2911
- #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:106
2912
- msgid "Name"
2913
  msgstr ""
2914
 
2915
- #: includes/class-wcj-price-by-user-role.php:218
2916
- msgid "Actions"
2917
  msgstr ""
2918
 
2919
- #: includes/class-wcj-price-by-user-role.php:227
2920
- msgid "Existing Roles"
2921
  msgstr ""
2922
 
2923
- #: includes/class-wcj-price-by-user-role.php:233
2924
- msgid "Add New Role"
2925
  msgstr ""
2926
 
2927
- #: includes/class-wcj-price-by-user-role.php:395
2928
- msgid "Guest"
2929
  msgstr ""
2930
 
2931
- #: includes/class-wcj-price-by-user-role.php:437
2932
- msgid "Enable per Product Settings"
2933
  msgstr ""
2934
 
2935
- #: includes/class-wcj-price-by-user-role.php:439
2936
- msgid ""
2937
- "When enabled, this will add new \"Booster: Price by User Role\" meta box to "
2938
- "each product's edit page."
2939
  msgstr ""
2940
 
2941
- #: includes/class-wcj-price-by-user-role.php:447
2942
- msgid ""
2943
- "When enabled, this will apply user role multipliers to shipping calculations."
2944
  msgstr ""
2945
 
2946
- #: includes/class-wcj-price-by-user-role.php:458
2947
- msgid "Roles & Multipliers"
 
 
 
 
2948
  msgstr ""
2949
 
2950
  #: includes/class-wcj-price-labels.php:25
@@ -3013,177 +3552,377 @@ msgstr ""
3013
  msgid "Booster - Migrate from Custom Price Labels (Pro)"
3014
  msgstr ""
3015
 
3016
- #: includes/class-wcj-price-labels.php:179
3017
- msgid "Migrating (product ID "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3018
  msgstr ""
3019
 
3020
- #: includes/class-wcj-price-labels.php:180
3021
- msgid "Result: "
3022
  msgstr ""
3023
 
3024
- #: includes/class-wcj-price-labels.php:202
3025
- msgid "Found data to migrate (product ID "
3026
  msgstr ""
3027
 
3028
- #: includes/class-wcj-price-labels.php:218
3029
- msgid "No data to migrate found"
 
3030
  msgstr ""
3031
 
3032
- #: includes/class-wcj-price-labels.php:224
3033
  msgid ""
3034
- "Press button below to copy all labels from Custom Price Labels (Pro) plugin. "
3035
- "Old labels will NOT be deleted. New labels will be overwritten."
 
3036
  msgstr ""
3037
 
3038
- #: includes/class-wcj-price-labels.php:225
3039
- msgid "Migrate data"
3040
  msgstr ""
3041
 
3042
- #: includes/class-wcj-price-labels.php:271
3043
- msgid "Booster: Custom Price Labels"
3044
  msgstr ""
3045
 
3046
- #: includes/class-wcj-price-labels.php:611
3047
- msgid "Custom Price Labels - Globally"
3048
  msgstr ""
3049
 
3050
- #: includes/class-wcj-price-labels.php:613
3051
- msgid "This section lets you set price labels for all products globally."
3052
  msgstr ""
3053
 
3054
- #: includes/class-wcj-price-labels.php:617
3055
- msgid "Add before the price"
3056
  msgstr ""
3057
 
3058
- #: includes/class-wcj-price-labels.php:618
3059
- msgid "Enter text to add before all products prices. Leave blank to disable."
3060
  msgstr ""
3061
 
3062
- #: includes/class-wcj-price-labels.php:627
3063
- msgid "Add after the price"
3064
  msgstr ""
3065
 
3066
- #: includes/class-wcj-price-labels.php:628
3067
- msgid "Enter text to add after all products prices. Leave blank to disable."
3068
  msgstr ""
3069
 
3070
- #: includes/class-wcj-price-labels.php:635
3071
- msgid "Add between regular and sale prices"
3072
  msgstr ""
3073
 
3074
- #: includes/class-wcj-price-labels.php:636
3075
- msgid ""
3076
- "Enter text to add between regular and sale prices. Leave blank to disable."
3077
  msgstr ""
3078
 
3079
- #: includes/class-wcj-price-labels.php:645
3080
- msgid "Remove from price"
3081
  msgstr ""
3082
 
3083
- #: includes/class-wcj-price-labels.php:647
3084
- msgid "Enter text to remove from all products prices. Leave blank to disable."
3085
  msgstr ""
3086
 
3087
- #: includes/class-wcj-price-labels.php:656
3088
- msgid "Replace in price"
3089
  msgstr ""
3090
 
3091
- #: includes/class-wcj-price-labels.php:657
3092
- msgid "Enter text to replace in all products prices. Leave blank to disable."
3093
  msgstr ""
3094
 
3095
- #: includes/class-wcj-price-labels.php:668
3096
- msgid "Enter text to replace with. Leave blank to disable."
3097
  msgstr ""
3098
 
3099
- #: includes/class-wcj-price-labels.php:678
3100
- msgid ""
3101
- "Apply global price labels only for selected products. Leave blank to disable "
3102
- "the option."
3103
  msgstr ""
3104
 
3105
- #: includes/class-wcj-price-labels.php:688
3106
  msgid ""
3107
- "Do not apply global price labels only for selected products. Leave blank to "
3108
- "disable the option."
 
 
3109
  msgstr ""
3110
 
3111
- #: includes/class-wcj-price-labels.php:698
3112
- msgid ""
3113
- "Apply global price labels only for selected product categories. Leave blank "
3114
- "to disable the option."
3115
  msgstr ""
3116
 
3117
- #: includes/class-wcj-price-labels.php:708
3118
- msgid ""
3119
- "Do not apply global price labels only for selected product categories. Leave "
3120
- "blank to disable the option."
3121
  msgstr ""
3122
 
3123
- #: includes/class-wcj-price-labels.php:721
3124
- msgid "Custom Price Labels - Per Product"
 
3125
  msgstr ""
3126
 
3127
- #: includes/class-wcj-price-labels.php:727
3128
- msgid "This will add metaboxes to each product's admin edit page."
 
3129
  msgstr ""
3130
 
3131
- #: includes/class-wcj-product-add-to-cart.php:26
3132
- msgid "Product Add to Cart"
 
3133
  msgstr ""
3134
 
3135
- #: includes/class-wcj-product-add-to-cart.php:27
3136
- msgid ""
3137
- "Set any local url to redirect to on WooCommerce Add to Cart. Automatically "
3138
- "add to cart on product visit. Display radio buttons instead of drop box for "
3139
- "variable products."
 
 
3140
  msgstr ""
3141
 
3142
- #: includes/class-wcj-product-add-to-cart.php:118
3143
- msgid "Add to Cart Local Redirect Options"
 
 
 
 
 
 
 
 
 
 
 
 
3144
  msgstr ""
3145
 
3146
- #: includes/class-wcj-product-add-to-cart.php:120
 
3147
  msgid ""
3148
- "This section lets you set any local URL to redirect to after successfully "
3149
- "adding product to cart. Leave empty to redirect to checkout page (skipping "
3150
- "the cart page)."
3151
  msgstr ""
3152
 
3153
- #: includes/class-wcj-product-add-to-cart.php:124
3154
- msgid "Local Redirect"
3155
  msgstr ""
3156
 
3157
- #: includes/class-wcj-product-add-to-cart.php:131
3158
- msgid "Local Redirect URL"
3159
  msgstr ""
3160
 
3161
- #: includes/class-wcj-product-add-to-cart.php:132
3162
- msgid "Performs a safe (local) redirect, using wp_redirect()."
 
 
3163
  msgstr ""
3164
 
3165
- #: includes/class-wcj-product-add-to-cart.php:133
3166
- msgid "Local redirect URL. Leave empty to redirect to checkout."
3167
  msgstr ""
3168
 
3169
- #: includes/class-wcj-product-add-to-cart.php:144
3170
- #: includes/class-wcj-product-add-to-cart.php:150
3171
- msgid "Add to Cart on Visit"
3172
  msgstr ""
3173
 
3174
- #: includes/class-wcj-product-add-to-cart.php:146
3175
- msgid ""
3176
- "This section lets you enable automatically adding product to cart on "
3177
- "visiting the product page. Product is only added once, so if it is already "
3178
- "in cart - duplicate product is not added. "
3179
  msgstr ""
3180
 
3181
- #: includes/class-wcj-product-add-to-cart.php:161
3182
- msgid "Add to Cart Variable Product"
3183
  msgstr ""
3184
 
3185
- #: includes/class-wcj-product-add-to-cart.php:166
3186
- msgid "Display Radio Buttons Instead of Drop Box"
 
 
 
 
 
3187
  msgstr ""
3188
 
3189
  #: includes/class-wcj-product-bookings.php:27
@@ -3194,41 +3933,48 @@ msgstr ""
3194
  msgid "Add bookings products to WooCommerce."
3195
  msgstr ""
3196
 
3197
- #: includes/class-wcj-product-bookings.php:127
3198
- #: includes/class-wcj-product-bookings.php:220
 
3199
  msgid "\"Date to\" must be after \"Date from\""
3200
  msgstr ""
3201
 
3202
- #: includes/class-wcj-product-bookings.php:139
3203
  #: includes/class-wcj-product-open-pricing.php:209
3204
  msgid "Read more"
3205
  msgstr ""
3206
 
3207
- #: includes/class-wcj-product-bookings.php:178
 
3208
  msgid "Period"
3209
  msgstr ""
3210
 
3211
- #: includes/class-wcj-product-bookings.php:210
 
3212
  msgid "\"Date from\" must be set"
3213
  msgstr ""
3214
 
3215
- #: includes/class-wcj-product-bookings.php:214
 
3216
  msgid "\"Date to\" must be set"
3217
  msgstr ""
3218
 
3219
- #: includes/class-wcj-product-bookings.php:293
 
3220
  msgid "Date from"
3221
  msgstr ""
3222
 
3223
- #: includes/class-wcj-product-bookings.php:297
 
3224
  msgid "Date to"
3225
  msgstr ""
3226
 
3227
- #: includes/class-wcj-product-bookings.php:312
3228
- msgid "day"
 
3229
  msgstr ""
3230
 
3231
- #: includes/class-wcj-product-bookings.php:380
3232
  msgid ""
3233
  "Booster: Free plugin's version is limited to only one bookings product "
3234
  "enabled at a time. You will need to get <a href=\"http://booster.io/plus/\" "
@@ -3236,7 +3982,41 @@ msgid ""
3236
  "products."
3237
  msgstr ""
3238
 
3239
- #: includes/class-wcj-product-bookings.php:425
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3240
  msgid ""
3241
  "When enabled, module will add new \"Booster: Bookings\" meta box to each "
3242
  "product's edit page."
@@ -3256,8 +4036,9 @@ msgid "Bulk Price Converter Tool."
3256
  msgstr ""
3257
 
3258
  #: includes/class-wcj-product-bulk-price-converter.php:150
3259
- #: includes/class-wcj-sku.php:196
3260
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:147
 
3261
  msgid "Categories"
3262
  msgstr ""
3263
 
@@ -3306,7 +4087,7 @@ msgid "Products category"
3306
  msgstr ""
3307
 
3308
  #: includes/class-wcj-product-bulk-price-converter.php:261
3309
- #: includes/shortcodes/class-wcj-products-shortcodes.php:247
3310
  msgid "Any"
3311
  msgstr ""
3312
 
@@ -3331,7 +4112,7 @@ msgid "Change Prices"
3331
  msgstr ""
3332
 
3333
  #: includes/class-wcj-product-by-country.php:27
3334
- msgid "Product by Country"
3335
  msgstr ""
3336
 
3337
  #: includes/class-wcj-product-by-country.php:28
@@ -3348,8 +4129,122 @@ msgid ""
3348
  "to each product's edit page."
3349
  msgstr ""
3350
 
3351
- #: includes/class-wcj-product-custom-info.php:26
3352
- msgid "Product Info V2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3353
  msgstr ""
3354
 
3355
  #: includes/class-wcj-product-custom-info.php:27
@@ -3453,90 +4348,102 @@ msgstr ""
3453
  msgid "Customize WooCommerce products images, thumbnails and sale flashes."
3454
  msgstr ""
3455
 
3456
- #: includes/class-wcj-product-images.php:86
 
 
 
 
 
3457
  msgid "Replace image with custom HTML on single product page"
3458
  msgstr ""
3459
 
3460
- #: includes/class-wcj-product-images.php:92
3461
  msgid "Replace image with custom HTML on archives"
3462
  msgstr ""
3463
 
3464
- #: includes/class-wcj-product-images.php:133
3465
- #: includes/class-wcj-product-images.php:270
3466
- msgid "Sale!"
 
 
 
3467
  msgstr ""
3468
 
3469
- #: includes/class-wcj-product-images.php:181
 
 
 
 
3470
  msgid "Product Image and Thumbnails"
3471
  msgstr ""
3472
 
3473
- #: includes/class-wcj-product-images.php:191
3474
  msgid "Image and Thumbnails on Single"
3475
  msgstr ""
3476
 
3477
- #: includes/class-wcj-product-images.php:199
 
 
 
 
 
 
 
 
 
 
 
 
3478
  msgid "Replace Image on Single"
3479
  msgstr ""
3480
 
3481
- #: includes/class-wcj-product-images.php:200
3482
  msgid ""
3483
  "Replace image on single product page with custom HTML. Leave blank to "
3484
  "disable."
3485
  msgstr ""
3486
 
3487
- #: includes/class-wcj-product-images.php:208
3488
  msgid "Replace Thumbnails on Single"
3489
  msgstr ""
3490
 
3491
- #: includes/class-wcj-product-images.php:209
3492
  msgid ""
3493
  "Replace thumbnails on single product page with custom HTML. Leave blank to "
3494
  "disable."
3495
  msgstr ""
3496
 
3497
- #: includes/class-wcj-product-images.php:217
3498
- msgid "Image on Single"
3499
- msgstr ""
3500
-
3501
- #: includes/class-wcj-product-images.php:225
3502
- msgid "Thumbnails on Single"
3503
- msgstr ""
3504
-
3505
- #: includes/class-wcj-product-images.php:233
3506
  msgid "Replace Image on Archive"
3507
  msgstr ""
3508
 
3509
- #: includes/class-wcj-product-images.php:234
3510
  msgid ""
3511
  "Replace image on archive pages with custom HTML. Leave blank to disable."
3512
  msgstr ""
3513
 
3514
- #: includes/class-wcj-product-images.php:242
3515
- msgid "Image on Archives"
3516
- msgstr ""
3517
-
3518
- #: includes/class-wcj-product-images.php:250
3519
  msgid "Single Product Thumbnails Columns"
3520
  msgstr ""
3521
 
3522
- #: includes/class-wcj-product-images.php:258
3523
  msgid "Product Images Sale Flash"
3524
  msgstr ""
3525
 
3526
- #: includes/class-wcj-product-images.php:268
3527
  msgid "HTML"
3528
  msgstr ""
3529
 
3530
- #: includes/class-wcj-product-images.php:276
3531
  msgid "Hide on Archives (Categories)"
3532
  msgstr ""
3533
 
3534
- #: includes/class-wcj-product-images.php:283
3535
  msgid "Hide on Single"
3536
  msgstr ""
3537
 
3538
  #: includes/class-wcj-product-info.php:103
3539
- msgid "Product Info"
3540
  msgstr ""
3541
 
3542
  #: includes/class-wcj-product-info.php:274
@@ -3672,7 +4579,7 @@ msgid "Product Input Fields Number"
3672
  msgstr ""
3673
 
3674
  #: includes/class-wcj-product-input-fields.php:198
3675
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:288
3676
  #: includes/input-fields/class-wcj-product-input-fields-per-product.php:164
3677
  msgid "Product Input Field"
3678
  msgstr ""
@@ -3693,23 +4600,6 @@ msgstr ""
3693
  msgid "Affects Checkout, Emails and Admin Orders View"
3694
  msgstr ""
3695
 
3696
- #: includes/class-wcj-product-input-fields.php:247
3697
- msgid "Emails Options"
3698
- msgstr ""
3699
-
3700
- #: includes/class-wcj-product-input-fields.php:253
3701
- msgid "Attach Files to Admin's New Order Emails"
3702
- msgstr ""
3703
-
3704
- #: includes/class-wcj-product-input-fields.php:254
3705
- #: includes/class-wcj-product-input-fields.php:262
3706
- msgid "Attach"
3707
- msgstr ""
3708
-
3709
- #: includes/class-wcj-product-input-fields.php:261
3710
- msgid "Attach Files to Customer's Processing Order Emails"
3711
- msgstr ""
3712
-
3713
  #: includes/class-wcj-product-input-fields.php:276
3714
  msgid "Admin Order View Options"
3715
  msgstr ""
@@ -3718,134 +4608,178 @@ msgstr ""
3718
  msgid "Replace Field ID with Field Label"
3719
  msgstr ""
3720
 
3721
- #: includes/class-wcj-product-listings.php:24
3722
  msgid "Product Listings"
3723
  msgstr ""
3724
 
3725
- #: includes/class-wcj-product-listings.php:25
3726
  msgid ""
3727
  "Change WooCommerce display options for shop and category pages: show/hide "
3728
- "categories count, exclude categories, show/hide empty categories."
 
3729
  msgstr ""
3730
 
3731
- #: includes/class-wcj-product-listings.php:120
3732
- msgid "WooJetpack: Categories Count"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3733
  msgstr ""
3734
 
3735
- #: includes/class-wcj-product-listings.php:121
3736
- #: includes/class-wcj-product-listings.php:201
3737
  msgid "Hide categories count on shop page"
3738
  msgstr ""
3739
 
3740
- #: includes/class-wcj-product-listings.php:127
3741
- msgid "WooJetpack: Exclude Categories on Shop Page"
3742
  msgstr ""
3743
 
3744
- #: includes/class-wcj-product-listings.php:128
3745
- #: includes/class-wcj-product-listings.php:208
3746
  msgid ""
3747
  " Excludes one or more categories from the shop page. This parameter takes a "
3748
  "comma-separated list of categories by unique ID, in ascending order. Leave "
3749
  "blank to disable."
3750
  msgstr ""
3751
 
3752
- #: includes/class-wcj-product-listings.php:135
3753
- #: includes/class-wcj-product-listings.php:168
3754
- msgid "WooJetpack: Hide Empty"
3755
  msgstr ""
3756
 
3757
- #: includes/class-wcj-product-listings.php:136
3758
- #: includes/class-wcj-product-listings.php:216
3759
  msgid "Hide empty categories on shop page"
3760
  msgstr ""
3761
 
3762
- #: includes/class-wcj-product-listings.php:142
3763
- #: includes/class-wcj-product-listings.php:175
3764
- msgid "WooJetpack: Show Products"
3765
  msgstr ""
3766
 
3767
- #: includes/class-wcj-product-listings.php:143
3768
- #: includes/class-wcj-product-listings.php:223
3769
  msgid "Show products if no categories are displayed on shop page"
3770
  msgstr ""
3771
 
3772
- #: includes/class-wcj-product-listings.php:151
3773
- msgid "WooJetpack: Subcategories Count"
 
 
 
 
 
 
 
 
 
 
 
3774
  msgstr ""
3775
 
3776
- #: includes/class-wcj-product-listings.php:152
3777
- #: includes/class-wcj-product-listings.php:240
3778
  msgid "Hide subcategories count on category pages"
3779
  msgstr ""
3780
 
3781
- #: includes/class-wcj-product-listings.php:160
3782
- msgid "WooJetpack: Exclude Subcategories on Category Pages"
3783
  msgstr ""
3784
 
3785
- #: includes/class-wcj-product-listings.php:161
3786
- #: includes/class-wcj-product-listings.php:249
3787
  msgid ""
3788
  " Excludes one or more categories from the category (archive) pages. This "
3789
  "parameter takes a comma-separated list of categories by unique ID, in "
3790
  "ascending order. Leave blank to disable."
3791
  msgstr ""
3792
 
3793
- #: includes/class-wcj-product-listings.php:169
3794
- #: includes/class-wcj-product-listings.php:257
3795
  msgid "Hide empty subcategories on category pages"
3796
  msgstr ""
3797
 
3798
- #: includes/class-wcj-product-listings.php:176
3799
- #: includes/class-wcj-product-listings.php:264
3800
  msgid "Show products if no categories are displayed on category page"
3801
  msgstr ""
3802
 
3803
- #: includes/class-wcj-product-listings.php:194
3804
- msgid "Shop Page Display Options"
 
 
 
 
 
 
 
 
3805
  msgstr ""
3806
 
3807
- #: includes/class-wcj-product-listings.php:196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3808
  msgid ""
3809
- "This will work only when \"Shop Page Display\" in \"WooCommerce > Settings > "
3810
- "Products > Product Listings\" is set to \"Show subcategories\" or \"Show both"
3811
- "\"."
3812
  msgstr ""
3813
 
3814
- #: includes/class-wcj-product-listings.php:200
3815
- msgid "Categories Count"
3816
  msgstr ""
3817
 
3818
- #: includes/class-wcj-product-listings.php:207
3819
- msgid "Exclude Categories"
3820
  msgstr ""
3821
 
3822
- #: includes/class-wcj-product-listings.php:215
3823
- #: includes/class-wcj-product-listings.php:256
3824
- msgid "Hide Empty"
3825
  msgstr ""
3826
 
3827
- #: includes/class-wcj-product-listings.php:222
3828
- #: includes/class-wcj-product-listings.php:263
3829
- msgid "Show Products"
3830
  msgstr ""
3831
 
3832
- #: includes/class-wcj-product-listings.php:233
3833
- msgid "Category Display Options"
3834
  msgstr ""
3835
 
3836
- #: includes/class-wcj-product-listings.php:235
3837
- msgid ""
3838
- "This will work only when \"Default Category Display\" in \"WooCommerce > "
3839
- "Settings > Products > Product Listings\" is set to \"Show subcategories\" or "
3840
- "\"Show both\"."
3841
  msgstr ""
3842
 
3843
- #: includes/class-wcj-product-listings.php:239
3844
- msgid "Subcategories Count"
3845
  msgstr ""
3846
 
3847
- #: includes/class-wcj-product-listings.php:248
3848
- msgid "Exclude Subcategories"
3849
  msgstr ""
3850
 
3851
  #: includes/class-wcj-product-open-pricing.php:27
@@ -3878,42 +4812,46 @@ msgid "Max Price"
3878
  msgstr ""
3879
 
3880
  #: includes/class-wcj-product-open-pricing.php:265
3881
- #: includes/class-wcj-product-open-pricing.php:380
3882
  msgid "Price is required!"
3883
  msgstr ""
3884
 
3885
  #: includes/class-wcj-product-open-pricing.php:269
3886
- #: includes/class-wcj-product-open-pricing.php:387
3887
  msgid "Entered price is to small!"
3888
  msgstr ""
3889
 
3890
  #: includes/class-wcj-product-open-pricing.php:275
3891
- #: includes/class-wcj-product-open-pricing.php:394
3892
  msgid "Entered price is to big!"
3893
  msgstr ""
3894
 
3895
- #: includes/class-wcj-product-open-pricing.php:331
3896
- #: includes/class-wcj-product-open-pricing.php:373
3897
  msgid "Name Your Price"
3898
  msgstr ""
3899
 
3900
- #: includes/class-wcj-product-open-pricing.php:366
3901
- msgid "Labels and Messages"
3902
  msgstr ""
3903
 
3904
- #: includes/class-wcj-product-open-pricing.php:371
3905
- msgid "Frontend Label"
 
 
 
 
3906
  msgstr ""
3907
 
3908
- #: includes/class-wcj-product-open-pricing.php:378
3909
  msgid "Message on Empty Price"
3910
  msgstr ""
3911
 
3912
- #: includes/class-wcj-product-open-pricing.php:385
3913
  msgid "Message on Price to Small"
3914
  msgstr ""
3915
 
3916
- #: includes/class-wcj-product-open-pricing.php:392
3917
  msgid "Message on Price to Big"
3918
  msgstr ""
3919
 
@@ -3925,11 +4863,11 @@ msgstr ""
3925
  msgid "Set formula for automatic WooCommerce product price calculation."
3926
  msgstr ""
3927
 
3928
- #: includes/class-wcj-product-price-by-formula.php:117
3929
  msgid "Error in formula"
3930
  msgstr ""
3931
 
3932
- #: includes/class-wcj-product-price-by-formula.php:204
3933
  msgid ""
3934
  "Booster: Free plugin's version is limited to only one price by formula "
3935
  "product enabled at a time. You will need to get <a href=\"http://booster.io/"
@@ -3937,46 +4875,46 @@ msgid ""
3937
  "by formula products."
3938
  msgstr ""
3939
 
3940
- #: includes/class-wcj-product-price-by-formula.php:242
3941
  msgid "Use values below"
3942
  msgstr ""
3943
 
3944
- #: includes/class-wcj-product-price-by-formula.php:243
3945
  msgid "Use default values"
3946
  msgstr ""
3947
 
3948
- #: includes/class-wcj-product-price-by-formula.php:245
3949
  msgid "Calculation"
3950
  msgstr ""
3951
 
3952
- #: includes/class-wcj-product-price-by-formula.php:251
3953
- #: includes/class-wcj-product-price-by-formula.php:311
3954
  msgid "Formula"
3955
  msgstr ""
3956
 
3957
- #: includes/class-wcj-product-price-by-formula.php:257
3958
  msgid "Number of Parameters"
3959
  msgstr ""
3960
 
3961
- #: includes/class-wcj-product-price-by-formula.php:291
3962
  msgid "Final Price Preview"
3963
  msgstr ""
3964
 
3965
- #: includes/class-wcj-product-price-by-formula.php:305
3966
  msgid "Default Settings"
3967
  msgstr ""
3968
 
3969
- #: includes/class-wcj-product-price-by-formula.php:307
3970
  msgid ""
3971
  "You can set default settings here. All settings can later be changed in "
3972
  "individual product's edit page."
3973
  msgstr ""
3974
 
3975
- #: includes/class-wcj-product-price-by-formula.php:312
3976
  msgid "Use \"x\" variable for product's base price. For example: x+p1*p2"
3977
  msgstr ""
3978
 
3979
- #: includes/class-wcj-product-price-by-formula.php:318
3980
  msgid "Total Params"
3981
  msgstr ""
3982
 
@@ -4003,17 +4941,6 @@ msgstr ""
4003
  msgid "Click \"Update\" product after you change this number."
4004
  msgstr ""
4005
 
4006
- #: includes/class-wcj-product-tabs.php:421
4007
- #: includes/class-wcj-product-tabs.php:542
4008
- #: includes/class-wcj-purchase-data.php:321
4009
- #: includes/class-wcj-related-products.php:123
4010
- #: includes/gateways/class-wc-gateway-wcj-custom.php:63
4011
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:206
4012
- #: includes/shipping/class-wc-shipping-wcj-custom.php:69
4013
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:130
4014
- msgid "Title"
4015
- msgstr ""
4016
-
4017
  #: includes/class-wcj-product-tabs.php:426
4018
  #: includes/class-wcj-related-products.php:127
4019
  msgid "Order"
@@ -4110,7 +5037,7 @@ msgstr ""
4110
  #: includes/class-wcj-product-tabs.php:635
4111
  #: includes/class-wcj-product-tabs.php:644
4112
  #: includes/class-wcj-product-tabs.php:653
4113
- #: includes/classes/class-wcj-module.php:368
4114
  msgid "Depreciated"
4115
  msgstr ""
4116
 
@@ -4306,16 +5233,6 @@ msgstr ""
4306
  msgid "Leave blank to disable"
4307
  msgstr ""
4308
 
4309
- #: includes/class-wcj-purchase-data.php:328
4310
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:44
4311
- #: includes/shipping/class-wc-shipping-wcj-custom.php:76
4312
- msgid "Type"
4313
- msgstr ""
4314
-
4315
- #: includes/class-wcj-purchase-data.php:338
4316
- msgid "Default Value"
4317
- msgstr ""
4318
-
4319
  #: includes/class-wcj-purchase-data.php:351
4320
  msgid "Info Fields"
4321
  msgstr ""
@@ -4438,10 +5355,6 @@ msgstr ""
4438
  msgid "Booster: Monthly Sales"
4439
  msgstr ""
4440
 
4441
- #: includes/class-wcj-reports.php:248
4442
- msgid "Beta"
4443
- msgstr ""
4444
-
4445
  #: includes/class-wcj-reports.php:263
4446
  msgid "Booster: All in stock"
4447
  msgstr ""
@@ -4540,133 +5453,125 @@ msgstr ""
4540
  msgid "Make non clickable"
4541
  msgstr ""
4542
 
4543
- #: includes/class-wcj-shipping.php:27
4544
  msgid "Add multiple custom shipping methods to WooCommerce."
4545
  msgstr ""
4546
 
4547
- #: includes/class-wcj-shipping.php:28
4548
  msgid "Hide WooCommerce shipping when free is available."
4549
  msgstr ""
4550
 
4551
- #: includes/class-wcj-shipping.php:29
4552
  msgid "Display \"left to free shipping\" info."
4553
  msgstr ""
4554
 
4555
- #: includes/class-wcj-shipping.php:71 includes/class-wcj-shipping.php:81
4556
- #: includes/class-wcj-shipping.php:91 includes/class-wcj-shipping.php:247
4557
- #: includes/class-wcj-shipping.php:281 includes/class-wcj-shipping.php:319
4558
- #: includes/functions/wcj-functions.php:150
4559
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:53
4560
  msgid "%left_to_free% left to free shipping"
4561
  msgstr ""
4562
 
4563
- #: includes/class-wcj-shipping.php:136
4564
  msgid "Booster: Hide shipping"
4565
  msgstr ""
4566
 
4567
- #: includes/class-wcj-shipping.php:137 includes/class-wcj-shipping.php:211
4568
- msgid "Hide local delivery when free is available"
4569
- msgstr ""
4570
-
4571
- #: includes/class-wcj-shipping.php:145 includes/class-wcj-shipping.php:218
4572
  msgid "Hide all when free is available"
4573
  msgstr ""
4574
 
4575
- #: includes/class-wcj-shipping.php:165
4576
  msgid "WooCommerce > Settings > Shipping"
4577
  msgstr ""
4578
 
4579
- #: includes/class-wcj-shipping.php:168
4580
- #: includes/shipping/class-wc-shipping-wcj-custom.php:72
4581
  msgid "Custom Shipping"
4582
  msgstr ""
4583
 
4584
- #: includes/class-wcj-shipping.php:171
4585
  msgid "This section lets you set number of custom shipping methods to add."
4586
  msgstr ""
4587
 
4588
- #: includes/class-wcj-shipping.php:172
4589
  msgid "After setting the number, visit %s to set each method options."
4590
  msgstr ""
4591
 
4592
- #: includes/class-wcj-shipping.php:175
4593
  msgid "Custom Shipping Methods Number"
4594
  msgstr ""
4595
 
4596
- #: includes/class-wcj-shipping.php:190
4597
  msgid "Admin Title Custom Shipping"
4598
  msgstr ""
4599
 
4600
- #: includes/class-wcj-shipping.php:204
4601
- msgid "Hide if free is available"
4602
  msgstr ""
4603
 
4604
- #: includes/class-wcj-shipping.php:206
4605
  msgid ""
4606
  "This section lets you hide other shipping options when free shipping is "
4607
  "available on shop frontend."
4608
  msgstr ""
4609
 
4610
- #: includes/class-wcj-shipping.php:210
4611
  msgid "Hide shipping"
4612
  msgstr ""
4613
 
4614
- #: includes/class-wcj-shipping.php:229
4615
  msgid "Left to Free Shipping Info Options"
4616
  msgstr ""
4617
 
4618
- #: includes/class-wcj-shipping.php:231
4619
  msgid ""
4620
  "This section lets you enable info on cart, mini cart and checkout pages."
4621
  msgstr ""
4622
 
4623
- #: includes/class-wcj-shipping.php:232
4624
  msgid ""
4625
  "You can also use <em>Booster - Left to Free Shipping</em> widget, <em>"
4626
  "[wcj_get_left_to_free_shipping content=\"\"]</em> shortcode or "
4627
  "<em>wcj_get_left_to_free_shipping( $content );</em> function."
4628
  msgstr ""
4629
 
4630
- #: includes/class-wcj-shipping.php:233
4631
  msgid ""
4632
  "In content you can use: <em>%left_to_free%</em> and <em>"
4633
  "%free_shipping_min_amount%</em> shortcodes."
4634
  msgstr ""
4635
 
4636
- #: includes/class-wcj-shipping.php:237
4637
  msgid "Info on Cart"
4638
  msgstr ""
4639
 
4640
- #: includes/class-wcj-shipping.php:262 includes/class-wcj-shipping.php:300
4641
- #: includes/class-wcj-shipping.php:344
4642
  msgid "Position Order (Priority)"
4643
  msgstr ""
4644
 
4645
- #: includes/class-wcj-shipping.php:269
4646
  msgid "Info on Mini Cart"
4647
  msgstr ""
4648
 
4649
- #: includes/class-wcj-shipping.php:307
4650
  msgid "Info on Checkout"
4651
  msgstr ""
4652
 
4653
- #: includes/class-wcj-shipping.php:351
4654
  msgid "Message on Free Shipping Reached"
4655
  msgstr ""
4656
 
4657
- #: includes/class-wcj-shipping.php:352
4658
  msgid "You can set it empty"
4659
  msgstr ""
4660
 
4661
- #: includes/class-wcj-shipping.php:354
4662
- #: includes/functions/wcj-functions.php:160
4663
  msgid "You have Free delivery"
4664
  msgstr ""
4665
 
4666
- #: includes/class-wcj-sku.php:26 includes/class-wcj-sku.php:197
4667
- msgid "SKU"
4668
- msgstr ""
4669
-
4670
  #: includes/class-wcj-sku.php:27
4671
  msgid "Generate WooCommerce SKUs automatically."
4672
  msgstr ""
@@ -4679,68 +5584,105 @@ msgstr ""
4679
  msgid "The tool generates and sets product SKUs for existing products."
4680
  msgstr ""
4681
 
4682
- #: includes/class-wcj-sku.php:203
4683
  msgid "SKUs generated and set successfully!"
4684
  msgstr ""
4685
 
4686
- #: includes/class-wcj-sku.php:209
4687
  msgid "Preview SKUs"
4688
  msgstr ""
4689
 
4690
- #: includes/class-wcj-sku.php:210
4691
  msgid "Set SKUs"
4692
  msgstr ""
4693
 
4694
- #: includes/class-wcj-sku.php:226
4695
  msgid "SKU Format Options"
4696
  msgstr ""
4697
 
4698
- #: includes/class-wcj-sku.php:246 includes/class-wcj-sku.php:301
4699
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4700
  msgid "Prefix"
4701
  msgstr ""
4702
 
4703
- #: includes/class-wcj-sku.php:253
4704
  msgid "Minimum Number Length"
4705
  msgstr ""
4706
 
4707
- #: includes/class-wcj-sku.php:260 includes/class-wcj-sku.php:310
4708
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:69
4709
  msgid "Suffix"
4710
  msgstr ""
4711
 
4712
- #: includes/class-wcj-sku.php:269
4713
  msgid "Variable Products Variations"
4714
  msgstr ""
4715
 
4716
- #: includes/class-wcj-sku.php:270
4717
  msgid ""
4718
  "Please note, that on new variable product creation, variations will get same "
4719
  "SKUs as parent product, and if you want variations to have different SKUs, "
4720
  "you will need to run \"Autogenerate SKUs\" tool manually."
4721
  msgstr ""
4722
 
4723
- #: includes/class-wcj-sku.php:275
4724
  msgid "SKU same as parent's product"
4725
  msgstr ""
4726
 
4727
- #: includes/class-wcj-sku.php:276
4728
  msgid "Generate different SKU for each variation"
4729
  msgstr ""
4730
 
4731
- #: includes/class-wcj-sku.php:277
4732
  msgid "SKU same as parent's product + variation letter suffix"
4733
  msgstr ""
4734
 
4735
- #: includes/class-wcj-sku.php:290
4736
  msgid "Categories Options"
4737
  msgstr ""
4738
 
4739
- #: includes/class-wcj-sku.php:327
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4740
  msgid "When enabled - all new products will be given (autogenerated) SKU."
4741
  msgstr ""
4742
 
4743
- #: includes/class-wcj-sku.php:328
4744
  msgid ""
4745
  "If you wish to set SKUs for existing products, use \"Autogenerate SKUs\" "
4746
  "Tool."
@@ -4831,82 +5773,114 @@ msgid ""
4831
  "more pay less)."
4832
  msgstr ""
4833
 
4834
- #: includes/class-wcj-wholesale-price.php:227
4835
  msgid "Enable per Product Levels"
4836
  msgstr ""
4837
 
4838
- #: includes/class-wcj-wholesale-price.php:237
4839
- #: includes/class-wcj-wholesale-price.php:319
4840
  msgid "Discount Type"
4841
  msgstr ""
4842
 
4843
- #: includes/class-wcj-wholesale-price.php:243
4844
- #: includes/class-wcj-wholesale-price.php:338
 
 
4845
  msgid "Number of levels"
4846
  msgstr ""
4847
 
4848
- #: includes/class-wcj-wholesale-price.php:243
4849
- msgid "Press \"Update\" after you change this number"
 
 
 
4850
  msgstr ""
4851
 
4852
- #: includes/class-wcj-wholesale-price.php:256
4853
- #: includes/class-wcj-wholesale-price.php:262
 
 
4854
  msgid "Level"
4855
  msgstr ""
4856
 
4857
- #: includes/class-wcj-wholesale-price.php:256
4858
- #: includes/class-wcj-wholesale-price.php:351
 
 
4859
  msgid "Min quantity"
4860
  msgstr ""
4861
 
4862
- #: includes/class-wcj-wholesale-price.php:262
4863
- #: includes/class-wcj-wholesale-price.php:359
4864
- #: includes/class-wcj-wholesale-price.php:360
 
 
 
4865
  msgid "Discount"
4866
  msgstr ""
4867
 
4868
- #: includes/class-wcj-wholesale-price.php:280
4869
  msgid ""
4870
  "Wholesale Price Levels Options. If you want to display prices table on "
4871
  "frontend, use [wcj_product_wholesale_price_table] shortcode."
4872
  msgstr ""
4873
 
4874
- #: includes/class-wcj-wholesale-price.php:284
4875
  msgid "Enable per Product"
4876
  msgstr ""
4877
 
4878
- #: includes/class-wcj-wholesale-price.php:291
4879
  msgid "Use total cart quantity instead of product quantity"
4880
  msgstr ""
4881
 
4882
- #: includes/class-wcj-wholesale-price.php:298
4883
  msgid "Apply wholesale discount only if no other cart discounts were applied"
4884
  msgstr ""
4885
 
4886
- #: includes/class-wcj-wholesale-price.php:305
4887
  msgid "Show discount info on cart page"
4888
  msgstr ""
4889
 
4890
- #: includes/class-wcj-wholesale-price.php:306
4891
- msgid "Show"
4892
- msgstr ""
4893
-
4894
- #: includes/class-wcj-wholesale-price.php:312
4895
  msgid "If show discount info on cart page is enabled, set format here"
4896
  msgstr ""
4897
 
4898
- #: includes/class-wcj-wholesale-price.php:329
4899
  msgid "Products to include"
4900
  msgstr ""
4901
 
4902
- #: includes/class-wcj-wholesale-price.php:330
4903
  msgid "Leave blank to include all products."
4904
  msgstr ""
4905
 
4906
- #: includes/class-wcj-wholesale-price.php:352
 
 
 
 
 
 
 
 
 
4907
  msgid "Minimum quantity to apply discount"
4908
  msgstr ""
4909
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4910
  #: includes/class-wcj-wpml.php:26
4911
  msgid "Booster WPML"
4912
  msgstr ""
@@ -4915,11 +5889,11 @@ msgstr ""
4915
  msgid "Booster for WooCommerce basic WPML support."
4916
  msgstr ""
4917
 
4918
- #: includes/class-wcj-wpml.php:66 includes/classes/class-wcj-module.php:280
4919
  msgid "Tools"
4920
  msgstr ""
4921
 
4922
- #: includes/class-wcj-wpml.php:71 includes/classes/class-wcj-module.php:286
4923
  msgid "Module Tools"
4924
  msgstr ""
4925
 
@@ -4931,49 +5905,49 @@ msgstr ""
4931
  msgid "File wpml-config.xml successfully regenerated!"
4932
  msgstr ""
4933
 
4934
- #: includes/classes/class-wcj-module.php:50
4935
  msgid ""
4936
  "Are you sure you want to reset current module's settings to default values?"
4937
  msgstr ""
4938
 
4939
- #: includes/classes/class-wcj-module.php:60
4940
  msgid "Settings have been reset to defaults."
4941
  msgstr ""
4942
 
4943
- #: includes/classes/class-wcj-module.php:268
4944
  msgid "Back to Module Settings"
4945
  msgstr ""
4946
 
4947
- #: includes/classes/class-wcj-module.php:360
4948
  msgid "disabled"
4949
  msgstr ""
4950
 
4951
- #: includes/classes/class-wcj-module.php:406
4952
  msgid "Reset Settings"
4953
  msgstr ""
4954
 
4955
- #: includes/classes/class-wcj-module.php:412
4956
  msgid "Reset Module to Default Settings"
4957
  msgstr ""
4958
 
4959
- #: includes/classes/class-wcj-module.php:413
4960
  msgid "Reset Submodule to Default Settings"
4961
  msgstr ""
4962
 
4963
- #: includes/classes/class-wcj-module.php:416
4964
  msgid "Reset settings"
4965
  msgstr ""
4966
 
4967
- #: includes/classes/class-wcj-module.php:450
4968
  msgid "Module Options"
4969
  msgstr ""
4970
 
4971
- #: includes/classes/class-wcj-module.php:457
4972
  msgid "Enable Module"
4973
  msgstr ""
4974
 
4975
- #: includes/classes/class-wcj-pdf-invoice.php:258
4976
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:178
4977
  msgid "Unexpected error"
4978
  msgstr ""
4979
 
@@ -5640,33 +6614,33 @@ msgstr ""
5640
  msgid "[{site_title}] Custom Subject - Order ({order_number}) - {order_date}"
5641
  msgstr ""
5642
 
5643
- #: includes/emails/class-wc-email-wcj-custom.php:206
5644
  msgid "New order (%s)"
5645
  msgstr ""
5646
 
5647
- #: includes/emails/class-wc-email-wcj-custom.php:207
5648
  msgid "Order status updated to %s"
5649
  msgstr ""
5650
 
5651
- #: includes/emails/class-wc-email-wcj-custom.php:210
5652
  msgid "Order status %s to %s"
5653
  msgstr ""
5654
 
5655
- #: includes/emails/class-wc-email-wcj-custom.php:217
5656
  #: includes/gateways/class-wc-gateway-wcj-custom.php:56
5657
- #: includes/shipping/class-wc-shipping-wcj-custom.php:63
5658
  msgid "Enable/Disable"
5659
  msgstr ""
5660
 
5661
- #: includes/emails/class-wc-email-wcj-custom.php:219
5662
  msgid "Enable this email notification"
5663
  msgstr ""
5664
 
5665
- #: includes/emails/class-wc-email-wcj-custom.php:223
5666
  msgid "Trigger(s)"
5667
  msgstr ""
5668
 
5669
- #: includes/emails/class-wc-email-wcj-custom.php:227
5670
  msgid ""
5671
  "Please note, that all new orders in WooCommerce by default are created with "
5672
  "Pending Payment status. If you want to change the default order status - you "
@@ -5674,98 +6648,98 @@ msgid ""
5674
  "Settings > Booster > Shipping & Orders > Order Custom Statuses)."
5675
  msgstr ""
5676
 
5677
- #: includes/emails/class-wc-email-wcj-custom.php:230
5678
  msgid "New order (Any status)"
5679
  msgstr ""
5680
 
5681
- #: includes/emails/class-wc-email-wcj-custom.php:235
5682
  msgid "Reset password notification"
5683
  msgstr ""
5684
 
5685
- #: includes/emails/class-wc-email-wcj-custom.php:236
5686
  msgid "Order fully refunded notification"
5687
  msgstr ""
5688
 
5689
- #: includes/emails/class-wc-email-wcj-custom.php:237
5690
  msgid "Order partially refunded notification"
5691
  msgstr ""
5692
 
5693
- #: includes/emails/class-wc-email-wcj-custom.php:238
5694
  msgid "New customer note notification"
5695
  msgstr ""
5696
 
5697
- #: includes/emails/class-wc-email-wcj-custom.php:246
5698
  msgid "Recipient(s)"
5699
  msgstr ""
5700
 
5701
- #: includes/emails/class-wc-email-wcj-custom.php:248
5702
  msgid ""
5703
  "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
5704
  "code>."
5705
  msgstr ""
5706
 
5707
- #: includes/emails/class-wc-email-wcj-custom.php:248
5708
  msgid "Or enter <code>%customer%</code> to send to customer billing email."
5709
  msgstr ""
5710
 
5711
- #: includes/emails/class-wc-email-wcj-custom.php:253
5712
  msgid "Subject"
5713
  msgstr ""
5714
 
5715
- #: includes/emails/class-wc-email-wcj-custom.php:255
5716
  msgid ""
5717
  "This controls the email subject line. Leave blank to use the default "
5718
  "subject: <code>%s</code>."
5719
  msgstr ""
5720
 
5721
- #: includes/emails/class-wc-email-wcj-custom.php:260
5722
  msgid "Email Heading"
5723
  msgstr ""
5724
 
5725
- #: includes/emails/class-wc-email-wcj-custom.php:262
5726
  msgid ""
5727
  "This controls the main heading contained within the email notification. "
5728
  "Leave blank to use the default heading: <code>%s</code>."
5729
  msgstr ""
5730
 
5731
- #: includes/emails/class-wc-email-wcj-custom.php:267
5732
  msgid "Email type"
5733
  msgstr ""
5734
 
5735
- #: includes/emails/class-wc-email-wcj-custom.php:269
5736
  msgid "Choose which format of email to send."
5737
  msgstr ""
5738
 
5739
- #: includes/emails/class-wc-email-wcj-custom.php:275
5740
  msgid "HTML template"
5741
  msgstr ""
5742
 
5743
- #: includes/emails/class-wc-email-wcj-custom.php:277
5744
- #: includes/emails/class-wc-email-wcj-custom.php:286
5745
  msgid "You can use shortcodes here. E.g. Booster's order shortcodes."
5746
  msgstr ""
5747
 
5748
- #: includes/emails/class-wc-email-wcj-custom.php:284
5749
  msgid "Plain text template"
5750
  msgstr ""
5751
 
5752
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:175
5753
  msgid "Cron job: exchange rates successfully updated"
5754
  msgstr ""
5755
 
5756
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:177
5757
  msgid "Cron job: exchange rates not updated, as currency_from == currency_to"
5758
  msgstr ""
5759
 
5760
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:180
5761
  msgid "Cron job: exchange rates update failed"
5762
  msgstr ""
5763
 
5764
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:193
5765
  msgid "Once Weekly"
5766
  msgstr ""
5767
 
5768
- #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:198
5769
  msgid "Once a Minute"
5770
  msgstr ""
5771
 
@@ -6745,92 +7719,97 @@ msgstr ""
6745
  msgid "Zimbabwe"
6746
  msgstr ""
6747
 
6748
- #: includes/functions/wcj-functions.php:180
6749
  msgid "Before cart"
6750
  msgstr ""
6751
 
6752
- #: includes/functions/wcj-functions.php:181
6753
  msgid "Before cart table"
6754
  msgstr ""
6755
 
6756
- #: includes/functions/wcj-functions.php:182
6757
  msgid "Before cart contents"
6758
  msgstr ""
6759
 
6760
- #: includes/functions/wcj-functions.php:183
6761
  msgid "Cart contents"
6762
  msgstr ""
6763
 
6764
- #: includes/functions/wcj-functions.php:184
6765
  msgid "Cart coupon"
6766
  msgstr ""
6767
 
6768
- #: includes/functions/wcj-functions.php:185
6769
  msgid "Cart actions"
6770
  msgstr ""
6771
 
6772
- #: includes/functions/wcj-functions.php:186
6773
  msgid "After cart contents"
6774
  msgstr ""
6775
 
6776
- #: includes/functions/wcj-functions.php:187
6777
  msgid "After cart table"
6778
  msgstr ""
6779
 
6780
- #: includes/functions/wcj-functions.php:188
6781
  msgid "Cart collaterals"
6782
  msgstr ""
6783
 
6784
- #: includes/functions/wcj-functions.php:189
6785
  msgid "After cart"
6786
  msgstr ""
6787
 
6788
- #: includes/functions/wcj-functions.php:191
6789
  msgid "Before cart totals"
6790
  msgstr ""
6791
 
6792
- #: includes/functions/wcj-functions.php:192
6793
  msgid "Cart totals: Before shipping"
6794
  msgstr ""
6795
 
6796
- #: includes/functions/wcj-functions.php:193
6797
  msgid "Cart totals: After shipping"
6798
  msgstr ""
6799
 
6800
- #: includes/functions/wcj-functions.php:194
6801
  msgid "Cart totals: Before order total"
6802
  msgstr ""
6803
 
6804
- #: includes/functions/wcj-functions.php:195
6805
  msgid "Cart totals: After order total"
6806
  msgstr ""
6807
 
6808
- #: includes/functions/wcj-functions.php:196
6809
  msgid "Proceed to checkout"
6810
  msgstr ""
6811
 
6812
- #: includes/functions/wcj-functions.php:197
6813
  msgid "After cart totals"
6814
  msgstr ""
6815
 
6816
- #: includes/functions/wcj-functions.php:199
6817
  msgid "Before shipping calculator"
6818
  msgstr ""
6819
 
6820
- #: includes/functions/wcj-functions.php:200
6821
  msgid "After shipping calculator"
6822
  msgstr ""
6823
 
6824
- #: includes/functions/wcj-functions.php:202
6825
  msgid "If cart is empty"
6826
  msgstr ""
6827
 
6828
- #: includes/functions/wcj-functions.php:618
 
 
 
 
 
6829
  msgctxt "Order status"
6830
  msgid "Pending Payment"
6831
  msgstr ""
6832
 
6833
- #: includes/functions/wcj-functions.php:620
6834
  msgctxt "Order status"
6835
  msgid "On Hold"
6836
  msgstr ""
@@ -6880,7 +7859,7 @@ msgid "Enable Custom Payment"
6880
  msgstr ""
6881
 
6882
  #: includes/gateways/class-wc-gateway-wcj-custom.php:65
6883
- #: includes/shipping/class-wc-shipping-wcj-custom.php:71
6884
  msgid "This controls the title which the user sees during checkout."
6885
  msgstr ""
6886
 
@@ -6893,96 +7872,100 @@ msgid "Payment method description that the customer will see on your checkout."
6893
  msgstr ""
6894
 
6895
  #: includes/gateways/class-wc-gateway-wcj-custom.php:74
 
 
 
 
6896
  msgid "Custom Payment Description."
6897
  msgstr ""
6898
 
6899
- #: includes/gateways/class-wc-gateway-wcj-custom.php:79
6900
  msgid "Instructions"
6901
  msgstr ""
6902
 
6903
- #: includes/gateways/class-wc-gateway-wcj-custom.php:81
6904
  msgid "Instructions that will be added to the thank you page."
6905
  msgstr ""
6906
 
6907
- #: includes/gateways/class-wc-gateway-wcj-custom.php:87
6908
  msgid "Email Instructions"
6909
  msgstr ""
6910
 
6911
- #: includes/gateways/class-wc-gateway-wcj-custom.php:89
6912
  msgid "Instructions that will be added to the emails."
6913
  msgstr ""
6914
 
6915
- #: includes/gateways/class-wc-gateway-wcj-custom.php:95
6916
  msgid "Icon"
6917
  msgstr ""
6918
 
6919
- #: includes/gateways/class-wc-gateway-wcj-custom.php:104
6920
  msgid "Minimum order amount"
6921
  msgstr ""
6922
 
6923
- #: includes/gateways/class-wc-gateway-wcj-custom.php:106
6924
  msgid ""
6925
  "If you want to set minimum order amount to show this gateway on frontend, "
6926
  "enter a number here. Set to 0 to disable."
6927
  msgstr ""
6928
 
6929
- #: includes/gateways/class-wc-gateway-wcj-custom.php:113
6930
  msgid "Enable for shipping methods"
6931
  msgstr ""
6932
 
6933
- #: includes/gateways/class-wc-gateway-wcj-custom.php:118
6934
  msgid ""
6935
  "If gateway is only available for certain shipping methods, set it up here. "
6936
  "Leave blank to enable for all methods."
6937
  msgstr ""
6938
 
6939
- #: includes/gateways/class-wc-gateway-wcj-custom.php:121
6940
  msgid "Select shipping methods"
6941
  msgstr ""
6942
 
6943
- #: includes/gateways/class-wc-gateway-wcj-custom.php:125
6944
  msgid "Enable for virtual orders"
6945
  msgstr ""
6946
 
6947
- #: includes/gateways/class-wc-gateway-wcj-custom.php:126
6948
  msgid "Enable gateway if the order is virtual"
6949
  msgstr ""
6950
 
6951
- #: includes/gateways/class-wc-gateway-wcj-custom.php:140
6952
  msgid "Send Additional Emails"
6953
  msgstr ""
6954
 
6955
- #: includes/gateways/class-wc-gateway-wcj-custom.php:141
6956
  msgid "Send to Admin"
6957
  msgstr ""
6958
 
6959
- #: includes/gateways/class-wc-gateway-wcj-custom.php:149
6960
  msgid "Send to Customer"
6961
  msgstr ""
6962
 
6963
- #: includes/gateways/class-wc-gateway-wcj-custom.php:150
6964
  msgid ""
6965
  "This may help if you are using pending or custom default status and not "
6966
  "getting new order emails."
6967
  msgstr ""
6968
 
6969
- #: includes/gateways/class-wc-gateway-wcj-custom.php:156
6970
  msgid "Custom Return URL (Thank You Page)"
6971
  msgstr ""
6972
 
6973
- #: includes/gateways/class-wc-gateway-wcj-custom.php:157
6974
  msgid "URL"
6975
  msgstr ""
6976
 
6977
- #: includes/gateways/class-wc-gateway-wcj-custom.php:158
6978
  msgid "Enter full URL with http(s)."
6979
  msgstr ""
6980
 
6981
- #: includes/gateways/class-wc-gateway-wcj-custom.php:159
6982
  msgid "Optional. Leave blank to use default URL."
6983
  msgstr ""
6984
 
6985
- #: includes/gateways/class-wc-gateway-wcj-custom.php:346
6986
  msgid "Booster for WooCommerce: Custom Payment Gateway"
6987
  msgstr ""
6988
 
@@ -7012,55 +7995,68 @@ msgstr ""
7012
  msgid ".jpg,.jpeg,.png"
7013
  msgstr ""
7014
 
7015
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:118
7016
- msgid "Datepicker/Weekpicker: Date format"
 
 
 
 
 
7017
  msgstr ""
7018
 
7019
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:126
7020
- msgid "Datepicker/Weekpicker: Min date"
7021
  msgstr ""
7022
 
7023
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:134
7024
- msgid "Datepicker/Weekpicker: Max date"
7025
  msgstr ""
7026
 
7027
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:142
7028
- msgid "Datepicker/Weekpicker: Change year"
7029
  msgstr ""
7030
 
7031
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:150
 
 
 
 
7032
  msgid "Datepicker/Weekpicker: Year range"
7033
  msgstr ""
7034
 
7035
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:159
7036
  msgid "Datepicker/Weekpicker: First week day"
7037
  msgstr ""
7038
 
7039
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:176
7040
  msgid "Timepicker: Time format"
7041
  msgstr ""
7042
 
7043
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:184
7044
  msgid "Timepicker: Interval"
7045
  msgstr ""
7046
 
7047
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:191
7048
  msgid "If select/radio is selected, set options here. One option per line"
7049
  msgstr ""
7050
 
7051
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:192
7052
  msgid "Select/Radio: Options"
7053
  msgstr ""
7054
 
7055
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:220
7056
  msgid "Message on required"
7057
  msgstr ""
7058
 
7059
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:456
7060
  msgid "Wrong file type!"
7061
  msgstr ""
7062
 
7063
- #: includes/input-fields/class-wcj-product-input-fields-abstract.php:600
 
 
 
 
7064
  msgid "Select a country&hellip;"
7065
  msgstr ""
7066
 
@@ -7181,99 +8177,103 @@ msgstr ""
7181
  msgid "Download all monthly documents PDFs in single ZIP file"
7182
  msgstr ""
7183
 
7184
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:194
7185
- msgid "Invoice Nr."
7186
  msgstr ""
7187
 
7188
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:195
7189
- msgid "Invoice Date"
7190
  msgstr ""
7191
 
7192
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:197
7193
  msgid "Customer Country"
7194
  msgstr ""
7195
 
7196
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:198
7197
  msgid "Customer VAT ID"
7198
  msgstr ""
7199
 
7200
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:199
7201
  msgid "Tax %"
7202
  msgstr ""
7203
 
7204
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:200
7205
  msgid "Order Total Tax Excl."
7206
  msgstr ""
7207
 
7208
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:201
7209
  msgid "Order Taxes"
7210
  msgstr ""
7211
 
7212
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:202
7213
- msgid "Order Total"
7214
- msgstr ""
7215
-
7216
- #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:203
7217
- msgid "Order Currency"
7218
  msgstr ""
7219
 
7220
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:26
7221
  msgid "Display & Misc."
7222
  msgstr ""
7223
 
7224
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:96
7225
  msgid "View"
7226
  msgstr ""
7227
 
7228
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:115
7229
  msgid "Create"
7230
  msgstr ""
7231
 
7232
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:247
7233
  msgid "Admin's \"Orders\" Page"
7234
  msgstr ""
7235
 
7236
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:248
7237
  msgid "Add Column"
7238
  msgstr ""
7239
 
7240
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:256
7241
  msgid "Column Title"
7242
  msgstr ""
7243
 
7244
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:281
7245
  msgid "Add View Button"
7246
  msgstr ""
7247
 
7248
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:288
7249
  msgid "Add Create Button"
7250
  msgstr ""
7251
 
7252
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:295
7253
  msgid "Add Delete Button"
7254
  msgstr ""
7255
 
7256
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:302
 
 
 
 
 
 
 
 
7257
  msgid "Customer's \"My Account\" Page"
7258
  msgstr ""
7259
 
7260
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:303
7261
  msgid "Add link"
7262
  msgstr ""
7263
 
7264
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:311
7265
  msgid "Link Text"
7266
  msgstr ""
7267
 
7268
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:318
7269
  msgid "Enable \"Save as\""
7270
  msgstr ""
7271
 
7272
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:320
7273
  msgid "Enable \"save as\" pdf instead of view pdf in browser"
7274
  msgstr ""
7275
 
7276
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:327
7277
  msgid "PDF File Name"
7278
  msgstr ""
7279
 
@@ -7433,15 +8433,11 @@ msgstr ""
7433
  msgid "Numbering"
7434
  msgstr ""
7435
 
7436
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:45
7437
- msgid "Sequential"
7438
- msgstr ""
7439
-
7440
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:51
7441
  msgid "Counter"
7442
  msgstr ""
7443
 
7444
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:63
7445
  msgid "Counter Width"
7446
  msgstr ""
7447
 
@@ -7505,14 +8501,18 @@ msgstr ""
7505
  msgid "Templates"
7506
  msgstr ""
7507
 
7508
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-templates.php:52
7509
  msgid "HTML Template"
7510
  msgstr ""
7511
 
7512
- #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-templates.php:65
7513
  msgid "Available Shortcodes"
7514
  msgstr ""
7515
 
 
 
 
 
7516
  #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:77
7517
  msgid "Create All Country Groups Failed."
7518
  msgstr ""
@@ -7584,26 +8584,62 @@ msgstr ""
7584
  msgid "Report for:"
7585
  msgstr ""
7586
 
7587
- #: includes/reports/wcj-class-reports-monthly-sales.php:110
 
 
 
 
 
 
 
 
7588
  msgid "Total Orders"
7589
  msgstr ""
7590
 
7591
- #: includes/reports/wcj-class-reports-monthly-sales.php:112
 
 
 
 
7592
  msgid "Total Sum"
7593
  msgstr ""
7594
 
7595
- #: includes/reports/wcj-class-reports-monthly-sales.php:113
7596
  msgid "Total Sum (excl. TAX)"
7597
  msgstr ""
7598
 
7599
- #: includes/reports/wcj-class-reports-monthly-sales.php:114
 
 
 
 
7600
  msgid "Average / Day (excl. TAX)"
7601
  msgstr ""
7602
 
7603
- #: includes/reports/wcj-class-reports-monthly-sales.php:210
 
 
 
 
 
 
 
 
 
 
 
 
7604
  msgid "Report currency"
7605
  msgstr ""
7606
 
 
 
 
 
 
 
 
 
7607
  #: includes/reports/wcj-class-reports-sales.php:177
7608
  msgid "Filter"
7609
  msgstr ""
@@ -7647,14 +8683,6 @@ msgstr ""
7647
  msgid "deleted"
7648
  msgstr ""
7649
 
7650
- #: includes/reports/wcj-class-reports-stock.php:321
7651
- msgid "Price"
7652
- msgstr ""
7653
-
7654
- #: includes/reports/wcj-class-reports-stock.php:322
7655
- msgid "Stock"
7656
- msgstr ""
7657
-
7658
  #: includes/reports/wcj-class-reports-stock.php:323
7659
  msgid "Stock price"
7660
  msgstr ""
@@ -7715,40 +8743,61 @@ msgstr ""
7715
  msgid "Report was generated in: "
7716
  msgstr ""
7717
 
7718
- #: includes/shipping/class-wc-shipping-wcj-custom.php:41
7719
  msgid "Booster: Custom Shipping Method"
7720
  msgstr ""
7721
 
7722
- #: includes/shipping/class-wc-shipping-wcj-custom.php:65
7723
  msgid "Enable Custom Shipping"
7724
  msgstr ""
7725
 
7726
- #: includes/shipping/class-wc-shipping-wcj-custom.php:78
7727
  msgid "Cost calculation type."
7728
  msgstr ""
7729
 
7730
- #: includes/shipping/class-wc-shipping-wcj-custom.php:82
7731
  msgid "Flat Rate"
7732
  msgstr ""
7733
 
7734
- #: includes/shipping/class-wc-shipping-wcj-custom.php:83
7735
  msgid "By Total Cart Weight"
7736
  msgstr ""
7737
 
7738
- #: includes/shipping/class-wc-shipping-wcj-custom.php:84
 
 
 
 
7739
  msgid "By Total Cart Quantity"
7740
  msgstr ""
7741
 
7742
- #: includes/shipping/class-wc-shipping-wcj-custom.php:88
 
7743
  msgid "Cost"
7744
  msgstr ""
7745
 
7746
- #: includes/shipping/class-wc-shipping-wcj-custom.php:90
7747
  msgid ""
7748
  "Cost. If calculating by weight - then cost per one weight unit. If "
7749
  "calculating by quantity - then cost per one piece."
7750
  msgstr ""
7751
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7752
  #: includes/shortcodes/class-wcj-orders-shortcodes.php:86
7753
  msgid "Dollars"
7754
  msgstr ""
@@ -7757,34 +8806,54 @@ msgstr ""
7757
  msgid "Cents"
7758
  msgstr ""
7759
 
7760
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:117
7761
- msgid "Error!"
 
 
 
 
7762
  msgstr ""
7763
 
7764
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:118
7765
- msgid "Success!"
7766
  msgstr ""
7767
 
7768
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:120
7769
- msgid "Error Validating!"
7770
  msgstr ""
7771
 
7772
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:124
7773
- msgid "Add New Product"
7774
  msgstr ""
7775
 
7776
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:138
7777
- msgid "Short Description"
7778
  msgstr ""
7779
 
7780
- #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:156
7781
- msgid "Tags"
 
 
 
 
7782
  msgstr ""
7783
 
7784
- #: includes/shortcodes/class-wcj-products-shortcodes.php:221
7785
  msgid "%s ago"
7786
  msgstr ""
7787
 
 
 
 
 
 
 
 
 
 
 
 
 
7788
  #: includes/templates/wcj-add-to-cart-variable.php:24
7789
  msgid "This product is currently out of stock and unavailable."
7790
  msgstr ""
@@ -7831,16 +8900,20 @@ msgstr ""
7831
  msgid "Customer Country Detection Method must include \"by user selection\"!"
7832
  msgstr ""
7833
 
7834
- #: includes/widgets/class-wcj-widget-country-switcher.php:76
7835
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:56
7836
  #: includes/widgets/class-wcj-widget-multicurrency.php:72
7837
  msgid "Title:"
7838
  msgstr ""
7839
 
7840
- #: includes/widgets/class-wcj-widget-country-switcher.php:80
7841
  msgid "Countries:"
7842
  msgstr ""
7843
 
 
 
 
 
7844
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:24
7845
  msgid "Booster: Left to Free Shipping Widget"
7846
  msgstr ""
@@ -7885,64 +8958,86 @@ msgstr ""
7885
  msgid "Link list"
7886
  msgstr ""
7887
 
7888
- #. #-#-#-#-# plugin.pot (Booster for WooCommerce 2.5.0) #-#-#-#-#
 
 
 
 
 
 
7889
  #. Plugin Name of the plugin/theme
7890
- #: woocommerce-jetpack.php:277
7891
  msgid "Booster for WooCommerce"
7892
  msgstr ""
7893
 
7894
- #: woocommerce-jetpack.php:278
7895
  msgid "Booster Settings"
7896
  msgstr ""
7897
 
7898
- #: woocommerce-jetpack.php:294
7899
  msgid "Docs"
7900
  msgstr ""
7901
 
7902
- #: woocommerce-jetpack.php:295
7903
  msgid "Unlock all"
7904
  msgstr ""
7905
 
7906
- #: woocommerce-jetpack.php:310
7907
  msgid "Install Booster Plus to unlock all features"
7908
  msgstr ""
7909
 
7910
- #: woocommerce-jetpack.php:311
7911
  msgid ""
7912
  "Some settings fields are locked and you will need %s to modify all locked "
7913
  "fields."
7914
  msgstr ""
7915
 
7916
- #: woocommerce-jetpack.php:312
7917
  msgid "Buy now"
7918
  msgstr ""
7919
 
7920
- #: woocommerce-jetpack.php:312
7921
  msgid "Visit Booster Site"
7922
  msgstr ""
7923
 
7924
- #: woocommerce-jetpack.php:316
7925
  msgid ""
7926
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
7927
  "to change value."
7928
  msgstr ""
7929
 
7930
- #: woocommerce-jetpack.php:319
7931
  msgid ""
7932
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
7933
  "to change values below."
7934
  msgstr ""
7935
 
7936
- #: woocommerce-jetpack.php:322
7937
  msgid ""
7938
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
7939
  "to change values above."
7940
  msgstr ""
7941
 
7942
- #: woocommerce-jetpack.php:325
7943
  msgid "Get Booster Plus to change value."
7944
  msgstr ""
7945
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7946
  #. Plugin URI of the plugin/theme
7947
  msgid "http://booster.io"
7948
  msgstr ""
2
  # This file is distributed under the same license as the Booster for WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Booster for WooCommerce 2.5.5\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce-"
7
  "jetpack\n"
8
+ "POT-Creation-Date: 2016-08-23 08:04:26+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
26
  msgstr ""
27
 
28
  #: includes/admin/class-wc-settings-jetpack.php:26
29
+ #: includes/admin/class-wc-settings-jetpack.php:347
30
+ #: includes/class-wcj-checkout-files-upload.php:140
31
+ #: includes/class-wcj-payment-gateways.php:55
32
+ #: includes/classes/class-wcj-module.php:180
33
+ #: includes/classes/class-wcj-module.php:369
34
  msgid "Booster"
35
  msgstr ""
36
 
50
  msgid "Active"
51
  msgstr ""
52
 
53
+ #: includes/admin/class-wc-settings-jetpack.php:200
54
+ msgid "Manage Settings"
55
+ msgstr ""
56
+
57
+ #: includes/admin/class-wc-settings-jetpack.php:242
58
  #: includes/admin/wcj-modules-cats.php:15
59
  msgid "Dashboard"
60
  msgstr ""
61
 
62
+ #: includes/admin/class-wc-settings-jetpack.php:272
63
+ #: includes/class-wcj-product-custom-info.php:26
64
+ msgid "Product Info"
65
+ msgstr ""
66
+
67
+ #: includes/admin/class-wc-settings-jetpack.php:278
68
  msgid ""
69
+ "Please note that current <em>%s</em> module is depreciated and will be "
70
+ "removed in future updates. Please use <em>%s</em> module instead."
71
  msgstr ""
72
 
73
+ #: includes/admin/class-wc-settings-jetpack.php:343
74
  msgid "WooCommerce"
75
  msgstr ""
76
 
77
+ #: includes/admin/class-wc-settings-jetpack.php:345
78
+ #: includes/admin/class-wc-settings-jetpack.php:484
79
+ #: woocommerce-jetpack.php:358
80
  msgid "Settings"
81
  msgstr ""
82
 
83
+ #: includes/admin/class-wc-settings-jetpack.php:391
84
+ msgid ""
85
+ "This section lets you export, import or reset all Booster's modules settings."
86
+ msgstr ""
87
+
88
+ #: includes/admin/class-wc-settings-jetpack.php:409
89
+ #: includes/class-wcj-export-import.php:28
90
+ msgid "Export"
91
+ msgstr ""
92
+
93
+ #: includes/admin/class-wc-settings-jetpack.php:410
94
+ msgid "Import"
95
+ msgstr ""
96
+
97
+ #: includes/admin/class-wc-settings-jetpack.php:412
98
+ msgid ""
99
+ "This will reset settings to defaults for all Booster modules. Are you sure?"
100
+ msgstr ""
101
+
102
+ #: includes/admin/class-wc-settings-jetpack.php:412
103
+ msgid "Reset"
104
+ msgstr ""
105
+
106
+ #: includes/admin/class-wc-settings-jetpack.php:415
107
  msgid "Version"
108
  msgstr ""
109
 
110
+ #: includes/admin/class-wc-settings-jetpack.php:439
111
+ #: includes/admin/class-wc-settings-jetpack.php:446
112
  msgid "Select All"
113
  msgstr ""
114
 
115
+ #: includes/admin/class-wc-settings-jetpack.php:440
116
+ #: includes/admin/class-wc-settings-jetpack.php:447
117
  #: includes/admin/class-wcj-tools.php:74
118
  msgid "Module"
119
  msgstr ""
120
 
121
+ #: includes/admin/class-wc-settings-jetpack.php:441
122
+ #: includes/admin/class-wc-settings-jetpack.php:448
123
  #: includes/admin/class-wcj-tools.php:75
124
+ #: includes/class-wcj-eu-vat-number.php:373
125
+ #: includes/class-wcj-product-by-user.php:159
126
  #: includes/gateways/class-wc-gateway-wcj-custom.php:71
127
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:151
128
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:266
129
  msgid "Description"
130
  msgstr ""
131
 
132
+ #: includes/admin/class-wc-settings-jetpack.php:486
133
+ #: includes/classes/class-wcj-module.php:508
134
  msgid "Documentation"
135
  msgstr ""
136
 
137
+ #: includes/admin/class-wc-settings-jetpack.php:501
138
+ msgid "No active modules found."
139
+ msgstr ""
140
+
141
+ #: includes/admin/class-wc-settings-jetpack.php:504
142
  msgid "Total Modules:"
143
  msgstr ""
144
 
145
+ #: includes/admin/class-wc-settings-jetpack.php:533
146
  msgid "Booster for WooCommerce - Dashboard"
147
  msgstr ""
148
 
149
+ #: includes/admin/class-wc-settings-jetpack.php:535
150
  msgid ""
151
  "This dashboard lets you enable/disable any Booster's module. Each checkbox "
152
  "comes with short module's description. Please visit <a href=\"http://booster."
183
  msgstr ""
184
 
185
  #: includes/admin/class-wcj-tools.php:76
186
+ #: includes/class-wcj-product-by-user.php:113
187
  msgid "Status"
188
  msgstr ""
189
 
190
+ #: includes/admin/wcj-modules-cats.php:26
191
  msgid "Prices & Currencies"
192
  msgstr ""
193
 
194
+ #: includes/admin/wcj-modules-cats.php:46
195
  msgid "Button & Price Labels"
196
  msgstr ""
197
 
198
+ #: includes/admin/wcj-modules-cats.php:57
199
  msgid "Products"
200
  msgstr ""
201
 
202
+ #: includes/admin/wcj-modules-cats.php:80
203
  msgid "Cart & Checkout"
204
  msgstr ""
205
 
206
+ #: includes/admin/wcj-modules-cats.php:94
207
  #: includes/class-wcj-payment-gateways-by-country.php:86
208
+ #: includes/class-wcj-payment-gateways-by-user-role.php:81
209
  #: includes/class-wcj-payment-gateways-min-max.php:90
210
  msgid "Payment Gateways"
211
  msgstr ""
212
 
213
+ #: includes/admin/wcj-modules-cats.php:109
214
  msgid "Shipping & Orders"
215
  msgstr ""
216
 
217
+ #: includes/admin/wcj-modules-cats.php:122
218
  msgid "PDF Invoicing & Packing Slips"
219
  msgstr ""
220
 
221
+ #: includes/admin/wcj-modules-cats.php:138
222
  msgid "Emails & Misc."
223
  msgstr ""
224
 
244
  #: includes/class-wcj-add-to-cart.php:48
245
  #: includes/class-wcj-add-to-cart.php:187
246
  #: includes/class-wcj-add-to-cart.php:212
247
+ #: includes/class-wcj-product-images.php:252
248
+ #: includes/class-wcj-product-images.php:326
249
  msgid "Enable Section"
250
  msgstr ""
251
 
349
  msgstr ""
350
 
351
  #: includes/class-wcj-add-to-cart.php:180
352
+ #: includes/class-wcj-product-addons.php:499
353
  msgid "Per Product Options"
354
  msgstr ""
355
 
383
  msgid "Click \"Save changes\" after you change this number."
384
  msgstr ""
385
 
386
+ #: includes/class-wcj-add-to-cart.php:257
387
+ #: includes/class-wcj-price-by-country.php:272
388
+ #: includes/class-wcj-price-by-country.php:283
389
+ #: includes/class-wcj-price-by-country.php:294
390
+ #: includes/class-wcj-price-by-country.php:348
391
  msgid "Group"
392
  msgstr ""
393
 
394
+ #: includes/class-wcj-add-to-cart.php:258
395
  #: includes/class-wcj-admin-tools.php:84 includes/class-wcj-admin-tools.php:92
396
+ #: includes/class-wcj-general.php:318 includes/class-wcj-general.php:366
397
+ #: includes/class-wcj-general.php:382 includes/class-wcj-general.php:440
398
+ #: includes/class-wcj-multicurrency.php:367
399
+ #: includes/class-wcj-multicurrency.php:375
400
+ #: includes/class-wcj-order-numbers.php:210
401
+ #: includes/class-wcj-order-numbers.php:273
402
+ #: includes/class-wcj-order-numbers.php:281 includes/class-wcj-orders.php:404
403
+ #: includes/class-wcj-price-by-country.php:157
404
+ #: includes/class-wcj-price-by-country.php:164
405
+ #: includes/class-wcj-price-by-country.php:186
406
+ #: includes/class-wcj-price-by-country.php:195
407
+ #: includes/class-wcj-price-by-country.php:203
408
+ #: includes/class-wcj-price-by-user-role.php:373
409
+ #: includes/class-wcj-price-by-user-role.php:390
410
  #: includes/class-wcj-price-labels.php:51
411
+ #: includes/class-wcj-price-labels.php:749
412
+ #: includes/class-wcj-product-add-to-cart.php:280
413
+ #: includes/class-wcj-product-add-to-cart.php:306
414
+ #: includes/class-wcj-product-add-to-cart.php:322
415
+ #: includes/class-wcj-product-add-to-cart.php:364
416
+ #: includes/class-wcj-product-addons.php:427
417
+ #: includes/class-wcj-product-addons.php:505
418
+ #: includes/class-wcj-product-addons.php:524
419
+ #: includes/class-wcj-product-addons.php:548
420
+ #: includes/class-wcj-product-addons.php:619
421
+ #: includes/class-wcj-product-by-user.php:232
422
  #: includes/class-wcj-product-info.php:256
423
  #: includes/class-wcj-product-info.php:351
424
  #: includes/class-wcj-product-info.php:384
425
  #: includes/class-wcj-product-input-fields.php:133
426
  #: includes/class-wcj-product-input-fields.php:170
427
  #: includes/class-wcj-product-input-fields.php:283
428
+ #: includes/class-wcj-product-listings.php:448
429
  #: includes/class-wcj-product-tabs.php:678
430
  #: includes/class-wcj-product-tabs.php:686
431
  #: includes/class-wcj-purchase-data.php:277
438
  #: includes/class-wcj-shipping-calculator.php:123
439
  #: includes/class-wcj-shipping-calculator.php:130
440
  #: includes/class-wcj-shipping-calculator.php:137
441
+ #: includes/class-wcj-shipping.php:241 includes/class-wcj-shipping.php:273
442
+ #: includes/class-wcj-shipping.php:311 includes/class-wcj-sku.php:385
443
+ #: includes/class-wcj-sku.php:393 includes/class-wcj-sorting.php:191
444
+ #: includes/class-wcj-wholesale-price.php:372
445
+ #: includes/class-wcj-wholesale-price.php:379
446
+ #: includes/class-wcj-wholesale-price.php:386
447
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:344
448
  msgid "Enable"
449
  msgstr ""
450
 
451
+ #: includes/class-wcj-add-to-cart.php:274
452
  #: includes/class-wcj-checkout-custom-fields.php:866
453
  msgid "categories"
454
  msgstr ""
455
 
456
+ #: includes/class-wcj-add-to-cart.php:285
457
  msgid "Button text - single product view"
458
  msgstr ""
459
 
460
+ #: includes/class-wcj-add-to-cart.php:293
461
  msgid "Button text - product archive (category) view"
462
  msgstr ""
463
 
622
  #: includes/class-wcj-mini-cart.php:106
623
  #: includes/class-wcj-product-custom-info.php:135
624
  #: includes/class-wcj-product-tabs.php:431
625
+ #: includes/class-wcj-product-tabs.php:557 includes/class-wcj-shipping.php:248
626
+ #: includes/class-wcj-shipping.php:282 includes/class-wcj-shipping.php:320
627
  msgid "Content"
628
  msgstr ""
629
 
630
  #: includes/class-wcj-cart.php:167
631
  #: includes/class-wcj-checkout-custom-info.php:102
632
+ #: includes/class-wcj-checkout-files-upload.php:573
633
  #: includes/class-wcj-mini-cart.php:114
634
  #: includes/class-wcj-product-custom-info.php:142
635
  #: includes/class-wcj-product-info.php:263
636
  #: includes/class-wcj-product-info.php:366
637
+ #: includes/class-wcj-product-info.php:399
638
+ #: includes/class-wcj-product-listings.php:471
639
+ #: includes/class-wcj-shipping.php:256 includes/class-wcj-shipping.php:290
640
+ #: includes/class-wcj-shipping.php:328
641
  msgid "Position"
642
  msgstr ""
643
 
676
  msgstr ""
677
 
678
  #: includes/class-wcj-checkout-core-fields.php:225
679
+ #: includes/classes/class-wcj-module.php:421
680
  msgid "enabled"
681
  msgstr ""
682
 
683
  #: includes/class-wcj-checkout-core-fields.php:230
684
  #: includes/class-wcj-checkout-core-fields.php:244
685
  #: includes/class-wcj-checkout-core-fields.php:278
686
+ #: includes/class-wcj-product-listings.php:464
687
  msgid "Default"
688
  msgstr ""
689
 
690
  #: includes/class-wcj-checkout-core-fields.php:231
691
  #: includes/class-wcj-checkout-custom-fields.php:668
692
+ #: includes/class-wcj-checkout-files-upload.php:561
693
+ #: includes/class-wcj-orders.php:444
694
+ #: includes/class-wcj-price-by-user-role.php:140
695
+ #: includes/class-wcj-product-addons.php:413
696
+ #: includes/class-wcj-product-bookings.php:417
697
  #: includes/class-wcj-product-open-pricing.php:178
698
+ #: includes/class-wcj-product-price-by-formula.php:237
699
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:37
700
  msgid "Enabled"
701
  msgstr ""
702
 
703
  #: includes/class-wcj-checkout-core-fields.php:232
704
+ #: includes/class-wcj-pdf-invoicing.php:198
705
  #: includes/class-wcj-product-tabs.php:440
706
  msgid "Disabled"
707
  msgstr ""
712
  msgstr ""
713
 
714
  #: includes/class-wcj-checkout-core-fields.php:245
715
+ #: includes/class-wcj-checkout-files-upload.php:567
716
+ #: includes/class-wcj-eu-vat-number.php:386
717
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:207
718
  msgid "Required"
719
  msgstr ""
720
 
773
  #: includes/class-wcj-checkout-custom-fields.php:606
774
  #: includes/class-wcj-checkout-custom-fields.php:613
775
  #: includes/class-wcj-checkout-custom-fields.php:620
776
+ #: includes/class-wcj-general.php:122
777
+ #: includes/class-wcj-order-custom-statuses.php:241
778
+ #: includes/class-wcj-order-custom-statuses.php:316
779
+ #: includes/class-wcj-order-custom-statuses.php:323
780
+ #: includes/class-wcj-orders.php:340 includes/class-wcj-orders.php:422
781
+ #: includes/class-wcj-product-by-user.php:239
782
+ #: includes/class-wcj-purchase-data.php:389 includes/class-wcj-sku.php:400
783
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:359
784
  msgid "Add"
785
  msgstr ""
786
 
810
 
811
  #: includes/class-wcj-checkout-custom-fields.php:683
812
  #: includes/class-wcj-more-button-labels.php:58
813
+ #: includes/class-wcj-product-listings.php:489
814
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:48
815
  msgid "Text"
816
  msgstr ""
826
  msgstr ""
827
 
828
  #: includes/class-wcj-checkout-custom-fields.php:686
829
+ #: includes/class-wcj-product-addons.php:442
830
+ #: includes/class-wcj-product-addons.php:560
831
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:51
832
  msgid "Checkbox"
833
  msgstr ""
863
  msgstr ""
864
 
865
  #: includes/class-wcj-checkout-custom-fields.php:694
866
+ #: includes/class-wcj-orders.php:119 includes/class-wcj-orders.php:421
867
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:59
868
  #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:90
869
  #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:104
875
  msgstr ""
876
 
877
  #: includes/class-wcj-checkout-custom-fields.php:696
878
+ #: includes/class-wcj-export-import.php:399
879
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:61
880
  #: includes/reports/wcj-class-reports-customers.php:92
881
  msgid "Email"
898
  msgstr ""
899
 
900
  #: includes/class-wcj-checkout-custom-fields.php:714
901
+ #: includes/class-wcj-eu-vat-number.php:387
902
+ #: includes/class-wcj-eu-vat-number.php:394
903
+ #: includes/class-wcj-eu-vat-number.php:412
904
+ #: includes/class-wcj-eu-vat-number.php:427
905
+ #: includes/class-wcj-eu-vat-number.php:434
906
+ #: includes/class-wcj-eu-vat-number.php:452
907
+ #: includes/class-wcj-price-by-user-role.php:137
908
+ #: includes/class-wcj-price-by-user-role.php:180
909
+ #: includes/class-wcj-product-add-to-cart.php:170
910
+ #: includes/class-wcj-product-add-to-cart.php:180
911
+ #: includes/class-wcj-product-addons.php:410
912
+ #: includes/class-wcj-product-addons.php:432
913
+ #: includes/class-wcj-product-addons.php:480
914
+ #: includes/class-wcj-product-bookings.php:414
915
+ #: includes/class-wcj-product-images.php:210
916
+ #: includes/class-wcj-product-images.php:220
917
+ #: includes/class-wcj-product-images.php:230
918
  #: includes/class-wcj-product-open-pricing.php:175
919
+ #: includes/class-wcj-product-price-by-formula.php:234
920
+ #: includes/class-wcj-wholesale-price.php:249
921
+ #: includes/classes/class-wcj-module.php:109
922
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:82
923
+ #: includes/widgets/class-wcj-widget-country-switcher.php:91
924
  msgid "Yes"
925
  msgstr ""
926
 
930
  msgstr ""
931
 
932
  #: includes/class-wcj-checkout-custom-fields.php:722
933
+ #: includes/class-wcj-price-by-user-role.php:138
934
+ #: includes/class-wcj-price-by-user-role.php:181
935
+ #: includes/class-wcj-product-add-to-cart.php:171
936
+ #: includes/class-wcj-product-add-to-cart.php:181
937
+ #: includes/class-wcj-product-addons.php:411
938
+ #: includes/class-wcj-product-addons.php:433
939
+ #: includes/class-wcj-product-addons.php:481
940
+ #: includes/class-wcj-product-bookings.php:415
941
+ #: includes/class-wcj-product-images.php:211
942
+ #: includes/class-wcj-product-images.php:221
943
+ #: includes/class-wcj-product-images.php:231
944
  #: includes/class-wcj-product-open-pricing.php:176
945
+ #: includes/class-wcj-product-price-by-formula.php:235
946
+ #: includes/class-wcj-wholesale-price.php:250
947
+ #: includes/classes/class-wcj-module.php:110
948
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:90
949
+ #: includes/widgets/class-wcj-widget-country-switcher.php:90
950
  msgid "No"
951
  msgstr ""
952
 
966
  msgstr ""
967
 
968
  #: includes/class-wcj-checkout-custom-fields.php:739
969
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:124
970
  msgid ""
971
  "If datepicker/weekpicker is selected, set date format here. Visit <a href="
972
  "\"https://codex.wordpress.org/Formatting_Date_and_Time\" target=\"_blank"
974
  msgstr ""
975
 
976
  #: includes/class-wcj-checkout-custom-fields.php:740
977
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:125
978
  msgid "Leave blank to use your current WordPress format"
979
  msgstr ""
980
 
981
  #: includes/class-wcj-checkout-custom-fields.php:747
982
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:133
983
  msgid "If datepicker/weekpicker is selected, set min date (in days) here"
984
  msgstr ""
985
 
986
  #: includes/class-wcj-checkout-custom-fields.php:754
987
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:141
988
  msgid "If datepicker/weekpicker is selected, set max date (in days) here"
989
  msgstr ""
990
 
991
  #: includes/class-wcj-checkout-custom-fields.php:761
992
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:149
993
  msgid ""
994
  "If datepicker/weekpicker is selected, set if you want to add year selector"
995
  msgstr ""
996
 
997
  #: includes/class-wcj-checkout-custom-fields.php:768
998
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:157
999
  msgid ""
1000
  "If datepicker/weekpicker is selected, and year selector is enabled, set year "
1001
  "range here"
1011
  msgstr ""
1012
 
1013
  #: includes/class-wcj-checkout-custom-fields.php:776
1014
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:166
1015
  msgid "If datepicker/weekpicker is selected, set first week day here"
1016
  msgstr ""
1017
 
1018
  #: includes/class-wcj-checkout-custom-fields.php:781
1019
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:171
1020
  msgid "Sunday"
1021
  msgstr ""
1022
 
1023
  #: includes/class-wcj-checkout-custom-fields.php:782
1024
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:172
1025
  msgid "Monday"
1026
  msgstr ""
1027
 
1028
  #: includes/class-wcj-checkout-custom-fields.php:783
1029
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:173
1030
  msgid "Tuesday"
1031
  msgstr ""
1032
 
1033
  #: includes/class-wcj-checkout-custom-fields.php:784
1034
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:174
1035
  msgid "Wednesday"
1036
  msgstr ""
1037
 
1038
  #: includes/class-wcj-checkout-custom-fields.php:785
1039
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:175
1040
  msgid "Thursday"
1041
  msgstr ""
1042
 
1043
  #: includes/class-wcj-checkout-custom-fields.php:786
1044
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:176
1045
  msgid "Friday"
1046
  msgstr ""
1047
 
1048
  #: includes/class-wcj-checkout-custom-fields.php:787
1049
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:177
1050
  msgid "Saturday"
1051
  msgstr ""
1052
 
1053
  #: includes/class-wcj-checkout-custom-fields.php:792
1054
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:183
1055
  msgid ""
1056
  "If timepicker is selected, set time format here. Visit <a href=\"http://"
1057
  "timepicker.co/options/\" target=\"_blank\">timepicker options page</a> for "
1059
  msgstr ""
1060
 
1061
  #: includes/class-wcj-checkout-custom-fields.php:800
1062
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:191
1063
  msgid "If timepicker is selected, set interval (in minutes) here"
1064
  msgstr ""
1065
 
1070
  #: includes/class-wcj-checkout-custom-fields.php:836
1071
  #: includes/class-wcj-checkout-custom-info.php:110
1072
  #: includes/class-wcj-empty-cart-button.php:117
1073
+ #: includes/class-wcj-shipping.php:335
1074
  msgid "Billing"
1075
  msgstr ""
1076
 
1077
  #: includes/class-wcj-checkout-custom-fields.php:837
1078
  #: includes/class-wcj-checkout-custom-info.php:111
1079
  #: includes/class-wcj-empty-cart-button.php:118
1080
+ #: includes/class-wcj-price-by-user-role.php:389
1081
+ #: includes/class-wcj-shipping.php:26 includes/class-wcj-shipping.php:336
1082
  msgid "Shipping"
1083
  msgstr ""
1084
 
1085
  #: includes/class-wcj-checkout-custom-fields.php:838
1086
+ #: includes/class-wcj-export-import.php:234
1087
  msgid "Order Notes"
1088
  msgstr ""
1089
 
1092
  msgstr ""
1093
 
1094
  #: includes/class-wcj-checkout-custom-fields.php:850
1095
+ #: includes/class-wcj-eu-vat-number.php:405
1096
  msgid "Wide"
1097
  msgstr ""
1098
 
1099
  #: includes/class-wcj-checkout-custom-fields.php:851
1100
+ #: includes/class-wcj-eu-vat-number.php:406
1101
  msgid "First"
1102
  msgstr ""
1103
 
1104
  #: includes/class-wcj-checkout-custom-fields.php:852
1105
+ #: includes/class-wcj-eu-vat-number.php:407
1106
  msgid "Last"
1107
  msgstr ""
1108
 
1136
  msgstr ""
1137
 
1138
  #: includes/class-wcj-checkout-custom-info.php:108
1139
+ #: includes/class-wcj-checkout-files-upload.php:577
1140
  #: includes/class-wcj-empty-cart-button.php:115
1141
+ #: includes/class-wcj-shipping.php:333
1142
  msgid "Before checkout form"
1143
  msgstr ""
1144
 
1145
  #: includes/class-wcj-checkout-custom-info.php:109
1146
  #: includes/class-wcj-empty-cart-button.php:116
1147
+ #: includes/class-wcj-shipping.php:334
1148
  msgid "Before customer details"
1149
  msgstr ""
1150
 
1151
  #: includes/class-wcj-checkout-custom-info.php:112
1152
  #: includes/class-wcj-empty-cart-button.php:119
1153
+ #: includes/class-wcj-shipping.php:337
1154
  msgid "After customer details"
1155
  msgstr ""
1156
 
1157
  #: includes/class-wcj-checkout-custom-info.php:113
1158
  #: includes/class-wcj-empty-cart-button.php:120
1159
+ #: includes/class-wcj-shipping.php:338
1160
  msgid "Before order review"
1161
  msgstr ""
1162
 
1163
  #: includes/class-wcj-checkout-custom-info.php:114
1164
  #: includes/class-wcj-empty-cart-button.php:121
1165
+ #: includes/class-wcj-shipping.php:339
1166
  msgid "Order review"
1167
  msgstr ""
1168
 
1169
  #: includes/class-wcj-checkout-custom-info.php:115
1170
  #: includes/class-wcj-empty-cart-button.php:122
1171
+ #: includes/class-wcj-shipping.php:340
1172
  msgid "After order review"
1173
  msgstr ""
1174
 
1175
  #: includes/class-wcj-checkout-custom-info.php:116
1176
+ #: includes/class-wcj-checkout-files-upload.php:578
1177
  #: includes/class-wcj-empty-cart-button.php:123
1178
+ #: includes/class-wcj-shipping.php:341
1179
  msgid "After checkout form"
1180
  msgstr ""
1181
 
1187
  msgid "Let customers upload files on (or after) WooCommerce checkout."
1188
  msgstr ""
1189
 
1190
+ #: includes/class-wcj-checkout-files-upload.php:88
1191
+ #: includes/class-wcj-checkout-files-upload.php:559
1192
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:52
1193
  msgid "File"
1194
  msgstr ""
1195
 
1196
+ #: includes/class-wcj-checkout-files-upload.php:110
1197
+ #: includes/class-wcj-checkout-files-upload.php:644
1198
  msgid "File is required!"
1199
  msgstr ""
1200
 
1201
+ #: includes/class-wcj-checkout-files-upload.php:120
1202
+ #: includes/class-wcj-checkout-files-upload.php:252
1203
+ #: includes/class-wcj-checkout-files-upload.php:637
1204
  msgid "Wrong file type: \"%s\"!"
1205
  msgstr ""
1206
 
1207
+ #: includes/class-wcj-checkout-files-upload.php:140
1208
  msgid "Uploaded Files"
1209
  msgstr ""
1210
 
1211
+ #: includes/class-wcj-checkout-files-upload.php:224
1212
+ #: includes/class-wcj-checkout-files-upload.php:232
1213
+ #: includes/class-wcj-checkout-files-upload.php:667
1214
  msgid "File \"%s\" was successfully removed."
1215
  msgstr ""
1216
 
1217
+ #: includes/class-wcj-checkout-files-upload.php:264
1218
+ #: includes/class-wcj-checkout-files-upload.php:652
1219
  msgid "File \"%s\" was successfully uploaded."
1220
  msgstr ""
1221
 
1222
+ #: includes/class-wcj-checkout-files-upload.php:272
1223
+ #: includes/class-wcj-checkout-files-upload.php:659
1224
  msgid "Please select file to upload!"
1225
  msgstr ""
1226
 
1227
+ #: includes/class-wcj-checkout-files-upload.php:428
1228
+ #: includes/class-wcj-checkout-files-upload.php:429
1229
+ #: includes/class-wcj-checkout-files-upload.php:622
1230
  msgid "Upload"
1231
  msgstr ""
1232
 
1233
+ #: includes/class-wcj-checkout-files-upload.php:443
1234
+ #: includes/class-wcj-checkout-files-upload.php:444
1235
+ #: includes/class-wcj-checkout-files-upload.php:629
1236
  msgid "Remove"
1237
  msgstr ""
1238
 
1239
+ #: includes/class-wcj-checkout-files-upload.php:538
1240
+ #: includes/class-wcj-currency-per-product.php:279
1241
+ #: includes/class-wcj-eu-vat-number.php:354
1242
  #: includes/class-wcj-multicurrency-product-base-price.php:226
1243
+ #: includes/class-wcj-multicurrency.php:346
1244
  #: includes/class-wcj-payment-gateways-icons.php:95
1245
  #: includes/class-wcj-payment-gateways-per-category.php:166
1246
+ #: includes/class-wcj-price-by-user-role.php:367
1247
+ #: includes/class-wcj-product-addons.php:613
1248
+ #: includes/class-wcj-product-bookings.php:490
1249
+ #: includes/class-wcj-product-by-user.php:204
1250
  #: includes/class-wcj-related-products.php:98
1251
+ #: includes/class-wcj-wholesale-price.php:365
1252
  msgid "Options"
1253
  msgstr ""
1254
 
1255
+ #: includes/class-wcj-checkout-files-upload.php:543
1256
  msgid "Total Files"
1257
  msgstr ""
1258
 
1259
+ #: includes/class-wcj-checkout-files-upload.php:579
1260
  msgid "Do not add on checkout"
1261
  msgstr ""
1262
 
1263
+ #: includes/class-wcj-checkout-files-upload.php:584
1264
  msgid "Position order"
1265
  msgstr ""
1266
 
1267
+ #: includes/class-wcj-checkout-files-upload.php:593
1268
  msgid "Add to Thank You page"
1269
  msgstr ""
1270
 
1271
+ #: includes/class-wcj-checkout-files-upload.php:599
1272
  msgid "Add to My Account page"
1273
  msgstr ""
1274
 
1275
+ #: includes/class-wcj-checkout-files-upload.php:604
1276
+ #: includes/class-wcj-order-custom-statuses.php:208
1277
+ #: includes/class-wcj-order-custom-statuses.php:246
1278
+ #: includes/class-wcj-orders.php:450
1279
  msgid "Label"
1280
  msgstr ""
1281
 
1282
+ #: includes/class-wcj-checkout-files-upload.php:605
1283
  msgid "Leave blank to disable label"
1284
  msgstr ""
1285
 
1286
+ #: includes/class-wcj-checkout-files-upload.php:607
1287
  msgid "Please select file to upload"
1288
  msgstr ""
1289
 
1290
+ #: includes/class-wcj-checkout-files-upload.php:612
1291
  msgid "Accepted file types"
1292
  msgstr ""
1293
 
1294
+ #: includes/class-wcj-checkout-files-upload.php:613
1295
  msgid ""
1296
  "Accepted file types. E.g.: \".jpg,.jpeg,.png\". Leave blank to accept all "
1297
  "files"
1298
  msgstr ""
1299
 
1300
+ #: includes/class-wcj-checkout-files-upload.php:620
1301
  msgid "Label: Upload button"
1302
  msgstr ""
1303
 
1304
+ #: includes/class-wcj-checkout-files-upload.php:627
1305
  msgid "Label: Remove button"
1306
  msgstr ""
1307
 
1308
+ #: includes/class-wcj-checkout-files-upload.php:634
1309
  msgid "Notice: Wrong file type"
1310
  msgstr ""
1311
 
1312
+ #: includes/class-wcj-checkout-files-upload.php:635
1313
+ #: includes/class-wcj-checkout-files-upload.php:650
1314
+ #: includes/class-wcj-checkout-files-upload.php:665
1315
  msgid "%s will be replaced with file name"
1316
  msgstr ""
1317
 
1318
+ #: includes/class-wcj-checkout-files-upload.php:642
1319
  msgid "Notice: File is required"
1320
  msgstr ""
1321
 
1322
+ #: includes/class-wcj-checkout-files-upload.php:649
1323
  msgid "Notice: File was successfully uploaded"
1324
  msgstr ""
1325
 
1326
+ #: includes/class-wcj-checkout-files-upload.php:657
1327
  msgid "Notice: No file selected"
1328
  msgstr ""
1329
 
1330
+ #: includes/class-wcj-checkout-files-upload.php:664
1331
  msgid "Notice: File was successfully removed"
1332
  msgstr ""
1333
 
1334
+ #: includes/class-wcj-checkout-files-upload.php:673
1335
  msgid "PRODUCTS to show this field"
1336
  msgstr ""
1337
 
1338
+ #: includes/class-wcj-checkout-files-upload.php:674
1339
  msgid ""
1340
  "To show this field only if at least one selected product is in cart, enter "
1341
  "products here. Leave blank to show for all products."
1342
  msgstr ""
1343
 
1344
+ #: includes/class-wcj-checkout-files-upload.php:683
1345
  msgid "CATEGORIES to show this field"
1346
  msgstr ""
1347
 
1348
+ #: includes/class-wcj-checkout-files-upload.php:684
1349
  msgid ""
1350
  "To show this field only if at least one product of selected category is in "
1351
  "cart, enter categories here. Leave blank to show for all products."
1352
  msgstr ""
1353
 
1354
+ #: includes/class-wcj-checkout-files-upload.php:693
1355
  msgid "TAGS to show this field"
1356
  msgstr ""
1357
 
1358
+ #: includes/class-wcj-checkout-files-upload.php:694
1359
  msgid ""
1360
  "To show this field only if at least one product of selected tag is in cart, "
1361
  "enter tags here. Leave blank to show for all products."
1362
  msgstr ""
1363
 
1364
+ #: includes/class-wcj-checkout-files-upload.php:711
1365
+ #: includes/class-wcj-product-input-fields.php:247
1366
+ msgid "Emails Options"
1367
+ msgstr ""
1368
+
1369
+ #: includes/class-wcj-checkout-files-upload.php:716
1370
+ #: includes/class-wcj-product-input-fields.php:253
1371
+ msgid "Attach Files to Admin's New Order Emails"
1372
+ msgstr ""
1373
+
1374
+ #: includes/class-wcj-checkout-files-upload.php:717
1375
+ #: includes/class-wcj-checkout-files-upload.php:724
1376
+ #: includes/class-wcj-product-input-fields.php:254
1377
+ #: includes/class-wcj-product-input-fields.php:262
1378
+ msgid "Attach"
1379
+ msgstr ""
1380
+
1381
+ #: includes/class-wcj-checkout-files-upload.php:723
1382
+ #: includes/class-wcj-product-input-fields.php:261
1383
+ msgid "Attach Files to Customer's Processing Order Emails"
1384
+ msgstr ""
1385
+
1386
  #: includes/class-wcj-crowdfunding.php:26
1387
  msgid "Crowdfunding"
1388
  msgstr ""
1446
  msgstr ""
1447
 
1448
  #: includes/class-wcj-currencies.php:106
1449
+ #: includes/class-wcj-pdf-invoicing.php:223
1450
+ #: includes/class-wcj-product-bookings.php:496
1451
+ #: includes/class-wcj-product-images.php:259
1452
+ #: includes/class-wcj-product-images.php:266
1453
+ #: includes/class-wcj-product-images.php:273
1454
+ #: includes/class-wcj-product-images.php:280
1455
  #: includes/class-wcj-related-products.php:151
1456
  #: includes/class-wcj-shipping-calculator.php:150
1457
  msgid "Hide"
1494
  msgstr ""
1495
 
1496
  #: includes/class-wcj-currency-exchange-rates.php:80
1497
+ #: includes/class-wcj-currency-per-product.php:348
1498
  #: includes/class-wcj-multicurrency-product-base-price.php:295
1499
+ #: includes/class-wcj-multicurrency.php:431
1500
  #: includes/class-wcj-payment-gateways-currency.php:275
1501
+ #: includes/class-wcj-price-by-country.php:357
1502
  msgid "Grab %s rate from Yahoo.com"
1503
  msgstr ""
1504
 
1505
+ #: includes/class-wcj-currency-exchange-rates.php:100
1506
+ msgid "%s seconds till next update."
1507
+ msgstr ""
1508
+
1509
+ #: includes/class-wcj-currency-exchange-rates.php:106
1510
+ #: includes/class-wcj-price-by-country.php:317
1511
  msgid "Exchange Rates"
1512
  msgstr ""
1513
 
1514
+ #: includes/class-wcj-currency-exchange-rates.php:108
1515
  msgid ""
1516
  "All currencies from all <strong>enabled</strong> modules will be "
1517
  "automatically added to the list."
1518
  msgstr ""
1519
 
1520
+ #: includes/class-wcj-currency-exchange-rates.php:113
1521
+ #: includes/class-wcj-currency-per-product.php:284
1522
  #: includes/class-wcj-multicurrency-product-base-price.php:231
1523
+ #: includes/class-wcj-multicurrency.php:351
1524
  #: includes/class-wcj-payment-gateways-currency.php:282
1525
+ #: includes/class-wcj-price-by-country.php:320
1526
  msgid "Exchange Rates Updates"
1527
  msgstr ""
1528
 
1529
+ #: includes/class-wcj-currency-exchange-rates.php:119
1530
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:24
1531
  msgid "Update Every Minute"
1532
  msgstr ""
1533
 
1534
+ #: includes/class-wcj-currency-exchange-rates.php:120
1535
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:25
1536
  msgid "Update Hourly"
1537
  msgstr ""
1538
 
1539
+ #: includes/class-wcj-currency-exchange-rates.php:121
1540
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:26
1541
  msgid "Update Twice Daily"
1542
  msgstr ""
1543
 
1544
+ #: includes/class-wcj-currency-exchange-rates.php:122
1545
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:27
1546
  msgid "Update Daily"
1547
  msgstr ""
1548
 
1549
+ #: includes/class-wcj-currency-exchange-rates.php:123
1550
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:28
1551
  msgid "Update Weekly"
1552
  msgstr ""
1553
 
1564
  msgstr ""
1565
 
1566
  #: includes/class-wcj-currency-external-products.php:79
1567
+ #: includes/class-wcj-currency-per-product.php:332
1568
  #: includes/class-wcj-multicurrency-product-base-price.php:279
1569
+ #: includes/class-wcj-multicurrency.php:415
1570
+ #: includes/class-wcj-price-by-country.php:307
1571
+ #: includes/class-wcj-price-formats.php:135
1572
  msgid "Currency"
1573
  msgstr ""
1574
 
1576
  msgid "Set currency for all external products."
1577
  msgstr ""
1578
 
1579
+ #: includes/class-wcj-currency-per-product.php:27
1580
+ msgid "Currency per Product"
1581
+ msgstr ""
1582
+
1583
+ #: includes/class-wcj-currency-per-product.php:28
1584
+ msgid "Display prices for WooCommerce products in different currencies."
1585
+ msgstr ""
1586
+
1587
+ #: includes/class-wcj-currency-per-product.php:100
1588
+ msgctxt "Price range: from-to"
1589
+ msgid "%1$s&ndash;%2$s"
1590
+ msgstr ""
1591
+
1592
+ #: includes/class-wcj-currency-per-product.php:235
1593
+ #: includes/class-wcj-multicurrency-product-base-price.php:175
1594
+ msgid "Product Currency"
1595
+ msgstr ""
1596
+
1597
+ #: includes/class-wcj-currency-per-product.php:289
1598
+ #: includes/class-wcj-multicurrency-product-base-price.php:236
1599
+ #: includes/class-wcj-multicurrency.php:356
1600
+ #: includes/class-wcj-payment-gateways-currency.php:287
1601
+ #: includes/class-wcj-price-by-country.php:325
1602
+ msgid "Enter Rates Manually"
1603
+ msgstr ""
1604
+
1605
+ #: includes/class-wcj-currency-per-product.php:290
1606
+ #: includes/class-wcj-multicurrency-product-base-price.php:237
1607
+ #: includes/class-wcj-multicurrency.php:357
1608
+ #: includes/class-wcj-payment-gateways-currency.php:288
1609
+ #: includes/class-wcj-price-by-country.php:326
1610
+ msgid "Automatically via Currency Exchange Rates module"
1611
+ msgstr ""
1612
+
1613
+ #: includes/class-wcj-currency-per-product.php:293
1614
+ #: includes/class-wcj-multicurrency-product-base-price.php:240
1615
+ #: includes/class-wcj-multicurrency.php:360
1616
+ #: includes/class-wcj-payment-gateways-currency.php:291
1617
+ #: includes/class-wcj-price-by-country.php:329
1618
+ msgid "Visit"
1619
+ msgstr ""
1620
+
1621
+ #: includes/class-wcj-currency-per-product.php:293
1622
+ #: includes/class-wcj-multicurrency-product-base-price.php:240
1623
+ #: includes/class-wcj-multicurrency.php:360
1624
+ #: includes/class-wcj-payment-gateways-currency.php:291
1625
+ #: includes/class-wcj-price-by-country.php:329
1626
+ msgid "Currency Exchange Rates module"
1627
+ msgstr ""
1628
+
1629
+ #: includes/class-wcj-currency-per-product.php:303
1630
+ #: includes/class-wcj-multicurrency-product-base-price.php:250
1631
+ #: includes/class-wcj-multicurrency.php:385
1632
+ msgid "Currencies Options"
1633
+ msgstr ""
1634
+
1635
+ #: includes/class-wcj-currency-per-product.php:308
1636
+ #: includes/class-wcj-multicurrency-product-base-price.php:255
1637
+ #: includes/class-wcj-multicurrency.php:391
1638
+ msgid "Total Currencies"
1639
+ msgstr ""
1640
+
1641
  #: includes/class-wcj-emails.php:25
1642
  msgid "Emails"
1643
  msgstr ""
1695
  msgid "Admin Title Custom Email"
1696
  msgstr ""
1697
 
1698
+ #: includes/class-wcj-emails.php:207 includes/class-wcj-shipping.php:194
1699
  #: includes/emails/class-wc-email-wcj-custom.php:30
1700
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-emails.php:127
1701
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:41
1702
  msgid "Custom"
1703
  msgstr ""
1704
 
1776
  msgstr ""
1777
 
1778
  #: includes/class-wcj-empty-cart-button.php:141
1779
+ #: includes/class-wcj-product-by-user.php:122
1780
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:285
1781
  msgid "Are you sure?"
1782
  msgstr ""
1783
 
1784
  #: includes/class-wcj-eu-vat-number.php:26
1785
+ #: includes/class-wcj-eu-vat-number.php:136
1786
+ #: includes/class-wcj-eu-vat-number.php:361
1787
+ #: includes/class-wcj-eu-vat-number.php:368
1788
  msgid "EU VAT Number"
1789
  msgstr ""
1790
 
1803
  msgid "Add all EU countries VAT standard rates to WooCommerce."
1804
  msgstr ""
1805
 
1806
+ #: includes/class-wcj-eu-vat-number.php:297
1807
+ #: includes/class-wcj-eu-vat-number.php:421
1808
  msgid "<strong>EU VAT Number</strong> is not valid."
1809
  msgstr ""
1810
 
1811
+ #: includes/class-wcj-eu-vat-number.php:359
1812
  msgid "Field Label"
1813
  msgstr ""
1814
 
1815
+ #: includes/class-wcj-eu-vat-number.php:366
1816
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:221
1817
  msgid "Placeholder"
1818
  msgstr ""
1819
 
1820
+ #: includes/class-wcj-eu-vat-number.php:393
1821
  msgid "Clear"
1822
  msgstr ""
1823
 
1824
+ #: includes/class-wcj-eu-vat-number.php:400
1825
  msgid "Class"
1826
  msgstr ""
1827
 
1828
+ #: includes/class-wcj-eu-vat-number.php:411
1829
  msgid "Validate"
1830
  msgstr ""
1831
 
1832
+ #: includes/class-wcj-eu-vat-number.php:419
1833
  msgid "Message on not valid"
1834
  msgstr ""
1835
 
1836
+ #: includes/class-wcj-eu-vat-number.php:426
1837
  msgid "Exempt VAT for Valid Numbers"
1838
  msgstr ""
1839
 
1840
+ #: includes/class-wcj-eu-vat-number.php:433
1841
  msgid "Preserve VAT in Base Country"
1842
  msgstr ""
1843
 
1844
+ #: includes/class-wcj-eu-vat-number.php:451
1845
  msgid "Check for IP Location Country"
1846
  msgstr ""
1847
 
1848
+ #: includes/class-wcj-eu-vat-number.php:469
1849
+ msgid "Display"
1850
  msgstr ""
1851
 
1852
+ #: includes/class-wcj-eu-vat-number.php:474
1853
+ msgid "After order table"
 
 
1854
  msgstr ""
1855
 
1856
+ #: includes/class-wcj-eu-vat-number.php:475
1857
+ msgid "In billing address"
1858
  msgstr ""
1859
 
1860
+ #: includes/class-wcj-export-import.php:29
1861
+ msgid "WooCommerce export tools."
1862
  msgstr ""
1863
 
1864
+ #: includes/class-wcj-export-import.php:35
1865
  msgid "Export Customers"
1866
  msgstr ""
1867
 
1868
+ #: includes/class-wcj-export-import.php:36
1869
  msgid "Export Customers."
1870
  msgstr ""
1871
 
1872
+ #: includes/class-wcj-export-import.php:39
1873
  msgid "Export Customers from Orders"
1874
  msgstr ""
1875
 
1876
+ #: includes/class-wcj-export-import.php:40
1877
  msgid "Export Customers (extracted from orders)."
1878
  msgstr ""
1879
 
1880
+ #: includes/class-wcj-export-import.php:43
1881
  msgid "Export Orders"
1882
  msgstr ""
1883
 
1884
+ #: includes/class-wcj-export-import.php:44
1885
  msgid "Export Orders."
1886
  msgstr ""
1887
 
1888
+ #: includes/class-wcj-export-import.php:47
1889
+ msgid "Export Products"
1890
+ msgstr ""
1891
+
1892
+ #: includes/class-wcj-export-import.php:48
1893
+ msgid "Export Products."
1894
+ msgstr ""
1895
+
1896
+ #: includes/class-wcj-export-import.php:117
1897
+ msgid "Filter by Billing Country"
1898
+ msgstr ""
1899
+
1900
+ #: includes/class-wcj-export-import.php:118
1901
+ msgid "Filter by Product Title"
1902
+ msgstr ""
1903
+
1904
+ #: includes/class-wcj-export-import.php:132
1905
+ #: includes/class-wcj-wholesale-price.php:393
1906
+ msgid "Show"
1907
+ msgstr ""
1908
+
1909
+ #: includes/class-wcj-export-import.php:149
1910
  msgid "Download CSV"
1911
  msgstr ""
1912
 
1913
+ #: includes/class-wcj-export-import.php:203
1914
  msgid "Customer ID"
1915
  msgstr ""
1916
 
1917
+ #: includes/class-wcj-export-import.php:204
1918
  msgid "Customer Email"
1919
  msgstr ""
1920
 
1921
+ #: includes/class-wcj-export-import.php:205
1922
  msgid "Customer First Name"
1923
  msgstr ""
1924
 
1925
+ #: includes/class-wcj-export-import.php:206
1926
  msgid "Customer Last Name"
1927
  msgstr ""
1928
 
1929
+ #: includes/class-wcj-export-import.php:224
1930
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:208
1931
  msgid "Order ID"
1932
  msgstr ""
1933
 
1934
+ #: includes/class-wcj-export-import.php:225
1935
+ msgid "Order Number"
1936
  msgstr ""
1937
 
1938
+ #: includes/class-wcj-export-import.php:226
1939
+ msgid "Order Status"
1940
  msgstr ""
1941
 
1942
+ #: includes/class-wcj-export-import.php:227
1943
+ msgid "Order Date"
1944
  msgstr ""
1945
 
1946
+ #: includes/class-wcj-export-import.php:228
1947
+ msgid "Order Item Count"
1948
  msgstr ""
1949
 
1950
+ #: includes/class-wcj-export-import.php:229
1951
+ msgid "Order Items"
1952
  msgstr ""
1953
 
1954
+ #: includes/class-wcj-export-import.php:230
1955
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:215
1956
+ msgid "Order Currency"
 
 
 
1957
  msgstr ""
1958
 
1959
+ #: includes/class-wcj-export-import.php:231
1960
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:214
1961
+ msgid "Order Total"
1962
  msgstr ""
1963
 
1964
+ #: includes/class-wcj-export-import.php:232
1965
+ msgid "Order Total Tax"
1966
  msgstr ""
1967
 
1968
+ #: includes/class-wcj-export-import.php:233
1969
+ msgid "Order Payment Method"
1970
  msgstr ""
1971
 
1972
+ #: includes/class-wcj-export-import.php:235
1973
+ msgid "Billing First Name"
1974
  msgstr ""
1975
 
1976
+ #: includes/class-wcj-export-import.php:236
1977
+ msgid "Billing Last Name"
 
 
1978
  msgstr ""
1979
 
1980
+ #: includes/class-wcj-export-import.php:237
1981
+ msgid "Billing Company"
1982
  msgstr ""
1983
 
1984
+ #: includes/class-wcj-export-import.php:238
1985
+ msgid "Billing Address 1"
1986
  msgstr ""
1987
 
1988
+ #: includes/class-wcj-export-import.php:239
1989
+ msgid "Billing Address 2"
 
 
1990
  msgstr ""
1991
 
1992
+ #: includes/class-wcj-export-import.php:240
1993
+ msgid "Billing City"
1994
  msgstr ""
1995
 
1996
+ #: includes/class-wcj-export-import.php:241
1997
+ msgid "Billing State"
1998
  msgstr ""
1999
 
2000
+ #: includes/class-wcj-export-import.php:242
2001
+ msgid "Billing Postcode"
2002
  msgstr ""
2003
 
2004
+ #: includes/class-wcj-export-import.php:243
2005
+ msgid "Billing Country"
2006
  msgstr ""
2007
 
2008
+ #: includes/class-wcj-export-import.php:244
2009
+ msgid "Billing Phone"
2010
  msgstr ""
2011
 
2012
+ #: includes/class-wcj-export-import.php:245
2013
+ msgid "Billing Email"
2014
  msgstr ""
2015
 
2016
+ #: includes/class-wcj-export-import.php:246
2017
+ msgid "Shipping First Name"
2018
  msgstr ""
2019
 
2020
+ #: includes/class-wcj-export-import.php:247
2021
+ msgid "Shipping Last Name"
2022
  msgstr ""
2023
 
2024
+ #: includes/class-wcj-export-import.php:248
2025
+ msgid "Shipping Company"
2026
  msgstr ""
2027
 
2028
+ #: includes/class-wcj-export-import.php:249
2029
+ msgid "Shipping Address 1"
2030
  msgstr ""
2031
 
2032
+ #: includes/class-wcj-export-import.php:250
2033
+ msgid "Shipping Address 2"
2034
  msgstr ""
2035
 
2036
+ #: includes/class-wcj-export-import.php:251
2037
+ msgid "Shipping City"
2038
  msgstr ""
2039
 
2040
+ #: includes/class-wcj-export-import.php:252
2041
+ msgid "Shipping State"
2042
  msgstr ""
2043
 
2044
+ #: includes/class-wcj-export-import.php:253
2045
+ msgid "Shipping Postcode"
2046
  msgstr ""
2047
 
2048
+ #: includes/class-wcj-export-import.php:254
2049
+ msgid "Shipping Country"
2050
  msgstr ""
2051
 
2052
+ #: includes/class-wcj-export-import.php:346
2053
+ msgid "Product ID"
2054
  msgstr ""
2055
 
2056
+ #: includes/class-wcj-export-import.php:347 includes/class-wcj-general.php:104
2057
+ #: includes/class-wcj-general.php:118
2058
+ #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:72
2059
+ #: includes/tools/class-wcj-eu-countries-vat-rates-tool.php:106
2060
+ msgid "Name"
2061
  msgstr ""
2062
 
2063
+ #: includes/class-wcj-export-import.php:348 includes/class-wcj-sku.php:26
2064
+ #: includes/class-wcj-sku.php:245
2065
+ msgid "SKU"
2066
  msgstr ""
2067
 
2068
+ #: includes/class-wcj-export-import.php:349
2069
+ #: includes/reports/wcj-class-reports-stock.php:322
2070
+ msgid "Stock"
2071
  msgstr ""
2072
 
2073
+ #: includes/class-wcj-export-import.php:350
2074
+ #: includes/class-wcj-multicurrency.php:76
2075
+ #: includes/class-wcj-price-by-user-role.php:161
2076
+ #: includes/class-wcj-product-by-user.php:162
2077
+ #: includes/price-by-country/class-wcj-price-by-country-local.php:129
2078
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:154
2079
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:298
2080
+ msgid "Regular Price"
2081
  msgstr ""
2082
 
2083
+ #: includes/class-wcj-export-import.php:351
2084
+ #: includes/class-wcj-multicurrency.php:85
2085
+ #: includes/class-wcj-price-by-user-role.php:170
2086
+ #: includes/class-wcj-product-by-user.php:163
2087
+ #: includes/price-by-country/class-wcj-price-by-country-local.php:136
2088
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:155
2089
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:306
2090
+ msgid "Sale Price"
2091
  msgstr ""
2092
 
2093
+ #: includes/class-wcj-export-import.php:352
2094
+ #: includes/reports/wcj-class-reports-stock.php:321
2095
+ msgid "Price"
2096
  msgstr ""
2097
 
2098
+ #: includes/class-wcj-export-import.php:353
2099
+ #: includes/class-wcj-product-addons.php:437
2100
+ #: includes/class-wcj-product-addons.php:554
2101
+ #: includes/class-wcj-purchase-data.php:328
2102
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:44
2103
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:86
2104
+ msgid "Type"
2105
  msgstr ""
2106
 
2107
+ #: includes/class-wcj-export-import.php:398
2108
+ msgid "Nr."
2109
  msgstr ""
2110
 
2111
+ #: includes/class-wcj-export-import.php:400
2112
+ msgid "First Name"
2113
  msgstr ""
2114
 
2115
+ #: includes/class-wcj-export-import.php:401
2116
+ msgid "Last Name"
2117
  msgstr ""
2118
 
2119
+ #: includes/class-wcj-export-import.php:402
2120
+ msgid "Last Order Date"
 
 
 
2121
  msgstr ""
2122
 
2123
+ #: includes/class-wcj-export-import.php:445
2124
+ msgid "Export Options"
 
 
 
2125
  msgstr ""
2126
 
2127
+ #: includes/class-wcj-export-import.php:450
2128
+ msgid "CSV Separator"
 
 
 
2129
  msgstr ""
2130
 
2131
+ #: includes/class-wcj-general.php:25 includes/class-wcj-pdf-invoicing.php:26
2132
+ msgid "General"
 
 
 
2133
  msgstr ""
2134
 
2135
+ #: includes/class-wcj-general.php:26
2136
+ msgid ""
2137
+ "Separate custom CSS for front and back end. Shortcodes in Wordpress text "
2138
+ "widgets. Custom roles tool."
2139
  msgstr ""
2140
 
2141
+ #: includes/class-wcj-general.php:32
2142
+ msgid "Products Atts"
 
2143
  msgstr ""
2144
 
2145
+ #: includes/class-wcj-general.php:33
2146
+ msgid "All Products and All Attributes."
2147
  msgstr ""
2148
 
2149
+ #: includes/class-wcj-general.php:36
2150
+ msgid "Add/Manage Custom Roles"
2151
  msgstr ""
2152
 
2153
+ #: includes/class-wcj-general.php:37
2154
+ msgid "Custom Roles"
 
 
2155
  msgstr ""
2156
 
2157
+ #: includes/class-wcj-general.php:38
2158
+ msgid "Manage Custom Roles."
2159
+ msgstr ""
2160
+
2161
+ #: includes/class-wcj-general.php:81
2162
+ msgid "Both fields are required!"
2163
+ msgstr ""
2164
+
2165
+ #: includes/class-wcj-general.php:84
2166
+ msgid "Role ID must not be numbers only!"
2167
+ msgstr ""
2168
+
2169
+ #: includes/class-wcj-general.php:88
2170
+ msgid "Role successfully added!"
2171
+ msgstr ""
2172
+
2173
+ #: includes/class-wcj-general.php:90
2174
+ msgid "Role already exists!"
2175
+ msgstr ""
2176
+
2177
+ #: includes/class-wcj-general.php:98
2178
+ msgid "Role %s successfully deleted!"
2179
  msgstr ""
2180
 
2181
+ #: includes/class-wcj-general.php:104 includes/class-wcj-general.php:117
2182
+ #: includes/class-wcj-sku.php:166
2183
+ msgid "ID"
2184
+ msgstr ""
2185
+
2186
+ #: includes/class-wcj-general.php:104
2187
+ #: includes/class-wcj-product-by-user.php:113
2188
+ msgid "Actions"
2189
+ msgstr ""
2190
+
2191
+ #: includes/class-wcj-general.php:110
2192
+ #: includes/class-wcj-order-custom-statuses.php:211
2193
+ #: includes/class-wcj-order-custom-statuses.php:232
2194
+ #: includes/class-wcj-product-by-user.php:122
2195
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:116
2196
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:285
2197
+ msgid "Delete"
2198
+ msgstr ""
2199
+
2200
+ #: includes/class-wcj-general.php:113
2201
+ msgid "Existing Roles"
2202
+ msgstr ""
2203
+
2204
+ #: includes/class-wcj-general.php:119
2205
+ msgid "Add New Role"
2206
+ msgstr ""
2207
+
2208
+ #: includes/class-wcj-general.php:138
2209
+ msgid "PayPal Email"
2210
+ msgstr ""
2211
+
2212
+ #: includes/class-wcj-general.php:203 includes/class-wcj-general.php:245
2213
+ #: includes/class-wcj-product-bulk-price-converter.php:149
2214
+ #: includes/class-wcj-sku.php:243
2215
+ #: includes/reports/wcj-class-reports-sales.php:132
2216
+ #: includes/reports/wcj-class-reports-stock.php:319
2217
+ msgid "Product"
2218
+ msgstr ""
2219
+
2220
+ #: includes/class-wcj-general.php:204 includes/class-wcj-general.php:246
2221
+ #: includes/reports/wcj-class-reports-stock.php:320
2222
+ msgid "Category"
2223
+ msgstr ""
2224
+
2225
+ #: includes/class-wcj-general.php:266
2226
+ msgid "Total Products:"
2227
+ msgstr ""
2228
+
2229
+ #: includes/class-wcj-general.php:311
2230
+ msgid "Shortcodes Options"
2231
+ msgstr ""
2232
+
2233
+ #: includes/class-wcj-general.php:316
2234
+ msgid "Enable All Shortcodes in WordPress Text Widgets"
2235
+ msgstr ""
2236
+
2237
+ #: includes/class-wcj-general.php:317
2238
+ msgid ""
2239
+ "This will enable all (including non Booster's) shortcodes in WordPress text "
2240
+ "widgets."
2241
+ msgstr ""
2242
+
2243
+ #: includes/class-wcj-general.php:324
2244
+ msgid "Disable Booster's Shortcodes"
2245
+ msgstr ""
2246
+
2247
+ #: includes/class-wcj-general.php:325
2248
+ msgid "Disable all Booster's shortcodes (for memory saving)."
2249
+ msgstr ""
2250
+
2251
+ #: includes/class-wcj-general.php:326 includes/class-wcj-general.php:389
2252
+ #: includes/class-wcj-general.php:403 includes/class-wcj-general.php:410
2253
+ #: includes/class-wcj-general.php:417 includes/class-wcj-general.php:424
2254
+ msgid "Disable"
2255
+ msgstr ""
2256
+
2257
+ #: includes/class-wcj-general.php:336
2258
+ msgid "Custom CSS Options"
2259
+ msgstr ""
2260
+
2261
+ #: includes/class-wcj-general.php:338
2262
+ msgid "Another custom CSS, if you need one."
2263
+ msgstr ""
2264
+
2265
+ #: includes/class-wcj-general.php:342
2266
+ msgid "Custom CSS - Front end (Customers)"
2267
+ msgstr ""
2268
+
2269
+ #: includes/class-wcj-general.php:349
2270
+ msgid "Custom CSS - Back end (Admin)"
2271
+ msgstr ""
2272
+
2273
+ #: includes/class-wcj-general.php:360 includes/class-wcj-general.php:365
2274
+ msgid "Product Revisions"
2275
+ msgstr ""
2276
+
2277
+ #: includes/class-wcj-general.php:376
2278
+ msgid "Advanced Options"
2279
+ msgstr ""
2280
+
2281
+ #: includes/class-wcj-general.php:381
2282
+ msgid "Recalculate Cart Totals on Every Page Load"
2283
+ msgstr ""
2284
+
2285
+ #: includes/class-wcj-general.php:388
2286
+ msgid "Disable Loading Datepicker/Weekpicker CSS"
2287
+ msgstr ""
2288
+
2289
+ #: includes/class-wcj-general.php:395
2290
+ msgid "Datepicker/Weekpicker CSS"
2291
+ msgstr ""
2292
+
2293
+ #: includes/class-wcj-general.php:402
2294
+ msgid "Disable Loading Datepicker/Weekpicker JavaScript"
2295
+ msgstr ""
2296
+
2297
+ #: includes/class-wcj-general.php:409
2298
+ msgid "Disable Loading Timepicker CSS"
2299
+ msgstr ""
2300
+
2301
+ #: includes/class-wcj-general.php:416
2302
+ msgid "Disable Loading Timepicker JavaScript"
2303
+ msgstr ""
2304
+
2305
+ #: includes/class-wcj-general.php:423
2306
+ msgid "Disable Saving PDFs in PHP directory for temporary files"
2307
+ msgstr ""
2308
+
2309
+ #: includes/class-wcj-general.php:434
2310
+ msgid "PayPal Email per Product Options"
2311
+ msgstr ""
2312
+
2313
+ #: includes/class-wcj-general.php:439
2314
+ msgid "PayPal Email per Product"
2315
+ msgstr ""
2316
+
2317
+ #: includes/class-wcj-general.php:441
2318
+ msgid "This will add new meta box to each product's edit page."
2319
+ msgstr ""
2320
+
2321
+ #: includes/class-wcj-mini-cart.php:26
2322
+ msgid "Mini Cart"
2323
+ msgstr ""
2324
+
2325
+ #: includes/class-wcj-mini-cart.php:27
2326
+ msgid "Customize WooCommerce mini cart widget."
2327
+ msgstr ""
2328
+
2329
+ #: includes/class-wcj-mini-cart.php:74
2330
+ msgid "Mini Cart Custom Info Blocks"
2331
+ msgstr ""
2332
+
2333
+ #: includes/class-wcj-mini-cart.php:119 includes/class-wcj-shipping.php:295
2334
+ msgid "Before mini cart"
2335
+ msgstr ""
2336
+
2337
+ #: includes/class-wcj-mini-cart.php:120 includes/class-wcj-shipping.php:296
2338
+ msgid "Before buttons"
2339
+ msgstr ""
2340
+
2341
+ #: includes/class-wcj-mini-cart.php:121 includes/class-wcj-shipping.php:297
2342
+ msgid "After mini cart"
2343
+ msgstr ""
2344
+
2345
+ #: includes/class-wcj-more-button-labels.php:26
2346
+ msgid "More Button Labels"
2347
+ msgstr ""
2348
+
2349
+ #: includes/class-wcj-more-button-labels.php:27
2350
+ msgid "Set WooCommerce \"Place order\" button label."
2351
+ msgstr ""
2352
+
2353
+ #: includes/class-wcj-more-button-labels.php:52
2354
+ msgid "Place order (Order now) Button"
2355
+ msgstr ""
2356
+
2357
+ #: includes/class-wcj-more-button-labels.php:59
2358
+ msgid "leave blank for WooCommerce default"
2359
+ msgstr ""
2360
+
2361
+ #: includes/class-wcj-more-button-labels.php:60
2362
+ msgid "Button on the checkout page."
2363
+ msgstr ""
2364
+
2365
+ #: includes/class-wcj-multicurrency-product-base-price.php:27
2366
+ msgid "Multicurrency Product Base Price"
2367
+ msgstr ""
2368
+
2369
+ #: includes/class-wcj-multicurrency-product-base-price.php:28
2370
+ msgid "Enter prices for WooCommerce products in different currencies."
2371
+ msgstr ""
2372
+
2373
+ #: includes/class-wcj-multicurrency.php:26
2374
+ msgid "Multicurrency (Currency Switcher)"
2375
+ msgstr ""
2376
+
2377
+ #: includes/class-wcj-multicurrency.php:27
2378
+ msgid "Add multiple currencies (currency switcher) to WooCommerce."
2379
+ msgstr ""
2380
+
2381
+ #: includes/class-wcj-multicurrency.php:332
2382
  msgid ""
2383
  "After setting currencies in the Currencies Options below, use <em>Booster - "
2384
  "Multicurrency Switcher</em> widget, or <em>"
2387
  "( '[wcj_currency_select_drop_down_list]' );</em>"
2388
  msgstr ""
2389
 
2390
+ #: includes/class-wcj-multicurrency.php:366
2391
  msgid "Multicurrency on per Product Basis"
2392
  msgstr ""
2393
 
2394
+ #: includes/class-wcj-multicurrency.php:368
2395
+ #: includes/class-wcj-price-by-country.php:187
2396
  msgid "This will add meta boxes in product edit."
2397
  msgstr ""
2398
 
2399
+ #: includes/class-wcj-multicurrency.php:374
2400
+ #: includes/class-wcj-price-by-country.php:163
2401
  msgid "Revert Currency to Default on Checkout"
2402
  msgstr ""
2403
 
2404
+ #: includes/class-wcj-multicurrency.php:387
2405
  msgid ""
2406
  "One currency probably should be set to current (original) shop currency with "
2407
  "an exchange rate of 1."
2408
  msgstr ""
2409
 
2410
+ #: includes/class-wcj-multicurrency.php:443
2411
+ msgid "Role Defaults"
2412
+ msgstr ""
2413
+
2414
+ #: includes/class-wcj-multicurrency.php:445 includes/class-wcj-orders.php:370
2415
+ #: includes/class-wcj-price-by-user-role.php:404
2416
+ msgid ""
2417
+ "Custom roles can be added via \"Add/Manage Custom Roles\" tool in Booster's "
2418
+ "<a href=\"%s\">General</a> module."
2419
+ msgstr ""
2420
+
2421
+ #: includes/class-wcj-multicurrency.php:450
2422
+ msgid "Roles"
2423
+ msgstr ""
2424
+
2425
+ #: includes/class-wcj-multicurrency.php:451
2426
+ #: includes/class-wcj-wholesale-price.php:484
2427
+ msgid "Save settings after you change this option. Leave blank to disable."
2428
+ msgstr ""
2429
+
2430
+ #: includes/class-wcj-multicurrency.php:474
2431
+ msgid "No default currency"
2432
+ msgstr ""
2433
+
2434
  #: includes/class-wcj-old-slugs.php:25
2435
  msgid "Old Slugs"
2436
  msgstr ""
2472
  msgstr ""
2473
 
2474
  #: includes/class-wcj-order-custom-statuses.php:33
2475
+ #: includes/class-wcj-order-custom-statuses.php:301
2476
  msgid "Custom Statuses"
2477
  msgstr ""
2478
 
2486
  msgstr ""
2487
 
2488
  #: includes/class-wcj-order-custom-statuses.php:40
2489
+ #: includes/functions/wcj-functions.php:971
2490
  msgctxt "Order status"
2491
  msgid "Processing"
2492
  msgstr ""
2497
  msgstr ""
2498
 
2499
  #: includes/class-wcj-order-custom-statuses.php:42
2500
+ #: includes/functions/wcj-functions.php:973
2501
  msgctxt "Order status"
2502
  msgid "Completed"
2503
  msgstr ""
2504
 
2505
  #: includes/class-wcj-order-custom-statuses.php:43
2506
+ #: includes/functions/wcj-functions.php:974
2507
  msgctxt "Order status"
2508
  msgid "Cancelled"
2509
  msgstr ""
2510
 
2511
  #: includes/class-wcj-order-custom-statuses.php:44
2512
+ #: includes/functions/wcj-functions.php:975
2513
  msgctxt "Order status"
2514
  msgid "Refunded"
2515
  msgstr ""
2516
 
2517
  #: includes/class-wcj-order-custom-statuses.php:45
2518
+ #: includes/functions/wcj-functions.php:976
2519
  msgctxt "Order status"
2520
  msgid "Failed"
2521
  msgstr ""
2522
 
2523
+ #: includes/class-wcj-order-custom-statuses.php:151
2524
  msgid "Status slug is empty. Status not added."
2525
  msgstr ""
2526
 
2527
+ #: includes/class-wcj-order-custom-statuses.php:154
2528
  msgid "The length of status slug must be 17 or less characters."
2529
  msgstr ""
2530
 
2531
+ #: includes/class-wcj-order-custom-statuses.php:157
2532
  msgid "Status label is empty. Status not added."
2533
  msgstr ""
2534
 
2535
+ #: includes/class-wcj-order-custom-statuses.php:164
2536
  msgid "Duplicate slug. Status not added."
2537
  msgstr ""
2538
 
2539
+ #: includes/class-wcj-order-custom-statuses.php:174
2540
  msgid "New status have been successfully added!"
2541
  msgstr ""
2542
 
2543
+ #: includes/class-wcj-order-custom-statuses.php:176
2544
  msgid "Status was not added."
2545
  msgstr ""
2546
 
2547
+ #: includes/class-wcj-order-custom-statuses.php:194
2548
  msgid "Status have been successfully deleted."
2549
  msgstr ""
2550
 
2551
+ #: includes/class-wcj-order-custom-statuses.php:196
2552
  msgid "Delete failed."
2553
  msgstr ""
2554
 
2555
+ #: includes/class-wcj-order-custom-statuses.php:201
2556
  msgid "Booster - Custom Statuses"
2557
  msgstr ""
2558
 
2559
+ #: includes/class-wcj-order-custom-statuses.php:202
2560
  msgid ""
2561
  "The tool lets you add or delete any custom status for WooCommerce orders."
2562
  msgstr ""
2563
 
2564
+ #: includes/class-wcj-order-custom-statuses.php:204
2565
  msgid "Statuses"
2566
  msgstr ""
2567
 
2568
+ #: includes/class-wcj-order-custom-statuses.php:207
2569
  msgid "Slug"
2570
  msgstr ""
2571
 
2572
+ #: includes/class-wcj-order-custom-statuses.php:209
2573
+ #: includes/class-wcj-order-custom-statuses.php:247
2574
+ msgid "Icon Code"
 
 
2575
  msgstr ""
2576
 
2577
+ #: includes/class-wcj-order-custom-statuses.php:210
2578
+ #: includes/class-wcj-order-custom-statuses.php:248
2579
+ msgid "Icon Color"
2580
+ msgstr ""
2581
+
2582
+ #: includes/class-wcj-order-custom-statuses.php:245
2583
  msgid "Slug (without wc- prefix)"
2584
  msgstr ""
2585
 
2586
+ #: includes/class-wcj-order-custom-statuses.php:249
2587
+ msgid "You can check icon codes <a target=\"_blank\" href=\"%s\">here</a>."
2588
+ msgstr ""
2589
+
2590
+ #: includes/class-wcj-order-custom-statuses.php:273
2591
+ #: includes/class-wcj-order-custom-statuses.php:274
2592
  msgid "Mark"
2593
  msgstr ""
2594
 
2595
+ #: includes/class-wcj-order-custom-statuses.php:306
2596
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:133
2597
  msgid "Default Order Status"
2598
  msgstr ""
2599
 
2600
+ #: includes/class-wcj-order-custom-statuses.php:307
2601
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:134
2602
  msgid "Enable Custom Statuses feature to add custom statuses to the list."
2603
  msgstr ""
2604
 
2605
+ #: includes/class-wcj-order-custom-statuses.php:308
2606
  msgid ""
2607
  "You can change the default order status here. However payment gateways can "
2608
  "change this status immediatelly on order creation. E.g. BACS gateway will "
2609
  "change status to On-hold."
2610
  msgstr ""
2611
 
2612
+ #: includes/class-wcj-order-custom-statuses.php:315
2613
  msgid "Add All Statuses to Admin Order Bulk Actions"
2614
  msgstr ""
2615
 
2616
+ #: includes/class-wcj-order-custom-statuses.php:322
2617
  msgid "Add Custom Statuses to Admin Reports"
2618
  msgstr ""
2619
 
2620
  #: includes/class-wcj-order-numbers.php:25
2621
+ #: includes/class-wcj-order-numbers.php:203
2622
  msgid "Order Numbers"
2623
  msgstr ""
2624
 
2636
  msgid "Tool renumerates all orders."
2637
  msgstr ""
2638
 
2639
+ #: includes/class-wcj-order-numbers.php:114
2640
  msgid "Orders successfully renumerated!"
2641
  msgstr ""
2642
 
2643
+ #: includes/class-wcj-order-numbers.php:118
2644
  msgid ""
2645
  "Press the button below to renumerate all existing orders starting from order "
2646
  "counter settings in WooCommerce > Settings > Booster > Order Numbers."
2647
  msgstr ""
2648
 
2649
+ #: includes/class-wcj-order-numbers.php:121
2650
  msgid "Renumerate orders"
2651
  msgstr ""
2652
 
2653
+ #: includes/class-wcj-order-numbers.php:205
2654
  msgid ""
2655
  "This section lets you enable sequential order numbering, set custom number "
2656
  "prefix, suffix and width."
2657
  msgstr ""
2658
 
2659
+ #: includes/class-wcj-order-numbers.php:209
2660
  msgid "Make Order Numbers Sequential"
2661
  msgstr ""
2662
 
2663
+ #: includes/class-wcj-order-numbers.php:216
2664
  msgid "Next Order Number"
2665
  msgstr ""
2666
 
2667
+ #: includes/class-wcj-order-numbers.php:217
2668
  msgid "Next new order will be given this number."
2669
  msgstr ""
2670
 
2671
+ #: includes/class-wcj-order-numbers.php:217
2672
  msgid "Use Renumerate Orders tool for existing orders."
2673
  msgstr ""
2674
 
2675
+ #: includes/class-wcj-order-numbers.php:218
2676
  msgid "This will be ignored if sequential order numbering is disabled."
2677
  msgstr ""
2678
 
2679
+ #: includes/class-wcj-order-numbers.php:224
2680
  msgid "Order Number Custom Prefix"
2681
  msgstr ""
2682
 
2683
+ #: includes/class-wcj-order-numbers.php:225
2684
  msgid ""
2685
  "Prefix before order number (optional). This will change the prefixes for all "
2686
  "existing orders."
2687
  msgstr ""
2688
 
2689
+ #: includes/class-wcj-order-numbers.php:232
2690
  msgid "Order Number Date Prefix"
2691
  msgstr ""
2692
 
2693
+ #: includes/class-wcj-order-numbers.php:234
2694
  msgid ""
2695
  "Date prefix before order number (optional). This will change the prefixes "
2696
  "for all existing orders. Value is passed directly to PHP `date` function, so "
2699
  "d- or mdy."
2700
  msgstr ""
2701
 
2702
+ #: includes/class-wcj-order-numbers.php:242
2703
  msgid "Order Number Width"
2704
  msgstr ""
2705
 
2706
+ #: includes/class-wcj-order-numbers.php:244
2707
  msgid ""
2708
  "Minimum width of number without prefix (zeros will be added to the left "
2709
  "side). This will change the minimum width of order number for all existing "
2711
  "Leave zero to disable."
2712
  msgstr ""
2713
 
2714
+ #: includes/class-wcj-order-numbers.php:252
2715
  msgid "Order Number Custom Suffix"
2716
  msgstr ""
2717
 
2718
+ #: includes/class-wcj-order-numbers.php:254
2719
  msgid ""
2720
  "Suffix after order number (optional). This will change the suffixes for all "
2721
  "existing orders."
2722
  msgstr ""
2723
 
2724
+ #: includes/class-wcj-order-numbers.php:262
2725
  msgid "Order Number Date Suffix"
2726
  msgstr ""
2727
 
2728
+ #: includes/class-wcj-order-numbers.php:264
2729
  msgid ""
2730
  "Date suffix after order number (optional). This will change the suffixes for "
2731
  "all existing orders. Value is passed directly to PHP `date` function, so "
2734
  "d- or mdy."
2735
  msgstr ""
2736
 
2737
+ #: includes/class-wcj-order-numbers.php:272
2738
  msgid "Use MySQL Transaction"
2739
  msgstr ""
2740
 
2741
+ #: includes/class-wcj-order-numbers.php:274
2742
  msgid ""
2743
  "This should be enabled if you have a lot of simultaneous orders in your shop "
2744
  "- to prevent duplicate order numbers (sequential)."
2745
  msgstr ""
2746
 
2747
+ #: includes/class-wcj-order-numbers.php:280
2748
+ msgid "Enable Order Tracking by Custom Number"
2749
+ msgstr ""
2750
+
2751
  #: includes/class-wcj-orders.php:25
2752
  msgid "Orders"
2753
  msgstr ""
2754
 
2755
  #: includes/class-wcj-orders.php:26
2756
  msgid ""
2757
+ "Minimum WooCommerce order amount (optionally by user role); orders auto-"
2758
+ "complete; custom admin order list columns."
2759
  msgstr ""
2760
 
2761
+ #: includes/class-wcj-orders.php:103
2762
  msgid "All countries"
2763
  msgstr ""
2764
 
2765
+ #: includes/class-wcj-orders.php:305
2766
  msgid "Order Minimum Amount"
2767
  msgstr ""
2768
 
2769
+ #: includes/class-wcj-orders.php:307
2770
  msgid "This section lets you set minimum order amount."
2771
  msgstr ""
2772
 
2773
+ #: includes/class-wcj-orders.php:311
2774
  msgid "Amount"
2775
  msgstr ""
2776
 
2777
+ #: includes/class-wcj-orders.php:312
2778
  msgid "Minimum order amount. Set to 0 to disable."
2779
  msgstr ""
2780
 
2781
+ #: includes/class-wcj-orders.php:322
2782
+ msgid "Exclude Shipping from Cart Total"
2783
+ msgstr ""
2784
+
2785
+ #: includes/class-wcj-orders.php:323
2786
+ msgid "Exclude"
2787
+ msgstr ""
2788
+
2789
+ #: includes/class-wcj-orders.php:329
2790
  msgid "Error message"
2791
  msgstr ""
2792
 
2793
+ #: includes/class-wcj-orders.php:331 includes/class-wcj-orders.php:348
2794
  msgid ""
2795
  "Message to customer if order is below minimum amount. Default: You must have "
2796
  "an order with a minimum of %s to place your order, your current order total "
2797
  "is %s."
2798
  msgstr ""
2799
 
2800
+ #: includes/class-wcj-orders.php:339
2801
  msgid "Add notice to cart page also"
2802
  msgstr ""
2803
 
2804
+ #: includes/class-wcj-orders.php:346
2805
  msgid "Message on cart page"
2806
  msgstr ""
2807
 
2808
+ #: includes/class-wcj-orders.php:356
2809
  msgid ""
2810
  "Stop customer from seeing the Checkout page if minimum amount not reached."
2811
  msgstr ""
2812
 
2813
+ #: includes/class-wcj-orders.php:357
2814
  msgid "Redirect back to Cart page"
2815
  msgstr ""
2816
 
2817
+ #: includes/class-wcj-orders.php:367
2818
+ msgid "Order Minimum Amount by User Role"
2819
+ msgstr ""
2820
+
2821
+ #: includes/class-wcj-orders.php:397
2822
  msgid "Orders Auto-Complete"
2823
  msgstr ""
2824
 
2825
+ #: includes/class-wcj-orders.php:399
2826
  msgid "This section lets you enable orders auto-complete function."
2827
  msgstr ""
2828
 
2829
+ #: includes/class-wcj-orders.php:403
2830
  msgid "Auto-complete all WooCommerce orders"
2831
  msgstr ""
2832
 
2833
+ #: includes/class-wcj-orders.php:405
2834
  msgid ""
2835
  "E.g. if you sell digital products then you are not shipping anything and you "
2836
  "may want auto-complete all your orders."
2837
  msgstr ""
2838
 
2839
+ #: includes/class-wcj-orders.php:415 includes/class-wcj-purchase-data.php:382
2840
  msgid "Orders List Custom Columns"
2841
  msgstr ""
2842
 
2843
+ #: includes/class-wcj-orders.php:417 includes/class-wcj-purchase-data.php:384
2844
  msgid "This section lets you add custom columns to WooCommerce orders list."
2845
  msgstr ""
2846
 
2847
+ #: includes/class-wcj-orders.php:428
2848
+ msgid "Custom Columns Total Number"
2849
+ msgstr ""
2850
+
2851
+ #: includes/class-wcj-orders.php:443
2852
+ msgid "Custom Column"
2853
+ msgstr ""
2854
+
2855
+ #: includes/class-wcj-orders.php:457
2856
+ msgid "Value"
2857
+ msgstr ""
2858
+
2859
+ #: includes/class-wcj-orders.php:458
2860
+ msgid "You can use shortcodes here."
2861
+ msgstr ""
2862
+
2863
  #: includes/class-wcj-payment-gateways-by-country.php:26
2864
  msgid "Gateways by Country or State"
2865
  msgstr ""
2871
  msgstr ""
2872
 
2873
  #: includes/class-wcj-payment-gateways-by-country.php:88
2874
+ #: includes/class-wcj-payment-gateways-by-user-role.php:83
2875
  msgid "Leave empty to disable."
2876
  msgstr ""
2877
 
2891
  msgid "Exclude States (Base Country)"
2892
  msgstr ""
2893
 
2894
+ #: includes/class-wcj-payment-gateways-by-user-role.php:27
2895
+ msgid "Gateways by User Role"
2896
+ msgstr ""
2897
+
2898
+ #: includes/class-wcj-payment-gateways-by-user-role.php:28
2899
+ msgid ""
2900
+ "Set user roles to include/exclude for WooCommerce payment gateways to show "
2901
+ "up."
2902
+ msgstr ""
2903
+
2904
+ #: includes/class-wcj-payment-gateways-by-user-role.php:84
2905
+ #: includes/class-wcj-product-by-user.php:215
2906
+ msgid ""
2907
+ "Custom roles can be added via \"Add/Manage Custom Roles\" tool in Booster's "
2908
+ "<a href=\"%s\">General</a> module"
2909
+ msgstr ""
2910
+
2911
+ #: includes/class-wcj-payment-gateways-by-user-role.php:105
2912
+ msgid "Include User Roles"
2913
+ msgstr ""
2914
+
2915
+ #: includes/class-wcj-payment-gateways-by-user-role.php:117
2916
+ msgid "Exclude User Roles"
2917
+ msgstr ""
2918
+
2919
  #: includes/class-wcj-payment-gateways-currency.php:26
2920
  msgid "Gateways Currency"
2921
  msgstr ""
2966
 
2967
  #: includes/class-wcj-payment-gateways-fees.php:164
2968
  #: includes/class-wcj-purchase-data.php:332
2969
+ #: includes/class-wcj-wholesale-price.php:260
2970
+ #: includes/class-wcj-wholesale-price.php:412
2971
  msgid "Fixed"
2972
  msgstr ""
2973
 
2974
  #: includes/class-wcj-payment-gateways-fees.php:165
2975
  #: includes/class-wcj-purchase-data.php:333
2976
+ #: includes/class-wcj-wholesale-price.php:259
2977
+ #: includes/class-wcj-wholesale-price.php:411
2978
  msgid "Percent"
2979
  msgstr ""
2980
 
3030
  msgstr ""
3031
 
3032
  #: includes/class-wcj-payment-gateways-icons.php:97
3033
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:98
3034
  msgid ""
3035
  "If you want to show an image next to the gateway's name on the frontend, "
3036
  "enter a URL to an image."
3088
  msgstr ""
3089
 
3090
  #: includes/class-wcj-payment-gateways-per-category.php:184
3091
+ #: includes/class-wcj-price-labels.php:710
3092
  msgid "Product Categories - Include"
3093
  msgstr ""
3094
 
3099
  msgstr ""
3100
 
3101
  #: includes/class-wcj-payment-gateways-per-category.php:195
3102
+ #: includes/class-wcj-price-labels.php:720
3103
  msgid "Product Categories - Exclude"
3104
  msgstr ""
3105
 
3110
  msgstr ""
3111
 
3112
  #: includes/class-wcj-payment-gateways-per-category.php:206
3113
+ #: includes/class-wcj-price-labels.php:690
3114
  msgid "Products - Include"
3115
  msgstr ""
3116
 
3121
  msgstr ""
3122
 
3123
  #: includes/class-wcj-payment-gateways-per-category.php:218
3124
+ #: includes/class-wcj-price-labels.php:700
3125
  msgid "Products - Exclude"
3126
  msgstr ""
3127
 
3139
  msgid "Add multiple custom payment gateways to WooCommerce."
3140
  msgstr ""
3141
 
3142
+ #: includes/class-wcj-payment-gateways.php:55
3143
+ msgid "%s Fields"
3144
+ msgstr ""
3145
+
3146
+ #: includes/class-wcj-payment-gateways.php:116
3147
  msgid "WooCommerce > Settings > Checkout"
3148
  msgstr ""
3149
 
3150
+ #: includes/class-wcj-payment-gateways.php:119
3151
  msgid "Custom Payment Gateways Options"
3152
  msgstr ""
3153
 
3154
+ #: includes/class-wcj-payment-gateways.php:122
3155
  msgid "This section lets you set number of custom payment gateways to add."
3156
  msgstr ""
3157
 
3158
+ #: includes/class-wcj-payment-gateways.php:123
3159
  msgid "After setting the number, visit %s to set each gateway options."
3160
  msgstr ""
3161
 
3162
+ #: includes/class-wcj-payment-gateways.php:126
3163
  msgid "Number of Gateways"
3164
  msgstr ""
3165
 
3166
+ #: includes/class-wcj-payment-gateways.php:128
3167
  msgid ""
3168
  "Number of custom payments gateways to be added. All settings for each new "
3169
  "gateway are in WooCommerce > Settings > Checkout."
3170
  msgstr ""
3171
 
3172
+ #: includes/class-wcj-payment-gateways.php:141
3173
  msgid "Admin Title Custom Gateway"
3174
  msgstr ""
3175
 
3176
+ #: includes/class-wcj-payment-gateways.php:143
3177
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:346
3178
  msgid "Custom Gateway"
3179
  msgstr ""
3180
 
3206
  msgid "Invoices Monthly Reports."
3207
  msgstr ""
3208
 
3209
+ #: includes/class-wcj-pdf-invoicing.php:190
3210
  msgid "PDF Invoicing General Options"
3211
  msgstr ""
3212
 
3213
+ #: includes/class-wcj-pdf-invoicing.php:199
3214
  msgid "Create on New Order"
3215
  msgstr ""
3216
 
3217
+ #: includes/class-wcj-pdf-invoicing.php:202
3218
  msgid "Create on Order Status"
3219
  msgstr ""
3220
 
3221
+ #: includes/class-wcj-pdf-invoicing.php:204
3222
  msgid "Manual Only"
3223
  msgstr ""
3224
 
3225
+ #: includes/class-wcj-pdf-invoicing.php:222
3226
  msgid "Hide Disabled Docs Settings"
3227
  msgstr ""
3228
 
3236
  "country."
3237
  msgstr ""
3238
 
3239
+ #: includes/class-wcj-price-by-country.php:123
3240
  msgid "Price by Country Options"
3241
  msgstr ""
3242
 
3243
+ #: includes/class-wcj-price-by-country.php:125
3244
  msgid ""
3245
  "Change product's price and currency by customer's country. Customer's "
3246
  "country is detected automatically by IP, or selected by customer manually."
3247
  msgstr ""
3248
 
3249
+ #: includes/class-wcj-price-by-country.php:130
3250
  msgid "Customer Country Detection Method"
3251
  msgstr ""
3252
 
3253
+ #: includes/class-wcj-price-by-country.php:132
3254
  msgid ""
3255
  "If you choose \"by user selection\", use [wcj_country_select_drop_down_list] "
3256
  "shortcode to display country selection list on frontend."
3257
  msgstr ""
3258
 
3259
+ #: includes/class-wcj-price-by-country.php:136
3260
  msgid "by IP"
3261
  msgstr ""
3262
 
3263
+ #: includes/class-wcj-price-by-country.php:137
3264
  msgid "by IP, then by user selection"
3265
  msgstr ""
3266
 
3267
+ #: includes/class-wcj-price-by-country.php:138
3268
  msgid "by user selection"
3269
  msgstr ""
3270
 
3271
+ #: includes/class-wcj-price-by-country.php:155
3272
  msgid "Override Country with Customer's Checkout Billing Country"
3273
  msgstr ""
3274
 
3275
+ #: includes/class-wcj-price-by-country.php:171
3276
  msgid "Price Rounding"
3277
  msgstr ""
3278
 
3279
+ #: includes/class-wcj-price-by-country.php:172
3280
  msgid "If you choose to multiply price, set rounding options here."
3281
  msgstr ""
3282
 
3283
+ #: includes/class-wcj-price-by-country.php:177
3284
  msgid "No rounding"
3285
  msgstr ""
3286
 
3287
+ #: includes/class-wcj-price-by-country.php:178
3288
  msgid "Round"
3289
  msgstr ""
3290
 
3291
+ #: includes/class-wcj-price-by-country.php:179
3292
  msgid "Round down"
3293
  msgstr ""
3294
 
3295
+ #: includes/class-wcj-price-by-country.php:180
3296
  msgid "Round up"
3297
  msgstr ""
3298
 
3299
+ #: includes/class-wcj-price-by-country.php:185
3300
  msgid "Price by Country on per Product Basis"
3301
  msgstr ""
3302
 
3303
+ #: includes/class-wcj-price-by-country.php:194
3304
+ msgid "Price Filter Widget Support"
3305
+ msgstr ""
3306
+
3307
+ #: includes/class-wcj-price-by-country.php:202
3308
+ msgid "Add Countries Flags Images to Select Drop-Down Box"
3309
+ msgstr ""
3310
+
3311
+ #: includes/class-wcj-price-by-country.php:204
3312
+ msgid ""
3313
+ "If you are using [wcj_country_select_drop_down_list] shortcode or \"Booster: "
3314
+ "Country Switcher\" widget, this will add country flags to these select boxes."
3315
+ msgstr ""
3316
+
3317
+ #: includes/class-wcj-price-by-country.php:213
3318
  msgid "Country Groups"
3319
  msgstr ""
3320
 
3321
+ #: includes/class-wcj-price-by-country.php:219
3322
  msgid "Countries Selection"
3323
  msgstr ""
3324
 
3325
+ #: includes/class-wcj-price-by-country.php:220
3326
  msgid "Choose how do you want to enter countries groups in admin."
3327
  msgstr ""
3328
 
3329
+ #: includes/class-wcj-price-by-country.php:225
3330
  msgid "Comma separated list"
3331
  msgstr ""
3332
 
3333
+ #: includes/class-wcj-price-by-country.php:226
3334
  msgid "Multiselect"
3335
  msgstr ""
3336
 
3337
+ #: includes/class-wcj-price-by-country.php:227
3338
  msgid "Chosen select"
3339
  msgstr ""
3340
 
3341
+ #: includes/class-wcj-price-by-country.php:232
3342
  msgid "Autogenerate Groups"
3343
  msgstr ""
3344
 
3345
+ #: includes/class-wcj-price-by-country.php:237
3346
  msgid "Currencies supported in both PayPal and Yahoo Exchange Rates:"
3347
  msgstr ""
3348
 
3349
+ #: includes/class-wcj-price-by-country.php:239
3350
+ #: includes/class-wcj-price-by-country.php:244
3351
+ #: includes/class-wcj-price-by-country.php:249
3352
  msgid "Generate"
3353
  msgstr ""
3354
 
3355
+ #: includes/class-wcj-price-by-country.php:242
3356
  msgid "Currencies supported in Yahoo Exchange Rates:"
3357
  msgstr ""
3358
 
3359
+ #: includes/class-wcj-price-by-country.php:247
3360
  msgid "All Countries and Currencies:"
3361
  msgstr ""
3362
 
3363
+ #: includes/class-wcj-price-by-country.php:254
3364
  msgid "Groups Number"
3365
  msgstr ""
3366
 
3367
+ #: includes/class-wcj-price-by-country.php:273
3368
  msgid ""
3369
  "Countries. List of comma separated country codes.<br>For country codes and "
3370
  "predifined sets visit <a href=\"http://booster.io/features/prices-and-"
3371
  "currencies-by-customers-country\" target=\"_blank\">http://booster.io</a>"
3372
  msgstr ""
3373
 
3374
+ #: includes/class-wcj-price-by-country.php:349
3375
  msgid "Multiply Price by"
3376
  msgstr ""
3377
 
3378
+ #: includes/class-wcj-price-by-country.php:372
3379
  #: includes/price-by-country/class-wcj-price-by-country-local.php:143
3380
  msgid "Make empty price"
3381
  msgstr ""
3382
 
3383
+ #: includes/class-wcj-price-by-user-role.php:28
3384
  msgid "Price by User Role"
3385
  msgstr ""
3386
 
3387
+ #: includes/class-wcj-price-by-user-role.php:29
3388
  msgid "Display WooCommerce products prices by user roles."
3389
  msgstr ""
3390
 
3391
+ #: includes/class-wcj-price-by-user-role.php:103
3392
+ msgid ""
3393
+ "Booster: Free plugin's version is limited to only one price by user role per "
3394
+ "products settings product enabled at a time. You will need to get <a href="
3395
+ "\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> to add "
3396
+ "unlimited number of price by user role per product settings products."
3397
  msgstr ""
3398
 
3399
+ #: includes/class-wcj-price-by-user-role.php:130
3400
+ msgid "Per Product Settings (press Update after changing)"
3401
  msgstr ""
3402
 
3403
+ #: includes/class-wcj-price-by-user-role.php:183
3404
+ #: includes/class-wcj-price-by-user-role.php:418
3405
+ msgid "Make Empty Price"
3406
+ msgstr ""
3407
+
3408
+ #: includes/class-wcj-price-by-user-role.php:372
3409
+ msgid "Enable per Product Settings"
3410
  msgstr ""
3411
 
3412
+ #: includes/class-wcj-price-by-user-role.php:374
3413
  msgid ""
3414
+ "When enabled, this will add new \"Booster: Price by User Role\" meta box to "
3415
+ "each product's edit page."
 
 
3416
  msgstr ""
3417
 
3418
+ #: includes/class-wcj-price-by-user-role.php:380
3419
+ msgid "Show Roles on per Product Settings"
3420
  msgstr ""
3421
 
3422
+ #: includes/class-wcj-price-by-user-role.php:381
3423
+ msgid ""
3424
+ "If per product settings is enabled, you can choose which roles to show on "
3425
+ "product's edit page. Leave blank to show all roles."
3426
  msgstr ""
3427
 
3428
+ #: includes/class-wcj-price-by-user-role.php:391
3429
+ msgid ""
3430
+ "When enabled, this will apply user role multipliers to shipping calculations."
3431
  msgstr ""
3432
 
3433
+ #: includes/class-wcj-price-by-user-role.php:402
3434
+ msgid "Roles & Multipliers"
3435
  msgstr ""
3436
 
3437
+ #: includes/class-wcj-price-formats.php:27
3438
+ msgid "Price Formats"
3439
  msgstr ""
3440
 
3441
+ #: includes/class-wcj-price-formats.php:28
3442
+ msgid "Set different WooCommerce price formats for different currencies."
3443
  msgstr ""
3444
 
3445
+ #: includes/class-wcj-price-formats.php:114
3446
+ msgid "Formats"
 
 
3447
  msgstr ""
3448
 
3449
+ #: includes/class-wcj-price-formats.php:119
3450
+ msgid "Total Number"
 
 
 
3451
  msgstr ""
3452
 
3453
+ #: includes/class-wcj-price-formats.php:134
3454
+ msgid "Format"
3455
  msgstr ""
3456
 
3457
+ #: includes/class-wcj-price-formats.php:143
3458
+ msgid "Currency Position"
3459
  msgstr ""
3460
 
3461
+ #: includes/class-wcj-price-formats.php:148
3462
+ msgid "Left"
3463
  msgstr ""
3464
 
3465
+ #: includes/class-wcj-price-formats.php:149
3466
+ msgid "Right"
3467
  msgstr ""
3468
 
3469
+ #: includes/class-wcj-price-formats.php:150
3470
+ msgid "Left with space"
3471
  msgstr ""
3472
 
3473
+ #: includes/class-wcj-price-formats.php:151
3474
+ msgid "Right with space"
 
 
3475
  msgstr ""
3476
 
3477
+ #: includes/class-wcj-price-formats.php:156
3478
+ msgid "Thousand Separator"
 
3479
  msgstr ""
3480
 
3481
+ #: includes/class-wcj-price-formats.php:163
3482
+ msgid "Decimal Separator"
3483
+ msgstr ""
3484
+
3485
+ #: includes/class-wcj-price-formats.php:170
3486
+ msgid "Number of Decimals"
3487
  msgstr ""
3488
 
3489
  #: includes/class-wcj-price-labels.php:25
3552
  msgid "Booster - Migrate from Custom Price Labels (Pro)"
3553
  msgstr ""
3554
 
3555
+ #: includes/class-wcj-price-labels.php:179
3556
+ msgid "Migrating (product ID "
3557
+ msgstr ""
3558
+
3559
+ #: includes/class-wcj-price-labels.php:180
3560
+ msgid "Result: "
3561
+ msgstr ""
3562
+
3563
+ #: includes/class-wcj-price-labels.php:202
3564
+ msgid "Found data to migrate (product ID "
3565
+ msgstr ""
3566
+
3567
+ #: includes/class-wcj-price-labels.php:218
3568
+ msgid "No data to migrate found"
3569
+ msgstr ""
3570
+
3571
+ #: includes/class-wcj-price-labels.php:224
3572
+ msgid ""
3573
+ "Press button below to copy all labels from Custom Price Labels (Pro) plugin. "
3574
+ "Old labels will NOT be deleted. New labels will be overwritten."
3575
+ msgstr ""
3576
+
3577
+ #: includes/class-wcj-price-labels.php:225
3578
+ msgid "Migrate data"
3579
+ msgstr ""
3580
+
3581
+ #: includes/class-wcj-price-labels.php:271
3582
+ msgid "Booster: Custom Price Labels"
3583
+ msgstr ""
3584
+
3585
+ #: includes/class-wcj-price-labels.php:624
3586
+ msgid "Custom Price Labels - Globally"
3587
+ msgstr ""
3588
+
3589
+ #: includes/class-wcj-price-labels.php:626
3590
+ msgid "This section lets you set price labels for all products globally."
3591
+ msgstr ""
3592
+
3593
+ #: includes/class-wcj-price-labels.php:630
3594
+ msgid "Add before the price"
3595
+ msgstr ""
3596
+
3597
+ #: includes/class-wcj-price-labels.php:631
3598
+ msgid "Enter text to add before all products prices. Leave blank to disable."
3599
+ msgstr ""
3600
+
3601
+ #: includes/class-wcj-price-labels.php:640
3602
+ msgid "Add after the price"
3603
+ msgstr ""
3604
+
3605
+ #: includes/class-wcj-price-labels.php:641
3606
+ msgid "Enter text to add after all products prices. Leave blank to disable."
3607
+ msgstr ""
3608
+
3609
+ #: includes/class-wcj-price-labels.php:648
3610
+ msgid "Add between regular and sale prices"
3611
+ msgstr ""
3612
+
3613
+ #: includes/class-wcj-price-labels.php:649
3614
+ msgid ""
3615
+ "Enter text to add between regular and sale prices. Leave blank to disable."
3616
+ msgstr ""
3617
+
3618
+ #: includes/class-wcj-price-labels.php:658
3619
+ msgid "Remove from price"
3620
+ msgstr ""
3621
+
3622
+ #: includes/class-wcj-price-labels.php:660
3623
+ msgid "Enter text to remove from all products prices. Leave blank to disable."
3624
+ msgstr ""
3625
+
3626
+ #: includes/class-wcj-price-labels.php:669
3627
+ msgid "Replace in price"
3628
+ msgstr ""
3629
+
3630
+ #: includes/class-wcj-price-labels.php:670
3631
+ msgid "Enter text to replace in all products prices. Leave blank to disable."
3632
+ msgstr ""
3633
+
3634
+ #: includes/class-wcj-price-labels.php:681
3635
+ msgid "Enter text to replace with. Leave blank to disable."
3636
+ msgstr ""
3637
+
3638
+ #: includes/class-wcj-price-labels.php:691
3639
+ msgid ""
3640
+ "Apply global price labels only for selected products. Leave blank to disable "
3641
+ "the option."
3642
+ msgstr ""
3643
+
3644
+ #: includes/class-wcj-price-labels.php:701
3645
+ msgid ""
3646
+ "Do not apply global price labels only for selected products. Leave blank to "
3647
+ "disable the option."
3648
+ msgstr ""
3649
+
3650
+ #: includes/class-wcj-price-labels.php:711
3651
+ msgid ""
3652
+ "Apply global price labels only for selected product categories. Leave blank "
3653
+ "to disable the option."
3654
+ msgstr ""
3655
+
3656
+ #: includes/class-wcj-price-labels.php:721
3657
+ msgid ""
3658
+ "Do not apply global price labels only for selected product categories. Leave "
3659
+ "blank to disable the option."
3660
+ msgstr ""
3661
+
3662
+ #: includes/class-wcj-price-labels.php:730
3663
+ msgid "Product Types - Include"
3664
+ msgstr ""
3665
+
3666
+ #: includes/class-wcj-price-labels.php:731
3667
+ msgid ""
3668
+ "Apply global price labels only for selected product types. Leave blank to "
3669
+ "disable the option."
3670
+ msgstr ""
3671
+
3672
+ #: includes/class-wcj-price-labels.php:737
3673
+ msgid "Variable product's variation"
3674
+ msgstr ""
3675
+
3676
+ #: includes/class-wcj-price-labels.php:744
3677
+ msgid "Custom Price Labels - Per Product"
3678
+ msgstr ""
3679
+
3680
+ #: includes/class-wcj-price-labels.php:750
3681
+ msgid "This will add metaboxes to each product's admin edit page."
3682
+ msgstr ""
3683
+
3684
+ #: includes/class-wcj-product-add-to-cart.php:26
3685
+ msgid "Product Add to Cart"
3686
+ msgstr ""
3687
+
3688
+ #: includes/class-wcj-product-add-to-cart.php:27
3689
+ msgid "Set any local url to redirect to on WooCommerce Add to Cart."
3690
+ msgstr ""
3691
+
3692
+ #: includes/class-wcj-product-add-to-cart.php:28
3693
+ msgid "Automatically add to cart on product visit."
3694
+ msgstr ""
3695
+
3696
+ #: includes/class-wcj-product-add-to-cart.php:29
3697
+ msgid "Display radio buttons instead of drop box for variable products."
3698
+ msgstr ""
3699
+
3700
+ #: includes/class-wcj-product-add-to-cart.php:30
3701
+ msgid "Disable quantity input."
3702
+ msgstr ""
3703
+
3704
+ #: includes/class-wcj-product-add-to-cart.php:31
3705
+ msgid "Disable add to cart button on per product basis."
3706
+ msgstr ""
3707
+
3708
+ #: includes/class-wcj-product-add-to-cart.php:32
3709
+ msgid "Open external products on add to cart in new window."
3710
+ msgstr ""
3711
+
3712
+ #: includes/class-wcj-product-add-to-cart.php:173
3713
+ msgid "Disable Add to Cart Button (Single Product Page)"
3714
+ msgstr ""
3715
+
3716
+ #: includes/class-wcj-product-add-to-cart.php:183
3717
+ msgid "Disable Add to Cart Button (Category/Archives)"
3718
+ msgstr ""
3719
+
3720
+ #: includes/class-wcj-product-add-to-cart.php:273
3721
+ msgid "Add to Cart Local Redirect Options"
3722
+ msgstr ""
3723
+
3724
+ #: includes/class-wcj-product-add-to-cart.php:275
3725
+ msgid ""
3726
+ "This section lets you set any local URL to redirect to after successfully "
3727
+ "adding product to cart. Leave empty to redirect to checkout page (skipping "
3728
+ "the cart page)."
3729
+ msgstr ""
3730
+
3731
+ #: includes/class-wcj-product-add-to-cart.php:279
3732
+ msgid "Local Redirect"
3733
+ msgstr ""
3734
+
3735
+ #: includes/class-wcj-product-add-to-cart.php:286
3736
+ msgid "Local Redirect URL"
3737
  msgstr ""
3738
 
3739
+ #: includes/class-wcj-product-add-to-cart.php:287
3740
+ msgid "Performs a safe (local) redirect, using wp_redirect()."
3741
  msgstr ""
3742
 
3743
+ #: includes/class-wcj-product-add-to-cart.php:288
3744
+ msgid "Local redirect URL. Leave empty to redirect to checkout."
3745
  msgstr ""
3746
 
3747
+ #: includes/class-wcj-product-add-to-cart.php:299
3748
+ #: includes/class-wcj-product-add-to-cart.php:305
3749
+ msgid "Add to Cart on Visit"
3750
  msgstr ""
3751
 
3752
+ #: includes/class-wcj-product-add-to-cart.php:301
3753
  msgid ""
3754
+ "This section lets you enable automatically adding product to cart on "
3755
+ "visiting the product page. Product is only added once, so if it is already "
3756
+ "in cart - duplicate product is not added. "
3757
  msgstr ""
3758
 
3759
+ #: includes/class-wcj-product-add-to-cart.php:316
3760
+ msgid "Add to Cart Variable Product"
3761
  msgstr ""
3762
 
3763
+ #: includes/class-wcj-product-add-to-cart.php:321
3764
+ msgid "Display Radio Buttons Instead of Drop Box"
3765
  msgstr ""
3766
 
3767
+ #: includes/class-wcj-product-add-to-cart.php:334
3768
+ msgid "Add to Cart Quantity"
3769
  msgstr ""
3770
 
3771
+ #: includes/class-wcj-product-add-to-cart.php:339
3772
+ msgid "Disable Quantity Field for All Products"
3773
  msgstr ""
3774
 
3775
+ #: includes/class-wcj-product-add-to-cart.php:340
3776
+ msgid "Disable on Single Product Page"
3777
  msgstr ""
3778
 
3779
+ #: includes/class-wcj-product-add-to-cart.php:347
3780
+ msgid "Disable on Cart Page"
3781
  msgstr ""
3782
 
3783
+ #: includes/class-wcj-product-add-to-cart.php:358
3784
+ msgid "Add to Cart Button"
3785
  msgstr ""
3786
 
3787
+ #: includes/class-wcj-product-add-to-cart.php:363
3788
+ msgid "Enable/Disable Add to Cart Buttons on per Product Basis"
3789
  msgstr ""
3790
 
3791
+ #: includes/class-wcj-product-add-to-cart.php:365
3792
+ msgid "This will add meta box to each product's edit page"
3793
  msgstr ""
3794
 
3795
+ #: includes/class-wcj-product-add-to-cart.php:375
3796
+ msgid "External Products"
 
3797
  msgstr ""
3798
 
3799
+ #: includes/class-wcj-product-add-to-cart.php:380
3800
+ msgid "Open External Products on Add to Cart in New Window"
3801
  msgstr ""
3802
 
3803
+ #: includes/class-wcj-product-add-to-cart.php:381
3804
+ msgid "Enable on Single Product Pages"
3805
  msgstr ""
3806
 
3807
+ #: includes/class-wcj-product-add-to-cart.php:388
3808
+ msgid "Enable on Category/Archive Pages"
3809
  msgstr ""
3810
 
3811
+ #: includes/class-wcj-product-addons.php:28
3812
+ msgid "Product Addons"
3813
  msgstr ""
3814
 
3815
+ #: includes/class-wcj-product-addons.php:29
3816
+ msgid "Add (paid/free/discount) addons to WooCommerce products."
3817
  msgstr ""
3818
 
3819
+ #: includes/class-wcj-product-addons.php:76
3820
+ msgid "Some of the required addons are not selected!"
 
 
3821
  msgstr ""
3822
 
3823
+ #: includes/class-wcj-product-addons.php:91
3824
  msgid ""
3825
+ "Booster: Free plugin's version is limited to only three products with per "
3826
+ "product addons enabled at a time. You will need to get <a href=\"http://"
3827
+ "booster.io/plus/\" target=\"_blank\">Booster Plus</a> to add unlimited "
3828
+ "number of products with per product addons."
3829
  msgstr ""
3830
 
3831
+ #: includes/class-wcj-product-addons.php:417
3832
+ #: includes/class-wcj-wholesale-price.php:269
3833
+ #: includes/class-wcj-wholesale-price.php:304
3834
+ msgid "Save product after you change this number."
3835
  msgstr ""
3836
 
3837
+ #: includes/class-wcj-product-addons.php:420
3838
+ #: includes/class-wcj-product-addons.php:531
3839
+ msgid "Product Addons Total Number"
 
3840
  msgstr ""
3841
 
3842
+ #: includes/class-wcj-product-addons.php:427
3843
+ #: includes/class-wcj-product-addons.php:547
3844
+ msgid "Product Addon"
3845
  msgstr ""
3846
 
3847
+ #: includes/class-wcj-product-addons.php:443
3848
+ #: includes/class-wcj-product-addons.php:561
3849
+ msgid "Radio Buttons"
3850
  msgstr ""
3851
 
3852
+ #: includes/class-wcj-product-addons.php:447
3853
+ #: includes/class-wcj-product-addons.php:565
3854
+ msgid "Label(s)"
3855
  msgstr ""
3856
 
3857
+ #: includes/class-wcj-product-addons.php:448
3858
+ #: includes/class-wcj-product-addons.php:455
3859
+ #: includes/class-wcj-product-addons.php:462
3860
+ #: includes/class-wcj-product-addons.php:566
3861
+ #: includes/class-wcj-product-addons.php:574
3862
+ #: includes/class-wcj-product-addons.php:583
3863
+ msgid "For radio enter one value per line."
3864
  msgstr ""
3865
 
3866
+ #: includes/class-wcj-product-addons.php:454
3867
+ #: includes/class-wcj-product-addons.php:573
3868
+ msgid "Price(s)"
3869
+ msgstr ""
3870
+
3871
+ #: includes/class-wcj-product-addons.php:461
3872
+ #: includes/class-wcj-product-addons.php:582
3873
+ msgid "Tooltip(s)"
3874
+ msgstr ""
3875
+
3876
+ #: includes/class-wcj-product-addons.php:468
3877
+ #: includes/class-wcj-product-addons.php:590
3878
+ #: includes/class-wcj-purchase-data.php:338
3879
+ msgid "Default Value"
3880
  msgstr ""
3881
 
3882
+ #: includes/class-wcj-product-addons.php:469
3883
+ #: includes/class-wcj-product-addons.php:591
3884
  msgid ""
3885
+ "For checkbox use 'checked'; for radio enter default label. Leave blank for "
3886
+ "no default value."
 
3887
  msgstr ""
3888
 
3889
+ #: includes/class-wcj-product-addons.php:475
3890
+ msgid "Is required"
3891
  msgstr ""
3892
 
3893
+ #: includes/class-wcj-product-addons.php:504
3894
+ msgid "Enable per Product Addons"
3895
  msgstr ""
3896
 
3897
+ #: includes/class-wcj-product-addons.php:506
3898
+ msgid ""
3899
+ "When enabled, this will add new \"Booster: Product Addons\" meta box to each "
3900
+ "product's edit page."
3901
  msgstr ""
3902
 
3903
+ #: includes/class-wcj-product-addons.php:518
3904
+ msgid "All Product Options"
3905
  msgstr ""
3906
 
3907
+ #: includes/class-wcj-product-addons.php:523
3908
+ msgid "Enable All Products Addons"
 
3909
  msgstr ""
3910
 
3911
+ #: includes/class-wcj-product-addons.php:525
3912
+ msgid "When enabled, this will add addons below to all products."
 
 
 
3913
  msgstr ""
3914
 
3915
+ #: includes/class-wcj-product-addons.php:532
3916
+ msgid "Save changes after you change this number."
3917
  msgstr ""
3918
 
3919
+ #: includes/class-wcj-product-addons.php:598
3920
+ #: includes/class-wcj-product-by-user.php:190
3921
+ msgid "Is Required"
3922
+ msgstr ""
3923
+
3924
+ #: includes/class-wcj-product-addons.php:618
3925
+ msgid "Enable AJAX on Single Product Page"
3926
  msgstr ""
3927
 
3928
  #: includes/class-wcj-product-bookings.php:27
3933
  msgid "Add bookings products to WooCommerce."
3934
  msgstr ""
3935
 
3936
+ #: includes/class-wcj-product-bookings.php:131
3937
+ #: includes/class-wcj-product-bookings.php:226
3938
+ #: includes/class-wcj-product-bookings.php:481
3939
  msgid "\"Date to\" must be after \"Date from\""
3940
  msgstr ""
3941
 
3942
+ #: includes/class-wcj-product-bookings.php:145
3943
  #: includes/class-wcj-product-open-pricing.php:209
3944
  msgid "Read more"
3945
  msgstr ""
3946
 
3947
+ #: includes/class-wcj-product-bookings.php:184
3948
+ #: includes/class-wcj-product-bookings.php:453
3949
  msgid "Period"
3950
  msgstr ""
3951
 
3952
+ #: includes/class-wcj-product-bookings.php:216
3953
+ #: includes/class-wcj-product-bookings.php:467
3954
  msgid "\"Date from\" must be set"
3955
  msgstr ""
3956
 
3957
+ #: includes/class-wcj-product-bookings.php:220
3958
+ #: includes/class-wcj-product-bookings.php:474
3959
  msgid "\"Date to\" must be set"
3960
  msgstr ""
3961
 
3962
+ #: includes/class-wcj-product-bookings.php:299
3963
+ #: includes/class-wcj-product-bookings.php:439
3964
  msgid "Date from"
3965
  msgstr ""
3966
 
3967
+ #: includes/class-wcj-product-bookings.php:303
3968
+ #: includes/class-wcj-product-bookings.php:446
3969
  msgid "Date to"
3970
  msgstr ""
3971
 
3972
+ #: includes/class-wcj-product-bookings.php:318
3973
+ #: includes/class-wcj-product-bookings.php:460
3974
+ msgid "/ day"
3975
  msgstr ""
3976
 
3977
+ #: includes/class-wcj-product-bookings.php:386
3978
  msgid ""
3979
  "Booster: Free plugin's version is limited to only one bookings product "
3980
  "enabled at a time. You will need to get <a href=\"http://booster.io/plus/\" "
3982
  "products."
3983
  msgstr ""
3984
 
3985
+ #: includes/class-wcj-product-bookings.php:432
3986
+ #: includes/class-wcj-product-open-pricing.php:369
3987
+ msgid "Labels and Messages"
3988
+ msgstr ""
3989
+
3990
+ #: includes/class-wcj-product-bookings.php:437
3991
+ msgid "Frontend Label: \"Date from\""
3992
+ msgstr ""
3993
+
3994
+ #: includes/class-wcj-product-bookings.php:444
3995
+ msgid "Frontend Label: \"Date to\""
3996
+ msgstr ""
3997
+
3998
+ #: includes/class-wcj-product-bookings.php:451
3999
+ msgid "Frontend Label: Period"
4000
+ msgstr ""
4001
+
4002
+ #: includes/class-wcj-product-bookings.php:458
4003
+ msgid "Frontend Label: Price per Day"
4004
+ msgstr ""
4005
+
4006
+ #: includes/class-wcj-product-bookings.php:465
4007
+ msgid "Message: \"Date from\" is missing"
4008
+ msgstr ""
4009
+
4010
+ #: includes/class-wcj-product-bookings.php:472
4011
+ #: includes/class-wcj-product-bookings.php:479
4012
+ msgid "Message: \"Date to\" is missing"
4013
+ msgstr ""
4014
+
4015
+ #: includes/class-wcj-product-bookings.php:495
4016
+ msgid "Hide Quantity Selector for Booking Products"
4017
+ msgstr ""
4018
+
4019
+ #: includes/class-wcj-product-bookings.php:506
4020
  msgid ""
4021
  "When enabled, module will add new \"Booster: Bookings\" meta box to each "
4022
  "product's edit page."
4036
  msgstr ""
4037
 
4038
  #: includes/class-wcj-product-bulk-price-converter.php:150
4039
+ #: includes/class-wcj-product-by-user.php:164 includes/class-wcj-sku.php:244
4040
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:156
4041
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:329
4042
  msgid "Categories"
4043
  msgstr ""
4044
 
4087
  msgstr ""
4088
 
4089
  #: includes/class-wcj-product-bulk-price-converter.php:261
4090
+ #: includes/shortcodes/class-wcj-products-shortcodes.php:220
4091
  msgid "Any"
4092
  msgstr ""
4093
 
4112
  msgstr ""
4113
 
4114
  #: includes/class-wcj-product-by-country.php:27
4115
+ msgid "Product Visibility by Country"
4116
  msgstr ""
4117
 
4118
  #: includes/class-wcj-product-by-country.php:28
4129
  "to each product's edit page."
4130
  msgstr ""
4131
 
4132
+ #: includes/class-wcj-product-by-user-role.php:27
4133
+ msgid "Product Visibility by User Role"
4134
+ msgstr ""
4135
+
4136
+ #: includes/class-wcj-product-by-user-role.php:28
4137
+ msgid "Display WooCommerce products by customers user role."
4138
+ msgstr ""
4139
+
4140
+ #: includes/class-wcj-product-by-user-role.php:70
4141
+ msgid "Visible for User Roles"
4142
+ msgstr ""
4143
+
4144
+ #: includes/class-wcj-product-by-user-role.php:84
4145
+ msgid ""
4146
+ "When enabled, module will add new \"Booster: Product by User Role\" meta box "
4147
+ "to each product's edit page."
4148
+ msgstr ""
4149
+
4150
+ #: includes/class-wcj-product-by-user.php:27
4151
+ msgid "User Products"
4152
+ msgstr ""
4153
+
4154
+ #: includes/class-wcj-product-by-user.php:28
4155
+ msgid "Let users add new WooCommerce products from frontend."
4156
+ msgstr ""
4157
+
4158
+ #: includes/class-wcj-product-by-user.php:50
4159
+ #: includes/class-wcj-product-by-user.php:111
4160
+ msgid "My Products"
4161
+ msgstr ""
4162
+
4163
+ #: includes/class-wcj-product-by-user.php:72
4164
+ #: includes/class-wcj-product-by-user.php:81
4165
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:238
4166
+ msgid "Wrong user ID!"
4167
+ msgstr ""
4168
+
4169
+ #: includes/class-wcj-product-by-user.php:113
4170
+ #: includes/class-wcj-product-tabs.php:421
4171
+ #: includes/class-wcj-product-tabs.php:542
4172
+ #: includes/class-wcj-purchase-data.php:321
4173
+ #: includes/class-wcj-related-products.php:123
4174
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:63
4175
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:214
4176
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:79
4177
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:259
4178
+ msgid "Title"
4179
+ msgstr ""
4180
+
4181
+ #: includes/class-wcj-product-by-user.php:121
4182
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:359
4183
+ msgid "Edit"
4184
+ msgstr ""
4185
+
4186
+ #: includes/class-wcj-product-by-user.php:147
4187
+ msgid "Use [wcj_product_add_new] shortcode."
4188
+ msgstr ""
4189
+
4190
+ #: includes/class-wcj-product-by-user.php:160
4191
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:152
4192
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:274
4193
+ msgid "Short Description"
4194
+ msgstr ""
4195
+
4196
+ #: includes/class-wcj-product-by-user.php:161
4197
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:153
4198
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:290
4199
+ msgid "Image"
4200
+ msgstr ""
4201
+
4202
+ #: includes/class-wcj-product-by-user.php:165
4203
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:157
4204
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:352
4205
+ msgid "Tags"
4206
+ msgstr ""
4207
+
4208
+ #: includes/class-wcj-product-by-user.php:180
4209
+ msgid "Additional Fields"
4210
+ msgstr ""
4211
+
4212
+ #: includes/class-wcj-product-by-user.php:206
4213
+ msgid "<em>Title</em> field is always enabled and required."
4214
+ msgstr ""
4215
+
4216
+ #: includes/class-wcj-product-by-user.php:214
4217
+ msgid "User Visibility"
4218
+ msgstr ""
4219
+
4220
+ #: includes/class-wcj-product-by-user.php:224
4221
+ msgid "Product Status"
4222
+ msgstr ""
4223
+
4224
+ #: includes/class-wcj-product-by-user.php:231
4225
+ msgid "Require Unique Title"
4226
+ msgstr ""
4227
+
4228
+ #: includes/class-wcj-product-by-user.php:238
4229
+ msgid "Add \"My Products\" Tab to User's My Account Page"
4230
+ msgstr ""
4231
+
4232
+ #: includes/class-wcj-product-by-user.php:245
4233
+ msgid "Message: Product Successfully Added"
4234
+ msgstr ""
4235
+
4236
+ #: includes/class-wcj-product-by-user.php:247
4237
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:216
4238
+ msgid "\"%product_title%\" successfully added!"
4239
+ msgstr ""
4240
+
4241
+ #: includes/class-wcj-product-by-user.php:252
4242
+ msgid "Message: Product Successfully Edited"
4243
+ msgstr ""
4244
+
4245
+ #: includes/class-wcj-product-by-user.php:254
4246
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:223
4247
+ msgid "\"%product_title%\" successfully edited!"
4248
  msgstr ""
4249
 
4250
  #: includes/class-wcj-product-custom-info.php:27
4348
  msgid "Customize WooCommerce products images, thumbnails and sale flashes."
4349
  msgstr ""
4350
 
4351
+ #: includes/class-wcj-product-images.php:182
4352
+ #: includes/class-wcj-product-images.php:334
4353
+ msgid "Sale!"
4354
+ msgstr ""
4355
+
4356
+ #: includes/class-wcj-product-images.php:197
4357
  msgid "Replace image with custom HTML on single product page"
4358
  msgstr ""
4359
 
4360
+ #: includes/class-wcj-product-images.php:203
4361
  msgid "Replace image with custom HTML on archives"
4362
  msgstr ""
4363
 
4364
+ #: includes/class-wcj-product-images.php:213
4365
+ msgid "Hide Image on Single"
4366
+ msgstr ""
4367
+
4368
+ #: includes/class-wcj-product-images.php:223
4369
+ msgid "Hide Thumbnails on Single"
4370
  msgstr ""
4371
 
4372
+ #: includes/class-wcj-product-images.php:233
4373
+ msgid "Hide Image on Archives"
4374
+ msgstr ""
4375
+
4376
+ #: includes/class-wcj-product-images.php:247
4377
  msgid "Product Image and Thumbnails"
4378
  msgstr ""
4379
 
4380
+ #: includes/class-wcj-product-images.php:258
4381
  msgid "Image and Thumbnails on Single"
4382
  msgstr ""
4383
 
4384
+ #: includes/class-wcj-product-images.php:265
4385
+ msgid "Image on Single"
4386
+ msgstr ""
4387
+
4388
+ #: includes/class-wcj-product-images.php:272
4389
+ msgid "Thumbnails on Single"
4390
+ msgstr ""
4391
+
4392
+ #: includes/class-wcj-product-images.php:279
4393
+ msgid "Image on Archives"
4394
+ msgstr ""
4395
+
4396
+ #: includes/class-wcj-product-images.php:286
4397
  msgid "Replace Image on Single"
4398
  msgstr ""
4399
 
4400
+ #: includes/class-wcj-product-images.php:287
4401
  msgid ""
4402
  "Replace image on single product page with custom HTML. Leave blank to "
4403
  "disable."
4404
  msgstr ""
4405
 
4406
+ #: includes/class-wcj-product-images.php:294
4407
  msgid "Replace Thumbnails on Single"
4408
  msgstr ""
4409
 
4410
+ #: includes/class-wcj-product-images.php:295
4411
  msgid ""
4412
  "Replace thumbnails on single product page with custom HTML. Leave blank to "
4413
  "disable."
4414
  msgstr ""
4415
 
4416
+ #: includes/class-wcj-product-images.php:302
 
 
 
 
 
 
 
 
4417
  msgid "Replace Image on Archive"
4418
  msgstr ""
4419
 
4420
+ #: includes/class-wcj-product-images.php:303
4421
  msgid ""
4422
  "Replace image on archive pages with custom HTML. Leave blank to disable."
4423
  msgstr ""
4424
 
4425
+ #: includes/class-wcj-product-images.php:310
 
 
 
 
4426
  msgid "Single Product Thumbnails Columns"
4427
  msgstr ""
4428
 
4429
+ #: includes/class-wcj-product-images.php:321
4430
  msgid "Product Images Sale Flash"
4431
  msgstr ""
4432
 
4433
+ #: includes/class-wcj-product-images.php:332
4434
  msgid "HTML"
4435
  msgstr ""
4436
 
4437
+ #: includes/class-wcj-product-images.php:339
4438
  msgid "Hide on Archives (Categories)"
4439
  msgstr ""
4440
 
4441
+ #: includes/class-wcj-product-images.php:345
4442
  msgid "Hide on Single"
4443
  msgstr ""
4444
 
4445
  #: includes/class-wcj-product-info.php:103
4446
+ msgid "Product Info V1"
4447
  msgstr ""
4448
 
4449
  #: includes/class-wcj-product-info.php:274
4579
  msgstr ""
4580
 
4581
  #: includes/class-wcj-product-input-fields.php:198
4582
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:300
4583
  #: includes/input-fields/class-wcj-product-input-fields-per-product.php:164
4584
  msgid "Product Input Field"
4585
  msgstr ""
4600
  msgid "Affects Checkout, Emails and Admin Orders View"
4601
  msgstr ""
4602
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4603
  #: includes/class-wcj-product-input-fields.php:276
4604
  msgid "Admin Order View Options"
4605
  msgstr ""
4608
  msgid "Replace Field ID with Field Label"
4609
  msgstr ""
4610
 
4611
+ #: includes/class-wcj-product-listings.php:25
4612
  msgid "Product Listings"
4613
  msgstr ""
4614
 
4615
+ #: includes/class-wcj-product-listings.php:26
4616
  msgid ""
4617
  "Change WooCommerce display options for shop and category pages: show/hide "
4618
+ "categories count, exclude categories, show/hide empty categories. Add "
4619
+ "\"products per page\" selector."
4620
  msgstr ""
4621
 
4622
+ #: includes/class-wcj-product-listings.php:141
4623
+ #: includes/class-wcj-product-listings.php:491
4624
+ msgid ""
4625
+ "Products <strong>%from% - %to%</strong> from <strong>%total%</strong>. "
4626
+ "Products on page %select_form%"
4627
+ msgstr ""
4628
+
4629
+ #: includes/class-wcj-product-listings.php:362
4630
+ msgid "Shop Page Display Options"
4631
+ msgstr ""
4632
+
4633
+ #: includes/class-wcj-product-listings.php:364
4634
+ msgid ""
4635
+ "This will work only when \"Shop Page Display\" in \"WooCommerce > Settings > "
4636
+ "Products > Product Listings\" is set to \"Show subcategories\" or \"Show both"
4637
+ "\"."
4638
+ msgstr ""
4639
+
4640
+ #: includes/class-wcj-product-listings.php:368
4641
+ msgid "Categories Count"
4642
  msgstr ""
4643
 
4644
+ #: includes/class-wcj-product-listings.php:369
 
4645
  msgid "Hide categories count on shop page"
4646
  msgstr ""
4647
 
4648
+ #: includes/class-wcj-product-listings.php:375
4649
+ msgid "Exclude Categories"
4650
  msgstr ""
4651
 
4652
+ #: includes/class-wcj-product-listings.php:376
 
4653
  msgid ""
4654
  " Excludes one or more categories from the shop page. This parameter takes a "
4655
  "comma-separated list of categories by unique ID, in ascending order. Leave "
4656
  "blank to disable."
4657
  msgstr ""
4658
 
4659
+ #: includes/class-wcj-product-listings.php:383
4660
+ #: includes/class-wcj-product-listings.php:424
4661
+ msgid "Hide Empty"
4662
  msgstr ""
4663
 
4664
+ #: includes/class-wcj-product-listings.php:384
 
4665
  msgid "Hide empty categories on shop page"
4666
  msgstr ""
4667
 
4668
+ #: includes/class-wcj-product-listings.php:390
4669
+ #: includes/class-wcj-product-listings.php:431
4670
+ msgid "Show Products"
4671
  msgstr ""
4672
 
4673
+ #: includes/class-wcj-product-listings.php:391
 
4674
  msgid "Show products if no categories are displayed on shop page"
4675
  msgstr ""
4676
 
4677
+ #: includes/class-wcj-product-listings.php:401
4678
+ msgid "Category Display Options"
4679
+ msgstr ""
4680
+
4681
+ #: includes/class-wcj-product-listings.php:403
4682
+ msgid ""
4683
+ "This will work only when \"Default Category Display\" in \"WooCommerce > "
4684
+ "Settings > Products > Product Listings\" is set to \"Show subcategories\" or "
4685
+ "\"Show both\"."
4686
+ msgstr ""
4687
+
4688
+ #: includes/class-wcj-product-listings.php:407
4689
+ msgid "Subcategories Count"
4690
  msgstr ""
4691
 
4692
+ #: includes/class-wcj-product-listings.php:408
 
4693
  msgid "Hide subcategories count on category pages"
4694
  msgstr ""
4695
 
4696
+ #: includes/class-wcj-product-listings.php:416
4697
+ msgid "Exclude Subcategories"
4698
  msgstr ""
4699
 
4700
+ #: includes/class-wcj-product-listings.php:417
 
4701
  msgid ""
4702
  " Excludes one or more categories from the category (archive) pages. This "
4703
  "parameter takes a comma-separated list of categories by unique ID, in "
4704
  "ascending order. Leave blank to disable."
4705
  msgstr ""
4706
 
4707
+ #: includes/class-wcj-product-listings.php:425
 
4708
  msgid "Hide empty subcategories on category pages"
4709
  msgstr ""
4710
 
4711
+ #: includes/class-wcj-product-listings.php:432
 
4712
  msgid "Show products if no categories are displayed on category page"
4713
  msgstr ""
4714
 
4715
+ #: includes/class-wcj-product-listings.php:442
4716
+ msgid "Products per Page Options"
4717
+ msgstr ""
4718
+
4719
+ #: includes/class-wcj-product-listings.php:447
4720
+ msgid "Enable Products per Page"
4721
+ msgstr ""
4722
+
4723
+ #: includes/class-wcj-product-listings.php:454
4724
+ msgid "Select Options"
4725
  msgstr ""
4726
 
4727
+ #: includes/class-wcj-product-listings.php:455
4728
+ msgid "Name|Number; one per line; -1 for all products"
4729
+ msgstr ""
4730
+
4731
+ #: includes/class-wcj-product-listings.php:477
4732
+ msgid "Before shop loop"
4733
+ msgstr ""
4734
+
4735
+ #: includes/class-wcj-product-listings.php:478
4736
+ msgid "After shop loop"
4737
+ msgstr ""
4738
+
4739
+ #: includes/class-wcj-product-listings.php:482
4740
+ msgid "Position Priority"
4741
+ msgstr ""
4742
+
4743
+ #: includes/class-wcj-product-listings.php:500
4744
+ msgid "TAX Display Prices in the Shop"
4745
+ msgstr ""
4746
+
4747
+ #: includes/class-wcj-product-listings.php:502
4748
  msgid ""
4749
+ "If you want to display part of your products including TAX and another part "
4750
+ "excluding TAX, you can set it here."
 
4751
  msgstr ""
4752
 
4753
+ #: includes/class-wcj-product-listings.php:506
4754
+ msgid "Products - Including TAX"
4755
  msgstr ""
4756
 
4757
+ #: includes/class-wcj-product-listings.php:508
4758
+ msgid "Select products to display including TAX."
4759
  msgstr ""
4760
 
4761
+ #: includes/class-wcj-product-listings.php:516
4762
+ msgid "Products - Excluding TAX"
 
4763
  msgstr ""
4764
 
4765
+ #: includes/class-wcj-product-listings.php:518
4766
+ msgid "Select products to display excluding TAX."
 
4767
  msgstr ""
4768
 
4769
+ #: includes/class-wcj-product-listings.php:526
4770
+ msgid "Product Categories - Including TAX"
4771
  msgstr ""
4772
 
4773
+ #: includes/class-wcj-product-listings.php:528
4774
+ msgid "Select product categories to display including TAX."
 
 
 
4775
  msgstr ""
4776
 
4777
+ #: includes/class-wcj-product-listings.php:536
4778
+ msgid "Product Categories - Excluding TAX"
4779
  msgstr ""
4780
 
4781
+ #: includes/class-wcj-product-listings.php:538
4782
+ msgid "Select product categories to display excluding TAX."
4783
  msgstr ""
4784
 
4785
  #: includes/class-wcj-product-open-pricing.php:27
4812
  msgstr ""
4813
 
4814
  #: includes/class-wcj-product-open-pricing.php:265
4815
+ #: includes/class-wcj-product-open-pricing.php:391
4816
  msgid "Price is required!"
4817
  msgstr ""
4818
 
4819
  #: includes/class-wcj-product-open-pricing.php:269
4820
+ #: includes/class-wcj-product-open-pricing.php:398
4821
  msgid "Entered price is to small!"
4822
  msgstr ""
4823
 
4824
  #: includes/class-wcj-product-open-pricing.php:275
4825
+ #: includes/class-wcj-product-open-pricing.php:405
4826
  msgid "Entered price is to big!"
4827
  msgstr ""
4828
 
4829
+ #: includes/class-wcj-product-open-pricing.php:332
4830
+ #: includes/class-wcj-product-open-pricing.php:376
4831
  msgid "Name Your Price"
4832
  msgstr ""
4833
 
4834
+ #: includes/class-wcj-product-open-pricing.php:374
4835
+ msgid "Frontend Label"
4836
  msgstr ""
4837
 
4838
+ #: includes/class-wcj-product-open-pricing.php:381
4839
+ msgid "Frontend Template"
4840
+ msgstr ""
4841
+
4842
+ #: includes/class-wcj-product-open-pricing.php:382
4843
+ msgid "Here you can use"
4844
  msgstr ""
4845
 
4846
+ #: includes/class-wcj-product-open-pricing.php:389
4847
  msgid "Message on Empty Price"
4848
  msgstr ""
4849
 
4850
+ #: includes/class-wcj-product-open-pricing.php:396
4851
  msgid "Message on Price to Small"
4852
  msgstr ""
4853
 
4854
+ #: includes/class-wcj-product-open-pricing.php:403
4855
  msgid "Message on Price to Big"
4856
  msgstr ""
4857
 
4863
  msgid "Set formula for automatic WooCommerce product price calculation."
4864
  msgstr ""
4865
 
4866
+ #: includes/class-wcj-product-price-by-formula.php:119
4867
  msgid "Error in formula"
4868
  msgstr ""
4869
 
4870
+ #: includes/class-wcj-product-price-by-formula.php:206
4871
  msgid ""
4872
  "Booster: Free plugin's version is limited to only one price by formula "
4873
  "product enabled at a time. You will need to get <a href=\"http://booster.io/"
4875
  "by formula products."
4876
  msgstr ""
4877
 
4878
+ #: includes/class-wcj-product-price-by-formula.php:244
4879
  msgid "Use values below"
4880
  msgstr ""
4881
 
4882
+ #: includes/class-wcj-product-price-by-formula.php:245
4883
  msgid "Use default values"
4884
  msgstr ""
4885
 
4886
+ #: includes/class-wcj-product-price-by-formula.php:247
4887
  msgid "Calculation"
4888
  msgstr ""
4889
 
4890
+ #: includes/class-wcj-product-price-by-formula.php:253
4891
+ #: includes/class-wcj-product-price-by-formula.php:313
4892
  msgid "Formula"
4893
  msgstr ""
4894
 
4895
+ #: includes/class-wcj-product-price-by-formula.php:259
4896
  msgid "Number of Parameters"
4897
  msgstr ""
4898
 
4899
+ #: includes/class-wcj-product-price-by-formula.php:293
4900
  msgid "Final Price Preview"
4901
  msgstr ""
4902
 
4903
+ #: includes/class-wcj-product-price-by-formula.php:307
4904
  msgid "Default Settings"
4905
  msgstr ""
4906
 
4907
+ #: includes/class-wcj-product-price-by-formula.php:309
4908
  msgid ""
4909
  "You can set default settings here. All settings can later be changed in "
4910
  "individual product's edit page."
4911
  msgstr ""
4912
 
4913
+ #: includes/class-wcj-product-price-by-formula.php:314
4914
  msgid "Use \"x\" variable for product's base price. For example: x+p1*p2"
4915
  msgstr ""
4916
 
4917
+ #: includes/class-wcj-product-price-by-formula.php:320
4918
  msgid "Total Params"
4919
  msgstr ""
4920
 
4941
  msgid "Click \"Update\" product after you change this number."
4942
  msgstr ""
4943
 
 
 
 
 
 
 
 
 
 
 
 
4944
  #: includes/class-wcj-product-tabs.php:426
4945
  #: includes/class-wcj-related-products.php:127
4946
  msgid "Order"
5037
  #: includes/class-wcj-product-tabs.php:635
5038
  #: includes/class-wcj-product-tabs.php:644
5039
  #: includes/class-wcj-product-tabs.php:653
5040
+ #: includes/classes/class-wcj-module.php:430
5041
  msgid "Depreciated"
5042
  msgstr ""
5043
 
5233
  msgid "Leave blank to disable"
5234
  msgstr ""
5235
 
 
 
 
 
 
 
 
 
 
 
5236
  #: includes/class-wcj-purchase-data.php:351
5237
  msgid "Info Fields"
5238
  msgstr ""
5355
  msgid "Booster: Monthly Sales"
5356
  msgstr ""
5357
 
 
 
 
 
5358
  #: includes/class-wcj-reports.php:263
5359
  msgid "Booster: All in stock"
5360
  msgstr ""
5453
  msgid "Make non clickable"
5454
  msgstr ""
5455
 
5456
+ #: includes/class-wcj-shipping.php:28
5457
  msgid "Add multiple custom shipping methods to WooCommerce."
5458
  msgstr ""
5459
 
5460
+ #: includes/class-wcj-shipping.php:29
5461
  msgid "Hide WooCommerce shipping when free is available."
5462
  msgstr ""
5463
 
5464
+ #: includes/class-wcj-shipping.php:30
5465
  msgid "Display \"left to free shipping\" info."
5466
  msgstr ""
5467
 
5468
+ #: includes/class-wcj-shipping.php:77 includes/class-wcj-shipping.php:87
5469
+ #: includes/class-wcj-shipping.php:97 includes/class-wcj-shipping.php:250
5470
+ #: includes/class-wcj-shipping.php:284 includes/class-wcj-shipping.php:322
5471
+ #: includes/functions/wcj-functions.php:398
5472
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:53
5473
  msgid "%left_to_free% left to free shipping"
5474
  msgstr ""
5475
 
5476
+ #: includes/class-wcj-shipping.php:148
5477
  msgid "Booster: Hide shipping"
5478
  msgstr ""
5479
 
5480
+ #: includes/class-wcj-shipping.php:149 includes/class-wcj-shipping.php:221
 
 
 
 
5481
  msgid "Hide all when free is available"
5482
  msgstr ""
5483
 
5484
+ #: includes/class-wcj-shipping.php:167
5485
  msgid "WooCommerce > Settings > Shipping"
5486
  msgstr ""
5487
 
5488
+ #: includes/class-wcj-shipping.php:170
5489
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:82
5490
  msgid "Custom Shipping"
5491
  msgstr ""
5492
 
5493
+ #: includes/class-wcj-shipping.php:173
5494
  msgid "This section lets you set number of custom shipping methods to add."
5495
  msgstr ""
5496
 
5497
+ #: includes/class-wcj-shipping.php:174
5498
  msgid "After setting the number, visit %s to set each method options."
5499
  msgstr ""
5500
 
5501
+ #: includes/class-wcj-shipping.php:177
5502
  msgid "Custom Shipping Methods Number"
5503
  msgstr ""
5504
 
5505
+ #: includes/class-wcj-shipping.php:192
5506
  msgid "Admin Title Custom Shipping"
5507
  msgstr ""
5508
 
5509
+ #: includes/class-wcj-shipping.php:206
5510
+ msgid "Hide if Free is Available"
5511
  msgstr ""
5512
 
5513
+ #: includes/class-wcj-shipping.php:208
5514
  msgid ""
5515
  "This section lets you hide other shipping options when free shipping is "
5516
  "available on shop frontend."
5517
  msgstr ""
5518
 
5519
+ #: includes/class-wcj-shipping.php:220
5520
  msgid "Hide shipping"
5521
  msgstr ""
5522
 
5523
+ #: includes/class-wcj-shipping.php:232
5524
  msgid "Left to Free Shipping Info Options"
5525
  msgstr ""
5526
 
5527
+ #: includes/class-wcj-shipping.php:234
5528
  msgid ""
5529
  "This section lets you enable info on cart, mini cart and checkout pages."
5530
  msgstr ""
5531
 
5532
+ #: includes/class-wcj-shipping.php:235
5533
  msgid ""
5534
  "You can also use <em>Booster - Left to Free Shipping</em> widget, <em>"
5535
  "[wcj_get_left_to_free_shipping content=\"\"]</em> shortcode or "
5536
  "<em>wcj_get_left_to_free_shipping( $content );</em> function."
5537
  msgstr ""
5538
 
5539
+ #: includes/class-wcj-shipping.php:236
5540
  msgid ""
5541
  "In content you can use: <em>%left_to_free%</em> and <em>"
5542
  "%free_shipping_min_amount%</em> shortcodes."
5543
  msgstr ""
5544
 
5545
+ #: includes/class-wcj-shipping.php:240
5546
  msgid "Info on Cart"
5547
  msgstr ""
5548
 
5549
+ #: includes/class-wcj-shipping.php:265 includes/class-wcj-shipping.php:303
5550
+ #: includes/class-wcj-shipping.php:347
5551
  msgid "Position Order (Priority)"
5552
  msgstr ""
5553
 
5554
+ #: includes/class-wcj-shipping.php:272
5555
  msgid "Info on Mini Cart"
5556
  msgstr ""
5557
 
5558
+ #: includes/class-wcj-shipping.php:310
5559
  msgid "Info on Checkout"
5560
  msgstr ""
5561
 
5562
+ #: includes/class-wcj-shipping.php:354
5563
  msgid "Message on Free Shipping Reached"
5564
  msgstr ""
5565
 
5566
+ #: includes/class-wcj-shipping.php:355
5567
  msgid "You can set it empty"
5568
  msgstr ""
5569
 
5570
+ #: includes/class-wcj-shipping.php:357
5571
+ #: includes/functions/wcj-functions.php:438
5572
  msgid "You have Free delivery"
5573
  msgstr ""
5574
 
 
 
 
 
5575
  #: includes/class-wcj-sku.php:27
5576
  msgid "Generate WooCommerce SKUs automatically."
5577
  msgstr ""
5584
  msgid "The tool generates and sets product SKUs for existing products."
5585
  msgstr ""
5586
 
5587
+ #: includes/class-wcj-sku.php:251
5588
  msgid "SKUs generated and set successfully!"
5589
  msgstr ""
5590
 
5591
+ #: includes/class-wcj-sku.php:257
5592
  msgid "Preview SKUs"
5593
  msgstr ""
5594
 
5595
+ #: includes/class-wcj-sku.php:258
5596
  msgid "Set SKUs"
5597
  msgstr ""
5598
 
5599
+ #: includes/class-wcj-sku.php:272
5600
  msgid "SKU Format Options"
5601
  msgstr ""
5602
 
5603
+ #: includes/class-wcj-sku.php:277
5604
+ msgid "Number Generation"
5605
+ msgstr ""
5606
+
5607
+ #: includes/class-wcj-sku.php:282
5608
+ msgid "From product ID"
5609
+ msgstr ""
5610
+
5611
+ #: includes/class-wcj-sku.php:283
5612
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:45
5613
+ msgid "Sequential"
5614
+ msgstr ""
5615
+
5616
+ #: includes/class-wcj-sku.php:290
5617
+ msgid "Sequential Number Generation Counter"
5618
+ msgstr ""
5619
+
5620
+ #: includes/class-wcj-sku.php:301 includes/class-wcj-sku.php:352
5621
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:63
5622
  msgid "Prefix"
5623
  msgstr ""
5624
 
5625
+ #: includes/class-wcj-sku.php:307
5626
  msgid "Minimum Number Length"
5627
  msgstr ""
5628
 
5629
+ #: includes/class-wcj-sku.php:313 includes/class-wcj-sku.php:361
5630
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:70
5631
  msgid "Suffix"
5632
  msgstr ""
5633
 
5634
+ #: includes/class-wcj-sku.php:321
5635
  msgid "Variable Products Variations"
5636
  msgstr ""
5637
 
5638
+ #: includes/class-wcj-sku.php:322
5639
  msgid ""
5640
  "Please note, that on new variable product creation, variations will get same "
5641
  "SKUs as parent product, and if you want variations to have different SKUs, "
5642
  "you will need to run \"Autogenerate SKUs\" tool manually."
5643
  msgstr ""
5644
 
5645
+ #: includes/class-wcj-sku.php:327
5646
  msgid "SKU same as parent's product"
5647
  msgstr ""
5648
 
5649
+ #: includes/class-wcj-sku.php:328
5650
  msgid "Generate different SKU for each variation"
5651
  msgstr ""
5652
 
5653
+ #: includes/class-wcj-sku.php:329
5654
  msgid "SKU same as parent's product + variation letter suffix"
5655
  msgstr ""
5656
 
5657
+ #: includes/class-wcj-sku.php:341
5658
  msgid "Categories Options"
5659
  msgstr ""
5660
 
5661
+ #: includes/class-wcj-sku.php:379
5662
+ msgid "More Options"
5663
+ msgstr ""
5664
+
5665
+ #: includes/class-wcj-sku.php:384
5666
+ msgid "Automatically Generate SKU for New Products"
5667
+ msgstr ""
5668
+
5669
+ #: includes/class-wcj-sku.php:386
5670
+ msgid "If disabled you can use Autogenerate SKUs tool."
5671
+ msgstr ""
5672
+
5673
+ #: includes/class-wcj-sku.php:392
5674
+ msgid "Allow Duplicate SKUs"
5675
+ msgstr ""
5676
+
5677
+ #: includes/class-wcj-sku.php:399
5678
+ msgid "Add SKU to Customer Emails"
5679
+ msgstr ""
5680
+
5681
+ #: includes/class-wcj-sku.php:412
5682
  msgid "When enabled - all new products will be given (autogenerated) SKU."
5683
  msgstr ""
5684
 
5685
+ #: includes/class-wcj-sku.php:413
5686
  msgid ""
5687
  "If you wish to set SKUs for existing products, use \"Autogenerate SKUs\" "
5688
  "Tool."
5773
  "more pay less)."
5774
  msgstr ""
5775
 
5776
+ #: includes/class-wcj-wholesale-price.php:252
5777
  msgid "Enable per Product Levels"
5778
  msgstr ""
5779
 
5780
+ #: includes/class-wcj-wholesale-price.php:262
5781
+ #: includes/class-wcj-wholesale-price.php:406
5782
  msgid "Discount Type"
5783
  msgstr ""
5784
 
5785
+ #: includes/class-wcj-wholesale-price.php:268
5786
+ #: includes/class-wcj-wholesale-price.php:303
5787
+ #: includes/class-wcj-wholesale-price.php:442
5788
+ #: includes/class-wcj-wholesale-price.php:497
5789
  msgid "Number of levels"
5790
  msgstr ""
5791
 
5792
+ #: includes/class-wcj-wholesale-price.php:269
5793
+ #: includes/class-wcj-wholesale-price.php:304
5794
+ msgid ""
5795
+ "Free Booster's version is limited to one level maximum. Please visit http://"
5796
+ "booster.io to get full version."
5797
  msgstr ""
5798
 
5799
+ #: includes/class-wcj-wholesale-price.php:283
5800
+ #: includes/class-wcj-wholesale-price.php:290
5801
+ #: includes/class-wcj-wholesale-price.php:318
5802
+ #: includes/class-wcj-wholesale-price.php:325
5803
  msgid "Level"
5804
  msgstr ""
5805
 
5806
+ #: includes/class-wcj-wholesale-price.php:283
5807
+ #: includes/class-wcj-wholesale-price.php:318
5808
+ #: includes/class-wcj-wholesale-price.php:455
5809
+ #: includes/class-wcj-wholesale-price.php:511
5810
  msgid "Min quantity"
5811
  msgstr ""
5812
 
5813
+ #: includes/class-wcj-wholesale-price.php:290
5814
+ #: includes/class-wcj-wholesale-price.php:325
5815
+ #: includes/class-wcj-wholesale-price.php:463
5816
+ #: includes/class-wcj-wholesale-price.php:464
5817
+ #: includes/class-wcj-wholesale-price.php:519
5818
+ #: includes/class-wcj-wholesale-price.php:520
5819
  msgid "Discount"
5820
  msgstr ""
5821
 
5822
+ #: includes/class-wcj-wholesale-price.php:367
5823
  msgid ""
5824
  "Wholesale Price Levels Options. If you want to display prices table on "
5825
  "frontend, use [wcj_product_wholesale_price_table] shortcode."
5826
  msgstr ""
5827
 
5828
+ #: includes/class-wcj-wholesale-price.php:371
5829
  msgid "Enable per Product"
5830
  msgstr ""
5831
 
5832
+ #: includes/class-wcj-wholesale-price.php:378
5833
  msgid "Use total cart quantity instead of product quantity"
5834
  msgstr ""
5835
 
5836
+ #: includes/class-wcj-wholesale-price.php:385
5837
  msgid "Apply wholesale discount only if no other cart discounts were applied"
5838
  msgstr ""
5839
 
5840
+ #: includes/class-wcj-wholesale-price.php:392
5841
  msgid "Show discount info on cart page"
5842
  msgstr ""
5843
 
5844
+ #: includes/class-wcj-wholesale-price.php:399
 
 
 
 
5845
  msgid "If show discount info on cart page is enabled, set format here"
5846
  msgstr ""
5847
 
5848
+ #: includes/class-wcj-wholesale-price.php:416
5849
  msgid "Products to include"
5850
  msgstr ""
5851
 
5852
+ #: includes/class-wcj-wholesale-price.php:417
5853
  msgid "Leave blank to include all products."
5854
  msgstr ""
5855
 
5856
+ #: includes/class-wcj-wholesale-price.php:425
5857
+ msgid "Products to exclude"
5858
+ msgstr ""
5859
+
5860
+ #: includes/class-wcj-wholesale-price.php:437
5861
+ msgid "Wholesale Levels Options"
5862
+ msgstr ""
5863
+
5864
+ #: includes/class-wcj-wholesale-price.php:456
5865
+ #: includes/class-wcj-wholesale-price.php:512
5866
  msgid "Minimum quantity to apply discount"
5867
  msgstr ""
5868
 
5869
+ #: includes/class-wcj-wholesale-price.php:477
5870
+ msgid "Additional User Roles Options"
5871
+ msgstr ""
5872
+
5873
+ #: includes/class-wcj-wholesale-price.php:479
5874
+ msgid ""
5875
+ "If you want to set different wholesale pricing options for different user "
5876
+ "roles, fill this section. Please note that you can also use Booster's "
5877
+ "\"Price by User Role\" module without filling this section."
5878
+ msgstr ""
5879
+
5880
+ #: includes/class-wcj-wholesale-price.php:483
5881
+ msgid "User Roles Settings"
5882
+ msgstr ""
5883
+
5884
  #: includes/class-wcj-wpml.php:26
5885
  msgid "Booster WPML"
5886
  msgstr ""
5889
  msgid "Booster for WooCommerce basic WPML support."
5890
  msgstr ""
5891
 
5892
+ #: includes/class-wcj-wpml.php:66 includes/classes/class-wcj-module.php:342
5893
  msgid "Tools"
5894
  msgstr ""
5895
 
5896
+ #: includes/class-wcj-wpml.php:71 includes/classes/class-wcj-module.php:348
5897
  msgid "Module Tools"
5898
  msgstr ""
5899
 
5905
  msgid "File wpml-config.xml successfully regenerated!"
5906
  msgstr ""
5907
 
5908
+ #: includes/classes/class-wcj-module.php:106
5909
  msgid ""
5910
  "Are you sure you want to reset current module's settings to default values?"
5911
  msgstr ""
5912
 
5913
+ #: includes/classes/class-wcj-module.php:116
5914
  msgid "Settings have been reset to defaults."
5915
  msgstr ""
5916
 
5917
+ #: includes/classes/class-wcj-module.php:330
5918
  msgid "Back to Module Settings"
5919
  msgstr ""
5920
 
5921
+ #: includes/classes/class-wcj-module.php:422
5922
  msgid "disabled"
5923
  msgstr ""
5924
 
5925
+ #: includes/classes/class-wcj-module.php:468
5926
  msgid "Reset Settings"
5927
  msgstr ""
5928
 
5929
+ #: includes/classes/class-wcj-module.php:474
5930
  msgid "Reset Module to Default Settings"
5931
  msgstr ""
5932
 
5933
+ #: includes/classes/class-wcj-module.php:475
5934
  msgid "Reset Submodule to Default Settings"
5935
  msgstr ""
5936
 
5937
+ #: includes/classes/class-wcj-module.php:478
5938
  msgid "Reset settings"
5939
  msgstr ""
5940
 
5941
+ #: includes/classes/class-wcj-module.php:512
5942
  msgid "Module Options"
5943
  msgstr ""
5944
 
5945
+ #: includes/classes/class-wcj-module.php:519
5946
  msgid "Enable Module"
5947
  msgstr ""
5948
 
5949
+ #: includes/classes/class-wcj-pdf-invoice.php:266
5950
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:190
5951
  msgid "Unexpected error"
5952
  msgstr ""
5953
 
6614
  msgid "[{site_title}] Custom Subject - Order ({order_number}) - {order_date}"
6615
  msgstr ""
6616
 
6617
+ #: includes/emails/class-wc-email-wcj-custom.php:216
6618
  msgid "New order (%s)"
6619
  msgstr ""
6620
 
6621
+ #: includes/emails/class-wc-email-wcj-custom.php:217
6622
  msgid "Order status updated to %s"
6623
  msgstr ""
6624
 
6625
+ #: includes/emails/class-wc-email-wcj-custom.php:220
6626
  msgid "Order status %s to %s"
6627
  msgstr ""
6628
 
6629
+ #: includes/emails/class-wc-email-wcj-custom.php:227
6630
  #: includes/gateways/class-wc-gateway-wcj-custom.php:56
6631
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:73
6632
  msgid "Enable/Disable"
6633
  msgstr ""
6634
 
6635
+ #: includes/emails/class-wc-email-wcj-custom.php:229
6636
  msgid "Enable this email notification"
6637
  msgstr ""
6638
 
6639
+ #: includes/emails/class-wc-email-wcj-custom.php:233
6640
  msgid "Trigger(s)"
6641
  msgstr ""
6642
 
6643
+ #: includes/emails/class-wc-email-wcj-custom.php:237
6644
  msgid ""
6645
  "Please note, that all new orders in WooCommerce by default are created with "
6646
  "Pending Payment status. If you want to change the default order status - you "
6648
  "Settings > Booster > Shipping & Orders > Order Custom Statuses)."
6649
  msgstr ""
6650
 
6651
+ #: includes/emails/class-wc-email-wcj-custom.php:240
6652
  msgid "New order (Any status)"
6653
  msgstr ""
6654
 
6655
+ #: includes/emails/class-wc-email-wcj-custom.php:245
6656
  msgid "Reset password notification"
6657
  msgstr ""
6658
 
6659
+ #: includes/emails/class-wc-email-wcj-custom.php:246
6660
  msgid "Order fully refunded notification"
6661
  msgstr ""
6662
 
6663
+ #: includes/emails/class-wc-email-wcj-custom.php:247
6664
  msgid "Order partially refunded notification"
6665
  msgstr ""
6666
 
6667
+ #: includes/emails/class-wc-email-wcj-custom.php:248
6668
  msgid "New customer note notification"
6669
  msgstr ""
6670
 
6671
+ #: includes/emails/class-wc-email-wcj-custom.php:256
6672
  msgid "Recipient(s)"
6673
  msgstr ""
6674
 
6675
+ #: includes/emails/class-wc-email-wcj-custom.php:258
6676
  msgid ""
6677
  "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
6678
  "code>."
6679
  msgstr ""
6680
 
6681
+ #: includes/emails/class-wc-email-wcj-custom.php:258
6682
  msgid "Or enter <code>%customer%</code> to send to customer billing email."
6683
  msgstr ""
6684
 
6685
+ #: includes/emails/class-wc-email-wcj-custom.php:263
6686
  msgid "Subject"
6687
  msgstr ""
6688
 
6689
+ #: includes/emails/class-wc-email-wcj-custom.php:265
6690
  msgid ""
6691
  "This controls the email subject line. Leave blank to use the default "
6692
  "subject: <code>%s</code>."
6693
  msgstr ""
6694
 
6695
+ #: includes/emails/class-wc-email-wcj-custom.php:270
6696
  msgid "Email Heading"
6697
  msgstr ""
6698
 
6699
+ #: includes/emails/class-wc-email-wcj-custom.php:272
6700
  msgid ""
6701
  "This controls the main heading contained within the email notification. "
6702
  "Leave blank to use the default heading: <code>%s</code>."
6703
  msgstr ""
6704
 
6705
+ #: includes/emails/class-wc-email-wcj-custom.php:277
6706
  msgid "Email type"
6707
  msgstr ""
6708
 
6709
+ #: includes/emails/class-wc-email-wcj-custom.php:279
6710
  msgid "Choose which format of email to send."
6711
  msgstr ""
6712
 
6713
+ #: includes/emails/class-wc-email-wcj-custom.php:285
6714
  msgid "HTML template"
6715
  msgstr ""
6716
 
6717
+ #: includes/emails/class-wc-email-wcj-custom.php:287
6718
+ #: includes/emails/class-wc-email-wcj-custom.php:296
6719
  msgid "You can use shortcodes here. E.g. Booster's order shortcodes."
6720
  msgstr ""
6721
 
6722
+ #: includes/emails/class-wc-email-wcj-custom.php:294
6723
  msgid "Plain text template"
6724
  msgstr ""
6725
 
6726
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:178
6727
  msgid "Cron job: exchange rates successfully updated"
6728
  msgstr ""
6729
 
6730
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:180
6731
  msgid "Cron job: exchange rates not updated, as currency_from == currency_to"
6732
  msgstr ""
6733
 
6734
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:183
6735
  msgid "Cron job: exchange rates update failed"
6736
  msgstr ""
6737
 
6738
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:203
6739
  msgid "Once Weekly"
6740
  msgstr ""
6741
 
6742
+ #: includes/exchange-rates/class-wcj-exchange-rates-crons.php:207
6743
  msgid "Once a Minute"
6744
  msgstr ""
6745
 
7719
  msgid "Zimbabwe"
7720
  msgstr ""
7721
 
7722
+ #: includes/functions/wcj-functions.php:459
7723
  msgid "Before cart"
7724
  msgstr ""
7725
 
7726
+ #: includes/functions/wcj-functions.php:460
7727
  msgid "Before cart table"
7728
  msgstr ""
7729
 
7730
+ #: includes/functions/wcj-functions.php:461
7731
  msgid "Before cart contents"
7732
  msgstr ""
7733
 
7734
+ #: includes/functions/wcj-functions.php:462
7735
  msgid "Cart contents"
7736
  msgstr ""
7737
 
7738
+ #: includes/functions/wcj-functions.php:463
7739
  msgid "Cart coupon"
7740
  msgstr ""
7741
 
7742
+ #: includes/functions/wcj-functions.php:464
7743
  msgid "Cart actions"
7744
  msgstr ""
7745
 
7746
+ #: includes/functions/wcj-functions.php:465
7747
  msgid "After cart contents"
7748
  msgstr ""
7749
 
7750
+ #: includes/functions/wcj-functions.php:466
7751
  msgid "After cart table"
7752
  msgstr ""
7753
 
7754
+ #: includes/functions/wcj-functions.php:467
7755
  msgid "Cart collaterals"
7756
  msgstr ""
7757
 
7758
+ #: includes/functions/wcj-functions.php:468
7759
  msgid "After cart"
7760
  msgstr ""
7761
 
7762
+ #: includes/functions/wcj-functions.php:470
7763
  msgid "Before cart totals"
7764
  msgstr ""
7765
 
7766
+ #: includes/functions/wcj-functions.php:471
7767
  msgid "Cart totals: Before shipping"
7768
  msgstr ""
7769
 
7770
+ #: includes/functions/wcj-functions.php:472
7771
  msgid "Cart totals: After shipping"
7772
  msgstr ""
7773
 
7774
+ #: includes/functions/wcj-functions.php:473
7775
  msgid "Cart totals: Before order total"
7776
  msgstr ""
7777
 
7778
+ #: includes/functions/wcj-functions.php:474
7779
  msgid "Cart totals: After order total"
7780
  msgstr ""
7781
 
7782
+ #: includes/functions/wcj-functions.php:475
7783
  msgid "Proceed to checkout"
7784
  msgstr ""
7785
 
7786
+ #: includes/functions/wcj-functions.php:476
7787
  msgid "After cart totals"
7788
  msgstr ""
7789
 
7790
+ #: includes/functions/wcj-functions.php:478
7791
  msgid "Before shipping calculator"
7792
  msgstr ""
7793
 
7794
+ #: includes/functions/wcj-functions.php:479
7795
  msgid "After shipping calculator"
7796
  msgstr ""
7797
 
7798
+ #: includes/functions/wcj-functions.php:481
7799
  msgid "If cart is empty"
7800
  msgstr ""
7801
 
7802
+ #: includes/functions/wcj-functions.php:735
7803
+ #: includes/functions/wcj-functions.php:754
7804
+ msgid "Guest"
7805
+ msgstr ""
7806
+
7807
+ #: includes/functions/wcj-functions.php:970
7808
  msgctxt "Order status"
7809
  msgid "Pending Payment"
7810
  msgstr ""
7811
 
7812
+ #: includes/functions/wcj-functions.php:972
7813
  msgctxt "Order status"
7814
  msgid "On Hold"
7815
  msgstr ""
7859
  msgstr ""
7860
 
7861
  #: includes/gateways/class-wc-gateway-wcj-custom.php:65
7862
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:81
7863
  msgid "This controls the title which the user sees during checkout."
7864
  msgstr ""
7865
 
7872
  msgstr ""
7873
 
7874
  #: includes/gateways/class-wc-gateway-wcj-custom.php:74
7875
+ msgid "You can add input fields with [wcj_input_field] shortcode."
7876
+ msgstr ""
7877
+
7878
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:75
7879
  msgid "Custom Payment Description."
7880
  msgstr ""
7881
 
7882
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:80
7883
  msgid "Instructions"
7884
  msgstr ""
7885
 
7886
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:82
7887
  msgid "Instructions that will be added to the thank you page."
7888
  msgstr ""
7889
 
7890
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:88
7891
  msgid "Email Instructions"
7892
  msgstr ""
7893
 
7894
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:90
7895
  msgid "Instructions that will be added to the emails."
7896
  msgstr ""
7897
 
7898
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:96
7899
  msgid "Icon"
7900
  msgstr ""
7901
 
7902
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:105
7903
  msgid "Minimum order amount"
7904
  msgstr ""
7905
 
7906
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:107
7907
  msgid ""
7908
  "If you want to set minimum order amount to show this gateway on frontend, "
7909
  "enter a number here. Set to 0 to disable."
7910
  msgstr ""
7911
 
7912
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:114
7913
  msgid "Enable for shipping methods"
7914
  msgstr ""
7915
 
7916
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:119
7917
  msgid ""
7918
  "If gateway is only available for certain shipping methods, set it up here. "
7919
  "Leave blank to enable for all methods."
7920
  msgstr ""
7921
 
7922
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:122
7923
  msgid "Select shipping methods"
7924
  msgstr ""
7925
 
7926
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:126
7927
  msgid "Enable for virtual orders"
7928
  msgstr ""
7929
 
7930
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:127
7931
  msgid "Enable gateway if the order is virtual"
7932
  msgstr ""
7933
 
7934
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:141
7935
  msgid "Send Additional Emails"
7936
  msgstr ""
7937
 
7938
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:142
7939
  msgid "Send to Admin"
7940
  msgstr ""
7941
 
7942
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:150
7943
  msgid "Send to Customer"
7944
  msgstr ""
7945
 
7946
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:151
7947
  msgid ""
7948
  "This may help if you are using pending or custom default status and not "
7949
  "getting new order emails."
7950
  msgstr ""
7951
 
7952
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:157
7953
  msgid "Custom Return URL (Thank You Page)"
7954
  msgstr ""
7955
 
7956
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:158
7957
  msgid "URL"
7958
  msgstr ""
7959
 
7960
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:159
7961
  msgid "Enter full URL with http(s)."
7962
  msgstr ""
7963
 
7964
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:160
7965
  msgid "Optional. Leave blank to use default URL."
7966
  msgstr ""
7967
 
7968
+ #: includes/gateways/class-wc-gateway-wcj-custom.php:347
7969
  msgid "Booster for WooCommerce: Custom Payment Gateway"
7970
  msgstr ""
7971
 
7995
  msgid ".jpg,.jpeg,.png"
7996
  msgstr ""
7997
 
7998
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:116
7999
+ msgid ""
8000
+ "If file is selected, set max file size here. Set to zero to accept all files"
8001
+ msgstr ""
8002
+
8003
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:117
8004
+ msgid "File: Max size"
8005
  msgstr ""
8006
 
8007
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:126
8008
+ msgid "Datepicker/Weekpicker: Date format"
8009
  msgstr ""
8010
 
8011
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:134
8012
+ msgid "Datepicker/Weekpicker: Min date"
8013
  msgstr ""
8014
 
8015
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:142
8016
+ msgid "Datepicker/Weekpicker: Max date"
8017
  msgstr ""
8018
 
8019
  #: includes/input-fields/class-wcj-product-input-fields-abstract.php:150
8020
+ msgid "Datepicker/Weekpicker: Change year"
8021
+ msgstr ""
8022
+
8023
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:158
8024
  msgid "Datepicker/Weekpicker: Year range"
8025
  msgstr ""
8026
 
8027
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:167
8028
  msgid "Datepicker/Weekpicker: First week day"
8029
  msgstr ""
8030
 
8031
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:184
8032
  msgid "Timepicker: Time format"
8033
  msgstr ""
8034
 
8035
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:192
8036
  msgid "Timepicker: Interval"
8037
  msgstr ""
8038
 
8039
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:199
8040
  msgid "If select/radio is selected, set options here. One option per line"
8041
  msgstr ""
8042
 
8043
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:200
8044
  msgid "Select/Radio: Options"
8045
  msgstr ""
8046
 
8047
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:228
8048
  msgid "Message on required"
8049
  msgstr ""
8050
 
8051
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:468
8052
  msgid "Wrong file type!"
8053
  msgstr ""
8054
 
8055
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:477
8056
+ msgid "File is too big!"
8057
+ msgstr ""
8058
+
8059
+ #: includes/input-fields/class-wcj-product-input-fields-abstract.php:619
8060
  msgid "Select a country&hellip;"
8061
  msgstr ""
8062
 
8177
  msgid "Download all monthly documents PDFs in single ZIP file"
8178
  msgstr ""
8179
 
8180
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:206
8181
+ msgid "Document Nr."
8182
  msgstr ""
8183
 
8184
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:207
8185
+ msgid "Document Date"
8186
  msgstr ""
8187
 
8188
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:209
8189
  msgid "Customer Country"
8190
  msgstr ""
8191
 
8192
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:210
8193
  msgid "Customer VAT ID"
8194
  msgstr ""
8195
 
8196
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:211
8197
  msgid "Tax %"
8198
  msgstr ""
8199
 
8200
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:212
8201
  msgid "Order Total Tax Excl."
8202
  msgstr ""
8203
 
8204
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:213
8205
  msgid "Order Taxes"
8206
  msgstr ""
8207
 
8208
+ #: includes/pdf-invoices/class-wcj-pdf-invoicing-report-tool.php:216
8209
+ msgid "Refunds"
 
 
 
 
8210
  msgstr ""
8211
 
8212
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:26
8213
  msgid "Display & Misc."
8214
  msgstr ""
8215
 
8216
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:107
8217
  msgid "View"
8218
  msgstr ""
8219
 
8220
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:126
8221
  msgid "Create"
8222
  msgstr ""
8223
 
8224
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:258
8225
  msgid "Admin's \"Orders\" Page"
8226
  msgstr ""
8227
 
8228
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:259
8229
  msgid "Add Column"
8230
  msgstr ""
8231
 
8232
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:267
8233
  msgid "Column Title"
8234
  msgstr ""
8235
 
8236
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:292
8237
  msgid "Add View Button"
8238
  msgstr ""
8239
 
8240
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:299
8241
  msgid "Add Create Button"
8242
  msgstr ""
8243
 
8244
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:306
8245
  msgid "Add Delete Button"
8246
  msgstr ""
8247
 
8248
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:313
8249
+ msgid "Create Button Requires Confirmation"
8250
+ msgstr ""
8251
+
8252
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:320
8253
+ msgid "Delete Button Requires Confirmation"
8254
+ msgstr ""
8255
+
8256
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:327
8257
  msgid "Customer's \"My Account\" Page"
8258
  msgstr ""
8259
 
8260
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:328
8261
  msgid "Add link"
8262
  msgstr ""
8263
 
8264
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:336
8265
  msgid "Link Text"
8266
  msgstr ""
8267
 
8268
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:343
8269
  msgid "Enable \"Save as\""
8270
  msgstr ""
8271
 
8272
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:345
8273
  msgid "Enable \"save as\" pdf instead of view pdf in browser"
8274
  msgstr ""
8275
 
8276
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-display.php:352
8277
  msgid "PDF File Name"
8278
  msgstr ""
8279
 
8433
  msgid "Numbering"
8434
  msgstr ""
8435
 
 
 
 
 
8436
  #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:51
8437
  msgid "Counter"
8438
  msgstr ""
8439
 
8440
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-numbering.php:57
8441
  msgid "Counter Width"
8442
  msgstr ""
8443
 
8501
  msgid "Templates"
8502
  msgstr ""
8503
 
8504
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-templates.php:53
8505
  msgid "HTML Template"
8506
  msgstr ""
8507
 
8508
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-templates.php:68
8509
  msgid "Available Shortcodes"
8510
  msgstr ""
8511
 
8512
+ #: includes/pdf-invoices/settings/class-wcj-pdf-invoicing-templates.php:71
8513
+ msgid "For the list of available shortcodes, please visit %s."
8514
+ msgstr ""
8515
+
8516
  #: includes/price-by-country/class-wcj-price-by-country-group-generator.php:77
8517
  msgid "Create All Country Groups Failed."
8518
  msgstr ""
8584
  msgid "Report for:"
8585
  msgstr ""
8586
 
8587
+ #: includes/reports/wcj-class-reports-monthly-sales.php:39
8588
+ msgid "Currency rates deleted."
8589
+ msgstr ""
8590
+
8591
+ #: includes/reports/wcj-class-reports-monthly-sales.php:137
8592
+ msgid "Days"
8593
+ msgstr ""
8594
+
8595
+ #: includes/reports/wcj-class-reports-monthly-sales.php:138
8596
  msgid "Total Orders"
8597
  msgstr ""
8598
 
8599
+ #: includes/reports/wcj-class-reports-monthly-sales.php:139
8600
+ msgid "Orders Average / Day"
8601
+ msgstr ""
8602
+
8603
+ #: includes/reports/wcj-class-reports-monthly-sales.php:140
8604
  msgid "Total Sum"
8605
  msgstr ""
8606
 
8607
+ #: includes/reports/wcj-class-reports-monthly-sales.php:141
8608
  msgid "Total Sum (excl. TAX)"
8609
  msgstr ""
8610
 
8611
+ #: includes/reports/wcj-class-reports-monthly-sales.php:142
8612
+ msgid "Average / Order (excl. TAX)"
8613
+ msgstr ""
8614
+
8615
+ #: includes/reports/wcj-class-reports-monthly-sales.php:143
8616
  msgid "Average / Day (excl. TAX)"
8617
  msgstr ""
8618
 
8619
+ #: includes/reports/wcj-class-reports-monthly-sales.php:144
8620
+ msgid "Currency Rates"
8621
+ msgstr ""
8622
+
8623
+ #: includes/reports/wcj-class-reports-monthly-sales.php:219
8624
+ msgid "Error getting currency rate for %s"
8625
+ msgstr ""
8626
+
8627
+ #: includes/reports/wcj-class-reports-monthly-sales.php:277
8628
+ msgid "Totals"
8629
+ msgstr ""
8630
+
8631
+ #: includes/reports/wcj-class-reports-monthly-sales.php:312
8632
  msgid "Report currency"
8633
  msgstr ""
8634
 
8635
+ #: includes/reports/wcj-class-reports-monthly-sales.php:326
8636
+ msgid "Report generated in: %s s"
8637
+ msgstr ""
8638
+
8639
+ #: includes/reports/wcj-class-reports-monthly-sales.php:328
8640
+ msgid "Reset Currency Rates"
8641
+ msgstr ""
8642
+
8643
  #: includes/reports/wcj-class-reports-sales.php:177
8644
  msgid "Filter"
8645
  msgstr ""
8683
  msgid "deleted"
8684
  msgstr ""
8685
 
 
 
 
 
 
 
 
 
8686
  #: includes/reports/wcj-class-reports-stock.php:323
8687
  msgid "Stock price"
8688
  msgstr ""
8743
  msgid "Report was generated in: "
8744
  msgstr ""
8745
 
8746
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:42
8747
  msgid "Booster: Custom Shipping Method"
8748
  msgstr ""
8749
 
8750
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:75
8751
  msgid "Enable Custom Shipping"
8752
  msgstr ""
8753
 
8754
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:88
8755
  msgid "Cost calculation type."
8756
  msgstr ""
8757
 
8758
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:92
8759
  msgid "Flat Rate"
8760
  msgstr ""
8761
 
8762
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:93
8763
  msgid "By Total Cart Weight"
8764
  msgstr ""
8765
 
8766
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:94
8767
+ msgid "By Total Cart Weight Table"
8768
+ msgstr ""
8769
+
8770
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:95
8771
  msgid "By Total Cart Quantity"
8772
  msgstr ""
8773
 
8774
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:99
8775
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:125
8776
  msgid "Cost"
8777
  msgstr ""
8778
 
8779
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:101
8780
  msgid ""
8781
  "Cost. If calculating by weight - then cost per one weight unit. If "
8782
  "calculating by quantity - then cost per one piece."
8783
  msgstr ""
8784
 
8785
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:107
8786
+ msgid "Weight Table Total Rows"
8787
+ msgstr ""
8788
+
8789
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:109
8790
+ msgid "Press Save changes after you change this number."
8791
+ msgstr ""
8792
+
8793
+ #: includes/shipping/class-wc-shipping-wcj-custom.php:118
8794
+ msgid "Max Weight"
8795
+ msgstr ""
8796
+
8797
+ #: includes/shortcodes/class-wcj-input-field-shortcodes.php:52
8798
+ msgid "Attribute \"name\" is required!"
8799
+ msgstr ""
8800
+
8801
  #: includes/shortcodes/class-wcj-orders-shortcodes.php:86
8802
  msgid "Dollars"
8803
  msgstr ""
8806
  msgid "Cents"
8807
  msgstr ""
8808
 
8809
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:53
8810
+ msgid "Product by User"
8811
+ msgstr ""
8812
+
8813
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:138
8814
+ msgid "Title is required!"
8815
  msgstr ""
8816
 
8817
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:146
8818
+ msgid "Product exists!"
8819
  msgstr ""
8820
 
8821
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:168
8822
+ msgid "%s is required!"
8823
  msgstr ""
8824
 
8825
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:174
8826
+ msgid "Sale price must be less than the regular price!"
8827
  msgstr ""
8828
 
8829
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:208
8830
+ msgid "Error!"
8831
  msgstr ""
8832
 
8833
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:250
8834
+ msgid "Add New Product"
8835
+ msgstr ""
8836
+
8837
+ #: includes/shortcodes/class-wcj-products-add-form-shortcodes.php:250
8838
+ msgid "Edit Product"
8839
  msgstr ""
8840
 
8841
+ #: includes/shortcodes/class-wcj-products-shortcodes.php:188
8842
  msgid "%s ago"
8843
  msgstr ""
8844
 
8845
+ #: includes/shortcodes/class-wcj-products-shortcodes.php:204
8846
+ msgid "No sales yet."
8847
+ msgstr ""
8848
+
8849
+ #: includes/shortcodes/class-wcj-shortcodes.php:94
8850
+ msgid "%s module not enabled!"
8851
+ msgstr ""
8852
+
8853
+ #: includes/shortcodes/class-wcj-shortcodes.php:118
8854
+ msgid "Wrong user role!"
8855
+ msgstr ""
8856
+
8857
  #: includes/templates/wcj-add-to-cart-variable.php:24
8858
  msgid "This product is currently out of stock and unavailable."
8859
  msgstr ""
8900
  msgid "Customer Country Detection Method must include \"by user selection\"!"
8901
  msgstr ""
8902
 
8903
+ #: includes/widgets/class-wcj-widget-country-switcher.php:80
8904
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:56
8905
  #: includes/widgets/class-wcj-widget-multicurrency.php:72
8906
  msgid "Title:"
8907
  msgstr ""
8908
 
8909
+ #: includes/widgets/class-wcj-widget-country-switcher.php:84
8910
  msgid "Countries:"
8911
  msgstr ""
8912
 
8913
+ #: includes/widgets/class-wcj-widget-country-switcher.php:88
8914
+ msgid "Replace with currency:"
8915
+ msgstr ""
8916
+
8917
  #: includes/widgets/class-wcj-widget-left-to-free-shipping.php:24
8918
  msgid "Booster: Left to Free Shipping Widget"
8919
  msgstr ""
8958
  msgid "Link list"
8959
  msgstr ""
8960
 
8961
+ #: woocommerce-jetpack.php:326
8962
+ msgid ""
8963
+ "If you like <strong>Booster for WooCommerce</strong> please leave us a %s "
8964
+ "rating. Thank you, we couldn't have done it without you!"
8965
+ msgstr ""
8966
+
8967
+ #. #-#-#-#-# plugin.pot (Booster for WooCommerce 2.5.5) #-#-#-#-#
8968
  #. Plugin Name of the plugin/theme
8969
+ #: woocommerce-jetpack.php:342
8970
  msgid "Booster for WooCommerce"
8971
  msgstr ""
8972
 
8973
+ #: woocommerce-jetpack.php:343
8974
  msgid "Booster Settings"
8975
  msgstr ""
8976
 
8977
+ #: woocommerce-jetpack.php:359
8978
  msgid "Docs"
8979
  msgstr ""
8980
 
8981
+ #: woocommerce-jetpack.php:362
8982
  msgid "Unlock all"
8983
  msgstr ""
8984
 
8985
+ #: woocommerce-jetpack.php:378
8986
  msgid "Install Booster Plus to unlock all features"
8987
  msgstr ""
8988
 
8989
+ #: woocommerce-jetpack.php:379
8990
  msgid ""
8991
  "Some settings fields are locked and you will need %s to modify all locked "
8992
  "fields."
8993
  msgstr ""
8994
 
8995
+ #: woocommerce-jetpack.php:380
8996
  msgid "Buy now"
8997
  msgstr ""
8998
 
8999
+ #: woocommerce-jetpack.php:380
9000
  msgid "Visit Booster Site"
9001
  msgstr ""
9002
 
9003
+ #: woocommerce-jetpack.php:384
9004
  msgid ""
9005
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
9006
  "to change value."
9007
  msgstr ""
9008
 
9009
+ #: woocommerce-jetpack.php:387
9010
  msgid ""
9011
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
9012
  "to change values below."
9013
  msgstr ""
9014
 
9015
+ #: woocommerce-jetpack.php:390
9016
  msgid ""
9017
  "Get <a href=\"http://booster.io/plus/\" target=\"_blank\">Booster Plus</a> "
9018
  "to change values above."
9019
  msgstr ""
9020
 
9021
+ #: woocommerce-jetpack.php:393
9022
  msgid "Get Booster Plus to change value."
9023
  msgstr ""
9024
 
9025
+ #: woocommerce-jetpack.php:640
9026
+ msgid "Please upload a file to import!"
9027
+ msgstr ""
9028
+
9029
+ #: woocommerce-jetpack.php:648 woocommerce-jetpack.php:653
9030
+ msgid "Wrong file format!"
9031
+ msgstr ""
9032
+
9033
+ #: woocommerce-jetpack.php:660
9034
+ msgid "%d options successfully imported."
9035
+ msgstr ""
9036
+
9037
+ #: woocommerce-jetpack.php:725
9038
+ msgid "%d options successfully deleted."
9039
+ msgstr ""
9040
+
9041
  #. Plugin URI of the plugin/theme
9042
  msgid "http://booster.io"
9043
  msgstr ""
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: algoritmika,anbinder
3
  Tags: woocommerce,booster for woocommerce,woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 4.6
6
- Stable tag: 2.5.5
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -50,12 +50,12 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
50
  * *Product Input Fields* - WooCommerce product input fields.
51
  * *Product Listings* - Change WooCommerce display options for shop and category pages: show/hide categories count, exclude categories, show/hide empty categories. Add "products per page" selector.
52
  * *Product Tabs* - Add custom product tabs - globally or per product. Customize or completely remove WooCommerce default product tabs.
53
- * *Product Visibility by Country* - Display WooCommerce products by customers country.
54
- * *Product Visibility by User Role* - Display WooCommerce products by customers user role.
55
- * *User Products* - Let users add new WooCommerce products from frontend.
56
  * *Related Products* - Change displayed WooCommerce related products number, columns, order, relate by tag and/or category, or hide related products completely.
57
  * *SKU* - Generate WooCommerce SKUs automatically.
58
  * *Sorting* - Add more WooCommerce sorting options or remove all sorting including default.
 
59
 
60
  **Cart & Checkout**
61
 
@@ -83,8 +83,8 @@ Booster for WooCommerce is a WordPress plugin that supercharges your site with a
83
  * *Address Formats* - Set address format in WooCommerce orders on per country basis. Force base country display.
84
  * *Order Custom Statuses* - Custom statuses for WooCommerce orders.
85
  * *Order Numbers* - WooCommerce sequential order numbering, custom order number prefix, suffix and number width.
86
- * *Orders* - Minimum WooCommerce order amount (optionally by user role); orders auto-complete; custom admin order list columns.
87
- * *Shipping* - Add multiple custom shipping methods to WooCommerce. Hide WooCommerce shipping when free is available. Display "left to free shipping" info.
88
  * *Shipping Calculator* - Customize WooCommerce shipping calculator on cart page.
89
 
90
  **PDF Invoicing & Packing Slips**
@@ -128,6 +128,66 @@ To unlock all Booster for WooCommerce features, please install additional [Boost
128
 
129
  == Changelog ==
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  = 2.5.5 - 20/08/2016 =
132
  * Fix - `WCJ_Module` - `colspan` fixed in `create_meta_box()` function.
133
  * Dev - `WCJ_Module` - `create_meta_box` - `custom_attributes` and `tooltip` options added.
3
  Tags: woocommerce,booster for woocommerce,woocommerce jetpack
4
  Requires at least: 4.4
5
  Tested up to: 4.6
6
+ Stable tag: 2.5.6
7
  License: GNU General Public License v3.0
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
50
  * *Product Input Fields* - WooCommerce product input fields.
51
  * *Product Listings* - Change WooCommerce display options for shop and category pages: show/hide categories count, exclude categories, show/hide empty categories. Add "products per page" selector.
52
  * *Product Tabs* - Add custom product tabs - globally or per product. Customize or completely remove WooCommerce default product tabs.
53
+ * *Product Visibility by Country* - Display WooCommerce products by customer's country.
54
+ * *Product Visibility by User Role* - Display WooCommerce products by customer's user role.
 
55
  * *Related Products* - Change displayed WooCommerce related products number, columns, order, relate by tag and/or category, or hide related products completely.
56
  * *SKU* - Generate WooCommerce SKUs automatically.
57
  * *Sorting* - Add more WooCommerce sorting options or remove all sorting including default.
58
+ * *User Products* - Let users add new WooCommerce products from frontend.
59
 
60
  **Cart & Checkout**
61
 
83
  * *Address Formats* - Set address format in WooCommerce orders on per country basis. Force base country display.
84
  * *Order Custom Statuses* - Custom statuses for WooCommerce orders.
85
  * *Order Numbers* - WooCommerce sequential order numbering, custom order number prefix, suffix and number width.
86
+ * *Orders* - Minimum WooCommerce order amount (optionally by user role); orders auto-complete; custom admin order list columns; admin order currency.
87
+ * *Shipping* - Add multiple custom shipping methods to WooCommerce. Add descriptions and icons to shipping methods on frontend. Hide WooCommerce shipping when free is available. Display "left to free shipping" info.
88
  * *Shipping Calculator* - Customize WooCommerce shipping calculator on cart page.
89
 
90
  **PDF Invoicing & Packing Slips**
128
 
129
  == Changelog ==
130
 
131
+ = 2.5.6 - 29/09/2016 =
132
+ * Dev - Functions - `wcj_get_product_input_fields()` - `unserialize()` added for serialized values.
133
+ * Dev - Shortcodes - General - `[wcj_wholesale_price_table]` - `hide_if_zero_quantity` and `table_format` attributes added.
134
+ * Dev - Shortcodes - Orders - `[wcj_order_payment_method_transaction_id]` shortcode added.
135
+ * Dev - Shortcodes - Orders - `[wcj_order_shipping_price]`, `[wcj_order_total_excl_tax]` code refactoring.
136
+ * Dev - Shortcodes - Orders - `[wcj_order_total_excl_shipping]` shortcode added.
137
+ * Dev - Shortcodes - Orders - `[wcj_order_status]` shortcode added.
138
+ * Dev - Shortcodes - Orders - `[wcj_order_function]` shortcode added.
139
+ * Dev - Shortcodes - Products - Crowdfunding - `get_product_orders_data()` - `WP_Query` optimized to return `ids` only.
140
+ * Dev - Shortcodes - Products - Crowdfunding - `get_product_orders_data()` - Grouped products support added.
141
+ * Dev - Shortcodes - Products - `[wcj_product_wholesale_price_table]` - `hide_if_zero_quantity` and `table_format` attributes added.
142
+ * Fix - PRICES & CURRENCIES - Currency per Product - Default WooCommerce currency added to metabox (and to module's settings).
143
+ * Fix - PRICES & CURRENCIES - Prices and Currencies by Country - `add_hooks()` moved to `init` hook.
144
+ * Fix - PRICES & CURRENCIES - Prices and Currencies by Country - Sorting by price support added.
145
+ * Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Override Country Options" - "Override Country with Customer's Checkout Shipping Country" option added.
146
+ * Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Recalculate price filter widget product prices" option added.
147
+ * Dev - PRICES & CURRENCIES - Prices and Currencies by Country - Multicurrency Base Product price is calculated in Price by Country Price Filter widget.
148
+ * Dev - PRICES & CURRENCIES - Prices and Currencies by Country - "Search Engine Bots" option added.
149
+ * Fix - PRICES & CURRENCIES - Product Open Pricing (Name Your Price) - Decimal numbers now allowed in default, min and max prices metabox.
150
+ * Dev - PRODUCTS - Product Add to Cart - "Add to Cart Button AJAX" section added.
151
+ * Dev - PRODUCTS - Product Add to Cart - "Add to Cart Button Custom URL" section added.
152
+ * Fix - PRODUCTS - Product Addons - Addons tax display fixed (`get_display_price()` function).
153
+ * Fix - PRODUCTS - Product Addons - PHP 7 fix regarding "changes to the handling of indirect variables, properties, and methods" (http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect).
154
+ * Dev - PRODUCTS - Product Addons - "Admin Order Page - Hide all addons" option added.
155
+ * Dev - PRODUCTS - Product Addons - "Addon in Cart Format" and "Addon in Order Details Table Format" options added.
156
+ * Dev - PRODUCTS - Product Cost Price - "Profit" column - Now calculating profit for all orders statuses except cancelled, refunded or failed.
157
+ * Fix - PRODUCTS - Product Visibility by User Role - Checking all user's roles (not only first one).
158
+ * Fix - CART & CHECKOUT - Checkout Files Upload - "Add to Thank You page" and "Add to My Account page" fixed (before was putting all fields even if only one was enabled).
159
+ * Dev - CART & CHECKOUT - Checkout Files Upload - "Form Template Options" section added.
160
+ * Dev - CART & CHECKOUT - Checkout Files Upload - "No files uploaded" message added to admin's order edit page.
161
+ * Dev - PAYMENT GATEWAYS - Custom Gateways - Minimum order amount - When checking cart total now excludes fees (including "Gateways Fees and Discounts" module's fees/discounts).
162
+ * Dev - PAYMENT GATEWAYS - Custom Gateways - Minimum order amount - Checking if cart total is not empty (this fixes the issue with "Gateways Fees and Discounts" module).
163
+ * Dev - PAYMENT GATEWAYS - Custom Gateways - Restriction on max number (was 10) of custom payment gateways removed (using objects instead of class names in `woocommerce_payment_gateways` hook).
164
+ * Fix - PAYMENT GATEWAYS - Gateways by Country or State - Additional check added to `available_payment_gateways()` function.
165
+ * Fix - SHIPPING & ORDERS - Order Custom Statuses - Default order statuses moved from constructor to separate function.
166
+ * Dev - SHIPPING & ORDERS - Orders - "Admin Order Currency" section added.
167
+ * Fix - SHIPPING & ORDERS - Shipping - Custom Shipping (without Zones) - PHP 7 fix regarding "changes to the handling of indirect variables, properties, and methods" (http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.indirect).
168
+ * Dev - SHIPPING & ORDERS - Shipping - Custom Shipping with Zones added.
169
+ * Dev - SHIPPING & ORDERS - Shipping - Custom Shipping - Restriction on max number (was 10) of custom shipping methods removed (using objects instead of class names in `woocommerce_shipping_methods` hook).
170
+ * Dev - SHIPPING & ORDERS - Shipping - "Shipping Descriptions" section added. Settings moved to `init` hook.
171
+ * Dev - SHIPPING & ORDERS - Shipping - "Shipping Icons" section added.
172
+ * Dev - PDF INVOICING & PACKING SLIPS - Display - "Save as" disabled by default.
173
+ * Dev - PDF INVOICING & PACKING SLIPS - Added `die` after `generate_pdf_on_init`.
174
+ * Dev - PDF INVOICING & PACKING SLIPS - `woocommerce_cli_create_order`, `kco_before_confirm_order` and `woocommerce_checkout_order_processed` hooks added (duplicates `woocommerce_new_order` hook).
175
+ * Dev - EMAILS & MISC. - Emails - Custom Emails - Shortcode are now working in subject.
176
+ * Dev - EMAILS & MISC. - Emails - Custom Emails - "Low stock notification", "No stock notification", "Product on backorder notification", "Created customer notification" triggers added.
177
+ * Dev - EMAILS & MISC. - Emails - Custom Emails - Settings field type `custom_textarea` added (this lets save HTML without removing any tags).
178
+ * Dev - EMAILS & MISC. - Export - Export Orders - Loop modified to return posts ids only.
179
+ * Dev - EMAILS & MISC. - Export - Export Orders - "Order Items Product Input Fields" column added.
180
+ * Dev - EMAILS & MISC. - Export - Export Orders - "Export Orders Fields" option added.
181
+ * Dev - EMAILS & MISC. - Reports - `WP_Query` optimized to return `ids` only.
182
+ * Tweak - PRICES & CURRENCIES - Currency per Product - Metabox tooltip added.
183
+ * Tweak - PRICES & CURRENCIES - Wholesale Price - "If show discount info on cart page is enabled, set format here" option description tip added.
184
+ * Tweak - PRODUCTS - Product Add to Cart - "Add to Cart Button" section renamed to "Add to Cart Button Disabling".
185
+ * Tweak - PRODUCTS - Product Visibility by Country - Description fixed.
186
+ * Tweak - PRODUCTS - Product Visibility by User Role - Tooltip added to metabox (product edit page).
187
+ * Tweak - PRODUCTS - Product Visibility by User Role - Link and description fixed.
188
+ * Tweak - PRODUCTS - Sorting - Unnecessary `global $woocommerce` removed.
189
+ * Tweak - Language (POT) file updated.
190
+
191
  = 2.5.5 - 20/08/2016 =
192
  * Fix - `WCJ_Module` - `colspan` fixed in `create_meta_box()` function.
193
  * Dev - `WCJ_Module` - `create_meta_box` - `custom_attributes` and `tooltip` options added.
woocommerce-jetpack.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Booster for WooCommerce
4
  Plugin URI: http://booster.io
5
  Description: Supercharge your WooCommerce site with these awesome powerful features.
6
- Version: 2.5.5
7
  Author: Algoritmika Ltd
8
  Author URI: http://www.algoritmika.com
9
  Text Domain: woocommerce-jetpack
@@ -39,7 +39,7 @@ final class WC_Jetpack {
39
  * @var string
40
  * @since 2.4.7
41
  */
42
- public $version = '2.5.5';
43
 
44
  /**
45
  * @var WC_Jetpack The single instance of the class
3
  Plugin Name: Booster for WooCommerce
4
  Plugin URI: http://booster.io
5
  Description: Supercharge your WooCommerce site with these awesome powerful features.
6
+ Version: 2.5.6
7
  Author: Algoritmika Ltd
8
  Author URI: http://www.algoritmika.com
9
  Text Domain: woocommerce-jetpack
39
  * @var string
40
  * @since 2.4.7
41
  */
42
+ public $version = '2.5.6';
43
 
44
  /**
45
  * @var WC_Jetpack The single instance of the class