PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.11.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.11.0
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 2 weeks ago Convert 2 weeks ago Duplicate 2 weeks ago Management 2 weeks ago Timestamps 2 weeks ago Tracker 2 weeks ago views 2 weeks ago CommonMethodSettings.php 2 weeks ago FreeShippingCalculator.php 2 weeks ago FreeShippingThresholdRuleValidator.php 2 weeks ago MethodDescription.php 2 weeks ago MethodLogo.php 2 weeks ago MethodLogoCheckoutBlocksAssets.php 2 weeks ago MethodLogoSettingsField.php 2 weeks ago MethodSettings.php 2 weeks ago MethodTitle.php 2 weeks ago RateCalculator.php 2 weeks ago RateCalculatorFactory.php 2 weeks ago SettingsDisplayPreparer.php 2 weeks ago SettingsProcessor.php 2 weeks ago SingleMethodSettings.php 2 weeks 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