PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.1
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.1
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 / PredefinedScenario.php
flexible-shipping / src / WPDesk / FS / TableRate / Rule / PreconfiguredScenarios Last commit date
Tracker 1 week ago PreconfiguredScenariosFactory.php 1 week ago PredefinedScenario.php 1 week ago
PredefinedScenario.php
161 lines
1 <?php
2 /**
3 * Class PredefinedScenario
4 *
5 * @package WPDesk\FS\TableRate\Rule\PreconfiguredScenarios
6 */
7
8 namespace WPDesk\FS\TableRate\Rule\PreconfiguredScenarios;
9
10 /**
11 * Predefined scenario.ś
12 */
13 class PredefinedScenario implements \JsonSerializable {
14
15 /**
16 * @var string
17 */
18 private $category;
19
20 /**
21 * @var string
22 */
23 private $name;
24
25 /**
26 * @var string
27 */
28 private $description;
29
30 /**
31 * @var string
32 */
33 private $documentation_url;
34
35 /**
36 * @var string
37 */
38 private $rules_json;
39
40 /**
41 * @var bool
42 */
43 private $available;
44
45 /**
46 * @var string
47 */
48 private $reason_for_unavailability;
49
50 /**
51 * @var string
52 */
53 private $requirements;
54
55 /**
56 * PredefinedScenario constructor.
57 *
58 * @param string $category .
59 * @param string $name .
60 * @param string $description .
61 * @param string $documentation_url .
62 * @param string $rules_json .
63 * @param bool $available .
64 * @param string $reason_for_unavailability .
65 * @param string $requirements .
66 */
67 public function __construct( $category, $name, $description, $documentation_url, $rules_json, $available = true, $reason_for_unavailability = '', $requirements = '' ) {
68 $this->category = $category;
69 $this->name = $name;
70 $this->description = $description;
71 $this->documentation_url = $documentation_url;
72 $this->rules_json = $rules_json;
73 $this->available = $available;
74 $this->reason_for_unavailability = $reason_for_unavailability;
75 $this->requirements = $requirements;
76 }
77
78 /**
79 * @return string
80 */
81 public function get_category() {
82 return $this->category;
83 }
84
85 /**
86 * @return string
87 */
88 public function get_name() {
89 return $this->name;
90 }
91
92 /**
93 * @return string
94 */
95 public function get_description() {
96 return $this->description;
97 }
98
99 /**
100 * @return string
101 */
102 public function get_documentation_url() {
103 return $this->documentation_url;
104 }
105
106 /**
107 * @return string
108 */
109 public function get_rules_json() {
110 return $this->rules_json;
111 }
112
113 /**
114 * @return bool
115 */
116 public function is_available(): bool {
117 return $this->available;
118 }
119
120 /**
121 * @return string
122 */
123 public function get_reason_for_unavailability(): string {
124 return $this->reason_for_unavailability;
125 }
126
127 /**
128 * @return string
129 */
130 public function get_requirements(): string {
131 return $this->requirements;
132 }
133
134 /**
135 * @return array
136 */
137 public function jsonSerialize(): array {
138 return [
139 'category' => $this->category,
140 'name' => $this->name,
141 'description' => $this->description,
142 'documentation_url' => $this->documentation_url,
143 'rules_json' => $this->rules_json,
144 'available' => $this->available,
145 'reason_for_unavailability' => $this->reason_for_unavailability,
146 'requirements' => $this->requirements,
147 'rules_count' => $this->get_rules_count(),
148 ];
149 }
150
151 /**
152 * @return int
153 */
154 private function get_rules_count() {
155 $rules = json_decode( $this->rules_json, true );
156
157 return count( $rules );
158 }
159
160 }
161