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.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 / Debug / DebugTracker.php
flexible-shipping / src / WPDesk / FS / TableRate / Debug Last commit date
DebugTracker.php 4 days ago MultipleShippingZonesMatchedSameTerritoryNotice.php 4 days ago MultipleShippingZonesMatchedSameTerritoryTracker.php 4 days ago NoShippingMethodsNotice.php 4 days ago
DebugTracker.php
104 lines
1 <?php
2 /**
3 * Class Tracker
4 *
5 * @package WPDesk\FS\TableRate\Debug
6 */
7
8 namespace WPDesk\FS\TableRate\Debug;
9
10 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
11
12 /**
13 * Can handle tracker data related to debug mode.
14 */
15 class DebugTracker implements Hookable {
16
17 const NOTICE_OPTION_NAME = 'flexible_shipping_debug_notice_added';
18 const NOTICE_OPTION_VALUE = 1;
19
20 const SETTINGS_OPTION_NAME = 'flexible_shipping_debug_was_enabled';
21 const SETTINGS_OPTION_VALUE = 1;
22
23 const PRIORITY_AFTER_FS_TRACKER = 12;
24
25 const ADDITIONAL_DATA = 'additional_data';
26
27 const METHOD_DEBUG_MODE = 'method_debug_mode';
28
29 /**
30 * Hooks.
31 */
32 public function hooks() {
33 add_filter( 'flexible_shipping_process_admin_options', array( $this, 'update_settings_option_if_not_set_and_debug_enabled' ) );
34
35 add_action( 'flexible_shipping_debug_notice_added', array( $this, 'update_notice_option_if_not_set' ) );
36
37 add_filter( 'wpdesk_tracker_data', array( $this, 'append_debug_notice_data_to_tracker' ), self::PRIORITY_AFTER_FS_TRACKER );
38 add_filter( 'wpdesk_tracker_deactivation_data', array( $this, 'append_debug_notice_data_to_deactivation_tracker' ) );
39 }
40
41 /**
42 * Update option when debug is enabled and option not set.
43 *
44 * @param array $shipping_method_settings .
45 *
46 * @return array
47 */
48 public function update_settings_option_if_not_set_and_debug_enabled( $shipping_method_settings ) {
49 if ( isset( $shipping_method_settings[ self::METHOD_DEBUG_MODE ] ) && 'yes' === $shipping_method_settings[ self::METHOD_DEBUG_MODE ]
50 && self::SETTINGS_OPTION_VALUE !== (int) get_option( self::SETTINGS_OPTION_NAME, 0 )
51 ) {
52 update_option( self::SETTINGS_OPTION_NAME, self::SETTINGS_OPTION_VALUE );
53 }
54 return $shipping_method_settings;
55 }
56
57 /**
58 * Update option when notice is added.
59 *
60 * @internal
61 */
62 public function update_notice_option_if_not_set() {
63 if ( self::NOTICE_OPTION_VALUE !== (int) get_option( self::NOTICE_OPTION_NAME, 0 ) ) {
64 update_option( self::NOTICE_OPTION_NAME, self::NOTICE_OPTION_VALUE );
65 }
66 }
67
68 /**
69 * Append debug notice dara to tracker.
70 *
71 * @param array $data .
72 *
73 * @return array
74 *
75 * @internal
76 */
77 public function append_debug_notice_data_to_tracker( $data ) {
78 $data['flexible_shipping']['debug_notice_was_enabled'] = self::SETTINGS_OPTION_VALUE === (int) get_option( self::SETTINGS_OPTION_NAME, 0 ) ? 'yes' : 'no';
79 $data['flexible_shipping']['debug_notice_displayed'] = self::NOTICE_OPTION_VALUE === (int) get_option( self::NOTICE_OPTION_NAME, 0 ) ? 'yes' : 'no';
80
81 return $data;
82 }
83
84 /**
85 * Set new rules table data to data array.
86 *
87 * @param array $data Data.
88 *
89 * @return array
90 *
91 * @internal
92 */
93 public function append_debug_notice_data_to_deactivation_tracker( array $data ) {
94 if ( empty( $data[ self::ADDITIONAL_DATA ] ) || ! is_array( $data[ self::ADDITIONAL_DATA ] ) ) {
95 $data[ self::ADDITIONAL_DATA ] = array();
96 }
97 $data[ self::ADDITIONAL_DATA ]['fs_debug_notice_was_enabled'] = self::SETTINGS_OPTION_VALUE === (int) get_option( self::SETTINGS_OPTION_NAME, 0 ) ? 'yes' : 'no';
98 $data[ self::ADDITIONAL_DATA ]['fs_debug_notice_displayed'] = self::NOTICE_OPTION_VALUE === (int) get_option( self::NOTICE_OPTION_NAME, 0 ) ? 'yes' : 'no';
99
100 return $data;
101 }
102
103 }
104