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