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.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 day ago Convert 1 day ago Duplicate 1 day ago Management 1 day ago Timestamps 1 day ago Tracker 1 day ago views 1 day ago CommonMethodSettings.php 1 day ago FreeShippingCalculator.php 1 day ago FreeShippingThresholdRuleValidator.php 1 day ago MethodDescription.php 1 day ago MethodLogo.php 1 day ago MethodLogoCheckoutBlocksAssets.php 1 day ago MethodLogoSettingsField.php 1 day ago MethodSettings.php 1 day ago MethodTitle.php 1 day ago RateCalculator.php 1 day ago RateCalculatorFactory.php 1 day ago SettingsDisplayPreparer.php 1 day ago SettingsProcessor.php 1 day ago SingleMethodSettings.php 1 day 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