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.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 / FreeShipping / FreeShippingNoticeData.php
flexible-shipping / src / WPDesk / FS / TableRate / FreeShipping Last commit date
Tracker 4 days ago Assets.php 4 days ago FreeShippingNotice.php 4 days ago FreeShippingNoticeData.php 4 days ago FreeShippingNoticeGenerator.php 4 days ago FreeShippingNoticeRenderer.php 4 days ago LffsNoticeTextFormatValidator.php 4 days ago NoticeTextSettings.php 4 days ago ProgressBarSettings.php 4 days ago Tracker.php 4 days ago
FreeShippingNoticeData.php
217 lines
1 <?php
2
3 namespace WPDesk\FS\TableRate\FreeShipping;
4
5 /**
6 * Can provide free shipping data.
7 */
8 class FreeShippingNoticeData implements \JsonSerializable {
9
10 const SHOW_PROGRESS_BAR = 'show_progress_bar';
11 const PERCENTAGE = 'percentage';
12 const THRESHOLD = 'threshold';
13 const THRESHOLD_DISPLAY_VALUE = 'threshold_display_value';
14 const ZERO_DISPLAY_VALUE = 'zero_display_value';
15 const MISSING_AMOUNT = 'missing_amount';
16 const NOTICE_TEXT = 'notice_text';
17 const BUTTON_URL = 'button_url';
18 const BUTTON_LABEL = 'button_label';
19 const META_DATA = 'meta_data';
20
21 /**
22 * @var bool
23 */
24 private $show_progress_bar;
25
26 /**
27 * @var float
28 */
29 private $percentage;
30
31 /**
32 * @var float
33 */
34 private $threshold;
35
36 /**
37 * @var string
38 */
39 private $threshold_display_value;
40
41 /**
42 * @var string
43 */
44 private $zero_display_value;
45
46 /**
47 * @var float
48 */
49 private $missing_amount;
50
51 /**
52 * @var string
53 */
54 private $notice_text;
55
56 /**
57 * @var string
58 */
59 private $button_url;
60
61 /**
62 * @var string
63 */
64 private $button_label;
65
66 /**
67 * @var array
68 */
69 private $meta_data;
70
71 /**
72 * @param bool $show_progress_bar
73 * @param float $percentage
74 * @param float $threshold
75 * @param string $threshold_display_value
76 * @param string $zero_display_value
77 * @param float $missing_amount
78 * @param string $notice_text
79 * @param string $button_url
80 * @param string $button_label
81 * @param array $meta_data
82 */
83 public function __construct(
84 bool $show_progress_bar = false,
85 float $percentage = 0.0,
86 float $threshold = 0.0,
87 string $threshold_display_value = '',
88 string $zero_display_value = '',
89 float $missing_amount = 0.0,
90 string $notice_text = '',
91 string $button_url = '',
92 string $button_label = '',
93 array $meta_data = []
94 ) {
95 $this->show_progress_bar = $show_progress_bar;
96 $this->percentage = $percentage;
97 $this->threshold = $threshold;
98 $this->threshold_display_value = $threshold_display_value;
99 $this->zero_display_value = $zero_display_value;
100 $this->missing_amount = $missing_amount;
101 $this->notice_text = $notice_text;
102 $this->button_url = $button_url;
103 $this->button_label = $button_label;
104 $this->meta_data = $meta_data;
105 }
106
107 /**
108 * @return bool
109 */
110 public function is_show_progress_bar(): bool {
111 return $this->show_progress_bar;
112 }
113
114 /**
115 * @return float
116 */
117 public function get_percentage(): float {
118 return $this->percentage;
119 }
120
121 /**
122 * @return float
123 */
124 public function get_threshold(): float {
125 return $this->threshold;
126 }
127
128 /**
129 * @return float
130 */
131 public function get_missing_amount(): float {
132 return $this->missing_amount;
133 }
134
135 /**
136 * @return string
137 */
138 public function get_notice_text(): string {
139 return $this->notice_text;
140 }
141
142 /**
143 * @return string
144 */
145 public function get_threshold_display_value(): string {
146 return $this->threshold_display_value;
147 }
148
149 /**
150 * @return string
151 */
152 public function get_zero_display_value(): string {
153 return $this->zero_display_value;
154 }
155
156 /**
157 * @return string
158 */
159 public function get_button_url(): string {
160 return $this->button_url;
161 }
162
163 /**
164 * @return string
165 */
166 public function get_button_label(): string {
167 return $this->button_label;
168 }
169
170 /**
171 * @return array
172 */
173 public function get_meta_data(): array {
174 return $this->meta_data;
175 }
176
177
178 #[\ReturnTypeWillChange]
179 public function jsonSerialize(): array {
180 return [
181 self::SHOW_PROGRESS_BAR => $this->is_show_progress_bar(),
182 self::PERCENTAGE => $this->get_percentage(),
183 self::THRESHOLD => $this->get_threshold(),
184 self::THRESHOLD_DISPLAY_VALUE => $this->get_threshold_display_value(),
185 self::ZERO_DISPLAY_VALUE => $this->get_zero_display_value(),
186 self::MISSING_AMOUNT => $this->get_missing_amount(),
187 self::NOTICE_TEXT => $this->get_notice_text(),
188 self::BUTTON_URL => $this->get_button_url(),
189 self::BUTTON_LABEL => $this->get_button_label(),
190 self::META_DATA => $this->get_meta_data(),
191 ];
192 }
193
194 /**
195 * Static factory. Creates notice data from array.
196 *
197 * @param array $data
198 *
199 * @return self
200 */
201 public static function create_from_array( array $data ): self {
202 return new self(
203 $data[ self::SHOW_PROGRESS_BAR ] ?? false,
204 $data[ self::PERCENTAGE ] ?? 0.0,
205 $data[ self::THRESHOLD ] ?? 0.0,
206 $data[ self::THRESHOLD_DISPLAY_VALUE ] ?? '',
207 $data[ self::ZERO_DISPLAY_VALUE ] ?? '',
208 $data[ self::MISSING_AMOUNT ] ?? '0.0',
209 $data[ self::NOTICE_TEXT ] ?? '',
210 $data[ self::BUTTON_URL ] ?? '',
211 $data[ self::BUTTON_LABEL ] ?? '',
212 is_array( $data[ self::META_DATA ] ?? null ) ? $data[ self::META_DATA ] : []
213 );
214 }
215
216 }
217