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 / FreeShippingCalculator.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
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