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.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 / Timestamps / MethodTimestamps.php
flexible-shipping / src / WPDesk / FS / TableRate / ShippingMethod / Timestamps Last commit date
MethodTimestamps.php 2 weeks ago TrackerData.php 2 weeks ago
MethodTimestamps.php
58 lines
1 <?php
2
3 namespace WPDesk\FS\TableRate\ShippingMethod\Timestamps;
4
5 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
6 use WPDesk\FS\TableRate\ShippingMethodSingle;
7
8 class MethodTimestamps implements Hookable {
9
10 public const CREATION_TIME_WITH_FREE = 'creation_time_with_free';
11 public const METHOD_RULES_UPDATE_TIME_WITH_FREE = 'method_rules_update_time_with_free';
12
13 public function hooks(): void {
14 add_action( 'woocommerce_shipping_zone_method_added', [ $this, 'save_creation_time_on_shipping_method' ], 10, 3 );
15 add_filter( 'woocommerce_shipping_flexible_shipping_single_instance_settings_values', [ $this, 'save_rules_table_update_time_on_shipping_method' ], 10, 2 );
16 }
17
18 /**
19 * @param int $instance_id
20 * @param string $type
21 * @param int $zone_id
22 *
23 * @return void
24 */
25 public function save_creation_time_on_shipping_method( $instance_id, $type, $zone_id ): void {
26 if ( $this->is_pro_plugin_active() ) {
27 return;
28 }
29 if ( $type !== 'flexible_shipping_single' ) {
30 return;
31 }
32 $shipping_method = new ShippingMethodSingle( $instance_id );
33 $shipping_method->update_instance_option( self::CREATION_TIME_WITH_FREE, current_time( 'timestamp' ) ); // phpcs:ignore
34 }
35
36 /**
37 * @param array $settings
38 * @param \WC_Shipping_Method $shipping_method
39 *
40 * @return array
41 */
42 public function save_rules_table_update_time_on_shipping_method( $settings, $shipping_method ) {
43 if ( $this->is_pro_plugin_active() ) {
44 return $settings;
45 }
46 $current_settings = get_option( $shipping_method->get_instance_option_key(), [] );
47 if ( is_array( $settings ) && is_array( $current_settings ) && ( $settings['method_rules'] ?? '' ) !== ( $current_settings['method_rules'] ?? '' ) ) {
48 $settings[ self::METHOD_RULES_UPDATE_TIME_WITH_FREE ] = current_time( 'timestamp' ); // phpcs:ignore
49 }
50
51 return $settings;
52 }
53
54 private function is_pro_plugin_active(): bool {
55 return defined( 'FLEXIBLE_SHIPPING_PRO_VERSION' );
56 }
57 }
58