Countdown, Coming Soon – Countdown & Clock - Version 1.6.1

Version Description

  • Shortcode Date attribute [ycd_countdown id=63 date="2019-11-25 22:25"]
  • JS custom trigger YcdExpired
Download this release

Release Info

Developer adamskaat
Plugin Icon 128x128 Countdown, Coming Soon – Countdown & Clock
Version 1.6.1
Comparing to
See all releases

Code changes from version 1.6.0 to 1.6.1

assets/js/Countdown.js CHANGED
@@ -85,7 +85,9 @@ YcdCountdown.jsCookies = {
85
 
86
  YcdCountdown.prototype.showingLimitation = function() {
87
  var options = this.options;
88
-
 
 
89
  if(options['ycd-countdown-showing-limitation']) {
90
  var id = this.allOptions['id'];
91
  var expireTime = options['ycd-countdown-expiration-time'];
@@ -792,11 +794,14 @@ YcdCountdown.prototype.endBehavior = function(countdown, options) {
792
  song.play();
793
  }
794
 
 
795
  var behavior = options['ycd-countdown-expire-behavior'];
796
  var expireText = options['ycd-expire-text'];
797
  var expireUrl = options['ycd-expire-url'];
798
  var countdownWrapper = countdown.parents('.ycd-countdown-wrapper').first();
799
 
 
 
800
  switch(behavior) {
801
  case 'hideCountdown':
802
  jQuery(window).trigger('ycdHideCountdown', options);
85
 
86
  YcdCountdown.prototype.showingLimitation = function() {
87
  var options = this.options;
88
+ if(!options) {
89
+ return false;
90
+ }
91
  if(options['ycd-countdown-showing-limitation']) {
92
  var id = this.allOptions['id'];
93
  var expireTime = options['ycd-countdown-expiration-time'];
794
  song.play();
795
  }
796
 
797
+ var id = options.id;
798
  var behavior = options['ycd-countdown-expire-behavior'];
799
  var expireText = options['ycd-expire-text'];
800
  var expireUrl = options['ycd-expire-url'];
801
  var countdownWrapper = countdown.parents('.ycd-countdown-wrapper').first();
802
 
803
+ jQuery(window).trigger('YcdExpired', {'id': id});
804
+
805
  switch(behavior) {
806
  case 'hideCountdown':
807
  jQuery(window).trigger('ycdHideCountdown', options);
assets/js/ycdTimer.js CHANGED
@@ -125,6 +125,8 @@ YcdTimer.prototype.endBehavior = function() {
125
  var expireUrl = options['ycd-expire-url'];
126
  var countdownWrapper = jQuery('.ycd-timer-wrapper-'+id);
127
 
 
 
128
  switch(behavior) {
129
  case 'hideCountdown':
130
  countdownWrapper.hide();
125
  var expireUrl = options['ycd-expire-url'];
126
  var countdownWrapper = jQuery('.ycd-timer-wrapper-'+id);
127
 
128
+ jQuery(window).trigger('YcdExpired', {'id': id});
129
+
130
  switch(behavior) {
131
  case 'hideCountdown':
132
  countdownWrapper.hide();
assets/views/countdownButton.php CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  <div class="ycd-bootstrap-wrapper">
2
  <div class="row form-group">
3
  <div class="col-md-5">
@@ -10,6 +15,17 @@
10
  </label>
11
  </div>
12
  </div>
 
 
 
 
 
 
 
 
 
 
 
13
  <div class="row form-group">
14
  <div class="col-md-5">
15
  <label for="ycd-button-name"><?php _e('Button name', YCD_TEXT_DOMAIN)?></label>
@@ -92,7 +108,7 @@
92
  <label for="ycd-button-border-width"><?php _e('Font family', YCD_TEXT_DOMAIN)?></label>
93
  </div>
94
  <div class="col-md-7">
95
- <?php echo ycd\AdminHelper::selectBox(array('Open Sans' => 'Open Sans'), esc_attr($typeObj->getOptionValue('ycd-button-font-family')), array('name' => 'ycd-button-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
96
  </div>
97
  </div>
98
  <div class="row form-group">
@@ -127,7 +143,43 @@
127
  </div>
128
  <div class="row form-group">
129
  <div class="col-md-5">
130
- <label for="ycd-button-hover-colors" class="ycd-label-of-switch"><?php _e('Hover colors', YCD_TEXT_DOMAIN); ?></label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  </div>
132
  <div class="col-md-7">
133
  <label class="ycd-switch">
@@ -163,7 +215,7 @@
163
  <label for="ycd-button-action-url-tab" class=""><?php _e('Horizontal Align', YCD_TEXT_DOMAIN); ?></label>
164
  </div>
165
  <div class="col-md-7">
166
- <?php echo \ycd\AdminHelper::selectBox(array('center' => 'Center'),$typeObj->getOptionValue('ycd-button-horizontal'), array('class' => 'js-ycd-select', 'name' => 'ycd-button-horizontal')); ?>
167
  </div>
168
  </div>
169
  <div class="row form-group">
@@ -185,23 +237,101 @@
185
  <div class="col-md-6">
186
  </div>
187
  </div>
188
- <div class="row form-group">
189
- <div class="col-md-5">
190
- <label for="ycd-button-action-url"><?php _e('URL', YCD_TEXT_DOMAIN)?></label>
 
 
 
 
 
 
 
 
 
 
 
191
  </div>
192
- <div class="col-md-7">
193
- <input id="ycd-button-action-url" class="form-control" type="url" name="ycd-button-action-url" value="<?php echo esc_url($typeObj->getOptionValue('ycd-button-action-url'))?>">
 
 
 
 
 
 
 
 
194
  </div>
195
  </div>
196
- <div class="row form-group">
197
- <div class="col-md-5">
198
- <label for="ycd-button-action-url-tab" class="ycd-label-of-switch"><?php _e('Redirect to new tab', YCD_TEXT_DOMAIN); ?></label>
 
 
 
 
 
199
  </div>
200
- <div class="col-md-7">
201
- <label class="ycd-switch">
202
- <input type="checkbox" id="ycd-button-action-url-tab" name="ycd-button-action-url-tab" class="ycd-accordion-checkbox" <?php echo $typeObj->getOptionValue('ycd-button-action-url-tab'); ?>>
203
- <span class="ycd-slider ycd-round"></span>
204
- </label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  </div>
206
  </div>
207
  <a href="<?php echo YCD_COUNTDOWN_BUTTON_URL; ?>">
1
+ <?php
2
+ use ycd\AdminHelper;
3
+ use ycd\MultipleChoiceButton;
4
+ $defaults = AdminHelper::defaultData();
5
+ ?>
6
  <div class="ycd-bootstrap-wrapper">
7
  <div class="row form-group">
8
  <div class="col-md-5">
15
  </label>
16
  </div>
17
  </div>
18
+ <div class="row form-group">
19
+ <div class="col-md-5">
20
+ <label for="ycd-countdown-show-after-expire" class="ycd-label-of-switch"><?php _e('Show after Expiration', YCD_TEXT_DOMAIN)?></label>
21
+ </div>
22
+ <div class="col-md-7">
23
+ <label class="ycd-switch">
24
+ <input type="checkbox" id="ycd-countdown-show-after-expire" data-id="0" name="ycd-countdown-show-after-expire" class="" <?php echo $typeObj->getOptionValue('ycd-countdown-show-after-expire'); ?>>
25
+ <span class="ycd-slider ycd-round"></span>
26
+ </label>
27
+ </div>
28
+ </div>
29
  <div class="row form-group">
30
  <div class="col-md-5">
31
  <label for="ycd-button-name"><?php _e('Button name', YCD_TEXT_DOMAIN)?></label>
108
  <label for="ycd-button-border-width"><?php _e('Font family', YCD_TEXT_DOMAIN)?></label>
109
  </div>
110
  <div class="col-md-7">
111
+ <?php echo AdminHelper::selectBox($countdownDefaultData['font-family'], esc_attr($typeObj->getOptionValue('ycd-button-font-family')), array('name' => 'ycd-button-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
112
  </div>
113
  </div>
114
  <div class="row form-group">
143
  </div>
144
  <div class="row form-group">
145
  <div class="col-md-5">
146
+ <label for="ycd-button-hover-animation" class="ycd-label-of-switch"><?php _e('Hover Animation', YCD_TEXT_DOMAIN); ?></label>
147
+ </div>
148
+ <div class="col-md-7">
149
+ <label class="ycd-switch">
150
+ <input type="checkbox" id="ycd-button-hover-animation" name="ycd-button-hover-animation" class="ycd-accordion-checkbox" <?php echo $typeObj->getOptionValue('ycd-button-hover-animation'); ?>>
151
+ <span class="ycd-slider ycd-round"></span>
152
+ </label>
153
+ </div>
154
+ </div>
155
+ <div class="ycd-accordion-content button-hover-animation-content ycd-hide-content">
156
+ <div class="row form-group">
157
+ <div class="col-md-5">
158
+ <label for="" class="ycd-label-of-input"><?php _e('Select Animation', YCD_TEXT_DOMAIN); ?></label>
159
+ </div>
160
+ <div class="col-md-4">
161
+ <?php echo AdminHelper::selectBox($defaults['hover-animation'], esc_attr($typeObj->getOptionValue('ycd-button-hover-animation-name')), array('name' => 'ycd-button-hover-animation-name', 'class' => 'js-ycd-select ycd-button-hover-animation-name')); ?>
162
+ </div>
163
+ <div class="col-md-1">
164
+ <span class="ycd-btn-hover-preview-icon"></span>
165
+ </div>
166
+ </div>
167
+ <div class="row form-group">
168
+ <div class="col-md-5">
169
+ <label for="ycd-button-hover-animation-speed" class="ycd-label-of-input"><?php _e('Speed', YCD_TEXT_DOMAIN); ?></label>
170
+ </div>
171
+ <div class="col-md-4">
172
+ <input type="number" name="ycd-button-hover-animation-speed" class="form-control ycd-button-hover-animation-speed" id="ycd-button-hover-animation-speed" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-hover-animation-speed'))?>">
173
+ </div>
174
+ <div class="col-md-1">
175
+ <span><?php _e('Second(a)', YCD_TEXT_DOMAIN);?></span>
176
+ </div>
177
+ </div>
178
+ <div class="hover-animation-preview ycd-hide-content"></div>
179
+ </div>
180
+ <div class="row form-group">
181
+ <div class="col-md-5">
182
+ <label for="ycd-button-hover-colors" class="ycd-label-of-switch"><?php _e('Hover color', YCD_TEXT_DOMAIN); ?></label>
183
  </div>
184
  <div class="col-md-7">
185
  <label class="ycd-switch">
215
  <label for="ycd-button-action-url-tab" class=""><?php _e('Horizontal Align', YCD_TEXT_DOMAIN); ?></label>
216
  </div>
217
  <div class="col-md-7">
218
+ <?php echo AdminHelper::selectBox($horizontalALign,$typeObj->getOptionValue('ycd-button-horizontal'), array('class' => 'js-ycd-select', 'name' => 'ycd-button-horizontal')); ?>
219
  </div>
220
  </div>
221
  <div class="row form-group">
237
  <div class="col-md-6">
238
  </div>
239
  </div>
240
+ <div class="ycd-multichoice-wrapper">
241
+ <?php
242
+ $multipleChoiceButton = new MultipleChoiceButton($defaults['countdown-behavior'], esc_attr('redirect'));
243
+ echo $multipleChoiceButton;
244
+ ?>
245
+ </div>
246
+ <div id="ycd-countdown-button-redirect" class="ycd-sub-option ycd-hide">
247
+ <div class="row form-group">
248
+ <div class="col-md-6">
249
+ <label for="ycd-button-action-url"><?php _e('URL', YCD_TEXT_DOMAIN)?></label>
250
+ </div>
251
+ <div class="col-md-6">
252
+ <input id="ycd-button-action-url" class="form-control" type="url" name="ycd-button-action-url" value="<?php echo esc_url($typeObj->getOptionValue('ycd-button-action-url'))?>">
253
+ </div>
254
  </div>
255
+ <div class="row form-group">
256
+ <div class="col-md-6">
257
+ <label for="ycd-button-action-url-tab" class="ycd-label-of-switch"><?php _e('Redirect to new tab', YCD_TEXT_DOMAIN); ?></label>
258
+ </div>
259
+ <div class="col-md-6">
260
+ <label class="ycd-switch">
261
+ <input type="checkbox" id="ycd-button-action-url-tab" name="ycd-button-action-url-tab" class="ycd-accordion-checkbox" <?php echo $typeObj->getOptionValue('ycd-button-action-url-tab'); ?>>
262
+ <span class="ycd-slider ycd-round"></span>
263
+ </label>
264
+ </div>
265
  </div>
266
  </div>
267
+ <div id="ycd-countdown-button-scroll" class="ycd-sub-option ycd-hide">
268
+ <div class="row form-group">
269
+ <div class="col-md-6">
270
+ <label for="ycd-scroll-to-selector" class="ycd-label-of-input"><?php _e('CSS Selector', YCD_TEXT_DOMAIN); ?></label>
271
+ </div>
272
+ <div class="col-md-5">
273
+ <input type="text" class="form-control" id="ycd-scroll-to-selector" placeholder="Ex: #myDivID, .myDivClass" name="ycd-scroll-to-selector" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-scroll-to-selector')); ?>">
274
+ </div>
275
  </div>
276
+ <div class="row form-group">
277
+ <div class="col-md-6">
278
+ <label for="ycd-animation-speed" class="ycd-label-of-input"><?php _e('Animation speed', YCD_TEXT_DOMAIN); ?></label>
279
+ </div>
280
+ <div class="col-md-5">
281
+ <input type="number" class="form-control" id="ycd-animation-speed" name="ycd-animation-speed" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-animation-speed')); ?>">
282
+ </div>
283
+ </div>
284
+ </div>
285
+ <div id="ycd-countdown-button-download" class="ycd-sub-option ycd-hide">
286
+ <div class="row form-group">
287
+ <div class="col-md-6">
288
+ <label for="ycd-download-url" class="ycd-label-of-input"><?php _e('URL', YCD_TEXT_DOMAIN); ?></label>
289
+ </div>
290
+ <div class="col-md-2">
291
+ <input id="js-ycd-target-link" class="btn btn-primary" type="button" value="Select File">
292
+ </div>
293
+ <div class="col-md-4">
294
+ <input type="url" class="form-control" id="ycd-download-url" name="ycd-download-url" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-download-url')); ?>">
295
+ </div>
296
+ </div>
297
+ <div class="row form-group">
298
+ <div class="col-md-6">
299
+ <label for="ycd-download-name" class="ycd-label-of-input"><?php _e('File name', YCD_TEXT_DOMAIN); ?></label>
300
+ </div>
301
+ <div class="col-md-6">
302
+ <input type="text" class="form-control" id="ycd-download-name" name="ycd-download-name" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-download-name')); ?>">
303
+ </div>
304
+ </div>
305
+ </div>
306
+ <div id="ycd-countdown-button-copy" class="ycd-sub-option ycd-hide">
307
+ <div class="row form-group">
308
+ <div class="col-md-6">
309
+ <label for="ycd-button-copy-text" class="ycd-label-of-input"><?php _e('Text', YCD_TEXT_DOMAIN); ?></label>
310
+ </div>
311
+ <div class="col-md-6">
312
+ <input type="text" class="form-control" id="ycd-button-copy-text" name="ycd-button-copy-text" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-copy-text')); ?>">
313
+ </div>
314
+ </div>
315
+ <div class="row form-group">
316
+ <div class="col-md-5">
317
+ <label for="ycd-button-copy-alert" class="ycd-label-of-switch"><?php _e('Show alert', YCD_TEXT_DOMAIN); ?></label>
318
+ </div>
319
+ <div class="col-md-7">
320
+ <label class="ycd-switch">
321
+ <input type="checkbox" id="ycd-button-copy-alert" name="ycd-button-copy-alert" class="ycd-accordion-checkbox" <?php echo $typeObj->getOptionValue('ycd-button-copy-alert'); ?>>
322
+ <span class="ycd-slider ycd-round"></span>
323
+ </label>
324
+ </div>
325
+ </div>
326
+ <div class="ycd-accordion-content ycd-hide-content">
327
+ <div class="row form-group">
328
+ <div class="col-md-6">
329
+ <label for="ycd-button-alert-text" class="ycd-label-of-input"><?php _e('Text', YCD_TEXT_DOMAIN); ?></label>
330
+ </div>
331
+ <div class="col-md-6">
332
+ <input type="text" class="form-control" id="ycd-button-alert-text" name="ycd-button-alert-text" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-alert-text')); ?>">
333
+ </div>
334
+ </div>
335
  </div>
336
  </div>
337
  <a href="<?php echo YCD_COUNTDOWN_BUTTON_URL; ?>">
classes/Actions.php CHANGED
@@ -184,6 +184,8 @@ class Actions {
184
  }
185
  }
186
  ob_start();
 
 
187
  echo $typeObj->renderView();
188
 
189
  if(!empty($content)) {
184
  }
185
  }
186
  ob_start();
187
+ $typeObj->chanegSavedDataFromArgs();
188
+
189
  echo $typeObj->renderView();
190
 
191
  if(!empty($content)) {
classes/countdown/CircleCountdown.php CHANGED
@@ -11,6 +11,7 @@ class CircleCountdown extends Countdown {
11
  public $expireSeconds;
12
  public $datesNumber;
13
  public function __construct() {
 
14
  add_action('add_meta_boxes', array($this, 'mainOptions'));
15
  add_action('ycdGeneralMetaboxes', array($this, 'metaboxes'), 10, 1);
16
  add_filter('ycdCountdownDefaultOptions', array($this, 'defaultOptions'), 1, 1);
@@ -197,7 +198,6 @@ class CircleCountdown extends Countdown {
197
  }
198
  #ycd-circle-<?php echo $id; ?> .textDiv_Years h4,
199
  #ycd-circle-<?php echo $id; ?> .textDiv_Years span {
200
-
201
  color: <?php echo $yearsColor; ?>
202
  }
203
  #ycd-circle-<?php echo $id; ?> .textDiv_Months h4,
@@ -208,7 +208,6 @@ class CircleCountdown extends Countdown {
208
  #ycd-circle-<?php echo $id; ?> .textDiv_Days span {
209
  color: <?php echo $daysTextColor; ?>
210
  }
211
-
212
  #ycd-circle-<?php echo $id; ?> .textDiv_Hours h4,
213
  #ycd-circle-<?php echo $id; ?> .textDiv_Hours span {
214
  color: <?php echo $hoursTextColor; ?>
@@ -218,7 +217,6 @@ class CircleCountdown extends Countdown {
218
  #ycd-circle-<?php echo $id; ?> .textDiv_Minutes span {
219
  color: <?php echo $minutesTextColor; ?>
220
  }
221
-
222
  #ycd-circle-<?php echo $id; ?> .textDiv_Seconds h4,
223
  #ycd-circle-<?php echo $id; ?> .textDiv_Seconds span {
224
  color: <?php echo $secondsTextColor; ?>
11
  public $expireSeconds;
12
  public $datesNumber;
13
  public function __construct() {
14
+ parent::__construct();
15
  add_action('add_meta_boxes', array($this, 'mainOptions'));
16
  add_action('ycdGeneralMetaboxes', array($this, 'metaboxes'), 10, 1);
17
  add_filter('ycdCountdownDefaultOptions', array($this, 'defaultOptions'), 1, 1);
198
  }
199
  #ycd-circle-<?php echo $id; ?> .textDiv_Years h4,
200
  #ycd-circle-<?php echo $id; ?> .textDiv_Years span {
 
201
  color: <?php echo $yearsColor; ?>
202
  }
203
  #ycd-circle-<?php echo $id; ?> .textDiv_Months h4,
208
  #ycd-circle-<?php echo $id; ?> .textDiv_Days span {
209
  color: <?php echo $daysTextColor; ?>
210
  }
 
211
  #ycd-circle-<?php echo $id; ?> .textDiv_Hours h4,
212
  #ycd-circle-<?php echo $id; ?> .textDiv_Hours span {
213
  color: <?php echo $hoursTextColor; ?>
217
  #ycd-circle-<?php echo $id; ?> .textDiv_Minutes span {
218
  color: <?php echo $minutesTextColor; ?>
219
  }
 
220
  #ycd-circle-<?php echo $id; ?> .textDiv_Seconds h4,
221
  #ycd-circle-<?php echo $id; ?> .textDiv_Seconds span {
222
  color: <?php echo $secondsTextColor; ?>
classes/countdown/Clock1Countdown.php CHANGED
@@ -4,6 +4,7 @@ namespace ycd;
4
  class Clock1Countdown extends Countdown {
5
 
6
  public function __construct() {
 
7
  $this->setIsCountdown(false);
8
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
9
  add_action('add_meta_boxes', array($this, 'mainOptions'));
4
  class Clock1Countdown extends Countdown {
5
 
6
  public function __construct() {
7
+ parent::__construct();
8
  $this->setIsCountdown(false);
9
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
10
  add_action('add_meta_boxes', array($this, 'mainOptions'));
classes/countdown/Clock2Countdown.php CHANGED
@@ -4,6 +4,7 @@ namespace ycd;
4
  class Clock2Countdown extends Countdown {
5
 
6
  public function __construct() {
 
7
  $this->setIsCountdown(false);
8
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
9
  add_action('add_meta_boxes', array($this, 'mainOptions'));
4
  class Clock2Countdown extends Countdown {
5
 
6
  public function __construct() {
7
+ parent::__construct();
8
  $this->setIsCountdown(false);
9
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
10
  add_action('add_meta_boxes', array($this, 'mainOptions'));
classes/countdown/Clock3Countdown.php CHANGED
@@ -4,6 +4,7 @@ namespace ycd;
4
  class Clock3Countdown extends Countdown {
5
 
6
  public function __construct() {
 
7
  $this->setIsCountdown(false);
8
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
9
  add_action('add_meta_boxes', array($this, 'mainOptions'));
4
  class Clock3Countdown extends Countdown {
5
 
6
  public function __construct() {
7
+ parent::__construct();
8
  $this->setIsCountdown(false);
9
  add_filter('ycdGeneralMetaboxes', array($this, 'metaboxes'));
10
  add_action('add_meta_boxes', array($this, 'mainOptions'));
classes/countdown/Countdown.php CHANGED
@@ -14,7 +14,12 @@ abstract class Countdown {
14
  private $shortCodeArgs;
15
  private $shortCodeContent;
16
  private $isCountdown = true;
17
-
 
 
 
 
 
18
  //expire seconds
19
  public $expireSeconds = 0;
20
 
@@ -25,7 +30,12 @@ abstract class Countdown {
25
  }
26
 
27
  public function getId() {
28
- return (int)$this->id;
 
 
 
 
 
29
  }
30
 
31
  public function setIsCountdown($isCountdown) {
@@ -303,9 +313,7 @@ abstract class Countdown {
303
  * @return string
304
  */
305
  public function getOptionValue($optionName, $forceDefaultValue = false) {
306
- $savedData = CountdownModel::getDataById($this->getId());
307
- $this->setSavedData($savedData);
308
-
309
  return $this->getOptionValueFromSavedData($optionName, $forceDefaultValue);
310
  }
311
 
@@ -795,11 +803,11 @@ abstract class Countdown {
795
 
796
  public static function allowToLoad($contdownPost, $countdownObj) {
797
  $isAllow = Checker::isAllow($contdownPost, $countdownObj);
798
-
799
  return $isAllow;
800
  }
801
 
802
- protected function getCircleSeconds() {
803
  $seconds = 0;
804
  $filteredObj = $this;
805
  $dateType = $this->getOptionValue('ycd-countdown-date-type');
@@ -863,4 +871,17 @@ abstract class Countdown {
863
  $content .= '</div>';
864
  return $content;
865
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
866
  }
14
  private $shortCodeArgs;
15
  private $shortCodeContent;
16
  private $isCountdown = true;
17
+
18
+ public function __construct() {
19
+ $savedData = CountdownModel::getDataById($this->getId());
20
+ $this->setSavedData($savedData);
21
+ }
22
+
23
  //expire seconds
24
  public $expireSeconds = 0;
25
 
30
  }
31
 
32
  public function getId() {
33
+ $id = (int)$this->id;
34
+
35
+ if (empty($id) && !empty($_GET['post'])) {
36
+ $id = (int)$_GET['post'];
37
+ }
38
+ return $id;
39
  }
40
 
41
  public function setIsCountdown($isCountdown) {
313
  * @return string
314
  */
315
  public function getOptionValue($optionName, $forceDefaultValue = false) {
316
+
 
 
317
  return $this->getOptionValueFromSavedData($optionName, $forceDefaultValue);
318
  }
319
 
803
 
804
  public static function allowToLoad($contdownPost, $countdownObj) {
805
  $isAllow = Checker::isAllow($contdownPost, $countdownObj);
806
+
807
  return $isAllow;
808
  }
809
 
810
+ public function getCircleSeconds() {
811
  $seconds = 0;
812
  $filteredObj = $this;
813
  $dateType = $this->getOptionValue('ycd-countdown-date-type');
871
  $content .= '</div>';
872
  return $content;
873
  }
874
+
875
+ public function addToContent() {
876
+
877
+ }
878
+
879
+ public function chanegSavedDataFromArgs() {
880
+ $args = $this->getShortCodeArgs();
881
+ $savedData = $this->getSavedData();
882
+ if (!empty($args['date'])) {
883
+ $savedData['ycd-date-time-picker'] = $args['date'];
884
+ }
885
+ $this->setSavedData($savedData);
886
+ }
887
  }
classes/countdown/TimerCountdown.php CHANGED
@@ -4,6 +4,7 @@ namespace ycd;
4
 
5
  class TimerCountdown extends Countdown {
6
  public function __construct() {
 
7
  if(is_admin()) {
8
  $this->adminConstruct();
9
  }
4
 
5
  class TimerCountdown extends Countdown {
6
  public function __construct() {
7
+ parent::__construct();
8
  if(is_admin()) {
9
  $this->adminConstruct();
10
  }
config/config.php CHANGED
@@ -61,8 +61,8 @@ class YcdCountdownConfig {
61
  self::addDefine('YCD_CRON_REPEAT_INTERVAL', 1);
62
  self::addDefine('YCD_AJAX_SUCCESS', 1);
63
  self::addDefine('YCD_TABLE_LIMIT', 15);
64
- self::addDefine('YCD_VERSION_PRO', 1.45);
65
- self::addDefine('YCD_VERSION', 1.6);
66
  self::addDefine('YCD_FREE_VERSION', 1);
67
  self::addDefine('YCD_SILVER_VERSION', 2);
68
  self::addDefine('YCD_GOLD_VERSION', 3);
61
  self::addDefine('YCD_CRON_REPEAT_INTERVAL', 1);
62
  self::addDefine('YCD_AJAX_SUCCESS', 1);
63
  self::addDefine('YCD_TABLE_LIMIT', 15);
64
+ self::addDefine('YCD_VERSION_PRO', 1.47);
65
+ self::addDefine('YCD_VERSION', 1.61);
66
  self::addDefine('YCD_FREE_VERSION', 1);
67
  self::addDefine('YCD_SILVER_VERSION', 2);
68
  self::addDefine('YCD_GOLD_VERSION', 3);
countdown-builder.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Countdown builder
4
  * Description: The best countdown plugin
5
- * Version: 1.6.0
6
  * Author: Adam Skaat
7
  * Author URI: https://edmonsoft.com/countdown
8
  * License: GPLv2
2
  /**
3
  * Plugin Name: Countdown builder
4
  * Description: The best countdown plugin
5
+ * Version: 1.6.1
6
  * Author: Adam Skaat
7
  * Author URI: https://edmonsoft.com/countdown
8
  * License: GPLv2
helpers/AdminHelper.php CHANGED
@@ -204,6 +204,72 @@ class AdminHelper {
204
  );
205
 
206
  $data['woo-products'] = self::getAllProducts();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
 
208
  $data['woo-show-products'] = array(
209
  'template' => array(
204
  );
205
 
206
  $data['woo-products'] = self::getAllProducts();
207
+
208
+ $data['countdown-behavior'] =array(
209
+ 'template' => array(
210
+ 'fieldWrapperAttr' => array(
211
+ 'class' => 'col-md-6 ycd-choice-option-wrapper'
212
+ ),
213
+ 'labelAttr' => array(
214
+ 'class' => 'col-md-6 ycd-choice-option-wrapper'
215
+ ),
216
+ 'groupWrapperAttr' => array(
217
+ 'class' => 'row form-group ycd-choice-wrapper'
218
+ )
219
+ ),
220
+ 'buttonPosition' => 'right',
221
+ 'nextNewLine' => true,
222
+ 'fields' => array(
223
+ array(
224
+ 'attr' => array(
225
+ 'type' => 'radio',
226
+ 'name' => 'ycd-countdown-button-behavior',
227
+ 'class' => 'ycd-countdown-hide-behavior ycd-form-radio',
228
+ 'data-attr-href' => 'ycd-countdown-button-redirect',
229
+ 'value' => 'redirect'
230
+ ),
231
+ 'label' => array(
232
+ 'name' => __('Radirect', YCD_TEXT_DOMAIN)
233
+ )
234
+ ),
235
+ array(
236
+ 'attr' => array(
237
+ 'type' => 'radio',
238
+ 'name' => 'ycd-countdown-button-behavior',
239
+ 'class' => 'ycd-countdown-hide-behavior ycd-form-radio',
240
+ 'data-attr-href' => 'ycd-countdown-button-scroll',
241
+ 'value' => 'scroll'
242
+ ),
243
+ 'label' => array(
244
+ 'name' => __('Scroll', YCD_TEXT_DOMAIN)
245
+ )
246
+ ),
247
+ array(
248
+ 'attr' => array(
249
+ 'type' => 'radio',
250
+ 'name' => 'ycd-countdown-button-behavior',
251
+ 'class' => 'ycd-countdown-hide-behavior ycd-form-radio',
252
+ 'data-attr-href' => 'ycd-countdown-button-download',
253
+ 'value' => 'download'
254
+ ),
255
+ 'label' => array(
256
+ 'name' => __('Download File', YCD_TEXT_DOMAIN)
257
+ )
258
+ ),
259
+ array(
260
+ 'attr' => array(
261
+ 'type' => 'radio',
262
+ 'name' => 'ycd-countdown-button-behavior',
263
+ 'class' => 'ycd-countdown-hide-behavior ycd-form-radio',
264
+ 'data-attr-href' => 'ycd-countdown-button-copy',
265
+ 'value' => 'copy'
266
+ ),
267
+ 'label' => array(
268
+ 'name' => __('Copy to clipboard', YCD_TEXT_DOMAIN)
269
+ )
270
+ ),
271
+ )
272
+ );
273
 
274
  $data['woo-show-products'] = array(
275
  'template' => array(
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: adamskaat
3
  Tags: countdown, timer, countdown timer
4
  Requires at least: 3.8
5
  Tested up to: 5.3
6
- Stable tag: 1.6.0
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -63,6 +63,10 @@ Yes you can, we have Circle and Flipclock countdown popups.
63
  You need to select the .zip file, there is no need to extract the zip file, just upload it.
64
 
65
  == Changelog ==
 
 
 
 
66
  = 1.6.0 =
67
  * Due date bug fixed
68
  * New Video tutorials section
3
  Tags: countdown, timer, countdown timer
4
  Requires at least: 3.8
5
  Tested up to: 5.3
6
+ Stable tag: 1.6.1
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
63
  You need to select the .zip file, there is no need to extract the zip file, just upload it.
64
 
65
  == Changelog ==
66
+ = 1.6.1 =
67
+ * Shortcode Date attribute [ycd_countdown id=63 date="2019-11-25 22:25"]
68
+ * JS custom trigger YcdExpired
69
+
70
  = 1.6.0 =
71
  * Due date bug fixed
72
  * New Video tutorials section