PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 2.5.6
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v2.5.6
4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / widgets / premium-countdown.php
premium-addons-for-elementor / widgets Last commit date
premium-banner.php 7 years ago premium-blog.php 7 years ago premium-button.php 7 years ago premium-carousel.php 7 years ago premium-contactform.php 7 years ago premium-countdown.php 7 years ago premium-counter.php 7 years ago premium-dual-header.php 7 years ago premium-fancytext.php 7 years ago premium-grid.php 7 years ago premium-image-button.php 7 years ago premium-imageseparator.php 7 years ago premium-maps.php 7 years ago premium-modalbox.php 7 years ago premium-person.php 7 years ago premium-pricing-table.php 7 years ago premium-progressbar.php 7 years ago premium-testimonials.php 7 years ago premium-title.php 7 years ago premium-videobox.php 7 years ago
premium-countdown.php
539 lines
1 <?php
2 namespace Elementor;
3 if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
4
5 class Premium_Counter_Down_Widget extends Widget_Base {
6 public function get_name() {
7 return 'premium-countdown-timer';
8 }
9
10 public function get_title() {
11 return \PremiumAddons\Helper_Functions::get_prefix() . ' Countdown';
12 }
13
14 public function get_icon() {
15 return 'pa-countdown';
16 }
17
18 public function is_reload_preview_required() {
19 return true;
20 }
21
22 public function get_script_depends() {
23 return [ 'premium-addons-js','count-down-timer-js' ];
24 }
25
26 public function get_categories() {
27 return [ 'premium-elements' ];
28 }
29
30 // Adding the controls fields for the premium countdown
31 // This will controls the animation, colors and background, dimensions etc
32 protected function _register_controls() {
33 $this->start_controls_section(
34 'premium_countdown_global_settings',
35 [
36 'label' => esc_html__( 'Countdown', 'premium-addons-for-elementor' )
37 ]
38 );
39
40 $this->add_control(
41 'premium_countdown_style',
42 [
43 'label' => esc_html__( 'Style', 'premium-addons-for-elementor' ),
44 'type' => Controls_Manager::SELECT,
45 'options' => [
46 'd-u-s' => esc_html__( 'Inline', 'premium-addons-for-elementor' ),
47 'd-u-u' => esc_html__( 'Block', 'premium-addons-for-elementor' ),
48 ],
49 'default' => 'd-u-u'
50 ]
51 );
52
53 $this->add_control(
54 'premium_countdown_date_time',
55 [
56 'label' => esc_html__( 'Due Date', 'premium-addons-for-elementor' ),
57 'type' => Controls_Manager::DATE_TIME,
58 'picker_options' => [
59 'format' => 'Ym/d H:m:s'
60 ],
61 'default' => date( "Y/m/d H:m:s", strtotime("+ 1 Day") ),
62 'description' => esc_html__( 'Date format is (yyyy/mm/dd). Time format is (hh:mm:ss). Example: 2020-01-01 09:30.', 'premium-addons-for-elementor' )
63 ]
64 );
65
66 $this->add_control(
67 'premium_countdown_s_u_time',
68 [
69 'label' => esc_html__( 'Time Zone', 'premium-addons-for-elementor' ),
70 'type' => Controls_Manager::SELECT,
71 'options' => [
72 'wp-time' => esc_html__('WordPress Default', 'premium-addons-for-elementor' ),
73 'user-time' => esc_html__('User Local Time', 'premium-addons-for-elementor' )
74 ],
75 'default' => 'wp-time',
76 'description' => esc_html__('This will set the current time of the option that you will choose.', 'premium-addons-for-elementor')
77 ]
78 );
79
80 $this->add_control(
81 'premium_countdown_units',
82 [
83 'label' => esc_html__( 'Time Units', 'premium-addons-for-elementor' ),
84 'type' => Controls_Manager::SELECT2,
85 'description' => esc_html__('Select the time units that you want to display in countdown timer.', 'premium-addons-for-elementor' ),
86 'options' => [
87 'Y' => esc_html__( 'Years', 'premium-addons-for-elementor' ),
88 'O' => esc_html__( 'Month', 'premium-addons-for-elementor' ),
89 'W' => esc_html__( 'Week', 'premium-addons-for-elementor' ),
90 'D' => esc_html__( 'Day', 'premium-addons-for-elementor' ),
91 'H' => esc_html__( 'Hours', 'premium-addons-for-elementor' ),
92 'M' => esc_html__( 'Minutes', 'premium-addons-for-elementor' ),
93 'S' => esc_html__( 'Second', 'premium-addons-for-elementor' ),
94 ],
95 'default' => [
96 'O',
97 'D',
98 'H',
99 'M',
100 'S'
101 ],
102 'multiple' => true,
103 'separator' => 'after'
104 ]
105 );
106
107 $this->add_responsive_control(
108 'premium_countdown_align',
109 [
110 'label' => esc_html__( 'Alignment', 'premium-addons-for-elementor' ),
111 'type' => Controls_Manager::CHOOSE,
112 'options' => [
113 'left' => [
114 'title'=> esc_html__( 'Left', 'premium-addons-for-elementor' ),
115 'icon' => 'fa fa-align-left',
116 ],
117 'center' => [
118 'title'=> esc_html__( 'Center', 'premium-addons-for-elementor' ),
119 'icon' => 'fa fa-align-center',
120 ],
121 'right' => [
122 'title'=> esc_html__( 'Right', 'premium-addons-for-elementor' ),
123 'icon' => 'fa fa-align-right',
124 ],
125 ],
126 'toggle' => false,
127 'default' => 'center',
128 'selectors' => [
129 '{{WRAPPER}} .premium-countdown' => 'justify-content: {{VALUE}};',
130 ],
131 ]
132 );
133
134 $this->end_controls_section();
135
136 $this->start_controls_section(
137 'premium_countdown_on_expire_settings',
138 [
139 'label' => esc_html__( 'Expire' , 'premium-addons-for-elementor' )
140 ]
141 );
142
143 $this->add_control(
144 'premium_countdown_expire_text_url',
145 [
146 'label' => esc_html__('Expire Type', 'premium-addons-for-elementor'),
147 'label_block' => false,
148 'type' => Controls_Manager::SELECT,
149 'description' => esc_html__('Choose whether if you want to set a message or a redirect link', 'premium-addons-for-elementor'),
150 'options' => [
151 'text' => esc_html__('Message', 'premium-addons-for-elementor'),
152 'url' => esc_html__('Redirection Link', 'premium-addons-for-elementor')
153 ],
154 'default' => 'text'
155 ]
156 );
157
158 $this->add_control(
159 'premium_countdown_expiry_text_',
160 [
161 'label' => esc_html__('On expiry Text', 'premium-addons-for-elementor'),
162 'type' => Controls_Manager::WYSIWYG,
163 'default' => esc_html__('Countdown is finished!','prmeium_elementor'),
164 'condition' => [
165 'premium_countdown_expire_text_url' => 'text'
166 ]
167 ]
168 );
169
170 $this->add_control(
171 'premium_countdown_expiry_redirection_',
172 [
173 'label' => esc_html__('Redirect To', 'premium-addons-for-elementor'),
174 'type' => Controls_Manager::TEXT,
175 'condition' => [
176 'premium_countdown_expire_text_url' => 'url'
177 ],
178 'default' => get_permalink( 1 )
179 ]
180 );
181
182 $this->end_controls_section();
183
184 $this->start_controls_section(
185 'premium_countdown_transaltion',
186 [
187 'label' => esc_html__( 'Strings Translation' , 'premium-addons-for-elementor' )
188 ]
189 );
190
191 $this->add_control(
192 'premium_countdown_day_singular',
193 [
194 'label' => esc_html__( 'Day (Singular)', 'premium-addons-for-elementor' ),
195 'type' => Controls_Manager::TEXT,
196 'default' => 'Day'
197 ]
198 );
199
200 $this->add_control(
201 'premium_countdown_day_plural',
202 [
203 'label' => esc_html__( 'Day (Plural)', 'premium-addons-for-elementor' ),
204 'type' => Controls_Manager::TEXT,
205 'default' => 'Days'
206 ]
207 );
208
209 $this->add_control(
210 'premium_countdown_week_singular',
211 [
212 'label' => esc_html__( 'Week (Singular)', 'premium-addons-for-elementor' ),
213 'type' => Controls_Manager::TEXT,
214 'default' => 'Week'
215 ]
216 );
217
218 $this->add_control(
219 'premium_countdown_week_plural',
220 [
221 'label' => esc_html__( 'Weeks (Plural)', 'premium-addons-for-elementor' ),
222 'type' => Controls_Manager::TEXT,
223 'default' => 'Weeks'
224 ]
225 );
226
227
228 $this->add_control(
229 'premium_countdown_month_singular',
230 [
231 'label' => esc_html__( 'Month (Singular)', 'premium-addons-for-elementor' ),
232 'type' => Controls_Manager::TEXT,
233 'default' => 'Month'
234 ]
235 );
236
237
238 $this->add_control(
239 'premium_countdown_month_plural',
240 [
241 'label' => esc_html__( 'Months (Plural)', 'premium-addons-for-elementor' ),
242 'type' => Controls_Manager::TEXT,
243 'default' => 'Months'
244 ]
245 );
246
247
248 $this->add_control(
249 'premium_countdown_year_singular',
250 [
251 'label' => esc_html__( 'Year (Singular)', 'premium-addons-for-elementor' ),
252 'type' => Controls_Manager::TEXT,
253 'default' => 'Year'
254 ]
255 );
256
257
258 $this->add_control(
259 'premium_countdown_year_plural',
260 [
261 'label' => esc_html__( 'Years (Plural)', 'premium-addons-for-elementor' ),
262 'type' => Controls_Manager::TEXT,
263 'default' => 'Years'
264 ]
265 );
266
267
268 $this->add_control(
269 'premium_countdown_hour_singular',
270 [
271 'label' => esc_html__( 'Hour (Singular)', 'premium-addons-for-elementor' ),
272 'type' => Controls_Manager::TEXT,
273 'default' => 'Hour'
274 ]
275 );
276
277
278 $this->add_control(
279 'premium_countdown_hour_plural',
280 [
281 'label' => esc_html__( 'Hours (Plural)', 'premium-addons-for-elementor' ),
282 'type' => Controls_Manager::TEXT,
283 'default' => 'Hours'
284 ]
285 );
286
287
288 $this->add_control(
289 'premium_countdown_minute_singular',
290 [
291 'label' => esc_html__( 'Minute (Singular)', 'premium-addons-for-elementor' ),
292 'type' => Controls_Manager::TEXT,
293 'default' => 'Minute'
294 ]
295 );
296
297 $this->add_control(
298 'premium_countdown_minute_plural',
299 [
300 'label' => esc_html__( 'Minutes (Plural)', 'premium-addons-for-elementor' ),
301 'type' => Controls_Manager::TEXT,
302 'default' => 'Minutes'
303 ]
304 );
305
306 $this->add_control(
307 'premium_countdown_second_singular',
308 [
309 'label' => esc_html__( 'Second (Singular)', 'premium-addons-for-elementor' ),
310 'type' => Controls_Manager::TEXT,
311 'default' => 'Second',
312 ]
313 );
314
315 $this->add_control(
316 'premium_countdown_second_plural',
317 [
318 'label' => esc_html__( 'Seconds (Plural)', 'premium-addons-for-elementor' ),
319 'type' => Controls_Manager::TEXT,
320 'default' => 'Seconds'
321 ]
322 );
323
324 $this->end_controls_section();
325
326 $this->start_controls_section(
327 'premium_countdown_typhography',
328 [
329 'label' => esc_html__( 'Digits' , 'premium-addons-for-elementor' ),
330 'tab' => Controls_Manager::TAB_STYLE
331 ]
332 );
333
334 $this->add_control(
335 'premium_countdown_digit_color',
336 [
337 'label' => esc_html__( 'Color', 'premium-addons-for-elementor' ),
338 'type' => Controls_Manager::COLOR,
339 'scheme' => [
340 'type' => Scheme_Color::get_type(),
341 'value' => Scheme_Color::COLOR_2,
342 ],
343 'selectors' => [
344 '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount' => 'color: {{VALUE}};'
345 ]
346 ]
347 );
348
349 $this->add_group_control(
350 Group_Control_Typography::get_type(),
351 [
352 'name' => 'premium_countdown_digit_typo',
353 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
354 'selector' => '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount',
355 'separator' => 'after'
356 ]
357 );
358
359
360 $this->add_control(
361 'premium_countdown_timer_digit_bg_color',
362 [
363 'label' => esc_html__( 'Background Color', 'premium-addons-for-elementor' ),
364 'type' => Controls_Manager::COLOR,
365 'scheme' => [
366 'type' => Scheme_Color::get_type(),
367 'value' => Scheme_Color::COLOR_1,
368 ],
369 'selectors' => [
370 '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount' => 'background-color: {{VALUE}};'
371 ]
372 ]
373 );
374
375 $this->add_responsive_control(
376 'premium_countdown_digit_bg_size',
377 [
378 'label' => esc_html__( 'Background Size', 'premium-addons-for-elementor' ),
379 'type' => Controls_Manager::SLIDER,
380 'default' => [
381 'size' => 30
382 ],
383 'range' => [
384 'px' => [
385 'min' => 1,
386 'max' => 400,
387 ]
388 ],
389 'selectors' => [
390 '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount' => 'padding: {{SIZE}}px;'
391 ]
392 ]
393 );
394
395 $this->add_group_control(
396 Group_Control_Border::get_type(),
397 [
398 'name' => 'premium_countdown_digits_border',
399 'selector' => '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount',
400 ]);
401
402 $this->add_control('premium_countdown_digit_border_radius',
403 [
404 'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
405 'type' => Controls_Manager::SLIDER,
406 'size_units' => ['px', '%', 'em'],
407 'selectors' => [
408 '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-amount' => 'border-radius: {{SIZE}}{{UNIT}};'
409 ]
410 ]
411 );
412
413 $this->end_controls_section();
414
415 $this->start_controls_section('premium_countdown_unit_style',
416 [
417 'label' => esc_html__('Units', 'premium-addons-for-elementor'),
418 'tab' => Controls_Manager::TAB_STYLE,
419 ]
420 );
421
422 $this->add_control(
423 'premium_countdown_unit_color',
424 [
425 'label' => esc_html__( 'Color', 'premium-addons-for-elementor' ),
426 'type' => Controls_Manager::COLOR,
427 'scheme' => [
428 'type' => Scheme_Color::get_type(),
429 'value' => Scheme_Color::COLOR_2,
430 ],
431 'selectors' => [
432 '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-period' => 'color: {{VALUE}};'
433 ]
434 ]
435 );
436
437 $this->add_group_control(
438 Group_Control_Typography::get_type(),
439 [
440 'name' => 'premium_countdown_unit_typo',
441 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
442 'selector' => '{{WRAPPER}} .countdown .pre_countdown-section .pre_countdown-period',
443 'separator' => 'after'
444 ]
445 );
446
447 $this->add_responsive_control(
448 'premium_countdown_separator_width',
449 [
450 'label' => esc_html__( 'Spacing in Between', 'premium-addons-for-elementor' ),
451 'type' => Controls_Manager::SLIDER,
452 'default' => [
453 'size' => 40,
454 ],
455 'range' => [
456 'px' => [
457 'min' => 0,
458 'max' => 200,
459 ]
460 ],
461 'selectors' => [
462 '{{WRAPPER}} .countdown .pre_countdown-section' => 'margin-right: {{SIZE}}{{UNIT}};'
463 ]
464 ]
465 );
466
467 $this->end_controls_section();
468 }
469
470 protected function render( ) {
471
472 $settings = $this->get_settings();
473
474 $target_date = str_replace('-', '/', $settings['premium_countdown_date_time'] );
475
476 $formats = $settings['premium_countdown_units'];
477 $format = implode('', $formats );
478 $time = str_replace('-', '/', current_time('mysql') );
479 $serverSync = '';
480 if( $settings['premium_countdown_s_u_time'] == 'wp-time' ) :
481 $sent_time = $time;
482 else:
483 $sent_time = '';
484 endif;
485
486 $redirect = !empty( $settings['premium_countdown_expiry_redirection_'] ) ? esc_url($settings['premium_countdown_expiry_redirection_']) : '';
487
488 // Singular labels set up
489 $y = !empty( $settings['premium_countdown_year_singular'] ) ? $settings['premium_countdown_year_singular'] : 'Year';
490 $m = !empty( $settings['premium_countdown_month_singular'] ) ? $settings['premium_countdown_month_singular'] : 'Month';
491 $w = !empty( $settings['premium_countdown_week_singular'] ) ? $settings['premium_countdown_week_singular'] : 'Week';
492 $d = !empty( $settings['premium_countdown_day_singular'] ) ? $settings['premium_countdown_day_singular'] : 'Day';
493 $h = !empty( $settings['premium_countdown_hour_singular'] ) ? $settings['premium_countdown_hour_singular'] : 'Hour';
494 $mi = !empty( $settings['premium_countdown_minute_singular'] ) ? $settings['premium_countdown_minute_singular'] : 'Minute';
495 $s = !empty( $settings['premium_countdown_second_singular'] ) ? $settings['premium_countdown_second_singular'] : 'Second';
496 $label = $y."," . $m ."," . $w ."," . $d ."," . $h ."," . $mi ."," . $s;
497
498 // Plural labels set up
499 $ys = !empty( $settings['premium_countdown_year_plural'] ) ? $settings['premium_countdown_year_plural'] : 'Years';
500 $ms = !empty( $settings['premium_countdown_month_plural'] ) ? $settings['premium_countdown_month_plural'] : 'Months';
501 $ws = !empty( $settings['premium_countdown_week_plural'] ) ? $settings['premium_countdown_week_plural'] : 'Weeks';
502 $ds = !empty( $settings['premium_countdown_day_plural'] ) ? $settings['premium_countdown_day_plural'] : 'Days';
503 $hs = !empty( $settings['premium_countdown_hour_plural'] ) ? $settings['premium_countdown_hour_plural'] : 'Hours';
504 $mis = !empty( $settings['premium_countdown_minute_plural'] ) ? $settings['premium_countdown_minute_plural'] : 'Minutes';
505 $ss = !empty( $settings['premium_countdown_second_plural'] ) ? $settings['premium_countdown_second_plural'] : 'Seconds';
506 $labels1 = $ys."," . $ms ."," . $ws ."," . $ds ."," . $hs ."," . $mis ."," . $ss;
507
508 $expire_text = $settings['premium_countdown_expiry_text_'];
509
510 $pcdt_style = $settings['premium_countdown_style'] == 'd-u-s' ? ' side' : ' down';
511
512 if( $settings['premium_countdown_expire_text_url'] == 'text' ){
513 $event = 'onExpiry';
514 $text = $expire_text;
515 }
516
517 if( $settings['premium_countdown_expire_text_url'] == 'url' ){
518 $event = 'expiryUrl';
519 $text = $redirect;
520 }
521 $countdown_settings = [
522 'label1' => $label,
523 'label2' => $labels1,
524 'until' => $target_date,
525 'format' => $format,
526 'event' => $event,
527 'text' => $text,
528 'serverSync'=> $sent_time,
529 ];
530
531 ?>
532 <div id="countDownContiner-<?php echo esc_attr($this->get_id()); ?>" class="premium-countdown" data-settings='<?php echo wp_json_encode($countdown_settings); ?>'>
533 <div id="countdown-<?php echo esc_attr( $this->get_id() ); ?>" class="premium-countdown-init countdown<?php echo $pcdt_style; ?>"></div>
534 </div>
535 <?php
536 }
537 }
538
539 Plugin::instance()->widgets_manager->register_widget_type( new Premium_Counter_Down_Widget() );