PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.10.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.10.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 / FreeShippingCalculator.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
FreeShippingCalculator.php
84 lines
1 <?php
2 /**
3 * Class FreeShippingCalculator
4 *
5 * @package WPDesk\FS\TableRate\ShippingMethod
6 */
7
8 namespace WPDesk\FS\TableRate\ShippingMethod;
9
10 use FSVendor\WPDesk\FS\TableRate\Settings\MethodSettings;
11 use FSVendor\WPDesk\FS\TableRate\Settings\MethodSettingsFactory;
12 use WPDesk_Flexible_Shipping;
13
14 /**
15 * Can calculate free shipping.
16 */
17 class FreeShippingCalculator {
18
19 /**
20 * @param MethodSettings $shipping_method .
21 * @param float $cart_contents_cost .
22 *
23 * @return bool
24 */
25 public function is_free_shipping( MethodSettings $shipping_method, $cart_contents_cost ) {
26 /**
27 * Can provide free shipping callback.
28 * For internal use.
29 *
30 * @internal
31 */
32 $free_shipping_calculation_callback = apply_filters(
33 'flexible-shipping/shipping-method/free-shipping-callback',
34 array( $this, 'is_free_shipping_callback' ),
35 $shipping_method->get_raw_settings()
36 );
37
38 $is_free_shipping = $free_shipping_calculation_callback( $shipping_method->get_raw_settings(), $cart_contents_cost );
39
40 $is_free_shipping = apply_filters_deprecated(
41 'flexible_shipping_is_free_shipping',
42 array( $is_free_shipping, $shipping_method->get_raw_settings(), $cart_contents_cost ),
43 '4.0.0',
44 'flexible-shipping/shipping-method/is-free-shipping'
45 );
46
47 /**
48 * Can modify free shipping.
49 *
50 * @param bool $is_free_shipping Current is_free_shipping value based on method settings.
51 * @param array $shipping_method Flexible shipping method settings.
52 * @param float $cart_contents_cost Shipping contents cost.
53 *
54 * @return bool
55 */
56 return apply_filters( 'flexible-shipping/shipping-method/is-free-shipping', $is_free_shipping, $shipping_method->get_raw_settings(), $cart_contents_cost );
57 }
58
59 /**
60 * Is free shipping?
61 *
62 * @param array $shipping_method_settings .
63 * @param float $cart_contents_cost .
64 *
65 * @return bool
66 */
67 public function is_free_shipping_callback( $shipping_method_settings, $cart_contents_cost ) {
68 $shipping_method = MethodSettingsFactory::create_from_array( $shipping_method_settings );
69 $is_free_shipping = false;
70 $free_shipping = $shipping_method->get_free_shipping();
71 if ( isset( $free_shipping ) && '' !== $free_shipping ) {
72 $free_shipping = (float) trim( $free_shipping );
73 if ( is_numeric( $free_shipping ) ) {
74 if ( (float) apply_filters( 'flexible_shipping_value_in_currency', $free_shipping ) <= (float) $cart_contents_cost ) {
75 $is_free_shipping = true;
76 }
77 }
78 }
79
80 return $is_free_shipping;
81 }
82
83 }
84