Countdown, Coming Soon – Countdown & Clock - Version 1.2.3

Version Description

Download this release

Release Info

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

Version 1.2.3

Files changed (81) hide show
  1. CountdownInit.php +63 -0
  2. assets/css/Css.php +51 -0
  3. assets/css/TimeCircles.css +1 -0
  4. assets/css/admin.css +351 -0
  5. assets/css/bootstrap.css +6846 -0
  6. assets/css/colorpicker.css +1 -0
  7. assets/css/index.php +0 -0
  8. assets/css/ion.rangeSlider.css +1 -0
  9. assets/css/ion.rangeSlider.skinFlat.css +1 -0
  10. assets/css/jQueryDialog/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png +0 -0
  11. assets/css/jQueryDialog/images/ui-bg_diagonal-maze_40_000000_10x10.png +0 -0
  12. assets/css/jQueryDialog/images/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
  13. assets/css/jQueryDialog/images/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
  14. assets/css/jQueryDialog/images/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
  15. assets/css/jQueryDialog/images/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
  16. assets/css/jQueryDialog/images/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
  17. assets/css/jQueryDialog/images/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
  18. assets/css/jQueryDialog/images/ui-bg_fine-grain_68_b83400_60x60.png +0 -0
  19. assets/css/jQueryDialog/images/ui-icons_222222_256x240.png +0 -0
  20. assets/css/jQueryDialog/images/ui-icons_3572ac_256x240.png +0 -0
  21. assets/css/jQueryDialog/images/ui-icons_8c291d_256x240.png +0 -0
  22. assets/css/jQueryDialog/images/ui-icons_b83400_256x240.png +0 -0
  23. assets/css/jQueryDialog/images/ui-icons_fbdb93_256x240.png +0 -0
  24. assets/css/jQueryDialog/images/ui-icons_ffffff_256x240.png +0 -0
  25. assets/css/jQueryDialog/jquery-ui.css +478 -0
  26. assets/css/jquery.dateTimePicker.min.css +1 -0
  27. assets/css/select2.css +1 -0
  28. assets/img/CirclePopup.png +0 -0
  29. assets/img/Cricle.png +0 -0
  30. assets/img/Flipclock.png +0 -0
  31. assets/img/ajax.gif +0 -0
  32. assets/img/index.php +0 -0
  33. assets/img/sprite-skin-flat.png +0 -0
  34. assets/index.php +0 -0
  35. assets/js/Admin.js +305 -0
  36. assets/js/Countdown.js +519 -0
  37. assets/js/Js.php +51 -0
  38. assets/js/TimeCircles.js +960 -0
  39. assets/js/index.php +0 -0
  40. assets/js/ionRangeSlider.js +12 -0
  41. assets/js/jquery.datetimepicker.full.min.js +2 -0
  42. assets/js/minicolors.js +11 -0
  43. assets/js/select2.js +5746 -0
  44. assets/js/ycdGoogleFonts.js +52 -0
  45. assets/views/advancedOptions.php +61 -0
  46. assets/views/circlePreview.php +3 -0
  47. assets/views/cricleMainView.php +474 -0
  48. assets/views/generalOptions.php +50 -0
  49. assets/views/index.php +0 -0
  50. assets/views/settings.php +52 -0
  51. assets/views/support.php +100 -0
  52. assets/views/types.php +17 -0
  53. assets/views/upgrade.php +10 -0
  54. classes/Actions.php +191 -0
  55. classes/Ajax.php +44 -0
  56. classes/CountdownType.php +31 -0
  57. classes/Filters.php +33 -0
  58. classes/Installer.php +48 -0
  59. classes/RegisterPostType.php +197 -0
  60. classes/Tickbox.php +104 -0
  61. classes/YcdWidget.php +46 -0
  62. classes/countdown/CircleCountdown.php +191 -0
  63. classes/countdown/Countdown.php +421 -0
  64. classes/countdown/CountdownModel.php +23 -0
  65. classes/countdown/index.php +0 -0
  66. classes/index.php +0 -0
  67. config/boot.php +10 -0
  68. config/config-pkg.php +2 -0
  69. config/config.php +71 -0
  70. config/index.php +0 -0
  71. config/optionsConfig.php +106 -0
  72. countdown-builder.php +25 -0
  73. helpers/AdminHelper.php +737 -0
  74. helpers/HelperFunctions.php +77 -0
  75. helpers/MultipleChoiceButton.php +242 -0
  76. helpers/ScriptsIncluder.php +120 -0
  77. helpers/index.php +0 -0
  78. lib/alarm.mp3 +0 -0
  79. lib/index.php +0 -0
  80. readme.txt +121 -0
  81. uninstall.php +16 -0
CountdownInit.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class CountdownInit {
5
+
6
+ private static $instance = null;
7
+ private $actions;
8
+ private $filters;
9
+
10
+ private function __construct() {
11
+ $this->init();
12
+ }
13
+
14
+ private function __clone() {
15
+ }
16
+
17
+ public static function getInstance() {
18
+ if(!isset(self::$instance)) {
19
+ self::$instance = new self();
20
+ }
21
+ return self::$instance;
22
+ }
23
+
24
+ public function init() {
25
+ $this->includeData();
26
+ $this->actions();
27
+ $this->filters();
28
+ }
29
+
30
+ private function includeData() {
31
+ if(YCD_PKG_VERSION > YCD_FREE_VERSION) {
32
+ require_once YCD_HELPERS_PATH.'CheckerPro.php';
33
+ }
34
+ require_once YCD_HELPERS_PATH.'HelperFunctions.php';
35
+ require_once YCD_HELPERS_PATH.'ScriptsIncluder.php';
36
+ require_once YCD_HELPERS_PATH.'MultipleChoiceButton.php';
37
+ require_once YCD_HELPERS_PATH.'AdminHelper.php';
38
+ require_once YCD_CLASSES_PATH.'Tickbox.php';
39
+ require_once YCD_CLASSES_PATH.'YcdWidget.php';
40
+ require_once YCD_CLASSES_PATH.'CountdownType.php';
41
+ require_once(YCD_COUNTDOWNS_PATH.'CountdownModel.php');
42
+ require_once YCD_COUNTDOWNS_PATH.'Countdown.php';
43
+ require_once YCD_CSS_PATH.'Css.php';
44
+ require_once YCD_JS_PATH.'Js.php';
45
+ require_once YCD_CLASSES_PATH.'RegisterPostType.php';
46
+ require_once YCD_CLASSES_PATH.'Actions.php';
47
+ require_once YCD_CLASSES_PATH.'Ajax.php';
48
+ require_once YCD_CLASSES_PATH.'Filters.php';
49
+ if (YCD_PKG_VERSION > YCD_FREE_VERSION) {
50
+ require_once YCD_CLASSES_PATH.'FiltersPro.php';
51
+ }
52
+ }
53
+
54
+ public function actions() {
55
+ $this->actions = new Actions();
56
+ }
57
+
58
+ public function filters() {
59
+ $this->filters = new Filters();
60
+ }
61
+ }
62
+
63
+ CountdownInit::getInstance();
assets/css/Css.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class Css {
5
+
6
+ public function __construct() {
7
+ $this->init();
8
+ }
9
+
10
+ public function init() {
11
+
12
+ add_action('admin_enqueue_scripts', array($this, 'enqueueStyles'));
13
+ }
14
+
15
+ public function getSettingsPageKey() {
16
+ return YCD_COUNTDOWN_POST_TYPE.'_page_'.YCD_COUNTDOWN_SETTINGS;
17
+ }
18
+
19
+ public function getSupportPageKey() {
20
+ return YCD_COUNTDOWN_POST_TYPE.'_page_'.YCD_COUNTDOWN_SUPPORT;
21
+ }
22
+
23
+ public function enqueueStyles($hook) {
24
+
25
+ ScriptsIncluder::registerStyle('admin.css');
26
+ ScriptsIncluder::registerStyle('bootstrap.css');
27
+ ScriptsIncluder::registerStyle('colorpicker.css');
28
+ ScriptsIncluder::registerStyle('ion.rangeSlider.css');
29
+ ScriptsIncluder::registerStyle('ion.rangeSlider.skinFlat.css');
30
+ ScriptsIncluder::registerStyle('select2.css');
31
+ ScriptsIncluder::registerStyle('jquery.dateTimePicker.min.css');
32
+ $settingsKey = $this->getSettingsPageKey();
33
+ $supportKey = $this->getSupportPageKey();
34
+ $allowedPages = array(
35
+ $settingsKey,
36
+ $supportKey,
37
+ 'ycdcountdown_page_ycdcountdown',
38
+ );
39
+ if(in_array($hook, $allowedPages) || get_post_type(@$_GET['post']) == YCD_COUNTDOWN_POST_TYPE) {
40
+ ScriptsIncluder::enqueueStyle('bootstrap.css');
41
+ ScriptsIncluder::enqueueStyle('admin.css');
42
+ ScriptsIncluder::enqueueStyle('colorpicker.css');
43
+ ScriptsIncluder::enqueueStyle('ion.rangeSlider.css');
44
+ ScriptsIncluder::enqueueStyle('ion.rangeSlider.skinFlat.css');
45
+ ScriptsIncluder::enqueueStyle('select2.css');
46
+ ScriptsIncluder::enqueueStyle('jquery.dateTimePicker.min.css');
47
+ }
48
+ }
49
+ }
50
+
51
+ new Css();
assets/css/TimeCircles.css ADDED
@@ -0,0 +1 @@
 
1
+ .time_circles>div>h4,.time_circles>div>span{margin:0;padding:0;text-align:center;font-family:'Century Gothic',Arial;line-height:1}.time_circles{position:relative;width:100%;height:100%}.time_circles>div{position:absolute;text-align:center}.time_circles>div>h4{text-transform:uppercase}.time_circles>div>span{display:block;width:100%;font-weight:700}
assets/css/admin.css ADDED
@@ -0,0 +1,351 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ycd-bootstrap-wrapper .row {
2
+ margin-left: 0;
3
+ margin-right: 0;
4
+ }
5
+
6
+ .ycd-hide-content,
7
+ .ycd-hide {
8
+ display: none;
9
+ }
10
+
11
+ .ycd-error {
12
+ color: red;
13
+ }
14
+
15
+ .countdowns-div {
16
+ width: 250px;
17
+ height: 150px;
18
+ border: 1px solid #CCCCCC;
19
+ float: left;
20
+ margin-right: 10px;
21
+ margin-bottom: 10px;
22
+ background-color: #DEDEDE;
23
+ background-size: 100%;
24
+ transition: all .1s ease-in-out;
25
+ }
26
+
27
+ .countdowns-div:hover {
28
+ background-color: #CDCDCD;
29
+ transform: scale(1.05);
30
+ }
31
+
32
+ .circle-countdown {
33
+ background-image: url("../img/Cricle.png");
34
+ background-size: 100% 100%;
35
+ }
36
+
37
+ .flipClock-countdown,
38
+ .flipClock-countdown-pro {
39
+ background-image: url("../img/Flipclock.png");
40
+ background-size: 100% 100%;
41
+ }
42
+
43
+ .circlePopup-countdown,
44
+ .circlePopup-countdown-pro {
45
+ background-image: url("../img/CirclePopup.png");
46
+ background-repeat: no-repeat;
47
+ background-position: 13%;
48
+ background-color: black;
49
+ }
50
+
51
+ .circlePopup-countdown:hover,
52
+ .circlePopup-countdown-pro:hover {
53
+ background-color: black;
54
+ }
55
+
56
+ .countdowns-div {
57
+ position: relative;
58
+ }
59
+
60
+ .ycd-type-title-pro {
61
+ font-size: 23px;
62
+ font-weight: 600;
63
+ color: red;
64
+ opacity: 1;
65
+ overflow-wrap: break-word;
66
+ width: auto;
67
+ margin-top: -15px;
68
+ -ms-transform: rotate(7deg);
69
+ /* -webkit-transform: rotate(7deg); */
70
+ transform: rotate(36deg);
71
+ top: 28px;
72
+ right: -13px;
73
+ position: absolute;
74
+ }
75
+
76
+ .js-ycd-select {
77
+ min-width: 100% !important;
78
+ width: 100% !important;
79
+ }
80
+
81
+ /*Checkbox slider start*/
82
+ /* The switch - the box around the slider */
83
+ .ycd-switch {
84
+ position: relative;
85
+ display: inline-block;
86
+ width: 60px;
87
+ height: 34px;
88
+ }
89
+
90
+ /* Hide default HTML checkbox */
91
+ .ycd-switch input {display:none;}
92
+
93
+ /* The slider */
94
+ .ycd-slider {
95
+ position: absolute;
96
+ cursor: pointer;
97
+ top: 0;
98
+ left: 0;
99
+ right: 0;
100
+ bottom: 0;
101
+ background-color: #ccc;
102
+ -webkit-transition: .4s;
103
+ transition: .4s;
104
+ transform: scale(0.8, 0.8);
105
+ }
106
+
107
+ .ycd-slider:before {
108
+ position: absolute;
109
+ content: "";
110
+ height: 26px;
111
+ width: 26px;
112
+ left: 4px;
113
+ bottom: 4px;
114
+ background-color: white;
115
+ -webkit-transition: .4s;
116
+ transition: .4s;
117
+ }
118
+
119
+ input:checked + .ycd-slider {
120
+ background-color: #2196F3;
121
+ }
122
+
123
+ input:focus + .ycd-slider {
124
+ box-shadow: 0 0 1px #2196F3;
125
+ }
126
+
127
+ input:checked + .ycd-slider:before {
128
+ -webkit-transform: translateX(26px);
129
+ -ms-transform: translateX(26px);
130
+ transform: translateX(26px);
131
+ }
132
+
133
+ /* Rounded sliders */
134
+ .ycd-slider.ycd-round {
135
+ border-radius: 34px;
136
+ }
137
+
138
+ .ycd-slider.ycd-round:before {
139
+ border-radius: 50%;
140
+ }
141
+ /*Checkbox slider end*/
142
+
143
+ .ycd-live-preview {
144
+ position: fixed;
145
+ right: 0;
146
+ bottom: 5px;
147
+ background-color: white;
148
+ border: 1px solid #ccc;
149
+ min-width: 400px;
150
+ z-index: 999;
151
+ }
152
+
153
+ .ycd-live-preview h3 {
154
+ text-align: center;
155
+ }
156
+
157
+ .ycd-pro-span {
158
+ display: inline-block;
159
+ color: red;
160
+ margin-left: 5px;
161
+ }
162
+
163
+ .ycd-circle-popup-shortcode {
164
+ padding: 10px;
165
+ }
166
+
167
+ .ycd-circles-width-wrapper .irs-single {
168
+ display: none;
169
+ }
170
+
171
+ .irs-line {
172
+ margin-top: -14px;
173
+ }
174
+
175
+ .irs-bar {
176
+ cursor: pointer;
177
+ }
178
+
179
+ .ycd-range-slider-wrapper {
180
+ margin-top: 7px;
181
+ }
182
+
183
+ .ycd-label-of-select {
184
+ margin-top: 4px;
185
+ }
186
+
187
+ .ycd-label-of-switch,
188
+ .ycd-label-of-input {
189
+ margin-top: 6px;
190
+ }
191
+
192
+ .ycd-label-of-color {
193
+ margin-top: 5px;
194
+ }
195
+
196
+ .ycd-label-of-select {
197
+ margin-top: 3px;
198
+ }
199
+
200
+ .ycd-live-preview-text {
201
+ border-bottom: 1px solid #CCCCCC;
202
+ position: relative;
203
+ margin-top: 10px;
204
+ cursor: pointer;
205
+ }
206
+
207
+ .ycd-live-preview-text h3 {
208
+ margin-top: 0;
209
+ }
210
+
211
+ .ycd-toggle-icon-open:before {
212
+ content: "\f142";
213
+ display: inline-block;
214
+ font: 400 20px/1 dashicons;
215
+ speak: none;
216
+ -webkit-font-smoothing: antialiased;
217
+ -moz-osx-font-smoothing: grayscale;
218
+ text-decoration: none!important;
219
+ cursor: pointer;
220
+ }
221
+
222
+ .ycd-toggle-icon-close:before {
223
+ content: "\f140";
224
+ display: inline-block;
225
+ font: 400 20px/1 dashicons;
226
+ speak: none;
227
+ -webkit-font-smoothing: antialiased;
228
+ -moz-osx-font-smoothing: grayscale;
229
+ text-decoration: none!important;
230
+ cursor: pointer;
231
+ }
232
+
233
+ .ycd-toggle-icon {
234
+ margin-top: 4px;
235
+ width: 20px;
236
+ border-radius: 50%;
237
+ text-indent: -1px;
238
+ position: absolute;
239
+ top: -5px;
240
+ right: 11px
241
+ }
242
+
243
+ .ycd-upgrade-button-red {
244
+ background: #d10303;
245
+ border: 1px solid #d10303;
246
+ padding: 4px 5px 5px 5px;
247
+ color: #fff !important;
248
+ font-size: 16px;
249
+ border-radius: 3px;
250
+ cursor: pointer;
251
+ align-items: flex-start;
252
+ text-align: center !important;
253
+ }
254
+
255
+ .ycd-upgrade-button-red:hover {
256
+ background: #fff;
257
+ color: #d10303 !important;
258
+ border: 1px solid #d10303 !important;
259
+ }
260
+
261
+ .ycd-upgrade-button-red .h2 {
262
+ font-size: 22px !important;
263
+ margin: 0 0 5px 0 !important;
264
+ display: inline-block !important;
265
+ }
266
+
267
+ .ycf-pro-wrapper {
268
+ text-align: center;
269
+ }
270
+
271
+ .ycd-popup-theme {
272
+ margin-left: 8px !important;
273
+ }
274
+
275
+ .ycd-popup-theme:first-child {
276
+ margin-left: 0 !important;
277
+ }
278
+
279
+ .ycd-accordion-content {
280
+ padding-left: 45px;
281
+ }
282
+
283
+ .ycd-bootstrap-wrapper {
284
+ position: relative;
285
+ }
286
+
287
+ .ycd-pro-options-div {
288
+ position: absolute;
289
+ width: 100%;
290
+ height: 100%;
291
+ background-color: rgba(238,238,238,0.4);
292
+ top: 0;
293
+ cursor: pointer;
294
+ }
295
+
296
+ .ycd-pro-options-title {
297
+ position: absolute;
298
+ top: 30%;
299
+ left: 54%;
300
+ font-size: 30px;
301
+ color: red;
302
+ opacity: 1;
303
+ overflow-wrap: break-word;
304
+ }
305
+
306
+ .ycd-tabs-content {
307
+ position: relative;
308
+ background-color: white;
309
+ }
310
+
311
+ .ycd-tabe-content {
312
+ background: white;
313
+ }
314
+
315
+ .ycd-tabs-text-header {
316
+ border-bottom: 1px solid #CCCCCC;
317
+ position: relative;
318
+ margin-top: 10px;
319
+ cursor: pointer;
320
+ }
321
+
322
+ .ycd-tabs-text-header {
323
+ padding: 4px 8px;
324
+ }
325
+
326
+ .ycd-tabs-text-header h3 {
327
+ margin-top: 2px;
328
+ }
329
+
330
+ div.ycd-tabs-text-header > div.ycd-toggle-icon-open {
331
+ margin-top: 13px !important;
332
+ }
333
+
334
+ .ycd-tabe-content {
335
+ padding: 10px;
336
+ }
337
+
338
+ .ycd-settings-wrapper {
339
+ margin-top: 20px;
340
+ }
341
+
342
+ .js-preview-sound {
343
+ color: blue;
344
+ margin-top: 7px;
345
+ cursor: pointer;
346
+ }
347
+
348
+ .ycd-inline-label-radio {
349
+ display: inline-block !important;
350
+ margin-left: 8px;
351
+ }
assets/css/bootstrap.css ADDED
@@ -0,0 +1,6846 @@