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 / Rule / PreconfiguredScenarios / Tracker / TrackingData.php
flexible-shipping / src / WPDesk / FS / TableRate / Rule / PreconfiguredScenarios / Tracker Last commit date
AjaxTracker.php 1 week ago Tracker.php 1 week ago TrackingData.php 1 week ago
TrackingData.php
94 lines
1 <?php
2 /**
3 * Class TrackingData
4 *
5 * @package WPDesk\FS\TableRate\Rule\PreconfiguredScenarios\Tracker
6 */
7
8 namespace WPDesk\FS\TableRate\Rule\PreconfiguredScenarios\Tracker;
9
10 /**
11 * Can provide preconfigured scenarios tracking data.
12 */
13 class TrackingData {
14
15 const OPTION_NAME = 'fs-predefined-scenarios-tracking-data';
16 const SCENARIO_USED = 'scenario_used';
17 const SCENARIO_COUNT = 'scenario_count';
18 const SAVED_SCENARIOS = 'saved_scenarios';
19 const UNAVAILABLE_SCENARIOS = 'unavailable_scenarios';
20
21 /**
22 * .
23 */
24 public function increase_saved_scenarios() {
25 $tracking_data = $this->get_tracking_data();
26 $tracking_data[ self::SAVED_SCENARIOS ]++;
27 $this->save_tracking_data( $tracking_data );
28 }
29
30 /**
31 * @param string $scenario .
32 */
33 public function increase_scenario_use_count( $scenario ) {
34 $tracking_data = $this->get_tracking_data();
35 $tracking_data[ self::SCENARIO_COUNT ][ $scenario ] = isset( $tracking_data[ self::SCENARIO_COUNT ][ $scenario ] ) ? (int) $tracking_data[ self::SCENARIO_COUNT ][ $scenario ] + 1 : 1;
36 $this->save_tracking_data( $tracking_data );
37 $this->set_scenario_used_if_not_set();
38 }
39
40 /**
41 * @param string $scenario .
42 */
43 public function increase_scenario_unavailable_count( $scenario ) {
44 $tracking_data = $this->get_tracking_data();
45 $tracking_data[ self::UNAVAILABLE_SCENARIOS ][ $scenario ] = isset( $tracking_data[ self::UNAVAILABLE_SCENARIOS ][ $scenario ] ) ? (int) $tracking_data[ self::UNAVAILABLE_SCENARIOS ][ $scenario ] + 1 : 1;
46 $this->save_tracking_data( $tracking_data );
47 }
48
49 /**
50 * .
51 */
52 public function set_scenario_used_if_not_set() {
53 $tracking_data = $this->get_tracking_data();
54 if ( 'yes' !== $tracking_data[ self::SCENARIO_USED ] ) {
55 $tracking_data[ self::SCENARIO_USED ] = 'yes';
56 $this->save_tracking_data( $tracking_data );
57 }
58 }
59
60 /**
61 * @return array
62 */
63 public function get_tracking_data() {
64 $tracking_data = get_option( self::OPTION_NAME );
65
66 $tracking_data = is_array( $tracking_data ) ? $tracking_data : [
67 self::SCENARIO_USED => 'no',
68 self::SCENARIO_COUNT => [],
69 ];
70
71 if ( ! isset( $tracking_data[ self::SCENARIO_USED ] ) ) {
72 $tracking_data[ self::SCENARIO_USED ] = 'no';
73 }
74
75 if ( ! isset( $tracking_data[ self::SAVED_SCENARIOS ] ) ) {
76 $tracking_data[ self::SAVED_SCENARIOS ] = 0;
77 }
78
79 if ( ! isset( $tracking_data[ self::SCENARIO_COUNT ] ) || ! is_array( $tracking_data[ self::SCENARIO_COUNT ] ) ) {
80 $tracking_data[ self::SCENARIO_COUNT ] = [];
81 }
82
83 return $tracking_data;
84 }
85
86 /**
87 * @param array $tracking_data .
88 */
89 private function save_tracking_data( array $tracking_data ) {
90 update_option( self::OPTION_NAME, $tracking_data, false );
91 }
92
93 }
94