PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.1
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.1
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / src / WPDesk / FS / TableRate / ShippingMethod / RateCalculatorFactory.php
flexible-shipping / src / WPDesk / FS / TableRate / ShippingMethod Last commit date
BlockEditing 1 week ago Convert 1 week ago Duplicate 1 week ago Management 1 week ago Timestamps 1 week ago Tracker 1 week ago views 1 week ago CommonMethodSettings.php 1 week ago FreeShippingCalculator.php 1 week ago FreeShippingThresholdRuleValidator.php 1 week ago MethodDescription.php 1 week ago MethodLogo.php 1 week ago MethodLogoCheckoutBlocksAssets.php 1 week ago MethodLogoSettingsField.php 1 week ago MethodSettings.php 1 week ago MethodTitle.php 1 week ago RateCalculator.php 1 week ago RateCalculatorFactory.php 1 week ago SettingsDisplayPreparer.php 1 week ago SettingsProcessor.php 1 week ago SingleMethodSettings.php 1 week ago
RateCalculatorFactory.php
77 lines
1 <?php
2 /**
3 * Class RateCalculatorFactory
4 *
5 * @package WPDesk\FS\TableRate\ShippingMethod
6 */
7
8 namespace WPDesk\FS\TableRate\ShippingMethod;
9
10 use WC_Cart;
11 use WC_Shipping_Method;
12 use WPDesk\FS\TableRate\Rule\Condition\ConditionsFactory;
13 use WPDesk\FS\TableRate\Rule\Cost\RuleAdditionalCostFactory;
14 use WPDesk\FS\TableRate\Rule\Cost\RuleCostFieldsFactory;
15 use WPDesk\FS\TableRate\Rule\ShippingContents\DestinationAddressFactory;
16 use WPDesk\FS\TableRate\Rule\ShippingContents\ShippingContentsImplementation;
17 use WPDesk\FS\TableRate\Rule\SpecialAction\SpecialActionFactory;
18
19 /**
20 * Can create rates calculator.
21 */
22 class RateCalculatorFactory {
23 /**
24 * @param WC_Shipping_Method $shipping_method .
25 * @param array $package .
26 *
27 * @return RateCalculator
28 */
29 public static function create_for_shipping_method( WC_Shipping_Method $shipping_method, array $package ) {
30 $shop_currency = get_option( 'woocommerce_currency' );
31 $cart_currency = get_woocommerce_currency();
32
33 $available_conditions = ( new ConditionsFactory() )->get_conditions();
34 $cost_fields = ( new RuleCostFieldsFactory() )->get_fields();
35 $available_additional_costs = ( new RuleAdditionalCostFactory() )->get_additional_costs();
36 $available_special_actions = ( new SpecialActionFactory() )->get_special_actions();
37 $cost_rounding_precision = wc_get_price_decimals();
38 $cart = WC()->cart;
39 $prices_includes_tax = self::prices_include_tax( $cart );
40
41 $cart_contents = new ShippingContentsImplementation(
42 apply_filters( 'flexible-shipping/cart/cart-contents', $cart->get_cart_contents() ),
43 $prices_includes_tax,
44 $cost_rounding_precision,
45 DestinationAddressFactory::create_from_package_destination( $package['destination'] ),
46 $cart_currency
47 );
48
49 $free_shipping_calculator = new FreeShippingCalculator();
50
51 return new RateCalculator(
52 $shipping_method,
53 $shop_currency,
54 $cart_currency,
55 $available_conditions,
56 $cost_fields,
57 $available_additional_costs,
58 $available_special_actions,
59 $cost_rounding_precision,
60 $prices_includes_tax,
61 $cart,
62 $cart_contents,
63 $package,
64 $free_shipping_calculator
65 );
66 }
67
68 /**
69 * @param WC_Cart $cart .
70 *
71 * @return bool
72 */
73 private static function prices_include_tax( WC_Cart $cart ) {
74 return (bool) apply_filters( 'flexible_shipping_prices_include_tax', $cart->display_prices_including_tax() );
75 }
76 }
77