Countdown, Coming Soon – Countdown & Clock - Version 2.3.9.5

Version Description

Download this release

Release Info

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

Code changes from version 2.3.9.4 to 2.3.9.5

Files changed (55) hide show
  1. assets/js/Js.php +1 -1
  2. assets/views/admin/comingSoon/comingSoon.php +1 -1
  3. assets/views/admin/comingSoon/comingSoonDesign.php +4 -4
  4. assets/views/admin/comingSoon/comingSoonOptions.php +3 -3
  5. assets/views/admin/comingSoon/comingSoonSettings.php +3 -3
  6. assets/views/admin/comingSoon/comingSoonSupport.php +1 -1
  7. assets/views/admin/demo.php +1 -1
  8. assets/views/admin/shortcodeMetabox.php +3 -3
  9. assets/views/advancedOptions.php +5 -5
  10. assets/views/afterExpire.php +1 -1
  11. assets/views/countdownButton.php +9 -9
  12. assets/views/cricleMainView.php +12 -12
  13. assets/views/displaySettings.php +2 -2
  14. assets/views/front/comingSoonTempleate.php +8 -8
  15. assets/views/generalOptions.php +14 -14
  16. assets/views/main/clock1View.php +1 -1
  17. assets/views/main/clock2View.php +1 -1
  18. assets/views/main/clock3View.php +1 -1
  19. assets/views/main/clockTimerSettings.php +2 -2
  20. assets/views/main/generalStartDateOption.php +1 -1
  21. assets/views/main/simpleMainView.php +2 -2
  22. assets/views/main/stickyMainView.php +6 -6
  23. assets/views/main/timerMainView.php +4 -4
  24. assets/views/progressBar.php +1 -1
  25. assets/views/settings.php +7 -7
  26. assets/views/subscriptionSection.php +1 -1
  27. assets/views/support.php +7 -7
  28. assets/views/supportMetabox.php +1 -1
  29. assets/views/types.php +7 -7
  30. classes/Actions.php +17 -17
  31. classes/Ajax.php +12 -14
  32. classes/ConditionBuilder.php +4 -4
  33. classes/DisplayRuleChecker.php +2 -2
  34. classes/Filters.php +5 -5
  35. classes/Installer.php +1 -1
  36. classes/RegisterPostType.php +2 -2
  37. classes/Tickbox.php +4 -4
  38. classes/YcdWidget.php +2 -2
  39. classes/countdown/CircleCountdown.php +7 -7
  40. classes/countdown/ComingSoon.php +2 -7
  41. classes/countdown/Countdown.php +9 -9
  42. classes/countdown/CountdownModel.php +1 -1
  43. classes/countdown/SimpleCountdown.php +3 -3
  44. classes/countdown/StickyCountdown.php +6 -9
  45. classes/countdown/TimerCountdown.php +21 -21
  46. config/boot.php +1 -1
  47. config/config.php +1 -1
  48. countdown-builder.php +1 -1
  49. helpers/AdminHelper.php +9 -47
  50. helpers/HelperFunctions.php +3 -3
  51. helpers/MultipleChoiceButton.php +4 -4
  52. helpers/ScriptsIncluder.php +2 -2
  53. helpers/ShowReviewNotice.php +2 -2
  54. helpers/TypesNavBar.php +3 -3
  55. readme.txt +1 -1
assets/js/Js.php CHANGED
@@ -51,7 +51,7 @@ class Js {
51
  public function enqueueStyles($hook) {
52
  $blockSettings = $this->gutenbergParams();
53
  ScriptsIncluder::registerScript('WpCountdownBlockMin.js', array('dirUrl' => YCD_COUNTDOWN_ADMIN_JS_URL));
54
- ScriptsIncluder::localizeScript('WpCountdownBlockMin.js', 'YCD_GUTENBERG_PARAMS', $blockSettings);
55
  ScriptsIncluder::enqueueScript('WpCountdownBlockMin.js');
56
 
57
  ScriptsIncluder::registerScript('Admin.js');
51
  public function enqueueStyles($hook) {
52
  $blockSettings = $this->gutenbergParams();
53
  ScriptsIncluder::registerScript('WpCountdownBlockMin.js', array('dirUrl' => YCD_COUNTDOWN_ADMIN_JS_URL));
54
+ ScriptsIncluder::localizeScript('WpCountdownBlockMin.js', 'YCD_GUTENBERG_PARAMS', esc_attr($blockSettings));
55
  ScriptsIncluder::enqueueScript('WpCountdownBlockMin.js');
56
 
57
  ScriptsIncluder::registerScript('Admin.js');
assets/views/admin/comingSoon/comingSoon.php CHANGED
@@ -8,7 +8,7 @@ $defaultData = AdminHelper::defaultData();
8
  </div>
9
  <?php endif; ?>
10
  <div class="ycd-bootstrap-wrapper ycd-settings-wrapper">
11
- <form method="POST" action="<?php echo admin_url().'admin-post.php?action=ycdComingSoon'?>">
12
  <div class="row">
13
  <div class="col-lg-8">
14
  <div class="row form-group">
8
  </div>
9
  <?php endif; ?>
10
  <div class="ycd-bootstrap-wrapper ycd-settings-wrapper">
11
+ <form method="POST" action="<?php echo esc_attr(admin_url()).'admin-post.php?action=ycdComingSoon'?>">
12
  <div class="row">
13
  <div class="col-lg-8">
14
  <div class="row form-group">
assets/views/admin/comingSoon/comingSoonDesign.php CHANGED
@@ -41,7 +41,7 @@ $proSpan = '';
41
  <label for="ycd-coming-headline-color"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
42
  </div>
43
  <div class="col-md-6">
44
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($this->getOptionValue('ycd-coming-soon-page-font-family')), array('name' => 'ycd-coming-soon-page-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
45
  </div>
46
  </div>
47
  <div class="row form-group">
@@ -61,7 +61,7 @@ $proSpan = '';
61
  <label for="" class="ycd-label-of-select"><?php _e('Background Size', YCD_TEXT_DOMAIN); ?></label>
62
  </div>
63
  <div class="col-md-6 ycd-circles-width-wrapper">
64
- <?php echo AdminHelper::selectBox($defaultData['bg-image-size'], esc_attr($this->getOPtionValue('ycd-coming-soon-image-size')), array('name' => 'ycd-coming-soon-image-size', 'class' => 'js-ycd-select js-ycd-bg-size')); ?>
65
  </div>
66
  </div>
67
  <div class="row form-group">
@@ -69,7 +69,7 @@ $proSpan = '';
69
  <label for="" class="ycd-label-of-select"><?php _e('Background Repeat', YCD_TEXT_DOMAIN); ?></label>
70
  </div>
71
  <div class="col-md-6 ycd-circles-width-wrapper">
72
- <?php echo AdminHelper::selectBox($defaultData['bg-image-repeat'], esc_attr($this->getOPtionValue('ycd-coming-soon-bg-image-repeat')), array('name' => 'ycd-coming-soon-bg-image-repeat', 'class' => 'js-ycd-select js-bg-image-repeat')); ?>
73
  </div>
74
  </div>
75
  <div class="row form-group">
@@ -103,7 +103,7 @@ $proSpan = '';
103
  </div>
104
  </div>
105
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
106
- <a href="<?= YCD_COUNTDOWN_PRO_URL; ?>" target="_blank">
107
  <div class="ycd-pro ycd-pro-options-div">
108
  <p class="ycd-pro-options-title">PRO Features</p>
109
  </div>
41
  <label for="ycd-coming-headline-color"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
42
  </div>
43
  <div class="col-md-6">
44
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($this->getOptionValue('ycd-coming-soon-page-font-family')), array('name' => 'ycd-coming-soon-page-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
45
  </div>
46
  </div>
47
  <div class="row form-group">
61
  <label for="" class="ycd-label-of-select"><?php _e('Background Size', YCD_TEXT_DOMAIN); ?></label>
62
  </div>
63
  <div class="col-md-6 ycd-circles-width-wrapper">
64
+ <?php AdminHelper::selectBox($defaultData['bg-image-size'], esc_attr($this->getOPtionValue('ycd-coming-soon-image-size')), array('name' => 'ycd-coming-soon-image-size', 'class' => 'js-ycd-select js-ycd-bg-size')); ?>
65
  </div>
66
  </div>
67
  <div class="row form-group">
69
  <label for="" class="ycd-label-of-select"><?php _e('Background Repeat', YCD_TEXT_DOMAIN); ?></label>
70
  </div>
71
  <div class="col-md-6 ycd-circles-width-wrapper">
72
+ <?php AdminHelper::selectBox($defaultData['bg-image-repeat'], esc_attr($this->getOPtionValue('ycd-coming-soon-bg-image-repeat')), array('name' => 'ycd-coming-soon-bg-image-repeat', 'class' => 'js-ycd-select js-bg-image-repeat')); ?>
73
  </div>
74
  </div>
75
  <div class="row form-group">
103
  </div>
104
  </div>
105
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
106
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_PRO_URL); ?>" target="_blank">
107
  <div class="ycd-pro ycd-pro-options-div">
108
  <p class="ycd-pro-options-title">PRO Features</p>
109
  </div>
assets/views/admin/comingSoon/comingSoonOptions.php CHANGED
@@ -32,7 +32,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
32
  </div>
33
  <div class="col-md-6">
34
  <div class="ycd-select-wrapper">
35
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-coming-soon-start-timezone')), array('name' => 'ycd-coming-soon-start-timezone', 'class' => 'js-ycd-select')); ?>
36
  </div>
37
  </div>
38
  </div>
@@ -65,7 +65,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
65
  </div>
66
  <div class="col-md-6">
67
  <div class="ycd-select-wrapper">
68
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-coming-soon-expiration-timezone')), array('name' => 'ycd-coming-soon-expiration-timezone', 'class' => 'js-ycd-select')); ?>
69
  </div>
70
  </div>
71
  </div>
@@ -97,7 +97,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
97
  <label for="ycd-coming-soon-user-roles"><?php _e('Select user role(s)', YCD_TEXT_DOMAIN)?></label>
98
  </div>
99
  <div class="col-md-6">
100
- <?php echo HelperFunction::createSelectBox($defaultData['userRoles'], $userSavedRoles, array('name' => 'ycd-coming-soon-user-roles[]', 'class' => 'js-ycd-select ycd-countdowns', 'multiple' => 'multiple', 'id' => 'ycd-coming-soon-user-roles')); ?>
101
  </div>
102
  </div>
103
  <!-- end User role options -->
32
  </div>
33
  <div class="col-md-6">
34
  <div class="ycd-select-wrapper">
35
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-coming-soon-start-timezone')), array('name' => 'ycd-coming-soon-start-timezone', 'class' => 'js-ycd-select')); ?>
36
  </div>
37
  </div>
38
  </div>
65
  </div>
66
  <div class="col-md-6">
67
  <div class="ycd-select-wrapper">
68
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-coming-soon-expiration-timezone')), array('name' => 'ycd-coming-soon-expiration-timezone', 'class' => 'js-ycd-select')); ?>
69
  </div>
70
  </div>
71
  </div>
97
  <label for="ycd-coming-soon-user-roles"><?php _e('Select user role(s)', YCD_TEXT_DOMAIN)?></label>
98
  </div>
99
  <div class="col-md-6">
100
+ <?php HelperFunction::createSelectBox($defaultData['userRoles'], $userSavedRoles, array('name' => 'ycd-coming-soon-user-roles[]', 'class' => 'js-ycd-select ycd-countdowns', 'multiple' => 'multiple', 'id' => 'ycd-coming-soon-user-roles')); ?>
101
  </div>
102
  </div>
103
  <!-- end User role options -->
assets/views/admin/comingSoon/comingSoonSettings.php CHANGED
@@ -83,10 +83,10 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
83
  <div class="col-md-6 ycd-circles-width-wrapper">
84
  <?php
85
  if (count(array_keys($countdownsIdAndTitle)) <= 1) {
86
- echo '<a href="'.$createCountdown.'">Create Countdown</a>';
87
  }
88
  else {
89
- echo AdminHelper::selectBox($countdownsIdAndTitle, esc_attr($this->getOptionValue('ycd-coming-soon-countdown')), array('name' => 'ycd-coming-soon-countdown', 'class' => 'js-ycd-select'));
90
  }
91
  ?>
92
  </div>
@@ -96,7 +96,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
96
  <label for="" class="ycd-label-of-select"><?php _e('Position', YCD_TEXT_DOMAIN); ?></label>
97
  </div>
98
  <div class="col-md-6 ycd-circles-width-wrapper">
99
- <?php echo AdminHelper::selectBox($defaultData['coming-soon-countdown-position'], esc_attr($this->getOPtionValue('ycd-coming-soon-countdown-position')), array('name' => 'ycd-coming-soon-countdown-position', 'class' => 'js-ycd-select')); ?>
100
  </div>
101
  </div>
102
  </div>
83
  <div class="col-md-6 ycd-circles-width-wrapper">
84
  <?php
85
  if (count(array_keys($countdownsIdAndTitle)) <= 1) {
86
+ echo '<a href="'.esc_attr($createCountdown).'">Create Countdown</a>';
87
  }
88
  else {
89
+ AdminHelper::selectBox($countdownsIdAndTitle, esc_attr($this->getOptionValue('ycd-coming-soon-countdown')), array('name' => 'ycd-coming-soon-countdown', 'class' => 'js-ycd-select'));
90
  }
91
  ?>
92
  </div>
96
  <label for="" class="ycd-label-of-select"><?php _e('Position', YCD_TEXT_DOMAIN); ?></label>
97
  </div>
98
  <div class="col-md-6 ycd-circles-width-wrapper">
99
+ <?php AdminHelper::selectBox($defaultData['coming-soon-countdown-position'], esc_attr($this->getOPtionValue('ycd-coming-soon-countdown-position')), array('name' => 'ycd-coming-soon-countdown-position', 'class' => 'js-ycd-select')); ?>
100
  </div>
101
  </div>
102
  </div>
assets/views/admin/comingSoon/comingSoonSupport.php CHANGED
@@ -5,7 +5,7 @@
5
  <p style="text-align: center">
6
  We love our plugin and do the best to improve all features for You. But sometimes issues happened, or you can't find required feature that you need. Don't worry, just pressing here
7
  <br>
8
- <a href="<?php echo YCD_COUNTDOWN_SUPPORT_URL; ?>" style="font-size: 18px; cursor: pointer;" target="_blank">
9
  <button type="button" id="ycd-report-problem-button" class="ycd-support-button-red" style="margin: 10px;">
10
  <i class="ai1wm-icon-notification"></i>
11
  <?php _e('Report issue', YCD_TEXT_DOMAIN)?>
5
  <p style="text-align: center">
6
  We love our plugin and do the best to improve all features for You. But sometimes issues happened, or you can't find required feature that you need. Don't worry, just pressing here
7
  <br>
8
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_SUPPORT_URL); ?>" style="font-size: 18px; cursor: pointer;" target="_blank">
9
  <button type="button" id="ycd-report-problem-button" class="ycd-support-button-red" style="margin: 10px;">
10
  <i class="ai1wm-icon-notification"></i>
11
  <?php _e('Report issue', YCD_TEXT_DOMAIN)?>
assets/views/admin/demo.php CHANGED
@@ -10,7 +10,7 @@
10
  <div class="row form-group">
11
  <div class="col-md-4">
12
  <span><?php _e('Website')?></span><br><br>
13
- <label><a href="<?php echo YCD_DEMO_URL; ?>" target="_blank">Visit</a></label>
14
  </div>
15
  <div class="col-md-4">
16
  <span><?php _e('Login')?></span><br><br>
10
  <div class="row form-group">
11
  <div class="col-md-4">
12
  <span><?php _e('Website')?></span><br><br>
13
+ <label><a href="<?php echo esc_attr(YCD_DEMO_URL); ?>" target="_blank">Visit</a></label>
14
  </div>
15
  <div class="col-md-4">
16
  <span><?php _e('Login')?></span><br><br>
assets/views/admin/shortcodeMetabox.php CHANGED
@@ -17,15 +17,15 @@
17
  <label>
18
  <?php _e('Current version', YCD_TEXT_DOMAIN); ?>
19
  </label>
20
- <p class="current-version-text" style="color: #3474ff;"><?php echo YCD_VERSION_TEXT; ?></p>
21
  <label>
22
  <?php _e('Last update date', YCD_TEXT_DOMAIN); ?>
23
  </label>
24
- <p style="color: #11ca79;"><?php echo YCD_LAST_UPDATE; ?></p>
25
  <label>
26
  <?php _e('Next update date', YCD_TEXT_DOMAIN); ?>
27
  </label>
28
- <p style="color: #efc150;"><?php echo YCD_NEXT_UPDATE; ?></p>
29
  </div>
30
  </div>
31
  </div>
17
  <label>
18
  <?php _e('Current version', YCD_TEXT_DOMAIN); ?>
19
  </label>
20
+ <p class="current-version-text" style="color: #3474ff;"><?php echo esc_attr(YCD_VERSION_TEXT); ?></p>
21
  <label>
22
  <?php _e('Last update date', YCD_TEXT_DOMAIN); ?>
23
  </label>
24
+ <p style="color: #11ca79;"><?php echo esc_attr(YCD_LAST_UPDATE); ?></p>
25
  <label>
26
  <?php _e('Next update date', YCD_TEXT_DOMAIN); ?>
27
  </label>
28
+ <p style="color: #efc150;"><?php echo esc_attr(YCD_NEXT_UPDATE); ?></p>
29
  </div>
30
  </div>
31
  </div>
assets/views/advancedOptions.php CHANGED
@@ -9,7 +9,7 @@ $defaultData = AdminHelper::defaultData();
9
  </div>
10
  <div class="col-md-6">
11
  <label class="ycd-switch">
12
- <input type="checkbox" id="ycd-countdown-hide-mobile" name="ycd-countdown-hide-mobile" class="" <?= $this->getOptionValue('ycd-countdown-hide-mobile') ?> >
13
  <span class="ycd-slider ycd-round"></span>
14
  </label>
15
  </div>
@@ -20,7 +20,7 @@ $defaultData = AdminHelper::defaultData();
20
  </div>
21
  <div class="col-md-6">
22
  <label class="ycd-switch">
23
- <input type="checkbox" id="ycd-countdown-show-mobile" name="ycd-countdown-show-mobile" class="" <?= $this->getOptionValue('ycd-countdown-show-mobile') ?> >
24
  <span class="ycd-slider ycd-round"></span>
25
  </label>
26
  </div>
@@ -43,16 +43,16 @@ $defaultData = AdminHelper::defaultData();
43
  <label for="" class="ycd-range-slider-wrapper"><?php _e('countries', YCD_TEXT_DOMAIN); ?></label>
44
  </div>
45
  <div class="col-md-4">
46
- <?= AdminHelper::selectBox($defaultData['countries-is'],$this->getOptionValue('ycd-countries-is'), array('class' => 'js-ycd-select', 'name' => 'ycd-countries-is')); ?>
47
  </div>
48
  <div class="col-md-5 ycd-circles-width-wrapper">
49
- <?= AdminHelper::selectBox($defaultData['countries-names'],$this->getOptionValue('ycd-counties-names'), array('class' => 'js-ycd-select', 'name' => 'ycd-counties-names[]', 'multiple' => 'multiple')); ?>
50
  </div>
51
  </div>
52
  </div>
53
  <?php endif; ?>
54
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
55
- <a href="<?= YCD_COUNTDOWN_PRO_URL; ?>" target="_blank">
56
  <div class="ycd-pro ycd-pro-options-div">
57
  <p class="ycd-pro-options-title">PRO Features</p>
58
  </div>
9
  </div>
10
  <div class="col-md-6">
11
  <label class="ycd-switch">
12
+ <input type="checkbox" id="ycd-countdown-hide-mobile" name="ycd-countdown-hide-mobile" class="" <?php echo esc_attr($this->getOptionValue('ycd-countdown-hide-mobile')) ?> >
13
  <span class="ycd-slider ycd-round"></span>
14
  </label>
15
  </div>
20
  </div>
21
  <div class="col-md-6">
22
  <label class="ycd-switch">
23
+ <input type="checkbox" id="ycd-countdown-show-mobile" name="ycd-countdown-show-mobile" class="" <?php echo esc_attr($this->getOptionValue('ycd-countdown-show-mobile')) ?> >
24
  <span class="ycd-slider ycd-round"></span>
25
  </label>
26
  </div>
43
  <label for="" class="ycd-range-slider-wrapper"><?php _e('countries', YCD_TEXT_DOMAIN); ?></label>
44
  </div>
45
  <div class="col-md-4">
46
+ <?php AdminHelper::selectBox($defaultData['countries-is'],$this->getOptionValue('ycd-countries-is'), array('class' => 'js-ycd-select', 'name' => 'ycd-countries-is')); ?>
47
  </div>
48
  <div class="col-md-5 ycd-circles-width-wrapper">
49
+ <?php AdminHelper::selectBox($defaultData['countries-names'],$this->getOptionValue('ycd-counties-names'), array('class' => 'js-ycd-select', 'name' => 'ycd-counties-names[]', 'multiple' => 'multiple')); ?>
50
  </div>
51
  </div>
52
  </div>
53
  <?php endif; ?>
54
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
55
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_PRO_URL); ?>" target="_blank">
56
  <div class="ycd-pro ycd-pro-options-div">
57
  <p class="ycd-pro-options-title">PRO Features</p>
58
  </div>
assets/views/afterExpire.php CHANGED
@@ -33,7 +33,7 @@ $defaultData = AdminHelper::defaultData();
33
  'textarea_rows' => '6',
34
  'media_buttons' => true
35
  );
36
- wp_editor($this->getOptionValue('ycd-expire-text'), $editorId, $settings);
37
  ?>
38
  </div>
39
  </div>
33
  'textarea_rows' => '6',
34
  'media_buttons' => true
35
  );
36
+ wp_editor(esc_html($this->getOptionValue('ycd-expire-text')), $editorId, $settings);
37
  ?>
38
  </div>
39
  </div>
assets/views/countdownButton.php CHANGED
@@ -108,7 +108,7 @@ $defaults = AdminHelper::defaultData();
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(array(), 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">
@@ -117,7 +117,7 @@ $defaults = AdminHelper::defaultData();
117
  </div>
118
  <div class="col-md-7">
119
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
120
- <input type="text" id="ycd-button-bg-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-bg-color" class=" form-control js-ycd-button-color" value="<?= esc_attr($typeObj->getOptionValue('ycd-button-bg-color')); ?>">
121
  </div>
122
  </div>
123
  </div>
@@ -127,7 +127,7 @@ $defaults = AdminHelper::defaultData();
127
  </div>
128
  <div class="col-md-7">
129
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
130
- <input type="text" id="ycd-button-color" data-type="color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-color" class=" form-control js-ycd-button-color" value="<?= esc_attr($typeObj->getOptionValue('ycd-button-color')); ?>">
131
  </div>
132
  </div>
133
  </div>
@@ -137,7 +137,7 @@ $defaults = AdminHelper::defaultData();
137
  </div>
138
  <div class="col-md-7">
139
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
140
- <input type="text" id="ycd-button-border-color" data-type="border-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-border-color" class=" form-control js-ycd-button-color" value="<?= esc_attr($typeObj->getOptionValue('ycd-button-border-color')); ?>">
141
  </div>
142
  </div>
143
  </div>
@@ -158,7 +158,7 @@ $defaults = AdminHelper::defaultData();
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>
@@ -195,7 +195,7 @@ $defaults = AdminHelper::defaultData();
195
  </div>
196
  <div class="col-md-7">
197
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
198
- <input type="text" id="ycd-button-hover-bg-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-hover-bg-color" class=" form-control js-ycd-button-color" value="<?= esc_attr($typeObj->getOptionValue('ycd-button-hover-bg-color')); ?>">
199
  </div>
200
  </div>
201
  </div>
@@ -205,7 +205,7 @@ $defaults = AdminHelper::defaultData();
205
  </div>
206
  <div class="col-md-7">
207
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
208
- <input type="text" id="ycd-button-hover-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-hover-color" class=" form-control js-ycd-button-color" value="<?= esc_attr($typeObj->getOptionValue('ycd-button-hover-color')); ?>">
209
  </div>
210
  </div>
211
  </div>
@@ -215,7 +215,7 @@ $defaults = AdminHelper::defaultData();
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(array(),$typeObj->getOptionValue('ycd-button-horizontal'), array('class' => 'js-ycd-select', 'name' => 'ycd-button-horizontal')); ?>
219
  </div>
220
  </div>
221
  <div class="row form-group">
@@ -333,7 +333,7 @@ $defaults = AdminHelper::defaultData();
333
  </div>
334
  </div>
335
  </div>
336
- <a href="<?php echo YCD_COUNTDOWN_BUTTON_URL; ?>">
337
  <div class="ycd-pro ycd-pro-options-div" style="text-align: right">
338
  <button class="ycd-upgrade-button-red ycd-extentsion-pro">
339
  <b class="h2">Unlock</b><br><span class="h5">Extension</span>
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 AdminHelper::selectBox(array(), 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">
117
  </div>
118
  <div class="col-md-7">
119
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
120
+ <input type="text" id="ycd-button-bg-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-bg-color" class=" form-control js-ycd-button-color" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-bg-color')); ?>">
121
  </div>
122
  </div>
123
  </div>
127
  </div>
128
  <div class="col-md-7">
129
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
130
+ <input type="text" id="ycd-button-color" data-type="color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-color" class=" form-control js-ycd-button-color" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-color')); ?>">
131
  </div>
132
  </div>
133
  </div>
137
  </div>
138
  <div class="col-md-7">
139
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
140
+ <input type="text" id="ycd-button-border-color" data-type="border-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-border-color" class=" form-control js-ycd-button-color" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-border-color')); ?>">
141
  </div>
142
  </div>
143
  </div>
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 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>
195
  </div>
196
  <div class="col-md-7">
197
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
198
+ <input type="text" id="ycd-button-hover-bg-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-hover-bg-color" class=" form-control js-ycd-button-color" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-hover-bg-color')); ?>">
199
  </div>
200
  </div>
201
  </div>
205
  </div>
206
  <div class="col-md-7">
207
  <div class="minicolors minicolors-theme-default minicolors-position-bottom minicolors-position-left">
208
+ <input type="text" id="ycd-button-hover-color" placeholder="<?php _e('Select color', YCD_TEXT_DOMAIN)?>" name="ycd-button-hover-color" class=" form-control js-ycd-button-color" value="<?php echo esc_attr($typeObj->getOptionValue('ycd-button-hover-color')); ?>">
209
  </div>
210
  </div>
211
  </div>
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 AdminHelper::selectBox(array(),$typeObj->getOptionValue('ycd-button-horizontal'), array('class' => 'js-ycd-select', 'name' => 'ycd-button-horizontal')); ?>
219
  </div>
220
  </div>
221
  <div class="row form-group">
333
  </div>
334
  </div>
335
  </div>
336
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_BUTTON_URL); ?>">
337
  <div class="ycd-pro ycd-pro-options-div" style="text-align: right">
338
  <button class="ycd-upgrade-button-red ycd-extentsion-pro">
339
  <b class="h2">Unlock</b><br><span class="h5">Extension</span>
assets/views/cricleMainView.php CHANGED
@@ -52,7 +52,7 @@ $textFontFamily = $typeObj->getOptionValue('ycd-text-font-family');
52
  $countdownPadding = (int)$typeObj->getOptionValue('ycd-countdown-padding');
53
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
54
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
55
- echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".YCD_CONFIG_PATH."license.php'</span>";
56
  die();
57
  }
58
  }
@@ -72,7 +72,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
72
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Size', YCD_TEXT_DOMAIN); ?></label>
73
  </div>
74
  <div class="col-md-7">
75
- <?php echo AdminHelper::selectBox($defaultData['font-size'], esc_attr($textFontSize), array('name' => 'ycd-text-font-size', 'class' => 'js-ycd-select js-countdown-font-size')); ?>
76
  </div>
77
  </div>
78
  <div class="row form-group">
@@ -80,7 +80,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
80
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Margin Top', YCD_TEXT_DOMAIN); ?></label>
81
  </div>
82
  <div class="col-md-7">
83
- <?php echo AdminHelper::selectBox($defaultData['circleTextMarginTop'], esc_attr($this->getOptionValue('ycd-text-margin-top')), array('name' => 'ycd-text-margin-top', 'class' => 'js-ycd-select js-countdown-text-margin-top js-countdown-text-style')); ?>
84
  </div>
85
  </div>
86
  <div class="row form-group">
@@ -88,7 +88,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
88
  <label for="ycd-countdown-font-weight" class="ycd-label-of-select"><?php _e('Font Weight', YCD_TEXT_DOMAIN); ?></label>
89
  </div>
90
  <div class="col-md-7">
91
- <?php echo AdminHelper::selectBox($defaultData['font-weight'], esc_attr($countdownFontWeight), array('name' => 'ycd-countdown-font-weight', 'class' => 'js-ycd-select js-countdown-font-weight')); ?>
92
  </div>
93
  </div>
94
  <div class="row form-group">
@@ -96,7 +96,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
96
  <label for="ycd-countdown-font-style" class="ycd-label-of-select"><?php _e('Font Style', YCD_TEXT_DOMAIN); ?></label>
97
  </div>
98
  <div class="col-md-7">
99
- <?php echo AdminHelper::selectBox($defaultData['font-style'], esc_attr($countdownFontStyle), array('name' => 'ycd-countdown-font-style', 'class' => 'js-ycd-select js-countdown-font-style')); ?>
100
  </div>
101
  </div>
102
  <div class="row form-group">
@@ -104,7 +104,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
104
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
105
  </div>
106
  <div class="col-md-7 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
107
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($textFontFamily), array('name' => 'ycd-text-font-family', 'class' => 'js-ycd-select js-countdown-font-family ycd-custom-value-accordion', 'data-custom' => 'customFont')); ?>
108
  </div>
109
  </div>
110
  <div class="ycd-accordion-content ycd-hide-content">
@@ -129,7 +129,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
129
  <label for="ycd-countdown-number-size" class="ycd-label-of-select"><?php _e('Font Size', YCD_TEXT_DOMAIN); ?></label>
130
  </div>
131
  <div class="col-md-7">
132
- <?php echo AdminHelper::selectBox($defaultData['font-size-number'], esc_attr($this->getOptionValue('ycd-countdown-number-size')), array('name' => 'ycd-countdown-number-size', 'class' => 'js-ycd-select js-countdown-number-size')); ?>
133
  </div>
134
  </div>
135
  <div class="row form-group">
@@ -137,7 +137,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
137
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Margin Top', YCD_TEXT_DOMAIN); ?></label>
138
  </div>
139
  <div class="col-md-7">
140
- <?php echo AdminHelper::selectBox($defaultData['circleNumberMarginTop'], esc_attr($this->getOptionValue('ycd-number-margin-top')), array('name' => 'ycd-number-margin-top', 'class' => 'js-ycd-select js-countdown-number-margin-bottom js-countdown-number-style')); ?>
141
  </div>
142
  </div>
143
  <div class="row form-group">
@@ -145,7 +145,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
145
  <label for="ycd-countdown-number-font-weight" class="ycd-label-of-select"><?php _e('Font Weight', YCD_TEXT_DOMAIN); ?></label>
146
  </div>
147
  <div class="col-md-7">
148
- <?php echo AdminHelper::selectBox($defaultData['font-weight'], esc_attr($this->getOptionValue('ycd-countdown-number-font-weight')), array('name' => 'ycd-countdown-number-font-weight', 'class' => 'js-ycd-select js-countdown-number-font-weight')); ?>
149
  </div>
150
  </div>
151
  <div class="row form-group">
@@ -153,7 +153,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
153
  <label for="ycd-countdown-number-font-style" class="ycd-label-of-select"><?php _e('Font Style', YCD_TEXT_DOMAIN); ?></label>
154
  </div>
155
  <div class="col-md-7">
156
- <?php echo AdminHelper::selectBox($defaultData['font-style'], esc_attr($this->getOptionValue('ycd-countdown-number-font-style')), array('name' => 'ycd-countdown-number-font-style', 'class' => 'js-ycd-select js-countdown-number-font-style')); ?>
157
  </div>
158
  </div>
159
  <div class="row form-group">
@@ -161,7 +161,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
161
  <label for="ycd-countdown-number-font" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
162
  </div>
163
  <div class="col-md-7 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
164
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($this->getOptionValue('ycd-countdown-number-font')), array('name' => 'ycd-countdown-number-font', 'class' => 'js-ycd-select js-countdown-number-font ycd-custom-value-accordion', 'data-custom' => 'customFont')); ?>
165
  </div>
166
  </div>
167
  <div class="ycd-accordion-content ycd-hide-content">
@@ -782,7 +782,7 @@ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
782
  <input type="number" id="ycd-countdown-padding" class="form-control" name="ycd-countdown-padding" value="<?php echo esc_attr($countdownPadding); ?>">
783
  </div>
784
  <div class="col-md-2">
785
- <label class="ycd-label-of-input"><?= _e('px', YCD_TEXT_DOMAIN); ?></label>
786
  </div>
787
  </div>
788
  <div class="row form-group">
52
  $countdownPadding = (int)$typeObj->getOptionValue('ycd-countdown-padding');
53
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
54
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
55
+ echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".esc_attr(YCD_CONFIG_PATH)."license.php'</span>";
56
  die();
57
  }
58
  }
72
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Size', YCD_TEXT_DOMAIN); ?></label>
73
  </div>
74
  <div class="col-md-7">
75
+ <?php AdminHelper::selectBox($defaultData['font-size'], esc_attr($textFontSize), array('name' => 'ycd-text-font-size', 'class' => 'js-ycd-select js-countdown-font-size')); ?>
76
  </div>
77
  </div>
78
  <div class="row form-group">
80
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Margin Top', YCD_TEXT_DOMAIN); ?></label>
81
  </div>
82
  <div class="col-md-7">
83
+ <?php AdminHelper::selectBox($defaultData['circleTextMarginTop'], esc_attr($this->getOptionValue('ycd-text-margin-top')), array('name' => 'ycd-text-margin-top', 'class' => 'js-ycd-select js-countdown-text-margin-top js-countdown-text-style')); ?>
84
  </div>
85
  </div>
86
  <div class="row form-group">
88
  <label for="ycd-countdown-font-weight" class="ycd-label-of-select"><?php _e('Font Weight', YCD_TEXT_DOMAIN); ?></label>
89
  </div>
90
  <div class="col-md-7">
91
+ <?php AdminHelper::selectBox($defaultData['font-weight'], esc_attr($countdownFontWeight), array('name' => 'ycd-countdown-font-weight', 'class' => 'js-ycd-select js-countdown-font-weight')); ?>
92
  </div>
93
  </div>
94
  <div class="row form-group">
96
  <label for="ycd-countdown-font-style" class="ycd-label-of-select"><?php _e('Font Style', YCD_TEXT_DOMAIN); ?></label>
97
  </div>
98
  <div class="col-md-7">
99
+ <?php AdminHelper::selectBox($defaultData['font-style'], esc_attr($countdownFontStyle), array('name' => 'ycd-countdown-font-style', 'class' => 'js-ycd-select js-countdown-font-style')); ?>
100
  </div>
101
  </div>
102
  <div class="row form-group">
104
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
105
  </div>
106
  <div class="col-md-7 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
107
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($textFontFamily), array('name' => 'ycd-text-font-family', 'class' => 'js-ycd-select js-countdown-font-family ycd-custom-value-accordion', 'data-custom' => 'customFont')); ?>
108
  </div>
109
  </div>
110
  <div class="ycd-accordion-content ycd-hide-content">
129
  <label for="ycd-countdown-number-size" class="ycd-label-of-select"><?php _e('Font Size', YCD_TEXT_DOMAIN); ?></label>
130
  </div>
131
  <div class="col-md-7">
132
+ <?php AdminHelper::selectBox($defaultData['font-size-number'], esc_attr($this->getOptionValue('ycd-countdown-number-size')), array('name' => 'ycd-countdown-number-size', 'class' => 'js-ycd-select js-countdown-number-size')); ?>
133
  </div>
134
  </div>
135
  <div class="row form-group">
137
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Margin Top', YCD_TEXT_DOMAIN); ?></label>
138
  </div>
139
  <div class="col-md-7">
140
+ <?php AdminHelper::selectBox($defaultData['circleNumberMarginTop'], esc_attr($this->getOptionValue('ycd-number-margin-top')), array('name' => 'ycd-number-margin-top', 'class' => 'js-ycd-select js-countdown-number-margin-bottom js-countdown-number-style')); ?>
141
  </div>
142
  </div>
143
  <div class="row form-group">
145
  <label for="ycd-countdown-number-font-weight" class="ycd-label-of-select"><?php _e('Font Weight', YCD_TEXT_DOMAIN); ?></label>
146
  </div>
147
  <div class="col-md-7">
148
+ <?php AdminHelper::selectBox($defaultData['font-weight'], esc_attr($this->getOptionValue('ycd-countdown-number-font-weight')), array('name' => 'ycd-countdown-number-font-weight', 'class' => 'js-ycd-select js-countdown-number-font-weight')); ?>
149
  </div>
150
  </div>
151
  <div class="row form-group">
153
  <label for="ycd-countdown-number-font-style" class="ycd-label-of-select"><?php _e('Font Style', YCD_TEXT_DOMAIN); ?></label>
154
  </div>
155
  <div class="col-md-7">
156
+ <?php AdminHelper::selectBox($defaultData['font-style'], esc_attr($this->getOptionValue('ycd-countdown-number-font-style')), array('name' => 'ycd-countdown-number-font-style', 'class' => 'js-ycd-select js-countdown-number-font-style')); ?>
157
  </div>
158
  </div>
159
  <div class="row form-group">
161
  <label for="ycd-countdown-number-font" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
162
  </div>
163
  <div class="col-md-7 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
164
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($this->getOptionValue('ycd-countdown-number-font')), array('name' => 'ycd-countdown-number-font', 'class' => 'js-ycd-select js-countdown-number-font ycd-custom-value-accordion', 'data-custom' => 'customFont')); ?>
165
  </div>
166
  </div>
167
  <div class="ycd-accordion-content ycd-hide-content">
782
  <input type="number" id="ycd-countdown-padding" class="form-control" name="ycd-countdown-padding" value="<?php echo esc_attr($countdownPadding); ?>">
783
  </div>
784
  <div class="col-md-2">
785
+ <label class="ycd-label-of-input"><?php echo _e('px', YCD_TEXT_DOMAIN); ?></label>
786
  </div>
787
  </div>
788
  <div class="row form-group">
assets/views/displaySettings.php CHANGED
@@ -13,8 +13,8 @@ $obj->setSavedData($savedData);
13
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Position Of Countdown', YCD_TEXT_DOMAIN); ?></label>
14
  </div>
15
  <div class="col-md-7">
16
- <?php echo AdminHelper::selectBox($defaultData['position-countdown'], esc_attr($this->getOptionValue('ycd-position-countdown')), array('name' => 'ycd-position-countdown', 'class' => 'js-ycd-select')); ?>
17
  </div>
18
  </div>
19
- <?php echo esc_html($obj->render()); ?>
20
  </div>
13
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Position Of Countdown', YCD_TEXT_DOMAIN); ?></label>
14
  </div>
15
  <div class="col-md-7">
16
+ <?php AdminHelper::selectBox($defaultData['position-countdown'], esc_attr($this->getOptionValue('ycd-position-countdown')), array('name' => 'ycd-position-countdown', 'class' => 'js-ycd-select')); ?>
17
  </div>
18
  </div>
19
+ <?php esc_html_e($obj->render()); ?>
20
  </div>
assets/views/front/comingSoonTempleate.php CHANGED
@@ -2,19 +2,19 @@
2
  <html lang="en">
3
  <head>
4
  <meta charset="utf-8">
5
- <title><?php echo apply_filters('YcdComingSoonPageTitle', ''); ?></title>
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <?php echo apply_filters('YcdComingSoonPageHeaderContent', ''); ?>
8
  <?php wp_head(); ?>
9
  </head>
10
  <body class="ycd-body">
11
  <div style="text-align: center">
12
- <div class="ycd-coming-soon-before-header"><?php echo apply_filters('YcdComingSoonPageBeforeHeader', '', $comingSoonThis); ?></div>
13
- <div class="ycd-coming-soon-header"><?php echo apply_filters('YcdComingSoonPageHeader', '', $comingSoonThis); ?></div>
14
- <div class="ycd-coming-soon-after-header"><?php echo apply_filters('YcdComingSoonPageAfterHeader', '', $comingSoonThis); ?></div>
15
- <div class="ycd-coming-soon-before-message"><?php echo apply_filters('YcdComingSoonPageBeforeMessage', '', $comingSoonThis); ?></div>
16
- <div class="ycd-coming-soon-message"><?php echo apply_filters('YcdComingSoonPageMessage', '', $comingSoonThis); ?></div>
17
- <div class="ycd-coming-soon-after-message"><?php echo apply_filters('YcdComingSoonPageAfterMessage', '', $comingSoonThis); ?></div>
18
  </div>
19
  <?php wp_footer(); ?>
20
  </body>
2
  <html lang="en">
3
  <head>
4
  <meta charset="utf-8">
5
+ <title><?php echo esc_html(apply_filters('YcdComingSoonPageTitle', '')); ?></title>
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <?php echo esc_html(apply_filters('YcdComingSoonPageHeaderContent', '')); ?>
8
  <?php wp_head(); ?>
9
  </head>
10
  <body class="ycd-body">
11
  <div style="text-align: center">
12
+ <div class="ycd-coming-soon-before-header"><?php echo esc_html(apply_filters('YcdComingSoonPageBeforeHeader', '', $comingSoonThis)); ?></div>
13
+ <div class="ycd-coming-soon-header"><?php echo esc_html(apply_filters('YcdComingSoonPageHeader', '', $comingSoonThis)); ?></div>
14
+ <div class="ycd-coming-soon-after-header"><?php echo esc_html(apply_filters('YcdComingSoonPageAfterHeader', '', $comingSoonThis)); ?></div>
15
+ <div class="ycd-coming-soon-before-message"><?php echo esc_html(apply_filters('YcdComingSoonPageBeforeMessage', '', $comingSoonThis)); ?></div>
16
+ <div class="ycd-coming-soon-message"><?php echo esc_html(apply_filters('YcdComingSoonPageMessage', '', $comingSoonThis)); ?></div>
17
+ <div class="ycd-coming-soon-after-message"><?php echo esc_html(apply_filters('YcdComingSoonPageAfterMessage', '', $comingSoonThis)); ?></div>
18
  </div>
19
  <?php wp_footer(); ?>
20
  </body>
assets/views/generalOptions.php CHANGED
@@ -30,7 +30,7 @@ if (class_exists('ycd\AdminHelperPro')) {
30
  </div>
31
  <div class="col-md-6">
32
  <div class="ycd-select-wrapper">
33
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-woo-time-zone')), array('name' => 'ycd-woo-time-zone', 'class' => 'js-ycd-select js-ycd-woo-time-zone')); ?>
34
  </div>
35
  </div>
36
  </div>
@@ -43,7 +43,7 @@ if (class_exists('ycd\AdminHelperPro')) {
43
  <?php
44
  $savedWooCouponId = $this->getOptionValue('ycd-woo-coupon');
45
  ?>
46
- <?php echo AdminHelper::selectBox(@$couponsInfo['idAndTitle'], esc_attr($savedWooCouponId), array('name' => 'ycd-woo-coupon', 'class' => 'js-ycd-select js-ycd-woo-coupon')); ?>
47
  </div>
48
  </div>
49
  </div>
@@ -53,7 +53,7 @@ if (class_exists('ycd\AdminHelperPro')) {
53
  </div>
54
  <div class="col-md-6">
55
  <div class="ycd-select-wrapper">
56
- <input type="text" readonly class="form-control ycd-woo-coupon-date" name="ycd-woo-coupon-date" data-dates=<?php echo json_encode(@$couponsInfo['idAndDates']); ?> value="<?php echo @$couponsInfo['idAndDates'][$savedWooCouponId]; ?>">
57
  </div>
58
  </div>
59
  </div>
@@ -73,7 +73,7 @@ if (class_exists('ycd\AdminHelperPro')) {
73
  </div>
74
  <div class="col-md-6">
75
  <div class="ycd-select-wrapper">
76
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-circle-time-zone')), array('name' => 'ycd-circle-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
77
  </div>
78
  </div>
79
  </div>
@@ -155,7 +155,7 @@ if (class_exists('ycd\AdminHelperPro')) {
155
  </div>
156
  <div class="col-md-6">
157
  <div class="ycd-select-wrapper">
158
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule-time-zone')), array('name' => 'ycd-schedule-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
159
  </div>
160
  </div>
161
  </div>
@@ -170,7 +170,7 @@ if (class_exists('ycd\AdminHelperPro')) {
170
  </div>
171
  <div class="col-md-6">
172
  <div class="ycd-select-wrapper">
173
- <?php echo AdminHelper::selectBox(
174
  @$defaultData['week-days'],
175
  esc_attr($this->getOptionValue('ycd-schedule-start-day')),
176
  array(
@@ -202,7 +202,7 @@ if (class_exists('ycd\AdminHelperPro')) {
202
  </div>
203
  <div class="col-md-6">
204
  <div class="ycd-select-wrapper">
205
- <?php echo AdminHelper::selectBox(@$defaultData['week-days'],
206
  esc_attr($this->getOptionValue('ycd-schedule-end-day')),
207
  array(
208
  'name' => 'ycd-schedule-end-day',
@@ -231,7 +231,7 @@ if (class_exists('ycd\AdminHelperPro')) {
231
  </div>
232
  <div class="col-md-6">
233
  <div class="ycd-select-wrapper">
234
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule2-time-zone')), array('name' => 'ycd-schedule2-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
235
  </div>
236
  </div>
237
  </div>
@@ -241,7 +241,7 @@ if (class_exists('ycd\AdminHelperPro')) {
241
  </div>
242
  <div class="col-md-6">
243
  <div class="ycd-select-wrapper">
244
- <?php echo AdminHelper::selectBox(
245
  @$defaultData['week-days'],
246
  $this->getOptionValue('ycd-schedule2-day'),
247
  array(
@@ -281,7 +281,7 @@ if (class_exists('ycd\AdminHelperPro')) {
281
  </div>
282
  <div class="col-md-6">
283
  <div class="ycd-select-wrapper">
284
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule3-time-zone')), array('name' => 'ycd-schedule3-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
285
  </div>
286
  </div>
287
  </div>
@@ -291,7 +291,7 @@ if (class_exists('ycd\AdminHelperPro')) {
291
  </div>
292
  <div class="col-md-6">
293
  <div class="ycd-select-wrapper">
294
- <?php echo AdminHelper::selectBox(
295
  @$defaultData['week-days'],
296
  $this->getOptionValue('ycd-schedule3-day'),
297
  array(
@@ -341,7 +341,7 @@ if (class_exists('ycd\AdminHelperPro')) {
341
  </div>
342
  <div class="col-md-6">
343
  <div class="ycd-select-wrapper">
344
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-countdown-start-time-zone')), array('name' => 'ycd-countdown-start-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
345
  </div>
346
  </div>
347
  </div>
@@ -377,10 +377,10 @@ if (class_exists('ycd\AdminHelperPro')) {
377
  <input id="js-upload-countdown-end-sound" class="btn btn-sm" type="button" value="<?php _e('Change sound', YCD_TEXT_DOMAIN); ?>">
378
  </div>
379
  <div class="col-md-2">
380
- <input type="button" data-default-song="<?= $this->getDefaultValue('ycd-countdown-end-sound-url'); ?>" id="js-reset-to-default-song" class="btn btn-sm btn-danger" value="<?php _e('Reset', YCD_TEXT_DOMAIN); ?>">
381
  </div>
382
  <div class="col-md-5">
383
- <input type="text" id="js-sound-open-url" readonly="" class="form-control input-sm" name="ycd-countdown-end-sound-url" value="<?= esc_attr($this->getOptionValue('ycd-countdown-end-sound-url')); ?>">
384
  </div>
385
  <div class="col-md-1">
386
  <span class="dashicons dashicons-controls-volumeon js-preview-sound"></span>
30
  </div>
31
  <div class="col-md-6">
32
  <div class="ycd-select-wrapper">
33
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-woo-time-zone')), array('name' => 'ycd-woo-time-zone', 'class' => 'js-ycd-select js-ycd-woo-time-zone')); ?>
34
  </div>
35
  </div>
36
  </div>
43
  <?php
44
  $savedWooCouponId = $this->getOptionValue('ycd-woo-coupon');
45
  ?>
46
+ <?php AdminHelper::selectBox(@$couponsInfo['idAndTitle'], esc_attr($savedWooCouponId), array('name' => 'ycd-woo-coupon', 'class' => 'js-ycd-select js-ycd-woo-coupon')); ?>
47
  </div>
48
  </div>
49
  </div>
53
  </div>
54
  <div class="col-md-6">
55
  <div class="ycd-select-wrapper">
56
+ <input type="text" readonly class="form-control ycd-woo-coupon-date" name="ycd-woo-coupon-date" data-dates=<?php echo esc_attr(json_encode(@$couponsInfo['idAndDates'])); ?> value="<?php echo esc_attr($couponsInfo['idAndDates'][$savedWooCouponId]); ?>">
57
  </div>
58
  </div>
59
  </div>
73
  </div>
74
  <div class="col-md-6">
75
  <div class="ycd-select-wrapper">
76
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-circle-time-zone')), array('name' => 'ycd-circle-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
77
  </div>
78
  </div>
79
  </div>
155
  </div>
156
  <div class="col-md-6">
157
  <div class="ycd-select-wrapper">
158
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule-time-zone')), array('name' => 'ycd-schedule-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
159
  </div>
160
  </div>
161
  </div>
170
  </div>
171
  <div class="col-md-6">
172
  <div class="ycd-select-wrapper">
173
+ <?php AdminHelper::selectBox(
174
  @$defaultData['week-days'],
175
  esc_attr($this->getOptionValue('ycd-schedule-start-day')),
176
  array(
202
  </div>
203
  <div class="col-md-6">
204
  <div class="ycd-select-wrapper">
205
+ <?php AdminHelper::selectBox(@$defaultData['week-days'],
206
  esc_attr($this->getOptionValue('ycd-schedule-end-day')),
207
  array(
208
  'name' => 'ycd-schedule-end-day',
231
  </div>
232
  <div class="col-md-6">
233
  <div class="ycd-select-wrapper">
234
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule2-time-zone')), array('name' => 'ycd-schedule2-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
235
  </div>
236
  </div>
237
  </div>
241
  </div>
242
  <div class="col-md-6">
243
  <div class="ycd-select-wrapper">
244
+ <?php AdminHelper::selectBox(
245
  @$defaultData['week-days'],
246
  $this->getOptionValue('ycd-schedule2-day'),
247
  array(
281
  </div>
282
  <div class="col-md-6">
283
  <div class="ycd-select-wrapper">
284
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-schedule3-time-zone')), array('name' => 'ycd-schedule3-time-zone', 'class' => 'js-ycd-select js-ycd-schedule-time-zone')); ?>
285
  </div>
286
  </div>
287
  </div>
291
  </div>
292
  <div class="col-md-6">
293
  <div class="ycd-select-wrapper">
294
+ <?php AdminHelper::selectBox(
295
  @$defaultData['week-days'],
296
  $this->getOptionValue('ycd-schedule3-day'),
297
  array(
341
  </div>
342
  <div class="col-md-6">
343
  <div class="ycd-select-wrapper">
344
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-countdown-start-time-zone')), array('name' => 'ycd-countdown-start-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
345
  </div>
346
  </div>
347
  </div>
377
  <input id="js-upload-countdown-end-sound" class="btn btn-sm" type="button" value="<?php _e('Change sound', YCD_TEXT_DOMAIN); ?>">
378
  </div>
379
  <div class="col-md-2">
380
+ <input type="button" data-default-song="<?php echo esc_attr($this->getDefaultValue('ycd-countdown-end-sound-url')); ?>" id="js-reset-to-default-song" class="btn btn-sm btn-danger" value="<?php _e('Reset', YCD_TEXT_DOMAIN); ?>">
381
  </div>
382
  <div class="col-md-5">
383
+ <input type="text" id="js-sound-open-url" readonly="" class="form-control input-sm" name="ycd-countdown-end-sound-url" value="<?php echo esc_attr($this->getOptionValue('ycd-countdown-end-sound-url')); ?>">
384
  </div>
385
  <div class="col-md-1">
386
  <span class="dashicons dashicons-controls-volumeon js-preview-sound"></span>
assets/views/main/clock1View.php CHANGED
@@ -27,7 +27,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
27
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
28
  </div>
29
  <div class="col-md-5">
30
- <?php echo AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock1-alignment')), array('name' => 'ycd-clock1-alignment', 'class' => 'js-ycd-select ycd-clock1-alignment ycd-clock-alignment')); ?>
31
  </div>
32
  </div>
33
 
27
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
28
  </div>
29
  <div class="col-md-5">
30
+ <?php AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock1-alignment')), array('name' => 'ycd-clock1-alignment', 'class' => 'js-ycd-select ycd-clock1-alignment ycd-clock-alignment')); ?>
31
  </div>
32
  </div>
33
 
assets/views/main/clock2View.php CHANGED
@@ -28,7 +28,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
28
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
29
  </div>
30
  <div class="col-md-5">
31
- <?php echo AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock2-alignment')), array('name' => 'ycd-clock2-alignment', 'class' => 'js-ycd-select ycd-clock2-alignment ycd-clock-alignment')); ?>
32
  </div>
33
  </div>
34
 
28
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
29
  </div>
30
  <div class="col-md-5">
31
+ <?php AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock2-alignment')), array('name' => 'ycd-clock2-alignment', 'class' => 'js-ycd-select ycd-clock2-alignment ycd-clock-alignment')); ?>
32
  </div>
33
  </div>
34
 
assets/views/main/clock3View.php CHANGED
@@ -29,7 +29,7 @@ if(YCD_PKG_VERSION == YCD_FREE_VERSION) {
29
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
30
  </div>
31
  <div class="col-md-5">
32
- <?php echo AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock3-alignment')), array('name' => 'ycd-clock3-alignment', 'class' => 'js-ycd-select ycd-clock3-alignment ycd-clock-alignment')); ?>
33
  </div>
34
  </div>
35
 
29
  <label class="ycd-label-of-input"><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
30
  </div>
31
  <div class="col-md-5">
32
+ <?php AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-clock3-alignment')), array('name' => 'ycd-clock3-alignment', 'class' => 'js-ycd-select ycd-clock3-alignment ycd-clock-alignment')); ?>
33
  </div>
34
  </div>
35
 
assets/views/main/clockTimerSettings.php CHANGED
@@ -17,7 +17,7 @@ use ycd\MultipleChoiceButton;
17
  <label class="ycd-label-of-input"><?php _e('Time zone', YCD_TEXT_DOMAIN); ?></label>
18
  </div>
19
  <div class="col-md-5">
20
- <?php echo AdminHelper::selectBox($defaultData['clock-time-zone'], esc_attr($this->getOptionValue('ycd-clock-time-zone')), array('name' => 'ycd-clock-time-zone','data-target-index' => '4', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
21
  </div>
22
  </div>
23
  <div class="row form-group">
@@ -25,7 +25,7 @@ use ycd\MultipleChoiceButton;
25
  <label class="ycd-label-of-input"><?php _e('Clock mode', YCD_TEXT_DOMAIN); ?></label>
26
  </div>
27
  <div class="col-md-5">
28
- <?php echo AdminHelper::selectBox($defaultData['clock-mode'], esc_attr($this->getOptionValue('ycd-clock-mode')), array('name' => 'ycd-clock-mode','data-target-index' => '4', 'class' => 'js-ycd-select ycd-clock-mode')); ?>
29
  </div>
30
  </div>
31
  </div>
17
  <label class="ycd-label-of-input"><?php _e('Time zone', YCD_TEXT_DOMAIN); ?></label>
18
  </div>
19
  <div class="col-md-5">
20
+ <?php AdminHelper::selectBox($defaultData['clock-time-zone'], esc_attr($this->getOptionValue('ycd-clock-time-zone')), array('name' => 'ycd-clock-time-zone','data-target-index' => '4', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
21
  </div>
22
  </div>
23
  <div class="row form-group">
25
  <label class="ycd-label-of-input"><?php _e('Clock mode', YCD_TEXT_DOMAIN); ?></label>
26
  </div>
27
  <div class="col-md-5">
28
+ <?php AdminHelper::selectBox($defaultData['clock-mode'], esc_attr($this->getOptionValue('ycd-clock-mode')), array('name' => 'ycd-clock-mode','data-target-index' => '4', 'class' => 'js-ycd-select ycd-clock-mode')); ?>
29
  </div>
30
  </div>
31
  </div>
assets/views/main/generalStartDateOption.php CHANGED
@@ -30,7 +30,7 @@
30
  </div>
31
  <div class="col-md-6">
32
  <div class="ycd-select-wrapper">
33
- <?php echo AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-countdown-start-time-zone')), array('name' => 'ycd-countdown-start-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
34
  </div>
35
  </div>
36
  </div>
30
  </div>
31
  <div class="col-md-6">
32
  <div class="ycd-select-wrapper">
33
+ <?php AdminHelper::selectBox($defaultData['time-zone'], esc_attr($this->getOptionValue('ycd-countdown-start-time-zone')), array('name' => 'ycd-countdown-start-time-zone', 'class' => 'js-ycd-select js-circle-time-zone')); ?>
34
  </div>
35
  </div>
36
  </div>
assets/views/main/simpleMainView.php CHANGED
@@ -177,7 +177,7 @@ $defaultData = AdminHelper::defaultData();
177
  <label for="ycd-simple-numbers-font-family" class="ycd-label-of-select"><?php _e('font family', YCD_TEXT_DOMAIN);?></label>
178
  </div>
179
  <div class="col-md-6 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
180
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($typeObj->getOptionValue('ycd-simple-numbers-font-family')), array('name' => 'ycd-simple-numbers-font-family', 'class' => 'js-ycd-select js-simple-font-family ycd-custom-value-accordion', 'data-field-type' => 'number', 'data-custom' => 'customFont')); ?>
181
  </div>
182
  </div>
183
  <div class="ycd-accordion-content ycd-hide-content">
@@ -245,7 +245,7 @@ $defaultData = AdminHelper::defaultData();
245
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('font family', YCD_TEXT_DOMAIN); ?></label>
246
  </div>
247
  <div class="col-md-6 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
248
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($typeObj->getOptionValue('ycd-simple-text-font-family')), array('name' => 'ycd-simple-text-font-family', 'class' => 'js-ycd-select js-simple-font-family ycd-custom-value-accordion', 'data-field-type' => 'label', 'data-custom' => 'customFont')); ?>
249
  </div>
250
  </div>
251
  <div class="ycd-accordion-content ycd-hide-content">
177
  <label for="ycd-simple-numbers-font-family" class="ycd-label-of-select"><?php _e('font family', YCD_TEXT_DOMAIN);?></label>
178
  </div>
179
  <div class="col-md-6 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
180
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($typeObj->getOptionValue('ycd-simple-numbers-font-family')), array('name' => 'ycd-simple-numbers-font-family', 'class' => 'js-ycd-select js-simple-font-family ycd-custom-value-accordion', 'data-field-type' => 'number', 'data-custom' => 'customFont')); ?>
181
  </div>
182
  </div>
183
  <div class="ycd-accordion-content ycd-hide-content">
245
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('font family', YCD_TEXT_DOMAIN); ?></label>
246
  </div>
247
  <div class="col-md-6 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
248
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($typeObj->getOptionValue('ycd-simple-text-font-family')), array('name' => 'ycd-simple-text-font-family', 'class' => 'js-ycd-select js-simple-font-family ycd-custom-value-accordion', 'data-field-type' => 'label', 'data-custom' => 'customFont')); ?>
249
  </div>
250
  </div>
251
  <div class="ycd-accordion-content ycd-hide-content">
assets/views/main/stickyMainView.php CHANGED
@@ -97,7 +97,7 @@ $stickyExpiration = $defaultData['stickyButtonExpiration'];
97
  <label for="ycd-sticky-button-copy" class="ycd-label-of-switch"><?php _e('Text', YCD_TEXT_DOMAIN); ?></label>
98
  </div>
99
  <div class="col-md-6">
100
- <input type="text" name="ycd-sticky-button-copy" class="form-control" placeholder="<?php echo _e('Copy to clipboard'); ?>" value="<?php echo esc_attr($this->getOptionValue('ycd-sticky-button-copy')); ?>">
101
  </div>
102
  </div>
103
  <div class="row form-group">
@@ -242,10 +242,10 @@ $stickyExpiration = $defaultData['stickyButtonExpiration'];
242
  <div class="col-md-4">
243
  <?php
244
  if (count(array_keys($countdownsIdAndTitle)) <= 1) {
245
- echo '<a href="'.$createCountdown.'">Create Countdown</a>';
246
  }
247
  else {
248
- echo AdminHelper::selectBox($countdownsIdAndTitle, esc_attr($this->getOptionValue('ycd-sticky-countdown')), array('name' => 'ycd-sticky-countdown', 'class' => 'js-ycd-select'));
249
  }
250
  ?>
251
  </div>
@@ -289,7 +289,7 @@ $stickyExpiration = $defaultData['stickyButtonExpiration'];
289
  <label class="ycd-label-of-input"><?php _e('Font wight', YCD_TEXT_DOMAIN); ?></label>
290
  </div>
291
  <div class="col-md-5">
292
- <?php echo AdminHelper::selectBox($defaultData['font-weight'], $this->getOptionValue('ycd-stick-countdown-font-weight'), array('name' => 'ycd-stick-countdown-font-weight', 'class' => 'js-ycd-select'))?>
293
  </div>
294
  </div>
295
  <div class="row form-group">
@@ -352,7 +352,7 @@ $stickyExpiration = $defaultData['stickyButtonExpiration'];
352
  <label class="ycd-label-of-input" for="ycd-sticky-close-position"><?php _e('Close position', YCD_TEXT_DOMAIN); ?></label>
353
  </div>
354
  <div class="col-md-5">
355
- <?php echo AdminHelper::selectBox($defaultData['sticky-close-position'], esc_attr($this->getOptionValue('ycd-sticky-close-position')), array('name' => 'ycd-sticky-close-position', 'class' => 'js-ycd-select')); ?>
356
  </div>
357
  </div>
358
  </div>
@@ -361,7 +361,7 @@ $stickyExpiration = $defaultData['stickyButtonExpiration'];
361
  <label class="ycd-label-of-input"><?php _e('Sections order', YCD_TEXT_DOMAIN); ?></label>
362
  </div>
363
  <div class="col-md-5">
364
- <?php echo AdminHelper::selectBox($stickySectionsOrder, esc_attr($this->getOptionValue('ycd-sticky-countdown-sections')), array('name' => 'ycd-sticky-countdown-sections', 'class' => 'js-ycd-select')); ?>
365
  </div>
366
  </div>
367
  </div>
97
  <label for="ycd-sticky-button-copy" class="ycd-label-of-switch"><?php _e('Text', YCD_TEXT_DOMAIN); ?></label>
98
  </div>
99
  <div class="col-md-6">
100
+ <input type="text" name="ycd-sticky-button-copy" class="form-control" placeholder="<?php _e('Copy to clipboard'); ?>" value="<?php echo esc_attr($this->getOptionValue('ycd-sticky-button-copy')); ?>">
101
  </div>
102
  </div>
103
  <div class="row form-group">
242
  <div class="col-md-4">
243
  <?php
244
  if (count(array_keys($countdownsIdAndTitle)) <= 1) {
245
+ echo '<a href="'.esc_attr($createCountdown).'">Create Countdown</a>';
246
  }
247
  else {
248
+ AdminHelper::selectBox($countdownsIdAndTitle, esc_attr($this->getOptionValue('ycd-sticky-countdown')), array('name' => 'ycd-sticky-countdown', 'class' => 'js-ycd-select'));
249
  }
250
  ?>
251
  </div>
289
  <label class="ycd-label-of-input"><?php _e('Font wight', YCD_TEXT_DOMAIN); ?></label>
290
  </div>
291
  <div class="col-md-5">
292
+ <?php AdminHelper::selectBox($defaultData['font-weight'], $this->getOptionValue('ycd-stick-countdown-font-weight'), array('name' => 'ycd-stick-countdown-font-weight', 'class' => 'js-ycd-select'))?>
293
  </div>
294
  </div>
295
  <div class="row form-group">
352
  <label class="ycd-label-of-input" for="ycd-sticky-close-position"><?php _e('Close position', YCD_TEXT_DOMAIN); ?></label>
353
  </div>
354
  <div class="col-md-5">
355
+ <?php AdminHelper::selectBox($defaultData['sticky-close-position'], esc_attr($this->getOptionValue('ycd-sticky-close-position')), array('name' => 'ycd-sticky-close-position', 'class' => 'js-ycd-select')); ?>
356
  </div>
357
  </div>
358
  </div>
361
  <label class="ycd-label-of-input"><?php _e('Sections order', YCD_TEXT_DOMAIN); ?></label>
362
  </div>
363
  <div class="col-md-5">
364
+ <?php AdminHelper::selectBox($stickySectionsOrder, esc_attr($this->getOptionValue('ycd-sticky-countdown-sections')), array('name' => 'ycd-sticky-countdown-sections', 'class' => 'js-ycd-select')); ?>
365
  </div>
366
  </div>
367
  </div>
assets/views/main/timerMainView.php CHANGED
@@ -259,7 +259,7 @@ $textFontFamily = $this->getOptionValue('ycd-text-font-family');
259
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
260
  </div>
261
  <div class="col-md-4 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
262
- <?php echo AdminHelper::selectBox($defaultData['font-family'], esc_attr($textFontFamily), array('name' => 'ycd-text-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
263
  </div>
264
  </div>
265
  <div class="row form-group">
@@ -297,7 +297,7 @@ $textFontFamily = $this->getOptionValue('ycd-text-font-family');
297
  <label for="ycd-timer-content-alignment" ><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
298
  </div>
299
  <div class="col-md-4 ycd-timer-font-size">
300
- <?php echo AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-timer-content-alignment')), array('name' => 'ycd-timer-content-alignment', 'class' => 'js-ycd-select ycd-timer-content-alignment')); ?>
301
  </div>
302
  </div>
303
  <div class="row form-group">
@@ -327,7 +327,7 @@ $textFontFamily = $this->getOptionValue('ycd-text-font-family');
327
  <label for="" class="ycd-label-of-select"><?php _e('Background Size', YCD_TEXT_DOMAIN); ?></label>
328
  </div>
329
  <div class="col-md-6 ycd-circles-width-wrapper">
330
- <?php echo AdminHelper::selectBox($defaultData['bg-image-size'], esc_attr($this->getOptionValue('ycd-bg-image-size')), array('name' => 'ycd-bg-image-size', 'class' => 'js-ycd-select js-ycd-bg-size')); ?>
331
  </div>
332
  </div>
333
  <div class="row form-group">
@@ -335,7 +335,7 @@ $textFontFamily = $this->getOptionValue('ycd-text-font-family');
335
  <label for="" class="ycd-label-of-select"><?php _e('Background Repeat', YCD_TEXT_DOMAIN); ?></label>
336
  </div>
337
  <div class="col-md-6 ycd-circles-width-wrapper">
338
- <?php echo AdminHelper::selectBox($defaultData['bg-image-repeat'], esc_attr($this->getOptionValue('ycd-bg-image-repeat')), array('name' => 'ycd-bg-image-repeat', 'class' => 'js-ycd-select js-bg-image-repeat')); ?>
339
  </div>
340
  </div>
341
  <div class="row form-group">
259
  <label for="ycd-countdown-text-size" class="ycd-label-of-select"><?php _e('Font Family', YCD_TEXT_DOMAIN); ?></label>
260
  </div>
261
  <div class="col-md-4 ycd-option-wrapper<?php echo esc_attr($isPro); ?>">
262
+ <?php AdminHelper::selectBox($defaultData['font-family'], esc_attr($textFontFamily), array('name' => 'ycd-text-font-family', 'class' => 'js-ycd-select js-countdown-font-family')); ?>
263
  </div>
264
  </div>
265
  <div class="row form-group">
297
  <label for="ycd-timer-content-alignment" ><?php _e('Alignment', YCD_TEXT_DOMAIN); ?></label>
298
  </div>
299
  <div class="col-md-4 ycd-timer-font-size">
300
+ <?php AdminHelper::selectBox($defaultData['horizontal-alignment'], esc_attr($this->getOptionValue('ycd-timer-content-alignment')), array('name' => 'ycd-timer-content-alignment', 'class' => 'js-ycd-select ycd-timer-content-alignment')); ?>
301
  </div>
302
  </div>
303
  <div class="row form-group">
327
  <label for="" class="ycd-label-of-select"><?php _e('Background Size', YCD_TEXT_DOMAIN); ?></label>
328
  </div>
329
  <div class="col-md-6 ycd-circles-width-wrapper">
330
+ <?php AdminHelper::selectBox($defaultData['bg-image-size'], esc_attr($this->getOptionValue('ycd-bg-image-size')), array('name' => 'ycd-bg-image-size', 'class' => 'js-ycd-select js-ycd-bg-size')); ?>
331
  </div>
332
  </div>
333
  <div class="row form-group">
335
  <label for="" class="ycd-label-of-select"><?php _e('Background Repeat', YCD_TEXT_DOMAIN); ?></label>
336
  </div>
337
  <div class="col-md-6 ycd-circles-width-wrapper">
338
+ <?php AdminHelper::selectBox($defaultData['bg-image-repeat'], esc_attr($this->getOptionValue('ycd-bg-image-repeat')), array('name' => 'ycd-bg-image-repeat', 'class' => 'js-ycd-select js-bg-image-repeat')); ?>
339
  </div>
340
  </div>
341
  <div class="row form-group">
assets/views/progressBar.php CHANGED
@@ -71,7 +71,7 @@ $isPro = '';
71
  </div>
72
  </div>
73
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
74
- <a href="<?php echo YCD_COUNTDOWN_PRO_URL; ?>" target="_blank">
75
  <div class="ycd-pro ycd-pro-options-div">
76
  <p class="ycd-pro-options-title"><?php _e('PRO Features', YCD_TEXT_DOMAIN); ?></p>
77
  </div>
71
  </div>
72
  </div>
73
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
74
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_PRO_URL); ?>" target="_blank">
75
  <div class="ycd-pro ycd-pro-options-div">
76
  <p class="ycd-pro-options-title"><?php _e('PRO Features', YCD_TEXT_DOMAIN); ?></p>
77
  </div>
assets/views/settings.php CHANGED
@@ -10,13 +10,13 @@
10
  ?>
11
  <?php if(!empty($_GET['saved'])) : ?>
12
  <div id="default-message" class="updated notice notice-success is-dismissible">
13
- <p><?php echo _e('Settings saved.', YCD_TEXT_DOMAIN);?></p><button type="button" class="notice-dismiss"><span class="screen-reader-text"><?php echo _e('Dismiss this notice.', YCD_TEXT_DOMAIN);?></span></button>
14
  </div>
15
  <?php endif; ?>
16
  <div class="ycd-bootstrap-wrapper ycd-settings-wrapper">
17
  <div class="row">
18
  <div class="col-lg-8">
19
- <form method="POST" action="<?php echo admin_url().'admin-post.php?action=ycdSaveSettings'?>">
20
  <?php wp_nonce_field('YCD_ADMIN_POST_NONCE', YCD_ADMIN_POST_NONCE);?>
21
  <div class="panel panel-default">
22
  <div class="panel-heading"><?php _e('Settings', YCD_TEXT_DOMAIN)?></div>
@@ -27,7 +27,7 @@
27
  </div>
28
  <div class="col-md-2">
29
  <label class="ycd-switch">
30
- <input type="checkbox" id="ycd-delete-data" name="ycd-delete-data" class="ycd-accordion-checkbox" <?= $dontDeleteData ?> >
31
  <span class="ycd-slider ycd-round"></span>
32
  </label>
33
  </div>
@@ -43,7 +43,7 @@
43
  </div>
44
  <div class="col-md-4">
45
  <label class="ycd-switch">
46
- <input type="checkbox" id="ycd-hide-coming-soon-menu" name="ycd-hide-coming-soon-menu" class="ycd-accordion-checkbox" <?= $hideComingSoon ?> >
47
  <span class="ycd-slider ycd-round"></span>
48
  </label>
49
  </div>
@@ -54,7 +54,7 @@
54
  </div>
55
  <div class="col-md-4">
56
  <label class="ycd-switch">
57
- <input type="checkbox" id="ycd-print-scripts-to-page" name="ycd-print-scripts-to-page" class="ycd-accordion-checkbox" <?= $printScripts ?> >
58
  <span class="ycd-slider ycd-round"></span>
59
  </label>
60
  </div>
@@ -65,7 +65,7 @@
65
  </div>
66
  <div class="col-md-4">
67
  <label class="ycd-switch">
68
- <input type="checkbox" id="ycd-hide-editor-media-button" name="ycd-hide-editor-media-button" class="ycd-accordion-checkbox" <?= $hideMediaButton ?> >
69
  <span class="ycd-slider ycd-round"></span>
70
  </label>
71
  </div>
@@ -75,7 +75,7 @@
75
  <label><?php _e('User role who can use plugin', YCD_TEXT_DOMAIN)?></label>
76
  </div>
77
  <div class="col-md-4">
78
- <?php echo HelperFunction::createSelectBox($defaultData['userRoles'], $userSavedRoles, array('name' => 'ycd-user-roles[]', 'class' => 'js-ycd-select ycd-countdowns', 'multiple' => 'multiple')); ?>
79
  </div>
80
  </div>
81
  <div class="row form-group">
10
  ?>
11
  <?php if(!empty($_GET['saved'])) : ?>
12
  <div id="default-message" class="updated notice notice-success is-dismissible">
13
+ <p><?php _e('Settings saved.', YCD_TEXT_DOMAIN);?></p><button type="button" class="notice-dismiss"><span class="screen-reader-text"><?php _e('Dismiss this notice.', YCD_TEXT_DOMAIN);?></span></button>
14
  </div>
15
  <?php endif; ?>
16
  <div class="ycd-bootstrap-wrapper ycd-settings-wrapper">
17
  <div class="row">
18
  <div class="col-lg-8">
19
+ <form method="POST" action="<?php echo esc_attr(admin_url()).'admin-post.php?action=ycdSaveSettings'?>">
20
  <?php wp_nonce_field('YCD_ADMIN_POST_NONCE', YCD_ADMIN_POST_NONCE);?>
21
  <div class="panel panel-default">
22
  <div class="panel-heading"><?php _e('Settings', YCD_TEXT_DOMAIN)?></div>
27
  </div>
28
  <div class="col-md-2">
29
  <label class="ycd-switch">
30
+ <input type="checkbox" id="ycd-delete-data" name="ycd-delete-data" class="ycd-accordion-checkbox" <?php echo esc_attr($dontDeleteData) ?> >
31
  <span class="ycd-slider ycd-round"></span>
32
  </label>
33
  </div>
43
  </div>
44
  <div class="col-md-4">
45
  <label class="ycd-switch">
46
+ <input type="checkbox" id="ycd-hide-coming-soon-menu" name="ycd-hide-coming-soon-menu" class="ycd-accordion-checkbox" <?php echo esc_attr($hideComingSoon) ?> >
47
  <span class="ycd-slider ycd-round"></span>
48
  </label>
49
  </div>
54
  </div>
55
  <div class="col-md-4">
56
  <label class="ycd-switch">
57
+ <input type="checkbox" id="ycd-print-scripts-to-page" name="ycd-print-scripts-to-page" class="ycd-accordion-checkbox" <?php echo esc_attr($printScripts) ?> >
58
  <span class="ycd-slider ycd-round"></span>
59
  </label>
60
  </div>
65
  </div>
66
  <div class="col-md-4">
67
  <label class="ycd-switch">
68
+ <input type="checkbox" id="ycd-hide-editor-media-button" name="ycd-hide-editor-media-button" class="ycd-accordion-checkbox" <?php echo esc_attr($hideMediaButton) ?> >
69
  <span class="ycd-slider ycd-round"></span>
70
  </label>
71
  </div>
75
  <label><?php _e('User role who can use plugin', YCD_TEXT_DOMAIN)?></label>
76
  </div>
77
  <div class="col-md-4">
78
+ <?php HelperFunction::createSelectBox($defaultData['userRoles'], $userSavedRoles, array('name' => 'ycd-user-roles[]', 'class' => 'js-ycd-select ycd-countdowns', 'multiple' => 'multiple')); ?>
79
  </div>
80
  </div>
81
  <div class="row form-group">
assets/views/subscriptionSection.php CHANGED
@@ -69,7 +69,7 @@
69
  </div>
70
  </div>
71
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
72
- <a href="<?php echo YCD_COUNTDOWN_PRO_URL; ?>" target="_blank">
73
  <div class="ycd-pro ycd-pro-options-div">
74
  <p class="ycd-pro-options-title"><?php _e('PRO Features', YCD_TEXT_DOMAIN); ?></p>
75
  </div>
69
  </div>
70
  </div>
71
  <?php if(YCD_PKG_VERSION == YCD_FREE_VERSION): ?>
72
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_PRO_URL); ?>" target="_blank">
73
  <div class="ycd-pro ycd-pro-options-div">
74
  <p class="ycd-pro-options-title"><?php _e('PRO Features', YCD_TEXT_DOMAIN); ?></p>
75
  </div>
assets/views/support.php CHANGED
@@ -35,7 +35,7 @@
35
  </div>
36
  <div class="row form-group ycd-hide ycd-error-name">
37
  <div class="col-md-12">
38
- <label class="ycd-error"><?= __('This filed is required', YCD_TEXT_DOMAIN)?></label>
39
  </div>
40
  </div>
41
  <div class="row form-group">
@@ -43,17 +43,17 @@
43
  <label for="ycd-email"><?php _e('Email Address', YCD_TEXT_DOMAIN)?>*</label>
44
  </div>
45
  <div class="col-md-5">
46
- <input type="text" id="ycd-email" class="form-control input-sm ycd-required-fields" data-error="ycd-error-email" name="email" value="<?= get_option('admin_email'); ?>">
47
  </div>
48
  </div>
49
  <div class="row form-group ycd-hide ycd-error-email">
50
  <div class="col-md-12">
51
- <label class="ycd-error"><?= __('This filed is required', YCD_TEXT_DOMAIN)?></label>
52
  </div>
53
  </div>
54
  <div class="row form-group ycd-hide ycd-validate-email-error">
55
  <div class="col-md-12">
56
- <label class="ycd-error"><?= __('Please enter a valid email address', YCD_TEXT_DOMAIN)?></label>
57
  </div>
58
  </div>
59
  <div class="row form-group">
@@ -61,12 +61,12 @@
61
  <label for="ycd-website"><?php _e('Website', YCD_TEXT_DOMAIN)?>*</label>
62
  </div>
63
  <div class="col-md-5">
64
- <input type="text" id="ycd-website" class="form-control input-sm ycd-required-fields" data-error="ycd-error-website" name="website" value="<?= get_option('siteurl'); ?>">
65
  </div>
66
  </div>
67
  <div class="row form-group ycd-hide ycd-error-website">
68
  <div class="col-md-12">
69
- <label class="ycd-error"><?= __('This filed is required', YCD_TEXT_DOMAIN)?></label>
70
  </div>
71
  </div>
72
  <div class="row form-group">
@@ -82,7 +82,7 @@
82
  <div class="row">
83
  <div class="col-md-12">
84
  <input class="button-primary gfbutton" type="submit" id="ycd-support-request-button" name="" value="<?php _e('Request Support', YCD_TEXT_DOMAIN)?>">
85
- <img src="<?= YCD_COUNTDOWN_IMG_URL.'ajax.gif'; ?>" alt="gif" class="ycd-support-spinner js-ycd-spinner ycd-hide" width="20px">
86
  </div>
87
  </div>
88
  </form>
35
  </div>
36
  <div class="row form-group ycd-hide ycd-error-name">
37
  <div class="col-md-12">
38
+ <label class="ycd-error"><?php _e('This filed is required', YCD_TEXT_DOMAIN)?></label>
39
  </div>
40
  </div>
41
  <div class="row form-group">
43
  <label for="ycd-email"><?php _e('Email Address', YCD_TEXT_DOMAIN)?>*</label>
44
  </div>
45
  <div class="col-md-5">
46
+ <input type="text" id="ycd-email" class="form-control input-sm ycd-required-fields" data-error="ycd-error-email" name="email" value="<?php echo esc_attr(get_option('admin_email')); ?>">
47
  </div>
48
  </div>
49
  <div class="row form-group ycd-hide ycd-error-email">
50
  <div class="col-md-12">
51
+ <label class="ycd-error"><?php _e('This filed is required', YCD_TEXT_DOMAIN)?></label>
52
  </div>
53
  </div>
54
  <div class="row form-group ycd-hide ycd-validate-email-error">
55
  <div class="col-md-12">
56
+ <label class="ycd-error"><?php _e('Please enter a valid email address', YCD_TEXT_DOMAIN)?></label>
57
  </div>
58
  </div>
59
  <div class="row form-group">
61
  <label for="ycd-website"><?php _e('Website', YCD_TEXT_DOMAIN)?>*</label>
62
  </div>
63
  <div class="col-md-5">
64
+ <input type="text" id="ycd-website" class="form-control input-sm ycd-required-fields" data-error="ycd-error-website" name="website" value="<?php echo esc_attr(get_option('siteurl')); ?>">
65
  </div>
66
  </div>
67
  <div class="row form-group ycd-hide ycd-error-website">
68
  <div class="col-md-12">
69
+ <label class="ycd-error"><?php _e('This filed is required', YCD_TEXT_DOMAIN)?></label>
70
  </div>
71
  </div>
72
  <div class="row form-group">
82
  <div class="row">
83
  <div class="col-md-12">
84
  <input class="button-primary gfbutton" type="submit" id="ycd-support-request-button" name="" value="<?php _e('Request Support', YCD_TEXT_DOMAIN)?>">
85
+ <img src="<?php echo esc_attr(YCD_COUNTDOWN_IMG_URL).'ajax.gif'; ?>" alt="gif" class="ycd-support-spinner js-ycd-spinner ycd-hide" width="20px">
86
  </div>
87
  </div>
88
  </form>
assets/views/supportMetabox.php CHANGED
@@ -4,7 +4,7 @@
4
  We love our plugin and do the best to improve all features for You. But sometimes issues happened, or you can't find required feature that you need. Don't worry, just pressing here
5
  <br>
6
  <div style="text-align: center;">
7
- <a href="<?php echo YCD_COUNTDOWN_SUPPORT_URL; ?>" style="font-size: 18px; cursor: pointer;" target="_blank">
8
  <button type="button" id="ycd-report-problem-button" class="ycd-support-button-red" style="margin: 10px;">
9
  <i class="ai1wm-icon-notification"></i>
10
  Report issue
4
  We love our plugin and do the best to improve all features for You. But sometimes issues happened, or you can't find required feature that you need. Don't worry, just pressing here
5
  <br>
6
  <div style="text-align: center;">
7
+ <a href="<?php echo esc_attr(YCD_COUNTDOWN_SUPPORT_URL); ?>" style="font-size: 18px; cursor: pointer;" target="_blank">
8
  <button type="button" id="ycd-report-problem-button" class="ycd-support-button-red" style="margin: 10px;">
9
  <i class="ai1wm-icon-notification"></i>
10
  Report issue
assets/views/types.php CHANGED
@@ -10,7 +10,7 @@ $extensionsResult = AdminHelper::separateToActiveAndNotActive($currentExtensions
10
  <div>
11
  <h3 class="ycd-page-h3"><?php _e('Add New Countdown', YCD_TEXT_DOMAIN); ?></h3>
12
  </div>
13
- <?php echo TypesNavBar::render(); ?>
14
 
15
  <div class="ycd-bootstrap-wrapper ycd-types-wrapper">
16
  <div class="row ycd-mb-20">
@@ -21,12 +21,12 @@ $extensionsResult = AdminHelper::separateToActiveAndNotActive($currentExtensions
21
  <?php if(!$type->isVisible()): ?>
22
  <?php continue; ?>
23
  <?php endif; ?>
24
- <a class="create-countdown-link" <?php echo AdminHelper::buildCreateCountdownAttrs($type); ?> href="<?php echo AdminHelper::buildCreateCountdownUrl($type); ?>">
25
  <div class="countdowns-div">
26
- <div class="ycd-type-div <?php echo AdminHelper::getCountdownThumbClass($type); ?>"></div>
27
- <?php echo AdminHelper::getCountdownThumbText($type); ?>
28
  <div class="ycd-type-view-footer">
29
- <span class="ycd-promotion-video"><?php echo AdminHelper::getCountdownDisplayName($type); ?></span>
30
  <?php
31
  $videoUrl = AdminHelper::getCountdownYoutubeUrl($type);
32
  if(!$type->isAvailable() && !empty($videoUrl)): ?>
@@ -44,10 +44,10 @@ $extensionsResult = AdminHelper::separateToActiveAndNotActive($currentExtensions
44
  </span>
45
  </div>
46
  <?php foreach ($extensionsResult['passive'] as $extension): ?>
47
- <a class="create-countdown-link" <?php echo AdminHelper::buildCreateCountdownAttrs($type); ?> href="<?php echo YCD_COUNTDOWN_PRO_URL.'#yrm-analytics'; ?>">
48
  <div class="countdowns-div">
49
  <div class="ycd-type-div <?php echo esc_attr($extension['shortKey']);?>-countdown-pro ycd-pro-version"></div>
50
- <p class="ycd-type-title-pro ycd-type-title-extensions-pro"><?php echo __('PRO EXTENSION', YCD_TEXT_DOMAIN); ?></p>
51
  <div class="ycd-type-view-footer">
52
  <span class="ycd-promotion-video"><?php echo esc_attr($extension['boxTitle']); ?></span>
53
  <?php if(!empty($extension['videoURL'])): ?>
10
  <div>
11
  <h3 class="ycd-page-h3"><?php _e('Add New Countdown', YCD_TEXT_DOMAIN); ?></h3>
12
  </div>
13
+ <?php TypesNavBar::render(); ?>
14
 
15
  <div class="ycd-bootstrap-wrapper ycd-types-wrapper">
16
  <div class="row ycd-mb-20">
21
  <?php if(!$type->isVisible()): ?>
22
  <?php continue; ?>
23
  <?php endif; ?>
24
+ <a class="create-countdown-link" <?php AdminHelper::buildCreateCountdownAttrs($type); ?> href="<?php AdminHelper::buildCreateCountdownUrl($type); ?>">
25
  <div class="countdowns-div">
26
+ <div class="ycd-type-div <?php AdminHelper::getCountdownThumbClass($type); ?>"></div>
27
+ <?php AdminHelper::getCountdownThumbText($type); ?>
28
  <div class="ycd-type-view-footer">
29
+ <span class="ycd-promotion-video"><?php AdminHelper::getCountdownDisplayName($type); ?></span>
30
  <?php
31
  $videoUrl = AdminHelper::getCountdownYoutubeUrl($type);
32
  if(!$type->isAvailable() && !empty($videoUrl)): ?>
44
  </span>
45
  </div>
46
  <?php foreach ($extensionsResult['passive'] as $extension): ?>
47
+ <a class="create-countdown-link" <?php AdminHelper::buildCreateCountdownAttrs($type); ?> href="<?php echo esc_attr(YCD_COUNTDOWN_PRO_URL).'#yrm-analytics'; ?>">
48
  <div class="countdowns-div">
49
  <div class="ycd-type-div <?php echo esc_attr($extension['shortKey']);?>-countdown-pro ycd-pro-version"></div>
50
+ <p class="ycd-type-title-pro ycd-type-title-extensions-pro"><?php _e('PRO EXTENSION', YCD_TEXT_DOMAIN); ?></p>
51
  <div class="ycd-type-view-footer">
52
  <span class="ycd-promotion-video"><?php echo esc_attr($extension['boxTitle']); ?></span>
53
  <?php if(!empty($extension['videoURL'])): ?>
classes/Actions.php CHANGED
@@ -97,19 +97,19 @@ class Actions {
97
  * new post data array
98
  */
99
  $args = array(
100
- 'comment_status' => $post->comment_status,
101
- 'ping_status' => $post->ping_status,
102
- 'post_author' => $new_post_author,
103
- 'post_content' => $post->post_content,
104
- 'post_excerpt' => $post->post_excerpt,
105
- 'post_name' => $post->post_name,
106
- 'post_parent' => $post->post_parent,
107
- 'post_password' => $post->post_password,
108
  'post_status' => 'publish',
109
- 'post_title' => $post->post_title.'(clone)',
110
- 'post_type' => $post->post_type,
111
- 'to_ping' => $post->to_ping,
112
- 'menu_order' => $post->menu_order
113
  );
114
 
115
  /*
@@ -150,7 +150,7 @@ class Actions {
150
  wp_redirect(admin_url('edit.php?post_type=' . YCD_COUNTDOWN_POST_TYPE));
151
  exit;
152
  } else {
153
- wp_die('Post creation failed, could not find original post: ' . $post_id);
154
  }
155
  }
156
 
@@ -285,7 +285,7 @@ class Actions {
285
  $className = Countdown::getClassNameCountdownType($type);
286
 
287
  require_once($typePath.$className.'.php');
288
- $className = __NAMESPACE__.'\\'.$className;
289
 
290
  $className::create($postData);
291
  }
@@ -324,7 +324,7 @@ class Actions {
324
  $typeObj->chanegSavedDataFromArgs();
325
 
326
  if(!empty($content)) {
327
- echo "<a href='javascript:void(0)' class='ycd-circle-popup' data-id=".esc_attr($id).">$content</a>";
328
  }
329
  $content = ob_get_contents();
330
  ob_get_clean();
@@ -337,8 +337,8 @@ class Actions {
337
  $countdownObj = Countdown::find($postId);
338
 
339
  if ($column == 'shortcode') {
340
- _e('<div class="ycd-tooltip">
341
- <span class="ycd-tooltiptext" id="ycd-tooltip-'.$postId.'">'.__('Copy to clipboard', YCD_TEXT_DOMAIN).'</span><input type="text" data-id="'.$postId.'" onfocus="this.select();" readonly id="ycd-shortcode-input-'.$postId.'" value="[ycd_countdown id='.$postId.']" class="large-text code countdown-shortcode"></div>');
342
  }
343
  if ($column == 'type') {
344
  $title = '';
97
  * new post data array
98
  */
99
  $args = array(
100
+ 'comment_status' => sanitize_text_field($post->comment_status),
101
+ 'ping_status' => sanitize_text_field($post->ping_status),
102
+ 'post_author' => sanitize_text_field($new_post_author),
103
+ 'post_content' => sanitize_text_field($post->post_content),
104
+ 'post_excerpt' => sanitize_text_field($post->post_excerpt),
105
+ 'post_name' => sanitize_text_field($post->post_name),
106
+ 'post_parent' => sanitize_text_field($post->post_parent),
107
+ 'post_password' => sanitize_text_field($post->post_password),
108
  'post_status' => 'publish',
109
+ 'post_title' => sanitize_text_field($post->post_title).'(clone)',
110
+ 'post_type' => sanitize_text_field($post->post_type),
111
+ 'to_ping' => sanitize_text_field($post->to_ping),
112
+ 'menu_order' => sanitize_text_field($post->menu_order)
113
  );
114
 
115
  /*
150
  wp_redirect(admin_url('edit.php?post_type=' . YCD_COUNTDOWN_POST_TYPE));
151
  exit;
152
  } else {
153
+ wp_die('Post creation failed, could not find original post: ' . esc_attr($post_id));
154
  }
155
  }
156
 
285
  $className = Countdown::getClassNameCountdownType($type);
286
 
287
  require_once($typePath.$className.'.php');
288
+ $className = __NAMESPACE__.'\\'.esc_attr($className);
289
 
290
  $className::create($postData);
291
  }
324
  $typeObj->chanegSavedDataFromArgs();
325
 
326
  if(!empty($content)) {
327
+ echo "<a href='javascript:void(0)' class='ycd-circle-popup' data-id=".esc_attr($id).">".esc_attr($content)."</a>";
328
  }
329
  $content = ob_get_contents();
330
  ob_get_clean();
337
  $countdownObj = Countdown::find($postId);
338
 
339
  if ($column == 'shortcode') {
340
+ echo '<div class="ycd-tooltip">
341
+ <span class="ycd-tooltiptext" id="ycd-tooltip-'.esc_attr($postId).'">'.__('Copy to clipboard', YCD_TEXT_DOMAIN).'</span><input type="text" data-id="'.esc_attr($postId).'" onfocus="this.select();" readonly id="ycd-shortcode-input-'.esc_attr($postId).'" value="[ycd_countdown id='.esc_attr($postId).']" class="large-text code countdown-shortcode"></div>';
342
  }
343
  if ($column == 'type') {
344
  $title = '';
classes/Ajax.php CHANGED
@@ -31,10 +31,9 @@ class Ajax {
31
  parse_str($str, $savedData);
32
 
33
  $headers = 'MIME-Versions: 1.0'."\r\n";
34
- //$headers .= 'From: '.$sendFromEmail.''."\r\n";
35
  $headers .= 'Content-types: text/plain; charset=UTF-8'."\r\n";
36
  $message = '<b>Product</b>: Countdown builder<br>';
37
- $message .= '<b>Version</b>: '.YCD_VERSION_TEXT.'<br>';
38
 
39
  if (empty($savedData['countdown-builder_reason_key'])) {
40
  $message .= 'Skip <br>';
@@ -44,7 +43,7 @@ class Ajax {
44
  if (empty($value)) {
45
  continue;
46
  }
47
- $message .= '<b>'.$key.'</b>: '.$value.'<br>';
48
  }
49
  }
50
 
@@ -64,9 +63,9 @@ class Ajax {
64
  update_option('YcdShowNextTime', $timeNow);
65
  $usageDays = get_option('YcdUsageDays');
66
  $usageDays += YCD_SHOW_REVIEW_PERIOD;
67
- update_option('YcdUsageDays', $usageDays);
68
 
69
- echo YCD_AJAX_SUCCESS;
70
  wp_die();
71
  }
72
 
@@ -74,7 +73,7 @@ class Ajax {
74
  check_ajax_referer('ycdReviewNotice', 'ajaxNonce');
75
  update_option('YcdDontShowReviewNotice', 1);
76
 
77
- echo YCD_AJAX_SUCCESS;
78
  wp_die();
79
  }
80
 
@@ -83,14 +82,13 @@ class Ajax {
83
  parse_str(sanitize_text_field($_POST['formData']), $params);
84
 
85
  $headers = 'MIME-Versions: 1.0'."\r\n";
86
- //$headers .= 'From: '.$sendFromEmail.''."\r\n";
87
  $headers .= 'Content-types: text/plain; charset=UTF-8'."\r\n";
88
- $message = '<b>Report type</b>: '.$params['report_type'].'<br>';
89
- $message .= '<b>Name</b>: '.$params['name'].'<br>';
90
- $message .= '<b>Email</b>: '.$params['email'].'<br>';
91
- $message .= '<b>Website</b>: '.$params['website'].'<br>';
92
- $message .= '<b>Message</b>: '.$params['ycd-message'].'<br>';
93
- $message .= '<b>version</b>: '.YcdCountdownConfig::getVersionString().'<br>';
94
 
95
  $sendStatus = wp_mail('adamskaat1@gmail.com', 'Web site support', $message, $headers);
96
  die(1);
@@ -142,7 +140,7 @@ class Ajax {
142
  $selectedParams = sanitize_text_field($_POST['selectedParams']);
143
  $conditionId = (int)$_POST['conditionId'];
144
  $childClassName = sanitize_text_field($_POST['conditionsClassName']);
145
- $childClassName = __NAMESPACE__.'\\'.$childClassName;
146
  $obj = new $childClassName();
147
 
148
  $obj->renderConditionRowFromParam($selectedParams, $conditionId);
31
  parse_str($str, $savedData);
32
 
33
  $headers = 'MIME-Versions: 1.0'."\r\n";
 
34
  $headers .= 'Content-types: text/plain; charset=UTF-8'."\r\n";
35
  $message = '<b>Product</b>: Countdown builder<br>';
36
+ $message .= '<b>Version</b>: '.esc_attr(YCD_VERSION_TEXT).'<br>';
37
 
38
  if (empty($savedData['countdown-builder_reason_key'])) {
39
  $message .= 'Skip <br>';
43
  if (empty($value)) {
44
  continue;
45
  }
46
+ $message .= '<b>'.esc_attr($key).'</b>: '.esc_attr($value).'<br>';
47
  }
48
  }
49
 
63
  update_option('YcdShowNextTime', $timeNow);
64
  $usageDays = get_option('YcdUsageDays');
65
  $usageDays += YCD_SHOW_REVIEW_PERIOD;
66
+ update_option('YcdUsageDays', sanitize_text_field($usageDays));
67
 
68
+ echo 1;
69
  wp_die();
70
  }
71
 
73
  check_ajax_referer('ycdReviewNotice', 'ajaxNonce');
74
  update_option('YcdDontShowReviewNotice', 1);
75
 
76
+ echo 1;
77
  wp_die();
78
  }
79
 
82
  parse_str(sanitize_text_field($_POST['formData']), $params);
83
 
84
  $headers = 'MIME-Versions: 1.0'."\r\n";
 
85
  $headers .= 'Content-types: text/plain; charset=UTF-8'."\r\n";
86
+ $message = '<b>Report type</b>: '.esc_attr($params['report_type']).'<br>';
87
+ $message .= '<b>Name</b>: '.esc_attr($params['name']).'<br>';
88
+ $message .= '<b>Email</b>: '.esc_attr($params['email']).'<br>';
89
+ $message .= '<b>Website</b>: '.esc_attr($params['website']).'<br>';
90
+ $message .= '<b>Message</b>: '.esc_attr($params['ycd-message']).'<br>';
91
+ $message .= '<b>version</b>: '.esc_attr(YcdCountdownConfig::getVersionString()).'<br>';
92
 
93
  $sendStatus = wp_mail('adamskaat1@gmail.com', 'Web site support', $message, $headers);
94
  die(1);
140
  $selectedParams = sanitize_text_field($_POST['selectedParams']);
141
  $conditionId = (int)$_POST['conditionId'];
142
  $childClassName = sanitize_text_field($_POST['conditionsClassName']);
143
+ $childClassName = __NAMESPACE__.'\\'.esc_attr($childClassName);
144
  $obj = new $childClassName();
145
 
146
  $obj->renderConditionRowFromParam($selectedParams, $conditionId);
classes/ConditionBuilder.php CHANGED
@@ -75,7 +75,7 @@ class ConditionBuilder {
75
 
76
  public function render() {
77
  $childClassName = $this->getChildClassName();
78
- $content = '<div class="ycd-conditions-wrapper" data-child-class="'.$childClassName.'">';
79
  $content .= $this->renderConditions();
80
  $content .= '</div>';
81
 
@@ -105,7 +105,7 @@ class ConditionBuilder {
105
  $valueFromFirst = $this->getValueFromFirst();
106
  $savedData = $this->getSavedData();
107
 
108
- $conditions = '<div class="ycd-condion-wrapper row form-group" data-value-from-first="'.$valueFromFirst.'" data-condition-id="'.esc_attr($currentIndex).'">';
109
  if(empty($data['key3']) && isset($configData['values'][$data['key1']])) {
110
  $data['key3'] = '';
111
  }
@@ -121,7 +121,7 @@ class ConditionBuilder {
121
  }
122
  else {
123
  $lastIndex = --$currentConditionIndex;
124
- $paramKey = $data['key'.$lastIndex];
125
  }
126
  }
127
  $this->setParamKey($paramKey);
@@ -144,7 +144,7 @@ class ConditionBuilder {
144
  public function renderCurrentConditionRow($configValues, $attributes, $keyName, $key) {
145
  $paramKey = $this->getParamKey();
146
  $nameString = $this->getNameString();
147
- $name = $nameString.'['.$key.']['.$keyName.']';
148
  $currentData = $configValues[$paramKey];
149
  $currentAttributes = $attributes[$paramKey];
150
  $conditions = $this->renderConditionRow($name, $currentData, $currentAttributes);
75
 
76
  public function render() {
77
  $childClassName = $this->getChildClassName();
78
+ $content = '<div class="ycd-conditions-wrapper" data-child-class="'.esc_attr($childClassName).'">';
79
  $content .= $this->renderConditions();
80
  $content .= '</div>';
81
 
105
  $valueFromFirst = $this->getValueFromFirst();
106
  $savedData = $this->getSavedData();
107
 
108
+ $conditions = '<div class="ycd-condion-wrapper row form-group" data-value-from-first="'.esc_attr($valueFromFirst).'" data-condition-id="'.esc_attr($currentIndex).'">';
109
  if(empty($data['key3']) && isset($configData['values'][$data['key1']])) {
110
  $data['key3'] = '';
111
  }
121
  }
122
  else {
123
  $lastIndex = --$currentConditionIndex;
124
+ $paramKey = $data['key'.esc_attr($lastIndex)];
125
  }
126
  }
127
  $this->setParamKey($paramKey);
144
  public function renderCurrentConditionRow($configValues, $attributes, $keyName, $key) {
145
  $paramKey = $this->getParamKey();
146
  $nameString = $this->getNameString();
147
+ $name = esc_attr($nameString).'['.esc_attr($key).']['.esc_attr($keyName).']';
148
  $currentData = $configValues[$paramKey];
149
  $currentAttributes = $attributes[$paramKey];
150
  $conditions = $this->renderConditionRow($name, $currentData, $currentAttributes);
classes/DisplayRuleChecker.php CHANGED
@@ -53,7 +53,7 @@ class DisplayRuleChecker {
53
  global $post;
54
  $post_type = get_post_type($post->ID);
55
 
56
- if('selected_'.$post_type == $setting['key1']) {
57
 
58
  if(in_array($post->ID, array_keys($setting['key3']))) {
59
  return ($setting['key2'].'1');
@@ -61,7 +61,7 @@ class DisplayRuleChecker {
61
  return '';
62
  }
63
 
64
- if('all_'.$post_type == $setting['key1']) {
65
  return ($setting['key2'].'1');
66
  }
67
 
53
  global $post;
54
  $post_type = get_post_type($post->ID);
55
 
56
+ if('selected_'.esc_attr($post_type) == $setting['key1']) {
57
 
58
  if(in_array($post->ID, array_keys($setting['key3']))) {
59
  return ($setting['key2'].'1');
61
  return '';
62
  }
63
 
64
+ if('all_'.esc_attr($post_type) == $setting['key1']) {
65
  return ($setting['key2'].'1');
66
  }
67
 
classes/Filters.php CHANGED
@@ -31,7 +31,7 @@ class Filters {
31
 
32
  public function duplicatePost($actions, $post) {
33
  if (current_user_can('edit_posts') && $post->post_type == YCD_COUNTDOWN_POST_TYPE) {
34
- $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=ycd_duplicate_post_as_draft&post=' . $post->ID, YCD_COUNTDOWN_POST_TYPE, 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Clone</a>';
35
  }
36
  return $actions;
37
  }
@@ -86,7 +86,7 @@ class Filters {
86
  $id = $obj->getOptionValue('ycd-coming-soon-countdown');
87
  $position = $obj->getOptionValue('ycd-coming-soon-countdown-position');
88
  if ($enable && $position == $filterName) {
89
- return do_shortcode('[ycd_countdown id='.$id.']');
90
  }
91
 
92
  return '';
@@ -110,7 +110,7 @@ class Filters {
110
  }
111
 
112
  foreach ($allCustomPostTypes as $customPostType) {
113
- $attrs['selected_'.$customPostType] = array(
114
  'label' => __('Select Post(s)'),
115
  'fieldType' => 'select',
116
  'fieldAttributes' => array(
@@ -136,8 +136,8 @@ class Filters {
136
  }
137
 
138
  foreach ($allCustomPostTypes as $customPostType) {
139
- $keys['all_'.$customPostType] = 'All '.ucfirst($customPostType).'s';
140
- $keys['selected_'.$customPostType] = 'Select '.ucfirst($customPostType).'s';
141
  }
142
 
143
  return $keys;
31
 
32
  public function duplicatePost($actions, $post) {
33
  if (current_user_can('edit_posts') && $post->post_type == YCD_COUNTDOWN_POST_TYPE) {
34
+ $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=ycd_duplicate_post_as_draft&post=' . esc_attr($post->ID), YCD_COUNTDOWN_POST_TYPE, 'duplicate_nonce' ) . '" title="Duplicate this item" rel="permalink">Clone</a>';
35
  }
36
  return $actions;
37
  }
86
  $id = $obj->getOptionValue('ycd-coming-soon-countdown');
87
  $position = $obj->getOptionValue('ycd-coming-soon-countdown-position');
88
  if ($enable && $position == $filterName) {
89
+ return do_shortcode('[ycd_countdown id='.esc_attr($id).']');
90
  }
91
 
92
  return '';
110
  }
111
 
112
  foreach ($allCustomPostTypes as $customPostType) {
113
+ $attrs['selected_'.esc_attr($customPostType)] = array(
114
  'label' => __('Select Post(s)'),
115
  'fieldType' => 'select',
116
  'fieldAttributes' => array(
136
  }
137
 
138
  foreach ($allCustomPostTypes as $customPostType) {
139
+ $keys['all_'.esc_attr($customPostType)] = 'All '.ucfirst($customPostType).'s';
140
+ $keys['selected_'.esc_attr($customPostType)] = 'Select '.ucfirst($customPostType).'s';
141
  }
142
 
143
  return $keys;
classes/Installer.php CHANGED
@@ -112,7 +112,7 @@ class Installer {
112
 
113
  public static function createTables($blogId = '') {
114
  global $wpdb;
115
- $createTableHeader = 'CREATE TABLE IF NOT EXISTS '.$wpdb->prefix.$blogId;
116
 
117
  $subscriberTableQuery = $createTableHeader.YCD_COUNTDOWN_SUBSCRIBERS_TABLE.' (
118
  `id` int(11) NOT NULL AUTO_INCREMENT,
112
 
113
  public static function createTables($blogId = '') {
114
  global $wpdb;
115
+ $createTableHeader = 'CREATE TABLE IF NOT EXISTS '.esc_attr($wpdb->prefix).esc_attr($blogId);
116
 
117
  $subscriberTableQuery = $createTableHeader.YCD_COUNTDOWN_SUBSCRIBERS_TABLE.' (
118
  `id` int(11) NOT NULL AUTO_INCREMENT,
classes/RegisterPostType.php CHANGED
@@ -70,7 +70,7 @@ class RegisterPostType {
70
  return $supports;
71
  }
72
  require_once($typePath.$className.'.php');
73
- $className = __NAMESPACE__.'\\'.$className;
74
  if (!class_exists($className)) {
75
  return $supports;
76
  }
@@ -107,7 +107,7 @@ class RegisterPostType {
107
  wp_die(__($className.' class does not exist', YCD_TEXT_DOMAIN));
108
  }
109
  require_once($typePath.$className.'.php');
110
- $className = __NAMESPACE__.'\\'.$className;
111
  if (!class_exists($className)) {
112
  wp_die(__($className.' class does not exist', YCD_TEXT_DOMAIN));
113
  }
70
  return $supports;
71
  }
72
  require_once($typePath.$className.'.php');
73
+ $className = __NAMESPACE__.'\\'.esc_attr($className);
74
  if (!class_exists($className)) {
75
  return $supports;
76
  }
107
  wp_die(__($className.' class does not exist', YCD_TEXT_DOMAIN));
108
  }
109
  require_once($typePath.$className.'.php');
110
+ $className = __NAMESPACE__.'\\'.esc_attr($className);
111
  if (!class_exists($className)) {
112
  wp_die(__($className.' class does not exist', YCD_TEXT_DOMAIN));
113
  }
classes/Tickbox.php CHANGED
@@ -32,8 +32,8 @@ class Tickbox {
32
  wp_enqueue_script('jquery-ui-dialog');
33
  wp_register_style('ycd_jQuery_ui', YCD_COUNTDOWN_CSS_URL.'jQueryDialog/jquery-ui.css');
34
  wp_enqueue_style('ycd_jQuery_ui');
35
- $img = '<span class="wp-media-buttons-icon dashicons dashicons-clock" id="ycd-media-button" style="margin-right: 5px !important;"></span>';
36
- $output = '<a href="javascript:void(0);" class="button ycd-thickbox" style="padding-left: .4em;">' . $img . __('Countdown Builder', YCD_TEXT_DOMAIN) . '</a>';
37
 
38
  }
39
 
@@ -105,9 +105,9 @@ class Tickbox {
105
  <p>
106
  <label><?php _e('Select countdown', YCD_TEXT_DOMAIN); ?>:</label>
107
  <?php if(!empty($idTitle)): ?>
108
- <?php echo HelperFunction::createSelectBox($idTitle, '', array('name' => 'ycdOption', 'class' => 'ycd-countdowns')); ?>
109
  <?php else: ?>
110
- <a href="<?php echo YCD_ADMIN_URL.'edit.php?post_type='.YCD_COUNTDOWN_POST_TYPE.'&page='.YCD_COUNTDOWN_POST_TYPE; ?>"><?php _e('Add New Countdown', YCD_TEXT_DOMAIN); ?></a>
111
  <?php endif; ?>
112
  </p>
113
  <p class="submit">
32
  wp_enqueue_script('jquery-ui-dialog');
33
  wp_register_style('ycd_jQuery_ui', YCD_COUNTDOWN_CSS_URL.'jQueryDialog/jquery-ui.css');
34
  wp_enqueue_style('ycd_jQuery_ui');
35
+
36
+ $output = '<a href="javascript:void(0);" class="button ycd-thickbox" style="padding-left: .4em;"><span class="wp-media-buttons-icon dashicons dashicons-clock" id="ycd-media-button" style="margin-right: 5px !important;"></span>' . __('Countdown Builder', YCD_TEXT_DOMAIN) . '</a>';
37
 
38
  }
39
 
105
  <p>
106
  <label><?php _e('Select countdown', YCD_TEXT_DOMAIN); ?>:</label>
107
  <?php if(!empty($idTitle)): ?>
108
+ <?php HelperFunction::createSelectBox($idTitle, '', array('name' => 'ycdOption', 'class' => 'ycd-countdowns')); ?>
109
  <?php else: ?>
110
+ <a href="<?php echo esc_attr(YCD_ADMIN_URL).'edit.php?post_type='.esc_attr(YCD_COUNTDOWN_POST_TYPE).'&page='.esc_attr(YCD_COUNTDOWN_POST_TYPE); ?>"><?php _e('Add New Countdown', YCD_TEXT_DOMAIN); ?></a>
111
  <?php endif; ?>
112
  </p>
113
  <p class="submit">
classes/YcdWidget.php CHANGED
@@ -20,7 +20,7 @@ class ycd_countdown_widget extends WP_Widget {
20
  public function widget($args, $instance) {
21
  $cdId = (int)@$instance['ycdOption'];
22
 
23
- echo do_shortcode('[ycd_countdown id='.$cdId.']');
24
  }
25
 
26
  // Widget Backend
@@ -33,7 +33,7 @@ class ycd_countdown_widget extends WP_Widget {
33
  ?>
34
  <p>
35
  <label><?php _e('Select countdown', YCD_TEXT_DOMAIN); ?>:</label>
36
- <?php echo HelperFunction::createSelectBox($idTitle, $optionName, array('name' => $optionSaved)); ?>
37
  </p>
38
  <?php
39
  }
20
  public function widget($args, $instance) {
21
  $cdId = (int)@$instance['ycdOption'];
22
 
23
+ echo do_shortcode('[ycd_countdown id='.esc_attr($cdId).']');
24
  }
25
 
26
  // Widget Backend
33
  ?>
34
  <p>
35
  <label><?php _e('Select countdown', YCD_TEXT_DOMAIN); ?>:</label>
36
+ <?php HelperFunction::createSelectBox($idTitle, $optionName, array('name' => $optionSaved)); ?>
37
  </p>
38
  <?php
39
  }
classes/countdown/CircleCountdown.php CHANGED
@@ -2,7 +2,7 @@
2
  namespace ycd;
3
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
4
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
5
- echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".YCD_CONFIG_PATH."license.php'</span>";
6
  die();
7
  }
8
  }
@@ -71,7 +71,7 @@ class CircleCountdown extends Countdown {
71
  $imageUrl = $this->getOptionValue('ycd-bg-image-url');
72
  $bgImageSize = $this->getOptionValue('ycd-bg-image-size');
73
  $imageRepeat = $this->getOptionValue('ycd-bg-image-repeat');
74
- $styles = 'background-image: url('.$imageUrl.'); background-repeat: '.$imageRepeat.'; background-size: '.$bgImageSize.'; ';
75
 
76
  return $styles;
77
  }
@@ -98,12 +98,12 @@ class CircleCountdown extends Countdown {
98
  $minutesTextColor = $this->getOptionValue('ycd-countdown-minutes-text-color');
99
  $secondsTextColor = $this->getOptionValue('ycd-countdown-seconds-text-color');
100
  $circleAlignment = $this->getOptionValue('ycd-circle-alignment');
101
- $padding = $this->getOptionValue('ycd-countdown-padding').'px';
102
 
103
- $shadowHorizontal = $this->getOptionValue('ycd-circle-box-shadow-horizontal-length').'px';
104
- $shadowVertical = $this->getOptionValue('ycd-circle-box-shadow-vertical-length').'px';
105
- $shadowBlurRadius = $this->getOptionValue('ycd-circle-box-blur-radius').'px';
106
- $shadowSpreadRadius = $this->getOptionValue('ycd-circle-box-spread-radius').'px';
107
  $shadowColor = $this->getOptionvalue('ycd-circle-box-shadow-color');
108
 
109
  ob_start();
2
  namespace ycd;
3
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
4
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
5
+ echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".esc_attr(YCD_CONFIG_PATH)."license.php'</span>";
6
  die();
7
  }
8
  }
71
  $imageUrl = $this->getOptionValue('ycd-bg-image-url');
72
  $bgImageSize = $this->getOptionValue('ycd-bg-image-size');
73
  $imageRepeat = $this->getOptionValue('ycd-bg-image-repeat');
74
+ $styles = 'background-image: url('.esc_attr($imageUrl).'); background-repeat: '.esc_attr($imageRepeat).'; background-size: '.esc_attr($bgImageSize).'; ';
75
 
76
  return $styles;
77
  }
98
  $minutesTextColor = $this->getOptionValue('ycd-countdown-minutes-text-color');
99
  $secondsTextColor = $this->getOptionValue('ycd-countdown-seconds-text-color');
100
  $circleAlignment = $this->getOptionValue('ycd-circle-alignment');
101
+ $padding = esc_attr($this->getOptionValue('ycd-countdown-padding')).'px';
102
 
103
+ $shadowHorizontal = esc_attr($this->getOptionValue('ycd-circle-box-shadow-horizontal-length')).'px';
104
+ $shadowVertical = esc_attr($this->getOptionValue('ycd-circle-box-shadow-vertical-length')).'px';
105
+ $shadowBlurRadius = esc_attr($this->getOptionValue('ycd-circle-box-blur-radius')).'px';
106
+ $shadowSpreadRadius = esc_attr($this->getOptionValue('ycd-circle-box-spread-radius')).'px';
107
  $shadowColor = $this->getOptionvalue('ycd-circle-box-shadow-color');
108
 
109
  ob_start();
classes/countdown/ComingSoon.php CHANGED
@@ -20,12 +20,7 @@ Class ComingSoon {
20
 
21
  $content .= '<meta name="description" content="'.esc_attr($description).'">';
22
  $content .= '<link href="'.esc_attr($favicon).'" rel="shortcut icon" type="image/x-icon" >';
23
- if (!empty($customJs)) {
24
- $content .= "<script>$customJs</script>";
25
- }
26
- if (!empty($customCSS)) {
27
- $content .= "<style>$customCSS</style>";
28
- }
29
 
30
  return $content;
31
  }
@@ -40,7 +35,7 @@ Class ComingSoon {
40
  public function comingSoonPageHeader($content)
41
  {
42
  $header = $this->getOptionValue('ycd-coming-soon-headline');
43
- return '<h1>'.$header.'</h1>';
44
  }
45
 
46
  public function comingSoonPageMessage($content)
20
 
21
  $content .= '<meta name="description" content="'.esc_attr($description).'">';
22
  $content .= '<link href="'.esc_attr($favicon).'" rel="shortcut icon" type="image/x-icon" >';
23
+
 
 
 
 
 
24
 
25
  return $content;
26
  }
35
  public function comingSoonPageHeader($content)
36
  {
37
  $header = $this->getOptionValue('ycd-coming-soon-headline');
38
+ return '<h1>'.esc_attr($header).'</h1>';
39
  }
40
 
41
  public function comingSoonPageMessage($content)
classes/countdown/Countdown.php CHANGED
@@ -194,7 +194,7 @@ abstract class Countdown {
194
 
195
  $seconds = $days*86400 + $hours*60*60 + $minutes*60 + $secondsSaved;
196
 
197
- $options['ycd-countdown-duration-saved-str-time'] = strtotime('+'.$seconds.' seconds');
198
  }
199
  }
200
 
@@ -318,7 +318,7 @@ abstract class Countdown {
318
 
319
  public static function getClassNameCountdownType($type) {
320
  $typeName = ucfirst(strtolower($type));
321
- $className = $typeName.'Countdown';
322
 
323
  return $className;
324
  }
@@ -450,7 +450,7 @@ abstract class Countdown {
450
  if(YCD_PKG_VERSION >= $level) {
451
  $isAvailable = true;
452
  }
453
- $isAvailable = apply_filters('ycd'.$type.'ExtensionAvailable', $isAvailable);
454
  $typeObj->setAvailable($isAvailable);
455
  $countdownTypesObj[] = $typeObj;
456
  }
@@ -473,8 +473,8 @@ abstract class Countdown {
473
  return false;
474
  }
475
 
476
- require_once($typePath.$className.'.php');
477
- $className = __NAMESPACE__.'\\'.$className;
478
  $postTitle = get_the_title($id);
479
 
480
  $typeObj = new $className();
@@ -605,7 +605,7 @@ abstract class Countdown {
605
  $title = __('(no title)', YCD_TEXT_DOMAIN);
606
  }
607
 
608
- $idTitle[$id] = $title .' - '. $countdown->getTypeTitle();
609
  }
610
 
611
  return $idTitle;
@@ -901,7 +901,7 @@ abstract class Countdown {
901
  return false;
902
  }
903
 
904
- if(!empty($_COOKIE['YcdDontShow'.$id]) && $this->getOptionValue('ycd-countdown-showing-limitation')) {
905
  $status = false;
906
  }
907
 
@@ -925,7 +925,7 @@ abstract class Countdown {
925
  public function renderView() {
926
  $id = $this->getId();
927
 
928
- $content = '<div class="ycd-all-content-wrapper ycd-countdown-content-wrapper-'.$id.'">';
929
  $content .= apply_filters('ycdCountdownBeforeContent', '', $this);
930
  $content .= $this->getViewContent();
931
 
@@ -953,7 +953,7 @@ abstract class Countdown {
953
  $allContent = $countdownContent.$content;
954
  }
955
  $allContent .= apply_filters('ycdCountdownAfterContent', '', $this);
956
- $allContent .= '<style>.ycd-circle-'.$id.'-wrapper {text-align: '.$horizontal.' !important;}</style>';
957
  return $allContent;
958
  }
959
 
194
 
195
  $seconds = $days*86400 + $hours*60*60 + $minutes*60 + $secondsSaved;
196
 
197
+ $options['ycd-countdown-duration-saved-str-time'] = strtotime('+'.esc_attr($seconds).' seconds');
198
  }
199
  }
200
 
318
 
319
  public static function getClassNameCountdownType($type) {
320
  $typeName = ucfirst(strtolower($type));
321
+ $className = esc_attr($typeName).'Countdown';
322
 
323
  return $className;
324
  }
450
  if(YCD_PKG_VERSION >= $level) {
451
  $isAvailable = true;
452
  }
453
+ $isAvailable = apply_filters('ycd'.esc_attr($type).'ExtensionAvailable', $isAvailable);
454
  $typeObj->setAvailable($isAvailable);
455
  $countdownTypesObj[] = $typeObj;
456
  }
473
  return false;
474
  }
475
 
476
+ require_once(esc_attr($typePath).esc_attr($className).'.php');
477
+ $className = __NAMESPACE__.'\\'.esc_attr($className);
478
  $postTitle = get_the_title($id);
479
 
480
  $typeObj = new $className();
605
  $title = __('(no title)', YCD_TEXT_DOMAIN);
606
  }
607
 
608
+ $idTitle[$id] = $title .' - '. esc_attr($countdown->getTypeTitle());
609
  }
610
 
611
  return $idTitle;
901
  return false;
902
  }
903
 
904
+ if(!empty($_COOKIE['YcdDontShow'.esc_attr($id)]) && $this->getOptionValue('ycd-countdown-showing-limitation')) {
905
  $status = false;
906
  }
907
 
925
  public function renderView() {
926
  $id = $this->getId();
927
 
928
+ $content = '<div class="ycd-all-content-wrapper ycd-countdown-content-wrapper-'.esc_attr($id).'">';
929
  $content .= apply_filters('ycdCountdownBeforeContent', '', $this);
930
  $content .= $this->getViewContent();
931
 
953
  $allContent = $countdownContent.$content;
954
  }
955
  $allContent .= apply_filters('ycdCountdownAfterContent', '', $this);
956
+ $allContent .= '<style>.ycd-circle-'.esc_attr($id).'-wrapper {text-align: '.esc_attr($horizontal).' !important;}</style>';
957
  return $allContent;
958
  }
959
 
classes/countdown/CountdownModel.php CHANGED
@@ -2,7 +2,7 @@
2
  namespace ycd;
3
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
4
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
5
- echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".YCD_CONFIG_PATH."license.php'</span>";
6
  die();
7
  }
8
  }
2
  namespace ycd;
3
  if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
4
  if (file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
5
+ echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".esc_attr(YCD_CONFIG_PATH)."license.php'</span>";
6
  die();
7
  }
8
  }
classes/countdown/SimpleCountdown.php CHANGED
@@ -118,7 +118,7 @@ class SimpleCountdown extends Countdown
118
  {
119
  $unites = $this->getTimeUnites();
120
  $availableUnites = array_filter($unites, function($unite) {
121
- return $this->getOptionValue('ycd-simple-enable-'.$unite);
122
  });
123
  $textToTop = $this->getOptionValue('ycd-text-to-top');
124
  $this->renderScripts();
@@ -181,8 +181,8 @@ class SimpleCountdown extends Countdown
181
  $unites = $this->getTimeUnites();
182
 
183
  foreach ($unites as $unite) {
184
- $enableName = 'ycd-simple-enable-'.$unite;
185
- $labelName = 'ycd-simple-'.$unite.'-text';
186
  $options[$enableName] = $this->getOptionValue($enableName);
187
  $options[$labelName] = $this->getOptionValue($labelName);
188
  }
118
  {
119
  $unites = $this->getTimeUnites();
120
  $availableUnites = array_filter($unites, function($unite) {
121
+ return $this->getOptionValue('ycd-simple-enable-'.esc_attr($unite));
122
  });
123
  $textToTop = $this->getOptionValue('ycd-text-to-top');
124
  $this->renderScripts();
181
  $unites = $this->getTimeUnites();
182
 
183
  foreach ($unites as $unite) {
184
+ $enableName = 'ycd-simple-enable-'.esc_attr($unite);
185
+ $labelName = 'ycd-simple-'.esc_attr($unite).'-text';
186
  $options[$enableName] = $this->getOptionValue($enableName);
187
  $options[$labelName] = $this->getOptionValue($labelName);
188
  }
classes/countdown/StickyCountdown.php CHANGED
@@ -24,10 +24,10 @@ class StickyCountdown extends Countdown {
24
  public function includeStyles() {
25
  $this->includeGeneralScripts();
26
  $data = array(
27
- 'days' => $this->getOptionValue('ycd-sticky-countdown-days'),
28
- 'hours' => $this->getOptionValue('ycd-sticky-countdown-hours'),
29
- 'minutes' => $this->getOptionValue('ycd-sticky-countdown-minutes'),
30
- 'seconds' => $this->getOptionValue('ycd-sticky-countdown-seconds')
31
  );
32
  ScriptsIncluder::registerScript('Sticky.js', array('dirUrl' => YCD_COUNTDOWN_JS_URL, 'dep' => array('jquery')));
33
  ScriptsIncluder::localizeScript('Sticky.js', 'YCD_STICKY_ARGS', $data);
@@ -151,7 +151,7 @@ class StickyCountdown extends Countdown {
151
  return '<div class="ycd-sticky-clock"></div>';
152
  }
153
  $id = $this->getOptionValue('ycd-sticky-countdown');
154
- $content = do_shortcode('[ycd_countdown id='.$id.']');
155
 
156
  return $content;
157
  }
@@ -247,9 +247,6 @@ class StickyCountdown extends Countdown {
247
 
248
  $settings = json_encode($settings);
249
 
250
- $stickyUrl = $this->getOptionValue('ycd-sticky-url');
251
-
252
- $actionUrl = "window.location.href = '$stickyUrl'";
253
 
254
 
255
  $textContent = $this->getOptionValue('ycd-sticky-text');
@@ -284,7 +281,7 @@ class StickyCountdown extends Countdown {
284
  foreach ($sectionsOrderArray as $sectionKey) {
285
  $content .= $sectionsHtml[$sectionKey];
286
  }
287
- $content .= '<div>'.$this->renderSubscriptionForm().'</div>';
288
  $content .= '</div>';
289
 
290
  $content .= $this->renderStyles();
24
  public function includeStyles() {
25
  $this->includeGeneralScripts();
26
  $data = array(
27
+ 'days' => esc_attr( $this->getOptionValue('ycd-sticky-countdown-days')),
28
+ 'hours' => esc_attr($this->getOptionValue('ycd-sticky-countdown-hours')),
29
+ 'minutes' => esc_attr($this->getOptionValue('ycd-sticky-countdown-minutes')),
30
+ 'seconds' => esc_attr($this->getOptionValue('ycd-sticky-countdown-seconds'))
31
  );
32
  ScriptsIncluder::registerScript('Sticky.js', array('dirUrl' => YCD_COUNTDOWN_JS_URL, 'dep' => array('jquery')));
33
  ScriptsIncluder::localizeScript('Sticky.js', 'YCD_STICKY_ARGS', $data);
151
  return '<div class="ycd-sticky-clock"></div>';
152
  }
153
  $id = $this->getOptionValue('ycd-sticky-countdown');
154
+ $content = do_shortcode('[ycd_countdown id='.esc_attr($id).']');
155
 
156
  return $content;
157
  }
247
 
248
  $settings = json_encode($settings);
249
 
 
 
 
250
 
251
 
252
  $textContent = $this->getOptionValue('ycd-sticky-text');
281
  foreach ($sectionsOrderArray as $sectionKey) {
282
  $content .= $sectionsHtml[$sectionKey];
283
  }
284
+ $content .= '<div>'.esc_attr($this->renderSubscriptionForm()).'</div>';
285
  $content .= '</div>';
286
 
287
  $content .= $this->renderStyles();
classes/countdown/TimerCountdown.php CHANGED
@@ -86,41 +86,41 @@ class TimerCountdown extends Countdown {
86
  }
87
  ob_start();
88
  ?>
89
- <style type="text/css" id="ycd-digit-font-family-<?php _e($id); ?>">
90
- .ycd-timer-wrapper-<?php _e($id); ?> .ycd-timer-box > span {
91
- font-family: <?php _e($fontFamily) ?>;
92
  }
93
  </style>
94
- <style type="text/css" id="ycd-digit-font-size-<?php _e($id); ?>">
95
- .ycd-timer-time.ycd-timer-wrapper-<?php _e($id); ?> {
96
- font-size: <?php _e($fontSize) ?>;
97
  }
98
  </style>
99
- <style type="text/css" id="ycd-timer-content-padding-<?php _e($id); ?>">
100
  .ycd-timer-content-wrapper-<?php echo esc_attr($id); ?> {
101
- padding: <?php _e($timerContentPadding) ?>;
102
  }
103
  </style>
104
- <style type="text/css" id="ycd-timer-content-padding-<?php _e($id); ?>">
105
- .ycd-countdown-wrapper .ycd-timer-start-stop-<?php _e($id); ?> {
106
- background-color: <?php _e($startStopBgColor) ?>;
107
- color: <?php _e($startStopColor) ?>;
108
  }
109
- .ycd-countdown-wrapper .ycd-timer-reset-<?php _e($id); ?> {
110
- background-color: <?php _e($resetBgColor) ?>;
111
- color: <?php _e($resetColor) ?>;
112
  }
113
  </style>
114
  <style type="text/css">
115
- .ycd-timer-wrapper-<?php _e($id); ?> .ycd-timer-box span {
116
- color: <?php _e($timerColor); ?> <?php _e($important); ?>;
117
  }
118
- .ycd-timer-wrapper-<?php _e($id); ?> {
119
- <?php _e('background-image: url('.$imageUrl.'); background-repeat: '.$imageRepeat.'; background-size: '.$bgImageSize.'; '); ?>
120
- text-align: <?php _e($textAlign); ?>;
121
  }
122
  .ycd-timer-unit-text {
123
- font-size: <?php _e($labelFontSize); ?>;
124
  }
125
  </style>
126
  <?php
86
  }
87
  ob_start();
88
  ?>
89
+ <style type="text/css" id="ycd-digit-font-family-<?php echo esc_attr($id); ?>">
90
+ .ycd-timer-wrapper-<?php echo esc_attr($id); ?> .ycd-timer-box > span {
91
+ font-family: <?php echo esc_attr($fontFamily) ?>;
92
  }
93
  </style>
94
+ <style type="text/css" id="ycd-digit-font-size-<?php echo esc_attr($id); ?>">
95
+ .ycd-timer-time.ycd-timer-wrapper-<?php echo esc_attr($id); ?> {
96
+ font-size: <?php echo esc_attr($fontSize) ?>;
97
  }
98
  </style>
99
+ <style type="text/css" id="ycd-timer-content-padding-<?php echo esc_attr($id); ?>">
100
  .ycd-timer-content-wrapper-<?php echo esc_attr($id); ?> {
101
+ padding: <?php echo esc_attr($timerContentPadding) ?>;
102
  }
103
  </style>
104
+ <style type="text/css" id="ycd-timer-content-padding-<?php echo esc_attr($id); ?>">
105
+ .ycd-countdown-wrapper .ycd-timer-start-stop-<?php echo esc_attr($id); ?> {
106
+ background-color: <?php echo esc_attr($startStopBgColor) ?>;
107
+ color: <?php echo esc_attr($startStopColor) ?>;
108
  }
109
+ .ycd-countdown-wrapper .ycd-timer-reset-<?php echo esc_attr($id); ?> {
110
+ background-color: <?php echo esc_attr($resetBgColor) ?>;
111
+ color: <?php echo esc_attr($resetColor) ?>;
112
  }
113
  </style>
114
  <style type="text/css">
115
+ .ycd-timer-wrapper-<?php echo esc_attr($id); ?> .ycd-timer-box span {
116
+ color: <?php echo esc_attr($timerColor); ?> <?php echo esc_attr($important); ?>;
117
  }
118
+ .ycd-timer-wrapper-<?php echo esc_attr($id); ?> {
119
+ <?php echo esc_attr('background-image: url('.esc_attr($imageUrl).'); background-repeat: '.esc_attr($imageRepeat).'; background-size: '.esc_attr($bgImageSize).'; '); ?>
120
+ text-align: <?php echo esc_attr($textAlign); ?>;
121
  }
122
  .ycd-timer-unit-text {
123
+ font-size: <?php echo esc_attr($labelFontSize); ?>;
124
  }
125
  </style>
126
  <?php
config/boot.php CHANGED
@@ -3,7 +3,7 @@ require_once dirname(__FILE__).'/config.php';
3
 
4
  if(YCD_PKG_VERSION > YCD_FREE_VERSION) {
5
  if(file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
6
- echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".YCD_CONFIG_PATH."license.php'</span>";
7
  die();
8
  }
9
  }
3
 
4
  if(YCD_PKG_VERSION > YCD_FREE_VERSION) {
5
  if(file_exists(WP_PLUGIN_DIR.'/countdown-builder')) {
6
+ echo "<span><strong>Fatal error:</strong> require_once(): Failed opening required '".esc_attr(YCD_CONFIG_PATH)."license.php'</span>";
7
  die();
8
  }
9
  }
config/config.php CHANGED
@@ -171,7 +171,7 @@ class YcdCountdownConfig
171
  public static function getVersionString() {
172
  $version = 'YCD_VERSION='.YCD_VERSION;
173
  if(YCD_PKG_VERSION > YCD_FREE_VERSION) {
174
- $version = 'YCD_VERSION_PRO=' . YCD_VERSION_PRO.";";
175
  }
176
 
177
  return $version;
171
  public static function getVersionString() {
172
  $version = 'YCD_VERSION='.YCD_VERSION;
173
  if(YCD_PKG_VERSION > YCD_FREE_VERSION) {
174
+ $version = 'YCD_VERSION_PRO=' . esc_attr(YCD_VERSION_PRO).";";
175
  }
176
 
177
  return $version;
countdown-builder.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Countdown builder
4
  * Description: The best countdown plugin by Adam skaat
5
- * Version: 2.3.9.4
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 by Adam skaat
5
+ * Version: 2.3.9.5
6
  * Author: Adam Skaat
7
  * Author URI: https://edmonsoft.com/countdown
8
  * License: GPLv2
helpers/AdminHelper.php CHANGED
@@ -839,11 +839,11 @@ class AdminHelper {
839
  if(!empty($attrs) && isset($attrs)) {
840
 
841
  foreach ($attrs as $attrName => $attrValue) {
842
- $attrString .= ''.$attrName.'="'.$attrValue.'" ';
843
  }
844
  }
845
 
846
- $selectBox = '<select '.$attrString.'>';
847
  if (!is_array($data)) {
848
  $data = array();
849
  }
@@ -863,7 +863,7 @@ class AdminHelper {
863
  $selected = 'selected';
864
  }
865
 
866
- $selectBox .= '<option value="'.$value.'" '.$selected.'>'.$label.'</option>';
867
  $selected = '';
868
  }
869
 
@@ -882,7 +882,7 @@ class AdminHelper {
882
  $month = date('F', $date);
883
  $year = date('Y', $date);
884
 
885
- return $month.' '.$year;
886
  }
887
 
888
  /**
@@ -903,7 +903,7 @@ class AdminHelper {
903
  }
904
 
905
  foreach ($attrs as $attrKey => $attrValue) {
906
- $attrStr .= $attrKey.'="'.$attrValue.'" ';
907
  }
908
 
909
  return $attrStr;
@@ -928,7 +928,7 @@ class AdminHelper {
928
  if(!empty($attrs) && isset($attrs)) {
929
 
930
  foreach ($attrs as $attrName => $attrValue) {
931
- $attrString .= ''.$attrName.'="'.$attrValue.'" ';
932
  }
933
  }
934
 
@@ -941,7 +941,7 @@ class AdminHelper {
941
  $checked = 'checked';
942
  }
943
 
944
- $radioButtons .= "<input type=\"radio\" value=\"$value\" $attrString $checked>";
945
  }
946
 
947
  return $radioButtons;
@@ -1007,44 +1007,6 @@ class AdminHelper {
1007
 
1008
  public static function subscribersRelatedQuery($query = '')
1009
  {
1010
- global $wpdb;
1011
- $subscribersTablename = $wpdb->prefix.YCD_COUNTDOWN_SUBSCRIBERS_TABLE;
1012
- $postsTablename = $wpdb->prefix.YCD_POSTS_TABLE_NAME;
1013
-
1014
- if ($query == '') {
1015
- $query = 'SELECT email, cDate, '.$postsTablename.'.post_title AS type FROM '.$subscribersTablename.' ';
1016
- }
1017
- $searchQuery = '';
1018
- $filterCriteria = '';
1019
-
1020
- $query .= ' LEFT JOIN '.$postsTablename.' ON '.$postsTablename.'.ID='.$subscribersTablename.'.type';
1021
-
1022
- if (isset($_GET['ycd-subscription-id']) && !empty($_GET['ycd-subscription-id'])) {
1023
- $filterCriteria = sanitize_text_field($_GET['ycd-subscription-id']);
1024
- if ($filterCriteria != 'all') {
1025
- $searchQuery .= $subscribersTablename.".type = $filterCriteria";
1026
- }
1027
- }
1028
- if ($filterCriteria != '' && $filterCriteria != 'all' && isset($_GET['s']) && !empty($_GET['s'])) {
1029
- $searchQuery .= ' LIKE ';
1030
- }
1031
- if (isset($_GET['s']) && !empty($_GET['s'])) {
1032
- $searchCriteria = sanitize_text_field($_GET['s']);
1033
- $searchQuery .= " email LIKE '%$searchCriteria%' or $postsTablename.post_title LIKE '%$searchCriteria%'";
1034
- }
1035
- if (isset($_GET['ycd-subscribers-dates']) && !empty($_GET['ycd-subscribers-dates'])) {
1036
- $filterCriteria = sanitize_text_field($_GET['ycd-subscribers-dates']);
1037
- if ($filterCriteria != 'all') {
1038
- if ($searchQuery != '') {
1039
- $searchQuery .= ' AND ';
1040
- }
1041
- $searchQuery .= " cDate LIKE '$filterCriteria%'";
1042
- }
1043
- }
1044
- if ($searchQuery != '') {
1045
- $query .= " WHERE ($searchQuery)";
1046
- }
1047
-
1048
  return $query;
1049
  }
1050
 
@@ -1454,7 +1416,7 @@ class AdminHelper {
1454
  ),
1455
  admin_url( 'update.php' )
1456
  ),
1457
- $action.'_'.$key
1458
  );
1459
 
1460
  return $contactFormUrl;
@@ -1471,7 +1433,7 @@ class AdminHelper {
1471
  if (preg_match($shortUrlRegex, $url, $matches)) {
1472
  $youtube_id = $matches[count($matches) - 1];
1473
  }
1474
- return 'https://www.youtube.com/embed/' . $youtube_id ;
1475
  }
1476
 
1477
  /**
839
  if(!empty($attrs) && isset($attrs)) {
840
 
841
  foreach ($attrs as $attrName => $attrValue) {
842
+ $attrString .= ''.esc_attr($attrName).'="'.esc_attr($attrValue).'" ';
843
  }
844
  }
845
 
846
+ $selectBox = '<select '.esc_attr($attrString).'>';
847
  if (!is_array($data)) {
848
  $data = array();
849
  }
863
  $selected = 'selected';
864
  }
865
 
866
+ $selectBox .= '<option value="'.esc_attr($value).'" '.esc_attr($selected).'>'.esc_attr($label).'</option>';
867
  $selected = '';
868
  }
869
 
882
  $month = date('F', $date);
883
  $year = date('Y', $date);
884
 
885
+ return $month.' '.esc_attr($year);
886
  }
887
 
888
  /**
903
  }
904
 
905
  foreach ($attrs as $attrKey => $attrValue) {
906
+ $attrStr .= esc_attr($attrKey).'="'.esc_attr($attrValue).'" ';
907
  }
908
 
909
  return $attrStr;
928
  if(!empty($attrs) && isset($attrs)) {
929
 
930
  foreach ($attrs as $attrName => $attrValue) {
931
+ $attrString .= ''.esc_attr($attrName).'="'.esc_attr($attrValue).'" ';
932
  }
933
  }
934
 
941
  $checked = 'checked';
942
  }
943
 
944
+ $radioButtons .= "<input type=\"radio\" value=\"'".esc_attr($value)."'\" ".esc_attr($attrString)." ".esc_attr($checked).">";
945
  }
946
 
947
  return $radioButtons;
1007
 
1008
  public static function subscribersRelatedQuery($query = '')
1009
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1010
  return $query;
1011
  }
1012
 
1416
  ),
1417
  admin_url( 'update.php' )
1418
  ),
1419
+ $action.'_'.esc_attr($key)
1420
  );
1421
 
1422
  return $contactFormUrl;
1433
  if (preg_match($shortUrlRegex, $url, $matches)) {
1434
  $youtube_id = $matches[count($matches) - 1];
1435
  }
1436
+ return 'https://www.youtube.com/embed/' . esc_attr($youtube_id) ;
1437
  }
1438
 
1439
  /**
helpers/HelperFunctions.php CHANGED
@@ -13,7 +13,7 @@ class HelperFunction
13
  if(!empty($attrs) && isset($attrs)) {
14
 
15
  foreach ($attrs as $attrName => $attrValue) {
16
- $attrString .= ''.$attrName.'="'.$attrValue.'" ';
17
  }
18
  }
19
 
@@ -55,7 +55,7 @@ class HelperFunction
55
  $selected = '';
56
  $attrString = self::createAttrs($attrs);
57
 
58
- $selectBox = '<select '.$attrString.'>';
59
 
60
  foreach($data as $value => $label) {
61
 
@@ -73,7 +73,7 @@ class HelperFunction
73
  $selected = 'selected';
74
  }
75
 
76
- $selectBox .= '<option value="'.$value.'" '.$selected.'>'.$label.'</option>';
77
  $selected = '';
78
  }
79
 
13
  if(!empty($attrs) && isset($attrs)) {
14
 
15
  foreach ($attrs as $attrName => $attrValue) {
16
+ $attrString .= ''.esc_attr($attrName).'="'.esc_attr($attrValue).'" ';
17
  }
18
  }
19
 
55
  $selected = '';
56
  $attrString = self::createAttrs($attrs);
57
 
58
+ $selectBox = '<select '.esc_attr($attrString).'>';
59
 
60
  foreach($data as $value => $label) {
61
 
73
  $selected = 'selected';
74
  }
75
 
76
+ $selectBox .= '<option value="'.esc_attr($value).'" '.esc_attr($selected).'>'.esc_attr($label).'</option>';
77
  $selected = '';
78
  }
79
 
helpers/MultipleChoiceButton.php CHANGED
@@ -181,7 +181,7 @@ class MultipleChoiceButton {
181
  }
182
 
183
  $label = "<div $parentAttrsStr>";
184
- $label .= "<input id='".$value."' $inputAttrStr $checked >";
185
  $label .= '</div>';
186
 
187
  return $label;
@@ -211,8 +211,8 @@ class MultipleChoiceButton {
211
  $labelName = $labelData['name'];
212
  }
213
 
214
- $label = "<div $parentAttrsStr>";
215
- $label .= "<label for='".$value."'>$labelName</label>";
216
  $label .= '</div>';
217
 
218
  return $label;
@@ -235,7 +235,7 @@ class MultipleChoiceButton {
235
  }
236
 
237
  foreach ($attrs as $attrKey => $attrValue) {
238
- $attrStr .= $attrKey.'="'.$attrValue.'" ';
239
  }
240
 
241
  return $attrStr;
181
  }
182
 
183
  $label = "<div $parentAttrsStr>";
184
+ $label .= "<input id='".esc_attr($value)."' ".esc_attr($inputAttrStr)." ".esc_attr($checked)." >";
185
  $label .= '</div>';
186
 
187
  return $label;
211
  $labelName = $labelData['name'];
212
  }
213
 
214
+ $label = "<div ".esc_attr($parentAttrsStr).">";
215
+ $label .= "<label for='".esc_attr($value)."'>".esc_attr($labelName)."</label>";
216
  $label .= '</div>';
217
 
218
  return $label;
235
  }
236
 
237
  foreach ($attrs as $attrKey => $attrValue) {
238
+ $attrStr .= esc_attr($attrKey).'="'.esc_attr($attrValue).'" ';
239
  }
240
 
241
  return $attrStr;
helpers/ScriptsIncluder.php CHANGED
@@ -38,7 +38,7 @@ class ScriptsIncluder {
38
  $dirUrl = $args['dirUrl'];
39
  }
40
 
41
- wp_register_style($fileName, $dirUrl.''.$fileName, $dep, $ver, $media);
42
  }
43
 
44
  /**
@@ -110,7 +110,7 @@ class ScriptsIncluder {
110
  $dirUrl = $args['dirUrl'];
111
  }
112
 
113
- wp_register_script($fileName, $dirUrl.''.$fileName, $dep, $ver, $inFooter);
114
  }
115
 
116
  /**
38
  $dirUrl = $args['dirUrl'];
39
  }
40
 
41
+ wp_register_style($fileName, esc_attr($dirUrl).''.esc_attr($fileName), $dep, $ver, $media);
42
  }
43
 
44
  /**
110
  $dirUrl = $args['dirUrl'];
111
  }
112
 
113
+ wp_register_script($fileName, esc_attr($dirUrl).''.esc_attr($fileName), $dep, $ver, $inFooter);
114
  }
115
 
116
  /**
helpers/ShowReviewNotice.php CHANGED
@@ -95,7 +95,7 @@ class YcdShowReviewNotice {
95
  private function getMaxOpenDaysMessage($type) {
96
  $getUsageDays = $this->getPopupUsageDays();
97
  $userName = $this->getCurrentUserDisplayName();
98
- $firstHeader = '<h1 class="ycd-review-h1"><strong class="ycd-review-strong">Wow! '.$userName.'</strong> You’ve been using Countdown on your site for '.$getUsageDays.' days</h1>';
99
  $popupContent = $this->getMaxOepnContent($firstHeader, $type);
100
 
101
  $popupContent .= $this->showReviewBlockJs();
@@ -190,7 +190,7 @@ class YcdShowReviewNotice {
190
  </div>
191
  <div class="ycd-buttons-wrapper">
192
  <button class="press press-grey ycd-button-1 ycd-already-did-review" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>">I already did</button>
193
- <button class="press press-lightblue ycd-button-3 ycd-already-did-review" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>" onclick="window.open('<?php echo YCD_COUNTDOWN_REVIEW_URL; ?>')">You worth it!</button>
194
  <button class="press press-grey ycd-button-2 ycd-show-popup-period" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>" data-message-type="<?php echo esc_attr($type); ?>">Maybe later</button>
195
  </div>
196
  </div>
95
  private function getMaxOpenDaysMessage($type) {
96
  $getUsageDays = $this->getPopupUsageDays();
97
  $userName = $this->getCurrentUserDisplayName();
98
+ $firstHeader = '<h1 class="ycd-review-h1"><strong class="ycd-review-strong">Wow! '.esc_attr($userName).'</strong> You’ve been using Countdown on your site for '.esc_attr($getUsageDays).' days</h1>';
99
  $popupContent = $this->getMaxOepnContent($firstHeader, $type);
100
 
101
  $popupContent .= $this->showReviewBlockJs();
190
  </div>
191
  <div class="ycd-buttons-wrapper">
192
  <button class="press press-grey ycd-button-1 ycd-already-did-review" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>">I already did</button>
193
+ <button class="press press-lightblue ycd-button-3 ycd-already-did-review" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>" onclick="window.open('<?php echo esc_attr(YCD_COUNTDOWN_REVIEW_URL); ?>')">You worth it!</button>
194
  <button class="press press-grey ycd-button-2 ycd-show-popup-period" data-ajaxnonce="<?php echo esc_attr($ajaxNonce); ?>" data-message-type="<?php echo esc_attr($type); ?>">Maybe later</button>
195
  </div>
196
  </div>
helpers/TypesNavBar.php CHANGED
@@ -10,7 +10,7 @@ class TypesNavBar
10
  ?>
11
  <div id="crontrol-header-ycd-groups">
12
  <ul class="nav nav-tab-wrapper">
13
- <?php echo self::renderOptions()?>
14
  </ul>
15
  </div>
16
  <?php
@@ -25,7 +25,7 @@ class TypesNavBar
25
  global $YCD_TYPES;
26
  $groups = $YCD_TYPES['typesGroupList'];
27
  $activeGroupName = self::getActiveGroupName();
28
- $url = admin_url('edit.php?post_type='.YCD_COUNTDOWN_POST_TYPE.'&page='.YCD_COUNTDOWN_POST_TYPE);
29
  $urls = '';
30
  foreach ($groups as $groupKey => $groupTitle) {
31
  $activeClass = '';
@@ -33,7 +33,7 @@ class TypesNavBar
33
  if ($activeGroupName == $groupKey) {
34
  $activeClass = 'nav-tab-active';
35
  }
36
- $urls .= '<a href="'.$url.'&ycd_group_name='.$groupKey.'" class="nav-tab '.$activeClass.'">'.$groupTitle.'</a>';
37
  }
38
 
39
  return $urls;
10
  ?>
11
  <div id="crontrol-header-ycd-groups">
12
  <ul class="nav nav-tab-wrapper">
13
+ <?php self::renderOptions()?>
14
  </ul>
15
  </div>
16
  <?php
25
  global $YCD_TYPES;
26
  $groups = $YCD_TYPES['typesGroupList'];
27
  $activeGroupName = self::getActiveGroupName();
28
+ $url = admin_url('edit.php?post_type='.esc_attr(YCD_COUNTDOWN_POST_TYPE).'&page='.esc_attr(YCD_COUNTDOWN_POST_TYPE));
29
  $urls = '';
30
  foreach ($groups as $groupKey => $groupTitle) {
31
  $activeClass = '';
33
  if ($activeGroupName == $groupKey) {
34
  $activeClass = 'nav-tab-active';
35
  }
36
+ $urls .= '<a href="'.esc_attr($url).'&ycd_group_name='.esc_attr($groupKey).'" class="nav-tab '.esc_attr($activeClass).'">'.esc_attr($groupTitle).'</a>';
37
  }
38
 
39
  return $urls;
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.9.3
6
- Stable tag: 2.3.9.4
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
3
  Tags: countdown, timer, countdown timer
4
  Requires at least: 3.8
5
  Tested up to: 5.9.3
6
+ Stable tag: 2.3.9.5
7
  Requires PHP: 5.3
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html