PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.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 / FreeShippingCalculator.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
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