Uji Countdown - Version 2.1

Version Description

  • Support Block editor - Gutenberg
  • Added support for extensions
  • Added Repeat Timer - refresh when page reload
  • Fixed special characters title
  • Removed subscriptions
  • Fixed Google Font link
  • Big Performance improvement
Download this release

Release Info

Developer ujimoto
Plugin Icon 128x128 Uji Countdown
Version 2.1
Comparing to
See all releases

Code changes from version 2.0.8 to 2.1

README.txt CHANGED
@@ -1,12 +1,12 @@
1
  === Uji Countdown ===
2
  Contributors: ujimoto
3
  Donate link: http://www.wpmanage.com/uji-countdown
4
- Tags: countdown, counter, html5 countdown, animated countdown, countdown timer, count down, countdown clock, jQuery countdown, clock, timer, recurring timer
5
  Requires at least: 3.0
6
- Tested up to: 4.8.2
7
- Stable tag: 2.0.8
8
 
9
- Uji Countdown - HTML5 Customizable Countdown Timer
10
 
11
  == Description ==
12
 
@@ -14,10 +14,9 @@ Uji Countdown allows you to display a countdown on your post or page. The easies
14
 
15
  List of features:
16
 
 
17
  * <strong>NEW:</strong> Recurring Timer
18
- * <strong>NEW:</strong> Email Subscription
19
- * <strong>NEW:</strong> Subscription List CSV export
20
- * HTML5: No flash, only javascript!
21
  * Customize of colors for text and background
22
  * Customize boxes color
23
  * Enable animation
@@ -30,8 +29,9 @@ List of features:
30
  * Translate Labels in your Language
31
  * Redirect to URL option after expiry
32
  * Hide option after expiry
33
- * <strong>Responsive</strong> (Pro/Premium version)
34
- * <strong>Multiple Timers in Post/Page/Widgets</strong> (Pro/Premium version)
 
35
 
36
 
37
  [youtube http://www.youtube.com/watch?v=ARNRRsIk6aI]
@@ -39,7 +39,7 @@ List of features:
39
  = Demo Site =
40
  Please feel free to visit our [demo site](http://wpmanage.com/project/ujicountdown/) where you can view some demo styles of Uji Countdown.
41
 
42
- > <strong>Plugin's Official Site</strong><br>
43
  > [Uji Countdown](http://www.wpmanage.com/uji-countdown/)
44
 
45
  == Installation ==
@@ -51,16 +51,14 @@ Please feel free to visit our [demo site](http://wpmanage.com/project/ujicountdo
51
 
52
  == Changelog ==
53
 
54
- = 2.0.8 =
55
- * Fixed no style issue when no style created
56
- * Updated Google font list
57
- * Compatibility with WP 4.8.2
58
- * Other bug fixes
59
-
60
- = 2.0.7 =
61
- * Fixed Secured from XSS vulnerability with admin logged credentials (Thanks to Yorick)
62
- * Fixed Google font link issue
63
- * Fixed widget compatibility with PHP7+
64
 
65
  = 2.0.6 =
66
  * Fixed datapicker arrows to switch month
1
  === Uji Countdown ===
2
  Contributors: ujimoto
3
  Donate link: http://www.wpmanage.com/uji-countdown
4
+ Tags: countdown timer, countdown, counter, js countdown, animated countdown, countdown timer, count down, countdown clock, jQuery countdown, clock, timer, recurring timer
5
  Requires at least: 3.0
6
+ Tested up to: 5.4
7
+ Stable tag: 2.1
8
 
9
+ Uji Countdown - Customizable Countdown Timer
10
 
11
  == Description ==
12
 
14
 
15
  List of features:
16
 
17
+ * <strong>NEW:</strong> Support Block Editor
18
  * <strong>NEW:</strong> Recurring Timer
19
+ * <strong>NEW:</strong> Repeat Timer
 
 
20
  * Customize of colors for text and background
21
  * Customize boxes color
22
  * Enable animation
29
  * Translate Labels in your Language
30
  * Redirect to URL option after expiry
31
  * Hide option after expiry
32
+ * <strong>Responsive</strong> (Pro version)
33
+ * <strong>Multiple Timers in Post/Page/Widgets</strong> (Pro version)
34
+ * <strong>Circular Timer</strong> (Add-on)
35
 
36
 
37
  [youtube http://www.youtube.com/watch?v=ARNRRsIk6aI]
39
  = Demo Site =
40
  Please feel free to visit our [demo site](http://wpmanage.com/project/ujicountdown/) where you can view some demo styles of Uji Countdown.
41
 
42
+ > <strong>The Plugin Official website</strong><br>
43
  > [Uji Countdown](http://www.wpmanage.com/uji-countdown/)
44
 
45
  == Installation ==
51
 
52
  == Changelog ==
53
 
54
+ = 2.1 =
55
+ * Support Block editor - Gutenberg
56
+ * Added support for extensions
57
+ * Added Repeat Timer - refresh when page reload
58
+ * Fixed special characters title
59
+ * Removed subscriptions
60
+ * Fixed Google Font link
61
+ * Big Performance improvement
 
 
62
 
63
  = 2.0.6 =
64
  * Fixed datapicker arrows to switch month
assets/googlefonts.php CHANGED
@@ -1,830 +1,8 @@
1
  <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
 
7
  function ujic_googlefonts() {
8
- return array(
9
- 'ABeeZee' => 'ABeeZee',
10
- 'Abel' => 'Abel',
11
- 'Abhaya Libre' => 'Abhaya Libre',
12
- 'Abril Fatface' => 'Abril Fatface',
13
- 'Aclonica' => 'Aclonica',
14
- 'Acme' => 'Acme',
15
- 'Actor' => 'Actor',
16
- 'Adamina' => 'Adamina',
17
- 'Advent Pro' => 'Advent Pro',
18
- 'Aguafina Script' => 'Aguafina Script',
19
- 'Akronim' => 'Akronim',
20
- 'Aladin' => 'Aladin',
21
- 'Aldrich' => 'Aldrich',
22
- 'Alef' => 'Alef',
23
- 'Alegreya' => 'Alegreya',
24
- 'Alegreya SC' => 'Alegreya SC',
25
- 'Alegreya Sans' => 'Alegreya Sans',
26
- 'Alegreya Sans SC' => 'Alegreya Sans SC',
27
- 'Alex Brush' => 'Alex Brush',
28
- 'Alfa Slab One' => 'Alfa Slab One',
29
- 'Alice' => 'Alice',
30
- 'Alike' => 'Alike',
31
- 'Alike Angular' => 'Alike Angular',
32
- 'Allan' => 'Allan',
33
- 'Allerta' => 'Allerta',
34
- 'Allerta Stencil' => 'Allerta Stencil',
35
- 'Allura' => 'Allura',
36
- 'Almendra' => 'Almendra',
37
- 'Almendra Display' => 'Almendra Display',
38
- 'Almendra SC' => 'Almendra SC',
39
- 'Amarante' => 'Amarante',
40
- 'Amaranth' => 'Amaranth',
41
- 'Amatic SC' => 'Amatic SC',
42
- 'Amatica SC' => 'Amatica SC',
43
- 'Amethysta' => 'Amethysta',
44
- 'Amiko' => 'Amiko',
45
- 'Amiri' => 'Amiri',
46
- 'Amita' => 'Amita',
47
- 'Anaheim' => 'Anaheim',
48
- 'Andada' => 'Andada',
49
- 'Andika' => 'Andika',
50
- 'Angkor' => 'Angkor',
51
- 'Annie Use Your Telescope' => 'Annie Use Your Telescope',
52
- 'Anonymous Pro' => 'Anonymous Pro',
53
- 'Antic' => 'Antic',
54
- 'Antic Didone' => 'Antic Didone',
55
- 'Antic Slab' => 'Antic Slab',
56
- 'Anton' => 'Anton',
57
- 'Arapey' => 'Arapey',
58
- 'Arbutus' => 'Arbutus',
59
- 'Arbutus Slab' => 'Arbutus Slab',
60
- 'Architects Daughter' => 'Architects Daughter',
61
- 'Archivo Black' => 'Archivo Black',
62
- 'Archivo Narrow' => 'Archivo Narrow',
63
- 'Aref Ruqaa' => 'Aref Ruqaa',
64
- 'Arima Madurai' => 'Arima Madurai',
65
- 'Arimo' => 'Arimo',
66
- 'Arizonia' => 'Arizonia',
67
- 'Armata' => 'Armata',
68
- 'Arsenal' => 'Arsenal',
69
- 'Artifika' => 'Artifika',
70
- 'Arvo' => 'Arvo',
71
- 'Arya' => 'Arya',
72
- 'Asap' => 'Asap',
73
- 'Asar' => 'Asar',
74
- 'Asset' => 'Asset',
75
- 'Assistant' => 'Assistant',
76
- 'Astloch' => 'Astloch',
77
- 'Asul' => 'Asul',
78
- 'Athiti' => 'Athiti',
79
- 'Atma' => 'Atma',
80
- 'Atomic Age' => 'Atomic Age',
81
- 'Aubrey' => 'Aubrey',
82
- 'Audiowide' => 'Audiowide',
83
- 'Autour One' => 'Autour One',
84
- 'Average' => 'Average',
85
- 'Average Sans' => 'Average Sans',
86
- 'Averia Gruesa Libre' => 'Averia Gruesa Libre',
87
- 'Averia Libre' => 'Averia Libre',
88
- 'Averia Sans Libre' => 'Averia Sans Libre',
89
- 'Averia Serif Libre' => 'Averia Serif Libre',
90
- 'Bad Script' => 'Bad Script',
91
- 'Bahiana' => 'Bahiana',
92
- 'Baloo' => 'Baloo',
93
- 'Baloo Bhai' => 'Baloo Bhai',
94
- 'Baloo Bhaina' => 'Baloo Bhaina',
95
- 'Baloo Chettan' => 'Baloo Chettan',
96
- 'Baloo Da' => 'Baloo Da',
97
- 'Baloo Paaji' => 'Baloo Paaji',
98
- 'Baloo Tamma' => 'Baloo Tamma',
99
- 'Baloo Thambi' => 'Baloo Thambi',
100
- 'Balthazar' => 'Balthazar',
101
- 'Bangers' => 'Bangers',
102
- 'Barrio' => 'Barrio',
103
- 'Basic' => 'Basic',
104
- 'Battambang' => 'Battambang',
105
- 'Baumans' => 'Baumans',
106
- 'Bayon' => 'Bayon',
107
- 'Belgrano' => 'Belgrano',
108
- 'Belleza' => 'Belleza',
109
- 'BenchNine' => 'BenchNine',
110
- 'Bentham' => 'Bentham',
111
- 'Berkshire Swash' => 'Berkshire Swash',
112
- 'Bevan' => 'Bevan',
113
- 'Bigelow Rules' => 'Bigelow Rules',
114
- 'Bigshot One' => 'Bigshot One',
115
- 'Bilbo' => 'Bilbo',
116
- 'Bilbo Swash Caps' => 'Bilbo Swash Caps',
117
- 'BioRhyme' => 'BioRhyme',
118
- 'BioRhyme Expanded' => 'BioRhyme Expanded',
119
- 'Biryani' => 'Biryani',
120
- 'Bitter' => 'Bitter',
121
- 'Black Ops One' => 'Black Ops One',
122
- 'Bokor' => 'Bokor',
123
- 'Bonbon' => 'Bonbon',
124
- 'Boogaloo' => 'Boogaloo',
125
- 'Bowlby One' => 'Bowlby One',
126
- 'Bowlby One SC' => 'Bowlby One SC',
127
- 'Brawler' => 'Brawler',
128
- 'Bree Serif' => 'Bree Serif',
129
- 'Bubblegum Sans' => 'Bubblegum Sans',
130
- 'Bubbler One' => 'Bubbler One',
131
- 'Buda' => 'Buda',
132
- 'Buenard' => 'Buenard',
133
- 'Bungee' => 'Bungee',
134
- 'Bungee Hairline' => 'Bungee Hairline',
135
- 'Bungee Inline' => 'Bungee Inline',
136
- 'Bungee Outline' => 'Bungee Outline',
137
- 'Bungee Shade' => 'Bungee Shade',
138
- 'Butcherman' => 'Butcherman',
139
- 'Butterfly Kids' => 'Butterfly Kids',
140
- 'Cabin' => 'Cabin',
141
- 'Cabin Condensed' => 'Cabin Condensed',
142
- 'Cabin Sketch' => 'Cabin Sketch',
143
- 'Caesar Dressing' => 'Caesar Dressing',
144
- 'Cagliostro' => 'Cagliostro',
145
- 'Cairo' => 'Cairo',
146
- 'Calligraffitti' => 'Calligraffitti',
147
- 'Cambay' => 'Cambay',
148
- 'Cambo' => 'Cambo',
149
- 'Candal' => 'Candal',
150
- 'Cantarell' => 'Cantarell',
151
- 'Cantata One' => 'Cantata One',
152
- 'Cantora One' => 'Cantora One',
153
- 'Capriola' => 'Capriola',
154
- 'Cardo' => 'Cardo',
155
- 'Carme' => 'Carme',
156
- 'Carrois Gothic' => 'Carrois Gothic',
157
- 'Carrois Gothic SC' => 'Carrois Gothic SC',
158
- 'Carter One' => 'Carter One',
159
- 'Catamaran' => 'Catamaran',
160
- 'Caudex' => 'Caudex',
161
- 'Caveat' => 'Caveat',
162
- 'Caveat Brush' => 'Caveat Brush',
163
- 'Cedarville Cursive' => 'Cedarville Cursive',
164
- 'Ceviche One' => 'Ceviche One',
165
- 'Changa' => 'Changa',
166
- 'Changa One' => 'Changa One',
167
- 'Chango' => 'Chango',
168
- 'Chathura' => 'Chathura',
169
- 'Chau Philomene One' => 'Chau Philomene One',
170
- 'Chela One' => 'Chela One',
171
- 'Chelsea Market' => 'Chelsea Market',
172
- 'Chenla' => 'Chenla',
173
- 'Cherry Cream Soda' => 'Cherry Cream Soda',
174
- 'Cherry Swash' => 'Cherry Swash',
175
- 'Chewy' => 'Chewy',
176
- 'Chicle' => 'Chicle',
177
- 'Chivo' => 'Chivo',
178
- 'Chonburi' => 'Chonburi',
179
- 'Cinzel' => 'Cinzel',
180
- 'Cinzel Decorative' => 'Cinzel Decorative',
181
- 'Clicker Script' => 'Clicker Script',
182
- 'Coda' => 'Coda',
183
- 'Coda Caption' => 'Coda Caption',
184
- 'Codystar' => 'Codystar',
185
- 'Coiny' => 'Coiny',
186
- 'Combo' => 'Combo',
187
- 'Comfortaa' => 'Comfortaa',
188
- 'Coming Soon' => 'Coming Soon',
189
- 'Concert One' => 'Concert One',
190
- 'Condiment' => 'Condiment',
191
- 'Content' => 'Content',
192
- 'Contrail One' => 'Contrail One',
193
- 'Convergence' => 'Convergence',
194
- 'Cookie' => 'Cookie',
195
- 'Copse' => 'Copse',
196
- 'Corben' => 'Corben',
197
- 'Cormorant' => 'Cormorant',
198
- 'Cormorant Garamond' => 'Cormorant Garamond',
199
- 'Cormorant Infant' => 'Cormorant Infant',
200
- 'Cormorant SC' => 'Cormorant SC',
201
- 'Cormorant Unicase' => 'Cormorant Unicase',
202
- 'Cormorant Upright' => 'Cormorant Upright',
203
- 'Courgette' => 'Courgette',
204
- 'Cousine' => 'Cousine',
205
- 'Coustard' => 'Coustard',
206
- 'Covered By Your Grace' => 'Covered By Your Grace',
207
- 'Crafty Girls' => 'Crafty Girls',
208
- 'Creepster' => 'Creepster',
209
- 'Crete Round' => 'Crete Round',
210
- 'Crimson Text' => 'Crimson Text',
211
- 'Croissant One' => 'Croissant One',
212
- 'Crushed' => 'Crushed',
213
- 'Cuprum' => 'Cuprum',
214
- 'Cutive' => 'Cutive',
215
- 'Cutive Mono' => 'Cutive Mono',
216
- 'Damion' => 'Damion',
217
- 'Dancing Script' => 'Dancing Script',
218
- 'Dangrek' => 'Dangrek',
219
- 'David Libre' => 'David Libre',
220
- 'Dawning of a New Day' => 'Dawning of a New Day',
221
- 'Days One' => 'Days One',
222
- 'Dekko' => 'Dekko',
223
- 'Delius' => 'Delius',
224
- 'Delius Swash Caps' => 'Delius Swash Caps',
225
- 'Delius Unicase' => 'Delius Unicase',
226
- 'Della Respira' => 'Della Respira',
227
- 'Denk One' => 'Denk One',
228
- 'Devonshire' => 'Devonshire',
229
- 'Dhurjati' => 'Dhurjati',
230
- 'Didact Gothic' => 'Didact Gothic',
231
- 'Diplomata' => 'Diplomata',
232
- 'Diplomata SC' => 'Diplomata SC',
233
- 'Domine' => 'Domine',
234
- 'Donegal One' => 'Donegal One',
235
- 'Doppio One' => 'Doppio One',
236
- 'Dorsa' => 'Dorsa',
237
- 'Dosis' => 'Dosis',
238
- 'Dr Sugiyama' => 'Dr Sugiyama',
239
- 'Droid Sans' => 'Droid Sans',
240
- 'Droid Sans Mono' => 'Droid Sans Mono',
241
- 'Droid Serif' => 'Droid Serif',
242
- 'Duru Sans' => 'Duru Sans',
243
- 'Dynalight' => 'Dynalight',
244
- 'EB Garamond' => 'EB Garamond',
245
- 'Eagle Lake' => 'Eagle Lake',
246
- 'Eater' => 'Eater',
247
- 'Economica' => 'Economica',
248
- 'Eczar' => 'Eczar',
249
- 'Ek Mukta' => 'Ek Mukta',
250
- 'El Messiri' => 'El Messiri',
251
- 'Electrolize' => 'Electrolize',
252
- 'Elsie' => 'Elsie',
253
- 'Elsie Swash Caps' => 'Elsie Swash Caps',
254
- 'Emblema One' => 'Emblema One',
255
- 'Emilys Candy' => 'Emilys Candy',
256
- 'Engagement' => 'Engagement',
257
- 'Englebert' => 'Englebert',
258
- 'Enriqueta' => 'Enriqueta',
259
- 'Erica One' => 'Erica One',
260
- 'Esteban' => 'Esteban',
261
- 'Euphoria Script' => 'Euphoria Script',
262
- 'Ewert' => 'Ewert',
263
- 'Exo' => 'Exo',
264
- 'Exo 2' => 'Exo 2',
265
- 'Expletus Sans' => 'Expletus Sans',
266
- 'Fanwood Text' => 'Fanwood Text',
267
- 'Farsan' => 'Farsan',
268
- 'Fascinate' => 'Fascinate',
269
- 'Fascinate Inline' => 'Fascinate Inline',
270
- 'Faster One' => 'Faster One',
271
- 'Fasthand' => 'Fasthand',
272
- 'Fauna One' => 'Fauna One',
273
- 'Federant' => 'Federant',
274
- 'Federo' => 'Federo',
275
- 'Felipa' => 'Felipa',
276
- 'Fenix' => 'Fenix',
277
- 'Finger Paint' => 'Finger Paint',
278
- 'Fira Mono' => 'Fira Mono',
279
- 'Fira Sans' => 'Fira Sans',
280
- 'Fira Sans Condensed' => 'Fira Sans Condensed',
281
- 'Fira Sans Extra Condensed' => 'Fira Sans Extra Condensed',
282
- 'Fjalla One' => 'Fjalla One',
283
- 'Fjord One' => 'Fjord One',
284
- 'Flamenco' => 'Flamenco',
285
- 'Flavors' => 'Flavors',
286
- 'Fondamento' => 'Fondamento',
287
- 'Fontdiner Swanky' => 'Fontdiner Swanky',
288
- 'Forum' => 'Forum',
289
- 'Francois One' => 'Francois One',
290
- 'Frank Ruhl Libre' => 'Frank Ruhl Libre',
291
- 'Freckle Face' => 'Freckle Face',
292
- 'Fredericka the Great' => 'Fredericka the Great',
293
- 'Fredoka One' => 'Fredoka One',
294
- 'Freehand' => 'Freehand',
295
- 'Fresca' => 'Fresca',
296
- 'Frijole' => 'Frijole',
297
- 'Fruktur' => 'Fruktur',
298
- 'Fugaz One' => 'Fugaz One',
299
- 'GFS Didot' => 'GFS Didot',
300
- 'GFS Neohellenic' => 'GFS Neohellenic',
301
- 'Gabriela' => 'Gabriela',
302
- 'Gafata' => 'Gafata',
303
- 'Galada' => 'Galada',
304
- 'Galdeano' => 'Galdeano',
305
- 'Galindo' => 'Galindo',
306
- 'Gentium Basic' => 'Gentium Basic',
307
- 'Gentium Book Basic' => 'Gentium Book Basic',
308
- 'Geo' => 'Geo',
309
- 'Geostar' => 'Geostar',
310
- 'Geostar Fill' => 'Geostar Fill',
311
- 'Germania One' => 'Germania One',
312
- 'Gidugu' => 'Gidugu',
313
- 'Gilda Display' => 'Gilda Display',
314
- 'Give You Glory' => 'Give You Glory',
315
- 'Glass Antiqua' => 'Glass Antiqua',
316
- 'Glegoo' => 'Glegoo',
317
- 'Gloria Hallelujah' => 'Gloria Hallelujah',
318
- 'Goblin One' => 'Goblin One',
319
- 'Gochi Hand' => 'Gochi Hand',
320
- 'Gorditas' => 'Gorditas',
321
- 'Goudy Bookletter 1911' => 'Goudy Bookletter 1911',
322
- 'Graduate' => 'Graduate',
323
- 'Grand Hotel' => 'Grand Hotel',
324
- 'Gravitas One' => 'Gravitas One',
325
- 'Great Vibes' => 'Great Vibes',
326
- 'Griffy' => 'Griffy',
327
- 'Gruppo' => 'Gruppo',
328
- 'Gudea' => 'Gudea',
329
- 'Gurajada' => 'Gurajada',
330
- 'Habibi' => 'Habibi',
331
- 'Halant' => 'Halant',
332
- 'Hammersmith One' => 'Hammersmith One',
333
- 'Hanalei' => 'Hanalei',
334
- 'Hanalei Fill' => 'Hanalei Fill',
335
- 'Handlee' => 'Handlee',
336
- 'Hanuman' => 'Hanuman',
337
- 'Happy Monkey' => 'Happy Monkey',
338
- 'Harmattan' => 'Harmattan',
339
- 'Headland One' => 'Headland One',
340
- 'Heebo' => 'Heebo',
341
- 'Henny Penny' => 'Henny Penny',
342
- 'Herr Von Muellerhoff' => 'Herr Von Muellerhoff',
343
- 'Hind' => 'Hind',
344
- 'Hind Guntur' => 'Hind Guntur',
345
- 'Hind Madurai' => 'Hind Madurai',
346
- 'Hind Siliguri' => 'Hind Siliguri',
347
- 'Hind Vadodara' => 'Hind Vadodara',
348
- 'Holtwood One SC' => 'Holtwood One SC',
349
- 'Homemade Apple' => 'Homemade Apple',
350
- 'Homenaje' => 'Homenaje',
351
- 'IM Fell DW Pica' => 'IM Fell DW Pica',
352
- 'IM Fell DW Pica SC' => 'IM Fell DW Pica SC',
353
- 'IM Fell Double Pica' => 'IM Fell Double Pica',
354
- 'IM Fell Double Pica SC' => 'IM Fell Double Pica SC',
355
- 'IM Fell English' => 'IM Fell English',
356
- 'IM Fell English SC' => 'IM Fell English SC',
357
- 'IM Fell French Canon' => 'IM Fell French Canon',
358
- 'IM Fell French Canon SC' => 'IM Fell French Canon SC',
359
- 'IM Fell Great Primer' => 'IM Fell Great Primer',
360
- 'IM Fell Great Primer SC' => 'IM Fell Great Primer SC',
361
- 'Iceberg' => 'Iceberg',
362
- 'Iceland' => 'Iceland',
363
- 'Imprima' => 'Imprima',
364
- 'Inconsolata' => 'Inconsolata',
365
- 'Inder' => 'Inder',
366
- 'Indie Flower' => 'Indie Flower',
367
- 'Inika' => 'Inika',
368
- 'Inknut Antiqua' => 'Inknut Antiqua',
369
- 'Irish Grover' => 'Irish Grover',
370
- 'Istok Web' => 'Istok Web',
371
- 'Italiana' => 'Italiana',
372
- 'Italianno' => 'Italianno',
373
- 'Itim' => 'Itim',
374
- 'Jacques Francois' => 'Jacques Francois',
375
- 'Jacques Francois Shadow' => 'Jacques Francois Shadow',
376
- 'Jaldi' => 'Jaldi',
377
- 'Jim Nightshade' => 'Jim Nightshade',
378
- 'Jockey One' => 'Jockey One',
379
- 'Jolly Lodger' => 'Jolly Lodger',
380
- 'Jomhuria' => 'Jomhuria',
381
- 'Josefin Sans' => 'Josefin Sans',
382
- 'Josefin Slab' => 'Josefin Slab',
383
- 'Joti One' => 'Joti One',
384
- 'Judson' => 'Judson',
385
- 'Julee' => 'Julee',
386
- 'Julius Sans One' => 'Julius Sans One',
387
- 'Junge' => 'Junge',
388
- 'Jura' => 'Jura',
389
- 'Just Another Hand' => 'Just Another Hand',
390
- 'Just Me Again Down Here' => 'Just Me Again Down Here',
391
- 'Kadwa' => 'Kadwa',
392
- 'Kalam' => 'Kalam',
393
- 'Kameron' => 'Kameron',
394
- 'Kanit' => 'Kanit',
395
- 'Kantumruy' => 'Kantumruy',
396
- 'Karla' => 'Karla',
397
- 'Karma' => 'Karma',
398
- 'Katibeh' => 'Katibeh',
399
- 'Kaushan Script' => 'Kaushan Script',
400
- 'Kavivanar' => 'Kavivanar',
401
- 'Kavoon' => 'Kavoon',
402
- 'Kdam Thmor' => 'Kdam Thmor',
403
- 'Keania One' => 'Keania One',
404
- 'Kelly Slab' => 'Kelly Slab',
405
- 'Kenia' => 'Kenia',
406
- 'Khand' => 'Khand',
407
- 'Khmer' => 'Khmer',
408
- 'Khula' => 'Khula',
409
- 'Kite One' => 'Kite One',
410
- 'Knewave' => 'Knewave',
411
- 'Kotta One' => 'Kotta One',
412
- 'Koulen' => 'Koulen',
413
- 'Kranky' => 'Kranky',
414
- 'Kreon' => 'Kreon',
415
- 'Kristi' => 'Kristi',
416
- 'Krona One' => 'Krona One',
417
- 'Kumar One' => 'Kumar One',
418
- 'Kumar One Outline' => 'Kumar One Outline',
419
- 'Kurale' => 'Kurale',
420
- 'La Belle Aurore' => 'La Belle Aurore',
421
- 'Laila' => 'Laila',
422
- 'Lakki Reddy' => 'Lakki Reddy',
423
- 'Lalezar' => 'Lalezar',
424
- 'Lancelot' => 'Lancelot',
425
- 'Lateef' => 'Lateef',
426
- 'Lato' => 'Lato',
427
- 'League Script' => 'League Script',
428
- 'Leckerli One' => 'Leckerli One',
429
- 'Ledger' => 'Ledger',
430
- 'Lekton' => 'Lekton',
431
- 'Lemon' => 'Lemon',
432
- 'Lemonada' => 'Lemonada',
433
- 'Libre Baskerville' => 'Libre Baskerville',
434
- 'Libre Franklin' => 'Libre Franklin',
435
- 'Life Savers' => 'Life Savers',
436
- 'Lilita One' => 'Lilita One',
437
- 'Lily Script One' => 'Lily Script One',
438
- 'Limelight' => 'Limelight',
439
- 'Linden Hill' => 'Linden Hill',
440
- 'Lobster' => 'Lobster',
441
- 'Lobster Two' => 'Lobster Two',
442
- 'Londrina Outline' => 'Londrina Outline',
443
- 'Londrina Shadow' => 'Londrina Shadow',
444
- 'Londrina Sketch' => 'Londrina Sketch',
445
- 'Londrina Solid' => 'Londrina Solid',
446
- 'Lora' => 'Lora',
447
- 'Love Ya Like A Sister' => 'Love Ya Like A Sister',
448
- 'Loved by the King' => 'Loved by the King',
449
- 'Lovers Quarrel' => 'Lovers Quarrel',
450
- 'Luckiest Guy' => 'Luckiest Guy',
451
- 'Lusitana' => 'Lusitana',
452
- 'Lustria' => 'Lustria',
453
- 'Macondo' => 'Macondo',
454
- 'Macondo Swash Caps' => 'Macondo Swash Caps',
455
- 'Mada' => 'Mada',
456
- 'Magra' => 'Magra',
457
- 'Maiden Orange' => 'Maiden Orange',
458
- 'Maitree' => 'Maitree',
459
- 'Mako' => 'Mako',
460
- 'Mallanna' => 'Mallanna',
461
- 'Mandali' => 'Mandali',
462
- 'Marcellus' => 'Marcellus',
463
- 'Marcellus SC' => 'Marcellus SC',
464
- 'Marck Script' => 'Marck Script',
465
- 'Margarine' => 'Margarine',
466
- 'Marko One' => 'Marko One',
467
- 'Marmelad' => 'Marmelad',
468
- 'Martel' => 'Martel',
469
- 'Martel Sans' => 'Martel Sans',
470
- 'Marvel' => 'Marvel',
471
- 'Mate' => 'Mate',
472
- 'Mate SC' => 'Mate SC',
473
- 'Maven Pro' => 'Maven Pro',
474
- 'McLaren' => 'McLaren',
475
- 'Meddon' => 'Meddon',
476
- 'MedievalSharp' => 'MedievalSharp',
477
- 'Medula One' => 'Medula One',
478
- 'Meera Inimai' => 'Meera Inimai',
479
- 'Megrim' => 'Megrim',
480
- 'Meie Script' => 'Meie Script',
481
- 'Merienda' => 'Merienda',
482
- 'Merienda One' => 'Merienda One',
483
- 'Merriweather' => 'Merriweather',
484
- 'Merriweather Sans' => 'Merriweather Sans',
485
- 'Metal' => 'Metal',
486
- 'Metal Mania' => 'Metal Mania',
487
- 'Metamorphous' => 'Metamorphous',
488
- 'Metrophobic' => 'Metrophobic',
489
- 'Michroma' => 'Michroma',
490
- 'Milonga' => 'Milonga',
491
- 'Miltonian' => 'Miltonian',
492
- 'Miltonian Tattoo' => 'Miltonian Tattoo',
493
- 'Miniver' => 'Miniver',
494
- 'Miriam Libre' => 'Miriam Libre',
495
- 'Mirza' => 'Mirza',
496
- 'Miss Fajardose' => 'Miss Fajardose',
497
- 'Mitr' => 'Mitr',
498
- 'Modak' => 'Modak',
499
- 'Modern Antiqua' => 'Modern Antiqua',
500
- 'Mogra' => 'Mogra',
501
- 'Molengo' => 'Molengo',
502
- 'Molle' => 'Molle',
503
- 'Monda' => 'Monda',
504
- 'Monofett' => 'Monofett',
505
- 'Monoton' => 'Monoton',
506
- 'Monsieur La Doulaise' => 'Monsieur La Doulaise',
507
- 'Montaga' => 'Montaga',
508
- 'Montez' => 'Montez',
509
- 'Montserrat' => 'Montserrat',
510
- 'Montserrat Alternates' => 'Montserrat Alternates',
511
- 'Montserrat Subrayada' => 'Montserrat Subrayada',
512
- 'Moul' => 'Moul',
513
- 'Moulpali' => 'Moulpali',
514
- 'Mountains of Christmas' => 'Mountains of Christmas',
515
- 'Mouse Memoirs' => 'Mouse Memoirs',
516
- 'Mr Bedfort' => 'Mr Bedfort',
517
- 'Mr Dafoe' => 'Mr Dafoe',
518
- 'Mr De Haviland' => 'Mr De Haviland',
519
- 'Mrs Saint Delafield' => 'Mrs Saint Delafield',
520
- 'Mrs Sheppards' => 'Mrs Sheppards',
521
- 'Mukta Vaani' => 'Mukta Vaani',
522
- 'Muli' => 'Muli',
523
- 'Mystery Quest' => 'Mystery Quest',
524
- 'NTR' => 'NTR',
525
- 'Neucha' => 'Neucha',
526
- 'Neuton' => 'Neuton',
527
- 'New Rocker' => 'New Rocker',
528
- 'News Cycle' => 'News Cycle',
529
- 'Niconne' => 'Niconne',
530
- 'Nixie One' => 'Nixie One',
531
- 'Nobile' => 'Nobile',
532
- 'Nokora' => 'Nokora',
533
- 'Norican' => 'Norican',
534
- 'Nosifer' => 'Nosifer',
535
- 'Nothing You Could Do' => 'Nothing You Could Do',
536
- 'Noticia Text' => 'Noticia Text',
537
- 'Noto Sans' => 'Noto Sans',
538
- 'Noto Serif' => 'Noto Serif',
539
- 'Nova Cut' => 'Nova Cut',
540
- 'Nova Flat' => 'Nova Flat',
541
- 'Nova Mono' => 'Nova Mono',
542
- 'Nova Oval' => 'Nova Oval',
543
- 'Nova Round' => 'Nova Round',
544
- 'Nova Script' => 'Nova Script',
545
- 'Nova Slim' => 'Nova Slim',
546
- 'Nova Square' => 'Nova Square',
547
- 'Numans' => 'Numans',
548
- 'Nunito' => 'Nunito',
549
- 'Nunito Sans' => 'Nunito Sans',
550
- 'Odor Mean Chey' => 'Odor Mean Chey',
551
- 'Offside' => 'Offside',
552
- 'Old Standard TT' => 'Old Standard TT',
553
- 'Oldenburg' => 'Oldenburg',
554
- 'Oleo Script' => 'Oleo Script',
555
- 'Oleo Script Swash Caps' => 'Oleo Script Swash Caps',
556
- 'Open Sans' => 'Open Sans',
557
- 'Open Sans Condensed' => 'Open Sans Condensed',
558
- 'Oranienbaum' => 'Oranienbaum',
559
- 'Orbitron' => 'Orbitron',
560
- 'Oregano' => 'Oregano',
561
- 'Orienta' => 'Orienta',
562
- 'Original Surfer' => 'Original Surfer',
563
- 'Oswald' => 'Oswald',
564
- 'Over the Rainbow' => 'Over the Rainbow',
565
- 'Overlock' => 'Overlock',
566
- 'Overlock SC' => 'Overlock SC',
567
- 'Overpass' => 'Overpass',
568
- 'Overpass Mono' => 'Overpass Mono',
569
- 'Ovo' => 'Ovo',
570
- 'Oxygen' => 'Oxygen',
571
- 'Oxygen Mono' => 'Oxygen Mono',
572
- 'PT Mono' => 'PT Mono',
573
- 'PT Sans' => 'PT Sans',
574
- 'PT Sans Caption' => 'PT Sans Caption',
575
- 'PT Sans Narrow' => 'PT Sans Narrow',
576
- 'PT Serif' => 'PT Serif',
577
- 'PT Serif Caption' => 'PT Serif Caption',
578
- 'Pacifico' => 'Pacifico',
579
- 'Padauk' => 'Padauk',
580
- 'Palanquin' => 'Palanquin',
581
- 'Palanquin Dark' => 'Palanquin Dark',
582
- 'Pangolin' => 'Pangolin',
583
- 'Paprika' => 'Paprika',
584
- 'Parisienne' => 'Parisienne',
585
- 'Passero One' => 'Passero One',
586
- 'Passion One' => 'Passion One',
587
- 'Pathway Gothic One' => 'Pathway Gothic One',
588
- 'Patrick Hand' => 'Patrick Hand',
589
- 'Patrick Hand SC' => 'Patrick Hand SC',
590
- 'Pattaya' => 'Pattaya',
591
- 'Patua One' => 'Patua One',
592
- 'Pavanam' => 'Pavanam',
593
- 'Paytone One' => 'Paytone One',
594
- 'Peddana' => 'Peddana',
595
- 'Peralta' => 'Peralta',
596
- 'Permanent Marker' => 'Permanent Marker',
597
- 'Petit Formal Script' => 'Petit Formal Script',
598
- 'Petrona' => 'Petrona',
599
- 'Philosopher' => 'Philosopher',
600
- 'Piedra' => 'Piedra',
601
- 'Pinyon Script' => 'Pinyon Script',
602
- 'Pirata One' => 'Pirata One',
603
- 'Plaster' => 'Plaster',
604
- 'Play' => 'Play',
605
- 'Playball' => 'Playball',
606
- 'Playfair Display' => 'Playfair Display',
607
- 'Playfair Display SC' => 'Playfair Display SC',
608
- 'Podkova' => 'Podkova',
609
- 'Poiret One' => 'Poiret One',
610
- 'Poller One' => 'Poller One',
611
- 'Poly' => 'Poly',
612
- 'Pompiere' => 'Pompiere',
613
- 'Pontano Sans' => 'Pontano Sans',
614
- 'Poppins' => 'Poppins',
615
- 'Port Lligat Sans' => 'Port Lligat Sans',
616
- 'Port Lligat Slab' => 'Port Lligat Slab',
617
- 'Pragati Narrow' => 'Pragati Narrow',
618
- 'Prata' => 'Prata',
619
- 'Preahvihear' => 'Preahvihear',
620
- 'Press Start 2P' => 'Press Start 2P',
621
- 'Pridi' => 'Pridi',
622
- 'Princess Sofia' => 'Princess Sofia',
623
- 'Prociono' => 'Prociono',
624
- 'Prompt' => 'Prompt',
625
- 'Prosto One' => 'Prosto One',
626
- 'Proza Libre' => 'Proza Libre',
627
- 'Puritan' => 'Puritan',
628
- 'Purple Purse' => 'Purple Purse',
629
- 'Quando' => 'Quando',
630
- 'Quantico' => 'Quantico',
631
- 'Quattrocento' => 'Quattrocento',
632
- 'Quattrocento Sans' => 'Quattrocento Sans',
633
- 'Questrial' => 'Questrial',
634
- 'Quicksand' => 'Quicksand',
635
- 'Quintessential' => 'Quintessential',
636
- 'Qwigley' => 'Qwigley',
637
- 'Racing Sans One' => 'Racing Sans One',
638
- 'Radley' => 'Radley',
639
- 'Rajdhani' => 'Rajdhani',
640
- 'Rakkas' => 'Rakkas',
641
- 'Raleway' => 'Raleway',
642
- 'Raleway Dots' => 'Raleway Dots',
643
- 'Ramabhadra' => 'Ramabhadra',
644
- 'Ramaraja' => 'Ramaraja',
645
- 'Rambla' => 'Rambla',
646
- 'Rammetto One' => 'Rammetto One',
647
- 'Ranchers' => 'Ranchers',
648
- 'Rancho' => 'Rancho',
649
- 'Ranga' => 'Ranga',
650
- 'Rasa' => 'Rasa',
651
- 'Rationale' => 'Rationale',
652
- 'Ravi Prakash' => 'Ravi Prakash',
653
- 'Redressed' => 'Redressed',
654
- 'Reem Kufi' => 'Reem Kufi',
655
- 'Reenie Beanie' => 'Reenie Beanie',
656
- 'Revalia' => 'Revalia',
657
- 'Rhodium Libre' => 'Rhodium Libre',
658
- 'Ribeye' => 'Ribeye',
659
- 'Ribeye Marrow' => 'Ribeye Marrow',
660
- 'Righteous' => 'Righteous',
661
- 'Risque' => 'Risque',
662
- 'Roboto' => 'Roboto',
663
- 'Roboto Condensed' => 'Roboto Condensed',
664
- 'Roboto Mono' => 'Roboto Mono',
665
- 'Roboto Slab' => 'Roboto Slab',
666
- 'Rochester' => 'Rochester',
667
- 'Rock Salt' => 'Rock Salt',
668
- 'Rokkitt' => 'Rokkitt',
669
- 'Romanesco' => 'Romanesco',
670
- 'Ropa Sans' => 'Ropa Sans',
671
- 'Rosario' => 'Rosario',
672
- 'Rosarivo' => 'Rosarivo',
673
- 'Rouge Script' => 'Rouge Script',
674
- 'Rozha One' => 'Rozha One',
675
- 'Rubik' => 'Rubik',
676
- 'Rubik Mono One' => 'Rubik Mono One',
677
- 'Ruda' => 'Ruda',
678
- 'Rufina' => 'Rufina',
679
- 'Ruge Boogie' => 'Ruge Boogie',
680
- 'Ruluko' => 'Ruluko',
681
- 'Rum Raisin' => 'Rum Raisin',
682
- 'Ruslan Display' => 'Ruslan Display',
683
- 'Russo One' => 'Russo One',
684
- 'Ruthie' => 'Ruthie',
685
- 'Rye' => 'Rye',
686
- 'Sacramento' => 'Sacramento',
687
- 'Sahitya' => 'Sahitya',
688
- 'Sail' => 'Sail',
689
- 'Salsa' => 'Salsa',
690
- 'Sanchez' => 'Sanchez',
691
- 'Sancreek' => 'Sancreek',
692
- 'Sansita' => 'Sansita',
693
- 'Sarala' => 'Sarala',
694
- 'Sarina' => 'Sarina',
695
- 'Sarpanch' => 'Sarpanch',
696
- 'Satisfy' => 'Satisfy',
697
- 'Scada' => 'Scada',
698
- 'Scheherazade' => 'Scheherazade',
699
- 'Schoolbell' => 'Schoolbell',
700
- 'Scope One' => 'Scope One',
701
- 'Seaweed Script' => 'Seaweed Script',
702
- 'Secular One' => 'Secular One',
703
- 'Sevillana' => 'Sevillana',
704
- 'Seymour One' => 'Seymour One',
705
- 'Shadows Into Light' => 'Shadows Into Light',
706
- 'Shadows Into Light Two' => 'Shadows Into Light Two',
707
- 'Shanti' => 'Shanti',
708
- 'Share' => 'Share',
709
- 'Share Tech' => 'Share Tech',
710
- 'Share Tech Mono' => 'Share Tech Mono',
711
- 'Shojumaru' => 'Shojumaru',
712
- 'Short Stack' => 'Short Stack',
713
- 'Shrikhand' => 'Shrikhand',
714
- 'Siemreap' => 'Siemreap',
715
- 'Sigmar One' => 'Sigmar One',
716
- 'Signika' => 'Signika',
717
- 'Signika Negative' => 'Signika Negative',
718
- 'Simonetta' => 'Simonetta',
719
- 'Sintony' => 'Sintony',
720
- 'Sirin Stencil' => 'Sirin Stencil',
721
- 'Six Caps' => 'Six Caps',
722
- 'Skranji' => 'Skranji',
723
- 'Slabo 13px' => 'Slabo 13px',
724
- 'Slabo 27px' => 'Slabo 27px',
725
- 'Slackey' => 'Slackey',
726
- 'Smokum' => 'Smokum',
727
- 'Smythe' => 'Smythe',
728
- 'Sniglet' => 'Sniglet',
729
- 'Snippet' => 'Snippet',
730
- 'Snowburst One' => 'Snowburst One',
731
- 'Sofadi One' => 'Sofadi One',
732
- 'Sofia' => 'Sofia',
733
- 'Sonsie One' => 'Sonsie One',
734
- 'Sorts Mill Goudy' => 'Sorts Mill Goudy',
735
- 'Source Code Pro' => 'Source Code Pro',
736
- 'Source Sans Pro' => 'Source Sans Pro',
737
- 'Source Serif Pro' => 'Source Serif Pro',
738
- 'Space Mono' => 'Space Mono',
739
- 'Special Elite' => 'Special Elite',
740
- 'Spicy Rice' => 'Spicy Rice',
741
- 'Spinnaker' => 'Spinnaker',
742
- 'Spirax' => 'Spirax',
743
- 'Squada One' => 'Squada One',
744
- 'Sree Krushnadevaraya' => 'Sree Krushnadevaraya',
745
- 'Sriracha' => 'Sriracha',
746
- 'Stalemate' => 'Stalemate',
747
- 'Stalinist One' => 'Stalinist One',
748
- 'Stardos Stencil' => 'Stardos Stencil',
749
- 'Stint Ultra Condensed' => 'Stint Ultra Condensed',
750
- 'Stint Ultra Expanded' => 'Stint Ultra Expanded',
751
- 'Stoke' => 'Stoke',
752
- 'Strait' => 'Strait',
753
- 'Sue Ellen Francisco' => 'Sue Ellen Francisco',
754
- 'Suez One' => 'Suez One',
755
- 'Sumana' => 'Sumana',
756
- 'Sunshiney' => 'Sunshiney',
757
- 'Supermercado One' => 'Supermercado One',
758
- 'Sura' => 'Sura',
759
- 'Suranna' => 'Suranna',
760
- 'Suravaram' => 'Suravaram',
761
- 'Suwannaphum' => 'Suwannaphum',
762
- 'Swanky and Moo Moo' => 'Swanky and Moo Moo',
763
- 'Syncopate' => 'Syncopate',
764
- 'Tangerine' => 'Tangerine',
765
- 'Taprom' => 'Taprom',
766
- 'Tauri' => 'Tauri',
767
- 'Taviraj' => 'Taviraj',
768
- 'Teko' => 'Teko',
769
- 'Telex' => 'Telex',
770
- 'Tenali Ramakrishna' => 'Tenali Ramakrishna',
771
- 'Tenor Sans' => 'Tenor Sans',
772
- 'Text Me One' => 'Text Me One',
773
- 'The Girl Next Door' => 'The Girl Next Door',
774
- 'Tienne' => 'Tienne',
775
- 'Tillana' => 'Tillana',
776
- 'Timmana' => 'Timmana',
777
- 'Tinos' => 'Tinos',
778
- 'Titan One' => 'Titan One',
779
- 'Titillium Web' => 'Titillium Web',
780
- 'Trade Winds' => 'Trade Winds',
781
- 'Trirong' => 'Trirong',
782
- 'Trocchi' => 'Trocchi',
783
- 'Trochut' => 'Trochut',
784
- 'Trykker' => 'Trykker',
785
- 'Tulpen One' => 'Tulpen One',
786
- 'Ubuntu' => 'Ubuntu',
787
- 'Ubuntu Condensed' => 'Ubuntu Condensed',
788
- 'Ubuntu Mono' => 'Ubuntu Mono',
789
- 'Ultra' => 'Ultra',
790
- 'Uncial Antiqua' => 'Uncial Antiqua',
791
- 'Underdog' => 'Underdog',
792
- 'Unica One' => 'Unica One',
793
- 'UnifrakturCook' => 'UnifrakturCook',
794
- 'UnifrakturMaguntia' => 'UnifrakturMaguntia',
795
- 'Unkempt' => 'Unkempt',
796
- 'Unlock' => 'Unlock',
797
- 'Unna' => 'Unna',
798
- 'VT323' => 'VT323',
799
- 'Vampiro One' => 'Vampiro One',
800
- 'Varela' => 'Varela',
801
- 'Varela Round' => 'Varela Round',
802
- 'Vast Shadow' => 'Vast Shadow',
803
- 'Vesper Libre' => 'Vesper Libre',
804
- 'Vibur' => 'Vibur',
805
- 'Vidaloka' => 'Vidaloka',
806
- 'Viga' => 'Viga',
807
- 'Voces' => 'Voces',
808
- 'Volkhov' => 'Volkhov',
809
- 'Vollkorn' => 'Vollkorn',
810
- 'Voltaire' => 'Voltaire',
811
- 'Waiting for the Sunrise' => 'Waiting for the Sunrise',
812
- 'Wallpoet' => 'Wallpoet',
813
- 'Walter Turncoat' => 'Walter Turncoat',
814
- 'Warnes' => 'Warnes',
815
- 'Wellfleet' => 'Wellfleet',
816
- 'Wendy One' => 'Wendy One',
817
- 'Wire One' => 'Wire One',
818
- 'Work Sans' => 'Work Sans',
819
- 'Yanone Kaffeesatz' => 'Yanone Kaffeesatz',
820
- 'Yantramanav' => 'Yantramanav',
821
- 'Yatra One' => 'Yatra One',
822
- 'Yellowtail' => 'Yellowtail',
823
- 'Yeseva One' => 'Yeseva One',
824
- 'Yesteryear' => 'Yesteryear',
825
- 'Yrsa' => 'Yrsa',
826
- 'Zeyada' => 'Zeyada',
827
- );
828
  }
829
 
830
  ?>
1
  <?php
2
+ defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' );
 
 
 
3
 
4
  function ujic_googlefonts() {
5
+ return array('none' => 'Default Font', 'ABeeZee' => 'ABeeZee', 'Abel' => 'Abel', 'Abril Fatface' => 'Abril Fatface', 'Aclonica' => 'Aclonica', 'Acme' => 'Acme', 'Actor' => 'Actor', 'Adamina' => 'Adamina', 'Advent Pro' => 'Advent Pro', 'Aguafina Script' => 'Aguafina Script', 'Akronim' => 'Akronim', 'Aladin' => 'Aladin', 'Aldrich' => 'Aldrich', 'Alef' => 'Alef', 'Alegreya' => 'Alegreya', 'Alegreya SC' => 'Alegreya SC', 'Alegreya Sans' => 'Alegreya Sans', 'Alegreya Sans SC' => 'Alegreya Sans SC', 'Alex Brush' => 'Alex Brush', 'Alfa Slab One' => 'Alfa Slab One', 'Alice' => 'Alice', 'Alike' => 'Alike', 'Alike Angular' => 'Alike Angular', 'Allan' => 'Allan', 'Allerta' => 'Allerta', 'Allerta Stencil' => 'Allerta Stencil', 'Allura' => 'Allura', 'Almendra' => 'Almendra', 'Almendra Display' => 'Almendra Display', 'Almendra SC' => 'Almendra SC', 'Amarante' => 'Amarante', 'Amaranth' => 'Amaranth', 'Amatic SC' => 'Amatic SC', 'Amethysta' => 'Amethysta', 'Anaheim' => 'Anaheim', 'Andada' => 'Andada', 'Andika' => 'Andika', 'Angkor' => 'Angkor', 'Annie Use Your Telescope' => 'Annie Use Your Telescope', 'Anonymous Pro' => 'Anonymous Pro', 'Antic' => 'Antic', 'Antic Didone' => 'Antic Didone', 'Antic Slab' => 'Antic Slab', 'Anton' => 'Anton', 'Arapey' => 'Arapey', 'Arbutus' => 'Arbutus', 'Arbutus Slab' => 'Arbutus Slab', 'Architects Daughter' => 'Architects Daughter', 'Archivo Black' => 'Archivo Black', 'Archivo Narrow' => 'Archivo Narrow', 'Arimo' => 'Arimo', 'Arizonia' => 'Arizonia', 'Armata' => 'Armata', 'Artifika' => 'Artifika', 'Arvo' => 'Arvo', 'Asap' => 'Asap', 'Asset' => 'Asset', 'Astloch' => 'Astloch', 'Asul' => 'Asul', 'Atomic Age' => 'Atomic Age', 'Aubrey' => 'Aubrey', 'Audiowide' => 'Audiowide', 'Autour One' => 'Autour One', 'Average' => 'Average', 'Average Sans' => 'Average Sans', 'Averia Gruesa Libre' => 'Averia Gruesa Libre', 'Averia Libre' => 'Averia Libre', 'Averia Sans Libre' => 'Averia Sans Libre', 'Averia Serif Libre' => 'Averia Serif Libre', 'Bad Script' => 'Bad Script', 'Balthazar' => 'Balthazar', 'Bangers' => 'Bangers', 'Basic' => 'Basic', 'Battambang' => 'Battambang', 'Baumans' => 'Baumans', 'Bayon' => 'Bayon', 'Belgrano' => 'Belgrano', 'Belleza' => 'Belleza', 'BenchNine' => 'BenchNine', 'Bentham' => 'Bentham', 'Berkshire Swash' => 'Berkshire Swash', 'Bevan' => 'Bevan', 'Bigelow Rules' => 'Bigelow Rules', 'Bigshot One' => 'Bigshot One', 'Bilbo' => 'Bilbo', 'Bilbo Swash Caps' => 'Bilbo Swash Caps', 'Bitter' => 'Bitter', 'Black Ops One' => 'Black Ops One', 'Bokor' => 'Bokor', 'Bonbon' => 'Bonbon', 'Boogaloo' => 'Boogaloo', 'Bowlby One' => 'Bowlby One', 'Bowlby One SC' => 'Bowlby One SC', 'Brawler' => 'Brawler', 'Bree Serif' => 'Bree Serif', 'Bubblegum Sans' => 'Bubblegum Sans', 'Bubbler One' => 'Bubbler One', 'Buda' => 'Buda', 'Buenard' => 'Buenard', 'Butcherman' => 'Butcherman', 'Butterfly Kids' => 'Butterfly Kids', 'Cabin' => 'Cabin', 'Cabin Condensed' => 'Cabin Condensed', 'Cabin Sketch' => 'Cabin Sketch', 'Caesar Dressing' => 'Caesar Dressing', 'Cagliostro' => 'Cagliostro', 'Calligraffitti' => 'Calligraffitti', 'Cambo' => 'Cambo', 'Candal' => 'Candal', 'Cantarell' => 'Cantarell', 'Cantata One' => 'Cantata One', 'Cantora One' => 'Cantora One', 'Capriola' => 'Capriola', 'Cardo' => 'Cardo', 'Carme' => 'Carme', 'Carrois Gothic' => 'Carrois Gothic', 'Carrois Gothic SC' => 'Carrois Gothic SC', 'Carter One' => 'Carter One', 'Caudex' => 'Caudex', 'Cedarville Cursive' => 'Cedarville Cursive', 'Ceviche One' => 'Ceviche One', 'Changa One' => 'Changa One', 'Chango' => 'Chango', 'Chau Philomene One' => 'Chau Philomene One', 'Chela One' => 'Chela One', 'Chelsea Market' => 'Chelsea Market', 'Chenla' => 'Chenla', 'Cherry Cream Soda' => 'Cherry Cream Soda', 'Cherry Swash' => 'Cherry Swash', 'Chewy' => 'Chewy', 'Chicle' => 'Chicle', 'Chivo' => 'Chivo', 'Cinzel' => 'Cinzel', 'Cinzel Decorative' => 'Cinzel Decorative', 'Clicker Script' => 'Clicker Script', 'Coda' => 'Coda', 'Coda Caption' => 'Coda Caption', 'Codystar' => 'Codystar', 'Combo' => 'Combo', 'Comfortaa' => 'Comfortaa', 'Coming Soon' => 'Coming Soon', 'Concert One' => 'Concert One', 'Condiment' => 'Condiment', 'Content' => 'Content', 'Contrail One' => 'Contrail One', 'Convergence' => 'Convergence', 'Cookie' => 'Cookie', 'Copse' => 'Copse', 'Corben' => 'Corben', 'Courgette' => 'Courgette', 'Cousine' => 'Cousine', 'Coustard' => 'Coustard', 'Covered By Your Grace' => 'Covered By Your Grace', 'Crafty Girls' => 'Crafty Girls', 'Creepster' => 'Creepster', 'Crete Round' => 'Crete Round', 'Crimson Text' => 'Crimson Text', 'Croissant One' => 'Croissant One', 'Crushed' => 'Crushed', 'Cuprum' => 'Cuprum', 'Cutive' => 'Cutive', 'Cutive Mono' => 'Cutive Mono', 'Damion' => 'Damion', 'Dancing Script' => 'Dancing Script', 'Dangrek' => 'Dangrek', 'Dawning of a New Day' => 'Dawning of a New Day', 'Days One' => 'Days One', 'Delius' => 'Delius', 'Delius Swash Caps' => 'Delius Swash Caps', 'Delius Unicase' => 'Delius Unicase', 'Della Respira' => 'Della Respira', 'Denk One' => 'Denk One', 'Devonshire' => 'Devonshire', 'Didact Gothic' => 'Didact Gothic', 'Diplomata' => 'Diplomata', 'Diplomata SC' => 'Diplomata SC', 'Domine' => 'Domine', 'Donegal One' => 'Donegal One', 'Doppio One' => 'Doppio One', 'Dorsa' => 'Dorsa', 'Dosis' => 'Dosis', 'Dr Sugiyama' => 'Dr Sugiyama', 'Droid Sans' => 'Droid Sans', 'Droid Sans Mono' => 'Droid Sans Mono', 'Droid Serif' => 'Droid Serif', 'Duru Sans' => 'Duru Sans', 'Dynalight' => 'Dynalight', 'EB Garamond' => 'EB Garamond', 'Eagle Lake' => 'Eagle Lake', 'Eater' => 'Eater', 'Economica' => 'Economica', 'Ek Mukta' => 'Ek Mukta', 'Electrolize' => 'Electrolize', 'Elsie' => 'Elsie', 'Elsie Swash Caps' => 'Elsie Swash Caps', 'Emblema One' => 'Emblema One', 'Emilys Candy' => 'Emilys Candy', 'Engagement' => 'Engagement', 'Englebert' => 'Englebert', 'Enriqueta' => 'Enriqueta', 'Erica One' => 'Erica One', 'Esteban' => 'Esteban', 'Euphoria Script' => 'Euphoria Script', 'Ewert' => 'Ewert', 'Exo' => 'Exo', 'Exo 2' => 'Exo 2', 'Expletus Sans' => 'Expletus Sans', 'Fanwood Text' => 'Fanwood Text', 'Fascinate' => 'Fascinate', 'Fascinate Inline' => 'Fascinate Inline', 'Faster One' => 'Faster One', 'Fasthand' => 'Fasthand', 'Fauna One' => 'Fauna One', 'Federant' => 'Federant', 'Federo' => 'Federo', 'Felipa' => 'Felipa', 'Fenix' => 'Fenix', 'Finger Paint' => 'Finger Paint', 'Fira Mono' => 'Fira Mono', 'Fira Sans' => 'Fira Sans', 'Fjalla One' => 'Fjalla One', 'Fjord One' => 'Fjord One', 'Flamenco' => 'Flamenco', 'Flavors' => 'Flavors', 'Fondamento' => 'Fondamento', 'Fontdiner Swanky' => 'Fontdiner Swanky', 'Forum' => 'Forum', 'Francois One' => 'Francois One', 'Freckle Face' => 'Freckle Face', 'Fredericka the Great' => 'Fredericka the Great', 'Fredoka One' => 'Fredoka One', 'Freehand' => 'Freehand', 'Fresca' => 'Fresca', 'Frijole' => 'Frijole', 'Fruktur' => 'Fruktur', 'Fugaz One' => 'Fugaz One', 'GFS Didot' => 'GFS Didot', 'GFS Neohellenic' => 'GFS Neohellenic', 'Gabriela' => 'Gabriela', 'Gafata' => 'Gafata', 'Galdeano' => 'Galdeano', 'Galindo' => 'Galindo', 'Gentium Basic' => 'Gentium Basic', 'Gentium Book Basic' => 'Gentium Book Basic', 'Geo' => 'Geo', 'Geostar' => 'Geostar', 'Geostar Fill' => 'Geostar Fill', 'Germania One' => 'Germania One', 'Gilda Display' => 'Gilda Display', 'Give You Glory' => 'Give You Glory', 'Glass Antiqua' => 'Glass Antiqua', 'Glegoo' => 'Glegoo', 'Gloria Hallelujah' => 'Gloria Hallelujah', 'Goblin One' => 'Goblin One', 'Gochi Hand' => 'Gochi Hand', 'Gorditas' => 'Gorditas', 'Goudy Bookletter 1911' => 'Goudy Bookletter 1911', 'Graduate' => 'Graduate', 'Grand Hotel' => 'Grand Hotel', 'Gravitas One' => 'Gravitas One', 'Great Vibes' => 'Great Vibes', 'Griffy' => 'Griffy', 'Gruppo' => 'Gruppo', 'Gudea' => 'Gudea', 'Habibi' => 'Habibi', 'Halant' => 'Halant', 'Hammersmith One' => 'Hammersmith One', 'Hanalei' => 'Hanalei', 'Hanalei Fill' => 'Hanalei Fill', 'Handlee' => 'Handlee', 'Hanuman' => 'Hanuman', 'Happy Monkey' => 'Happy Monkey', 'Headland One' => 'Headland One', 'Henny Penny' => 'Henny Penny', 'Herr Von Muellerhoff' => 'Herr Von Muellerhoff', 'Hind' => 'Hind', 'Holtwood One SC' => 'Holtwood One SC', 'Homemade Apple' => 'Homemade Apple', 'Homenaje' => 'Homenaje', 'IM Fell DW Pica' => 'IM Fell DW Pica', 'IM Fell DW Pica SC' => 'IM Fell DW Pica SC', 'IM Fell Double Pica' => 'IM Fell Double Pica', 'IM Fell Double Pica SC' => 'IM Fell Double Pica SC', 'IM Fell English' => 'IM Fell English', 'IM Fell English SC' => 'IM Fell English SC', 'IM Fell French Canon' => 'IM Fell French Canon', 'IM Fell French Canon SC' => 'IM Fell French Canon SC', 'IM Fell Great Primer' => 'IM Fell Great Primer', 'IM Fell Great Primer SC' => 'IM Fell Great Primer SC', 'Iceberg' => 'Iceberg', 'Iceland' => 'Iceland', 'Imprima' => 'Imprima', 'Inconsolata' => 'Inconsolata', 'Inder' => 'Inder', 'Indie Flower' => 'Indie Flower', 'Inika' => 'Inika', 'Irish Grover' => 'Irish Grover', 'Istok Web' => 'Istok Web', 'Italiana' => 'Italiana', 'Italianno' => 'Italianno', 'Jacques Francois' => 'Jacques Francois', 'Jacques Francois Shadow' => 'Jacques Francois Shadow', 'Jim Nightshade' => 'Jim Nightshade', 'Jockey One' => 'Jockey One', 'Jolly Lodger' => 'Jolly Lodger', 'Josefin Sans' => 'Josefin Sans', 'Josefin Slab' => 'Josefin Slab', 'Joti One' => 'Joti One', 'Judson' => 'Judson', 'Julee' => 'Julee', 'Julius Sans One' => 'Julius Sans One', 'Junge' => 'Junge', 'Jura' => 'Jura', 'Just Another Hand' => 'Just Another Hand', 'Just Me Again Down Here' => 'Just Me Again Down Here', 'Kalam' => 'Kalam', 'Kameron' => 'Kameron', 'Kantumruy' => 'Kantumruy', 'Karla' => 'Karla', 'Karma' => 'Karma', 'Kaushan Script' => 'Kaushan Script', 'Kavoon' => 'Kavoon', 'Kdam Thmor' => 'Kdam Thmor', 'Keania One' => 'Keania One', 'Kelly Slab' => 'Kelly Slab', 'Kenia' => 'Kenia', 'Khand' => 'Khand', 'Khmer' => 'Khmer', 'Kite One' => 'Kite One', 'Knewave' => 'Knewave', 'Kotta One' => 'Kotta One', 'Koulen' => 'Koulen', 'Kranky' => 'Kranky', 'Kreon' => 'Kreon', 'Kristi' => 'Kristi', 'Krona One' => 'Krona One', 'La Belle Aurore' => 'La Belle Aurore', 'Laila' => 'Laila', 'Lancelot' => 'Lancelot', 'Lato' => 'Lato', 'League Script' => 'League Script', 'Leckerli One' => 'Leckerli One', 'Ledger' => 'Ledger', 'Lekton' => 'Lekton', 'Lemon' => 'Lemon', 'Libre Baskerville' => 'Libre Baskerville', 'Life Savers' => 'Life Savers', 'Lilita One' => 'Lilita One', 'Lily Script One' => 'Lily Script One', 'Limelight' => 'Limelight', 'Linden Hill' => 'Linden Hill', 'Lobster' => 'Lobster', 'Lobster Two' => 'Lobster Two', 'Londrina Outline' => 'Londrina Outline', 'Londrina Shadow' => 'Londrina Shadow', 'Londrina Sketch' => 'Londrina Sketch', 'Londrina Solid' => 'Londrina Solid', 'Lora' => 'Lora', 'Love Ya Like A Sister' => 'Love Ya Like A Sister', 'Loved by the King' => 'Loved by the King', 'Lovers Quarrel' => 'Lovers Quarrel', 'Luckiest Guy' => 'Luckiest Guy', 'Lusitana' => 'Lusitana', 'Lustria' => 'Lustria', 'Macondo' => 'Macondo', 'Macondo Swash Caps' => 'Macondo Swash Caps', 'Magra' => 'Magra', 'Maiden Orange' => 'Maiden Orange', 'Mako' => 'Mako', 'Marcellus' => 'Marcellus', 'Marcellus SC' => 'Marcellus SC', 'Marck Script' => 'Marck Script', 'Margarine' => 'Margarine', 'Marko One' => 'Marko One', 'Marmelad' => 'Marmelad', 'Marvel' => 'Marvel', 'Mate' => 'Mate', 'Mate SC' => 'Mate SC', 'Maven Pro' => 'Maven Pro', 'McLaren' => 'McLaren', 'Meddon' => 'Meddon', 'MedievalSharp' => 'MedievalSharp', 'Medula One' => 'Medula One', 'Megrim' => 'Megrim', 'Meie Script' => 'Meie Script', 'Merienda' => 'Merienda', 'Merienda One' => 'Merienda One', 'Merriweather' => 'Merriweather', 'Merriweather Sans' => 'Merriweather Sans', 'Metal' => 'Metal', 'Metal Mania' => 'Metal Mania', 'Metamorphous' => 'Metamorphous', 'Metrophobic' => 'Metrophobic', 'Michroma' => 'Michroma', 'Milonga' => 'Milonga', 'Miltonian' => 'Miltonian', 'Miltonian Tattoo' => 'Miltonian Tattoo', 'Miniver' => 'Miniver', 'Miss Fajardose' => 'Miss Fajardose', 'Modern Antiqua' => 'Modern Antiqua', 'Molengo' => 'Molengo', 'Molle' => 'Molle', 'Monda' => 'Monda', 'Monofett' => 'Monofett', 'Monoton' => 'Monoton', 'Monsieur La Doulaise' => 'Monsieur La Doulaise', 'Montaga' => 'Montaga', 'Montez' => 'Montez', 'Montserrat' => 'Montserrat', 'Montserrat Alternates' => 'Montserrat Alternates', 'Montserrat Subrayada' => 'Montserrat Subrayada', 'Moul' => 'Moul', 'Moulpali' => 'Moulpali', 'Mountains of Christmas' => 'Mountains of Christmas', 'Mouse Memoirs' => 'Mouse Memoirs', 'Mr Bedfort' => 'Mr Bedfort', 'Mr Dafoe' => 'Mr Dafoe', 'Mr De Haviland' => 'Mr De Haviland', 'Mrs Saint Delafield' => 'Mrs Saint Delafield', 'Mrs Sheppards' => 'Mrs Sheppards', 'Muli' => 'Muli', 'Mystery Quest' => 'Mystery Quest', 'Neucha' => 'Neucha', 'Neuton' => 'Neuton', 'New Rocker' => 'New Rocker', 'News Cycle' => 'News Cycle', 'Niconne' => 'Niconne', 'Nixie One' => 'Nixie One', 'Nobile' => 'Nobile', 'Nokora' => 'Nokora', 'Norican' => 'Norican', 'Nosifer' => 'Nosifer', 'Nothing You Could Do' => 'Nothing You Could Do', 'Noticia Text' => 'Noticia Text', 'Noto Sans' => 'Noto Sans', 'Noto Serif' => 'Noto Serif', 'Nova Cut' => 'Nova Cut', 'Nova Flat' => 'Nova Flat', 'Nova Mono' => 'Nova Mono', 'Nova Oval' => 'Nova Oval', 'Nova Round' => 'Nova Round', 'Nova Script' => 'Nova Script', 'Nova Slim' => 'Nova Slim', 'Nova Square' => 'Nova Square', 'Numans' => 'Numans', 'Nunito' => 'Nunito', 'Odor Mean Chey' => 'Odor Mean Chey', 'Offside' => 'Offside', 'Old Standard TT' => 'Old Standard TT', 'Oldenburg' => 'Oldenburg', 'Oleo Script' => 'Oleo Script', 'Oleo Script Swash Caps' => 'Oleo Script Swash Caps', 'Open Sans' => 'Open Sans', 'Open Sans Condensed' => 'Open Sans Condensed', 'Oranienbaum' => 'Oranienbaum', 'Orbitron' => 'Orbitron', 'Oregano' => 'Oregano', 'Orienta' => 'Orienta', 'Original Surfer' => 'Original Surfer', 'Oswald' => 'Oswald', 'Over the Rainbow' => 'Over the Rainbow', 'Overlock' => 'Overlock', 'Overlock SC' => 'Overlock SC', 'Ovo' => 'Ovo', 'Oxygen' => 'Oxygen', 'Oxygen Mono' => 'Oxygen Mono', 'PT Mono' => 'PT Mono', 'PT Sans' => 'PT Sans', 'PT Sans Caption' => 'PT Sans Caption', 'PT Sans Narrow' => 'PT Sans Narrow', 'PT Serif' => 'PT Serif', 'PT Serif Caption' => 'PT Serif Caption', 'Pacifico' => 'Pacifico', 'Paprika' => 'Paprika', 'Parisienne' => 'Parisienne', 'Passero One' => 'Passero One', 'Passion One' => 'Passion One', 'Pathway Gothic One' => 'Pathway Gothic One', 'Patrick Hand' => 'Patrick Hand', 'Patrick Hand SC' => 'Patrick Hand SC', 'Patua One' => 'Patua One', 'Paytone One' => 'Paytone One', 'Peralta' => 'Peralta', 'Permanent Marker' => 'Permanent Marker', 'Petit Formal Script' => 'Petit Formal Script', 'Petrona' => 'Petrona', 'Philosopher' => 'Philosopher', 'Piedra' => 'Piedra', 'Pinyon Script' => 'Pinyon Script', 'Pirata One' => 'Pirata One', 'Plaster' => 'Plaster', 'Play' => 'Play', 'Playball' => 'Playball', 'Playfair Display' => 'Playfair Display', 'Playfair Display SC' => 'Playfair Display SC', 'Podkova' => 'Podkova', 'Poiret One' => 'Poiret One', 'Poller One' => 'Poller One', 'Poly' => 'Poly', 'Pompiere' => 'Pompiere', 'Pontano Sans' => 'Pontano Sans', 'Port Lligat Sans' => 'Port Lligat Sans', 'Port Lligat Slab' => 'Port Lligat Slab', 'Prata' => 'Prata', 'Preahvihear' => 'Preahvihear', 'Press Start 2P' => 'Press Start 2P', 'Princess Sofia' => 'Princess Sofia', 'Prociono' => 'Prociono', 'Prosto One' => 'Prosto One', 'Puritan' => 'Puritan', 'Purple Purse' => 'Purple Purse', 'Quando' => 'Quando', 'Quantico' => 'Quantico', 'Quattrocento' => 'Quattrocento', 'Quattrocento Sans' => 'Quattrocento Sans', 'Questrial' => 'Questrial', 'Quicksand' => 'Quicksand', 'Quintessential' => 'Quintessential', 'Qwigley' => 'Qwigley', 'Racing Sans One' => 'Racing Sans One', 'Radley' => 'Radley', 'Rajdhani' => 'Rajdhani', 'Raleway' => 'Raleway', 'Raleway Dots' => 'Raleway Dots', 'Rambla' => 'Rambla', 'Rammetto One' => 'Rammetto One', 'Ranchers' => 'Ranchers', 'Rancho' => 'Rancho', 'Rationale' => 'Rationale', 'Redressed' => 'Redressed', 'Reenie Beanie' => 'Reenie Beanie', 'Revalia' => 'Revalia', 'Ribeye' => 'Ribeye', 'Ribeye Marrow' => 'Ribeye Marrow', 'Righteous' => 'Righteous', 'Risque' => 'Risque', 'Roboto' => 'Roboto', 'Roboto Condensed' => 'Roboto Condensed', 'Roboto Slab' => 'Roboto Slab', 'Rochester' => 'Rochester', 'Rock Salt' => 'Rock Salt', 'Rokkitt' => 'Rokkitt', 'Romanesco' => 'Romanesco', 'Ropa Sans' => 'Ropa Sans', 'Rosario' => 'Rosario', 'Rosarivo' => 'Rosarivo', 'Rouge Script' => 'Rouge Script', 'Rozha One' => 'Rozha One', 'Rubik Mono One' => 'Rubik Mono One', 'Rubik One' => 'Rubik One', 'Ruda' => 'Ruda', 'Rufina' => 'Rufina', 'Ruge Boogie' => 'Ruge Boogie', 'Ruluko' => 'Ruluko', 'Rum Raisin' => 'Rum Raisin', 'Ruslan Display' => 'Ruslan Display', 'Russo One' => 'Russo One', 'Ruthie' => 'Ruthie', 'Rye' => 'Rye', 'Sacramento' => 'Sacramento', 'Sail' => 'Sail', 'Salsa' => 'Salsa', 'Sanchez' => 'Sanchez', 'Sancreek' => 'Sancreek', 'Sansita One' => 'Sansita One', 'Sarina' => 'Sarina', 'Sarpanch' => 'Sarpanch', 'Satisfy' => 'Satisfy', 'Scada' => 'Scada', 'Schoolbell' => 'Schoolbell', 'Seaweed Script' => 'Seaweed Script', 'Sevillana' => 'Sevillana', 'Seymour One' => 'Seymour One', 'Shadows Into Light' => 'Shadows Into Light', 'Shadows Into Light Two' => 'Shadows Into Light Two', 'Shanti' => 'Shanti', 'Share' => 'Share', 'Share Tech' => 'Share Tech', 'Share Tech Mono' => 'Share Tech Mono', 'Shojumaru' => 'Shojumaru', 'Short Stack' => 'Short Stack', 'Siemreap' => 'Siemreap', 'Sigmar One' => 'Sigmar One', 'Signika' => 'Signika', 'Signika Negative' => 'Signika Negative', 'Simonetta' => 'Simonetta', 'Sintony' => 'Sintony', 'Sirin Stencil' => 'Sirin Stencil', 'Six Caps' => 'Six Caps', 'Skranji' => 'Skranji', 'Slabo 13px' => 'Slabo 13px', 'Slabo 27px' => 'Slabo 27px', 'Slackey' => 'Slackey', 'Smokum' => 'Smokum', 'Smythe' => 'Smythe', 'Sniglet' => 'Sniglet', 'Snippet' => 'Snippet', 'Snowburst One' => 'Snowburst One', 'Sofadi One' => 'Sofadi One', 'Sofia' => 'Sofia', 'Sonsie One' => 'Sonsie One', 'Sorts Mill Goudy' => 'Sorts Mill Goudy', 'Source Code Pro' => 'Source Code Pro', 'Source Sans Pro' => 'Source Sans Pro', 'Source Serif Pro' => 'Source Serif Pro', 'Special Elite' => 'Special Elite', 'Spicy Rice' => 'Spicy Rice', 'Spinnaker' => 'Spinnaker', 'Spirax' => 'Spirax', 'Squada One' => 'Squada One', 'Stalemate' => 'Stalemate', 'Stalinist One' => 'Stalinist One', 'Stardos Stencil' => 'Stardos Stencil', 'Stint Ultra Condensed' => 'Stint Ultra Condensed', 'Stint Ultra Expanded' => 'Stint Ultra Expanded', 'Stoke' => 'Stoke', 'Strait' => 'Strait', 'Sue Ellen Francisco' => 'Sue Ellen Francisco', 'Sunshiney' => 'Sunshiney', 'Supermercado One' => 'Supermercado One', 'Suwannaphum' => 'Suwannaphum', 'Swanky and Moo Moo' => 'Swanky and Moo Moo', 'Syncopate' => 'Syncopate', 'Tangerine' => 'Tangerine', 'Taprom' => 'Taprom', 'Tauri' => 'Tauri', 'Teko' => 'Teko', 'Telex' => 'Telex', 'Tenor Sans' => 'Tenor Sans', 'Text Me One' => 'Text Me One', 'The Girl Next Door' => 'The Girl Next Door', 'Tienne' => 'Tienne', 'Tinos' => 'Tinos', 'Titan One' => 'Titan One', 'Titillium Web' => 'Titillium Web', 'Trade Winds' => 'Trade Winds', 'Trocchi' => 'Trocchi', 'Trochut' => 'Trochut', 'Trykker' => 'Trykker', 'Tulpen One' => 'Tulpen One', 'Ubuntu' => 'Ubuntu', 'Ubuntu Condensed' => 'Ubuntu Condensed', 'Ubuntu Mono' => 'Ubuntu Mono', 'Ultra' => 'Ultra', 'Uncial Antiqua' => 'Uncial Antiqua', 'Underdog' => 'Underdog', 'Unica One' => 'Unica One', 'UnifrakturCook' => 'UnifrakturCook', 'UnifrakturMaguntia' => 'UnifrakturMaguntia', 'Unkempt' => 'Unkempt', 'Unlock' => 'Unlock', 'Unna' => 'Unna', 'VT323' => 'VT323', 'Vampiro One' => 'Vampiro One', 'Varela' => 'Varela', 'Varela Round' => 'Varela Round', 'Vast Shadow' => 'Vast Shadow', 'Vesper Libre' => 'Vesper Libre', 'Vibur' => 'Vibur', 'Vidaloka' => 'Vidaloka', 'Viga' => 'Viga', 'Voces' => 'Voces', 'Volkhov' => 'Volkhov', 'Vollkorn' => 'Vollkorn', 'Voltaire' => 'Voltaire', 'Waiting for the Sunrise' => 'Waiting for the Sunrise', 'Wallpoet' => 'Wallpoet', 'Walter Turncoat' => 'Walter Turncoat', 'Warnes' => 'Warnes', 'Wellfleet' => 'Wellfleet', 'Wendy One' => 'Wendy One', 'Wire One' => 'Wire One', 'Yanone Kaffeesatz' => 'Yanone Kaffeesatz', 'Yellowtail' => 'Yellowtail', 'Yeseva One' => 'Yeseva One', 'Yesteryear' => 'Yesteryear', 'Zeyada' => 'Zeyada');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
7
 
8
  ?>
assets/images/ujic-ps0.png ADDED
Binary file
assets/js/admin-ujic.js ADDED
@@ -0,0 +1,278 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery.noConflict();
2
+
3
+ var slider_uji = [];
4
+
5
+ /** Fire up jQuery - let's dance!
6
+ */
7
+ jQuery(document).ready(function ($) {
8
+
9
+ var fname = jQuery("#ujic-style").val() + 'Select';
10
+
11
+
12
+
13
+ /* jQuery UI Slider */
14
+ jQuery('.ujic_sliderui').each(function () {
15
+
16
+ var obj = jQuery(this);
17
+ var sId = "#" + obj.data('id');
18
+ var val = parseInt(obj.data('val'));
19
+ var min = parseInt(obj.data('min'));
20
+ var max = parseInt(obj.data('max'));
21
+ var step = parseInt(obj.data('step'));
22
+
23
+ //slider init
24
+ obj.slider({
25
+ value: val,
26
+ min: min,
27
+ max: max,
28
+ step: step,
29
+ range: "min",
30
+ slide: function (event, ui) {
31
+ jQuery(sId).val(ui.value);
32
+ if("#ujic_size" == sId)
33
+ window[fname].the_size(ui.value);
34
+ if("#ujic_thick" == sId)
35
+ window[fname].the_thick(ui.value);
36
+ if("#ujic_lab_sz" == sId)
37
+ window[fname].the_lab_sz(ui.value);
38
+
39
+ //Ad Slider extension
40
+ if (typeof slider_uji !== 'undefined' && slider_uji.length > 0) {
41
+ //console.log(slider_uji.length);
42
+ for (s = 0; s < slider_uji.length; s++) {
43
+ if(slider_uji[s].id == sId)
44
+ window[slider_uji[s].callback](ui.value, fname);
45
+ }
46
+ }
47
+
48
+ }
49
+ });
50
+
51
+ });
52
+
53
+ /* jQuery Color Picker */
54
+ jQuery('.ujic_colorpick').wpColorPicker({change: function (event, ui) {
55
+ window[fname].new_colors($(this).attr("id"), $(this).val())
56
+ }});
57
+
58
+
59
+ /* JQuery Checkbox/Radio */
60
+ jQuery('input').iCheck({
61
+ checkboxClass: 'icheckbox_flat-pink',
62
+ radioClass: 'iradio_flat-pink'
63
+ });
64
+
65
+ jQuery(".ujic-preview").draggable();
66
+ jQuery(".ujic-preview").find('.handlediv').hide();
67
+ jQuery(".ujic-preview").find('.postbox').click(function () {
68
+ $(this).removeClass('closed');
69
+ });
70
+
71
+
72
+ if (jQuery('#ujic_name').length) {
73
+ /* Style Preview */
74
+ window[fname].init();
75
+ }
76
+
77
+ });
78
+
79
+
80
+ //select styles
81
+ function sel_style(s) {
82
+ var lnk;
83
+ if (s == 'classic')
84
+ lnk = 'options-general.php?page=ujicountdown&tab=tab_ujic_new&style=classic';
85
+ if (s == 'modern')
86
+ lnk = 'options-general.php?page=ujicountdown&tab=tab_ujic_new&style=modern';
87
+ if (s == 'custom')
88
+ lnk = 'options-general.php?page=ujicountdown&tab=tab_ujic_new&style=custom';
89
+ window.location.href = "" + lnk + "";
90
+ }
91
+
92
+
93
+ //redirect to home admin
94
+ function ujic_admin_home() {
95
+ window.location.href = 'options-general.php?page=ujicountdown';
96
+ }
97
+
98
+
99
+ /**
100
+ *
101
+ * Preview Clasic Panel Admin
102
+ *
103
+ *
104
+ */
105
+
106
+ (function ($) {
107
+ classicSelect = {
108
+ /// Init
109
+ init: function () {
110
+ var style = $('#ujic-style');
111
+ if (style.length) {
112
+ this.the_size();
113
+ this.the_lab_sz();
114
+ this.the_format();
115
+ this.the_colors();
116
+ this.the_labels();
117
+ this.the_fonts();
118
+ }
119
+ },
120
+ /// Size
121
+ the_size: function (val) {
122
+ var size = $('#ujic_size');
123
+ if (size.length) {
124
+ var newsize = (val && val != 'undefined' && val.length) ? val : size.val();
125
+ }
126
+ $('#ujiCountdown').find('.countdown_amount').css('font-size', newsize + 'px');
127
+ },
128
+ /// Label Size
129
+ the_lab_sz: function (val) {
130
+ var size = $('#ujic_lab_sz');
131
+ if (size.length) {
132
+ $('.countdown_txt').css('font-size', ((val && val != 'undefined' && val.length) ? val : size.val()) + 'px');
133
+ }
134
+ },
135
+ /// Format
136
+ the_format: function ( ) {
137
+ var format = new Array('ujic_d', 'ujic_h', 'ujic_m', 'ujic_s', 'ujic_y', 'ujic_o', 'ujic_w');
138
+ for (var i = 0; i < format.length; i++) {
139
+ if ($('#' + format[i]).is(":checked")) {
140
+ $('#ujiCountdown').find('.' + format[i]).show();
141
+ } else {
142
+ $('#ujiCountdown').find('.' + format[i]).hide();
143
+ }
144
+ }
145
+ //live change
146
+ $('.iCheck-helper').click(function () {
147
+ var id = $(this).parent().find(":checkbox").attr("id");
148
+ if ($(this).parent().hasClass('checked')) {
149
+ $('#ujiCountdown').find('.' + id).show();
150
+ } else {
151
+ $('#ujiCountdown').find('.' + id).hide();
152
+ }
153
+ });
154
+ },
155
+ //color light
156
+ shadeColor : function(color, percent) {
157
+ var num = parseInt(color.slice(1),16), amt = Math.round(2.55 * percent), R = (num >> 16) + amt, G = (num >> 8 & 0x00FF) + amt, B = (num & 0x0000FF) + amt;
158
+ return "#" + (0x1000000 + (R<255?R<1?0:R:255)*0x10000 + (G<255?G<1?0:G:255)*0x100 + (B<255?B<1?0:B:255)).toString(16).slice(1);
159
+ },
160
+ /// Colors
161
+ the_colors: function (id, hex) {
162
+ var col_txt = $('#ujic_col_txt').val();
163
+ var col_sw = $('#ujic_col_sw').val();
164
+ var col_up = $('#ujic_col_up').val();
165
+ var col_dw = $('#ujic_col_dw').val();
166
+ var col_lab = $('#ujic_col_lab').val();
167
+ var col_sub = $('#ujic_subscrFrmSubmitColor').length ? $('#ujic_subscrFrmSubmitColor').val() : '#000000';
168
+
169
+ $('.countdown_amount').css('color', col_txt);
170
+ $('.countdown_amount').css("text-shadow", '1px 1px 1px ' + col_sw);
171
+
172
+ $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + col_up + " 50%, " + col_dw + " 50%)"); /* FF3.6+ */
173
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + col_up + "), color-stop(50%," + col_dw + "))"); /* Chrome,Safari4+ */
174
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* Chrome10+,Safari5.1+ */
175
+ $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* Opera 11.10+ */
176
+ $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* IE10+ */
177
+ $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + col_up + " 50%," + col_dw + " 50%)"); /* W3C */
178
+ $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_up + "', endColorstr='" + col_dw + "',GradientType=0 )"); /* IE6-9 */
179
+
180
+ $('.countdown_txt').css('color', col_lab);
181
+
182
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + col_sub + " 0%, " + this.shadeColor(col_sub, 20) + " 100%)"); /* FF3.6+ */
183
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + col_sub + "), color-stop(100%," + this.shadeColor(col_sub, 20) + "))"); /* Chrome,Safari4+ */
184
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + col_sub + " 50%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
185
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Opera 11.10+ */
186
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* IE10+ */
187
+ $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* W3C */
188
+ $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_sub + "', endColorstr='" + this.shadeColor(col_sub, 20) + "',GradientType=0 )"); /* IE6-9 */
189
+
190
+ },
191
+ /// Colors
192
+ new_colors: function (id, hex) {
193
+ var col_up = $('#ujic_col_up').val();
194
+ var col_dw = $('#ujic_col_dw').val();
195
+
196
+ switch (id)
197
+ {
198
+ case 'ujic_col_txt':
199
+ $('.countdown_amount').css('color', hex);
200
+ break;
201
+ case 'ujic_col_sw':
202
+ $('.countdown_amount').css("text-shadow", '1px 1px 1px ' + hex);
203
+ break;
204
+ case 'ujic_col_up':
205
+ $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + hex + " 50%, " + col_dw + " 50%)"); /* FF3.6+ */
206
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + hex + "), color-stop(50%," + col_dw + "))"); /* Chrome,Safari4+ */
207
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* Chrome10+,Safari5.1+ */
208
+ $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* Opera 11.10+ */
209
+ $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* IE10+ */
210
+ $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + hex + " 50%," + col_dw + " 50%)"); /* W3C */
211
+ $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + hex + "', endColorstr='" + col_dw + "',GradientType=0 )"); /* IE6-9 */
212
+ break;
213
+ case 'ujic_col_dw':
214
+ $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + col_up + " 50%, " + hex + " 50%)"); /* FF3.6+ */
215
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + col_up + "), color-stop(50%," + hex + "))"); /* Chrome,Safari4+ */
216
+ $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* Chrome10+,Safari5.1+ */
217
+ $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* Opera 11.10+ */
218
+ $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* IE10+ */
219
+ $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + col_up + " 50%," + hex + " 50%)"); /* W3C */
220
+ $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_up + "', endColorstr='" + hex + "',GradientType=0 )"); /* IE6-9 */
221
+ break;
222
+ case 'ujic_col_lab':
223
+ $('.countdown_txt').css('color', hex);
224
+ break;
225
+ case 'ujic_subscrFrmSubmitColor':
226
+ //console.log(this.shadeColor(hex, 70));
227
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + hex + " 0%, " + this.shadeColor(hex, 20) + " 100%)"); /* FF3.6+ */
228
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + hex + "), color-stop(100%," + this.shadeColor(hex, 20) + "))"); /* Chrome,Safari4+ */
229
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + hex + " 50%," + this.shadeColor(hex, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
230
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* Opera 11.10+ */
231
+ $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* IE10+ */
232
+ $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* W3C */
233
+ $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + hex + "', endColorstr='" + this.shadeColor(hex, 20) + "',GradientType=0 )"); /* IE6-9 */
234
+ break;
235
+ }
236
+ },
237
+ /// Text Labels
238
+ the_labels: function ( ) {
239
+ if ($('#ujic_txt').is(":checked")) {
240
+ $('.countdown_txt').show();
241
+ } else {
242
+ $('.countdown_txt').hide();
243
+ }
244
+
245
+ //live change
246
+ $('.iCheck-helper').click(function () {
247
+ var id = $(this).parent().find(":checkbox").attr("id");
248
+ if (id == 'ujic_txt' && $(this).parent().hasClass('checked')) {
249
+ $('.countdown_txt').show();
250
+ }
251
+ else if (id == 'ujic_txt') {
252
+ $('.countdown_txt').hide();
253
+ }
254
+ });
255
+
256
+ },
257
+ /// Google Font
258
+ the_fonts: function ( ) {
259
+ var val = $('#ujic_goof').val();
260
+ if (val && val != 'none') {
261
+ var the_font = val.replace(/\s+/g, '+');
262
+ //add reference to google font family
263
+ $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
264
+ $('.countdown_amount').css('font-family', val + ', sans-serif');
265
+ }
266
+ //live change
267
+ $('#ujic_goof').bind("change keyup", function () {
268
+ var val = $(this).val();
269
+ var the_font = val.replace(/\s+/g, '+');
270
+ //add reference to google font family
271
+ $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
272
+ $('.countdown_amount').css('font-family', val + ', sans-serif');
273
+
274
+ });
275
+ }
276
+
277
+ };
278
+ })(jQuery);
assets/js/admin.js DELETED
@@ -1,588 +0,0 @@
1
- jQuery.noConflict();
2
-
3
- /** Fire up jQuery - let's dance!
4
- */
5
- jQuery(document).ready(function ($) {
6
-
7
- var fname = jQuery("#ujic-style").val() + 'Select';
8
-
9
- /* jQuery UI Slider */
10
- jQuery('.ujic_sliderui').each(function () {
11
-
12
- var obj = jQuery(this);
13
- var sId = "#" + obj.data('id');
14
- var val = parseInt(obj.data('val'));
15
- var min = parseInt(obj.data('min'));
16
- var max = parseInt(obj.data('max'));
17
- var step = parseInt(obj.data('step'));
18
-
19
- //slider init
20
- obj.slider({
21
- value: val,
22
- min: min,
23
- max: max,
24
- step: step,
25
- range: "min",
26
- slide: function (event, ui) {
27
- jQuery(sId).val(ui.value);
28
- if("#ujic_size" == sId)
29
- window[fname].the_size(ui.value);
30
- if("#ujic_thick" == sId)
31
- window[fname].the_thick(ui.value);
32
- if("#ujic_lab_sz" == sId)
33
- window[fname].the_lab_sz(ui.value);
34
- if('#ujic_subscrFrmWidth' == sId)
35
- window[fname].subscrFormWidth(ui.value);
36
- }
37
- });
38
-
39
- });
40
-
41
- /* jQuery Color Picker */
42
- jQuery('.ujic_colorpick').wpColorPicker({change: function (event, ui) {
43
- window[fname].new_colors($(this).attr("id"), $(this).val())
44
- }});
45
-
46
-
47
- /* JQuery Checkbox/Radio */
48
- jQuery('input').iCheck({
49
- checkboxClass: 'icheckbox_flat-pink',
50
- radioClass: 'iradio_flat-pink'
51
- });
52
-
53
- jQuery(".ujic-preview").draggable();
54
- jQuery(".ujic-preview").find('.handlediv').hide();
55
- jQuery(".ujic-preview").find('.postbox').click(function () {
56
- $(this).removeClass('closed');
57
- });
58
-
59
-
60
- if (jQuery('#ujic_name').length) {
61
- /* Style Preview */
62
- window[fname].init();
63
- }
64
-
65
- });
66
-
67
-
68
- //select styles
69
- function sel_style(s) {
70
- var lnk;
71
- if (s == 'classic')
72
- lnk = 'options-general.php?page=uji-countdown&tab=tab_ujic_new&style=classic';
73
- if (s == 'modern')
74
- lnk = 'options-general.php?page=uji-countdown&tab=tab_ujic_new&style=modern';
75
- if (s == 'custom')
76
- lnk = 'options-general.php?page=uji-countdown&tab=tab_ujic_new&style=custom';
77
- window.location.href = "" + lnk + "";
78
- }
79
-
80
-
81
- //redirect to home admin
82
- function ujic_admin_home() {
83
- window.location.href = 'options-general.php?page=uji-countdown';
84
- }
85
-
86
-
87
- /**
88
- *
89
- * Preview Clasic Panel Admin
90
- *
91
- *
92
- */
93
-
94
- (function ($) {
95
- classicSelect = {
96
- /// Init
97
- init: function () {
98
- var style = $('#ujic-style');
99
- if (style.length) {
100
- this.the_size();
101
- this.the_lab_sz();
102
- this.the_format();
103
- this.the_colors();
104
- this.the_labels();
105
- this.the_fonts();
106
- this.handleSubscription();
107
- }
108
- },
109
- /// Size
110
- the_size: function (val) {
111
- var size = $('#ujic_size');
112
- if (size.length) {
113
- var newsize = (val && val != 'undefined' && val.length) ? val : size.val();
114
- }
115
- $('#ujiCountdown').find('.countdown_amount').css('font-size', newsize + 'px');
116
- },
117
- /// Label Size
118
- the_lab_sz: function (val) {
119
- var size = $('#ujic_lab_sz');
120
- if (size.length) {
121
- $('.countdown_txt').css('font-size', ((val && val != 'undefined' && val.length) ? val : size.val()) + 'px');
122
- }
123
- },
124
- /// Format
125
- the_format: function ( ) {
126
- var format = new Array('ujic_d', 'ujic_h', 'ujic_m', 'ujic_s', 'ujic_y', 'ujic_o', 'ujic_w');
127
- for (var i = 0; i < format.length; i++) {
128
- if ($('#' + format[i]).is(":checked")) {
129
- $('#ujiCountdown').find('.' + format[i]).show();
130
- } else {
131
- $('#ujiCountdown').find('.' + format[i]).hide();
132
- }
133
- }
134
- //live change
135
- $('.iCheck-helper').click(function () {
136
- var id = $(this).parent().find(":checkbox").attr("id");
137
- if ($(this).parent().hasClass('checked')) {
138
- $('#ujiCountdown').find('.' + id).show();
139
- } else {
140
- $('#ujiCountdown').find('.' + id).hide();
141
- }
142
- (id === 'ujic_subscrFrmIsEnabled') ? classicSelect.handleSubscription() : null;
143
- });
144
- },
145
- subscrFormWidth : function(newWidth){
146
- $('#ujiCountdown form p').width(newWidth + '%');
147
- },
148
- handleSubscription : function(){
149
- var formElements = {
150
-
151
- subscrFrmElm : $('#ujiCountdown form'),
152
- subscrFrmWidth : $('#ujic_subscrFrmWidth').parent(),
153
- subscrFrmAboveTxt : $('#ujic_subscrFrmAboveText').parent(),
154
- subscrFrmInputTxt : $('#ujic_subscrFrmInputText').parent(),
155
- subscrFrmSubmitTxt : $('#ujic_subscrFrmSubmitText').parent(),
156
- subscrFrmThanksMessage : $('#ujic_subscrFrmThanksMessage').parent(),
157
- subscrFrmErrorMessage : $('#ujic_subscrFrmErrorMessage').parent(),
158
- subscrFrmSubmitColor : $('#ujic_subscrFrmSubmitColor').closest( ".ujic-color" )
159
-
160
- };
161
-
162
- var isFormEnabled = $('#ujic_subscrFrmIsEnabled').is(':checked');
163
- this.toggleSubscriptionElements(formElements, isFormEnabled);
164
-
165
- formElements.subscrFrmAboveTxt.children('input').keyup(function(){
166
- formElements.subscrFrmElm.children('span').text($(this).val());
167
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
168
-
169
- formElements.subscrFrmInputTxt.children('input').keyup(function(){
170
- formElements.subscrFrmElm.find('input:text').attr('placeholder', $(this).val());
171
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
172
-
173
- formElements.subscrFrmSubmitTxt.children('input').keyup(function(){
174
- formElements.subscrFrmElm.find('input:submit').val($(this).val()).click(function(evt){evt.preventDefault();});
175
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
176
-
177
-
178
- },
179
- toggleSubscriptionElements : function(elements, visible){
180
-
181
- $.each(elements, function(prop, elm){
182
- (!!visible) ? elm.show() : elm.hide(1000);
183
- });
184
- },
185
- //color light
186
- shadeColor : function(color, percent) {
187
- var num = parseInt(color.slice(1),16), amt = Math.round(2.55 * percent), R = (num >> 16) + amt, G = (num >> 8 & 0x00FF) + amt, B = (num & 0x0000FF) + amt;
188
- return "#" + (0x1000000 + (R<255?R<1?0:R:255)*0x10000 + (G<255?G<1?0:G:255)*0x100 + (B<255?B<1?0:B:255)).toString(16).slice(1);
189
- },
190
- /// Colors
191
- the_colors: function (id, hex) {
192
- var col_txt = $('#ujic_col_txt').val();
193
- var col_sw = $('#ujic_col_sw').val();
194
- var col_up = $('#ujic_col_up').val();
195
- var col_dw = $('#ujic_col_dw').val();
196
- var col_lab = $('#ujic_col_lab').val();
197
- var col_sub = $('#ujic_subscrFrmSubmitColor').val();
198
-
199
- $('.countdown_amount').css('color', col_txt);
200
- $('.countdown_amount').css("text-shadow", '1px 1px 1px ' + col_sw);
201
-
202
- $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + col_up + " 50%, " + col_dw + " 50%)"); /* FF3.6+ */
203
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + col_up + "), color-stop(50%," + col_dw + "))"); /* Chrome,Safari4+ */
204
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* Chrome10+,Safari5.1+ */
205
- $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* Opera 11.10+ */
206
- $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + col_up + " 50%," + col_dw + " 50%)"); /* IE10+ */
207
- $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + col_up + " 50%," + col_dw + " 50%)"); /* W3C */
208
- $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_up + "', endColorstr='" + col_dw + "',GradientType=0 )"); /* IE6-9 */
209
-
210
- $('.countdown_txt').css('color', col_lab);
211
-
212
- $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + col_sub + " 0%, " + this.shadeColor(col_sub, 20) + " 100%)"); /* FF3.6+ */
213
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + col_sub + "), color-stop(100%," + this.shadeColor(col_sub, 20) + "))"); /* Chrome,Safari4+ */
214
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + col_sub + " 50%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
215
- $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Opera 11.10+ */
216
- $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* IE10+ */
217
- $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* W3C */
218
- $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_sub + "', endColorstr='" + this.shadeColor(col_sub, 20) + "',GradientType=0 )"); /* IE6-9 */
219
-
220
- },
221
- /// Colors
222
- new_colors: function (id, hex) {
223
- var col_up = $('#ujic_col_up').val();
224
- var col_dw = $('#ujic_col_dw').val();
225
-
226
- switch (id)
227
- {
228
- case 'ujic_col_txt':
229
- $('.countdown_amount').css('color', hex);
230
- break;
231
- case 'ujic_col_sw':
232
- $('.countdown_amount').css("text-shadow", '1px 1px 1px ' + hex);
233
- break;
234
- case 'ujic_col_up':
235
- $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + hex + " 50%, " + col_dw + " 50%)"); /* FF3.6+ */
236
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + hex + "), color-stop(50%," + col_dw + "))"); /* Chrome,Safari4+ */
237
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* Chrome10+,Safari5.1+ */
238
- $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* Opera 11.10+ */
239
- $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + hex + " 50%," + col_dw + " 50%)"); /* IE10+ */
240
- $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + hex + " 50%," + col_dw + " 50%)"); /* W3C */
241
- $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + hex + "', endColorstr='" + col_dw + "',GradientType=0 )"); /* IE6-9 */
242
- break;
243
- case 'ujic_col_dw':
244
- $('.ujic-classic').find('.countdown_amount').css("background", "-moz-linear-gradient(top, " + col_up + " 50%, " + hex + " 50%)"); /* FF3.6+ */
245
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(50%," + col_up + "), color-stop(50%," + hex + "))"); /* Chrome,Safari4+ */
246
- $('.ujic-classic').find('.countdown_amount').css("background", "-webkit-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* Chrome10+,Safari5.1+ */
247
- $('.ujic-classic').find('.countdown_amount').css("background", "-o-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* Opera 11.10+ */
248
- $('.ujic-classic').find('.countdown_amount').css("background", "-ms-linear-gradient(top, " + col_up + " 50%," + hex + " 50%)"); /* IE10+ */
249
- $('.ujic-classic').find('.countdown_amount').css("background", "linear-gradient(to bottom, " + col_up + " 50%," + hex + " 50%)"); /* W3C */
250
- $('.ujic-classic').find('.countdown_amount').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_up + "', endColorstr='" + hex + "',GradientType=0 )"); /* IE6-9 */
251
- break;
252
- case 'ujic_col_lab':
253
- $('.countdown_txt').css('color', hex);
254
- break;
255
- case 'ujic_subscrFrmSubmitColor':
256
- //console.log(this.shadeColor(hex, 70));
257
- $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + hex + " 0%, " + this.shadeColor(hex, 20) + " 100%)"); /* FF3.6+ */
258
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + hex + "), color-stop(100%," + this.shadeColor(hex, 20) + "))"); /* Chrome,Safari4+ */
259
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + hex + " 50%," + this.shadeColor(hex, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
260
- $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* Opera 11.10+ */
261
- $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* IE10+ */
262
- $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* W3C */
263
- $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + hex + "', endColorstr='" + this.shadeColor(hex, 20) + "',GradientType=0 )"); /* IE6-9 */
264
- break;
265
- }
266
- },
267
- /// Text Labels
268
- the_labels: function ( ) {
269
- if ($('#ujic_txt').is(":checked")) {
270
- $('.countdown_txt').show();
271
- } else {
272
- $('.countdown_txt').hide();
273
- }
274
-
275
- //live change
276
- $('.iCheck-helper').click(function () {
277
- var id = $(this).parent().find(":checkbox").attr("id");
278
- if (id == 'ujic_txt' && $(this).parent().hasClass('checked')) {
279
- $('.countdown_txt').show();
280
- }
281
- else if (id == 'ujic_txt') {
282
- $('.countdown_txt').hide();
283
- }
284
- });
285
-
286
- },
287
- /// Google Font
288
- the_fonts: function ( ) {
289
- var val = $('#ujic_goof').val();
290
- if (val && val != 'none') {
291
- var the_font = val.replace(/\s+/g, '+');
292
- //add reference to google font family
293
- $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
294
- $('.countdown_amount').css('font-family', val + ', sans-serif');
295
- }
296
- //live change
297
- $('#ujic_goof').bind("change keyup", function () {
298
- var val = $(this).val();
299
- var the_font = val.replace(/\s+/g, '+');
300
- //add reference to google font family
301
- $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
302
- $('.countdown_amount').css('font-family', val + ', sans-serif');
303
-
304
- });
305
- }
306
-
307
- };
308
- })(jQuery);
309
-
310
- /**
311
- *
312
- * Preview Modern Panel Admin
313
- *
314
- *
315
- */
316
-
317
- function init_circle(cids) {
318
- var myCircles = [];
319
-
320
- for (var i = 0; i <= cids.ids.length - 1; i++) {
321
-
322
- myCircles.push(Circles.create({
323
- parent: 'ujiCountdown2',
324
- id: cids.ids[i],
325
- value: parseInt(cids.time[i]),
326
- radius: parseInt(cids.size_val),
327
- width: cids.thick_val,
328
- maxValue: parseInt(cids.max[i]),
329
- colors: [cids.col_dw, cids.col_up],
330
- duration: 0
331
- }));
332
-
333
- jQuery('#ujiCountdown2').children("#"+cids.ids[i]).children(".circles-wrp").children('span').text(cids.label[i]);
334
-
335
- }
336
-
337
- jQuery('#ujiCountdown2').find(".circles-wrp").children('span').css('color', cids.col_lab);
338
- jQuery('#ujiCountdown2').find(".circles-text").css('color', cids.col_txt);
339
-
340
- }
341
-
342
- function change_modern(size, col_txt, col1, col2, thick, col_lab, lab_sz) {
343
- if (size == undefined || size == null)
344
- size = jQuery('#ujic_size').val();
345
- if (col_txt == undefined || col_txt == null)
346
- col_txt = jQuery('#ujic_col_txt').val();
347
- if (col1 == undefined || col1 == null)
348
- col1 = jQuery('#ujic_col_dw').val();
349
- if (col2 == undefined || col2 == null)
350
- col2 = jQuery('#ujic_col_up').val();
351
- if (thick == undefined || thick == null)
352
- thick = jQuery('#ujic_thick').val();
353
- if (col_lab == undefined || col_lab == null)
354
- col_lab = jQuery('#ujic_col_lab').val();
355
- if (lab_sz == undefined || lab_sz == null)
356
- lab_sz = jQuery('#ujic_col_lab').val();
357
-
358
- //alert('dw'+ size + 'up'+ col2);
359
- jQuery(".ujicircle").remove();
360
- var format = [['ujic_y', 'Years', '1', '1'], ['ujic_o', 'Months', '9', '12'], ['ujic_w', 'Weeks', '2', '5'], ['ujic_d', 'Days', '12', '31'], ['ujic_h', 'Hours', '33', '23'], ['ujic_m', 'Minutes', '35', '59'], ['ujic_s', 'Seconds', '09', '59']];
361
- var cids = {
362
- ids: [],
363
- label: [],
364
- time: [],
365
- max: [],
366
- col_txt: col_txt,
367
- col_dw: col1,
368
- col_up: col2,
369
- thick: thick,
370
- col_lab: col_lab,
371
- thick_val: thick,
372
- size_val: size
373
- };
374
-
375
- for (var i = 0; i < format.length; i++) {
376
- if (jQuery('#' + format[i][0]).is(":checked")) {
377
- //jQuery("#ujiCountdown2").append('<div class="uji_modhold"><input class="'+format[i][0]+' ujic_circle" data-readOnly=true data-width="'+ parseInt(size) +'" data-height="'+ parseInt(size) +'" data-fgColor="'+ col1 +'" data-bgColor="'+ col2 +'" data-thickness=".'+ thick +'" value="'+format[i][2]+'"><span class="countdown_txt">'+format[i][1]+'</span></div>');
378
- jQuery("#ujiCountdown2").append('<div class="ujicircle" id="u_'+format[i][0]+'"></div>');
379
- cids.ids.push('u_'+format[i][0]);
380
- cids.label.push(format[i][1]);
381
- cids.time.push(format[i][2]);
382
- cids.max.push(format[i][3]);
383
- }
384
- }
385
- //reload
386
- init_circle(cids);
387
-
388
- }
389
-
390
- (function ($) {
391
- modernSelect = {
392
- /// Init
393
- init: function () {
394
- this.the_circle();
395
- this.the_colors();
396
- this.the_fonts();
397
- this.the_format();
398
- this.the_labels();
399
- this.the_lab_sz();
400
- this.handleSubscription();
401
- },
402
- the_circle: function () {
403
- change_modern(null);
404
- },
405
- /// Colors
406
- the_colors: function () {
407
- var col_txt = $('#ujic_col_txt').val();
408
- var col_lab = $('#ujic_col_lab').val();
409
- var col_sub = $('#ujic_subscrFrmSubmitColor').val();
410
-
411
- $('.ujic_circle').css('color', col_txt);
412
- $('.uji_modhold span').css('color', col_lab);
413
-
414
- $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + col_sub + " 0%, " + this.shadeColor(col_sub, 20) + " 100%)"); /* FF3.6+ */
415
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + col_sub + "), color-stop(100%," + this.shadeColor(col_sub, 20) + "))"); /* Chrome,Safari4+ */
416
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + col_sub + " 50%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
417
- $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* Opera 11.10+ */
418
- $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* IE10+ */
419
- $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + col_sub + " 0%," + this.shadeColor(col_sub, 20) + " 100%)"); /* W3C */
420
- $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + col_sub + "', endColorstr='" + this.shadeColor(col_sub, 20) + "',GradientType=0 )"); /* IE6-9 */
421
-
422
- },
423
- /// Colors
424
- new_colors: function (id, hex) {
425
- switch (id)
426
- {
427
- case 'ujic_col_txt':
428
- $('.circles-text').css('color', hex);
429
- break;
430
- case 'ujic_col_lab':
431
- $('.countdown_txt').css('color', hex);
432
- break;
433
- case 'ujic_col_up':
434
- change_modern(null, null, hex, $('#ujic_col_dw').val());
435
- break;
436
- case 'ujic_col_dw':
437
- change_modern(null, null, $('#ujic_col_up').val(), hex);
438
- break;
439
- case 'ujic_subscrFrmSubmitColor':
440
- //console.log(this.shadeColor(hex, 70));
441
- $('#ujiCountdown').find('input[type=submit]').css("background", "-moz-linear-gradient(top, " + hex + " 0%, " + this.shadeColor(hex, 20) + " 100%)"); /* FF3.6+ */
442
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-gradient(linear, left top, left bottom, color-stop(0%," + hex + "), color-stop(100%," + this.shadeColor(hex, 20) + "))"); /* Chrome,Safari4+ */
443
- $('#ujiCountdown').find('input[type=submit]').css("background", "-webkit-linear-gradient(top, " + hex + " 50%," + this.shadeColor(hex, 20) + " 100%)"); /* Chrome10+,Safari5.1+ */
444
- $('#ujiCountdown').find('input[type=submit]').css("background", "-o-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* Opera 11.10+ */
445
- $('#ujiCountdown').find('input[type=submit]').css("background", "-ms-linear-gradient(top, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* IE10+ */
446
- $('#ujiCountdown').find('input[type=submit]').css("background", "linear-gradient(to bottom, " + hex + " 0%," + this.shadeColor(hex, 20) + " 100%)"); /* W3C */
447
- $('#ujiCountdown').find('input[type=submit]').css("filter", "progid:DXImageTransform.Microsoft.gradient( startColorstr='" + hex + "', endColorstr='" + this.shadeColor(hex, 20) + "',GradientType=0 )"); /* IE6-9 */
448
- break;
449
-
450
- }
451
- modernSelect.the_fonts();
452
- },
453
- /// Size
454
- the_size: function (val) {
455
- var size = $('#ujic_size');
456
- if (size.length) {
457
- var newsize = (val && val != 'undefined' && val.length) ? val : size.val();
458
- }
459
-
460
- change_modern(newsize);
461
- modernSelect.the_fonts();
462
- },
463
-
464
- /// Size
465
- the_thick: function (val) {
466
- var size = $('#ujic_thick');
467
- // alert('ya'+ ( parseInt(val).length ));
468
- if (size.length && val && val != 'undefined') {
469
-
470
- change_modern(null, null, null, null, val);
471
- modernSelect.the_fonts();
472
- }
473
-
474
- },
475
- /// Label Size
476
- the_lab_sz: function (val) {
477
- var size = $('#ujic_lab_sz');
478
- if (size.length) {
479
- $('.countdown_txt').css('font-size', ((val && val != 'undefined' && val.length) ? val : size.val()) + 'px');
480
- }
481
- },
482
- /// Size
483
- the_lab_size: function (val) {
484
- var lsize = $('#ujic_lab_sz');
485
-
486
- if (lsize.length) {
487
- var labsize = (val && val != 'undefined' && val.length) ? val : size.val();
488
- }
489
- change_modern(newsize, labsize);
490
-
491
- },
492
- /// Format
493
- the_format: function ( ) {
494
- //live change
495
- $('.iCheck-helper').click(function () {
496
- change_modern();
497
- modernSelect.the_fonts();
498
- });
499
- },
500
- subscrFormWidth : function(newWidth){
501
- $('#ujiCountdown form p').width(newWidth + '%');
502
- },
503
- handleSubscription : function(){
504
- var formElements = {
505
-
506
- subscrFrmElm : $('#ujiCountdown form'),
507
- subscrFrmWidth : $('#ujic_subscrFrmWidth').parent(),
508
- subscrFrmAboveTxt : $('#ujic_subscrFrmAboveText').parent(),
509
- subscrFrmInputTxt : $('#ujic_subscrFrmInputText').parent(),
510
- subscrFrmSubmitTxt : $('#ujic_subscrFrmSubmitText').parent(),
511
- subscrFrmThanksMessage : $('#ujic_subscrFrmThanksMessage').parent(),
512
- subscrFrmErrorMessage : $('#ujic_subscrFrmErrorMessage').parent(),
513
- subscrFrmSubmitColor : $('#ujic_subscrFrmSubmitColor').closest( ".ujic-color" )
514
-
515
- };
516
-
517
- var isFormEnabled = $('#ujic_subscrFrmIsEnabled').is(':checked');
518
- this.toggleSubscriptionElements(formElements, isFormEnabled);
519
-
520
- formElements.subscrFrmAboveTxt.children('input').keyup(function(){
521
- formElements.subscrFrmElm.children('span').text($(this).val());
522
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
523
-
524
- formElements.subscrFrmInputTxt.children('input').keyup(function(){
525
- formElements.subscrFrmElm.find('input:text').attr('placeholder', $(this).val());
526
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
527
-
528
- formElements.subscrFrmSubmitTxt.children('input').keyup(function(){
529
- formElements.subscrFrmElm.find('input:submit').val($(this).val()).click(function(evt){evt.preventDefault();});
530
- }).keydown(function(evt){13 == evt.which ? evt.preventDefault() : '';});
531
-
532
-
533
- },
534
- toggleSubscriptionElements : function(elements, visible){
535
-
536
- $.each(elements, function(prop, elm){
537
- (!!visible) ? elm.show() : elm.hide(1000);
538
- });
539
- },
540
- //color light
541
- shadeColor : function(color, percent) {
542
- var num = parseInt(color.slice(1),16), amt = Math.round(2.55 * percent), R = (num >> 16) + amt, G = (num >> 8 & 0x00FF) + amt, B = (num & 0x0000FF) + amt;
543
- return "#" + (0x1000000 + (R<255?R<1?0:R:255)*0x10000 + (G<255?G<1?0:G:255)*0x100 + (B<255?B<1?0:B:255)).toString(16).slice(1);
544
- },
545
- /// Text Labels
546
- the_labels: function ( ) {
547
- if ($('#ujic_txt').is(":checked")) {
548
- $('.countdown_txt').show();
549
- } else {
550
- $('.countdown_txt').hide();
551
- }
552
-
553
- //live change
554
- $('.iCheck-helper').click(function () {
555
- var id = $(this).parent().find(":checkbox").attr("id");
556
- if (id == 'ujic_txt' && $(this).parent().hasClass('checked')) {
557
- $('.countdown_txt').show();
558
- }
559
- else if (id == 'ujic_txt') {
560
- $('.countdown_txt').hide();
561
- }
562
-
563
- (id === 'ujic_subscrFrmIsEnabled') ? classicSelect.handleSubscription() : null;
564
- });
565
-
566
- },
567
- /// Google Font
568
- the_fonts: function ( ) {
569
- var val = $('#ujic_goof').val();
570
- if (val && val != 'none') {
571
- var the_font = val.replace(/\s+/g, '+');
572
- //add reference to google font family
573
- $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
574
- $('.circles-integer').css('font-family', val + ', sans-serif');
575
- }
576
- //live change
577
- $('#ujic_goof').bind("change keyup", function () {
578
- var val = $(this).val();
579
- var the_font = val.replace(/\s+/g, '+');
580
- //add reference to google font family
581
- $('head').append('<link href="https://fonts.googleapis.com/css?family=' + the_font + '" rel="stylesheet" type="text/css">');
582
- $('.circles-integer').css('font-family', val + ', sans-serif');
583
-
584
- });
585
- }
586
-
587
- };
588
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/ujic-popup-button.js CHANGED
@@ -4,7 +4,18 @@
4
  var ujic_min = ujic_short_vars.ujic_min;
5
  var ujic_hou = ujic_short_vars.ujic_hou;
6
  var ujic_reclab = ujic_short_vars.ujic_reclab;
7
-
 
 
 
 
 
 
 
 
 
 
 
8
  tinymce.PluginManager.add('ujic_tc_button', function( editor, url ) {
9
  editor.addButton( 'ujic_tc_button', {
10
  title: 'Uji Countdown',
@@ -12,6 +23,7 @@
12
  icon: 'mce-ico mce-i-icon dashicons-clock',
13
  text: '',
14
  onclick: function() {
 
15
  if( typeof ujic_styles != 'undefined' && !ujic_styles ){
16
  editor.windowManager.open( {
17
  id: 'uji-contdown-pop',
@@ -25,10 +37,11 @@
25
  ]
26
  });
27
  }else{
28
- editor.windowManager.open( {
 
29
  id: 'uji-contdown-pop',
30
- title: 'Insert Uji Countdown',
31
- body:[{
32
  type: 'listbox',
33
  name: 'ujic_style',
34
  label: 'Select Style:',
@@ -39,6 +52,32 @@
39
  type:'container',
40
  html: '<div class="uji_spacer"></div>'
41
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  {
43
  type: 'textbox',
44
  name: 'ujic_date',
@@ -48,6 +87,7 @@
48
  },
49
  {
50
  type:'container',
 
51
  label: 'Select Time:',
52
  items:[{
53
  type: 'listbox',
@@ -71,7 +111,44 @@
71
  },
72
  {
73
  type:'container',
74
- html: '<div class="uji_spacer"></div>'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  },
76
  {
77
  type:'container',
@@ -146,33 +223,56 @@
146
  type:'container',
147
  html: '<div class="uji_spacer"></div>'
148
  },
149
- {
150
- type: 'textbox',
151
- label: 'Campaign Name',
152
- name: 'ujic_camp',
153
- id: 'ujic_camp',
154
- tooltip: 'Enter your campaign name'
155
- }],
156
  onsubmit: function( e ) {
157
- if(e.data.ujic_date === '') {
 
158
  var window_id = this._id;
159
- var inputs = jQuery('#' + window_id + '-body').find('.mce-formitem input');
160
-
161
- editor.windowManager.alert('Please fill Expire Date field.');
162
-
163
  if(e.data.ujic_date === '') {
 
 
164
  jQuery(inputs.get(0)).css('border-color', 'red');
 
165
  }
166
 
167
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  }
169
-
170
  //console.log(e);
171
- editor.insertContent( '[ujicountdown id="' + e.data.ujic_style + '" expire="' + e.data.ujic_date + ' ' + e.data.ujic_hou + ':' + e.data.ujic_min + '" hide="' + e.data.ujic_hide + '" url="' + e.data.ujic_url + '" subscr="' + e.data.ujic_camp + '" recurring="' + e.data.ujic_rev + '" rectype="' + e.data.ujic_revlab + '" repeats="' + e.data.ujic_rep + '"]');
172
 
173
 
174
  }
175
  });
 
176
  }
177
  //Button name change
178
  if( typeof ujic_styles != 'undefined' && !ujic_styles ){
@@ -200,12 +300,48 @@
200
  });
201
  jQuery('#ujic_url').focusout(function() {
202
  if( jQuery(this).val() === ''){
203
- console.log(jQuery(this).val());
204
  jQuery('#ujic_hide').attr('aria-checked', true);
205
  jQuery('#ujic_hide').addClass('mce-checked');
206
  }
207
  });
208
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  }
210
 
211
  });
4
  var ujic_min = ujic_short_vars.ujic_min;
5
  var ujic_hou = ujic_short_vars.ujic_hou;
6
  var ujic_reclab = ujic_short_vars.ujic_reclab;
7
+ //Extend plugins
8
+ var ujic_extends = (typeof ujic_extend !== 'undefined') ? ujic_extend : '';
9
+ //Version multi check
10
+ var ujic_multi_msg = { type:'container',
11
+ html: '<div><p style=\"font-size:11px\; padding-bottom: 15px;">Only one timer on page is allowed.<br>Check the <a href="http://www.wpmanage.com/uji-countdown" style=\"font-size:11px\; color: #00A0D2" target="_blank">Pro version</a> for multiple countdown timers on the same page. <p></div><div class="uji_spacer"></div>'
12
+ }
13
+ var ujic_vers = (typeof ujic_pro !== 'undefined') ?
14
+ ((ujic_pro.type !== 'pro') ?
15
+ ujic_multi_msg : '') : ujic_multi_msg;
16
+
17
+ var cntType = (typeof ujic_pro !== 'undefined') ? 'pro' : 'free';
18
+
19
  tinymce.PluginManager.add('ujic_tc_button', function( editor, url ) {
20
  editor.addButton( 'ujic_tc_button', {
21
  title: 'Uji Countdown',
23
  icon: 'mce-ico mce-i-icon dashicons-clock',
24
  text: '',
25
  onclick: function() {
26
+
27
  if( typeof ujic_styles != 'undefined' && !ujic_styles ){
28
  editor.windowManager.open( {
29
  id: 'uji-contdown-pop',
37
  ]
38
  });
39
  }else{
40
+
41
+ var win = editor.windowManager.open( {
42
  id: 'uji-contdown-pop',
43
+ title: 'Add Countdown Shortcode',
44
+ body:[ujic_vers,{
45
  type: 'listbox',
46
  name: 'ujic_style',
47
  label: 'Select Style:',
52
  type:'container',
53
  html: '<div class="uji_spacer"></div>'
54
  },
55
+ {
56
+ type:'container',
57
+ label: 'Timer Type:',
58
+ items:[
59
+ {
60
+ type : 'radio',
61
+ name : 'ujic_type_one',
62
+ id : 'ujic_type_one',
63
+ label : 'One Time Timer',
64
+ text : 'One Time Timer',
65
+ style: 'display:inline-block; margin-right: 15px;',
66
+ tooltip: 'Timer will countinue until expiration time',
67
+ checked: true
68
+ },
69
+ {
70
+ type : 'radio',
71
+ name : 'ujic_type_rep',
72
+ id : 'ujic_type_rep',
73
+ label : 'Repeat Timer',
74
+ text : 'Repeat Timer',
75
+ style: 'display:inline-block;',
76
+ tooltip: 'Timer will restart on page refresh',
77
+ checked: false
78
+ }
79
+ ]
80
+ },
81
  {
82
  type: 'textbox',
83
  name: 'ujic_date',
87
  },
88
  {
89
  type:'container',
90
+ id: 'ujic_sel_time',
91
  label: 'Select Time:',
92
  items:[{
93
  type: 'listbox',
111
  },
112
  {
113
  type:'container',
114
+ id: 'ujic_inp_time',
115
+ label: 'Select Time:',
116
+ items:[{
117
+ type: 'textbox',
118
+ name: 'ujic_thou',
119
+ tooltip: 'Select hours',
120
+ id: 'ujic_thou',
121
+ classes: 'ujic_time_inp'
122
+ },
123
+ {
124
+ type: 'label',
125
+ id: 'ujic_time_space',
126
+ text: ' : '
127
+ },
128
+ {
129
+ type: 'textbox',
130
+ name: 'ujic_tmin',
131
+ tooltip: 'Select minutes',
132
+ id: 'ujic_tmin',
133
+ classes: 'ujic_time_inp'
134
+ },
135
+ {
136
+ type: 'label',
137
+ id: 'ujic_time_space',
138
+ text: ' : '
139
+ },
140
+ {
141
+ type: 'textbox',
142
+ name: 'ujic_tsec',
143
+ tooltip: 'Select seconds',
144
+ id: 'ujic_tsec',
145
+ classes: 'ujic_time_inp'
146
+ }]
147
+ },
148
+ {
149
+ type:'container',
150
+ html: '<div class="uji_spacer"></div>',
151
+ id: 'ujic_space_mv'
152
  },
153
  {
154
  type:'container',
223
  type:'container',
224
  html: '<div class="uji_spacer"></div>'
225
  },
226
+
227
+ ujic_extends
228
+
229
+ ],
 
 
 
230
  onsubmit: function( e ) {
231
+ //One Time Timer
232
+ if( e.data.ujic_type_one === true ) {
233
  var window_id = this._id;
 
 
 
 
234
  if(e.data.ujic_date === '') {
235
+ var inputs = jQuery('#' + window_id + '-body').find('.mce-formitem input')
236
+ editor.windowManager.alert('Please fill Expire Date field.');
237
  jQuery(inputs.get(0)).css('border-color', 'red');
238
+ return false;
239
  }
240
 
241
+ var theTimer = '" expire="' + e.data.ujic_date + ' ' + e.data.ujic_hou + ':' + e.data.ujic_min;
242
+ }
243
+ //Repeat Timer
244
+ if( e.data.ujic_type_rep === true ) {
245
+ var window_id = this._id;
246
+
247
+ if(e.data.ujic_thou === '' || !jQuery.isNumeric(e.data.ujic_thou) ) {
248
+ var inputs = jQuery('#' + window_id + '-body').find('#ujic_thou');
249
+ editor.windowManager.alert('Please fill Hours field.');
250
+ jQuery(inputs.get(0)).css('border-color', 'red');
251
+ return false;
252
+ }
253
+ if(e.data.ujic_tmin === '' || !jQuery.isNumeric(e.data.ujic_tmin) ) {
254
+ var inputs = jQuery('#' + window_id + '-body').find('#ujic_tmin');
255
+ editor.windowManager.alert('Please fill Minutes field.');
256
+ jQuery(inputs.get(0)).css('border-color', 'red');
257
+ return false;
258
+ }
259
+ if(e.data.ujic_tsec === '' || !jQuery.isNumeric(e.data.ujic_tsec) ) {
260
+ var inputs = jQuery('#' + window_id + '-body').find('#ujic_tsec');
261
+ editor.windowManager.alert('Please fill Seconds field.');
262
+ jQuery(inputs.get(0)).css('border-color', 'red');
263
+ return false;
264
+ }
265
+
266
+ var theTimer = '" timer="' + e.data.ujic_thou + ':' + e.data.ujic_tmin + ':' + e.data.ujic_tsec;
267
+
268
  }
 
269
  //console.log(e);
270
+ editor.insertContent( '[ujicountdown id="' + e.data.ujic_style + theTimer + '" hide="' + e.data.ujic_hide + '" url="' + e.data.ujic_url + '" subscr="' + e.data.ujic_camp + '" recurring="' + e.data.ujic_rev + '" rectype="' + e.data.ujic_revlab + '" repeats="' + e.data.ujic_rep + '"]');
271
 
272
 
273
  }
274
  });
275
+
276
  }
277
  //Button name change
278
  if( typeof ujic_styles != 'undefined' && !ujic_styles ){
300
  });
301
  jQuery('#ujic_url').focusout(function() {
302
  if( jQuery(this).val() === ''){
303
+ //console.log(jQuery(this).val());
304
  jQuery('#ujic_hide').attr('aria-checked', true);
305
  jQuery('#ujic_hide').addClass('mce-checked');
306
  }
307
  });
308
+ //Type
309
+ var input_type_timer = jQuery('#ujic_inp_time').parent().parent('.mce-container');
310
+
311
+ var size_sp_mv = ( cntType !== 'pro') ? '280' : '210';
312
+ var size_timer = ( cntType !== 'pro') ? '190' : '120';
313
+
314
+ jQuery('#ujic_space_mv').css('top', size_sp_mv+'px');
315
+ input_type_timer.css('top', size_timer+'px');
316
+ input_type_timer.hide();
317
+
318
+ jQuery('#uji-contdown-pop #ujic_thou').attr('placeholder', 'Hours');
319
+ jQuery('#uji-contdown-pop #ujic_tmin').attr('placeholder', 'Minutes');
320
+ jQuery('#uji-contdown-pop #ujic_tsec').attr('placeholder', 'Seconds');
321
+
322
+ jQuery('#ujic_type_rep').attr('aria-checked', false);
323
+
324
+ var input_type_one = jQuery('#ujic-datapick-l').parent().parent('.mce-container');
325
+ var input_type_time = jQuery('#ujic_sel_time-l').parent().parent('.mce-container');
326
+
327
+ jQuery('#ujic_type_rep').on( "click", function() {
328
+ //console.log(jQuery(this).attr('aria-checked'));
329
+ if ( jQuery(this).attr('aria-checked') === 'false' ){
330
+ input_type_one.hide();
331
+ input_type_time.hide();
332
+ input_type_timer.show();
333
+ win.find('#ujic_type_one').checked(false);
334
+ }
335
+ });
336
+ jQuery('#ujic_type_one').on( "click", function() {
337
+ if ( jQuery(this).attr('aria-checked') === 'false' ){
338
+ input_type_one.show();
339
+ input_type_time.show();
340
+ input_type_timer.hide();
341
+ win.find('#ujic_type_rep').checked(false);
342
+ }
343
+ });
344
+
345
  }
346
 
347
  });
assets/js/widget.js CHANGED
@@ -21,4 +21,20 @@ jQuery(document).ready(function($) {
21
 
22
  });
23
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  });
21
 
22
  });
23
  });
24
+ //Timer Type
25
+
26
+ jQuery("#widgets-right").on( "click", ".ujic_type_radio", function() {
27
+ var chkVal = jQuery(this).val();
28
+ if( chkVal == 'ujic_type_one' ){
29
+ jQuery(".ujict_one").show();
30
+ jQuery(".ujict_rep").hide();
31
+ }
32
+ if( chkVal == 'ujic_type_rep' ){
33
+ jQuery(".ujict_one").hide();
34
+ jQuery(".ujict_rep").show();
35
+ }
36
+
37
+
38
+ });
39
+ // var selValue = $('input[name=rbnNumber]:checked').val();
40
  });
classes/UjiSubscriptionsTable.php DELETED
@@ -1,176 +0,0 @@
1
- <?php
2
- /**
3
- *
4
- * Plugin Name: Uji Countdown
5
- * Plugin URI: http://www.wpmanage.com/uji-countdown/
6
- * Description: HTML5 Countdown.
7
- * Version: 2.0
8
- * Author: WPmanage <info@wpmanage.com>
9
- * Author URI: http://www.wpmanage.com
10
- */
11
-
12
- require_once(ABSPATH . 'wp-admin/includes/template.php' );
13
-
14
- class_exists('WP_Screen') || require_once( ABSPATH . 'wp-admin/includes/screen.php' );
15
-
16
- class_exists( 'WP_List_Table', false) || require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
17
-
18
- class UjiSubscriptionsTable extends WP_List_Table
19
- {
20
- private $itemsPerPage = 10;
21
-
22
- public function __construct()
23
- {
24
-
25
- parent::__construct( array(
26
- 'singular' => __( 'subscriber', 'uji-countdown' ),
27
- 'plural' => __( 'subscribers', 'uji-countdown' ),
28
- 'ajax' => false,
29
- 'screen' => 'subscribers-list'
30
- ) );
31
-
32
- $this->process_bulk_action();
33
- $this->prepare_items();
34
-
35
- }
36
-
37
- function process_bulk_action()
38
- {
39
- global $wpdb;
40
- if( 'delete' === $this->current_action())
41
- {
42
- if(!empty($_GET['subscriber']))
43
- foreach ($_GET['subscriber'] as $subscriberId) {
44
- if (empty($subscriberId)) continue;
45
- $wpdb->delete(self::getSubscriptionsTableName(), array('Id' => $subscriberId), array('%d'));
46
- }
47
- return;
48
- }
49
-
50
- if('cvs-export' === $this->current_action())
51
- {
52
- global $wpdb;
53
- $arrSubscribers = $wpdb->get_results('SELECT * FROM ' . self::getSubscriptionsTableName(), ARRAY_A);
54
- if(empty($arrSubscribers))
55
- return;
56
-
57
- header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
58
- header('Content-Description: File Transfer');
59
- header("Content-Transfer-Encoding: UTF-8");
60
- header("Content-type: text/csv");
61
- header("Content-Disposition: attachment; filename=subscribers.csv");
62
- header("Content-Transfer-Encoding: binary");
63
- header("Expires: 0");
64
- header("Pragma: no-cache");
65
-
66
- $fileHandler = @fopen('php://output', 'w');
67
- if(false === $fileHandler)
68
- return;
69
-
70
- $arrHeaderColumns = array('EmailAddress', 'List', 'CreatedDate');
71
- fputcsv($fileHandler, array('EmailAddress', 'Campaign', 'CreatedDate'));
72
-
73
- foreach ($arrSubscribers as $subscriberInfo)
74
- {
75
- foreach($subscriberInfo as $info => $value)
76
- {
77
- if(in_array($info, $arrHeaderColumns))
78
- continue;
79
- unset($subscriberInfo[$info]);
80
- }
81
-
82
- fputcsv($fileHandler, $subscriberInfo);
83
- }
84
-
85
- fclose($fileHandler);
86
- exit;
87
- }
88
- }
89
-
90
-
91
- private static function getSubscriptionsTableName()
92
- {
93
- global $wpdb;
94
- return $wpdb->prefix . 'uji_subscriptions';
95
- }
96
-
97
- public function prepare_items()
98
- {
99
- global $wpdb;
100
-
101
- $totalItems = $wpdb->get_var("Select count(*) from " . self::getSubscriptionsTableName());
102
-
103
- $pageNumber = (int)(!empty($_GET["paged"]) && is_numeric(sanitize_text_field($_GET["paged"])) ? sanitize_text_field($_GET["paged"]) : 1);
104
-
105
- $orderBy = !empty($_GET['orderby']) && array_key_exists(trim($_GET['orderby']), $this->get_sortable_columns()) ? sanitize_text_field(trim($_GET['orderby'])) : 'Id';
106
- $orderType = !empty($orderBy) && !empty($_GET['order']) && in_array(strtolower($_GET['order']), array('asc', 'desc')) ? sanitize_text_field($_GET['order']) : 'DESC';
107
-
108
- $sqlStatement = 'SELECT * FROM ' . self::getSubscriptionsTableName();
109
- $sqlStatement .= isset($orderBy) && isset($orderType) ? " ORDER BY $orderBy $orderType" : null;
110
- $sqlStatement .= " LIMIT " . (($pageNumber - 1) * $this->itemsPerPage) . ", $this->itemsPerPage";
111
-
112
- $this->set_pagination_args( array(
113
- "total_items" => $totalItems,
114
- "total_pages" => ceil($totalItems / $this->itemsPerPage),
115
- "per_page" => $this->itemsPerPage,
116
- ) );
117
-
118
-
119
- $columns = $this->get_columns();
120
- $hidden = array();
121
- $sortable = $this->get_sortable_columns();
122
- $this->_column_headers = array($columns, $hidden, $sortable);
123
-
124
- $this->items = $wpdb->get_results($sqlStatement);
125
-
126
- }
127
-
128
- public function get_sortable_columns()
129
- {
130
- return array(
131
- 'CreatedDate' => array('CreatedDate', false)
132
- );
133
- }
134
-
135
- public function get_columns()
136
- {
137
- return array(
138
- 'cb' => '<input type="checkbox" />',
139
- 'Email' => __( 'Email Address', 'uji-countdown'),
140
- 'Campaign' => __( "Campaign", 'uji-countdown'),
141
- 'CreatedDate' => __( "Subscribed", 'uji-countdown')
142
- );
143
-
144
- }
145
-
146
- public function column_default($item, $column_name)
147
- {
148
- switch($column_name)
149
- {
150
- case 'Email' : return is_array($item) ? $item['EmailAddress'] : $item->EmailAddress;
151
- case 'Campaign' : return is_array($item) ? $item['List'] : $item->List;
152
- case 'CreatedDate' : return date_format(new DateTime(is_array($item) ? $item['CreatedDate'] : $item->CreatedDate), 'F jS, Y g:i a') ;
153
- }
154
-
155
- return '';
156
- }
157
-
158
- public function column_cb($item)
159
- {
160
- return sprintf(
161
- '<input type="checkbox" name="%1$s[]" value="%2$s" />',
162
- $this->_args['singular'],
163
- $item->Id
164
- );
165
- }
166
-
167
-
168
- public function get_bulk_actions()
169
- {
170
- return array(
171
- 'delete' => __('Delete' , 'uji-countdown'),
172
- 'cvs-export' => __('CSV Export', 'uji-countdown')
173
- );
174
-
175
- }
176
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class-uji-countdown-admin.php CHANGED
@@ -1,815 +1,773 @@
1
- <?php
2
-
3
- require_once 'UjiSubscriptionsTable.php';
4
-
5
- class Uji_Countdown_Admin {
6
-
7
- /**
8
- * Style
9
- *
10
- * @since 2.0
11
- *
12
- * @var string
13
- */
14
- protected $styles = array( 'classic' );
15
-
16
- /**
17
- * Antispam
18
- *
19
- * @since 2.0.3
20
- *
21
- * @var boolean
22
- */
23
- protected static $isGoodByeCaptchaActivated = false;
24
-
25
- /**
26
- * Init label vars
27
- *
28
- * @since 2.0
29
- */
30
- public static function ujic_labels() {
31
- return array( 'ujic_years' => 'Years',
32
- 'ujic_year' => 'Year',
33
- 'ujic_months' => 'Months',
34
- 'ujic_month' => 'Month',
35
- 'ujic_weeks' => 'Weeks',
36
- 'ujic_week' => 'Week',
37
- 'ujic_days' => 'Days',
38
- 'ujic_day' => 'Day',
39
- 'ujic_hours' => 'Hours',
40
- 'ujic_hour' => 'Hour',
41
- 'ujic_minutes' => 'Minutes',
42
- 'ujic_minute' => 'Minute',
43
- 'ujic_seconds' => 'Seconds',
44
- 'ujic_second' => 'Second',
45
- );
46
- }
47
-
48
- /**
49
- * Print template of table counters.
50
- *
51
- * @since 2.0
52
- */
53
- public function admin_tablelist() {
54
-
55
- $this->cform_delete();
56
-
57
- if ( $this->saved_db_style() )
58
- {
59
-
60
- $table_headers = '
61
- <th class="manage-column" scope="col"><span>' . __( 'Date', $this->plugin_slug ) . '</span></th>
62
- <th class="manage-column" scope="col"><span>' . __( 'Name', $this->plugin_slug ) . '</span></th>
63
- <th class="manage-column" scope="col"><span>' . __( 'Style', $this->plugin_slug ) . '</span></th>
64
- <th class="manage-column" scope="col"><span>' . __( 'Change', $this->plugin_slug ) . '</span></th>';
65
-
66
- $tab = '<div id="ujic_table" class="list">
67
- <a href="?page=uji-countdown&tab=tab_ujic_new" class="button button-primary" id="ujic_table_new">' . __( 'Create a new timer style', $this->plugin_slug ) . '</a>
68
- <table cellspacing="0" class="widefat fixed">
69
- <thead>
70
- <tr>
71
- ' . $table_headers . '
72
- </tr>
73
- </thead>
74
- <tfoot>
75
- <tr>
76
- ' . $table_headers . '
77
- </tr>
78
- </tfoot>
79
-
80
- <tbody>
81
- ' . $this->ujic_tabs_values() . '
82
- <tbody>
83
- </table>
84
- </div>';
85
-
86
- echo $tab;
87
-
88
- $this->pro_metaboxes();
89
-
90
-
91
- } else {
92
- //echo '<div class="ujic-create"><a href="?page=uji-countdown&tab=tab_ujic_new" class="button button-primary" id="ujic_table_new">' . __( 'Create a new timer style', $this->plugin_slug ) . '</a></div>';
93
- echo '<div id="ujic_new"><h1>Uji Countdown '.UJIC_VERS.'</h1><h4>The most customizable countdown plugin for Wordpress</h4>';
94
- echo '<a href="?page=uji-countdown&tab=tab_ujic_new" class="ujic_butnew" id="ujic_table_new">' . __( 'Add New Style', $this->plugin_slug ) . '</a>';
95
- echo '<div class="ujic_new_cnt"><h2>WHAT\'S NEW</h2>';
96
- echo '<ul>
97
- <li>
98
- <img alt="recurring time" src="'.UJICOUNTDOWN_URL.'assets/images/icon-rec.png">
99
- <h3>Recurring Timer</h3>
100
- <p>Introducing the recurring time option</p>
101
- <p>Reschedule the countdown timer after the event has ended</p>
102
- </li>
103
- <li>
104
- <img alt="email subscription" src="'.UJICOUNTDOWN_URL.'assets/images/icon-email.png">
105
- <h3>Email Subscription</h3>
106
- <p>Visitors have now the option to subscribe using the email subscription form</p>
107
- <p>Create unlimited Campaigns</p>
108
- </li>
109
- <li>
110
- <img alt="responsive" src="'.UJICOUNTDOWN_URL.'assets/images/icon-mob.png">
111
- <h3>Responsive (Premium Version)</h3>
112
- <p>Responsive to all formats. You can use it on your PC, Laptop, Mobile and Tablet</p>
113
- </li>
114
- <li>
115
- <img alt="more customization" src="'.UJICOUNTDOWN_URL.'assets/images/icon-custom.png">
116
- <h3>More Customization</h3>
117
- <p>Option to enable/disable the units of the time</p>
118
- <p>Option to change the label color and size</p>
119
- </li>
120
- <li>
121
- <img alt="Multilanguage support" src="'.UJICOUNTDOWN_URL.'assets/images/icon-glob.png">
122
- <h3>Multilanguage Support</h3>
123
- <p>This plugins come with translation capability. That means can be translated (aka localized) to other languages </p>
124
- <p>Quick translation for the units of time </p>
125
- </li>
126
- <li>
127
- <img alt="google fonts" src="'.UJICOUNTDOWN_URL.'assets/images/icon-font.png">
128
- <h3>Google Fonts</h3>
129
- <p>Now support google fonts inclusion</p>
130
- </li>
131
- <li>
132
- <img alt="rtl support" src="'.UJICOUNTDOWN_URL.'assets/images/icon-rtl.png">
133
- <h3>Right-To-Left (RTL)</h3>
134
- <p>Support: Left to Right to Arabic Right to Left </p>
135
- </li>
136
- <li>
137
- <img alt="wordpress" src="'.UJICOUNTDOWN_URL.'assets/images/icon-wp.png">
138
- <h3>WordPress 4.8.2</h3>
139
- <p>Fully supports WordPress 4.8.2, while maintaining compatibility through version 3.5+</p>
140
- </li>
141
- </ul>';
142
- echo '</div></div>';
143
-
144
- $this->pro_metaboxes();
145
- }
146
-
147
- //Left Metaboxes
148
- if( isset($_GET['tab']) && $_GET['tab'] == 'tab_ujic_new' )
149
- $this->left_metaboxes();
150
-
151
- }
152
-
153
- /**
154
- * Print template new/edit countdown.
155
- *
156
- * @since 2.0
157
- */
158
- public function admin_countdown() {
159
-
160
- //Save/Edit in database
161
- $this->cform_save_db();
162
-
163
- //ID
164
- $cur_id = ( $this->cform_is_edit() ) ? $_GET['edit'] : '';
165
-
166
- //Get vars
167
- $vars = $this->ujic_option( $cur_id );
168
-
169
- //Curent style
170
- $cur_style = ( $this->cform_is_edit() ) ? $vars['ujic_style'] : ( ( isset( $_GET['style'] ) && !empty( $_GET['style'] ) ) ? $_GET['style'] : 'classic' );
171
-
172
-
173
- //Build Forms
174
- $cnt = '<form method="post" action="page=uji-countdown&tab=tab_ujic_new&style=' . $cur_style . '&save=true">';
175
- $cnt = $this->cform_ftype( $cur_style, $cur_id );
176
- //$cnt .= $this->cform_style( $cur_style );
177
- $cnt .= '<input name="ujic_style" id="ujic-style" type="hidden" class="normal-text" value="' . $cur_style . '"/>';
178
- $cnt .= $this->cform_input( __( 'Timer Title:', $this->plugin_slug ), 'ujic_name', $vars['ujic_name'] );
179
- $cnt .= $this->cform_select( __( 'Google Font:', $this->plugin_slug ), 'ujic_goof', ujic_googlefonts(), $vars['ujic_goof'] );
180
- $cnt .= $this->cform_radiobox( __( 'Alignment:', $this->plugin_slug ), 'ujic_pos', array( __( 'None', $this->plugin_slug ), __( 'Left', $this->plugin_slug ), __( 'Center', $this->plugin_slug ), __( 'Right', $this->plugin_slug ) ), array( 'none', 'left', 'center', 'right' ), $vars['ujic_pos'] );
181
- $cnt .= $this->cform_checkbox( __( 'Main format:', $this->plugin_slug ), array( 'ujic_d', 'ujic_h', 'ujic_m', 'ujic_s' ), array( __( 'Days', $this->plugin_slug ), __( 'Hours', $this->plugin_slug ), __( 'Minutes', $this->plugin_slug ), __( 'Seconds', $this->plugin_slug ) ), array( $vars['ujic_d'], $vars['ujic_h'], $vars['ujic_m'], $vars['ujic_s'] ) );
182
- $cnt .= $this->cform_checkbox( __( 'Secondary format:', $this->plugin_slug ), array( 'ujic_y', 'ujic_o', 'ujic_w' ), array( __( 'Years', $this->plugin_slug ), __( 'Months', $this->plugin_slug ), __( 'Weeks', $this->plugin_slug ) ), array( $vars['ujic_y'], $vars['ujic_o'], $vars['ujic_w'] ) );
183
- if ( $cur_style == 'classic' )
184
- $cnt .= $this->cform_checkbox( __( 'Animation for seconds:', $this->plugin_slug ), array( 'ujic_ani' ), array( '' ), array( $vars['ujic_ani'] ) );
185
- $cnt .= $this->cform_checkbox( __( 'Display time label text:', $this->plugin_slug ), array( 'ujic_txt' ), array( '' ), array( $vars['ujic_txt'] ) );
186
- if ( $cur_style == 'classic' )
187
- $cnt .= $this->cform_sliderui( __( 'Timer Size:', $this->plugin_slug ), 'ujic_size', $vars['ujic_size'], 10, 80, 1 );
188
- if ( $cur_style == 'classic' )
189
- $cnt .= $this->cform_color( __( 'Select Box Color:', $this->plugin_slug ), array( 'ujic_col_dw', 'ujic_col_up' ), array( __( 'Bottom', $this->plugin_slug ), __( 'Up', $this->plugin_slug ) ), array( $vars['ujic_col_dw'], $vars['ujic_col_up'] ) );
190
- if ( $cur_style == 'classic' )
191
- $cnt .= $this->cform_color( __( 'Text Color:', $this->plugin_slug ), array( 'ujic_col_txt', 'ujic_col_sw' ), array( __( 'Number Color', $this->plugin_slug ), __( 'Shadow Color', $this->plugin_slug ) ), array( $vars['ujic_col_txt'], $vars['ujic_col_sw'] ) );
192
-
193
- $cnt .= $this->cform_color( __( 'Label Color:', $this->plugin_slug ), array( 'ujic_col_lab' ), array( __( 'Label Text Color', $this->plugin_slug ) ), array( $vars['ujic_col_lab'] ) );
194
- $cnt .= $this->cform_sliderui( __( 'Label Size:', $this->plugin_slug ), 'ujic_lab_sz', $vars['ujic_lab_sz'], 8, 25, 1 );
195
-
196
- //Newsletter form
197
-
198
- $cnt .= $this->cform_checkbox(__('Enable Subscribe Form', $this->plugin_slug), array( 'ujic_subscrFrmIsEnabled' ), array( '' ), array( $vars['ujic_subscrFrmIsEnabled'] ) );
199
- empty($vars['ujic_subscrFrmWidth']) ? $vars['ujic_subscrFrmWidth'] = 100 : 0;
200
- $cnt .= $this->cform_sliderui( __( 'Subscribe Form Width(%):', $this->plugin_slug ), 'ujic_subscrFrmWidth', $vars['ujic_subscrFrmWidth'], 0, 100, 1 );
201
-
202
- empty($cur_id) && empty($vars['ujic_subscrFrmAboveText']) ? $vars['ujic_subscrFrmAboveText'] = __("Join Our Newsletter", $this->plugin_slug) : '';
203
- $cnt .= $this->cform_input( __( 'Subscribe Form Above Text', $this->plugin_slug ), 'ujic_subscrFrmAboveText', $vars['ujic_subscrFrmAboveText'] );
204
-
205
- empty($cur_id) && empty($vars['ujic_subscrFrmInputText']) ? $vars['ujic_subscrFrmInputText'] = __("Enter your email here", $this->plugin_slug) : '';
206
- $cnt .= $this->cform_input( __( 'Subscribe Form Input Text', $this->plugin_slug ), 'ujic_subscrFrmInputText', $vars['ujic_subscrFrmInputText'] );
207
-
208
- empty($cur_id) && empty($vars['ujic_subscrFrmSubmitText']) ? $vars['ujic_subscrFrmSubmitText'] = __("Subscribe", $this->plugin_slug) : '';
209
- $cnt .= $this->cform_input( __( 'Subscribe Form Submit Text', $this->plugin_slug ), 'ujic_subscrFrmSubmitText', $vars['ujic_subscrFrmSubmitText'] );
210
-
211
- empty($cur_id) && empty($vars['ujic_subscrFrmSubmitColor']) ? $vars['ujic_subscrFrmSubmitColor'] = __("Subscribe", $this->plugin_slug) : '';
212
- $cnt .= $this->cform_color( __( 'Submit Button Color:', $this->plugin_slug ), array( 'ujic_subscrFrmSubmitColor' ), array( __( 'Button Color', $this->plugin_slug ) ), array( $vars['ujic_subscrFrmSubmitColor'] ) );
213
-
214
- empty($cur_id) && empty($vars['ujic_subscrFrmThanksMessage']) ? $vars['ujic_subscrFrmThanksMessage'] = __("Thanks for subscribing", $this->plugin_slug) : '';
215
- $cnt .= $this->cform_input( __( 'Thank You Message', $this->plugin_slug ), 'ujic_subscrFrmThanksMessage', $vars['ujic_subscrFrmThanksMessage'] );
216
-
217
- empty($cur_id) && empty($vars['ujic_subscrFrmErrorMessage']) ? $vars['ujic_subscrFrmErrorMessage'] = __("Invalid email address", $this->plugin_slug) : '';
218
- $cnt .= $this->cform_input( __( 'Error Message', $this->plugin_slug ), 'ujic_subscrFrmErrorMessage', $vars['ujic_subscrFrmErrorMessage'] );
219
-
220
- $cnt .= $this->cform_buttons();
221
-
222
- $cnt .= wp_nonce_field( 'ujic_secure', 'ujic_secure_form', true, false );
223
-
224
- $cnt .= '</form>';
225
-
226
- //Build Metabox
227
-
228
- if ( $cur_id )
229
-
230
- echo $this->custom_metabox( __( 'Edit Timer Style', $this->plugin_slug ), $cnt, 'ujic-create uji-fedit' );
231
-
232
- else
233
-
234
- echo $this->custom_metabox( __( 'Create New Timer Style', $this->plugin_slug ), $cnt, 'ujic-create' );
235
-
236
-
237
- //Left Metaboxes
238
-
239
- $this->left_metaboxes();
240
-
241
-
242
- //Preview Metaboxes
243
-
244
- $this->prev_metaboxes( $cur_style, $vars);
245
-
246
-
247
- }
248
-
249
- /**
250
- * Print checkbox field.
251
- *
252
- * @since 2.0
253
- */
254
- private function cform_checkbox( $label, $names, $name_val, $val ) {
255
- $form = '<div class="ujic-box">';
256
- $form .= '<div class="label">' . $label . '</div>';
257
- $form .= '<div class="ujic-chkbtn">';
258
- $i = 0;
259
- foreach ( $names as $name ) {
260
- $form .= '<input id="' . $name . '" type="checkbox" value="true" class="icheckbox_flat-pink" name="' . $name . '" ' . checked( $val[$i], "true", false ) . '>';
261
- $form .= '<label for="' . $name . '">' . $name_val[$i] . '</label>';
262
- $i++;
263
- }
264
- $form .= '</div>';
265
- $form .= '</div>';
266
-
267
- return $form;
268
- }
269
-
270
-
271
-
272
- /**
273
- * Custom Metabox template.
274
- *
275
- * @since 2.0
276
- */
277
- private function custom_metabox( $name, $cnt, $class = NULL ) {
278
- $meta = '<div class="metabox-holder' . ( ( isset( $class ) && !empty( $class ) ) ? ' ' . $class : '' ) . '">';
279
- $meta .= '<div class="postbox">';
280
- $meta .= '<div class="handlediv" title="Click to toggle"><br/></div>';
281
- $meta .= '<h3 class="hndle"><span>' . $name . '</span></h3>';
282
- $meta .= '<div class="inside">';
283
- $meta .= $cnt;
284
- $meta .= '</div>';
285
- $meta .= '</div>';
286
- $meta .= '</div>';
287
-
288
- return $meta;
289
- }
290
-
291
- /**
292
- * Multi Custom Metabox template.
293
- *
294
- * @since 2.0
295
- */
296
- private function multi_custom_metabox( $name, $cnt, $class = NULL ) {
297
- $meta = '<div class="metabox-holder' . ( ( isset( $class ) && !empty( $class ) ) ? ' ' . $class : '' ) . '">';
298
- $i = 0;
299
- foreach ( $cnt as $content ) {
300
- $meta .= '<div class="postbox">';
301
- $meta .= '<div class="handlediv" title="Click to toggle"><br/></div>';
302
- $meta .= '<h3 class="hndle"><span>' . $name[$i] . '</span></h3>';
303
- $meta .= '<div class="inside">';
304
- $meta .= $content;
305
- $meta .= '</div>';
306
- $meta .= '</div>';
307
- $i++;
308
- }
309
- $meta .= '</div>';
310
-
311
- return $meta;
312
- }
313
-
314
- /**
315
- * Tutorial metaboxes.
316
- *
317
- * @since 2.0
318
- */
319
- private function prev_metaboxes( $style, $countDownOptions) {
320
- if ( $style == 'classic' ) {
321
- $prw = '<div class="ujic-' . $style . ' hasCountdown" id="ujiCountdown">
322
- <span class="countdown_row ujicf">
323
- <span class="countdown_section ujic_y">
324
- <span class="countdown_amount">0</span>
325
- <span class="countdown_amount">1</span>
326
- <span class="countdown_txt">' . __( 'Years', $this->plugin_slug ) . '</span>
327
- </span>
328
- <span class="countdown_section ujic_o">
329
- <span class="countdown_amount">1</span>
330
- <span class="countdown_amount">1</span>
331
- <span class="countdown_txt">' . __( 'Months', $this->plugin_slug ) . '</span>
332
- </span>
333
- <span class="countdown_section ujic_w">
334
- <span class="countdown_amount">0</span>
335
- <span class="countdown_amount">2</span>
336
- <span class="countdown_txt">' . __( 'Weeks', $this->plugin_slug ) . '</span>
337
- </span>
338
- <span class="countdown_section ujic_d">
339
- <span class="countdown_amount">2</span>
340
- <span class="countdown_amount">9</span>
341
- <span class="countdown_txt">' . __( 'Days', $this->plugin_slug ) . '</span>
342
- </span>
343
- <span class="countdown_section ujic_h">
344
- <span class="countdown_amount">0</span>
345
- <span class="countdown_amount">9</span>
346
- <span class="countdown_txt">' . __( 'Hours', $this->plugin_slug ) . '</span>
347
- </span>
348
- <span class="countdown_section ujic_m">
349
- <span class="countdown_amount">3</span>
350
- <span class="countdown_amount">1</span>
351
- <span class="countdown_txt">' . __( 'Minutes', $this->plugin_slug ) . '</span>
352
- </span>
353
- <span class="countdown_section ujic_s">
354
- <span class="countdown_amount">5</span>
355
- <span class="countdown_amount">3</span>
356
- <span class="countdown_txt">' . __( 'Seconds', $this->plugin_slug ) . '</span>
357
- </span>
358
- </span>
359
-
360
- <form>
361
- <span>' . esc_html($countDownOptions['ujic_subscrFrmAboveText'], $this->plugin_slug) .'</span>
362
- <div>
363
- <p>
364
- <input type = "text" readonly="readonly" placeholder = "' . esc_attr($countDownOptions['ujic_subscrFrmInputText']) . '"/>
365
- <input type = "submit" value = "' . esc_attr($countDownOptions['ujic_subscrFrmSubmitText']) . '" />
366
- </p>
367
- </div>
368
- </form>
369
-
370
- </div>';
371
- }
372
-
373
- echo $this->custom_metabox( __( 'Preview Timer Style', $this->plugin_slug ), $prw, 'ujic-preview' );
374
- }
375
-
376
- /**
377
- * Tutorial metaboxes.
378
- *
379
- * @since 2.0
380
- */
381
- private function left_metaboxes() {
382
- $tut_sho = '<img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps.jpg">';
383
- $tut_wid = '<img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps2.jpg">';
384
- echo $this->multi_custom_metabox( array( __( 'How To Add Countdown Shortcode', $this->plugin_slug ), __( 'Add New Countdown <br>from the Widget Areas', $this->plugin_slug ) ), array( $tut_sho, $tut_wid ), 'ujic-tut' );
385
- }
386
-
387
- /**
388
- * Premium metaboxes.
389
- *
390
- * @since 2.0
391
- */
392
- private function pro_metaboxes() {
393
- $pro_sho = '<a href="http://www.wpmanage.com/uji-countdown" target="_blank"><img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps3.png"></a>';
394
- echo $this->multi_custom_metabox( array( __( 'Upgrade to PRO Version', $this->plugin_slug ) ), array( $pro_sho ), 'ujic-tut' );
395
- }
396
-
397
- /**
398
- * Print form style.
399
- *
400
- * @since 2.0
401
- */
402
- private function cform_style( $val ) {
403
- $styles = $this->styles;
404
- $form = '<div class="ujic-box">';
405
- if ( $this->cform_is_edit() ) {
406
- $form .= '<div class="label">' . __( "Style Type:", $this->plugin_slug ) . '</div>';
407
- $form .= '<span id="ujic-style-' . $val . '" class="ujic-types ujic-types-sel">' . $val . '</span>';
408
- } else {
409
- $form .= '<div class="label">' . __( "Select Style:", $this->plugin_slug ) . '</div>';
410
- foreach ( $styles as $style ) {
411
- $sel = ( $style == ( isset( $_GET['style'] ) && !empty( $_GET['style'] ) ? $_GET['style'] : 'classic' ) ) ? ' ujic-types-sel' : '';
412
- $form .= '<a href="#" onclick="sel_style(\'' . $style . '\')" id="ujic-style-' . $style . '" class="ujic-types' . $sel . '">' . $style . '</a>';
413
- }
414
- }
415
- $form .= '<input name="ujic_style" id="ujic-style" type="hidden" class="normal-text" value="' . $val . '"/>';
416
- $form .= '</div>';
417
- return $form;
418
- }
419
-
420
- /**
421
- * Print title.
422
- *
423
- * @since 2.0
424
- */
425
- private function cform_title( $title ) {
426
- $form = '<div class="ujic-box">';
427
- $form .= '<h3 style="padding-left: 0">' . $title . '</h3>';
428
- $form .= '</div>';
429
- return $form;
430
- }
431
-
432
- /**
433
- * Print input field.
434
- *
435
- * @since 2.0
436
- */
437
- private function cform_input( $label, $name, $val, $cls = null ) {
438
- $form = '<div class="ujic-box">';
439
- $form .= '<div class="label">' . $label . '</div>';
440
- $form .= '<input type="text" value="' . $val . '" name="' . $name . '" id="' . $name . '" class="' . ($cls ? $cls : 'regular-text') . '">';
441
- $form .= '</div>';
442
- return $form;
443
- }
444
-
445
-
446
- /**
447
- * Print radio field.
448
- *
449
- * @since 2.0
450
- */
451
- private function cform_radiobox( $label, $name, $name_val, $types, $val ) {
452
- $form = '<div class="ujic-box">';
453
- $form .= '<div class="label">' . $label . '</div>';
454
- $form .= '<div class="ujic-radbtn">';
455
- $i = 0;
456
- foreach ( $types as $type ) {
457
- $form .= '<input id="' . $type . '" type="radio" value="' . $type . '" class="iradio_flat-pink" name="' . $name . '" ' . checked( $val, $type, false ) . '>';
458
- $form .= '<label for="' . $name . '" id="img-' . $type . '">' . $name_val[$i] . '</label>';
459
- $i++;
460
- }
461
- $form .= '</div>';
462
- $form .= '</div>';
463
- return $form;
464
- }
465
-
466
- /**
467
- * Print select field.
468
- *
469
- * @since 2.0
470
- */
471
- private function cform_select( $label, $name, $types, $val ) {
472
- $form = '<div class="ujic-box">';
473
- $form .= '<div class="label">' . $label . '</div>';
474
- $form .= '<div class="ujic-select">';
475
- $form .= '<select class="select of-input" name="' . $name . '" id="' . $name . '">';
476
- foreach ( $types as $type => $option ) {
477
- $form .= '<option id="' . sanitize_text_field( $type ) . '" value="' . $type . '" ' . selected( $type, $val, false ) . ' />' . $option . '</option>';
478
- }
479
- $form .= '</select></div>';
480
- $form .= '</div>';
481
- return $form;
482
- }
483
-
484
- /**
485
- * Print slider-ui field.
486
- *
487
- * @since 2.0
488
- */
489
- private function cform_sliderui( $label, $name, $val, $min, $max, $step ) {
490
- $form = '<div class="ujic-box ujic_slider">';
491
- $form .= '<div class="label">' . $label . '</div>';
492
- //values
493
- $val = ($val == '') ? 32 : $val;
494
- $data = 'data-id="' . $name . '" data-val="' . $val . '" data-min="' . $min . '" data-max="' . $max . '" data-step="' . $step . '"';
495
- //html output
496
- $form .= '<input type="text" name="' . $name . '" id="' . $name . '" value="' . $val . '" class="mini" readonly="readonly" />';
497
- $form .= '<div id="' . $name . '-slider" class="ujic_sliderui" style="margin-left: 7px;" ' . $data . '></div>';
498
- $form .= '</div>';
499
- return $form;
500
- }
501
-
502
- /**
503
- * Color picker field.
504
- *
505
- * @since 2.0
506
- */
507
- private function cform_color( $label, $names, $clabels, $vals ) {
508
- $form = '<div class="ujic-box ujic-color">';
509
- $form .= '<div class="label">' . $label . '</div>';
510
- $form .= '<div class="ujic-color-box">';
511
- $i = 0;
512
- foreach ( $names as $name ) {
513
- //values
514
- $default_color = ' data-default-color="' . $vals[$i] . '" ';
515
-
516
- $form .= '<div class="ujic-color-hold">';
517
- $form .= '<span> ' . $clabels[$i] . ' :</span>';
518
- $form .= '<input name="' . $name . '" id="' . $name . '" class="ujic_colorpick" type="text" value="' . $vals[$i] . '"' . $default_color . ' />';
519
- $form .= '</div>';
520
- $i++;
521
- }
522
- $form .= '</div>';
523
- $form .= '</div>';
524
- return $form;
525
- }
526
-
527
- /**
528
- * Add buttons.
529
- *
530
- * @since 2.0
531
- */
532
- private function cform_buttons() {
533
- $type = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? $_GET['edit'] : '';
534
- $form = '<div class="ujic-submit-hold">';
535
- if ( !empty( $type ) && is_numeric( $type ) ) {
536
- $form .= get_submit_button( __( 'Update Style', $this->plugin_slug ), 'primary', 'submit_ujic', true );
537
- //$form .= get_submit_button(__( 'Cancel Add New', $this->plugin_slug ), 'secondary', 'cancel_ujic', true);
538
- $form .= '<a href="?page=uji-countdown&tab=tab_ujic_new" class="button button-secondary" id="ujic_table_new">' . __( 'Cancel Add New', $this->plugin_slug ) . '</a>';
539
- } else {
540
- $form .= get_submit_button( __( 'Save Style', $this->plugin_slug ), 'primary', 'submit_ujic', true );
541
- }
542
- $form .= '</div>';
543
-
544
- return $form;
545
- }
546
-
547
- /**
548
- * Form Type.
549
- *
550
- * @since 2.0
551
- */
552
- private function cform_ftype( $cur_style, $id = NULL ) {
553
- $type = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? $_GET['edit'] : '';
554
-
555
- if ( !empty( $type ) && is_numeric( $type ) && !empty( $id ) ) {
556
- $form = '<form method="post" action="options-general.php?page=uji-countdown&tab=tab_ujic_new&edit=' . $id . '">';
557
- } else {
558
- $form = '<form method="post" action="options-general.php?page=uji-countdown&tab=tab_ujic_new&style=' . $cur_style . '&save=true">';
559
- }
560
-
561
- return $form;
562
- }
563
-
564
- /**
565
- * Insert/Edit database values.
566
- *
567
- * @since 2.0
568
- */
569
- private function cform_save_db() {
570
- if ( $this->cform_is_create() ) {
571
- if ( $this->cform_errors() ) {
572
- $this->ins_ujic_db( $_POST );
573
- $this->ujic_message( __( "Your Timer Style Has Been Created", $this->plugin_slug ) );
574
- echo '<script type="text/javascript"> ujic_admin_home(); </script>';
575
- }
576
- }
577
- if ( isset( $_POST ) && !empty( $_POST ) && $this->cform_is_edit() ) {
578
- if ( $this->cform_errors() ) {
579
- $this->upd_ujic_db( $_POST, $_GET['edit'] );
580
- $this->ujic_message( __( "Your Timer Has Been Updated", $this->plugin_slug ) );
581
- }
582
- }
583
- }
584
-
585
- /**
586
- * Errors check.
587
- *
588
- * @since 2.0
589
- */
590
- private function cform_errors() {
591
- global $wpdb;
592
- $ujic_form_err = '';
593
-
594
- //name not empty
595
- if ( empty( $_POST['ujic_name'] ) ) {
596
- $ujic_form_err .= __( "Please Complete Timer Title", $this->plugin_slug ) . '<br/>';
597
- }
598
-
599
- //check format
600
- if ( !isset( $_POST['ujic_d'] ) && !isset( $_POST['ujic_h'] ) && !isset( $_POST['ujic_m'] ) && !isset( $_POST['ujic_s'] ) && !isset( $_POST['ujic_y'] ) && !isset( $_POST['ujic_o'] ) && !isset( $_POST['ujic_w'] ) ) {
601
- $ujic_form_err .= __( "Please Select Timer Format", $this->plugin_slug ) . '<br/>';
602
- }
603
-
604
- //check name exist
605
- if ( !empty( $_POST['ujic_name'] ) && !$this->cform_is_edit() ) {
606
- $cname = $wpdb->get_var( "SELECT title FROM " . $this->ujic_tab_name() . " WHERE title = '" . $_POST['ujic_name'] . "'" );
607
- if ( !empty( $cname ) ) {
608
- $ujic_form_err .= __("This Name Already Exist. Please Change Timer Name. <br/>", $this->plugin_slug);
609
- }
610
- }
611
-
612
- if ( empty( $ujic_form_err ) ) {
613
- return true;
614
- } else if ( !empty( $ujic_form_err ) ) {
615
- $this->ujic_message( $ujic_form_err, true );
616
- return false;
617
- }
618
- }
619
-
620
- /**
621
- * Check if have saved style.
622
- *
623
- * @since 2.0
624
- */
625
- private function saved_db_style() {
626
- global $wpdb;
627
- $cname = $wpdb->get_var( "SELECT title FROM " . $this->ujic_tab_name() . " LIMIT 1" );
628
- if ( !empty( $cname ) ) {
629
- return true;
630
- } else {
631
- return false;
632
- }
633
- }
634
-
635
- /**
636
- * Return If Create Form.
637
- *
638
- * @since 2.0
639
- */
640
- public function cform_is_create() {
641
- if ( isset( $_POST ) && !empty( $_POST ) && isset( $_GET['save'] ) && !empty( $_GET['save'] ) && $_GET['save'] == 'true' ){
642
- //2.0.7 Fix Cross-Site Request Forgery attacks
643
- self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $_POST );
644
- return true;
645
- }else{
646
- return false;
647
- }
648
- }
649
-
650
- /**
651
- * Return Edit Form.
652
- *
653
- * @since 2.0
654
- */
655
- private function cform_is_edit() {
656
- if ( isset( $_GET['edit'] ) && (!empty( $_GET['edit'] ) && is_numeric( $_GET['edit'] ) ) )
657
- return true;
658
- else
659
- return false;
660
- }
661
-
662
- /**
663
- * Return Delete Form.
664
- *
665
- * @since 2.0
666
- */
667
- private function cform_delete() {
668
- if ( isset( $_GET['del'] ) && (!empty( $_GET['del'] ) && is_numeric( $_GET['del'] ) ) ) {
669
- $this->del_ujic_db( trim( $_GET['del'] ) );
670
- $this->ujic_message( __("Your countdown style was deleted", $this->plugin_slug) );
671
- }
672
- }
673
-
674
- /**
675
- * Creating The Tabs.
676
- *
677
- * @since 2.0
678
- */
679
- private function ujic_tabs_values() {
680
- global $wpdb;
681
- $ujictab = '';
682
- $table_name = $wpdb->prefix . "uji_counter";
683
- $ujic_datas = $wpdb->get_results( "SELECT * FROM $table_name ORDER BY `time` DESC" );
684
- if ( !empty( $ujic_datas ) ) {
685
- foreach ( $ujic_datas as $ujic ) {
686
- $ujic_style = !empty( $ujic->style ) ? $ujic->style : 'classic';
687
- $ujic_ico = '<span id="ujic-style-' . $ujic_style . '" class="ujic-types">' . $ujic_style . '</span>';
688
- $ujictab .='<tr>
689
- <td>' . $ujic->time . '</td>
690
- <td>' . $ujic->title . '</td>
691
- <td>' . $ujic_ico . '</td>
692
- <td>
693
- <a href="?page=uji-countdown&tab=tab_ujic_new&edit=' . $ujic->id . '"><i class="dashicons dashicons-welcome-write-blog"></i>Edit</a> | <a href="options-general.php?page=uji-countdown&del=' . $ujic->id . '"><i class="dashicons dashicons-trash"></i> Delete</a>
694
- </td>
695
- </tr>';
696
- }
697
- }
698
-
699
- return $ujictab;
700
- }
701
-
702
- /**
703
- * Message Notification.
704
- *
705
- * @since 2.0
706
- */
707
- private function ujic_message( $message, $errormsg = false ) {
708
- if ( $errormsg ) {
709
- echo '<div id="message" class="error">';
710
- } else {
711
- echo '<div id="message" class="updated fade">';
712
- }
713
-
714
- echo "<p><strong>$message</strong></p></div>";
715
- }
716
-
717
- /**
718
- * Timer settings
719
- *
720
- * @since 2.0
721
- */
722
- public function admin_timerset() {
723
- //Save data
724
- $this->save_timerset();
725
- //Get data
726
- $vars = $this->get_timerset();
727
-
728
- //Build Forms
729
- $cnt = '<form method="post" action="options-general.php?page=uji-countdown&tab=tab_ujic_set&saveset=true">';
730
- $cnt .= $this->cform_checkbox( __( "Enable user time:", $this->plugin_slug ), array( 'ujic_utime' ), array( __("Timer based on the users system time not the server time.<br> Don't enable it if you need the same time for any timezone!<br><strong>Default is the server time!</strong>", $this->plugin_slug ) ), array( ( isset($vars['ujic_utime']) ? $vars['ujic_utime'] : false ) ) );
731
- $cnt .= $this->cform_checkbox( __( "Right-To-Left (RTL):", $this->plugin_slug ), array( 'ujic_rtl' ), array( __("Writing starts from the right of the page and continues to the left.", $this->plugin_slug ) ), array( ( isset($vars['ujic_rtl']) ? $vars['ujic_rtl'] : false ) ) );
732
- $cnt .= $this->cform_checkbox( __( "Remove Settings", $this->plugin_slug ), array( 'ujic_remove' ), array( __("This option will remove all settings and styles when <strong>Delete plugin</strong>", $this->plugin_slug ) ), array( ( isset($vars['ujic_remove']) ? $vars['ujic_remove'] : false ) ) );
733
- $cnt .= $this->cform_title( __( "Quick Translation", $this->plugin_slug ) );
734
-
735
- $labels = self::ujic_labels();
736
-
737
- foreach ( $labels as $v => $n ){
738
- $cnt .= $this->cform_input( __( $n.':', $this->plugin_slug ), $v, $vars[$v], 'default-text' );
739
- }
740
- $cnt .= get_submit_button( __( "Save Changes", $this->plugin_slug ), 'primary', 'submit_ujic', true );
741
-
742
- $cnt .= wp_nonce_field( 'ujic_secureset', 'ujic_secureset_form', true, false );
743
-
744
- $cnt .= '</form>';
745
-
746
- echo $this->custom_metabox( __( "Timer Settings", $this->plugin_slug ), $cnt, 'ujic-create ujic-settings' );
747
- }
748
-
749
- /**
750
- * Save timer settings
751
- *
752
- * @since 2.0
753
- */
754
- public function save_timerset() {
755
- if ( isset( $_POST ) && !empty( $_POST ) && isset( $_GET['saveset'] ) && !empty( $_GET['saveset'] ) && $_GET['saveset'] == 'true' ){
756
- //2.0.7 Fix Cross-Site Request Forgery attacks
757
- self::ujic_secure( 'ujic_secureset', 'ujic_secureset_form', $_POST );
758
-
759
- $settings = wp_kses_allowed_html( $_POST );
760
- unset($settings['submit_ujic']);
761
- update_option('ujic_set', $settings);
762
- $this->ujic_message( __("Settings saved.", $this->plugin_slug ) );
763
- }elseif( isset( $_POST ) && !empty( $_POST ) ){
764
- $this->ujic_message( __("Some error occured. Please try again.", $this->plugin_slug ) );
765
- }
766
- }
767
-
768
- /**
769
- * Get timer settings
770
- *
771
- * @since 2.0
772
- */
773
- public function get_timerset( $name = null ) {
774
- $vars = get_option('ujic_set');
775
- if($name)
776
- return $vars[$name];
777
- else
778
- return $vars;
779
- }
780
-
781
- /**
782
- * Subscribers
783
- *
784
- * @since 2.0.3
785
- */
786
- public function admin_subscribers(){
787
-
788
- $listTable = new UjiSubscriptionsTable();
789
-
790
- ob_start();
791
-
792
- $htmlContent = '<form id = "uji-subscription-frm" method="get" action="">';
793
- $htmlContent .= '<input type="hidden" name="page" value="' . esc_attr($_REQUEST['page']) . '" />';
794
- $listTable->display();
795
- $htmlContent .= ob_get_clean();
796
- $htmlContent .='</form>';
797
-
798
- echo $this->custom_metabox( __( 'Subscribers List', $this->plugin_slug ), $htmlContent , 'ujic-create ujic-subscribers' );
799
-
800
- }
801
-
802
- /**
803
- * Secure against Cross-Site Request Forgery
804
- *
805
- * @since 2.0.7
806
- */
807
- public function ujic_secure( $secure, $secure_filed, $posts ) {
808
- if ( ! isset( $posts[$secure_filed] )
809
- || ! wp_verify_nonce( $posts[$secure_filed], $secure )
810
- ) {
811
- wp_die( __( 'Cheatin&#8217; huh?', 'ujicountdown' ) );
812
- }
813
- }
814
-
815
  }
1
+ <?php
2
+
3
+ /**
4
+ * Uji Countdown Admin
5
+ *
6
+ * Handles all admin
7
+ *
8
+ * @author WPmanage
9
+ * @category Admin
10
+ * @package Uji-Countdown/Classes
11
+ * @version 2.0
12
+ */
13
+ if ( !defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ class Uji_Countdown_Admin {
18
+ /**
19
+ * Styles
20
+ *
21
+ * @since 2.1
22
+ *
23
+ * @var string
24
+ */
25
+ public function ujic_styles(){
26
+ return apply_filters( 'ujic_styles', array( 'classic' ) );
27
+ }
28
+
29
+ /**
30
+ * Init label vars
31
+ *
32
+ * @since 2.0
33
+ */
34
+ public static function ujic_labels() {
35
+ return array( 'ujic_years' => 'Years',
36
+ 'ujic_year' => 'Year',
37
+ 'ujic_months' => 'Months',
38
+ 'ujic_month' => 'Month',
39
+ 'ujic_weeks' => 'Weeks',
40
+ 'ujic_week' => 'Week',
41
+ 'ujic_days' => 'Days',
42
+ 'ujic_day' => 'Day',
43
+ 'ujic_hours' => 'Hours',
44
+ 'ujic_hour' => 'Hour',
45
+ 'ujic_minutes' => 'Minutes',
46
+ 'ujic_minute' => 'Minute',
47
+ 'ujic_seconds' => 'Seconds',
48
+ 'ujic_second' => 'Second',
49
+ );
50
+ }
51
+
52
+ /**
53
+ * Print template of table counters.
54
+ *
55
+ * @since 2.0
56
+ */
57
+ public function admin_tablelist() {
58
+
59
+ $this->cform_delete();
60
+
61
+ if ( $this->saved_db_style() ) {
62
+
63
+ $table_headers = '
64
+ <th class="manage-column" scope="col"><span>' . __( 'Date', 'ujicountdown' ) . '</span></th>
65
+ <th class="manage-column" scope="col"><span>' . __( 'Name', 'ujicountdown' ) . '</span></th>
66
+ <th class="manage-column" scope="col"><span>' . __( 'Style', 'ujicountdown' ) . '</span></th>
67
+ <th class="manage-column" scope="col"><span>' . __( 'Change', 'ujicountdown' ) . '</span></th>';
68
+
69
+ $tab = '<div id="ujic_table" class="list">
70
+ <a href="?page=ujicountdown&tab=tab_ujic_new" class="button button-primary" id="ujic_table_new">' . __( 'Create a new timer style', 'ujicountdown' ) . '</a>
71
+ <table cellspacing="0" class="widefat fixed">
72
+ <thead>
73
+ <tr>
74
+ ' . $table_headers . '
75
+ </tr>
76
+ </thead>
77
+ <tfoot>
78
+ <tr>
79
+ ' . $table_headers . '
80
+ </tr>
81
+ </tfoot>
82
+
83
+ <tbody>
84
+ ' . $this->ujic_tabs_values() . '
85
+ <tbody>
86
+ </table>
87
+ </div>';
88
+
89
+ echo $tab;
90
+
91
+ if ( !$this->ujic_pro() )
92
+ $this->pro_metaboxes();
93
+ } else {
94
+ //echo '<div class="ujic-create"><a href="?page=ujicountdown&tab=tab_ujic_new" class="button button-primary" id="ujic_table_new">' . __( 'Create a new timer style', 'ujicountdown' ) . '</a></div>';
95
+ echo '<div id="ujic_new"><h1>Uji Countdown ' . UJIC_VERS . '</h1><h4>The most customizable countdown plugin for Wordpress</h4>';
96
+ echo '<a href="?page=ujicountdown&tab=tab_ujic_new" class="ujic_butnew" id="ujic_table_new">' . __( 'Add New Style', 'ujicountdown' ) . '</a>';
97
+ echo '<div class="ujic_new_cnt"><h2>WHAT\'S NEW</h2>';
98
+ echo '<ul>
99
+ <li>
100
+ <img alt="recurring time" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-rec.png">
101
+ <h3>Recurring Timer</h3>
102
+ <p>Introducing the recurring time option</p>
103
+ <p>Reschedule the countdown timer after the event has ended</p>
104
+ </li>
105
+ <li>
106
+ <img alt="email subscription" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-email.png">
107
+ <h3>Email Subscription Free Extension</h3>
108
+ <p>Visitors have now the option to subscribe using the email subscription form</p>
109
+ <p>Create unlimited Campaigns</p>
110
+ </li>
111
+ <li>
112
+ <img alt="responsive" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-mob.png">
113
+ <h3>Responsive (Pro Version)</h3>
114
+ <p>Responsive to all formats. You can use it on your PC, Laptop, Mobile and Tablet</p>
115
+ </li>
116
+ <li>
117
+ <img alt="more customization" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-custom.png">
118
+ <h3>More Customization</h3>
119
+ <p>Option to enable/disable the units of the time</p>
120
+ <p>Option to change the label color and size</p>
121
+ </li>
122
+ <li>
123
+ <img alt="Multilanguage support" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-glob.png">
124
+ <h3>Multilanguage Support</h3>
125
+ <p>This plugins come with translation capability. That means can be translated (aka localized) to other languages </p>
126
+ <p>Quick translation for the units of time </p>
127
+ </li>
128
+ <li>
129
+ <img alt="google fonts" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-font.png">
130
+ <h3>Google Fonts</h3>
131
+ <p>Now support google fonts inclusion</p>
132
+ </li>
133
+ <li>
134
+ <img alt="rtl support" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-rtl.png">
135
+ <h3>Right-To-Left (RTL)</h3>
136
+ <p>Support "Left to Right" to Arabic "Right to Left" </p>
137
+ </li>
138
+ <li>
139
+ <img alt="wordpress" src="' . UJICOUNTDOWN_URL . 'assets/images/icon-wp.png">
140
+ <h3>WordPress 5.0</h3>
141
+ <p>Fully supports WordPress 5.0, while maintaining compatibility through version 3.5+</p>
142
+ </li>
143
+ </ul>';
144
+ echo '</div></div>';
145
+
146
+ if ( !$this->ujic_pro() )
147
+ $this->pro_metaboxes();
148
+ }
149
+
150
+ //Left Metaboxes
151
+ if ( isset( $_GET['tab'] ) && $_GET['tab'] == 'tab_ujic_new' )
152
+ $this->left_metaboxes();
153
+ }
154
+
155
+ /**
156
+ * Print template new/edit countdown.
157
+ *
158
+ * @since 2.0
159
+ */
160
+ public function admin_countdown() {
161
+
162
+ //Save/Edit in database
163
+ $this->cform_save_db();
164
+
165
+ //ID
166
+ $cur_id = ( $this->cform_is_edit() ) ? $_GET['edit'] : '';
167
+
168
+ //Get vars
169
+ $vars = $this->ujic_option( $cur_id );
170
+
171
+ //Curent style
172
+ $cur_style = ( $this->cform_is_edit() ) ? $vars['ujic_style'] : ( ( isset( $_GET['style'] ) && !empty( $_GET['style'] ) ) ? $_GET['style'] : 'classic' );
173
+
174
+ //Build Forms
175
+ $cnt = '<form method="post" action="page=ujicountdown&tab=tab_ujic_new&style=' . $cur_style . '&save=true">';
176
+ $cnt = $this->cform_ftype( $cur_style, $cur_id );
177
+ $cnt .= $this->cform_style( $cur_style );
178
+ $cnt .= '<input name="ujic_style" id="ujic-style" type="hidden" class="normal-text" value="' . $cur_style . '"/>';
179
+ $cnt .= $this->cform_input( __( 'Timer Title:', 'ujicountdown' ), 'ujic_name', $vars['ujic_name'] );
180
+ $cnt .= $this->cform_select( __( 'Google Font:', 'ujicountdown' ), 'ujic_goof', ujic_googlefonts(), $vars['ujic_goof'] );
181
+ $cnt .= $this->cform_radiobox( __( 'Alignment:', 'ujicountdown' ), 'ujic_pos', array( __( 'None', 'ujicountdown' ), __( 'Left', 'ujicountdown' ), __( 'Center', 'ujicountdown' ), __( 'Right', 'ujicountdown' ) ), array( 'none', 'left', 'center', 'right' ), $vars['ujic_pos'] );
182
+ $cnt .= $this->cform_checkbox( __( 'Main format:', 'ujicountdown' ), array( 'ujic_d', 'ujic_h', 'ujic_m', 'ujic_s' ), array( __( 'Days', 'ujicountdown' ), __( 'Hours', 'ujicountdown' ), __( 'Minutes', 'ujicountdown' ), __( 'Seconds', 'ujicountdown' ) ), array( $vars['ujic_d'], $vars['ujic_h'], $vars['ujic_m'], $vars['ujic_s'] ) );
183
+ $cnt .= $this->cform_checkbox( __( 'Secondary format:', 'ujicountdown' ), array( 'ujic_y', 'ujic_o', 'ujic_w' ), array( __( 'Years', 'ujicountdown' ), __( 'Months', 'ujicountdown' ), __( 'Weeks', 'ujicountdown' ) ), array( $vars['ujic_y'], $vars['ujic_o'], $vars['ujic_w'] ) );
184
+
185
+ //Filter for new options
186
+ if(has_filter('ujic_admin_add_circform'))
187
+ $cnt .= apply_filters( 'ujic_admin_add_circform', $cnt, $vars, $cur_style );
188
+
189
+ // if ( $cur_style == 'classic' )
190
+ // $cnt .= $this->cform_checkbox( __( 'Animation for seconds:', 'ujicountdown' ), array( 'ujic_ani' ), array( '' ), array( $vars['ujic_ani'] ) );
191
+ $cnt .= $this->cform_checkbox( __( 'Display time label text:', 'ujicountdown' ), array( 'ujic_txt' ), array( '' ), array( $vars['ujic_txt'] ) );
192
+ if ( $cur_style == 'classic' )
193
+ $cnt .= $this->cform_sliderui( __( 'Timer Size:', 'ujicountdown' ), 'ujic_size', $vars['ujic_size'], 10, 80, 1 );
194
+ if ( $cur_style == 'classic' )
195
+ $cnt .= $this->cform_color( __( 'Select Box Color:', 'ujicountdown' ), array( 'ujic_col_dw', 'ujic_col_up' ), array( __( 'Bottom', 'ujicountdown' ), __( 'Up', 'ujicountdown' ) ), array( $vars['ujic_col_dw'], $vars['ujic_col_up'] ) );
196
+ if ( $cur_style == 'classic' )
197
+ $cnt .= $this->cform_color( __( 'Text Color:', 'ujicountdown' ), array( 'ujic_col_txt', 'ujic_col_sw' ), array( __( 'Number Color', 'ujicountdown' ), __( 'Shadow Color', 'ujicountdown' ) ), array( $vars['ujic_col_txt'], $vars['ujic_col_sw'] ) );
198
+
199
+ $cnt .= $this->cform_color( __( 'Label Color:', 'ujicountdown' ), array( 'ujic_col_lab' ), array( __( 'Label Text Color', 'ujicountdown' ) ), array( $vars['ujic_col_lab'] ) );
200
+ $cnt .= $this->cform_sliderui( __( 'Label Size:', 'ujicountdown' ), 'ujic_lab_sz', $vars['ujic_lab_sz'], 8, 25, 1 );
201
+
202
+ //Newsletter form
203
+ if ( has_filter('ujic_admin_add_form') ){
204
+ $cnt .= apply_filters( 'ujic_admin_add_form', $cnt, $vars );
205
+ }
206
+
207
+ $cnt .= wp_nonce_field( 'ujic_secure', 'ujic_secure_form', true, false );
208
+
209
+ $cnt .= $this->cform_buttons();
210
+
211
+ $cnt .= '</form>';
212
+
213
+ //Build Metabox
214
+
215
+ if ( $cur_id )
216
+ echo $this->custom_metabox( __( 'Edit Timer Style', 'ujicountdown' ), $cnt, 'ujic-create uji-fedit' );
217
+ else
218
+ echo $this->custom_metabox( __( 'Create New Timer Style', 'ujicountdown' ), $cnt, 'ujic-create' );
219
+
220
+
221
+ //Left Metaboxes
222
+
223
+ $this->left_metaboxes();
224
+
225
+
226
+ //Preview Metaboxes
227
+ $this->prev_metaboxes( $cur_style, $vars );
228
+ }
229
+
230
+ /**
231
+ * Print checkbox field.
232
+ *
233
+ * @since 2.0
234
+ */
235
+ public function cform_checkbox( $label, $names, $name_val, $val ) {
236
+ $form = '<div class="ujic-box">';
237
+ $form .= '<div class="label">' . $label . '</div>';
238
+ $form .= '<div class="ujic-chkbtn">';
239
+ $i = 0;
240
+ foreach ( $names as $name ) {
241
+ $form .= '<input id="' . $name . '" type="checkbox" value="true" class="icheckbox_flat-pink" name="' . $name . '" ' . checked( $val[$i], "true", false ) . '>';
242
+ $form .= '<label for="' . $name . '">' . $name_val[$i] . '</label>';
243
+ $i++;
244
+ }
245
+ $form .= '</div>';
246
+ $form .= '</div>';
247
+
248
+ return $form;
249
+ }
250
+
251
+ /**
252
+ * Custom Metabox template.
253
+ *
254
+ * @since 2.0
255
+ */
256
+ public function custom_metabox( $name, $cnt, $class = NULL ) {
257
+ $meta = '<div class="metabox-holder' . ( ( isset( $class ) && !empty( $class ) ) ? ' ' . $class : '' ) . '">
258
+ <div class="postbox">
259
+ <div class="handlediv" title="Click to toggle"><br/></div>
260
+ <h3 class="hndle"><span>' . $name . '</span></h3>
261
+ <div class="inside">';
262
+ $meta .= $cnt;
263
+ $meta .= '</div></div></div>';
264
+
265
+ return $meta;
266
+ }
267
+
268
+ /**
269
+ * Multi Custom Metabox template.
270
+ *
271
+ * @since 2.0
272
+ */
273
+ private function multi_custom_metabox( $name, $cnt, $class = NULL ) {
274
+ $meta = '<div class="metabox-holder' . ( ( isset( $class ) && !empty( $class ) ) ? ' ' . $class : '' ) . '">';
275
+ $i = 0;
276
+ foreach ( $cnt as $content ) {
277
+ $meta .= '<div class="postbox">';
278
+ $meta .= '<div class="handlediv" title="Click to toggle"><br/></div>';
279
+ $meta .= '<h3 class="hndle"><span>' . $name[$i] . '</span></h3>';
280
+ $meta .= '<div class="inside">';
281
+ $meta .= $content;
282
+ $meta .= '</div>';
283
+ $meta .= '</div>';
284
+ $i++;
285
+ }
286
+ $meta .= '</div>';
287
+
288
+ return $meta;
289
+ }
290
+
291
+ /**
292
+ * Preview metaboxes.
293
+ *
294
+ * @since 2.0
295
+ */
296
+ private function prev_metaboxes( $style, $countDownOptions ) {
297
+ $prw = '<div class="ujic-' . $style . ' hasCountdown" id="ujiCountdown">';
298
+ $prw .= '<span class="countdown_row ujicf">
299
+ <span class="countdown_section ujic_y">
300
+ <span class="countdown_amount">0</span>
301
+ <span class="countdown_amount">1</span>
302
+ <span class="countdown_txt">' . __( 'Years', 'ujicountdown' ) . '</span>
303
+ </span>
304
+ <span class="countdown_section ujic_o">
305
+ <span class="countdown_amount">1</span>
306
+ <span class="countdown_amount">1</span>
307
+ <span class="countdown_txt">' . __( 'Months', 'ujicountdown' ) . '</span>
308
+ </span>
309
+ <span class="countdown_section ujic_w">
310
+ <span class="countdown_amount">0</span>
311
+ <span class="countdown_amount">2</span>
312
+ <span class="countdown_txt">' . __( 'Weeks', 'ujicountdown' ) . '</span>
313
+ </span>
314
+ <span class="countdown_section ujic_d">
315
+ <span class="countdown_amount">2</span>
316
+ <span class="countdown_amount">9</span>
317
+ <span class="countdown_txt">' . __( 'Days', 'ujicountdown' ) . '</span>
318
+ </span>
319
+ <span class="countdown_section ujic_h">
320
+ <span class="countdown_amount">0</span>
321
+ <span class="countdown_amount">9</span>
322
+ <span class="countdown_txt">' . __( 'Hours', 'ujicountdown' ) . '</span>
323
+ </span>
324
+ <span class="countdown_section ujic_m">
325
+ <span class="countdown_amount">3</span>
326
+ <span class="countdown_amount">1</span>
327
+ <span class="countdown_txt">' . __( 'Minutes', 'ujicountdown' ) . '</span>
328
+ </span>
329
+ <span class="countdown_section ujic_s">
330
+ <span class="countdown_amount">5</span>
331
+ <span class="countdown_amount">3</span>
332
+ <span class="countdown_txt">' . __( 'Seconds', 'ujicountdown' ) . '</span>
333
+ </span>
334
+ </span>';
335
+
336
+ if(has_filter( 'ujic_admin_add_prw' ) )
337
+ $prw .= apply_filters( 'ujic_admin_add_prw', $countDownOptions );
338
+
339
+ $prw .= '</div>';
340
+
341
+ if(has_filter( 'ujic_admin_add_preview' ) )
342
+ $prw = apply_filters( 'ujic_admin_add_preview', $countDownOptions, $prw, $style );
343
+
344
+ if( isset($prw) && !empty($prw) )
345
+ echo $this->custom_metabox( __( 'Preview Timer Style', 'ujicountdown' ), $prw, 'ujic-preview' );
346
+ }
347
+
348
+ /**
349
+ * Tutorial metaboxes.
350
+ *
351
+ * @since 2.0
352
+ */
353
+ public function left_metaboxes() {
354
+
355
+ $tut_sho = '<div>
356
+ <h4>From Block Editor (Gutenberg)</h4>
357
+ <img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps0.png"></div>
358
+ <div>
359
+ <h4>From Classic Editor (Gutenberg)</h4>
360
+ <img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps.jpg"></div>';
361
+ $tut_wid = '<img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps2.jpg">';
362
+ echo $this->multi_custom_metabox( array( __( 'How To Add Countdown Shortcode', 'ujicountdown' ), __( 'Add New Countdown <br>from the Widget Areas', 'ujicountdown' ) ), array( $tut_sho, $tut_wid ), 'ujic-tut' );
363
+ }
364
+
365
+ /**
366
+ * Premium metaboxes.
367
+ *
368
+ * @since 2.0
369
+ */
370
+ public function pro_metaboxes() {
371
+ $pro_sho = '<a href="http://www.wpmanage.com/uji-countdown" target="_blank"><img src="' . UJICOUNTDOWN_URL . 'assets/images/ujic-ps3.png"></a>';
372
+ echo $this->multi_custom_metabox( array( __( 'Uji Countdown Addons', 'ujicountdown' ) ), array( $pro_sho ), 'ujic-tut' );
373
+ }
374
+
375
+ /**
376
+ * Print form style.
377
+ *
378
+ * @since 2.0
379
+ */
380
+ public function cform_style( $val ) {
381
+ $styles = $this->ujic_styles();
382
+ $form = '<div class="ujic-box">';
383
+ if ( $this->cform_is_edit() ) {
384
+ $form .= '<div class="label">' . __( "Style Type:", 'ujicountdown' ) . '</div>';
385
+ $form .= '<span id="ujic-style-' . $val . '" class="ujic-types ujic-types-sel">' . $val . '</span>';
386
+ } else {
387
+ $form .= '<div class="label">' . __( "Select Style:", 'ujicountdown' ) . '</div>';
388
+ foreach ( $styles as $style ) {
389
+ $sel = ( $style == ( isset( $_GET['style'] ) && !empty( $_GET['style'] ) ? $_GET['style'] : 'classic' ) ) ? ' ujic-types-sel' : '';
390
+ $form .= '<a href="#" onclick="sel_style(\'' . $style . '\')" id="ujic-style-' . $style . '" class="ujic-types' . $sel . '">' . $style . '</a>';
391
+ }
392
+
393
+ }
394
+ $form .= '<input name="ujic_style" id="ujic-style" type="hidden" class="normal-text" value="' . $val . '"/>';
395
+ $form .= '</div>';
396
+ return $form;
397
+ }
398
+
399
+ /**
400
+ * Print title.
401
+ *
402
+ * @since 2.0
403
+ */
404
+ public function cform_title( $title ) {
405
+ $form = '<div class="ujic-box">';
406
+ $form .= '<h3 style="padding-left: 0">' . $title . '</h3>';
407
+ $form .= '</div>';
408
+ return $form;
409
+ }
410
+
411
+ /**
412
+ * Print input field.
413
+ *
414
+ * @since 2.0
415
+ */
416
+ public function cform_input( $label, $name, $val, $cls = null ) {
417
+ $form = '<div class="ujic-box">';
418
+ $form .= '<div class="label">' . $label . '</div>';
419
+ $form .= '<input type="text" value="' . $val . '" name="' . $name . '" id="' . $name . '" class="' . ($cls ? $cls : 'regular-text') . '">';
420
+ $form .= '</div>';
421
+ return $form;
422
+ }
423
+
424
+ /**
425
+ * Print radio field.
426
+ *
427
+ * @since 2.0
428
+ */
429
+ public function cform_radiobox( $label, $name, $name_val, $types, $val ) {
430
+ $form = '<div class="ujic-box">';
431
+ $form .= '<div class="label">' . $label . '</div>';
432
+ $form .= '<div class="ujic-radbtn">';
433
+ $i = 0;
434
+ foreach ( $types as $type ) {
435
+ $form .= '<input id="' . $type . '" type="radio" value="' . $type . '" class="iradio_flat-pink" name="' . $name . '" ' . checked( $val, $type, false ) . '>';
436
+ $form .= '<label for="' . $name . '" id="img-' . $type . '">' . $name_val[$i] . '</label>';
437
+ $i++;
438
+ }
439
+ $form .= '</div>';
440
+ $form .= '</div>';
441
+ return $form;
442
+ }
443
+
444
+ /**
445
+ * Print select field.
446
+ *
447
+ * @since 2.0
448
+ */
449
+ public function cform_select( $label, $name, $types, $val ) {
450
+ $form = '<div class="ujic-box">';
451
+ $form .= '<div class="label">' . $label . '</div>';
452
+ $form .= '<div class="ujic-select">';
453
+ $form .= '<select class="select of-input" name="' . $name . '" id="' . $name . '">';
454
+ foreach ( $types as $type => $option ) {
455
+ $form .= '<option id="' . sanitize_text_field( $type ) . '" value="' . $type . '" ' . selected( $type, $val, false ) . ' />' . $option . '</option>';
456
+ }
457
+ $form .= '</select></div>';
458
+ $form .= '</div>';
459
+ return $form;
460
+ }
461
+
462
+ /**
463
+ * Print slider-ui field.
464
+ *
465
+ * @since 2.0
466
+ */
467
+ public function cform_sliderui( $label, $name, $val, $min, $max, $step ) {
468
+ $form = '<div class="ujic-box ujic_slider">';
469
+ $form .= '<div class="label">' . $label . '</div>';
470
+ //values
471
+ $val = ($val == '') ? 32 : $val;
472
+ $data = 'data-id="' . $name . '" data-val="' . $val . '" data-min="' . $min . '" data-max="' . $max . '" data-step="' . $step . '"';
473
+ //html output
474
+ $form .= '<input type="text" name="' . $name . '" id="' . $name . '" value="' . $val . '" class="mini" readonly="readonly" />';
475
+ $form .= '<div id="' . $name . '-slider" class="ujic_sliderui" style="margin-left: 7px;" ' . $data . '></div>';
476
+ $form .= '</div>';
477
+ return $form;
478
+ }
479
+
480
+ /**
481
+ * Color picker field.
482
+ *
483
+ * @since 2.0
484
+ */
485
+ public function cform_color( $label, $names, $clabels, $vals ) {
486
+ $form = '<div class="ujic-box ujic-color">';
487
+ $form .= '<div class="label">' . $label . '</div>';
488
+ $form .= '<div class="ujic-color-box">';
489
+ $i = 0;
490
+ foreach ( $names as $name ) {
491
+ //values
492
+ $default_color = ' data-default-color="' . $vals[$i] . '" ';
493
+
494
+ $form .= '<div class="ujic-color-hold">';
495
+ $form .= '<span> ' . $clabels[$i] . ' :</span>';
496
+ $form .= '<input name="' . $name . '" id="' . $name . '" class="ujic_colorpick" type="text" value="' . $vals[$i] . '"' . $default_color . ' />';
497
+ $form .= '</div>';
498
+ $i++;
499
+ }
500
+ $form .= '</div>';
501
+ $form .= '</div>';
502
+ return $form;
503
+ }
504
+
505
+ /**
506
+ * Add buttons.
507
+ *
508
+ * @since 2.0
509
+ */
510
+ private function cform_buttons() {
511
+ $type = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? $_GET['edit'] : '';
512
+ $form = '<div class="ujic-submit-hold">';
513
+ if ( !empty( $type ) && is_numeric( $type ) ) {
514
+ $form .= get_submit_button( __( 'Update Style', 'ujicountdown' ), 'primary', 'submit_ujic', true );
515
+ $form .= '<a href="?page=ujicountdown&tab=tab_ujic_new" class="button button-secondary" id="ujic_table_new">' . __( 'Add New Style', 'ujicountdown' ) . '</a>';
516
+ } else {
517
+ $form .= get_submit_button( __( 'Save Style', 'ujicountdown' ), 'primary', 'submit_ujic', true );
518
+ }
519
+ $form .= '</div>';
520
+
521
+ return $form;
522
+ }
523
+
524
+ /**
525
+ * Form Type.
526
+ *
527
+ * @since 2.0
528
+ */
529
+ private function cform_ftype( $cur_style, $id = NULL ) {
530
+ $type = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? $_GET['edit'] : '';
531
+
532
+ if ( !empty( $type ) && is_numeric( $type ) && !empty( $id ) ) {
533
+ $form = '<form method="post" action="options-general.php?page=ujicountdown&tab=tab_ujic_new&edit=' . $id . '">';
534
+ } else {
535
+ $form = '<form method="post" action="options-general.php?page=ujicountdown&tab=tab_ujic_new&style=' . $cur_style . '&save=true">';
536
+ }
537
+
538
+ return $form;
539
+ }
540
+
541
+ /**
542
+ * Insert/Edit database values.
543
+ *
544
+ * @since 2.0
545
+ */
546
+ private function cform_save_db() {
547
+ if ( $this->cform_is_create() ) {
548
+ if ( $this->cform_errors() ) {
549
+ $this->ins_ujic_db( $_POST );
550
+ $this->ujic_message( __( "Your Timer Style Has Been Created", 'ujicountdown' ) );
551
+ echo '<script type="text/javascript"> ujic_admin_home(); </script>';
552
+ }
553
+ }
554
+
555
+
556
+
557
+ if ( isset( $_POST ) && !empty( $_POST ) && $this->cform_is_edit() ) {
558
+ if ( $this->cform_errors() ) {
559
+ $this->upd_ujic_db( $_POST, $_GET['edit'] );
560
+ $this->ujic_message( __( "Your Timer Style Has Been Updated", 'ujicountdown' ) );
561
+ }
562
+ }
563
+ }
564
+
565
+ /**
566
+ * Errors check.
567
+ *
568
+ * @since 2.0
569
+ */
570
+ private function cform_errors() {
571
+ global $wpdb;
572
+ $ujic_form_err = '';
573
+
574
+ //name not empty
575
+ if ( empty( $_POST['ujic_name'] ) ) {
576
+ $ujic_form_err .= __( "Please Enter Timer Title", 'ujicountdown' ) . '<br/>';
577
+ }
578
+
579
+ //check format
580
+ if ( !isset( $_POST['ujic_d'] ) && !isset( $_POST['ujic_h'] ) && !isset( $_POST['ujic_m'] ) && !isset( $_POST['ujic_s'] ) && !isset( $_POST['ujic_y'] ) && !isset( $_POST['ujic_o'] ) && !isset( $_POST['ujic_w'] ) ) {
581
+ $ujic_form_err .= __( "Please Select Timer Format", 'ujicountdown' ) . '<br/>';
582
+ }
583
+
584
+ //check name exist
585
+ if ( !empty( $_POST['ujic_name'] ) && !$this->cform_is_edit() ) {
586
+ $cname = $wpdb->get_var( "SELECT title FROM " . $this->ujic_tab_name() . " WHERE title = '" . $_POST['ujic_name'] . "'" );
587
+ if ( !empty( $cname ) ) {
588
+ $ujic_form_err .= __( "This Name Already Exist. Please Change Timer Name. <br/>", 'ujicountdown' );
589
+ }
590
+ }
591
+
592
+ if ( empty( $ujic_form_err ) ) {
593
+ return true;
594
+ } else if ( !empty( $ujic_form_err ) ) {
595
+ $this->ujic_message( $ujic_form_err, true );
596
+ return false;
597
+ }
598
+ }
599
+
600
+ /**
601
+ * Check if have saved style.
602
+ *
603
+ * @since 2.0
604
+ */
605
+ private function saved_db_style() {
606
+ global $wpdb;
607
+ $cname = $wpdb->get_var( "SELECT title FROM " . $this->ujic_tab_name() . " LIMIT 1" );
608
+ if ( !empty( $cname ) ) {
609
+ return true;
610
+ } else {
611
+ return false;
612
+ }
613
+ }
614
+
615
+ /**
616
+ * Return If Create Form.
617
+ *
618
+ * @since 2.0
619
+ */
620
+ public function cform_is_create() {
621
+ if ( isset( $_POST ) && !empty( $_POST ) && isset( $_GET['save'] ) && !empty( $_GET['save'] ) && $_GET['save'] == 'true' ){
622
+ //2.0.7 Fix Cross-Site Request Forgery attacks
623
+ self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $_POST );
624
+ return true;
625
+ }else{
626
+ return false;
627
+ }
628
+ }
629
+
630
+ /**
631
+ * Return Edit Form.
632
+ *
633
+ * @since 2.0
634
+ */
635
+ public function cform_is_edit() {
636
+ if ( isset( $_GET['edit'] ) && (!empty( $_GET['edit'] ) && is_numeric( $_GET['edit'] ) ) )
637
+ return true;
638
+ else
639
+ return false;
640
+ }
641
+
642
+ /**
643
+ * Return Delete Form.
644
+ *
645
+ * @since 2.0
646
+ */
647
+ private function cform_delete() {
648
+ if ( isset( $_GET['del'] ) && (!empty( $_GET['del'] ) && is_numeric( $_GET['del'] ) ) ) {
649
+ $this->del_ujic_db( trim( $_GET['del'] ) );
650
+ $this->ujic_message( __( "Your countdown style was deleted", 'ujicountdown' ) );
651
+ }
652
+ }
653
+
654
+ /**
655
+ * Creating The Tabs.
656
+ *
657
+ * @since 2.0
658
+ */
659
+ private function ujic_tabs_values() {
660
+ global $wpdb;
661
+ $ujictab = '';
662
+ $table_name = $wpdb->prefix . "uji_counter";
663
+ $ujic_datas = $wpdb->get_results( "SELECT * FROM $table_name ORDER BY `time` DESC" );
664
+ if ( !empty( $ujic_datas ) ) {
665
+ foreach ( $ujic_datas as $ujic ) {
666
+ $ujic_style = !empty( $ujic->style ) ? $ujic->style : 'classic';
667
+ $ujic_ico = '<span id="ujic-style-' . $ujic_style . '" class="ujic-types">' . $ujic_style . '</span>';
668
+ $ujictab .='<tr>
669
+ <td>' . $ujic->time . '</td>
670
+ <td>' . $ujic->title . '</td>
671
+ <td>' . $ujic_ico . '</td>
672
+ <td><a href="?page=ujicountdown&tab=tab_ujic_new&edit=' . $ujic->id . '"><i class="dashicons dashicons-welcome-write-blog"></i>Edit</a> | <a href="options-general.php?page=ujicountdown&del=' . $ujic->id . '"><i class="dashicons dashicons-trash"></i> Delete</a></td>
673
+ </tr>';
674
+ }
675
+ }
676
+
677
+ return $ujictab;
678
+ }
679
+
680
+ /**
681
+ * Message Notification.
682
+ *
683
+ * @since 2.0
684
+ */
685
+ private function ujic_message( $message, $errormsg = false ) {
686
+ if ( $errormsg ) {
687
+ echo '<div id="message" class="error">';
688
+ } else {
689
+ echo '<div id="message" class="updated fade">';
690
+ }
691
+
692
+ echo "<p><strong>$message</strong></p></div>";
693
+ }
694
+
695
+ /**
696
+ * Timer settings
697
+ *
698
+ * @since 2.0
699
+ */
700
+ public function admin_timerset() {
701
+ //Save data
702
+ $this->save_timerset();
703
+ //Get data
704
+ $vars = $this->get_timerset();
705
+ apply_filters( 'ujic_get_vars_set', $vars );
706
+
707
+ //Build Forms
708
+ $cnt = '<form method="post" action="options-general.php?page=ujicountdown&tab=tab_ujic_set&saveset=true">';
709
+ $cnt .= apply_filters( 'ujic_admin_newset', $cnt );
710
+ $cnt .= $this->cform_checkbox( __( "Enable user time:", 'ujicountdown' ), array( 'ujic_utime' ), array( __( "Timer based on the users system time not the server time.<br> Don't enable it if you need the same time for any timezone!<br><strong>Default is the server time!</strong>", 'ujicountdown' ) ), array( ( isset( $vars['ujic_utime'] ) ? $vars['ujic_utime'] : false ) ) );
711
+ $cnt .= $this->cform_checkbox( __( "Right-To-Left (RTL):", 'ujicountdown' ), array( 'ujic_rtl' ), array( __( "Writing starts from the right of the page and continues to the left.", 'ujicountdown' ) ), array( ( isset( $vars['ujic_rtl'] ) ? $vars['ujic_rtl'] : false ) ) );
712
+ $cnt .= $this->cform_checkbox( __( "Remove Settings", 'ujicountdown' ), array( 'ujic_remove' ), array( __( "This option will remove all settings and styles when <strong>Delete plugin</strong>", 'ujicountdown' ) ), array( ( isset( $vars['ujic_remove'] ) ? $vars['ujic_remove'] : false ) ) );
713
+ $cnt .= $this->cform_title( __( "Quick Translation", 'ujicountdown' ) );
714
+
715
+ $labels = self::ujic_labels();
716
+
717
+ foreach ( $labels as $v => $n ) {
718
+ $cnt .= $this->cform_input( __( $n . ':', 'ujicountdown' ), $v, $vars[$v], 'default-text' );
719
+ }
720
+ $cnt .= get_submit_button( __( "Save Changes", 'ujicountdown' ), 'primary', 'submit_ujic', true );
721
+
722
+ $cnt .= wp_nonce_field( 'ujic_secureset', 'ujic_secureset_form', true, false );
723
+
724
+ $cnt .= '</form>';
725
+
726
+ echo $this->custom_metabox( __( "Timer Settings", 'ujicountdown' ), $cnt, 'ujic-create ujic-settings' );
727
+ }
728
+
729
+ /**
730
+ * Save timer settings
731
+ *
732
+ * @since 2.0
733
+ */
734
+ public function save_timerset() {
735
+ if ( isset( $_POST ) && !empty( $_POST ) && isset( $_GET['saveset'] ) && !empty( $_GET['saveset'] ) && $_GET['saveset'] == 'true' ) {
736
+ //2.0.7 Fix Cross-Site Request Forgery attacks
737
+ self::ujic_secure( 'ujic_secureset', 'ujic_secureset_form', $_POST );
738
+
739
+ $settings = wp_kses_allowed_html( $_POST );
740
+ unset( $settings['submit_ujic'] );
741
+ update_option( 'ujic_set', $settings );
742
+ $this->ujic_message( __( "Settings saved.", 'ujicountdown' ) );
743
+ } elseif ( isset( $_POST ) && !empty( $_POST ) ) {
744
+ $this->ujic_message( __( "Some error occured. Please try again.", 'ujicountdown' ) );
745
+ }
746
+ }
747
+
748
+ /**
749
+ * Get timer settings
750
+ *
751
+ * @since 2.0
752
+ */
753
+ public function get_timerset( $name = null ) {
754
+ $vars = get_option( 'ujic_set' );
755
+ if ( $name )
756
+ return $vars[$name];
757
+ else
758
+ return $vars;
759
+ }
760
+
761
+ /**
762
+ * Secure against Cross-Site Request Forgery
763
+ *
764
+ * @since 2.0.7
765
+ */
766
+ public function ujic_secure( $secure, $secure_filed, $posts ) {
767
+ if ( ! isset( $posts[$secure_filed] )
768
+ || ! wp_verify_nonce( $posts[$secure_filed], $secure )
769
+ ) {
770
+ wp_die( __( 'Cheatin&#8217; huh?', 'ujicountdown' ) );
771
+ }
772
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
773
  }
classes/class-uji-countdown-front.php CHANGED
@@ -1,242 +1,229 @@
1
- <?php
2
- /**
3
- *
4
- * Plugin Name: Uji Countdown
5
- * Plugin URI: http://www.wpmanage.com/uji-countdown/
6
- * Description: HTML5 Countdown.
7
- * Version: 2.0
8
- * Author: WPmanage <info@wpmanage.com>
9
- * Author URI: http://www.wpmanage.com
10
- */
11
-
12
- class UjiCountdown extends Uji_Countdown {
13
-
14
- /**
15
- * Init vars
16
- *
17
- * @since 2.0
18
- */
19
- public static function uji_vars() {
20
- return array( 'class' => 'ujic_pos',
21
- 'ujic_style' => 'ujic_style',
22
- 'ujic_txt_size' => 'ujic_size',
23
- 'ujic_col_dw' => 'ujic_col_dw',
24
- 'ujic_col_up' => 'ujic_col_up',
25
- 'ujic_col_txt' => 'ujic_col_txt',
26
- 'ujic_col_sw' => 'ujic_col_sw',
27
- 'ujic_col_lab' => 'ujic_col_lab',
28
- 'ujic_lab_sz' => 'ujic_lab_sz',
29
- 'ujic_thick' => 'ujic_thick',
30
- 'ujic_txt' => 'ujic_txt',
31
- 'ujic_ani' => 'ujic_ani',
32
- 'ujic_d' => 'ujic_d',
33
- 'ujic_h' => 'ujic_h',
34
- 'ujic_m' => 'ujic_m',
35
- 'ujic_s' => 'ujic_s',
36
- 'ujic_y' => 'ujic_y',
37
- 'ujic_o' => 'ujic_o',
38
- 'ujic_w' => 'ujic_w',
39
- 'ujic_goof' => 'ujic_goof',
40
- 'ujic_post' => 'time');
41
- }
42
-
43
- /**
44
- * Initialize the plugin frontend.
45
- *
46
- * @since 2.0
47
- */
48
- public function __construct() {
49
- //add the shortcode
50
- add_shortcode( 'ujicountdown', array( $this, 'ujic_shortcode' ) );
51
-
52
- }
53
-
54
- /**
55
- * The shortcode
56
- *
57
- * @since 2.0
58
- */
59
- public function ujic_shortcode( $atts, $content = null ) {
60
- extract( shortcode_atts( array(
61
- // 'style' => "classic",
62
- 'id' => "",
63
- 'expire' => "",
64
- 'hide' => "",
65
- 'url' => "",
66
- 'subscr' => "",
67
- 'recurring' => "",
68
- 'rectype' => "",
69
- 'repeats' => ""
70
- ), $atts ) );
71
- //Increment counters
72
- static $ujic_count = 0;
73
-
74
- $rectime = false;
75
-
76
- //2015/03/24 05:05
77
- $unx_time = strtotime( $expire . ":00" );
78
- $now_time = (int) current_time( 'timestamp' );
79
-
80
- //Reccuring time
81
- if( $rectype && $recurring && is_numeric( $recurring ) ){
82
- //add multiple hour -> hours
83
- $rectype = intval($recurring) > 1 ? $rectype.'s' : $rectype;
84
-
85
- //Repeats
86
- if( $repeats && intval($repeats) > 0 ){
87
-
88
- //add time
89
- for( $t=1; $t<=intval($repeats); $t++){
90
- $ujictime = strtotime( '+' . ($recurring*$t) . ' ' . $rectype, $unx_time );
91
- if( $now_time < $ujictime){
92
- $rectime = true;
93
- break;
94
- }
95
- }
96
-
97
- }else{
98
- //init time
99
- $ujictime = strtotime( '+' . $recurring . ' ' . $rectype, $unx_time );
100
- $t = 1;
101
- //repeat unlimited times
102
- while( $now_time > $ujictime){
103
- $ujictime = strtotime( '+' . ($recurring*$t) . ' ' . $rectype, $unx_time );
104
- $t++;
105
- }
106
- $rectime = true;
107
- }
108
-
109
- }
110
- //End Reccuring
111
-
112
- if ( ($hide == "true" && $now_time > $unx_time && !$rectime) || $ujic_count > 1 ) {
113
-
114
- return $content;
115
-
116
- } else {
117
-
118
- //reccuring time
119
- if($rectime)
120
- $expire = date('Y/m/d H:i', $ujictime); //2015/03/24 05:05
121
-
122
- //get all vars
123
- $get_vars = self::uji_vars();
124
-
125
- foreach ($get_vars as $nm => $var){
126
- ${$nm} = $this->sel_ujic_db( $id, $var );
127
- }
128
-
129
- $ujic_id = 'ujiCountdown';
130
- $classh = !empty( $ujic_style ) ? ' ujic-' . $ujic_style : '';
131
- $hclass =!empty( $class ) ? ' ujic_' . $class . '' : '';
132
-
133
- //Days Cicle
134
- $exp_time = strtotime($expire);
135
- $post_time = strtotime($ujic_post);
136
- $difference = $exp_time - $post_time;
137
- $difference = ($difference < 0) ? $difference = 0 : $difference;
138
- $exp_d = floor($difference/60/60/24);
139
- $exp_days = !empty($exp_d) ? $exp_d : "2000";
140
-
141
- //enqueue
142
- wp_enqueue_style( $this->plugin_slug . '-uji-countdown' );
143
- wp_enqueue_script( $this->plugin_slug . '-core' );
144
- wp_localize_script( $this->plugin_slug . '-init', 'ujiCount', array(
145
- 'ajaxUrl' => admin_url('admin-ajax.php'),
146
- 'uji_plugin' => plugins_url(),
147
- 'uji_style' => $ujic_style,
148
- 'expire' => $expire,
149
- 'exp_days'=> $exp_days,
150
- 'Years' => ( $this->ujic_get_option('ujic_years') ) ? $this->ujic_get_option('ujic_years') : __( "Years", $this->plugin_slug ),
151
- 'Year' => ( $this->ujic_get_option('ujic_year') ) ? $this->ujic_get_option('ujic_year') : __( "Year", $this->plugin_slug ),
152
- 'Months' => ( $this->ujic_get_option('ujic_months') ) ? $this->ujic_get_option('ujic_months') : __( "Months", $this->plugin_slug ),
153
- 'Month' => ( $this->ujic_get_option('ujic_month') ) ? $this->ujic_get_option('ujic_month') : __( "Month", $this->plugin_slug ),
154
- 'Weeks' => ( $this->ujic_get_option('ujic_weeks') ) ? $this->ujic_get_option('ujic_weeks') : __( "Weeks", $this->plugin_slug ),
155
- 'Week' => ( $this->ujic_get_option('ujic_week') ) ? $this->ujic_get_option('ujic_week') : __( "Week", $this->plugin_slug ),
156
- 'Days' => ( $this->ujic_get_option('ujic_days') ) ? $this->ujic_get_option('ujic_days') : __( "Days", $this->plugin_slug ),
157
- 'Day' => ( $this->ujic_get_option('ujic_day') ) ? $this->ujic_get_option('ujic_day') : __( "Day", $this->plugin_slug ),
158
- 'Hours' => ( $this->ujic_get_option('ujic_hours') ) ? $this->ujic_get_option('ujic_hours') : __( "Hours", $this->plugin_slug ),
159
- 'Hour' => ( $this->ujic_get_option('ujic_hour') ) ? $this->ujic_get_option('ujic_hour') : __( "Hour", $this->plugin_slug ),
160
- 'Minutes' => ( $this->ujic_get_option('ujic_minutes') ) ? $this->ujic_get_option('ujic_minutes') : __( "Minutes", $this->plugin_slug ),
161
- 'Minute' => ( $this->ujic_get_option('ujic_minute') ) ? $this->ujic_get_option('ujic_minute') : __( "Minute", $this->plugin_slug ),
162
- 'Seconds' => ( $this->ujic_get_option('ujic_seconds') ) ? $this->ujic_get_option('ujic_seconds') : __( "Seconds", $this->plugin_slug ),
163
- 'Second' => ( $this->ujic_get_option('ujic_second') ) ? $this->ujic_get_option('ujic_second') : __( "Second", $this->plugin_slug ),
164
- 'ujic_txt_size' => $ujic_txt_size,
165
- 'ujic_thick' => $ujic_thick,
166
- 'ujic_col_dw' => $ujic_col_dw,
167
- 'ujic_col_up' => $ujic_col_up,
168
- 'ujic_col_txt' => $ujic_col_txt,
169
- 'ujic_col_sw' => $ujic_col_sw,
170
- 'ujic_col_lab' => $ujic_col_lab,
171
- 'ujic_lab_sz' => $ujic_lab_sz,
172
- 'ujic_txt' => $ujic_txt,
173
- 'ujic_ani' => $ujic_ani,
174
- 'ujic_url' => $url,
175
- 'ujic_goof' => $ujic_goof,
176
- 'uji_center' => $classh,
177
- 'ujic_d' => $ujic_d, //Main format: Days
178
- 'ujic_h' => $ujic_h, //Main format: Hours
179
- 'ujic_m' => $ujic_m, //Main format: Minutes
180
- 'ujic_s' => $ujic_s, //Main format: Seconds
181
- 'ujic_y' => $ujic_y, //Secondary format: Years
182
- 'ujic_o' => $ujic_o, //Secondary format: Months
183
- 'ujic_w' => $ujic_w, //Secondary format: Weeks
184
- 'uji_time' => date_i18n( 'M j, Y H:i:s' ) ."+0000",
185
- 'uji_hide' => ($hide == "true") ? 'true' : 'false',
186
- 'ujic_rtl' => ( $this->ujic_get_option('ujic_rtl') ) ? $this->ujic_get_option('ujic_rtl') : false,
187
- 'uji_utime' => ( $this->ujic_get_option('ujic_utime') ) ? $this->ujic_get_option('ujic_utime') : false
188
- ) );
189
-
190
- wp_enqueue_script( $this->plugin_slug . '-init' );
191
-
192
- $ujic_count ++;
193
-
194
- $ujic_subscrFrmIsEnabled = filter_var($this->sel_ujic_db( $id, 'ujic_subscrFrmIsEnabled' ), FILTER_VALIDATE_BOOLEAN);
195
-
196
- if(!$ujic_subscrFrmIsEnabled)
197
- {
198
- return strip_shortcodes( '<div class="ujic-hold' . $hclass . '"> <div class="ujiCountdown' . $classh . '" id="' . $ujic_id . '"></div></div>' . $content );
199
- }
200
-
201
- wp_enqueue_script( $this->plugin_slug . '-uji-countdown-newsletter' );
202
-
203
- $ujic_subscrFrmWidth = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmWidth' ));
204
- $ujic_subscrFrmAboveText = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmAboveText' ));
205
- $ujic_subscrFrmInputText = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmInputText' ));
206
- $ujic_subscrFrmSubmitText = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmSubmitText' ));
207
- $ujic_subscrFrmSubmitColor = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmSubmitColor' ));
208
- $ujic_subscrFrmThanksMessage = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmThanksMessage' ));
209
- $ujic_subscrFrmErrorMessage = trim($this->sel_ujic_db( $id, 'ujic_subscrFrmErrorMessage' ));
210
- $ujic_subscrFrmName = !empty($subscr) ? $subscr : __('Subscription', $this->plugin_slug);
211
-
212
- $formHtmlCode = '<div class = "ujicf"></div>';
213
- $formHtmlCode .= '<form class = "ujicf" style = "margin-top:' . (empty($ujic_subscrFrmAboveText) ? '10px' : 0) . '">';
214
-
215
- $formHtmlCode .= !empty($ujic_subscrFrmAboveText) ? '<span>' . esc_html__($ujic_subscrFrmAboveText) . '</span>' : '';
216
-
217
- $formHtmlCode .= '<div>
218
- <p style = "width:' . (empty($ujic_subscrFrmWidth) ? '100%' : esc_attr("$ujic_subscrFrmWidth%")) . '">
219
- <input name = "txtEmail" type = "text" placeholder = "' . esc_attr($ujic_subscrFrmInputText) .'"/>
220
- <input name = "txtList" type = "hidden" value = "' . esc_attr($ujic_subscrFrmName) . '" />
221
- <input type = "submit" value = "' . esc_attr($ujic_subscrFrmSubmitText) . '" color-attr="' . esc_attr($ujic_subscrFrmSubmitColor) . '" />
222
- </p>
223
- <span class = "uji-msg-ok">' . esc_html__($ujic_subscrFrmThanksMessage, $this->plugin_slug) . '</span>
224
- <span class = "uji-msg-err">' . esc_html__($ujic_subscrFrmErrorMessage, $this->plugin_slug) . '</span>
225
- </div>';
226
-
227
- $formHtmlCode .= self::$isGoodByeCaptchaActivated ? GdbcTokenController::getInstance()->getTokenInputField() : '';
228
-
229
- $formHtmlCode .= wp_nonce_field('uji-subscribe-newsletter', 'uji-subscribe-nonce', false, false);
230
-
231
- $formHtmlCode .= '</form>';
232
-
233
- $htmlCode = strip_shortcodes('<div class="ujic-hold' . $hclass . '"> <div id = "uji-wrapper" class = "ujicf"> <div class="ujicf ujiCountdown' . $classh . '" id="' . $ujic_id . '"></div>'.$formHtmlCode.'</div></div>' . $content );
234
-
235
- return $htmlCode;
236
- }
237
- }
238
-
239
-
240
- }
241
-
242
  ?>
1
+ <?php
2
+ /**
3
+ * Uji Countdown Front
4
+ *
5
+ * Handles front-end/shorcodes
6
+ *
7
+ * @author WPmanage
8
+ * @category Front
9
+ * @package Uji-Countdown/Classes
10
+ * @version 2.1
11
+ */
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ class UjiCountdown extends Uji_Countdown {
18
+
19
+ /**
20
+ * Init vars
21
+ *
22
+ * @since 2.0
23
+ */
24
+ public static function uji_vars() {
25
+ return array( 'class' => 'ujic_pos',
26
+ 'ujic_style' => 'ujic_style',
27
+ 'ujic_txt_size' => 'ujic_size',
28
+ 'ujic_col_dw' => 'ujic_col_dw',
29
+ 'ujic_col_up' => 'ujic_col_up',
30
+ 'ujic_col_txt' => 'ujic_col_txt',
31
+ 'ujic_col_sw' => 'ujic_col_sw',
32
+ 'ujic_col_lab' => 'ujic_col_lab',
33
+ 'ujic_lab_sz' => 'ujic_lab_sz',
34
+ 'ujic_thick' => 'ujic_thick',
35
+ 'ujic_txt' => 'ujic_txt',
36
+ 'ujic_ani' => 'ujic_ani',
37
+ 'ujic_d' => 'ujic_d',
38
+ 'ujic_h' => 'ujic_h',
39
+ 'ujic_m' => 'ujic_m',
40
+ 'ujic_s' => 'ujic_s',
41
+ 'ujic_y' => 'ujic_y',
42
+ 'ujic_o' => 'ujic_o',
43
+ 'ujic_w' => 'ujic_w',
44
+ 'ujic_goof' => 'ujic_goof',
45
+ 'ujic_post' => 'time');
46
+ }
47
+
48
+ /**
49
+ * Initialize the plugin frontend.
50
+ *
51
+ * @since 2.0
52
+ */
53
+ public function __construct() {
54
+ //add the shortcode
55
+ add_shortcode( 'ujicountdown', array( $this, 'ujic_shortcode' ) );
56
+
57
+ }
58
+
59
+ /**
60
+ * The shortcode
61
+ *
62
+ * @since 2.0
63
+ */
64
+ public function ujic_shortcode( $atts, $content = null ) {
65
+ extract( shortcode_atts( array(
66
+ // 'style' => "classic",
67
+ 'id' => "",
68
+ 'expire' => "",
69
+ 'timer' => "",
70
+ 'hide' => "",
71
+ 'url' => "",
72
+ 'subscr' => "",
73
+ 'recurring' => "",
74
+ 'rectype' => "",
75
+ 'repeats' => ""
76
+ ), $atts ) );
77
+
78
+ //Increment counters
79
+ static $ujic_count = 0;
80
+ $ujic_count++;
81
+
82
+ $rectime = false;
83
+
84
+ //2015/03/24 05:05
85
+ $unx_time = strtotime( $expire . ":00" );
86
+ $now_time = (int) current_time( 'timestamp' );
87
+
88
+ //Reccuring time
89
+ if( $rectype && $recurring && is_numeric( $recurring ) ){
90
+ //add multiple hour -> hours
91
+ $rectype = intval($recurring) > 1 ? $rectype.'s' : $rectype;
92
+
93
+ //Repeats
94
+ if( $repeats && intval($repeats) > 0 ){
95
+
96
+ //add time
97
+ for( $t=1; $t<=intval($repeats); $t++){
98
+ $ujictime = strtotime( '+' . ($recurring*$t) . ' ' . $rectype, $unx_time );
99
+ if( $now_time < $ujictime){
100
+ $rectime = true;
101
+ break;
102
+ }
103
+ }
104
+ }else{
105
+ //init time
106
+ $ujictime = strtotime( '+' . $recurring . ' ' . $rectype, $unx_time );
107
+ $t = 1;
108
+ //repeat unlimited times
109
+ while( $now_time > $ujictime){
110
+ $ujictime = strtotime( '+' . ($recurring*$t) . ' ' . $rectype, $unx_time );
111
+ $t++;
112
+ }
113
+ $rectime = true;
114
+ }
115
+ }
116
+ //End Reccuring
117
+
118
+ if ( ($hide == "true" && $now_time > $unx_time && !$rectime && !$timer) || ( $ujic_count > 1 && !$this->ujic_pro() ) ) {
119
+
120
+ return $content;
121
+
122
+ } else {
123
+
124
+ //reccuring time
125
+ if($rectime)
126
+ $expire = date('Y/m/d H:i', $ujictime); //2015/03/24 05:05
127
+
128
+ $uji_mc = apply_filters('ujic_count_timers', $ujic_count);
129
+
130
+ //get all vars
131
+ $get_vars = self::uji_vars();
132
+
133
+ foreach ($get_vars as $nm => $var){
134
+ ${$nm} = $this->sel_ujic_db( $id, $var );
135
+ $storeVal[$nm] = ${$nm};
136
+ }
137
+
138
+ $ujic_id = ($uji_mc) ? 'ujiCountdown' . $ujic_count : 'ujiCountdown';
139
+ $classh = !empty( $ujic_style ) ? ' ujic-' . $ujic_style : '';
140
+ $hclass =!empty( $class ) ? ' ujic_' . $class . '' : '';
141
+
142
+ //Days Cicle
143
+ $exp_time = strtotime($expire);
144
+ $post_time = strtotime($ujic_post);
145
+ $difference = $exp_time - $post_time;
146
+ $difference = ($difference < 0) ? $difference = 0 : $difference;
147
+ $exp_d = floor($difference/60/60/24);
148
+ $exp_days = !empty($exp_d) ? $exp_d : "2000";
149
+
150
+ //enqueue
151
+ //wp_enqueue_style( $this->ujic_pro_sx().'-uji-countdown' );
152
+ wp_enqueue_style('ujicountdown-uji-countdown');
153
+ wp_enqueue_script( $this->ujic_pro_sx().'-core' );
154
+ $ujic_count = ($uji_mc) ? $ujic_count : '';
155
+ wp_localize_script( $this->ujic_pro_sx().'-core', 'ujiCount'.$ujic_count, apply_filters( 'ujic_front_localize_script', array(
156
+ 'ajaxUrl' => admin_url('admin-ajax.php'),
157
+ 'uji_plugin' => plugins_url(),
158
+ 'uji_style' => $ujic_style,
159
+ 'ujic_id' => $ujic_id,
160
+ 'expire' => $expire,
161
+ 'timer' => $timer,
162
+ 'exp_days'=> $exp_days,
163
+ 'Years' => ( $this->ujic_get_option('ujic_years') ) ? $this->ujic_get_option('ujic_years') : __( "Years", 'ujicountdown' ),
164
+ 'Year' => ( $this->ujic_get_option('ujic_year') ) ? $this->ujic_get_option('ujic_year') : __( "Year", 'ujicountdown' ),
165
+ 'Months' => ( $this->ujic_get_option('ujic_months') ) ? $this->ujic_get_option('ujic_months') : __( "Months", 'ujicountdown' ),
166
+ 'Month' => ( $this->ujic_get_option('ujic_month') ) ? $this->ujic_get_option('ujic_month') : __( "Month", 'ujicountdown' ),
167
+ 'Weeks' => ( $this->ujic_get_option('ujic_weeks') ) ? $this->ujic_get_option('ujic_weeks') : __( "Weeks", 'ujicountdown' ),
168
+ 'Week' => ( $this->ujic_get_option('ujic_week') ) ? $this->ujic_get_option('ujic_week') : __( "Week", 'ujicountdown' ),
169
+ 'Days' => ( $this->ujic_get_option('ujic_days') ) ? $this->ujic_get_option('ujic_days') : __( "Days", 'ujicountdown' ),
170
+ 'Day' => ( $this->ujic_get_option('ujic_day') ) ? $this->ujic_get_option('ujic_day') : __( "Day", 'ujicountdown' ),
171
+ 'Hours' => ( $this->ujic_get_option('ujic_hours') ) ? $this->ujic_get_option('ujic_hours') : __( "Hours", 'ujicountdown' ),
172
+ 'Hour' => ( $this->ujic_get_option('ujic_hour') ) ? $this->ujic_get_option('ujic_hour') : __( "Hour", 'ujicountdown' ),
173
+ 'Minutes' => ( $this->ujic_get_option('ujic_minutes') ) ? $this->ujic_get_option('ujic_minutes') : __( "Minutes", 'ujicountdown' ),
174
+ 'Minute' => ( $this->ujic_get_option('ujic_minute') ) ? $this->ujic_get_option('ujic_minute') : __( "Minute", 'ujicountdown' ),
175
+ 'Seconds' => ( $this->ujic_get_option('ujic_seconds') ) ? $this->ujic_get_option('ujic_seconds') : __( "Seconds", 'ujicountdown' ),
176
+ 'Second' => ( $this->ujic_get_option('ujic_second') ) ? $this->ujic_get_option('ujic_second') : __( "Second", 'ujicountdown' ),
177
+ 'ujic_txt_size' => $ujic_txt_size,
178
+ 'ujic_thick' => $ujic_thick,
179
+ 'ujic_col_dw' => $ujic_col_dw,
180
+ 'ujic_col_up' => $ujic_col_up,
181
+ 'ujic_col_txt' => $ujic_col_txt,
182
+ 'ujic_col_sw' => $ujic_col_sw,
183
+ 'ujic_col_lab' => $ujic_col_lab,
184
+ 'ujic_lab_sz' => $ujic_lab_sz,
185
+ 'ujic_txt' => $ujic_txt,
186
+ 'ujic_ani' => $ujic_ani,
187
+ 'ujic_url' => $url,
188
+ 'ujic_goof' => $ujic_goof,
189
+ 'uji_center' => $classh,
190
+ 'ujic_d' => $ujic_d, //Main format: Days
191
+ 'ujic_h' => $ujic_h, //Main format: Hours
192
+ 'ujic_m' => $ujic_m, //Main format: Minutes
193
+ 'ujic_s' => $ujic_s, //Main format: Seconds
194
+ 'ujic_y' => $ujic_y, //Secondary format: Years
195
+ 'ujic_o' => $ujic_o, //Secondary format: Months
196
+ 'ujic_w' => $ujic_w, //Secondary format: Weeks
197
+ 'uji_time' => date_i18n( 'M j, Y H:i:s' ) ."+0000",
198
+ 'uji_hide' => ($hide == "true") ? 'true' : 'false',
199
+ 'ujic_rtl' => ( $this->ujic_get_option('ujic_rtl') ) ? $this->ujic_get_option('ujic_rtl') : false,
200
+ 'uji_utime' => ( $this->ujic_get_option('ujic_utime') ) ? $this->ujic_get_option('ujic_utime') : false
201
+ ) ) );
202
+
203
+ //ExtendStyle
204
+ $extStyle = '';
205
+ if(has_filter('ujic_shortcode_extendStyle')){
206
+ $extStyle .= apply_filters( 'ujic_shortcode_extendStyle', $ujic_style, $storeVal);
207
+ }
208
+
209
+ wp_enqueue_script( 'ujicirc-js' );
210
+
211
+ wp_enqueue_script( $this->ujic_pro_sx().'-init' );
212
+
213
+ //Filter shortcode
214
+ $ujicvars = array( 'id' => $id, 'hclass' => $hclass, 'subscr' => $subscr );
215
+ $formHtmlCode = apply_filters( 'ujic_shortcode_extend', $ujicvars);
216
+ if( !$formHtmlCode )
217
+ return strip_shortcodes( '<div class="ujic-hold' . $hclass . '"> <div class="ujiCountdown' . $classh . '" id="' . $ujic_id . '">'.$extStyle.'</div></div>' . $content );
218
+ //Else with extension
219
+
220
+ $formHtmlCode = (is_array($formHtmlCode)) ? '' : $formHtmlCode;
221
+ $htmlCode = strip_shortcodes('<div class="ujic-hold' . $hclass . '"> <div id = "uji-wrapper" class = "ujicf"> <div class="ujicf ujiCountdown' . $classh . '" id="' . $ujic_id . '">'.$extStyle.'</div>'.$formHtmlCode.'</div></div>' . $content );
222
+ return $htmlCode;
223
+ }
224
+ }
225
+
226
+
227
+ }
228
+
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  ?>
classes/class-uji-countdown.php CHANGED
@@ -1,795 +1,747 @@
1
- <?php
2
- /**
3
- *
4
- * Plugin Name: Uji Countdown
5
- * Plugin URI: http://www.wpmanage.com/uji-countdown/
6
- * Description: HTML5 Countdown.
7
- * Version: 2.0
8
- * Author: WPmanage <info@wpmanage.com>
9
- * Author URI: http://www.wpmanage.com
10
- */
11
-
12
- class Uji_Countdown extends Uji_Countdown_Admin
13
- {
14
-
15
- /**
16
- * Uji Countdown
17
- *
18
- * @since 2.0
19
- *
20
- * @var string
21
- */
22
- protected $pname = UJIC_NAME;
23
-
24
- /**
25
- * Plugin version, used for cache-busting of style and script file references.
26
- *
27
- * @since 2.0
28
- *
29
- * @var string
30
- */
31
- protected $version = UJIC_VERS;
32
-
33
- /**
34
- * Unique identifier for your plugin.
35
- *
36
- * Use this value (not the variable name) as the text domain when internationalizing strings of text. It should
37
- * match the Text Domain file header in the main plugin file.
38
- *
39
- * @since 2.0
40
- *
41
- * @var string
42
- */
43
- protected $plugin_slug = 'uji-countdown';
44
-
45
- /**
46
- * Counter Options.
47
- *
48
- * @since 2.0
49
- *
50
- * @var array
51
- */
52
- private $options = array();
53
-
54
- /**
55
- * Instance of this class.
56
- *
57
- * @since 2.0
58
- *
59
- * @var object
60
- */
61
- protected static $instance = null;
62
-
63
- /**
64
- * Slug of the plugin screen.
65
- *
66
- * @since 2.0
67
- *
68
- * @var string
69
- */
70
- protected $plugin_screen_hook_suffix = null;
71
-
72
- /**
73
- * Init.
74
- *
75
- * @since 2.0
76
- *
77
- * @var string
78
- */
79
- public $uji;
80
-
81
- /**
82
- * Initialize the plugin by setting localization, filters, and administration functions.
83
- *
84
- * @since 2.0
85
- */
86
- public function __construct() {
87
-
88
- // Register hooks that are fired when the plugin is activated, deactivated, and uninstalled, respectively.
89
- register_activation_hook( UJICOUNTDOWN_FILE, array( $this, 'activate' ) );
90
- register_deactivation_hook( UJICOUNTDOWN_FILE, array( $this, 'deactivate' ) );
91
-
92
- global $wpdb;
93
-
94
- if(version_compare(self::getPluginSavedVersion(), '2.0.2') < 0)
95
- {
96
- $createTableStatement = "CREATE TABLE " . self::getSubscriptionsTableName() . "(
97
- Id int unsigned NOT NULL auto_increment,
98
- EmailAddress varchar(64) NOT NULL,
99
- ProviderId tinyint unsigned DEFAULT '0',
100
- List varchar(128) DEFAULT NULL,
101
- ListGroup varchar(32) DEFAULT NULL,
102
- CreatedDate datetime NOT NULL,
103
- IsSynchronized tinyint unsigned NOT NULL DEFAULT '0',
104
- PRIMARY KEY (Id)
105
- )";
106
-
107
- $createTableStatement .= !empty($wpdb->charset) ? " DEFAULT CHARACTER SET $wpdb->charset" : '';
108
- $createTableStatement .= !empty($wpdb->collate) ? " COLLATE $wpdb->collate" : '';
109
-
110
- if($wpdb->get_var($wpdb->prepare("show tables like %s", self::getSubscriptionsTableName())) !== self::getSubscriptionsTableName())
111
- {
112
- require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
113
- dbDelta($createTableStatement);
114
- }
115
-
116
- }
117
-
118
- self::savePluginVersion();
119
-
120
- self::$isGoodByeCaptchaActivated = class_exists('GoodByeCaptcha', false);
121
-
122
- //Show on front
123
- if ( !is_admin() ) {
124
- $ujic = new UjiCountdown();
125
- }
126
- // Load plugin text domain
127
- add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
128
-
129
- // Load public-facing style sheet and JavaScript.
130
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
131
-
132
- // HOOKs Widget
133
- add_action( 'widgets_init', array( $this, 'ujic_register_widgets' ) );
134
-
135
- if ( is_admin() )
136
- {
137
-
138
- if(!empty($_GET['page']) && $_GET['page'] === 'uji-countdown' && !empty($_GET['action']) && $_GET['action'] === 'cvs-export')
139
- {
140
- new UjiSubscriptionsTable();
141
- exit;
142
- }
143
-
144
- // Add the options page and menu item.
145
- add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );
146
-
147
- // Load admin style sheet and JavaScript.
148
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
149
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
150
-
151
- // Load admin shortcode style sheet and JavaScript.
152
- add_action( 'admin_enqueue_scripts', array( &$this, 'ujic_shortcode_scripts' ) );
153
-
154
- // Add the Link from plugins
155
- add_filter('plugin_action_links', array($this, 'plugin_settings_link'),10,2);
156
-
157
- //Subscription
158
- add_action('wp_ajax_nopriv_ujiSubscribe', array( $this, 'handleSubscription' ) );
159
- add_action('wp_ajax_ujiSubscribe', array( $this, 'handleSubscription' ) );
160
-
161
- }
162
-
163
- }
164
-
165
- /**
166
- * Subscription
167
- *
168
- * @since 2.0.3
169
- */
170
- protected static function getSubscriptionsTableName()
171
- {
172
- global $wpdb;
173
- return $wpdb->prefix . 'uji_subscriptions';
174
- }
175
-
176
- protected static function getPluginSavedVersion()
177
- {
178
- return get_option('uji-countdown-version', null);
179
- }
180
-
181
- protected static function savePluginVersion()
182
- {
183
- return update_option('uji-countdown-version', UJIC_VERS);
184
- }
185
-
186
- public function handleSubscription()
187
- {
188
- global $wpdb;
189
- $_POST = array_map('trim', $_POST);
190
-
191
- $_POST['txtEmail'] = strtolower(sanitize_email($_POST['txtEmail']));
192
- $showErrorMessage = empty($_POST['txtEmail']) || (false === filter_var($_POST['txtEmail'], FILTER_VALIDATE_EMAIL));
193
- (!$showErrorMessage) ? $showErrorMessage = !check_ajax_referer('uji-subscribe-newsletter', 'uji-subscribe-nonce', false) : null;
194
- (!$showErrorMessage && self::$isGoodByeCaptchaActivated) ? $showErrorMessage = !GdbcRequest::isValid(array("module" => GdbcModulesController::MODULE_UJI_COUNTDOWN)) : null;
195
-
196
- $showErrorMessage ? wp_send_json_error() : null;
197
-
198
- $arrFields = array(
199
- 'EmailAddress' => $_POST['txtEmail'],
200
- 'CreatedDate' => current_time('mysql'),
201
- );
202
- if(!empty($_POST['txtList']))
203
- {
204
- $_POST['txtList'] = sanitize_text_field($_POST['txtList']);
205
- !empty($_POST['txtList']) ? $arrFields['List'] = $_POST['txtList'] : null;
206
- }
207
-
208
- false !== $wpdb->insert(
209
- self::getSubscriptionsTableName(),
210
- $arrFields,
211
- array_fill(0, count($arrFields), '%s')
212
- ) ? wp_send_json_success() : wp_send_json_error();
213
-
214
- }
215
-
216
- /**
217
- * Counter Options.
218
- *
219
- * @since 2.0
220
- */
221
- public function ujic_option( $id = NULL, $name = NULL ) {
222
- //Default values
223
- $sz = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? 50 : 32;
224
- $col = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? '#efefef' : '#c368c3';
225
- $txtc = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? '#000000' : '#ffffff';
226
- $options = array(
227
- "ujic_name" => "", //Name
228
- "ujic_style" => "classic", //Style
229
- "ujic_size" => $sz, //Timer Size
230
- "ujic_thick" => 10, //Thickness
231
- "ujic_goof" => 'none', //Google Font
232
- "ujic_col_dw" => '#a61ba6', //Select Box Color Down
233
- "ujic_col_up" => $col, //Select Box Color Up
234
- "ujic_col_txt" => $txtc, //Text Color Number
235
- "ujic_col_sw" => '#000000', //Text Color Shadow
236
- "ujic_col_lab" => '#000000', //LAbel Text Color
237
- "ujic_lab_sz" => 13, //Label size
238
- "ujic_pos" => 'none', //Alignment
239
- "ujic_d" => "true", //Main format: Days
240
- "ujic_h" => "true", //Main format: Hours
241
- "ujic_m" => "true", //Main format: Minutes
242
- "ujic_s" => "true", //Main format: Seconds
243
- "ujic_y" => 0, //Secondary format: Years
244
- "ujic_o" => 0, //Secondary format: Months
245
- "ujic_w" => 0, //Secondary format: Weeks
246
- "ujic_txt" => "true", //Show Label Text
247
- "ujic_ani" => 0, //Animation for seconds
248
-
249
- "ujic_subscrFrmIsEnabled" => "false", // Enable subscribe form
250
- "ujic_subscrFrmAboveText" => "",//__("Join Our Newsletter"), // Subscription form text above
251
- "ujic_subscrFrmInputText" => "",//__("Enter your email here"), // Subscription form input text placeholder
252
- "ujic_subscrFrmSubmitText" => "",//__("Subscribe"), // Subscription form input text placeholder
253
- "ujic_subscrFrmWidth" => 100, // Subscription form width(%) relative to holder
254
- "ujic_subscrFrmSubmitColor" => '#ab02b2', //Submit Button Color
255
- "ujic_subscrFrmThanksMessage" => "",//__("Thanks for subscribing"), //Thank you message
256
- "ujic_subscrFrmErrorMessage" => ""//__("Invalid email address"), //Error message
257
-
258
- );
259
-
260
- //Return default values
261
- if ( (!isset( $name ) || empty( $name ) ) && (!isset( $id ) || empty( $id ) ) )
262
- {
263
- if ( $this->cform_is_create() )
264
- {
265
- foreach ( $options as $nm => $val )
266
- {
267
- $new_options[$nm] = ( isset( $_POST[$nm] ) && !empty( $_POST[$nm] ) ) ? $_POST[$nm] : '';
268
- }
269
-
270
- return $new_options;
271
- }
272
- else
273
- {
274
- return $options;
275
- }
276
- }
277
-
278
- //Return all saved values
279
- if ( !isset( $name ) && isset( $id ) )
280
- {
281
- $get_option = $this->sel_ujic_db( $id );
282
-
283
- foreach ( $options as $nm => $val )
284
- {
285
- $val = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? '' : $val;
286
- //$new_options[$nm] = ( isset( $get_option[$nm] ) && !empty( $get_option[$nm] ) ) ? $get_option[$nm] : $val;
287
-
288
- $new_options[$nm] = !empty( $get_option[$nm]) ? $get_option[$nm] : $val;
289
- }
290
- return $new_options;
291
- }
292
-
293
- //Return one saved value
294
- if ( isset( $name ) && isset( $id ) && !empty( $name ) && !empty( $id ) )
295
- {
296
- $one_option = $this->sel_ujic_db( $id, $name );
297
- $new_option = (!empty( $one_option ) ) ? $one_option : $options[$name];
298
- }
299
- }
300
-
301
- /**
302
- * Short Link
303
- *
304
- * @since 2.0
305
- */
306
- public function plugin_settings_link( $links, $file ) {
307
- if ( $file != UJICOUNTDOWN_BASE)
308
- return $links;
309
-
310
- array_unshift($links, '<a href="options-general.php?page=uji-countdown">' . __( 'Settings', $this->plugin_slug ) . '</a>');
311
-
312
- return $links;
313
- }
314
-
315
- /**
316
- * Table Name.
317
- *
318
- * @since 2.0
319
- */
320
- public static function ujic_tab_name() {
321
- global $wpdb;
322
- return $wpdb->prefix . "uji_counter";
323
- }
324
-
325
- /**
326
- * Get Database.
327
- *
328
- * @since 2.0
329
- */
330
- public function sel_ujic_db( $id, $name = NULL ) {
331
- global $wpdb;
332
- $options = array();
333
-
334
- if ( is_numeric( $id ) )
335
- $ujic_data = $wpdb->get_row( "SELECT * FROM " . self::ujic_tab_name() . " WHERE id = $id" );
336
- else
337
- $ujic_data = $wpdb->get_row( "SELECT * FROM " . self::ujic_tab_name() . " WHERE title = '" . $id . "'" );
338
-
339
- $var['id'] = $ujic_data->id;
340
- $var['time'] = $ujic_data->time;
341
- $var['ujic_name'] = $ujic_data->title;
342
- $var['ujic_style'] = $ujic_data->style;
343
-
344
-
345
- if ( !empty( $ujic_data->options ) ) {
346
- $options = maybe_unserialize( $ujic_data->options );
347
- foreach ( $options as $option => $val ) {
348
- $var[$option] = $val;
349
- }
350
- }
351
- if ( $name )
352
- return isset( $var[$name] ) ? $var[$name] : null;
353
- else
354
- return $var;
355
- }
356
-
357
- /**
358
- * Insert Database.
359
- *
360
- * @since 2.0
361
- */
362
- public function ins_ujic_db( $posts ) {
363
- global $wpdb;
364
-
365
- //2.0.7 Fix Cross-Site Request Forgery attacks
366
- self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $posts );
367
-
368
- $options = array();
369
- $default = $this->ujic_option();
370
- foreach ( $posts as $name => $val ) {
371
- $options[$name] = (!empty( $val ) ) ? esc_attr($val) : $default[$name];
372
- }
373
- $title = $options['ujic_name'];
374
- $style = $options['ujic_style'];
375
- unset( $options['ujic_name'], $options['ujic_style'], $options['submit_ujic'] );
376
- //insert to DB
377
- $wpdb->query( $wpdb->prepare( "INSERT INTO " . self::ujic_tab_name() . "(time, title, style, options )
378
- VALUES (utc_timestamp(), %s, %s, %s)",$title, trim( $style ), maybe_serialize( $options )
379
- ) );
380
- }
381
-
382
- /**
383
- * Update Database.
384
- *
385
- * @since 2.0
386
- */
387
- public function upd_ujic_db( $posts, $id ) {
388
- global $wpdb;
389
-
390
- //2.0.7 Fix Cross-Site Request Forgery attacks
391
- self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $posts );
392
-
393
- $options = array();
394
- $default = $this->ujic_option();
395
- foreach ( $posts as $name => $val ) {
396
- $options[$name] = (!empty( $val ) ) ? esc_attr($val) : $default[$name];
397
- }
398
- $title = $options['ujic_name'];
399
- $style = $options['ujic_style'];
400
- unset( $options['ujic_name'], $options['ujic_style'], $options['submit_ujic'], $options['cancel_ujic'] );
401
- //update DB
402
- $wpdb->query( $wpdb->prepare( "UPDATE " . self::ujic_tab_name() . " SET title=%s, style=%s, options=%s WHERE id=%d", $title, trim( $style ), maybe_serialize( $options ), $id
403
- ) );
404
- }
405
-
406
- /**
407
- * Delete Database.
408
- *
409
- * @since 2.0
410
- */
411
- public function del_ujic_db( $id ) {
412
- global $wpdb;
413
- $wpdb->query( "DELETE FROM " . self::ujic_tab_name() . " WHERE id = '" . $id . "'" );
414
- }
415
-
416
- /**
417
- * Create Database.
418
- *
419
- * @since 2.0
420
- */
421
- private static function create_ujic_db() {
422
- global $wpdb;
423
-
424
- $wpdb->hide_errors();
425
- $collate = '';
426
-
427
- if ( $wpdb->has_cap( 'collation' ) ) {
428
- if ( ! empty($wpdb->charset ) ) {
429
- $collate .= "DEFAULT CHARACTER SET $wpdb->charset";
430
- }
431
- if ( ! empty($wpdb->collate ) ) {
432
- $collate .= " COLLATE $wpdb->collate";
433
- }
434
- }
435
-
436
-
437
- $sql = "CREATE TABLE " . self::ujic_tab_name() . " (
438
- id int(9) unsigned NOT NULL AUTO_INCREMENT,
439
- time datetime not null,
440
- title varchar(128) not null,
441
- style varchar(8) not null,
442
- options longtext,
443
- PRIMARY KEY (id),
444
- KEY id (id)
445
- ) $collate";
446
- require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );
447
- dbDelta( $sql );
448
- }
449
-
450
- /**
451
- * Create/Upgrade Database.
452
- *
453
- * @since 2.0
454
- */
455
- private function upgrade_db() {
456
- global $wpdb;
457
-
458
- if( $wpdb->get_var("SHOW TABLES LIKE '" . self::ujic_tab_name()."'") === $wpdb->prefix . self::ujic_tab_name() ) {
459
-
460
- // Create DB
461
- self::create_ujic_db();
462
-
463
- $old_data = $wpdb->get_results("SELECT * FROM " . self::ujic_tab_name());
464
-
465
- foreach ( $old_data as $data ) {
466
-
467
- $posts["ujic_name"] = $data->title; //Timer Title
468
- $posts["ujic_style"] = $data->style; //Timer Style
469
- $posts["ujic_size"] = $data->size; //Timer Size
470
- if( $data->ujic_thick ) $posts["ujic_thick"] = $data->ujic_thick; //Thickness
471
- $posts["ujic_col_dw"] = $data->col_dw; //Select Box Color Down
472
- $posts["ujic_col_up"] = $data->col_up; //Select Box Color Up
473
- if( $data->col_txt ) $posts["ujic_col_txt"] = $data->col_txt; //Text Color Number
474
- if( $data->col_sw ) $posts["ujic_col_sw"] = $data->col_sw; //Text Color Shadow
475
- $posts["ujic_pos"] = $data->ujic_pos; //Alignment
476
- $posts["ujic_goof"] = 'none'; //Google Font
477
- $posts["ujic_txt"] = ($data->ujic_txt) ? "true" : 0; //Show Label Text
478
- $posts["ujic_col_lab"] = '#000000'; //LAbel Text Color
479
- $posts["ujic_lab_sz"] = 13; //Label size
480
- $posts["ujic_ani"] = ($data->ujic_ani) ? "true" : 0; //Animation for seconds
481
- $posts["ujic_d"] = "true"; //Main format: Days
482
- $posts["ujic_h"] = "true"; //Main format: Hours
483
- $posts["ujic_m"] = "true"; //Main format: Minutes
484
- $posts["ujic_s"] = "true"; //Main format: Seconds
485
- $posts["ujic_y"] = 0; //Secondary format: Years
486
- $posts["ujic_o"] = 0; //Secondary format: Months
487
- $posts["ujic_w"] = 0; //Secondary format: Weeks
488
-
489
- $this->upd_ujic_db( $posts, $data->id );
490
-
491
- $wpdb->query( "ALTER TABLE " . self::ujic_tab_name());
492
- $wpdb->query( "ALTER TABLE " . self::ujic_tab_name() . " DROP `size`, DROP `col_dw`, DROP `col_up`, DROP `ujic_pos`, DROP `col_txt`, DROP `col_sw`, DROP `ujic_ani`, DROP `ujic_txt`, DROP `ujic_thick`;");
493
-
494
- }
495
-
496
- }else{
497
- // Create DB
498
- self::create_ujic_db();
499
- }
500
-
501
- }
502
-
503
- /**
504
- * Return an instance of this class.
505
- *
506
- * @since 2.0
507
- *
508
- * @return object A single instance of this class.
509
- */
510
- public static function get_instance() {
511
-
512
- // If the single instance hasn't been set, set it now.
513
- if ( null == self::$instance ) {
514
- self::$instance = new self;
515
- }
516
-
517
- return self::$instance;
518
- }
519
-
520
- /**
521
- * Fired when the plugin is activated.
522
- *
523
- * @since 2.0
524
- *
525
- * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog.
526
- */
527
- public function activate( $network_wide ) {
528
- //Upgrade DB
529
- $this->upgrade_db();
530
- }
531
-
532
- /**
533
- * Fired when the plugin is deactivated.
534
- *
535
- * @since 2.0
536
- *
537
- * @param boolean $network_wide True if WPMU superadmin uses "Network Deactivate" action, false if WPMU is disabled or plugin is deactivated on an individual blog.
538
- */
539
- public static function deactivate( $network_wide ) {
540
- // TODO: Define deactivation functionality here
541
- }
542
-
543
- /**
544
- * Load the plugin text domain for translation.
545
- *
546
- * @since 2.0
547
- */
548
- public function load_plugin_textdomain() {
549
-
550
- $domain = $this->plugin_slug;
551
- $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
552
-
553
- load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
554
- load_plugin_textdomain( $domain, FALSE, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
555
- }
556
-
557
- /**
558
- * Register and enqueue admin-specific style sheet.
559
- *
560
- * @since 2.0
561
- *
562
- * @return null Return early if no settings page is registered.
563
- */
564
- public function enqueue_admin_styles() {
565
-
566
- if ( !isset( $this->plugin_screen_hook_suffix ) ) {
567
- return;
568
- }
569
-
570
- $screen = get_current_screen();
571
- if ( $screen->id == $this->plugin_screen_hook_suffix ) {
572
- if( isset($_GET['tab']) && $_GET['tab'] != "tab_ujic_list"){
573
- wp_enqueue_style( 'wp-color-picker' );
574
- wp_enqueue_style( $this->plugin_slug . '-admin-jqueryui', UJICOUNTDOWN_URL . 'assets/css/jquery-ui-custom.css', array(), $this->version );
575
- wp_enqueue_style( $this->plugin_slug . '-admin-icheck', UJICOUNTDOWN_URL . 'assets/css/pink.css', array(), $this->version );
576
- }
577
- wp_enqueue_style( $this->plugin_slug . '-admin-styles', UJICOUNTDOWN_URL . 'assets/css/admin.css', array(), $this->version );
578
- }
579
- }
580
-
581
- /**
582
- * Anti Spam Notice
583
- *
584
- * @since 2.0.3
585
- *
586
- */
587
- public function showAntiSpamAdminNotice()
588
- {
589
- $screen = get_current_screen();
590
- if($screen->id != $this->plugin_screen_hook_suffix)
591
- return;
592
-
593
- if(empty($_GET['tab']) || $_GET['tab'] !== 'tab_ujic_news')
594
- return;
595
-
596
- if(!isset($_GET['edit']))
597
- echo '<div class="error"><p>' . _('In order to avoid fake subscriptions we suggest to install <a target="_blank" href = "https://wordpress.org/plugins/goodbye-captcha/">GoodBye Captcha Plugin</a>') . '</p></div>';
598
- }
599
-
600
- /**
601
- * Register and enqueue admin-specific JavaScript.
602
- *
603
- * @since 2.0
604
- *
605
- * @return null Return early if no settings page is registered.
606
- */
607
- public function enqueue_admin_scripts() {
608
-
609
- if ( !isset( $this->plugin_screen_hook_suffix ) ) {
610
- return;
611
- }
612
- wp_enqueue_style( 'dashicons' );
613
- $screen = get_current_screen();
614
- if ( $screen->id == $this->plugin_screen_hook_suffix && (isset($_GET['tab']) && $_GET['tab'] != "tab_ujic_list")) {
615
- wp_enqueue_script( 'dashboard' );
616
- wp_enqueue_script( 'jquery-ui-core' );
617
- wp_enqueue_script( 'jquery-ui-slider' );
618
- wp_enqueue_script( 'jquery-ui-draggable' );
619
-
620
- if($_GET['tab'] != "tab_ujic_news")
621
- {
622
- wp_enqueue_script($this->plugin_slug . '-admin-icheck', UJICOUNTDOWN_URL . 'assets/js/jquery.icheck.min.js');
623
- wp_enqueue_script($this->plugin_slug . '-admin-script', UJICOUNTDOWN_URL . 'assets/js/admin.js', array('wp-color-picker'), $this->version);
624
- }
625
- }
626
- }
627
-
628
- /**
629
- * Register and enqueues public-facing JavaScript files.
630
- *
631
- * @since 2.0
632
- */
633
- public function enqueue_scripts() {
634
- wp_register_style( $this->plugin_slug . '-uji-countdown', UJICOUNTDOWN_URL . 'css/uji-countdown.css', array(), $this->version );
635
- wp_register_script( $this->plugin_slug . '-core', UJICOUNTDOWN_URL . 'js/jquery.countdown.js', array( 'jquery' ), $this->version );
636
- wp_register_script( $this->plugin_slug . '-init', UJICOUNTDOWN_URL . 'js/uji-countdown.js', array( 'jquery' ), $this->version );
637
- wp_register_script( $this->plugin_slug . '-uji-countdown-newsletter', UJICOUNTDOWN_URL . 'js/uji-newsletter.js', array( 'jquery' ), $this->version );
638
-
639
- }
640
-
641
- /**
642
- * Register the administration menu for this plugin into the WordPress Dashboard menu.
643
- *
644
- * @since 2.0
645
- */
646
- public function add_plugin_admin_menu() {
647
- $this->plugin_screen_hook_suffix = add_submenu_page(
648
- 'options-general.php', $this->pname . " " . $this->version, $this->pname, 'manage_options', $this->plugin_slug, array( $this, 'display_plugin_admin_page' )
649
- );
650
- }
651
-
652
- /**
653
- * Render the settings page for this plugin.
654
- *
655
- * @since 2.0
656
- */
657
- public function display_plugin_admin_page() {
658
- include_once( UJICOUNTDOWN . 'views/admin.php' );
659
- }
660
-
661
- /**
662
- * Shortcode Admin Init
663
- *
664
- * @since 2.0.4
665
- */
666
- public function ujic_shortcode_scripts() {
667
- $screen = get_current_screen();
668
- if ( $screen->base == 'post' ):
669
- // css
670
- wp_enqueue_style( 'ujic-popup-ui', UJICOUNTDOWN_URL . 'assets/css/jquery-ui.min.css', false, '1.0', 'all' );
671
- wp_enqueue_style( 'ujic-popup', UJICOUNTDOWN_URL . 'assets/css/ujic-style.css', false, '1.0', 'all' );
672
-
673
- // js
674
- wp_enqueue_script( 'jquery-ui-sortable' );
675
- wp_enqueue_script( 'jquery-ui-datepicker' );
676
-
677
- wp_localize_script( 'jquery', 'UjicShortcodes', array( 'plugin_folder' => UJICOUNTDOWN_URL ) );
678
-
679
- if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) )
680
- return;
681
-
682
- if ( get_user_option( 'rich_editing' ) == 'true' ) {
683
- wp_localize_script('editor', 'ujic_short_vars', array(
684
- 'ujic_style' => $this->ujic_styles_get(),
685
- 'ujic_hou' => $this->ujic_datetime_get(23),
686
- 'ujic_min' => $this->ujic_datetime_get(59),
687
- 'ujic_reclab' => $this->ujic_reclab_get()
688
- ));
689
-
690
- add_filter( 'mce_external_plugins', array( &$this, 'ujic_add_tinymce_plugin' ) );
691
- add_filter( 'mce_buttons', array( &$this, 'ujic_register_my_tc_button' ) );
692
- }
693
- endif;
694
- }
695
-
696
- /**
697
- * get All Styles
698
- *
699
- * @since 2.0.4
700
- */
701
- public function ujic_styles_get() {
702
- global $wpdb;
703
- $ujic_styles = $wpdb->get_results("SELECT style, title FROM " . $wpdb->prefix . "uji_counter ORDER BY `time` DESC");
704
- $ujic_sel = array();
705
- if ( !empty($ujic_styles) ) {
706
- $i = 0;
707
- foreach ( $ujic_styles as $ujic ) {
708
- $ujic_sel[$i]['text'] = $ujic->title . ' - ' . $ujic->style;
709
- $ujic_sel[$i]['value'] = $ujic->title;
710
- $i++;
711
- }
712
-
713
- return $ujic_sel;
714
- }
715
- }
716
-
717
- /**
718
- * TinyMCE get Data/Time
719
- *
720
- * @since 2.0.4
721
- */
722
- public function ujic_datetime_get($nr) {
723
- $ujic_sel = array();
724
- for ( $i = 0; $i <= $nr; $i++ ) {
725
- $ujic_sel[$i]['text'] = $num[sprintf("%02s", $i)] = sprintf("%02s", $i);
726
- $ujic_sel[$i]['value'] = $num[sprintf("%02s", $i)] = sprintf("%02s", $i);
727
- }
728
-
729
- return $ujic_sel;
730
- }
731
-
732
- /**
733
- * TinyMCE get Unit Time labels
734
- *
735
- * @since 2.0.4
736
- */
737
- public function ujic_reclab_get() {
738
- $tlab = array('second'=> 'Second(s)', 'minute'=> 'Minute(s)', 'hour'=> 'Hour(s)', 'day'=> 'Day(s)', 'week'=> 'Week(s)', 'month'=> 'Month(s)');
739
- $i=0;
740
- foreach ( $tlab as $v => $n ) {
741
- $ujic_sel[$i]['text'] = $n;
742
- $ujic_sel[$i]['value'] = $v;
743
- $i++;
744
- }
745
-
746
- return $ujic_sel;
747
- }
748
-
749
- /**
750
- * TinyMCE Plugin JS
751
- *
752
- * @since 2.0.4
753
- */
754
- public function ujic_add_tinymce_plugin( $plugin_array ) {
755
- $plugin_array['ujic_tc_button'] = UJICOUNTDOWN_URL . 'assets/js/ujic-popup-button.js';
756
- return $plugin_array;
757
- }
758
-
759
- /**
760
- * Add TyniMCE Button
761
- *
762
- * @since 2.0.4
763
- */
764
- public function ujic_register_my_tc_button( $buttons ) {
765
- array_push( $buttons, "ujic_tc_button" );
766
- return $buttons;
767
- }
768
-
769
- /**
770
- * Register widget
771
- *
772
- * @return void
773
- */
774
- public function ujic_register_widgets() {
775
- // Include - no need to use autoload as WP loads them anyway
776
- include_once( 'class-uji-widget.php' );
777
-
778
- // Register widgets
779
- register_widget( 'ujic_Widget' );
780
- }
781
-
782
- /**
783
- * Get options/option
784
- *
785
- * @since 2.0
786
- */
787
- public function ujic_get_option( $name, $opt = 'ujic_set' ) {
788
- $vars = get_option($opt);
789
- if($name && isset($vars[$name]) && !empty($vars[$name]) )
790
- return $vars[$name];
791
- else
792
- return false;
793
- }
794
-
795
  }
1
+ <?php
2
+ /**
3
+ * Uji Countdown Main
4
+ *
5
+ * Handles main enqueue
6
+ *
7
+ * @author WPmanage
8
+ * @category Main
9
+ * @package Uji-Countdown/Classes
10
+ * @version 2.0
11
+ */
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+ class Uji_Countdown extends Uji_Countdown_Admin
17
+ {
18
+
19
+ /**
20
+ * Uji Countdown
21
+ *
22
+ * @since 2.0
23
+ *
24
+ * @var string
25
+ */
26
+ protected $pname = UJIC_NAME;
27
+ /**
28
+ * Plugin version, used for cache-busting of style and script file references.
29
+ *
30
+ * @since 2.0
31
+ *
32
+ * @var string
33
+ */
34
+ protected $version = UJIC_VERS;
35
+
36
+ /**
37
+ * Counter Options.
38
+ *
39
+ * @since 2.0
40
+ *
41
+ * @var array
42
+ */
43
+ private $options = array();
44
+
45
+ /**
46
+ * Instance of this class.
47
+ *
48
+ * @since 2.0
49
+ *
50
+ * @var object
51
+ */
52
+ protected static $instance = null;
53
+
54
+ /**
55
+ * Slug of the plugin screen.
56
+ *
57
+ * @since 2.0
58
+ *
59
+ * @var string
60
+ */
61
+ protected $plugin_screen_hook_suffix = null;
62
+
63
+ /**
64
+ * Init.
65
+ *
66
+ * @since 2.0
67
+ *
68
+ * @var string
69
+ */
70
+ public $uji;
71
+
72
+ /**
73
+ * Go Plus
74
+ *
75
+ * @since 2.1
76
+ */
77
+ public function ujic_pro() {
78
+ return ('Uji Countdown Pro' === UJIC_NAME);
79
+ }
80
+
81
+ /**
82
+ * Plus sfx
83
+ *
84
+ * @since 2.1
85
+ */
86
+ public function ujic_pro_sx() {
87
+ return ('Uji Countdown Pro' === UJIC_NAME) ? 'ujicountdownpro' : 'ujicountdown';
88
+ }
89
+
90
+ /**
91
+ * Initialize the plugin by setting localization, filters, and administration functions.
92
+ *
93
+ * @since 2.0
94
+ */
95
+ public function __construct() {
96
+
97
+ // Register hooks that are fired when the plugin is activated, deactivated, and uninstalled, respectively.
98
+ register_activation_hook( UJICOUNTDOWN_FILE, array( $this, 'activate' ) );
99
+ register_deactivation_hook( UJICOUNTDOWN_FILE, array( $this, 'deactivate' ) );
100
+
101
+ //Show on front
102
+ if ( !is_admin() ) {
103
+ $ujic = new UjiCountdown();
104
+ }
105
+ // Load plugin text domain
106
+ add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
107
+
108
+ // Load public-facing style sheet and JavaScript.
109
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
110
+
111
+ // HOOKs Widget
112
+ add_action( 'widgets_init', array( $this, 'ujic_register_widgets' ) );
113
+
114
+ if ( is_admin() )
115
+ {
116
+
117
+ // Add the options page and menu item.
118
+ add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );
119
+
120
+ // Load admin style sheet and JavaScript.
121
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ), 1 );
122
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ), 1 );
123
+
124
+ // Load admin shortcode style sheet and JavaScript.
125
+ add_action( 'admin_enqueue_scripts', array( &$this, 'ujic_shortcode_scripts' ) );
126
+
127
+ // Add the Link from plugins
128
+ add_filter('plugin_action_links', array($this, 'plugin_settings_link'),10,2);
129
+
130
+ }
131
+
132
+ }
133
+
134
+ /**
135
+ * Version
136
+ *
137
+ * @since 2.0.3
138
+ */
139
+
140
+ protected static function getPluginSavedVersion()
141
+ {
142
+ return get_option('uji-countdown-version', null);
143
+ }
144
+
145
+ protected static function savePluginVersion()
146
+ {
147
+ return update_option('uji-countdown-version', UJIC_ORIG);
148
+ }
149
+
150
+ /**
151
+ * Counter Options.
152
+ *
153
+ * @since 2.0
154
+ */
155
+ public function ujic_option( $id = NULL, $name = NULL ) {
156
+ //Default values
157
+ $sz = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? 50 : 32;
158
+ $col = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? '#efefef' : '#c368c3';
159
+ $txtc = ( isset( $_GET['style'] ) && $_GET['style'] == 'modern' ) ? '#000000' : '#ffffff';
160
+ $options = apply_filters( 'ujic_options', array(
161
+ "ujic_name" => "", //Name
162
+ "ujic_style" => "classic", //Style
163
+ "ujic_size" => $sz, //Timer Size
164
+ "ujic_thick" => 10, //Thickness
165
+ "ujic_goof" => 'none', //Google Font
166
+ "ujic_col_dw" => '#a61ba6', //Select Box Color Down
167
+ "ujic_col_up" => $col, //Select Box Color Up
168
+ "ujic_col_txt" => $txtc, //Text Color Number
169
+ "ujic_col_sw" => '#000000', //Text Color Shadow
170
+ "ujic_col_lab" => '#000000', //LAbel Text Color
171
+ "ujic_lab_sz" => 13, //Label size
172
+ "ujic_pos" => 'none', //Alignment
173
+ "ujic_d" => "true", //Main format: Days
174
+ "ujic_h" => "true", //Main format: Hours
175
+ "ujic_m" => "true", //Main format: Minutes
176
+ "ujic_s" => "true", //Main format: Seconds
177
+ "ujic_y" => 0, //Secondary format: Years
178
+ "ujic_o" => 0, //Secondary format: Months
179
+ "ujic_w" => 0, //Secondary format: Weeks
180
+ "ujic_txt" => "true", //Show Label Text
181
+ "ujic_ani" => 0, //Animation for seconds
182
+ ));
183
+
184
+ //Return default values
185
+ if ( (!isset( $name ) || empty( $name ) ) && (!isset( $id ) || empty( $id ) ) )
186
+ {
187
+ if ( $this->cform_is_create() )
188
+ {
189
+ foreach ( $options as $nm => $val )
190
+ {
191
+ $new_options[$nm] = ( isset( $_POST[$nm] ) && !empty( $_POST[$nm] ) ) ? $_POST[$nm] : '';
192
+ }
193
+
194
+ return $new_options;
195
+ }
196
+ else
197
+ {
198
+ return $options;
199
+ }
200
+ }
201
+
202
+ //Return all saved values
203
+ if ( !isset( $name ) && isset( $id ) )
204
+ {
205
+ $get_option = $this->sel_ujic_db( $id );
206
+
207
+ foreach ( $options as $nm => $val )
208
+ {
209
+ $val = ( isset( $_GET['edit'] ) && !empty( $_GET['edit'] ) ) ? '' : $val;
210
+ //$new_options[$nm] = ( isset( $get_option[$nm] ) && !empty( $get_option[$nm] ) ) ? $get_option[$nm] : $val;
211
+
212
+ $new_options[$nm] = !empty( $get_option[$nm]) ? $get_option[$nm] : $val;
213
+ }
214
+ return $new_options;
215
+ }
216
+
217
+ //Return one saved value
218
+ if ( isset( $name ) && isset( $id ) && !empty( $name ) && !empty( $id ) )
219
+ {
220
+ $one_option = $this->sel_ujic_db( $id, $name );
221
+ $new_option = (!empty( $one_option ) ) ? $one_option : $options[$name];
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Short Link
227
+ *
228
+ * @since 2.0
229
+ */
230
+ public function plugin_settings_link( $links, $file ) {
231
+ if ( $file != UJICOUNTDOWN_BASE )
232
+ return $links;
233
+
234
+ array_unshift($links, '<a href="options-general.php?page=ujicountdown">' . __( 'Settings', 'ujicountdown' ) . '</a>');
235
+
236
+ return $links;
237
+ }
238
+
239
+ /**
240
+ * Table Name.
241
+ *
242
+ * @since 2.0
243
+ */
244
+ public static function ujic_tab_name() {
245
+ global $wpdb;
246
+ return $wpdb->prefix . "uji_counter";
247
+ }
248
+
249
+ /**
250
+ * Get Database.
251
+ *
252
+ * @since 2.0
253
+ */
254
+ public function sel_ujic_db( $id, $name = NULL ) {
255
+ global $wpdb;
256
+ $options = $var = array();
257
+
258
+ if( empty($id) )
259
+ return false;
260
+
261
+ if ( is_numeric( $id ) )
262
+ $ujic_data = $wpdb->get_row( "SELECT * FROM " . self::ujic_tab_name() . " WHERE id = $id" );
263
+ else
264
+ $ujic_data = $wpdb->get_row( "SELECT * FROM " . self::ujic_tab_name() . " WHERE link = '" . sanitize_title($id) . "'" );
265
+
266
+ if ( empty($ujic_data) )
267
+ return false;
268
+
269
+ $var['id'] = $ujic_data->id;
270
+ $var['time'] = $ujic_data->time;
271
+ $var['ujic_name'] = $ujic_data->title;
272
+ $var['ujic_style'] = $ujic_data->style;
273
+
274
+ if ( !empty( $ujic_data->options ) ) {
275
+ $options = maybe_unserialize( $ujic_data->options );
276
+ foreach ( $options as $option => $val ) {
277
+ $var[$option] = $val;
278
+ }
279
+ }
280
+ if ( $name )
281
+ return isset( $var[$name] ) ? $var[$name] : null;
282
+ else
283
+ return $var;
284
+ }
285
+
286
+ /**
287
+ * Insert Database.
288
+ *
289
+ * @since 2.0
290
+ */
291
+ public function ins_ujic_db( $posts ) {
292
+ global $wpdb;
293
+
294
+ //2.0.7 Fix Cross-Site Request Forgery attacks
295
+ self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $posts );
296
+
297
+ $options = array();
298
+ $default = $this->ujic_option();
299
+ foreach ( $posts as $name => $val ) {
300
+ $options[$name] = (!empty( $val ) ) ? esc_attr($val) : $default[$name];
301
+ }
302
+ $title = $options['ujic_name'];
303
+ $style = $options['ujic_style'];
304
+ unset( $options['ujic_name'], $options['ujic_style'], $options['submit_ujic'] );
305
+ //insert to DB
306
+ $wpdb->query( $wpdb->prepare( "INSERT INTO " . self::ujic_tab_name() . "(time, title, link, style, options )
307
+ VALUES (utc_timestamp(), %s, %s, %s, %s)", $title, sanitize_title( $title ), trim( $style ), maybe_serialize( $options )
308
+ ) );
309
+ }
310
+
311
+ /**
312
+ * Update Database.
313
+ *
314
+ * @since 2.0
315
+ */
316
+ public function upd_ujic_db( $posts, $id ) {
317
+ global $wpdb;
318
+
319
+ //2.0.7 Fix Cross-Site Request Forgery attacks
320
+ self::ujic_secure( 'ujic_secure', 'ujic_secure_form', $posts );
321
+
322
+ $options = array();
323
+ $default = $this->ujic_option();
324
+ foreach ( $posts as $name => $val ) {
325
+ $options[$name] = (!empty( $val ) ) ? esc_attr($val) : $default[$name];
326
+ }
327
+ $title = $options['ujic_name'];
328
+ $style = $options['ujic_style'];
329
+ unset( $options['ujic_name'], $options['ujic_style'], $options['submit_ujic'], $options['cancel_ujic'] );
330
+ //update DB
331
+ $wpdb->query( $wpdb->prepare( "UPDATE " . self::ujic_tab_name() . " SET title=%s, link=%s, style=%s, options=%s WHERE id=%d", $title, sanitize_title( $title ), trim( $style ), maybe_serialize( $options ), $id
332
+ ) );
333
+ }
334
+
335
+ /**
336
+ * Delete Database.
337
+ *
338
+ * @since 2.0
339
+ */
340
+ public function del_ujic_db( $id ) {
341
+ global $wpdb;
342
+ $wpdb->query( "DELETE FROM " . self::ujic_tab_name() . " WHERE id = '" . $id . "'" );
343
+ }
344
+
345
+ /**
346
+ * Create Database.
347
+ *
348
+ * @since 2.0
349
+ */
350
+ private static function create_ujic_db() {
351
+ global $wpdb;
352
+
353
+ $wpdb->hide_errors();
354
+ $collate = '';
355
+
356
+ if ( $wpdb->has_cap( 'collation' ) ) {
357
+ if ( ! empty($wpdb->charset ) ) {
358
+ $collate .= "DEFAULT CHARACTER SET $wpdb->charset";
359
+ }
360
+ if ( ! empty($wpdb->collate ) ) {
361
+ $collate .= " COLLATE $wpdb->collate";
362
+ }
363
+ }
364
+
365
+
366
+ $sql = "CREATE TABLE " . self::ujic_tab_name() . " (
367
+ id int(9) unsigned NOT NULL AUTO_INCREMENT,
368
+ time datetime not null,
369
+ title varchar(128) not null,
370
+ link varchar(128) not null,
371
+ style varchar(32) not null,
372
+ options longtext,
373
+ PRIMARY KEY (id),
374
+ KEY id (id)
375
+ ) $collate";
376
+ require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );
377
+ dbDelta( $sql );
378
+ }
379
+
380
+ /**
381
+ * Create/Upgrade Database.
382
+ *
383
+ * @since 2.0
384
+ */
385
+ private function upgrade_db() {
386
+ global $wpdb;
387
+
388
+ if( $wpdb->get_var("SHOW TABLES LIKE '" . self::ujic_tab_name()."'") === $wpdb->prefix . self::ujic_tab_name() ) {
389
+
390
+ // Create DB
391
+ self::create_ujic_db();
392
+
393
+ $old_data = $wpdb->get_results("SELECT * FROM " . self::ujic_tab_name());
394
+
395
+ foreach ( $old_data as $data ) {
396
+
397
+ $posts["ujic_name"] = $data->title; //Timer Title
398
+ $posts["ujic_style"] = $data->style; //Timer Style
399
+ $posts["ujic_size"] = $data->size; //Timer Size
400
+ if( $data->ujic_thick ) $posts["ujic_thick"] = $data->ujic_thick; //Thickness
401
+ $posts["ujic_col_dw"] = $data->col_dw; //Select Box Color Down
402
+ $posts["ujic_col_up"] = $data->col_up; //Select Box Color Up
403
+ if( $data->col_txt ) $posts["ujic_col_txt"] = $data->col_txt; //Text Color Number
404
+ if( $data->col_sw ) $posts["ujic_col_sw"] = $data->col_sw; //Text Color Shadow
405
+ $posts["ujic_pos"] = $data->ujic_pos; //Alignment
406
+ $posts["ujic_goof"] = 'none'; //Google Font
407
+ $posts["ujic_txt"] = ($data->ujic_txt) ? "true" : 0; //Show Label Text
408
+ $posts["ujic_col_lab"] = '#000000'; //LAbel Text Color
409
+ $posts["ujic_lab_sz"] = 13; //Label size
410
+ $posts["ujic_ani"] = ($data->ujic_ani) ? "true" : 0; //Animation for seconds
411
+ $posts["ujic_d"] = "true"; //Main format: Days
412
+ $posts["ujic_h"] = "true"; //Main format: Hours
413
+ $posts["ujic_m"] = "true"; //Main format: Minutes
414
+ $posts["ujic_s"] = "true"; //Main format: Seconds
415
+ $posts["ujic_y"] = 0; //Secondary format: Years
416
+ $posts["ujic_o"] = 0; //Secondary format: Months
417
+ $posts["ujic_w"] = 0; //Secondary format: Weeks
418
+
419
+ $this->upd_ujic_db( $posts, $data->id );
420
+
421
+ $wpdb->query( "ALTER TABLE " . self::ujic_tab_name());
422
+ $wpdb->query( "ALTER TABLE " . self::ujic_tab_name() . " DROP `size`, DROP `col_dw`, DROP `col_up`, DROP `ujic_pos`, DROP `col_txt`, DROP `col_sw`, DROP `ujic_ani`, DROP `ujic_txt`, DROP `ujic_thick`;");
423
+
424
+ }
425
+
426
+ }else{
427
+ // Create DB
428
+ self::create_ujic_db();
429
+ }
430
+
431
+ }
432
+
433
+ /**
434
+ * Return an instance of this class.
435
+ *
436
+ * @since 2.0
437
+ *
438
+ */
439
+ public static function get_instance() {
440
+
441
+ // If the single instance hasn't been set, set it now.
442
+ if ( null == self::$instance ) {
443
+ self::$instance = new self;
444
+ }
445
+
446
+ return self::$instance;
447
+ }
448
+
449
+ /**
450
+ * Fired when the plugin is activated.
451
+ *
452
+ * @since 2.0
453
+ *
454
+ * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog.
455
+ */
456
+ public function activate( $network_wide ) {
457
+ //Upgrade DB
458
+ $this->upgrade_db();
459
+ self::savePluginVersion();
460
+ }
461
+
462
+ /**
463
+ * Fired when the plugin is deactivated.
464
+ *
465
+ * @since 2.0
466
+ *
467
+ * @param boolean $network_wide True if WPMU superadmin uses "Network Deactivate" action, false if WPMU is disabled or plugin is deactivated on an individual blog.
468
+ */
469
+ public static function deactivate( $network_wide ) {
470
+ // TODO: Define deactivation functionality here
471
+ }
472
+
473
+ /**
474
+ * Load the plugin text domain for translation.
475
+ *
476
+ * @since 2.0
477
+ */
478
+ public function load_plugin_textdomain() {
479
+
480
+ $domain = 'ujicountdown';
481
+ $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
482
+
483
+ load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
484
+ load_plugin_textdomain( $domain, FALSE, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
485
+ }
486
+
487
+ /**
488
+ * Register and enqueue admin-specific style sheet.
489
+ *
490
+ * @since 2.0
491
+ *
492
+ * @return null Return early if no settings page is registered.
493
+ */
494
+ public function enqueue_admin_styles() {
495
+
496
+ if ( !isset( $this->plugin_screen_hook_suffix ) ) {
497
+ return;
498
+ }
499
+
500
+ $screen = get_current_screen();
501
+ if ( $screen->id == $this->plugin_screen_hook_suffix ) {
502
+ if( isset($_GET['tab']) && $_GET['tab'] != "tab_ujic_list"){
503
+ wp_enqueue_style( 'wp-color-picker' );
504
+ wp_enqueue_style( 'ujicountdown' . '-admin-jqueryui', UJICOUNTDOWN_URL . 'assets/css/jquery-ui-custom.css', array(), $this->version );
505
+ wp_enqueue_style( 'ujicountdown' . '-admin-icheck', UJICOUNTDOWN_URL . 'assets/css/pink.css', array(), $this->version );
506
+ }
507
+ wp_enqueue_style( 'ujicountdown' . '-admin-styles', UJICOUNTDOWN_URL . 'assets/css/admin.css', array(), $this->version );
508
+ }
509
+ }
510
+
511
+ /**
512
+ * Anti Spam Notice
513
+ *
514
+ * @since 2.0.3
515
+ *
516
+ */
517
+ public function showAntiSpamAdminNotice()
518
+ {
519
+ $screen = get_current_screen();
520
+ if($screen->id != $this->plugin_screen_hook_suffix)
521
+ return;
522
+
523
+ if(empty($_GET['tab']) || $_GET['tab'] !== 'tab_ujic_news')
524
+ return;
525
+
526
+ if(!isset($_GET['edit']))
527
+ echo '<div class="error"><p>' . _('In order to avoid fake subscriptions we suggest to install <a target="_blank" href = "https://wordpress.org/plugins/goodbye-captcha/">GoodBye Captcha Plugin</a>') . '</p></div>';
528
+ }
529
+
530
+ /**
531
+ * Register and enqueue admin-specific JavaScript.
532
+ *
533
+ * @since 2.0
534
+ *
535
+ * @return null Return early if no settings page is registered.
536
+ */
537
+ public function enqueue_admin_scripts() {
538
+
539
+ if ( !isset( $this->plugin_screen_hook_suffix ) ) {
540
+ return;
541
+ }
542
+ wp_enqueue_style( 'dashicons' );
543
+ $screen = get_current_screen();
544
+ if ( $screen->id == $this->plugin_screen_hook_suffix && (isset($_GET['tab']) && $_GET['tab'] != "tab_ujic_list")) {
545
+ wp_enqueue_script( 'dashboard' );
546
+ wp_enqueue_script( 'jquery-ui-core' );
547
+ wp_enqueue_script( 'jquery-ui-slider' );
548
+ wp_enqueue_script( 'jquery-ui-draggable' );
549
+
550
+ if($_GET['tab'] != "tab_ujic_news")
551
+ {
552
+ wp_enqueue_script('ujicountdown-admin-icheck', UJICOUNTDOWN_URL . 'assets/js/jquery.icheck.min.js');
553
+ wp_enqueue_script('ujicountdown-admin-script', UJICOUNTDOWN_URL . 'assets/js/admin-ujic.js', array('wp-color-picker'), $this->version);
554
+ }
555
+ }
556
+ }
557
+
558
+ /**
559
+ * Register and enqueues public-facing JavaScript files.
560
+ *
561
+ * @since 2.0
562
+ */
563
+ public function enqueue_scripts() {
564
+ wp_register_style( 'ujicountdown-uji-countdown', UJICOUNTDOWN_URL . 'css/uji-countdown.css', array(), $this->version );
565
+ wp_register_script( 'ujicountdown-core', UJICOUNTDOWN_URL . 'js/jquery.countdown.js', array( 'jquery' ), $this->version );
566
+ wp_register_script( 'ujicountdown-init', UJICOUNTDOWN_URL . 'js/uji-countdown.js', array( 'jquery' ), $this->version, true );
567
+ //Extend enqueues css and js
568
+ $extent_scripts = apply_filters( 'ujic_scripts_extend', true);
569
+ // _ar($extent_scripts);
570
+ if(!empty($extent_scripts)){
571
+ if( !empty($extent_scripts['css']) ){
572
+ foreach ($extent_scripts['css'] as $nm => $css){
573
+ // _ec($nm);
574
+ // _ec($css['url']);
575
+ // _ec($css['ver']);
576
+ wp_register_style( $nm, $css['url'], array(), $css['ver'] );
577
+ }
578
+ }
579
+ if( !empty($extent_scripts['js']) ){
580
+ foreach ($extent_scripts['js'] as $nm => $js){
581
+ // _ec($nm);
582
+ // _ec($js['url']);
583
+ // _ec($js['ver']);
584
+ wp_register_script( $nm, $js['url'], array( 'jquery' ), $js['ver'] );
585
+ }
586
+ }
587
+ }
588
+
589
+
590
+ }
591
+
592
+ /**
593
+ * Register the administration menu for this plugin into the WordPress Dashboard menu.
594
+ *
595
+ * @since 2.0
596
+ */
597
+ public function add_plugin_admin_menu() {
598
+ $this->plugin_screen_hook_suffix = add_submenu_page(
599
+ 'options-general.php', $this->pname . " " . $this->version, $this->pname, 'manage_options', 'ujicountdown', array( $this, 'display_plugin_admin_page' )
600
+ );
601
+ }
602
+
603
+ /**
604
+ * Render the settings page for this plugin.
605
+ *
606
+ * @since 2.0
607
+ */
608
+ public function display_plugin_admin_page() {
609
+ include_once( UJICOUNTDOWN . 'views/admin.php' );
610
+ }
611
+
612
+ /**
613
+ * Shortcode Admin Init
614
+ *
615
+ * @since 2.0.4
616
+ */
617
+ public function ujic_shortcode_scripts() {
618
+ $screen = get_current_screen();
619
+ if ( $screen->base == 'post' ):
620
+ // css
621
+ wp_enqueue_style( 'ujic-count-ui', UJICOUNTDOWN_URL . 'assets/css/jquery-ui.min.css', false, '1.0', 'all' );
622
+ wp_enqueue_style( 'ujic-count', UJICOUNTDOWN_URL . 'assets/css/ujic-style.css', false, '1.0', 'all' );
623
+
624
+ // js
625
+ wp_enqueue_script( 'jquery-ui-sortable' );
626
+ wp_enqueue_script( 'jquery-ui-datepicker' );
627
+
628
+ wp_localize_script( 'jquery', 'UjicShortcodes', array( 'plugin_folder' => UJICOUNTDOWN_URL ) );
629
+
630
+ if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) )
631
+ return;
632
+
633
+ if ( get_user_option( 'rich_editing' ) == 'true' ) {
634
+ wp_localize_script('editor', 'ujic_short_vars', array(
635
+ 'ujic_style' => $this->ujic_styles_get(),
636
+ 'ujic_hou' => $this->ujic_datetime_get(23),
637
+ 'ujic_min' => $this->ujic_datetime_get(59),
638
+ 'ujic_reclab' => $this->ujic_reclab_get()
639
+ ));
640
+
641
+ add_filter( 'mce_external_plugins', array( &$this, 'ujic_add_tinymce_plugin' ) );
642
+ add_filter( 'mce_buttons', array( &$this, 'ujic_register_my_tc_button' ) );
643
+ }
644
+ endif;
645
+ }
646
+
647
+ /**
648
+ * get All Styles
649
+ *
650
+ * @since 2.0.4
651
+ * @update 2.0.7
652
+ */
653
+ public function ujic_styles_get() {
654
+ global $wpdb;
655
+ $ujic_styles = $wpdb->get_results("SELECT style, title, link FROM " . $wpdb->prefix . "uji_counter ORDER BY `time` DESC");
656
+ $ujic_sel = array();
657
+ if ( !empty($ujic_styles) ) {
658
+ $i = 0;
659
+ foreach ( $ujic_styles as $ujic ) {
660
+ $ujic_sel[$i]['text'] = $ujic->title . ' - ' . $ujic->style;
661
+ $ujic_sel[$i]['value'] = $ujic->link;
662
+ $i++;
663
+ }
664
+
665
+ return $ujic_sel;
666
+ }
667
+ }
668
+
669
+ /**
670
+ * TinyMCE get Data/Time
671
+ *
672
+ * @since 2.0.4
673
+ */
674
+ public function ujic_datetime_get($nr) {
675
+ $ujic_sel = array();
676
+ for ( $i = 0; $i <= $nr; $i++ ) {
677
+ $ujic_sel[$i]['text'] = $num[sprintf("%02s", $i)] = sprintf("%02s", $i);
678
+ $ujic_sel[$i]['value'] = $num[sprintf("%02s", $i)] = sprintf("%02s", $i);
679
+ }
680
+
681
+ return $ujic_sel;
682
+ }
683
+
684
+ /**
685
+ * TinyMCE get Unit Time labels
686
+ *
687
+ * @since 2.0.4
688
+ */
689
+ public function ujic_reclab_get() {
690
+ $tlab = array('second'=> 'Second(s)', 'minute'=> 'Minute(s)', 'hour'=> 'Hour(s)', 'day'=> 'Day(s)', 'week'=> 'Week(s)', 'month'=> 'Month(s)');
691
+ $i=0;
692
+ foreach ( $tlab as $v => $n ) {
693
+ $ujic_sel[$i]['text'] = $n;
694
+ $ujic_sel[$i]['value'] = $v;
695
+ $i++;
696
+ }
697
+
698
+ return $ujic_sel;
699
+ }
700
+
701
+ /**
702
+ * TinyMCE Plugin JS
703
+ *
704
+ * @since 2.0.4
705
+ */
706
+ public function ujic_add_tinymce_plugin( $plugin_array ) {
707
+ $plugin_array['ujic_tc_button'] = UJICOUNTDOWN_URL . 'assets/js/ujic-popup-button.js';
708
+ return $plugin_array;
709
+ }
710
+
711
+ /**
712
+ * Add TyniMCE Button
713
+ *
714
+ * @since 2.0.4
715
+ */
716
+ public function ujic_register_my_tc_button( $buttons ) {
717
+ array_push( $buttons, "ujic_tc_button" );
718
+ return $buttons;
719
+ }
720
+
721
+ /**
722
+ * Register widget
723
+ *
724
+ * @return void
725
+ */
726
+ public function ujic_register_widgets() {
727
+ // Include - no need to use autoload as WP loads them anyway
728
+ include_once( 'class-uji-widget.php' );
729
+
730
+ // Register widgets
731
+ register_widget( 'ujic_Widget' );
732
+ }
733
+
734
+ /**
735
+ * Get options/option
736
+ *
737
+ * @since 2.0
738
+ */
739
+ public function ujic_get_option( $name, $opt = 'ujic_set' ) {
740
+ $vars = get_option($opt);
741
+ if($name && isset($vars[$name]) && !empty($vars[$name]) )
742
+ return $vars[$name];
743
+ else
744
+ return false;
745
+ }
746
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
747
  }
classes/class-uji-widget.php CHANGED
@@ -134,16 +134,26 @@ class ujic_Widget extends WP_Widget {
134
  $recurr = isset( $instance['UJI_recurring'] ) ? $instance['UJI_recurring'] : false;
135
  $rectyp = isset( $instance['UJI_rectype'] ) ? $instance['UJI_rectype'] : false;
136
  $repeat = isset( $instance['UJI_repeats'] ) ? $instance['UJI_repeats'] : false;
 
 
 
 
137
 
138
  $shtval = '';
139
  $shtval .= (!empty( $name ) ) ? ' id="' . $name . '"' : '';
140
- $shtval .= (!empty( $date ) ) ? ' expire="' . $date . ' ' . $hour . ':' . $minut . '"' : '';
 
 
 
 
 
141
  $shtval .= (!empty( $hide ) ) ? ' hide = "true"' : '';
142
  $shtval .= (!empty( $url ) ) ? ' url = "' . $url . '"' : '';
143
  $shtval .= (!empty( $subscr ) ) ? ' subscr = "' . trim($subscr) . '"' : '';
144
  $shtval .= (!empty( $recurr ) ) ? ' recurring = "' . trim($recurr) . '"' : '';
145
  $shtval .= (!empty( $rectyp ) ) ? ' rectype = "' . trim($rectyp) . '"' : '';
146
  $shtval .= (!empty( $repeat ) ) ? ' repeats = "' . trim($repeat) . '"' : '';
 
147
 
148
  $shortcode = (!empty( $shtval ) ) ? '[ujicountdown' . $shtval . ']' : '';
149
 
@@ -177,6 +187,12 @@ class ujic_Widget extends WP_Widget {
177
  $instance['UJI_recurring'] = strip_tags( $new_instance['UJI_recurring'] );
178
  $instance['UJI_rectype'] = strip_tags( $new_instance['UJI_rectype'] );
179
  $instance['UJI_repeats'] = strip_tags( $new_instance['UJI_repeats'] );
 
 
 
 
 
 
180
 
181
  return $instance;
182
  }
@@ -201,26 +217,32 @@ class ujic_Widget extends WP_Widget {
201
  'UJI_subscr' => '',
202
  'UJI_recurring' => '',
203
  'UJI_rectype' => '',
204
- 'UJI_repeats' => ''
 
 
 
 
205
  );
206
 
207
  $instance = wp_parse_args( (array) $instance, $defaults );
208
 
 
209
  ?>
210
 
211
- <p style="font-size:11px">
212
  <strong>Only one timer on page is allowed. </strong><br>Check the <a href="http://www.wpmanage.com/uji-countdown" target="_blank">Pro version</a> for multiple countdown timers on the same page.
213
- <p>
214
 
215
-
 
216
  <!-- Widget Title: Text Input -->
217
- <p>
218
  <label for="<?php echo $this->get_field_id( 'UJI_title' ); ?>"><?php _e( 'Title (optional):', 'ujicountdown' ); ?></label>
219
  <input type="text" name="<?php echo $this->get_field_name( 'UJI_title' ); ?>" value="<?php echo $instance['UJI_title']; ?>" class="widefat" id="<?php echo $this->get_field_id( 'UJI_title' ); ?>" />
220
- </p>
221
 
222
  <!-- Widget Select Style: Select Input -->
223
- <p>
224
 
225
  <?php if ( $this->ujic_forms() ): ?>
226
 
@@ -237,19 +259,35 @@ class ujic_Widget extends WP_Widget {
237
 
238
  <?php endif; ?>
239
 
240
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
 
242
  <!-- Widget Date: Text Input -->
243
- <p>
244
  <label for="<?php echo $this->get_field_id( 'UJI_date' ); ?>"><?php _e( 'Expire Date:', 'ujicountdown' ); ?></label>
245
- <input type="text" name="<?php echo $this->get_field_name( 'UJI_date' ); ?>" value="<?php echo $instance['UJI_date']; ?>" style="background: url('<?php echo UJICOUNTDOWN_URL ?>/assets/images/data-picker.png') no-repeat scroll right top; display:block; height: 26px; width: 180px;" class="widefat ujic_date" id="<?php echo $this->get_field_id( 'UJI_date' ); ?>" />
246
- </p>
247
 
248
  <!-- Widget Select Time: Select Input -->
249
- <p>
250
- <label><?php _e( 'Select the Time:', 'ujicountdown' ); ?></label>
251
  <div style="display: block;">
252
- <div style="display: inline-block; margin: 0 5px 0 5px">
253
  <h4 style="margin:0"><?php _e( 'Hour:', 'ujicountdown' ); ?> </h4>
254
  <select name="<?php echo $this->get_field_name( 'UJI_hours' ); ?>" style="width:50px;" id="<?php echo $this->get_field_id( 'UJI_hours' ); ?>">
255
  <?php
@@ -258,7 +296,7 @@ class ujic_Widget extends WP_Widget {
258
  </select>
259
  </div>
260
  :
261
- <div style="display: inline-block; margin: 0 5px 0 5px">
262
  <h4 style="margin:0"><?php _e( 'Minute:', 'ujicountdown' ); ?> </h4>
263
  <select name="<?php echo $this->get_field_name( 'UJI_minutes' ); ?>" style="width:50px;" id="<?php echo $this->get_field_id( 'UJI_minutes' ); ?>">
264
  <?php
@@ -267,25 +305,25 @@ class ujic_Widget extends WP_Widget {
267
  </select>
268
  </div>
269
  </div>
270
- </p>
271
  <h4><?php _e( 'After Expiry:', 'ujicountdown' ); ?> </h4>
272
  <!-- Widget Hide: Checkbox Input -->
273
- <p>
274
  <label for="<?php echo $this->get_field_id( 'UJI_hide' ); ?>"><?php _e( 'Hide Countdown:', 'ujicountdown' ); ?></label>
275
  <input class="ujic_exp" id="<?php echo $this->get_field_id( 'UJI_hide' ); ?>" name="<?php echo $this->get_field_name( 'UJI_hide' ); ?>" type="checkbox" value="hide" <?php checked( $instance['UJI_hide'], 'hide' ) ?> />
276
- </p>
277
 
278
  <!-- Widget Go to Link: Select Input -->
279
- <p>
280
  <label for="<?php echo $this->get_field_id( 'UJI_url' ); ?>"><?php _e( 'Or go to this link:', 'ujicountdown' ); ?></label><br />
281
  <small><?php _e( 'Select URL to send after expire', 'ujicountdown' ); ?></small>
282
  <input class="widefat ujic_link" id="<?php echo $this->get_field_id( 'UJI_url' ); ?>" name="<?php echo $this->get_field_name( 'UJI_url' ); ?>" type="text" value="<?php echo $instance['UJI_url']; ?>" />
283
- </p>
284
 
285
  <!-- Widget Select Reccuring Time -->
286
  <h4><?php _e( 'Reccuring Time:', 'ujicountdown' ); ?> </h4>
287
 
288
- <p style="display:block; float: none;">
289
  <span style="float:left; display: block; line-height: 28px; min-width: 55px; margin-right: 4px;"><?php _e( 'Every:', 'ujicountdown' ); ?> </span><input class="small-text" style="float:left; padding: 3px 5px;" id="<?php echo $this->get_field_id( 'UJI_recurring' ); ?>" name="<?php echo $this->get_field_name( 'UJI_recurring' ); ?>" type="text" value="<?php echo $instance['UJI_recurring']; ?>" />
290
  <select name="<?php echo $this->get_field_name( 'UJI_rectype' ); ?>" id="<?php echo $this->get_field_id( 'UJI_rectype' ); ?>">
291
  <?php
@@ -296,14 +334,19 @@ class ujic_Widget extends WP_Widget {
296
  <span style="float:left; display: block; line-height: 28px; min-width: 55px; margin-right: 4px;"><?php _e( 'Repeats:', 'ujicountdown' ); ?> </span><input class="small-text" style="float:left; padding: 3px 5px;" id="<?php echo $this->get_field_id( 'UJI_repeats' ); ?>" name="<?php echo $this->get_field_name( 'UJI_repeats' ); ?>" type="text" value="<?php echo $instance['UJI_repeats']; ?>" />
297
  <span style="display: inline-block; line-height: 28px; margin-left: 4px;"> <?php _e( 'leave it empty for unlimited', 'ujicountdown' ); ?> </span>
298
  </div>
299
- </p>
300
 
301
  <!-- Widget Campaign name -->
 
 
 
302
  <h4><?php _e( 'Subscription:', 'ujicountdown' ); ?> </h4>
303
- <p>
304
  <label for="<?php echo $this->get_field_id( 'UJI_subscr' ); ?>"><?php _e( 'Campaign Name:', 'ujicountdown' ); ?></label><br />
305
  <input class="widefat ujic_subscr" id="<?php echo $this->get_field_id( 'UJI_subscr' ); ?>" name="<?php echo $this->get_field_name( 'UJI_subscr' ); ?>" type="text" value="<?php echo $instance['UJI_subscr']; ?>" />
306
- </p>
 
 
307
 
308
  <?php
309
  }
134
  $recurr = isset( $instance['UJI_recurring'] ) ? $instance['UJI_recurring'] : false;
135
  $rectyp = isset( $instance['UJI_rectype'] ) ? $instance['UJI_rectype'] : false;
136
  $repeat = isset( $instance['UJI_repeats'] ) ? $instance['UJI_repeats'] : false;
137
+ $type = isset( $instance['UJI_type'] ) ? $instance['UJI_type'] : false;
138
+ $timer_hr = isset( $instance['UJI_thou'] ) ? $instance['UJI_thou'] : false;
139
+ $timer_mn = isset( $instance['UJI_tmin'] ) ? $instance['UJI_tmin'] : false;
140
+ $timer_sc = isset( $instance['UJI_tsec'] ) ? $instance['UJI_tsec'] : false;
141
 
142
  $shtval = '';
143
  $shtval .= (!empty( $name ) ) ? ' id="' . $name . '"' : '';
144
+ if( $type == 'ujic_type_one' ){
145
+ $shtval .= (!empty( $date ) ) ? ' expire="' . $date . ' ' . $hour . ':' . $minut . '"' : '';
146
+ }
147
+ if( $type == 'ujic_type_rep' ){
148
+ $shtval .= (!empty( $date ) ) ? ' timer="' . $timer_hr . ':' . $timer_mn . ':' . $timer_sc : '';
149
+ }
150
  $shtval .= (!empty( $hide ) ) ? ' hide = "true"' : '';
151
  $shtval .= (!empty( $url ) ) ? ' url = "' . $url . '"' : '';
152
  $shtval .= (!empty( $subscr ) ) ? ' subscr = "' . trim($subscr) . '"' : '';
153
  $shtval .= (!empty( $recurr ) ) ? ' recurring = "' . trim($recurr) . '"' : '';
154
  $shtval .= (!empty( $rectyp ) ) ? ' rectype = "' . trim($rectyp) . '"' : '';
155
  $shtval .= (!empty( $repeat ) ) ? ' repeats = "' . trim($repeat) . '"' : '';
156
+
157
 
158
  $shortcode = (!empty( $shtval ) ) ? '[ujicountdown' . $shtval . ']' : '';
159
 
187
  $instance['UJI_recurring'] = strip_tags( $new_instance['UJI_recurring'] );
188
  $instance['UJI_rectype'] = strip_tags( $new_instance['UJI_rectype'] );
189
  $instance['UJI_repeats'] = strip_tags( $new_instance['UJI_repeats'] );
190
+
191
+ $instance['UJI_type'] = strip_tags( $new_instance['UJI_type'] );
192
+ $instance['UJI_thou'] = strip_tags( $new_instance['UJI_thou'] );
193
+ $instance['UJI_tmin'] = strip_tags( $new_instance['UJI_tmin'] );
194
+ $instance['UJI_tsec'] = strip_tags( $new_instance['UJI_tsec'] );
195
+
196
 
197
  return $instance;
198
  }
217
  'UJI_subscr' => '',
218
  'UJI_recurring' => '',
219
  'UJI_rectype' => '',
220
+ 'UJI_repeats' => '',
221
+ 'UJI_type' => '',
222
+ 'UJI_thou' => '',
223
+ 'UJI_tmin' => '',
224
+ 'UJI_tsec' => ''
225
  );
226
 
227
  $instance = wp_parse_args( (array) $instance, $defaults );
228
 
229
+ if ( 'Uji Countdown Pro' !== UJIC_NAME ):
230
  ?>
231
 
232
+ <div style="font-size:11px">
233
  <strong>Only one timer on page is allowed. </strong><br>Check the <a href="http://www.wpmanage.com/uji-countdown" target="_blank">Pro version</a> for multiple countdown timers on the same page.
234
+ </p>
235
 
236
+ <?php endif; ?>
237
+
238
  <!-- Widget Title: Text Input -->
239
+ <div>
240
  <label for="<?php echo $this->get_field_id( 'UJI_title' ); ?>"><?php _e( 'Title (optional):', 'ujicountdown' ); ?></label>
241
  <input type="text" name="<?php echo $this->get_field_name( 'UJI_title' ); ?>" value="<?php echo $instance['UJI_title']; ?>" class="widefat" id="<?php echo $this->get_field_id( 'UJI_title' ); ?>" />
242
+ </div>
243
 
244
  <!-- Widget Select Style: Select Input -->
245
+ <div>
246
 
247
  <?php if ( $this->ujic_forms() ): ?>
248
 
259
 
260
  <?php endif; ?>
261
 
262
+ </div>
263
+ <!-- Widget Type: Radio -->
264
+ <div>
265
+ <h4><?php _e( 'Timer Type:', 'ujicountdown' ); ?> </h4>
266
+ <label style="padding-right:5px"> <input type="radio" name="<?php echo $this->get_field_name( 'UJI_type' ); ?>" class="ujic_type_radio" <?php checked( $instance['UJI_type'], 'ujic_type_one' ) ?> value="ujic_type_one" checked="checked"> One Time Timer</label>
267
+ <label> <input type="radio" name="<?php echo $this->get_field_name( 'UJI_type' ); ?>" class="ujic_type_radio" <?php checked( $instance['UJI_type'], 'ujic_type_rep' ) ?> value="ujic_type_rep">Repeat Timer </label>
268
+
269
+ <small style="display:block; margin:10px 0"><?php _e( '<strong>One Time Timer:</strong> Timer will countinue until expiration time <br> <strong>Repeat Timer:</strong> Timer will restart on page refresh', 'ujicountdown' ); ?></small>
270
+ </div>
271
+
272
+ <!-- Widget Date: Text Input -->
273
+ <div class="ujict_rep" <?php if ($instance['UJI_type'] == 'ujic_type_one') echo ' style="display:none"'; ?>>
274
+ <label style="display:block"><?php _e( 'Select Time:', 'ujicountdown' ); ?></label>
275
+ <input type="text" name="<?php echo $this->get_field_name( 'UJI_thou' ); ?>" value="<?php echo $instance['UJI_thou']; ?>" placeholder="Hours" class="small-text" style="min-width: 80px;" id="<?php echo $this->get_field_id( 'UJI_thou' ); ?>" />
276
+ <input type="text" name="<?php echo $this->get_field_name( 'UJI_tmin' ); ?>" value="<?php echo $instance['UJI_tmin']; ?>" placeholder="Minutes" class="small-text" style="min-width: 80px;" id="<?php echo $this->get_field_id( 'UJI_tmin' ); ?>" />
277
+ <input type="text" name="<?php echo $this->get_field_name( 'UJI_tsec' ); ?>" value="<?php echo $instance['UJI_tsec']; ?>" placeholder="Seconds" class="small-text" style="min-width: 80px;" id="<?php echo $this->get_field_id( 'UJI_tsec' ); ?>" />
278
+ </div>
279
 
280
  <!-- Widget Date: Text Input -->
281
+ <div class="ujict_one" <?php if ($instance['UJI_type'] == 'ujic_type_rep') echo ' style="display:none"'; ?>>
282
  <label for="<?php echo $this->get_field_id( 'UJI_date' ); ?>"><?php _e( 'Expire Date:', 'ujicountdown' ); ?></label>
283
+ <input type="text" name="<?php echo $this->get_field_name( 'UJI_date' ); ?>" value="<?php echo $instance['UJI_date']; ?>" style="background: url('<?php echo UJICOUNTDOWN_URL ?>/assets/images/data-picker.png') no-repeat scroll right top; display:block; width: 100%;" class="widefat ujic_date" id="<?php echo $this->get_field_id( 'UJI_date' ); ?>" />
284
+ </div>
285
 
286
  <!-- Widget Select Time: Select Input -->
287
+ <div class="ujict_one" <?php if ($instance['UJI_type'] == 'ujic_type_rep') echo ' style="display:none"'; ?>>
288
+ <label style="display:block; margin:10px 0"><?php _e( 'Select the Time:', 'ujicountdown' ); ?></label>
289
  <div style="display: block;">
290
+ <div style="display: inline-block;">
291
  <h4 style="margin:0"><?php _e( 'Hour:', 'ujicountdown' ); ?> </h4>
292
  <select name="<?php echo $this->get_field_name( 'UJI_hours' ); ?>" style="width:50px;" id="<?php echo $this->get_field_id( 'UJI_hours' ); ?>">
293
  <?php
296
  </select>
297
  </div>
298
  :
299
+ <div style="display: inline-block;">
300
  <h4 style="margin:0"><?php _e( 'Minute:', 'ujicountdown' ); ?> </h4>
301
  <select name="<?php echo $this->get_field_name( 'UJI_minutes' ); ?>" style="width:50px;" id="<?php echo $this->get_field_id( 'UJI_minutes' ); ?>">
302
  <?php
305
  </select>
306
  </div>
307
  </div>
308
+ </div>
309
  <h4><?php _e( 'After Expiry:', 'ujicountdown' ); ?> </h4>
310
  <!-- Widget Hide: Checkbox Input -->
311
+ <div style="margin:15px 0">
312
  <label for="<?php echo $this->get_field_id( 'UJI_hide' ); ?>"><?php _e( 'Hide Countdown:', 'ujicountdown' ); ?></label>
313
  <input class="ujic_exp" id="<?php echo $this->get_field_id( 'UJI_hide' ); ?>" name="<?php echo $this->get_field_name( 'UJI_hide' ); ?>" type="checkbox" value="hide" <?php checked( $instance['UJI_hide'], 'hide' ) ?> />
314
+ </div>
315
 
316
  <!-- Widget Go to Link: Select Input -->
317
+ <div>
318
  <label for="<?php echo $this->get_field_id( 'UJI_url' ); ?>"><?php _e( 'Or go to this link:', 'ujicountdown' ); ?></label><br />
319
  <small><?php _e( 'Select URL to send after expire', 'ujicountdown' ); ?></small>
320
  <input class="widefat ujic_link" id="<?php echo $this->get_field_id( 'UJI_url' ); ?>" name="<?php echo $this->get_field_name( 'UJI_url' ); ?>" type="text" value="<?php echo $instance['UJI_url']; ?>" />
321
+ </div>
322
 
323
  <!-- Widget Select Reccuring Time -->
324
  <h4><?php _e( 'Reccuring Time:', 'ujicountdown' ); ?> </h4>
325
 
326
+ <div style="display:block; float: none;">
327
  <span style="float:left; display: block; line-height: 28px; min-width: 55px; margin-right: 4px;"><?php _e( 'Every:', 'ujicountdown' ); ?> </span><input class="small-text" style="float:left; padding: 3px 5px;" id="<?php echo $this->get_field_id( 'UJI_recurring' ); ?>" name="<?php echo $this->get_field_name( 'UJI_recurring' ); ?>" type="text" value="<?php echo $instance['UJI_recurring']; ?>" />
328
  <select name="<?php echo $this->get_field_name( 'UJI_rectype' ); ?>" id="<?php echo $this->get_field_id( 'UJI_rectype' ); ?>">
329
  <?php
334
  <span style="float:left; display: block; line-height: 28px; min-width: 55px; margin-right: 4px;"><?php _e( 'Repeats:', 'ujicountdown' ); ?> </span><input class="small-text" style="float:left; padding: 3px 5px;" id="<?php echo $this->get_field_id( 'UJI_repeats' ); ?>" name="<?php echo $this->get_field_name( 'UJI_repeats' ); ?>" type="text" value="<?php echo $instance['UJI_repeats']; ?>" />
335
  <span style="display: inline-block; line-height: 28px; margin-left: 4px;"> <?php _e( 'leave it empty for unlimited', 'ujicountdown' ); ?> </span>
336
  </div>
337
+ </div>
338
 
339
  <!-- Widget Campaign name -->
340
+
341
+ <?php if ( defined( 'UJICSU_VERS' ) ): ?>
342
+
343
  <h4><?php _e( 'Subscription:', 'ujicountdown' ); ?> </h4>
344
+ <div>
345
  <label for="<?php echo $this->get_field_id( 'UJI_subscr' ); ?>"><?php _e( 'Campaign Name:', 'ujicountdown' ); ?></label><br />
346
  <input class="widefat ujic_subscr" id="<?php echo $this->get_field_id( 'UJI_subscr' ); ?>" name="<?php echo $this->get_field_name( 'UJI_subscr' ); ?>" type="text" value="<?php echo $instance['UJI_subscr']; ?>" />
347
+ </div>
348
+
349
+ <?php endif; ?>
350
 
351
  <?php
352
  }
css/uji-countdown.css CHANGED
@@ -1,206 +1,237 @@
1
- /* ==========================================================================
2
- Classic
3
- ========================================================================== */
4
- .ujic-classic{
5
- position: relative;
6
- overflow: hidden;
7
- }
8
-
9
- .ujic-classic .countdown_section {
10
- float:left;
11
- display: block;
12
- text-align: center;
13
- margin: 0 15px 0 0;
14
- }
15
-
16
- .ujic-classic span.countdown_amount {
17
- display: inline-block;
18
- color: #fff;
19
- padding: 5px 8px;
20
- margin-right: 2px;
21
-
22
- font: 35px/1.5 'Open Sans Condensed',sans-serif;
23
- font-weight: normal;
24
-
25
- box-shadow:1px 1px 1px rgba(4, 4, 4, 0.35);
26
-
27
- -webkit-border-radius: 5px;
28
- -ms-border-radius: 5px;
29
- -moz-border-radius: 5px;
30
- -o-border-radius: 5px;
31
- border-radius: 5px;
32
- text-shadow: 1px 1px 1px #000;
33
-
34
- background: #a61ba6; /* Old browsers */
35
- background: -moz-linear-gradient(top, #a61ba6 50%, #c368c3 50%); /* FF3.6+ */
36
- background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#a61ba6), color-stop(50%,#c368c3)); /* Chrome,Safari4+ */
37
- background: -webkit-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* Chrome10+,Safari5.1+ */
38
- background: -o-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* Opera 11.10+ */
39
- background: -ms-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* IE10+ */
40
- background: linear-gradient(to bottom, #a61ba6 50%,#c368c3 50%); /* W3C */
41
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a61ba6', endColorstr='#c368c3',GradientType=0 ); /* IE6-9 */
42
-
43
- }
44
-
45
- .ujic-classic span.countdown_txt {
46
- display: block;
47
- text-align: center;
48
- margin: 5px 0 0 0;
49
- }
50
-
51
- /* The ghost, nudged to maintain perfect centering */
52
- .ujic-hold:before {
53
- content: '';
54
- display: inline-block;
55
- height: 100%;
56
- vertical-align: middle;
57
- margin-right: -0.25em; /* Adjusts for spacing */
58
- }
59
-
60
- .ujic-hold .ujiCountdown {
61
- display: inline-block;
62
- vertical-align: middle;
63
- }
64
-
65
- .ujic_center{
66
- text-align: center;
67
- }
68
-
69
- .ujic_left{
70
- text-align: left;
71
- }
72
-
73
- .ujic_right{
74
- text-align: right;
75
- }
76
-
77
- .ujic_right:after{
78
- clear: both;
79
- float: none;
80
- }
81
-
82
- .countdown_section {
83
- width: auto!important;
84
- text-transform: none!important;
85
- }
86
-
87
-
88
- /******************** Newsletter *************/
89
- .ujicf:before, .ujicf:after { content: ""; display: table; }
90
- .ujicf:after { clear: both; }
91
- .ujicf { *zoom: 1; }
92
-
93
- #ujiCountdown
94
- {
95
- display:inline-block;
96
- margin-bottom:0;
97
- }
98
-
99
- #ujiCountdown span.countdown_row
100
- {
101
- display:block;
102
- }
103
-
104
- #ujiCountdown span.ujic_s
105
- {
106
- margin-right: 0;
107
- }
108
-
109
- #uji-wrapper
110
- {
111
- display:inline-block;
112
- margin: 0 auto;
113
- }
114
-
115
- .ujic-hold form
116
- {
117
- display:block;
118
- margin: 0;
119
- padding: 0;
120
- overflow: hidden;
121
- width: 100%;
122
- }
123
-
124
- .ujic-hold form span
125
- {
126
- display: block;
127
- font-size: 13px;
128
- font-weight: 600;
129
- line-height: 1.1em;
130
- margin: 1em 0;
131
- text-align: center;
132
- }
133
-
134
- .ujic-hold form p
135
- {
136
- width:100%;
137
- display: inline-block;
138
- margin: 0 auto !important;
139
- text-align: center;
140
- }
141
-
142
- .ujic-hold form input
143
- {
144
- display: inline !important;
145
- margin: 0 !important;
146
- padding: 0 !important;
147
- height: 30px !important;
148
- }
149
-
150
- .ujic-hold form div
151
- {
152
- text-align: center;
153
- }
154
-
155
- .ujic-hold form input[type="text"]
156
- {
157
- background: none repeat scroll 0 0 #fff;
158
- border: medium none;
159
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset;
160
- border-radius: 3px 0 0 3px;
161
- font-size: 13px;
162
- margin: 0;
163
- padding: 0px 5%;
164
- text-align: center;
165
- width: 70%;
166
- float:left;
167
- }
168
-
169
- .ujic-hold form input[type="submit"]
170
- {
171
- border-radius: 0 3px 3px 0;
172
- font-size: 13px;
173
- font-weight: 600;
174
- margin: 0;
175
- padding: 0 3%;
176
- text-transform: uppercase;
177
- width: 30%;
178
- border: medium none;
179
- box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
180
- color: #fff;
181
- background: linear-gradient(to bottom , #c816d0, #ab02b2) repeat scroll 0 0 rgba(0, 0, 0, 0);
182
- float:left;
183
- }
184
- .ujic-hold form span.uji-msg-err
185
- {
186
- color:#CE0000;
187
- }
188
- .ujic-hold form span.uji-msg-ok
189
- {
190
- color:green;
191
- }
192
-
193
- .ujic-hold form div span
194
- {
195
- display: none;
196
- line-height: 1em;
197
- margin: 0;
198
- text-align: center;
199
- }
200
-
201
- /* ==========================================================================
202
- RTL
203
- ========================================================================== */
204
- .countdown-rtl{
205
- direction: initial;
206
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ==========================================================================
2
+ Classic
3
+ ========================================================================== */
4
+
5
+ .ujic-classic *{
6
+ box-sizing: content-box!important;
7
+ -webkit-box-sizing: content-box!important;
8
+ }
9
+
10
+ .ujic-classic{
11
+ position: relative;
12
+ overflow: hidden;
13
+ }
14
+
15
+ .ujic-classic .countdown_section {
16
+ float:left;
17
+ display: block;
18
+ text-align: center;
19
+ margin: 0 15px 0 0;
20
+ }
21
+
22
+ .ujic-classic span.countdown_amount {
23
+ display: inline-block;
24
+ color: #fff;
25
+ padding: 5px 10px;
26
+ margin-right: 2px;
27
+
28
+ font: 35px/1.5 'Open Sans Condensed',sans-serif;
29
+ font-weight: normal;
30
+
31
+ box-shadow:1px 1px 1px rgba(4, 4, 4, 0.35);
32
+
33
+ -webkit-border-radius: 5px;
34
+ -ms-border-radius: 5px;
35
+ -moz-border-radius: 5px;
36
+ -o-border-radius: 5px;
37
+ border-radius: 5px;
38
+ text-shadow: 1px 1px 1px #000;
39
+
40
+ background: #a61ba6; /* Old browsers */
41
+ background: -moz-linear-gradient(top, #a61ba6 50%, #c368c3 50%); /* FF3.6+ */
42
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#a61ba6), color-stop(50%,#c368c3)); /* Chrome,Safari4+ */
43
+ background: -webkit-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* Chrome10+,Safari5.1+ */
44
+ background: -o-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* Opera 11.10+ */
45
+ background: -ms-linear-gradient(top, #a61ba6 50%,#c368c3 50%); /* IE10+ */
46
+ background: linear-gradient(to bottom, #a61ba6 50%,#c368c3 50%); /* W3C */
47
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a61ba6', endColorstr='#c368c3',GradientType=0 ); /* IE6-9 */
48
+
49
+ }
50
+
51
+ .ujic-classic span.countdown_txt {
52
+ display: block;
53
+ text-align: center;
54
+ margin: 5px 0 0 0;
55
+ clear: both;
56
+ }
57
+
58
+ /* Visual Composer Fixes */
59
+ .ujic-hold{
60
+ padding: 0!important;
61
+ float: none!important;
62
+ }
63
+
64
+ /* The ghost, nudged to maintain perfect centering */
65
+ .ujic-hold:before {
66
+ content: '';
67
+ display: inline-block;
68
+ height: 100%;
69
+ vertical-align: middle;
70
+ margin-right: -0.25em; /* Adjusts for spacing */
71
+ }
72
+
73
+ .ujic-hold .ujiCountdown {
74
+ display: inline-block;
75
+ vertical-align: middle;
76
+ }
77
+
78
+ .ujic_center{
79
+ text-align: center;
80
+ }
81
+
82
+ .ujic_left{
83
+ text-align: left;
84
+ }
85
+
86
+ .ujic_right{
87
+ text-align: right;
88
+ }
89
+
90
+ .ujic_right:after{
91
+ clear: both;
92
+ float: none;
93
+ }
94
+
95
+ .countdown_section {
96
+ width: auto!important;
97
+ text-transform: none!important;
98
+ }
99
+
100
+ /* ==========================================================================
101
+ Newsletter
102
+ ========================================================================== */
103
+
104
+ .ujicf:before, .ujicf:after { content: ""; display: table; }
105
+ .ujicf:after { clear: both; }
106
+ .ujicf { *zoom: 1; }
107
+
108
+ #ujiCountdown
109
+ {
110
+ display:inline-block;
111
+ margin-bottom:0;
112
+ }
113
+
114
+ #ujiCountdown span.countdown_row
115
+ {
116
+ display:block;
117
+ }
118
+
119
+ #ujiCountdown span.ujic_s
120
+ {
121
+ margin-right: 0;
122
+ }
123
+
124
+ #uji-wrapper
125
+ {
126
+ display:inline-block;
127
+ margin: 0 auto;
128
+ box-sizing: content-box!important;
129
+ -webkit-box-sizing: content-box!important;
130
+ }
131
+
132
+ .ujic-hold form
133
+ {
134
+ display:block;
135
+ margin: 0;
136
+ padding: 0;
137
+ overflow: hidden;
138
+ width: 100%;
139
+ }
140
+
141
+ .ujic-hold form span
142
+ {
143
+ display: block;
144
+ font-size: 13px;
145
+ font-weight: 600;
146
+ line-height: 1.1em;
147
+ margin: 1em 0;
148
+ text-align: center;
149
+ }
150
+
151
+ .ujic-hold form p
152
+ {
153
+ width:100%;
154
+ display: inline-block;
155
+ margin: 0 auto !important;
156
+ text-align: center;
157
+ }
158
+
159
+ .ujic-hold form input
160
+ {
161
+ display: inline !important;
162
+ margin: 0 !important;
163
+ padding: 0 !important;
164
+ height: 30px !important;
165
+ }
166
+
167
+ .ujic-hold form div
168
+ {
169
+ text-align: center;
170
+ }
171
+
172
+ .ujic-hold form input[type="text"]
173
+ {
174
+ background: none repeat scroll 0 0 #fff;
175
+ border: medium none;
176
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset;
177
+ border-radius: 3px 0 0 3px;
178
+ font-size: 13px;
179
+ margin: 0;
180
+ padding: 0px 5%;
181
+ text-align: center;
182
+ width: 70%;
183
+ float:left;
184
+ }
185
+
186
+ .ujic-hold form input[type="submit"]
187
+ {
188
+ border-radius: 0 3px 3px 0;
189
+ font-size: 13px;
190
+ font-weight: 600;
191
+ margin: 0;
192
+ padding: 0 3%;
193
+ text-transform: uppercase;
194
+ width: 30%;
195
+ border: medium none;
196
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
197
+ color: #fff;
198
+ background: linear-gradient(to bottom , #c816d0, #ab02b2) repeat scroll 0 0 rgba(0, 0, 0, 0);
199
+ float:left;
200
+ }
201
+ .ujic-hold form span.uji-msg-err
202
+ {
203
+ color:#CE0000;
204
+ }
205
+ .ujic-hold form span.uji-msg-ok
206
+ {
207
+ color:green;
208
+ }
209
+
210
+ .ujic-hold form div span
211
+ {
212
+ display: none;
213
+ line-height: 1em;
214
+ margin: 0;
215
+ text-align: center;
216
+ }
217
+
218
+ /* ==========================================================================
219
+ RTL
220
+ ========================================================================== */
221
+ .countdown-rtl{
222
+ direction: initial;
223
+ }
224
+
225
+
226
+ /* ==========================================================================
227
+ Modern
228
+ ========================================================================== */
229
+ .ujic-modern .ujicircle{
230
+ display: inline-block;
231
+ margin: 0.5em;
232
+ }
233
+
234
+ .ujic-modern .circles-wrp span.countdown_txt {
235
+ text-align: center;
236
+ display: block;
237
+ }
dist/blocks.build.js ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, {
40
+ /******/ configurable: false,
41
+ /******/ enumerable: true,
42
+ /******/ get: getter
43
+ /******/ });
44
+ /******/ }
45
+ /******/ };
46
+ /******/
47
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
48
+ /******/ __webpack_require__.n = function(module) {
49
+ /******/ var getter = module && module.__esModule ?
50
+ /******/ function getDefault() { return module['default']; } :
51
+ /******/ function getModuleExports() { return module; };
52
+ /******/ __webpack_require__.d(getter, 'a', getter);
53
+ /******/ return getter;
54
+ /******/ };
55
+ /******/
56
+ /******/ // Object.prototype.hasOwnProperty.call
57
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
58
+ /******/
59
+ /******/ // __webpack_public_path__
60
+ /******/ __webpack_require__.p = "";
61
+ /******/
62
+ /******/ // Load entry module and return exports
63
+ /******/ return __webpack_require__(__webpack_require__.s = 3);
64
+ /******/ })
65
+ /************************************************************************/
66
+ /******/ ([
67
+ /* 0 */
68
+ /*!*****************************!*\
69
+ !*** external "wp.element" ***!
70
+ \*****************************/
71
+ /*! dynamic exports provided */
72
+ /*! exports used: Component, Fragment, RawHTML */
73
+ /***/ (function(module, exports) {
74
+
75
+ module.exports = wp.element;
76
+
77
+ /***/ }),
78
+ /* 1 */
79
+ /*!********************************!*\
80
+ !*** external "wp.components" ***!
81
+ \********************************/
82
+ /*! dynamic exports provided */
83
+ /*! exports used: DateTimePicker, PanelBody, PanelRow, Path, RadioControl, SVG, SelectControl, TextControl, ToggleControl */
84
+ /***/ (function(module, exports) {
85
+
86
+ module.exports = wp.components;
87
+
88
+ /***/ }),
89
+ /* 2 */
90
+ /*!**************************!*\
91
+ !*** external "wp.i18n" ***!
92
+ \**************************/
93
+ /*! dynamic exports provided */
94
+ /*! exports used: __ */
95
+ /***/ (function(module, exports) {
96
+
97
+ module.exports = wp.i18n;
98
+
99
+ /***/ }),
100
+ /* 3 */
101
+ /*!***********************!*\
102
+ !*** ./src/blocks.js ***!
103
+ \***********************/
104
+ /*! no exports provided */
105
+ /*! all exports used */
106
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
107
+
108
+ "use strict";
109
+ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__block_block_js__ = __webpack_require__(/*! ./block/block.js */ 4);\n/**\n * Gutenberg Blocks\n *\n * All blocks related JavaScript files should be imported here.\n * You can create a new block folder in this dir and include code\n * for that block here as well.\n *\n * All blocks should be included here since this is the file that\n * Webpack is compiling as the input file.\n */\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9ja3MuanM/N2I1YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEd1dGVuYmVyZyBCbG9ja3NcbiAqXG4gKiBBbGwgYmxvY2tzIHJlbGF0ZWQgSmF2YVNjcmlwdCBmaWxlcyBzaG91bGQgYmUgaW1wb3J0ZWQgaGVyZS5cbiAqIFlvdSBjYW4gY3JlYXRlIGEgbmV3IGJsb2NrIGZvbGRlciBpbiB0aGlzIGRpciBhbmQgaW5jbHVkZSBjb2RlXG4gKiBmb3IgdGhhdCBibG9jayBoZXJlIGFzIHdlbGwuXG4gKlxuICogQWxsIGJsb2NrcyBzaG91bGQgYmUgaW5jbHVkZWQgaGVyZSBzaW5jZSB0aGlzIGlzIHRoZSBmaWxlIHRoYXRcbiAqIFdlYnBhY2sgaXMgY29tcGlsaW5nIGFzIHRoZSBpbnB1dCBmaWxlLlxuICovXG5cbmltcG9ydCAnLi9ibG9jay9ibG9jay5qcyc7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzLmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n");
110
+
111
+ /***/ }),
112
+ /* 4 */
113
+ /*!****************************!*\
114
+ !*** ./src/block/block.js ***!
115
+ \****************************/
116
+ /*! no exports provided */
117
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
118
+
119
+ "use strict";
120
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_scss__ = __webpack_require__(/*! ./style.scss */ 6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__block_json__ = __webpack_require__(/*! ./block.json */ 7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__block_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__block_json__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__edit__ = __webpack_require__(/*! ./edit */ 8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__save__ = __webpack_require__(/*! ./save */ 12);\n/**\r\n * BLOCK: uji-countdown-2020\r\n *\r\n * Registering a basic block with Gutenberg.\r\n * Simple block, renders and saves the same content without any interactivity.\r\n */\n\n// Import CSS.\n\n\n\n\n\n\n\nvar __ = wp.i18n.__; // Import __() from wp.i18n\n\nvar registerBlockType = wp.blocks.registerBlockType; // Import registerBlockType() from wp.blocks\n\nvar name = __WEBPACK_IMPORTED_MODULE_2__block_json___default.a.name,\n category = __WEBPACK_IMPORTED_MODULE_2__block_json___default.a.category,\n attributes = __WEBPACK_IMPORTED_MODULE_2__block_json___default.a.attributes;\n\n/**\r\n * Register: aa Gutenberg Block.\r\n *\r\n * Registers a new block provided a unique name and an object defining its\r\n * behavior. Once registered, the block is made editor as an option to any\r\n * editor interface where blocks are implemented.\r\n *\r\n * @link https://wordpress.org/gutenberg/handbook/block-api/\r\n * @param {string} name Block name.\r\n * @param {Object} settings Block settings.\r\n * @return {?WPBlock} The block, if it has been successfully\r\n * registered; otherwise `undefined`.\r\n */\n\nregisterBlockType(name, {\n\t// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.\n\ttitle: __('Uji Countdown'), // Block title.\n\ticon: 'clock', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.\n\tcategory: category, // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.\n\tkeywords: [__('Uji Countdown'), __('Countdown Timer'), __('uji-countdown')],\n\n\tattributes: attributes,\n\n\t/**\r\n * The edit function describes the structure of your block in the context of the editor.\r\n * This represents what the editor will render when the block is used.\r\n *\r\n * The \"edit\" property must be a valid function.\r\n *\r\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\r\n *\r\n * @param {Object} props Props.\r\n * @returns {Mixed} JSX Component.\r\n */\n\tedit: __WEBPACK_IMPORTED_MODULE_3__edit__[\"a\" /* default */],\n\n\t/**\r\n * The save function defines the way in which the different attributes should be combined\r\n * into the final markup, which is then serialized by Gutenberg into post_content.\r\n *\r\n * The \"save\" property must be specified and must be a valid function.\r\n *\r\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\r\n *\r\n * @param {Object} props Props.\r\n * @returns {Mixed} JSX Frontend HTML.\r\n */\n\tsave: __WEBPACK_IMPORTED_MODULE_4__save__[\"a\" /* default */]\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9ibG9jay5qcz85MjFkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBCTE9DSzogdWppLWNvdW50ZG93bi0yMDIwXHJcbiAqXHJcbiAqIFJlZ2lzdGVyaW5nIGEgYmFzaWMgYmxvY2sgd2l0aCBHdXRlbmJlcmcuXHJcbiAqIFNpbXBsZSBibG9jaywgcmVuZGVycyBhbmQgc2F2ZXMgdGhlIHNhbWUgY29udGVudCB3aXRob3V0IGFueSBpbnRlcmFjdGl2aXR5LlxyXG4gKi9cblxuLy8gIEltcG9ydCBDU1MuXG5pbXBvcnQgJy4vZWRpdG9yLnNjc3MnO1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuXG5pbXBvcnQgbWV0YWRhdGEgZnJvbSAnLi9ibG9jay5qc29uJztcbmltcG9ydCBlZGl0IGZyb20gJy4vZWRpdCc7XG5pbXBvcnQgc2F2ZSBmcm9tICcuL3NhdmUnO1xuXG52YXIgX18gPSB3cC5pMThuLl9fOyAvLyBJbXBvcnQgX18oKSBmcm9tIHdwLmkxOG5cblxudmFyIHJlZ2lzdGVyQmxvY2tUeXBlID0gd3AuYmxvY2tzLnJlZ2lzdGVyQmxvY2tUeXBlOyAvLyBJbXBvcnQgcmVnaXN0ZXJCbG9ja1R5cGUoKSBmcm9tIHdwLmJsb2Nrc1xuXG52YXIgbmFtZSA9IG1ldGFkYXRhLm5hbWUsXG4gICAgY2F0ZWdvcnkgPSBtZXRhZGF0YS5jYXRlZ29yeSxcbiAgICBhdHRyaWJ1dGVzID0gbWV0YWRhdGEuYXR0cmlidXRlcztcblxuLyoqXHJcbiAqIFJlZ2lzdGVyOiBhYSBHdXRlbmJlcmcgQmxvY2suXHJcbiAqXHJcbiAqIFJlZ2lzdGVycyBhIG5ldyBibG9jayBwcm92aWRlZCBhIHVuaXF1ZSBuYW1lIGFuZCBhbiBvYmplY3QgZGVmaW5pbmcgaXRzXHJcbiAqIGJlaGF2aW9yLiBPbmNlIHJlZ2lzdGVyZWQsIHRoZSBibG9jayBpcyBtYWRlIGVkaXRvciBhcyBhbiBvcHRpb24gdG8gYW55XHJcbiAqIGVkaXRvciBpbnRlcmZhY2Ugd2hlcmUgYmxvY2tzIGFyZSBpbXBsZW1lbnRlZC5cclxuICpcclxuICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvXHJcbiAqIEBwYXJhbSAge3N0cmluZ30gICBuYW1lICAgICBCbG9jayBuYW1lLlxyXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgc2V0dGluZ3MgQmxvY2sgc2V0dGluZ3MuXHJcbiAqIEByZXR1cm4gez9XUEJsb2NrfSAgICAgICAgICBUaGUgYmxvY2ssIGlmIGl0IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseVxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJlZDsgb3RoZXJ3aXNlIGB1bmRlZmluZWRgLlxyXG4gKi9cblxucmVnaXN0ZXJCbG9ja1R5cGUobmFtZSwge1xuXHQvLyBCbG9jayBuYW1lLiBCbG9jayBuYW1lcyBtdXN0IGJlIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgbmFtZXNwYWNlIHByZWZpeC4gRXhhbXBsZTogbXktcGx1Z2luL215LWN1c3RvbS1ibG9jay5cblx0dGl0bGU6IF9fKCdVamkgQ291bnRkb3duJyksIC8vIEJsb2NrIHRpdGxlLlxuXHRpY29uOiAnY2xvY2snLCAvLyBCbG9jayBpY29uIGZyb20gRGFzaGljb25zIOKGkiBodHRwczovL2RldmVsb3Blci53b3JkcHJlc3Mub3JnL3Jlc291cmNlL2Rhc2hpY29ucy8uXG5cdGNhdGVnb3J5OiBjYXRlZ29yeSwgLy8gQmxvY2sgY2F0ZWdvcnkg4oCUIEdyb3VwIGJsb2NrcyB0b2dldGhlciBiYXNlZCBvbiBjb21tb24gdHJhaXRzIEUuZy4gY29tbW9uLCBmb3JtYXR0aW5nLCBsYXlvdXQgd2lkZ2V0cywgZW1iZWQuXG5cdGtleXdvcmRzOiBbX18oJ1VqaSBDb3VudGRvd24nKSwgX18oJ0NvdW50ZG93biBUaW1lcicpLCBfXygndWppLWNvdW50ZG93bicpXSxcblxuXHRhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLFxuXG5cdC8qKlxyXG4gICogVGhlIGVkaXQgZnVuY3Rpb24gZGVzY3JpYmVzIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBibG9jayBpbiB0aGUgY29udGV4dCBvZiB0aGUgZWRpdG9yLlxyXG4gICogVGhpcyByZXByZXNlbnRzIHdoYXQgdGhlIGVkaXRvciB3aWxsIHJlbmRlciB3aGVuIHRoZSBibG9jayBpcyB1c2VkLlxyXG4gICpcclxuICAqIFRoZSBcImVkaXRcIiBwcm9wZXJ0eSBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24uXHJcbiAgKlxyXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xyXG4gICpcclxuICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBQcm9wcy5cclxuICAqIEByZXR1cm5zIHtNaXhlZH0gSlNYIENvbXBvbmVudC5cclxuICAqL1xuXHRlZGl0OiBlZGl0LFxuXG5cdC8qKlxyXG4gICogVGhlIHNhdmUgZnVuY3Rpb24gZGVmaW5lcyB0aGUgd2F5IGluIHdoaWNoIHRoZSBkaWZmZXJlbnQgYXR0cmlidXRlcyBzaG91bGQgYmUgY29tYmluZWRcclxuICAqIGludG8gdGhlIGZpbmFsIG1hcmt1cCwgd2hpY2ggaXMgdGhlbiBzZXJpYWxpemVkIGJ5IEd1dGVuYmVyZyBpbnRvIHBvc3RfY29udGVudC5cclxuICAqXHJcbiAgKiBUaGUgXCJzYXZlXCIgcHJvcGVydHkgbXVzdCBiZSBzcGVjaWZpZWQgYW5kIG11c3QgYmUgYSB2YWxpZCBmdW5jdGlvbi5cclxuICAqXHJcbiAgKiBAbGluayBodHRwczovL3dvcmRwcmVzcy5vcmcvZ3V0ZW5iZXJnL2hhbmRib29rL2Jsb2NrLWFwaS9ibG9jay1lZGl0LXNhdmUvXHJcbiAgKlxyXG4gICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFByb3BzLlxyXG4gICogQHJldHVybnMge01peGVkfSBKU1ggRnJvbnRlbmQgSFRNTC5cclxuICAqL1xuXHRzYXZlOiBzYXZlXG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n");
121
+
122
+ /***/ }),
123
+ /* 5 */
124
+ /*!*******************************!*\
125
+ !*** ./src/block/editor.scss ***!
126
+ \*******************************/
127
+ /*! dynamic exports provided */
128
+ /***/ (function(module, exports) {
129
+
130
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9lZGl0b3Iuc2Nzcz80OWQyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2svZWRpdG9yLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n");
131
+
132
+ /***/ }),
133
+ /* 6 */
134
+ /*!******************************!*\
135
+ !*** ./src/block/style.scss ***!
136
+ \******************************/
137
+ /*! dynamic exports provided */
138
+ /***/ (function(module, exports) {
139
+
140
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9zdHlsZS5zY3NzPzgwZjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9zdHlsZS5zY3NzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n");
141
+
142
+ /***/ }),
143
+ /* 7 */
144
+ /*!******************************!*\
145
+ !*** ./src/block/block.json ***!
146
+ \******************************/
147
+ /*! dynamic exports provided */
148
+ /*! exports used: default */
149
+ /***/ (function(module, exports) {
150
+
151
+ eval("module.exports = {\"name\":\"urc/block-uji-countdown-2020\",\"category\":\"common\",\"attributes\":{\"countStyles\":{\"type\":\"string\",\"default\":\"\"},\"datetime\":{\"type\":\"string\",\"default\":\"2020-01-01 12:01:00\"},\"timeonly\":{\"type\":\"string\",\"default\":\"12:00\"},\"isStackedOnMobile\":{\"type\":\"boolean\",\"default\":false},\"timerType\":{\"type\":\"string\",\"default\":\"onetime\"},\"thour\":{\"type\":\"string\",\"default\":\"\"},\"tmin\":{\"type\":\"string\",\"default\":\"\"},\"tsec\":{\"type\":\"string\",\"default\":\"\"},\"hide\":{\"type\":\"boolean\",\"default\":true},\"url\":{\"type\":\"string\",\"default\":\"\"},\"unitNum\":{\"type\":\"string\",\"default\":\"hou\"},\"unitTime\":{\"type\":\"string\",\"default\":\"sec\"},\"repeats\":{\"type\":\"string\",\"default\":\"\"},\"news\":{\"type\":\"string\",\"default\":\"\"}}}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9ibG9jay5qc29uPzgxY2MiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7XCJuYW1lXCI6XCJ1cmMvYmxvY2stdWppLWNvdW50ZG93bi0yMDIwXCIsXCJjYXRlZ29yeVwiOlwiY29tbW9uXCIsXCJhdHRyaWJ1dGVzXCI6e1wiY291bnRTdHlsZXNcIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIlwifSxcImRhdGV0aW1lXCI6e1widHlwZVwiOlwic3RyaW5nXCIsXCJkZWZhdWx0XCI6XCIyMDIwLTAxLTAxIDEyOjAxOjAwXCJ9LFwidGltZW9ubHlcIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIjEyOjAwXCJ9LFwiaXNTdGFja2VkT25Nb2JpbGVcIjp7XCJ0eXBlXCI6XCJib29sZWFuXCIsXCJkZWZhdWx0XCI6ZmFsc2V9LFwidGltZXJUeXBlXCI6e1widHlwZVwiOlwic3RyaW5nXCIsXCJkZWZhdWx0XCI6XCJvbmV0aW1lXCJ9LFwidGhvdXJcIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIlwifSxcInRtaW5cIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIlwifSxcInRzZWNcIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIlwifSxcImhpZGVcIjp7XCJ0eXBlXCI6XCJib29sZWFuXCIsXCJkZWZhdWx0XCI6dHJ1ZX0sXCJ1cmxcIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcIlwifSxcInVuaXROdW1cIjp7XCJ0eXBlXCI6XCJzdHJpbmdcIixcImRlZmF1bHRcIjpcImhvdVwifSxcInVuaXRUaW1lXCI6e1widHlwZVwiOlwic3RyaW5nXCIsXCJkZWZhdWx0XCI6XCJzZWNcIn0sXCJyZXBlYXRzXCI6e1widHlwZVwiOlwic3RyaW5nXCIsXCJkZWZhdWx0XCI6XCJcIn0sXCJuZXdzXCI6e1widHlwZVwiOlwic3RyaW5nXCIsXCJkZWZhdWx0XCI6XCJcIn19fVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL2Jsb2NrLmpzb25cbi8vIG1vZHVsZSBpZCA9IDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
152
+
153
+ /***/ }),
154
+ /* 8 */
155
+ /*!***************************!*\
156
+ !*** ./src/block/edit.js ***!
157
+ \***************************/
158
+ /*! exports provided: default */
159
+ /*! exports used: default */
160
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
161
+
162
+ "use strict";
163
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__icons__ = __webpack_require__(/*! ./icons */ 9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__inspector__ = __webpack_require__(/*! ./inspector */ 10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_i18n__ = __webpack_require__(/*! @wordpress/i18n */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_i18n___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__wordpress_i18n__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__wordpress_element__ = __webpack_require__(/*! @wordpress/element */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__wordpress_element___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__wordpress_element__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n\n\n// import { DateTimePicker } from '@wordpress/components';\n// import { __experimentalGetSettings } from '@wordpress/date';\n// import { withState } from '@wordpress/compose';\n\n\n\nvar UjiCountEdit = function (_Component) {\n\t_inherits(UjiCountEdit, _Component);\n\n\tfunction UjiCountEdit() {\n\t\t_classCallCheck(this, UjiCountEdit);\n\n\t\treturn _possibleConstructorReturn(this, (UjiCountEdit.__proto__ || Object.getPrototypeOf(UjiCountEdit)).apply(this, arguments));\n\t}\n\n\t_createClass(UjiCountEdit, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar attributes = this.props.attributes;\n\t\t\tvar datetime = attributes.datetime,\n\t\t\t timerType = attributes.timerType,\n\t\t\t thour = attributes.thour,\n\t\t\t tmin = attributes.tmin,\n\t\t\t tsec = attributes.tsec;\n\n\n\t\t\tvar isStyles = typeof ujic_short_vars !== 'undefined' ? true : null;\n\n\t\t\tvar convertDigit = function convertDigit(num) {\n\t\t\t\treturn num.length == 1 ? '0' + num : num;\n\t\t\t};\n\n\t\t\tif (isStyles) {\n\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_3__wordpress_element__[\"Fragment\"],\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__inspector__[\"a\" /* default */], this.props),\n\t\t\t\t\ttimerType === 'onetime' && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'wp-block-urc-block' },\n\t\t\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_2__wordpress_i18n__[\"__\"])('Expire on:', 'ujicountdown'),\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'strong',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'time',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tdatetime\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\ttimerType === 'repeat' && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'wp-block-urc-block' },\n\t\t\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_2__wordpress_i18n__[\"__\"])('Countdown time:', 'ujicountdown'),\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'strong',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'time',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tconvertDigit(thour),\n\t\t\t\t\t\t\t\t' : ',\n\t\t\t\t\t\t\t\tconvertDigit(tmin),\n\t\t\t\t\t\t\t\t' : ',\n\t\t\t\t\t\t\t\tconvertDigit(tsec),\n\t\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn wp.element.createElement(\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_3__wordpress_element__[\"Fragment\"],\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__inspector__[\"a\" /* default */], this.props),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'wp-block-urc-block' },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'h5',\n\t\t\t\t\t\t{ style: { color: 'red', textAlign: 'center' } },\n\t\t\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_2__wordpress_i18n__[\"__\"])('Plese create a countdown style first.', 'ujicountdown')\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn UjiCountEdit;\n}(__WEBPACK_IMPORTED_MODULE_3__wordpress_element__[\"Component\"]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (UjiCountEdit);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9lZGl0LmpzPzNmZTEiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuXG5pbXBvcnQgaWNvbnMgZnJvbSBcIi4vaWNvbnNcIjtcbmltcG9ydCBJbnNwZWN0b3JDb250cm9scyBmcm9tICcuL2luc3BlY3Rvcic7XG5cbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcblxuLy8gaW1wb3J0IHsgRGF0ZVRpbWVQaWNrZXIgfSBmcm9tICdAd29yZHByZXNzL2NvbXBvbmVudHMnO1xuLy8gaW1wb3J0IHsgX19leHBlcmltZW50YWxHZXRTZXR0aW5ncyB9IGZyb20gJ0B3b3JkcHJlc3MvZGF0ZSc7XG4vLyBpbXBvcnQgeyB3aXRoU3RhdGUgfSBmcm9tICdAd29yZHByZXNzL2NvbXBvc2UnO1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSBcIkB3b3JkcHJlc3MvZWxlbWVudFwiO1xuXG52YXIgVWppQ291bnRFZGl0ID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKFVqaUNvdW50RWRpdCwgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gVWppQ291bnRFZGl0KCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBVamlDb3VudEVkaXQpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChVamlDb3VudEVkaXQuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihVamlDb3VudEVkaXQpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhVamlDb3VudEVkaXQsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXM7XG5cdFx0XHR2YXIgZGF0ZXRpbWUgPSBhdHRyaWJ1dGVzLmRhdGV0aW1lLFxuXHRcdFx0ICAgIHRpbWVyVHlwZSA9IGF0dHJpYnV0ZXMudGltZXJUeXBlLFxuXHRcdFx0ICAgIHRob3VyID0gYXR0cmlidXRlcy50aG91cixcblx0XHRcdCAgICB0bWluID0gYXR0cmlidXRlcy50bWluLFxuXHRcdFx0ICAgIHRzZWMgPSBhdHRyaWJ1dGVzLnRzZWM7XG5cblxuXHRcdFx0dmFyIGlzU3R5bGVzID0gdHlwZW9mIHVqaWNfc2hvcnRfdmFycyAhPT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogbnVsbDtcblxuXHRcdFx0dmFyIGNvbnZlcnREaWdpdCA9IGZ1bmN0aW9uIGNvbnZlcnREaWdpdChudW0pIHtcblx0XHRcdFx0cmV0dXJuIG51bS5sZW5ndGggPT0gMSA/ICcwJyArIG51bSA6IG51bTtcblx0XHRcdH07XG5cblx0XHRcdGlmIChpc1N0eWxlcykge1xuXHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEluc3BlY3RvckNvbnRyb2xzLCB0aGlzLnByb3BzKSxcblx0XHRcdFx0XHR0aW1lclR5cGUgPT09ICdvbmV0aW1lJyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd3AtYmxvY2stdXJjLWJsb2NrJyB9LFxuXHRcdFx0XHRcdFx0X18oJ0V4cGlyZSBvbjonLCAndWppY291bnRkb3duJyksXG5cdFx0XHRcdFx0XHQnICcsXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdzdHJvbmcnLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHQnICcsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQndGltZScsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRkYXRldGltZVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHQnICdcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHRpbWVyVHlwZSA9PT0gJ3JlcGVhdCcgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dwLWJsb2NrLXVyYy1ibG9jaycgfSxcblx0XHRcdFx0XHRcdF9fKCdDb3VudGRvd24gdGltZTonLCAndWppY291bnRkb3duJyksXG5cdFx0XHRcdFx0XHQnICcsXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdzdHJvbmcnLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHQnICcsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQndGltZScsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRjb252ZXJ0RGlnaXQodGhvdXIpLFxuXHRcdFx0XHRcdFx0XHRcdCcgOiAnLFxuXHRcdFx0XHRcdFx0XHRcdGNvbnZlcnREaWdpdCh0bWluKSxcblx0XHRcdFx0XHRcdFx0XHQnIDogJyxcblx0XHRcdFx0XHRcdFx0XHRjb252ZXJ0RGlnaXQodHNlYyksXG5cdFx0XHRcdFx0XHRcdFx0JyAnXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdCcgJ1xuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoSW5zcGVjdG9yQ29udHJvbHMsIHRoaXMucHJvcHMpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0eyBjbGFzc05hbWU6ICd3cC1ibG9jay11cmMtYmxvY2snIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2g1Jyxcblx0XHRcdFx0XHRcdHsgc3R5bGU6IHsgY29sb3I6ICdyZWQnLCB0ZXh0QWxpZ246ICdjZW50ZXInIH0gfSxcblx0XHRcdFx0XHRcdF9fKCdQbGVzZSBjcmVhdGUgYSBjb3VudGRvd24gc3R5bGUgZmlyc3QuJywgJ3VqaWNvdW50ZG93bicpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBVamlDb3VudEVkaXQ7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IFVqaUNvdW50RWRpdDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9lZGl0LmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8\n");
164
+
165
+ /***/ }),
166
+ /* 9 */
167
+ /*!****************************!*\
168
+ !*** ./src/block/icons.js ***!
169
+ \****************************/
170
+ /*! exports provided: default */
171
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
172
+
173
+ "use strict";
174
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_components__ = __webpack_require__(/*! @wordpress/components */ 1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_components___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__);\n/**\n * WordPress dependencies\n */\n\n\n/**\n * Block user interface icons\n */\nvar icons = {};\n\nicons.imageLeft = wp.element.createElement(\n __WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"SVG\"],\n { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 20 20\" },\n wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"Path\"], { d: \"m11 15v-10h-10v10zm2-6h6v-2h-6zm0 4h6v-2h-6z\" })\n);\nicons.imageRight = wp.element.createElement(\n __WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"SVG\"],\n { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 20 20\" },\n wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"Path\"], { d: \"m19 15v-10h-10v10zm-18-6h6v-2h-6zm0 4h6v-2h-6z\" })\n);\nicons.styleHorizontalImageRight = wp.element.createElement(\n __WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"SVG\"],\n { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 56 26\", height: \"26\", width: \"56\" },\n wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"Path\"], { d: \"m48 11.0910645v-10.00000005h-10v10.00000005zm-40-6.00000005h24v-2h-24zm0 4v-2h18v2zm40 16.00000005h-10v-10h10zm-40-6v-2h24v2zm0 4v-2h18v2z\" })\n);\nicons.styleHorizontalImageLeft = wp.element.createElement(\n __WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"SVG\"],\n { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 56 26\", height: \"26\", width: \"56\" },\n wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"Path\"], { d: \"m18 11.0910645v-10.00000005h-10v10.00000005zm6-6.00000005h24v-2h-24zm0 4v-2h18v2zm-6 16.00000005h-10v-10h10zm6-6v-2h24v2zm0 4v-2h18v2z\" })\n);\nicons.styleStacked = wp.element.createElement(\n __WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"SVG\"],\n { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 56 26\", height: \"26\", width: \"56\" },\n wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0__wordpress_components__[\"Path\"], { d: \"m26 17v-16h-16v16zm-16 4h10v-2h-10zm0 4v-2h10v2zm36-8h-16v-16h16zm-16 4v-2h10v2zm0 4v-2h10v2z\" })\n);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (icons);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9pY29ucy5qcz9lZWQzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBTVkcsIFBhdGggfSBmcm9tICdAd29yZHByZXNzL2NvbXBvbmVudHMnO1xuXG4vKipcbiAqIEJsb2NrIHVzZXIgaW50ZXJmYWNlIGljb25zXG4gKi9cbnZhciBpY29ucyA9IHt9O1xuXG5pY29ucy5pbWFnZUxlZnQgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gIFNWRyxcbiAgeyB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiIH0sXG4gIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYXRoLCB7IGQ6IFwibTExIDE1di0xMGgtMTB2MTB6bTItNmg2di0yaC02em0wIDRoNnYtMmgtNnpcIiB9KVxuKTtcbmljb25zLmltYWdlUmlnaHQgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gIFNWRyxcbiAgeyB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCB2aWV3Qm94OiBcIjAgMCAyMCAyMFwiIH0sXG4gIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYXRoLCB7IGQ6IFwibTE5IDE1di0xMGgtMTB2MTB6bS0xOC02aDZ2LTJoLTZ6bTAgNGg2di0yaC02elwiIH0pXG4pO1xuaWNvbnMuc3R5bGVIb3Jpem9udGFsSW1hZ2VSaWdodCA9IHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgU1ZHLFxuICB7IHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsIHZpZXdCb3g6IFwiMCAwIDU2IDI2XCIsIGhlaWdodDogXCIyNlwiLCB3aWR0aDogXCI1NlwiIH0sXG4gIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYXRoLCB7IGQ6IFwibTQ4IDExLjA5MTA2NDV2LTEwLjAwMDAwMDA1aC0xMHYxMC4wMDAwMDAwNXptLTQwLTYuMDAwMDAwMDVoMjR2LTJoLTI0em0wIDR2LTJoMTh2MnptNDAgMTYuMDAwMDAwMDVoLTEwdi0xMGgxMHptLTQwLTZ2LTJoMjR2MnptMCA0di0yaDE4djJ6XCIgfSlcbik7XG5pY29ucy5zdHlsZUhvcml6b250YWxJbWFnZUxlZnQgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gIFNWRyxcbiAgeyB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCB2aWV3Qm94OiBcIjAgMCA1NiAyNlwiLCBoZWlnaHQ6IFwiMjZcIiwgd2lkdGg6IFwiNTZcIiB9LFxuICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGF0aCwgeyBkOiBcIm0xOCAxMS4wOTEwNjQ1di0xMC4wMDAwMDAwNWgtMTB2MTAuMDAwMDAwMDV6bTYtNi4wMDAwMDAwNWgyNHYtMmgtMjR6bTAgNHYtMmgxOHYyem0tNiAxNi4wMDAwMDAwNWgtMTB2LTEwaDEwem02LTZ2LTJoMjR2MnptMCA0di0yaDE4djJ6XCIgfSlcbik7XG5pY29ucy5zdHlsZVN0YWNrZWQgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gIFNWRyxcbiAgeyB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCB2aWV3Qm94OiBcIjAgMCA1NiAyNlwiLCBoZWlnaHQ6IFwiMjZcIiwgd2lkdGg6IFwiNTZcIiB9LFxuICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGF0aCwgeyBkOiBcIm0yNiAxN3YtMTZoLTE2djE2em0tMTYgNGgxMHYtMmgtMTB6bTAgNHYtMmgxMHYyem0zNi04aC0xNnYtMTZoMTZ6bS0xNiA0di0yaDEwdjJ6bTAgNHYtMmgxMHYyelwiIH0pXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBpY29ucztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9jay9pY29ucy5qc1xuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9\n");
175
+
176
+ /***/ }),
177
+ /* 10 */
178
+ /*!********************************!*\
179
+ !*** ./src/block/inspector.js ***!
180
+ \********************************/
181
+ /*! exports provided: default */
182
+ /*! exports used: default */
183
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
184
+
185
+ "use strict";
186
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__ = __webpack_require__(/*! @wordpress/i18n */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_i18n___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__wordpress_element__ = __webpack_require__(/*! @wordpress/element */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__wordpress_element___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__wordpress_element__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_block_editor__ = __webpack_require__(/*! @wordpress/block-editor */ 11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__wordpress_block_editor___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__wordpress_block_editor__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__wordpress_components__ = __webpack_require__(/*! @wordpress/components */ 1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__wordpress_components___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__);\n/*global ujicountdownData*/\n\n\n\n\n\n\n\nvar optionsStyles = function optionsStyles(styles) {\n\tvar stypeOpt = [{ value: '', label: 'Select Timer Style' }];\n\n\tif (styles !== null) {\n\t\tstyles.map(function (val) {\n\t\t\tstypeOpt.push({ value: val.value, label: val.text });\n\t\t});\n\t\treturn stypeOpt;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nvar Inspector = function Inspector(props) {\n\tvar attributes = props.attributes,\n\t setAttributes = props.setAttributes;\n\tvar countStyles = attributes.countStyles,\n\t timerType = attributes.timerType,\n\t datetime = attributes.datetime,\n\t thour = attributes.thour,\n\t tmin = attributes.tmin,\n\t tsec = attributes.tsec,\n\t hide = attributes.hide,\n\t url = attributes.url,\n\t unitNum = attributes.unitNum,\n\t unitTime = attributes.unitTime,\n\t repeats = attributes.repeats,\n\t news = attributes.news;\n\n\n\tvar onUpdateDate = function onUpdateDate(dateTime) {\n\t\tvar newDateTime = moment(dateTime).format(\"YYYY-MM-DD HH:mm\");\n\t\tsetAttributes({ datetime: newDateTime });\n\t};\n\n\tvar optionsTime = [{ value: \"second\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Second(s)\", \"ujicountdown\") }, { value: \"minute\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Minute(s)\", \"ujicountdown\") }, { value: \"hour\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Hours(s)\", \"ujicountdown\") }, { value: \"day\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Days(s)\", \"ujicountdown\") }, { value: \"week\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Week(s)\", \"ujicountdown\") }, { value: \"month\", label: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Month(s)\", \"ujicountdown\") }];\n\n\tvar optionStyles = typeof ujic_short_vars !== 'undefined' ? optionsStyles(ujic_short_vars.ujic_style) : null;\n\tvar isNews = typeof ujic_extend !== 'undefined' ? true : false;\n\n\tif (!optionStyles) {\n\t\treturn wp.element.createElement(\n\t\t\t__WEBPACK_IMPORTED_MODULE_2__wordpress_block_editor__[\"InspectorControls\"],\n\t\t\tnull,\n\t\t\twp.element.createElement(\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"PanelBody\"],\n\t\t\t\t{\n\t\t\t\t\ttitle: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Countdown Settings\", \"ujicountdown\"),\n\t\t\t\t\tinitialOpen: true,\n\t\t\t\t\tclassName: \"urc-settings-insp\"\n\t\t\t\t},\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"strong\",\n\t\t\t\t\t\t\t\t{ style: { color: 'red' } },\n\t\t\t\t\t\t\t\t\"Plese create a countdown style first.\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"p\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\" Go to: \",\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\"strong\",\n\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\"Settings/Uji Countdown\"\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\" and create a style first! \"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t} else {\n\t\treturn wp.element.createElement(\n\t\t\t__WEBPACK_IMPORTED_MODULE_2__wordpress_block_editor__[\"InspectorControls\"],\n\t\t\tnull,\n\t\t\twp.element.createElement(\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"PanelBody\"],\n\t\t\t\t{\n\t\t\t\t\ttitle: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Countdown Settings\", \"ujicountdown\"),\n\t\t\t\t\tinitialOpen: true,\n\t\t\t\t\tclassName: \"urc-settings-insp\"\n\t\t\t\t},\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Select Style: \"\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"SelectControl\"], {\n\t\t\t\t\t\t\tvalue: countStyles,\n\t\t\t\t\t\t\toptions: optionStyles,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn setAttributes({ countStyles: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclassName: \"components-style-field-select\"\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Timer Type: \"\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"RadioControl\"], {\n\t\t\t\t\t\t\tselected: timerType,\n\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\tlabel: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"One Time Timer\", \"ujicountdown\"),\n\t\t\t\t\t\t\t\tvalue: \"onetime\"\n\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\tlabel: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Repeating Timer\", \"ujicountdown\"),\n\t\t\t\t\t\t\t\tvalue: \"repeat\"\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn setAttributes({ timerType: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\ttimerType === \"onetime\" && wp.element.createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\"Expiration Date and Time: \"\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__wordpress_element__[\"Fragment\"],\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"PanelRow\"],\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"DateTimePicker\"], {\n\t\t\t\t\t\t\t\t\tcurrentDate: datetime,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(val) {\n\t\t\t\t\t\t\t\t\t\treturn onUpdateDate(val);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tis12Hour: false\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\ttimerType === \"repeat\" && wp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__wordpress_element__[\"Fragment\"],\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-component-time\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"Select Time:\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tlabel: \"Hours\",\n\t\t\t\t\t\t\t\tclassName: \"components-time-field-hours-input\",\n\t\t\t\t\t\t\t\tvalue: thour,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ thour: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"span\",\n\t\t\t\t\t\t\t\t{ className: \"urc-time-separator\" },\n\t\t\t\t\t\t\t\t\":\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tlabel: \"Minutes\",\n\t\t\t\t\t\t\t\tclassName: \"components-time-field-hours-input\",\n\t\t\t\t\t\t\t\tvalue: tmin,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ tmin: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"span\",\n\t\t\t\t\t\t\t\t{ className: \"urc-time-separator\" },\n\t\t\t\t\t\t\t\t\":\"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tlabel: \"Seconds\",\n\t\t\t\t\t\t\t\tclassName: \"components-time-field-hours-input\",\n\t\t\t\t\t\t\t\tvalue: tsec,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ tsec: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"i\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"This countdown will restart on page load\"\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__wordpress_element__[\"Fragment\"],\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"After expiration: \"\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"ToggleControl\"], {\n\t\t\t\t\t\t\t\tlabel: Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"After expired\", \"ujicountdown\"),\n\t\t\t\t\t\t\t\tchecked: hide,\n\t\t\t\t\t\t\t\thelp: hide ? Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Hide the countdown.\", \"ujicountdown\") : Object(__WEBPACK_IMPORTED_MODULE_0__wordpress_i18n__[\"__\"])(\"Go to URL.\", \"ujicountdown\"),\n\t\t\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ hide: !hide });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t!hide && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tlabel: \"Enter web address\",\n\t\t\t\t\t\t\t\tplaceholder: \"https://\",\n\t\t\t\t\t\t\t\tvalue: url,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ url: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__wordpress_element__[\"Fragment\"],\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"Recurring Time: \"\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"span\",\n\t\t\t\t\t\t\t\t{ className: \"spaceInp\" },\n\t\t\t\t\t\t\t\t\"Every \"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tclassName: \"components-time-field-hours-input\",\n\t\t\t\t\t\t\t\tvalue: unitNum,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ unitNum: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"SelectControl\"], {\n\t\t\t\t\t\t\t\tvalue: unitTime,\n\t\t\t\t\t\t\t\toptions: optionsTime,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ unitTime: value });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName: \"components-time-field-hours-select\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"span\",\n\t\t\t\t\t\t\t\t{ className: \"spaceInp\" },\n\t\t\t\t\t\t\t\t\"Repeats \"\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tclassName: \"components-repeat-field-input\",\n\t\t\t\t\t\t\t\tvalue: repeats,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ repeats: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\"i\",\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\"leave it empty for unlimited\"\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tisNews && wp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__wordpress_element__[\"Fragment\"],\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"urc-border\" },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"h4\",\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\"Newsletter Form: \"\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t\t{ className: \"urc-component\" },\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__wordpress_components__[\"TextControl\"], {\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tvalue: news,\n\t\t\t\t\t\t\t\tplaceholder: \"Enter your campaign name\",\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({ news: escape(value) });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t}\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2svaW5zcGVjdG9yLmpzPzIzMDEiXSwic291cmNlc0NvbnRlbnQiOlsiLypnbG9iYWwgdWppY291bnRkb3duRGF0YSovXG5cbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgRnJhZ21lbnQgfSBmcm9tIFwiQHdvcmRwcmVzcy9lbGVtZW50XCI7XG5pbXBvcnQgeyBJbnNwZWN0b3JDb250cm9scyB9IGZyb20gXCJAd29yZHByZXNzL2Jsb2NrLWVkaXRvclwiO1xuXG5pbXBvcnQgeyBQYW5lbEJvZHksIFBhbmVsUm93LCBEYXRlVGltZVBpY2tlciwgVGV4dENvbnRyb2wsIFJhZGlvQ29udHJvbCwgVG9nZ2xlQ29udHJvbCwgU2VsZWN0Q29udHJvbCB9IGZyb20gXCJAd29yZHByZXNzL2NvbXBvbmVudHNcIjtcblxudmFyIG9wdGlvbnNTdHlsZXMgPSBmdW5jdGlvbiBvcHRpb25zU3R5bGVzKHN0eWxlcykge1xuXHR2YXIgc3R5cGVPcHQgPSBbeyB2YWx1ZTogJycsIGxhYmVsOiAnU2VsZWN0IFRpbWVyIFN0eWxlJyB9XTtcblxuXHRpZiAoc3R5bGVzICE9PSBudWxsKSB7XG5cdFx0c3R5bGVzLm1hcChmdW5jdGlvbiAodmFsKSB7XG5cdFx0XHRzdHlwZU9wdC5wdXNoKHsgdmFsdWU6IHZhbC52YWx1ZSwgbGFiZWw6IHZhbC50ZXh0IH0pO1xuXHRcdH0pO1xuXHRcdHJldHVybiBzdHlwZU9wdDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxufTtcblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHR2YXIgYXR0cmlidXRlcyA9IHByb3BzLmF0dHJpYnV0ZXMsXG5cdCAgICBzZXRBdHRyaWJ1dGVzID0gcHJvcHMuc2V0QXR0cmlidXRlcztcblx0dmFyIGNvdW50U3R5bGVzID0gYXR0cmlidXRlcy5jb3VudFN0eWxlcyxcblx0ICAgIHRpbWVyVHlwZSA9IGF0dHJpYnV0ZXMudGltZXJUeXBlLFxuXHQgICAgZGF0ZXRpbWUgPSBhdHRyaWJ1dGVzLmRhdGV0aW1lLFxuXHQgICAgdGhvdXIgPSBhdHRyaWJ1dGVzLnRob3VyLFxuXHQgICAgdG1pbiA9IGF0dHJpYnV0ZXMudG1pbixcblx0ICAgIHRzZWMgPSBhdHRyaWJ1dGVzLnRzZWMsXG5cdCAgICBoaWRlID0gYXR0cmlidXRlcy5oaWRlLFxuXHQgICAgdXJsID0gYXR0cmlidXRlcy51cmwsXG5cdCAgICB1bml0TnVtID0gYXR0cmlidXRlcy51bml0TnVtLFxuXHQgICAgdW5pdFRpbWUgPSBhdHRyaWJ1dGVzLnVuaXRUaW1lLFxuXHQgICAgcmVwZWF0cyA9IGF0dHJpYnV0ZXMucmVwZWF0cyxcblx0ICAgIG5ld3MgPSBhdHRyaWJ1dGVzLm5ld3M7XG5cblxuXHR2YXIgb25VcGRhdGVEYXRlID0gZnVuY3Rpb24gb25VcGRhdGVEYXRlKGRhdGVUaW1lKSB7XG5cdFx0dmFyIG5ld0RhdGVUaW1lID0gbW9tZW50KGRhdGVUaW1lKS5mb3JtYXQoXCJZWVlZLU1NLUREIEhIOm1tXCIpO1xuXHRcdHNldEF0dHJpYnV0ZXMoeyBkYXRldGltZTogbmV3RGF0ZVRpbWUgfSk7XG5cdH07XG5cblx0dmFyIG9wdGlvbnNUaW1lID0gW3sgdmFsdWU6IFwic2Vjb25kXCIsIGxhYmVsOiBfXyhcIlNlY29uZChzKVwiLCBcInVqaWNvdW50ZG93blwiKSB9LCB7IHZhbHVlOiBcIm1pbnV0ZVwiLCBsYWJlbDogX18oXCJNaW51dGUocylcIiwgXCJ1amljb3VudGRvd25cIikgfSwgeyB2YWx1ZTogXCJob3VyXCIsIGxhYmVsOiBfXyhcIkhvdXJzKHMpXCIsIFwidWppY291bnRkb3duXCIpIH0sIHsgdmFsdWU6IFwiZGF5XCIsIGxhYmVsOiBfXyhcIkRheXMocylcIiwgXCJ1amljb3VudGRvd25cIikgfSwgeyB2YWx1ZTogXCJ3ZWVrXCIsIGxhYmVsOiBfXyhcIldlZWsocylcIiwgXCJ1amljb3VudGRvd25cIikgfSwgeyB2YWx1ZTogXCJtb250aFwiLCBsYWJlbDogX18oXCJNb250aChzKVwiLCBcInVqaWNvdW50ZG93blwiKSB9XTtcblxuXHR2YXIgb3B0aW9uU3R5bGVzID0gdHlwZW9mIHVqaWNfc2hvcnRfdmFycyAhPT0gJ3VuZGVmaW5lZCcgPyBvcHRpb25zU3R5bGVzKHVqaWNfc2hvcnRfdmFycy51amljX3N0eWxlKSA6IG51bGw7XG5cdHZhciBpc05ld3MgPSB0eXBlb2YgdWppY19leHRlbmQgIT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IGZhbHNlO1xuXG5cdGlmICghb3B0aW9uU3R5bGVzKSB7XG5cdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0bnVsbCxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dGl0bGU6IF9fKFwiQ291bnRkb3duIFNldHRpbmdzXCIsIFwidWppY291bnRkb3duXCIpLFxuXHRcdFx0XHRcdGluaXRpYWxPcGVuOiB0cnVlLFxuXHRcdFx0XHRcdGNsYXNzTmFtZTogXCJ1cmMtc2V0dGluZ3MtaW5zcFwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiBcInVyYy1ib3JkZXJcIiB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtY29tcG9uZW50XCIgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFwic3Ryb25nXCIsXG5cdFx0XHRcdFx0XHRcdFx0eyBzdHlsZTogeyBjb2xvcjogJ3JlZCcgfSB9LFxuXHRcdFx0XHRcdFx0XHRcdFwiUGxlc2UgY3JlYXRlIGEgY291bnRkb3duIHN0eWxlIGZpcnN0LlwiXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcInBcIixcblx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdFwiIEdvIHRvOiBcIixcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcInN0cm9uZ1wiLFxuXHRcdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHRcdFwiU2V0dGluZ3MvVWppIENvdW50ZG93blwiXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRcIiBhbmQgY3JlYXRlIGEgc3R5bGUgZmlyc3QhIFwiXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdClcblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdG51bGwsXG5cdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHRpdGxlOiBfXyhcIkNvdW50ZG93biBTZXR0aW5nc1wiLCBcInVqaWNvdW50ZG93blwiKSxcblx0XHRcdFx0XHRpbml0aWFsT3BlbjogdHJ1ZSxcblx0XHRcdFx0XHRjbGFzc05hbWU6IFwidXJjLXNldHRpbmdzLWluc3BcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtYm9yZGVyXCIgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImg0XCIsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XCJTZWxlY3QgU3R5bGU6IFwiXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudFwiIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogY291bnRTdHlsZXMsXG5cdFx0XHRcdFx0XHRcdG9wdGlvbnM6IG9wdGlvblN0eWxlcyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBjb3VudFN0eWxlczogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogXCJjb21wb25lbnRzLXN0eWxlLWZpZWxkLXNlbGVjdFwiXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWJvcmRlclwiIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XCJoNFwiLFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFwiVGltZXIgVHlwZTogXCJcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtY29tcG9uZW50XCIgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYWRpb0NvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0c2VsZWN0ZWQ6IHRpbWVyVHlwZSxcblx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3tcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oXCJPbmUgVGltZSBUaW1lclwiLCBcInVqaWNvdW50ZG93blwiKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJvbmV0aW1lXCJcblx0XHRcdFx0XHRcdFx0fSwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXyhcIlJlcGVhdGluZyBUaW1lclwiLCBcInVqaWNvdW50ZG93blwiKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJyZXBlYXRcIlxuXHRcdFx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB0aW1lclR5cGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSxcblx0XHRcdFx0dGltZXJUeXBlID09PSBcIm9uZXRpbWVcIiAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtYm9yZGVyXCIgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImg0XCIsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XCJFeHBpcmF0aW9uIERhdGUgYW5kIFRpbWU6IFwiXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudFwiIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0UGFuZWxSb3csXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGF0ZVRpbWVQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGN1cnJlbnREYXRlOiBkYXRldGltZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWwpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIG9uVXBkYXRlRGF0ZSh2YWwpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdGlzMTJIb3VyOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHRpbWVyVHlwZSA9PT0gXCJyZXBlYXRcIiAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudC10aW1lXCIgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJoNFwiLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcIlNlbGVjdCBUaW1lOlwiXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtY29tcG9uZW50XCIgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJudW1iZXJcIixcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogXCJIb3Vyc1wiLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogXCJjb21wb25lbnRzLXRpbWUtZmllbGQtaG91cnMtaW5wdXRcIixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdGhvdXIsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IHRob3VyOiBlc2NhcGUodmFsdWUpIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcInNwYW5cIixcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtdGltZS1zZXBhcmF0b3JcIiB9LFxuXHRcdFx0XHRcdFx0XHRcdFwiOlwiXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwibnVtYmVyXCIsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IFwiTWludXRlc1wiLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogXCJjb21wb25lbnRzLXRpbWUtZmllbGQtaG91cnMtaW5wdXRcIixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdG1pbixcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdG1pbjogZXNjYXBlKHZhbHVlKSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XCJzcGFuXCIsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLXRpbWUtc2VwYXJhdG9yXCIgfSxcblx0XHRcdFx0XHRcdFx0XHRcIjpcIlxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcIm51bWJlclwiLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBcIlNlY29uZHNcIixcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6IFwiY29tcG9uZW50cy10aW1lLWZpZWxkLWhvdXJzLWlucHV0XCIsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHRzZWMsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IHRzZWM6IGVzY2FwZSh2YWx1ZSkgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJpXCIsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFwiVGhpcyBjb3VudGRvd24gd2lsbCByZXN0YXJ0IG9uIHBhZ2UgbG9hZFwiXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcImRpdlwiLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWJvcmRlclwiIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFwiaDRcIixcblx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XCJBZnRlciBleHBpcmF0aW9uOiBcIlxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudFwiIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKFwiQWZ0ZXIgZXhwaXJlZFwiLCBcInVqaWNvdW50ZG93blwiKSxcblx0XHRcdFx0XHRcdFx0XHRjaGVja2VkOiBoaWRlLFxuXHRcdFx0XHRcdFx0XHRcdGhlbHA6IGhpZGUgPyBfXyhcIkhpZGUgdGhlIGNvdW50ZG93bi5cIiwgXCJ1amljb3VudGRvd25cIikgOiBfXyhcIkdvIHRvIFVSTC5cIiwgXCJ1amljb3VudGRvd25cIiksXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBoaWRlOiAhaGlkZSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHQhaGlkZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcInRleHRcIixcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogXCJFbnRlciB3ZWIgYWRkcmVzc1wiLFxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBcImh0dHBzOi8vXCIsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHVybCxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdXJsOiBlc2NhcGUodmFsdWUpIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtYm9yZGVyXCIgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJoNFwiLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcIlJlY3VycmluZyBUaW1lOiBcIlxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudFwiIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcInNwYW5cIixcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJzcGFjZUlucFwiIH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJFdmVyeSBcIlxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcIm51bWJlclwiLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogXCJjb21wb25lbnRzLXRpbWUtZmllbGQtaG91cnMtaW5wdXRcIixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdW5pdE51bSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdW5pdE51bTogZXNjYXBlKHZhbHVlKSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB1bml0VGltZSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBvcHRpb25zVGltZSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdW5pdFRpbWU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiBcImNvbXBvbmVudHMtdGltZS1maWVsZC1ob3Vycy1zZWxlY3RcIlxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJkaXZcIixcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IFwidXJjLWNvbXBvbmVudFwiIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcInNwYW5cIixcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJzcGFjZUlucFwiIH0sXG5cdFx0XHRcdFx0XHRcdFx0XCJSZXBlYXRzIFwiXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwibnVtYmVyXCIsXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiBcImNvbXBvbmVudHMtcmVwZWF0LWZpZWxkLWlucHV0XCIsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHJlcGVhdHMsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IHJlcGVhdHM6IGVzY2FwZSh2YWx1ZSkgfSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFwiaVwiLFxuXHRcdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdFx0XCJsZWF2ZSBpdCBlbXB0eSBmb3IgdW5saW1pdGVkXCJcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSxcblx0XHRcdFx0aXNOZXdzICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogXCJ1cmMtYm9yZGVyXCIgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XCJoNFwiLFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcIk5ld3NsZXR0ZXIgRm9ybTogXCJcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFwiZGl2XCIsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiBcInVyYy1jb21wb25lbnRcIiB9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcInRleHRcIixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogbmV3cyxcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogXCJFbnRlciB5b3VyIGNhbXBhaWduIG5hbWVcIixcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgbmV3czogZXNjYXBlKHZhbHVlKSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpXG5cdFx0KTtcblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW5zcGVjdG9yO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///10\n");
187
+
188
+ /***/ }),
189
+ /* 11 */
190
+ /*!*********************************!*\
191
+ !*** external "wp.blockEditor" ***!
192
+ \*********************************/
193
+ /*! dynamic exports provided */
194
+ /*! exports used: InspectorControls */
195
+ /***/ (function(module, exports) {
196
+
197
+ module.exports = wp.blockEditor;
198
+
199
+ /***/ }),
200
+ /* 12 */
201
+ /*!***************************!*\
202
+ !*** ./src/block/save.js ***!
203
+ \***************************/
204
+ /*! exports provided: default */
205
+ /*! exports used: default */
206
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
207
+
208
+ "use strict";
209
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_element__ = __webpack_require__(/*! @wordpress/element */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__wordpress_element___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__wordpress_element__);\n/**\n * WordPress dependencies\n */\n\n\n\nvar save = function save(_ref) {\n\tvar attributes = _ref.attributes;\n\tvar countStyles = attributes.countStyles,\n\t datetime = attributes.datetime,\n\t thour = attributes.thour,\n\t tmin = attributes.tmin,\n\t tsec = attributes.tsec,\n\t hide = attributes.hide,\n\t url = attributes.url,\n\t unitNum = attributes.unitNum,\n\t unitTime = attributes.unitTime,\n\t repeats = attributes.repeats;\n\n\n\tvar isHide = hide ? 'true' : 'false';\n\n\tvar tim = thour && tmin && tsec ? true : false;\n\tvar exp = datetime ? datetime.replace(/\\//g, '-') : '';\n\tvar expTime = exp && !tim ? 'expire=\"' + exp + '\"' : '';\n\tvar timerTime = tim ? 'timer=\"' + thour + ':' + tmin + ':' + tsec + '\"' : '';\n\n\tvar rectype = unitNum && repeats ? unitTime : '';\n\n\t// [ujicountdown id=\"test\" expire=\"2020/04/30 06:04\" hide=\"true\" url=\"\" subscr=\"undefined\" recurring=\"\" rectype=\"second\" repeats=\"\"]\n\tvar myShortcode = '[ujicountdown id=\"' + countStyles + '\" ' + expTime + ' ' + timerTime + ' hide=\"' + isHide + '\" url=\"' + url + '\" subscr=\"undefined\" recurring=\"' + repeats + '\" rectype=\"' + rectype + '\" repeats=\"' + unitNum + '\"]';\n\n\treturn wp.element.createElement(\n\t\t__WEBPACK_IMPORTED_MODULE_0__wordpress_element__[\"RawHTML\"],\n\t\tnull,\n\t\tmyShortcode\n\t);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (save);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2svc2F2ZS5qcz9jNGQ0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5cbmltcG9ydCB7IFJhd0hUTUwgfSBmcm9tICdAd29yZHByZXNzL2VsZW1lbnQnO1xuXG52YXIgc2F2ZSA9IGZ1bmN0aW9uIHNhdmUoX3JlZikge1xuXHR2YXIgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcztcblx0dmFyIGNvdW50U3R5bGVzID0gYXR0cmlidXRlcy5jb3VudFN0eWxlcyxcblx0ICAgIGRhdGV0aW1lID0gYXR0cmlidXRlcy5kYXRldGltZSxcblx0ICAgIHRob3VyID0gYXR0cmlidXRlcy50aG91cixcblx0ICAgIHRtaW4gPSBhdHRyaWJ1dGVzLnRtaW4sXG5cdCAgICB0c2VjID0gYXR0cmlidXRlcy50c2VjLFxuXHQgICAgaGlkZSA9IGF0dHJpYnV0ZXMuaGlkZSxcblx0ICAgIHVybCA9IGF0dHJpYnV0ZXMudXJsLFxuXHQgICAgdW5pdE51bSA9IGF0dHJpYnV0ZXMudW5pdE51bSxcblx0ICAgIHVuaXRUaW1lID0gYXR0cmlidXRlcy51bml0VGltZSxcblx0ICAgIHJlcGVhdHMgPSBhdHRyaWJ1dGVzLnJlcGVhdHM7XG5cblxuXHR2YXIgaXNIaWRlID0gaGlkZSA/ICd0cnVlJyA6ICdmYWxzZSc7XG5cblx0dmFyIHRpbSA9IHRob3VyICYmIHRtaW4gJiYgdHNlYyA/IHRydWUgOiBmYWxzZTtcblx0dmFyIGV4cCA9IGRhdGV0aW1lID8gZGF0ZXRpbWUucmVwbGFjZSgvXFwvL2csICctJykgOiAnJztcblx0dmFyIGV4cFRpbWUgPSBleHAgJiYgIXRpbSA/ICdleHBpcmU9XCInICsgZXhwICsgJ1wiJyA6ICcnO1xuXHR2YXIgdGltZXJUaW1lID0gdGltID8gJ3RpbWVyPVwiJyArIHRob3VyICsgJzonICsgdG1pbiArICc6JyArIHRzZWMgKyAnXCInIDogJyc7XG5cblx0dmFyIHJlY3R5cGUgPSB1bml0TnVtICYmIHJlcGVhdHMgPyB1bml0VGltZSA6ICcnO1xuXG5cdC8vIFt1amljb3VudGRvd24gaWQ9XCJ0ZXN0XCIgZXhwaXJlPVwiMjAyMC8wNC8zMCAwNjowNFwiIGhpZGU9XCJ0cnVlXCIgdXJsPVwiXCIgc3Vic2NyPVwidW5kZWZpbmVkXCIgcmVjdXJyaW5nPVwiXCIgcmVjdHlwZT1cInNlY29uZFwiIHJlcGVhdHM9XCJcIl1cblx0dmFyIG15U2hvcnRjb2RlID0gJ1t1amljb3VudGRvd24gaWQ9XCInICsgY291bnRTdHlsZXMgKyAnXCIgJyArIGV4cFRpbWUgKyAnICcgKyB0aW1lclRpbWUgKyAnIGhpZGU9XCInICsgaXNIaWRlICsgJ1wiIHVybD1cIicgKyB1cmwgKyAnXCIgc3Vic2NyPVwidW5kZWZpbmVkXCIgcmVjdXJyaW5nPVwiJyArIHJlcGVhdHMgKyAnXCIgcmVjdHlwZT1cIicgKyByZWN0eXBlICsgJ1wiIHJlcGVhdHM9XCInICsgdW5pdE51bSArICdcIl0nO1xuXG5cdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0UmF3SFRNTCxcblx0XHRudWxsLFxuXHRcdG15U2hvcnRjb2RlXG5cdCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzYXZlO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL3NhdmUuanNcbi8vIG1vZHVsZSBpZCA9IDEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///12\n");
210
+
211
+ /***/ })
212
+ /******/ ]);
dist/blocks.editor.build.css ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * #.# Common SCSS
3
+ *
4
+ * Can include things like variables and mixins
5
+ * that are used across the project.
6
+ */
7
+ /**
8
+ * #.# Editor Styles
9
+ *
10
+ * CSS for just Backend enqueued after style.scss
11
+ * which makes it higher in priority.
12
+ */
13
+ .wp-block-cgb-block-uji-countdown-2020 {
14
+ background: #bada55;
15
+ border: 0.2rem solid #292929;
16
+ color: #292929;
17
+ margin: 0 auto;
18
+ max-width: 740px;
19
+ padding: 2rem; }
dist/blocks.style.build.css ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * #.# Common SCSS
3
+ *
4
+ * Can include things like variables and mixins
5
+ * that are used across the project.
6
+ */
7
+ /**
8
+ * #.# Styles
9
+ *
10
+ * CSS for both Frontend+Backend.
11
+ */
12
+ .wp-block-urc-block {
13
+ background: #f0ecff;
14
+ border: 0.1rem solid #a698d8;
15
+ color: #4e38b1;
16
+ margin: 0 auto;
17
+ padding: 1rem; }
18
+
19
+ .wp-block-urc-block-uji-countdown-2020 time {
20
+ font-family: "Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
21
+ font-size: 1.2rem; }
22
+
23
+ .wp-block-ujicount-datetime {
24
+ color: #732db6; }
25
+
26
+ .components-datetime {
27
+ padding: 0; }
28
+
29
+ .urc-component .spaceInp {
30
+ width: 55px;
31
+ display: inline-block; }
32
+
33
+ .urc-component input[type=number] {
34
+ text-align: center; }
35
+
36
+ .urc-component input[type=number]::-webkit-inner-spin-button,
37
+ .urc-component input[type=number]::-webkit-outer-spin-button {
38
+ -webkit-appearance: none;
39
+ margin: 0; }
40
+
41
+ .urc-component-time {
42
+ margin-bottom: 15px; }
43
+
44
+ .components-time-field-hours-input {
45
+ width: 23%;
46
+ display: inline-block;
47
+ margin-right: 0.5rem;
48
+ position: relative;
49
+ top: 3px;
50
+ margin-bottom: 0 !important; }
51
+
52
+ .urc-border {
53
+ border-top: 1px solid #e2e4e7;
54
+ padding: 10px 0; }
55
+
56
+ .components-time-field-hours-select {
57
+ width: 37%;
58
+ display: inline-block; }
59
+
60
+ .components-repeat-field-input {
61
+ width: 23%;
62
+ display: inline-block;
63
+ margin-bottom: 0 !important; }
64
+
65
+ .urc-component i {
66
+ margin-left: 58px;
67
+ display: block; }
68
+
69
+ .urc-time-separator {
70
+ padding: 0 0.5rem 0 0;
71
+ display: inline-block; }
72
+
73
+ .urc-component-time h4,
74
+ .urc-border h4 {
75
+ margin: 0.8em 0; }
js/jquery.countdown.js CHANGED
@@ -1,7 +1 @@
1
- (function(){var e,t;jQuery.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}};e=jQuery.uaMatch(navigator.userAgent);t={};if(e.browser){t[e.browser]=true;t.version=e.version}if(t.chrome){t.webkit=true}else if(t.webkit){t.safari=true}jQuery.browser=t})();(function(){var e=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function t(n){function o(){if(!e&&this._init){this._init.apply(this,arguments)}}var r=this.prototype;e=true;var i=new this;e=false;for(var s in n){i[s]=typeof n[s]=="function"&&typeof r[s]=="function"?function(e,t){return function(){var n=this._super;this._super=function(t){return r[e].apply(this,t)};var i=t.apply(this,arguments);this._super=n;return i}}(s,n[s]):n[s]}o.prototype=i;o.prototype.constructor=o;o.extend=t;return o}})();(function($){function camelCase(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}JQClass.classes.JQPlugin=JQClass.extend({name:"plugin",defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return"is-"+this.name},_init:function(){$.extend(this.defaultOptions,this.regionalOptions&&this.regionalOptions[""]||{});var e=camelCase(this.name);$[e]=this;$.fn[e]=function(t){var n=Array.prototype.slice.call(arguments,1);if($[e]._isNotChained(t,n)){return $[e][t].apply($[e],[this[0]].concat(n))}return this.each(function(){if(typeof t==="string"){if(t[0]==="_"||!$[e][t]){throw"Unknown method: "+t}$[e][t].apply($[e],[this].concat(n))}else{$[e]._attach(this,t)}})}},setDefaults:function(e){$.extend(this.defaultOptions,e||{})},_isNotChained:function(e,t){if(e==="option"&&(t.length===0||t.length===1&&typeof t[0]==="string")){return true}return $.inArray(e,this._getters)>-1},_attach:function(e,t){e=$(e);if(e.hasClass(this._getMarker())){return}e.addClass(this._getMarker());t=$.extend({},this.defaultOptions,this._getMetadata(e),t||{});var n=$.extend({name:this.name,elem:e,options:t},this._instSettings(e,t));e.data(this.name,n);this._postAttach(e,n);this.option(e,t)},_instSettings:function(e,t){return{}},_postAttach:function(e,t){},_getMetadata:function(elem){try{var data=elem.data(this.name.toLowerCase())||"";data=data.replace(/'/g,'"');data=data.replace(/([a-zA-Z0-9]+):/g,function(e,t,n){var r=data.substring(0,n).match(/"/g);return!r||r.length%2===0?'"'+t+'":':t+":"});data=$.parseJSON("{"+data+"}");for(var name in data){var value=data[name];if(typeof value==="string"&&value.match(/^new Date\((.*)\)$/)){data[name]=eval(value)}}return data}catch(e){return{}}},_getInst:function(e){return $(e).data(this.name)||{}},option:function(e,t,n){e=$(e);var r=e.data(this.name);if(!t||typeof t==="string"&&n==null){var i=(r||{}).options;return i&&t?i[t]:i}if(!e.hasClass(this._getMarker())){return}var i=t||{};if(typeof t==="string"){i={};i[t]=n}this._optionsChanged(e,r,i);$.extend(r.options,i)},_optionsChanged:function(e,t,n){},destroy:function(e){e=$(e);if(!e.hasClass(this._getMarker())){return}this._preDestroy(e,this._getInst(e));e.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(e,t){}});$.JQPlugin={createPlugin:function(e,t){if(typeof e==="object"){t=e;e="JQPlugin"}e=camelCase(e);var n=camelCase(t.name);JQClass.classes[n]=JQClass.classes[e].extend(t);new JQClass.classes[n]}}})(jQuery);(function(e){var t="countdown";var n=0;var r=1;var i=2;var s=3;var o=4;var u=5;var a=6;e.JQPlugin.createPlugin({name:t,defaultOptions:{ujic_style:"classic",text_size:"35",animate_sec:false,color_down:"#3A3A3A",color_up:"#635b63",color_txt:"#ffffff",color_sw:"#000000",color_lab:"#000000",lab_sz:"13",ujic_txt:true,ujic_url:false,ujic_goof:"'Open Sans Condensed',sans-serif",ujic_hide:false,until:null,since:null,timezone:null,serverSync:null,format:"dHMS",layout:"",compact:false,padZeroes:true,significant:0,description:"",expiryUrl:"",expiryText:"",alwaysExpire:false,onExpiry:null,onTick:null,tickInterval:1},regionalOptions:{"":{labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],whichLabels:null,digits:["0","1","2","3","4","5","6","7","8","9"],timeSeparator:":",isRTL:false}},_getters:["getTimes"],_rtlClass:t+"-rtl",_sectionClass:t+"-section",_amountClass:t+"-amount",_periodClass:t+"-period",_rowClass:t+"-row",_holdingClass:t+"-holding",_showClass:t+"-show",_descrClass:t+"-descr",_timerElems:[],_init:function(){function i(e){var u=e<1e12?r?performance.now()+performance.timing.navigationStart:n():e||n();if(u-o>=1e3){t._updateElems();o=u}s(i)}var t=this;this._super();this._serverSyncs=[];var n=typeof Date.now=="function"?Date.now:function(){return(new Date).getTime()};var r=window.performance&&typeof window.performance.now=="function";var s=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;var o=0;if(!s||e.noRequestAnimationFrame){e.noRequestAnimationFrame=null;setInterval(function(){t._updateElems()},980)}else{o=window.animationStartTime||window.webkitAnimationStartTime||window.mozAnimationStartTime||window.oAnimationStartTime||window.msAnimationStartTime||n();s(i)}},UTCDate:function(e,t,n,r,i,s,o,u){if(typeof t=="object"&&t.constructor==Date){u=t.getMilliseconds();o=t.getSeconds();s=t.getMinutes();i=t.getHours();r=t.getDate();n=t.getMonth();t=t.getFullYear()}var a=new Date;a.setUTCFullYear(t);a.setUTCDate(1);a.setUTCMonth(n||0);a.setUTCDate(r||1);a.setUTCHours(i||0);a.setUTCMinutes((s||0)-(Math.abs(e)<30?e*60:e));a.setUTCSeconds(o||0);a.setUTCMilliseconds(u||0);return a},periodsToSeconds:function(e){return e[0]*31557600+e[1]*2629800+e[2]*604800+e[3]*86400+e[4]*3600+e[5]*60+e[6]},_instSettings:function(e,t){return{_periods:[0,0,0,0,0,0,0]}},_addElem:function(e){if(!this._hasElem(e)){this._timerElems.push(e)}},_hasElem:function(t){return e.inArray(t,this._timerElems)>-1},_removeElem:function(t){this._timerElems=e.map(this._timerElems,function(e){return e==t?null:e})},_updateElems:function(){for(var e=this._timerElems.length-1;e>=0;e--){this._updateCountdown(this._timerElems[e])}},_optionsChanged:function(t,n,r){if(r.layout){r.layout=r.layout.replace(/&lt;/g,"<").replace(/&gt;/g,">")}this._resetExtraLabels(n.options,r);var i=n.options.timezone!=r.timezone;e.extend(n.options,r);this._adjustSettings(t,n,r.until!=null||r.since!=null||i);var s=new Date;if(n._since&&n._since<s||n._until&&n._until>s){this._addElem(t[0])}this._updateCountdown(t,n)},_updateCountdown:function(t,n){t=t.jquery?t:e(t);n=n||t.data(this.name);if(!n){return}t.html(this._generateHTML(n)).toggleClass(this._rtlClass,n.options.isRTL);var r=n.options.ujic_style;if(r=="classic"){var i=n.options.color_down;var s=n.options.color_up;var o=n.options.ujic_goof;var u=navigator.userAgent.toLowerCase();jQuery.browser.chrome=/chrome/.test(navigator.userAgent.toLowerCase());
2
- jQuery("#ujiCountdown"+" .countdown_amount").css("background","-moz-linear-gradient(top, "+s+" 50%, "+i+" 50%)");
3
- jQuery("#ujiCountdown"+" .countdown_amount").css("background","-o-linear-gradient(top, "+s+" 50%,"+i+" 50%)");
4
- jQuery("#ujiCountdown"+" .countdown_amount").css("background","-ms-linear-gradient(top, "+s+" 50%,"+i+" 50%)");
5
- jQuery("#ujiCountdown"+" .countdown_amount").css("background","linear-gradient(to bottom, "+s+" 50%,"+i+" 50%)");
6
- jQuery("#ujiCountdown"+" .countdown_amount").css("filter","progid:DXImageTransform.Microsoft.gradient( startColorstr='"+s+"', endColorstr='"+i+"',GradientType=0 )");
7
- if(jQuery.browser.safari||jQuery.browser.chrome){jQuery("#ujiCountdown"+" .countdown_amount").css("background","-webkit-gradient(linear, left top, left bottom, color-stop(50%,"+s+"), color-stop(50%,"+i+"))");jQuery("#ujiCountdown"+" .countdown_amount").css("background","-webkit-linear-gradient(top, "+s+" 50%,"+i+" 50%)")}jQuery("#ujiCountdown").children(".countdown_row").children("span:last-child").css("margin","0");if(jQuery("#ujiCountdown").children(".countdown_row").children("span:last-child").hasClass("uji_sec")){jQuery("#ujiCountdown").children(".countdown_row").children(".uji_sec").children(".countdown_section").css("margin","0")}var a=n.options.color_txt;var f=n.options.color_sw;jQuery("#ujiCountdown"+" .countdown_amount").css("color",a);jQuery("#ujiCountdown"+" .countdown_amount").css("text-shadow","1px 1px 1px "+f);var l=n.options.color_lab;jQuery("#ujiCountdown"+" .countdown_txt").css("color",l);var c=n.options.ujic_txt;var h=n.options.lab_sz;if(c){jQuery("#ujiCountdown"+" .countdown_txt").css("display","block");jQuery("#ujiCountdown"+" .countdown_txt").css("font",h+"px 'Open Sans Condensed',sans-serif")}else{jQuery("#ujiCountdown"+" .countdown_txt").css("display","none")}var p=n.options.text_size;var d=0;switch(parseInt(p)){case 10:d=5;break;case 11:d=3;break;case 12:d=3;break;case 13:d=1;break}jQuery("#ujiCountdown"+" .countdown_amount").css("font",p+"px/1.5 '"+o+"',sans-serif");if(o!="none")jQuery("#ujiCountdown"+" .countdown_amount").css("min-width",parseInt(p)-10+"px");if(p<15){jQuery("#ujiCountdown"+" .countdown_amount").css({padding:"2px 5px","margin-right":"1px"});jQuery("#ujiCountdown"+" .countdown_section").css("margin","0px 6px 0px 0px");jQuery("#ujiCountdown"+" .countdown_txt").css("font","9px 'Open Sans Condensed',sans-serif")}var v=n.options.animate_sec;if(v){jQuery("#ujiCountdown").find(".uji_sec").find(".countdown_amount").css({"text-align":"center"});jQuery("#ujiCountdown").find(".uji_sec").find(".countdown_amount").eq(1).css({top:"-74px",position:"relative",opacity:1});jQuery("#ujiCountdown").find(".uji_sec").find(".countdown_amount").eq(1).animate({top:d+"px",opacity:1},700,function(){jQuery("#ujiCountdown").find(".uji_sec").find(".countdown_amount").eq(1).animate({opacity:0},300)})}}if(e.isFunction(n.options.onTick)){var m=n._hold!="lap"?n._periods:this._calculatePeriods(n,n._show,n.options.significant,new Date);if(n.options.tickInterval==1||this.periodsToSeconds(m)%n.options.tickInterval==0){n.options.onTick.apply(t[0],[m])}}var g=n._hold!="pause"&&(n._since?n._now.getTime()<n._since.getTime():n._now.getTime()>=n._until.getTime());if(g&&!n._expiring){n._expiring=true;if(this._hasElem(t[0])||n.options.alwaysExpire){this._removeElem(t[0]);if(e.isFunction(n.options.onExpiry)){n.options.onExpiry.apply(t[0],[])}if(n.options.ujic_hide=="true"){jQuery("#ujiCountdown").remove()}if(n.options.expiryText){var y=n.options.layout;n.options.layout=n.options.expiryText;this._updateCountdown(t[0],n);n.options.layout=y}if(n.options.expiryUrl){window.location=n.options.expiryUrl}}n._expiring=false}else if(n._hold=="pause"){this._removeElem(t[0])}},_resetExtraLabels:function(e,t){var n=false;for(var r in t){if(r!="whichLabels"&&r.match(/[Ll]abels/)){n=true;break}}if(n){for(var r in e){if(r.match(/[Ll]abels[02-9]|compactLabels1/)){e[r]=null}}}},_adjustSettings:function(t,n,r){var i;var s=0;var o=null;for(var u=0;u<this._serverSyncs.length;u++){if(this._serverSyncs[u][0]==n.options.serverSync){o=this._serverSyncs[u][1];break}}if(o!=null){s=n.options.serverSync?o:0;i=new Date}else{var a=e.isFunction(n.options.serverSync)?n.options.serverSync.apply(t[0],[]):null;i=new Date;s=a?i.getTime()-a.getTime():0;this._serverSyncs.push([n.options.serverSync,s])}var f=n.options.timezone;f=f==null?-i.getTimezoneOffset():f;if(r||!r&&n._until==null&&n._since==null){n._since=n.options.since;if(n._since!=null){n._since=this.UTCDate(f,this._determineTime(n._since,null));if(n._since&&s){n._since.setMilliseconds(n._since.getMilliseconds()+s)}}n._until=this.UTCDate(f,this._determineTime(n.options.until,i));if(s){n._until.setMilliseconds(n._until.getMilliseconds()+s)}}n._show=this._determineShow(n)},_preDestroy:function(e,t){this._removeElem(e[0]);e.empty()},pause:function(e){this._hold(e,"pause")},lap:function(e){this._hold(e,"lap")},resume:function(e){this._hold(e,null)},toggle:function(t){var n=e.data(t,this.name)||{};this[!n._hold?"pause":"resume"](t)},toggleLap:function(t){var n=e.data(t,this.name)||{};this[!n._hold?"lap":"resume"](t)},_hold:function(t,n){var r=e.data(t,this.name);if(r){if(r._hold=="pause"&&!n){r._periods=r._savePeriods;var i=r._since?"-":"+";r[r._since?"_since":"_until"]=this._determineTime(i+r._periods[0]+"y"+i+r._periods[1]+"o"+i+r._periods[2]+"w"+i+r._periods[3]+"d"+i+r._periods[4]+"h"+i+r._periods[5]+"m"+i+r._periods[6]+"s");this._addElem(t)}r._hold=n;r._savePeriods=n=="pause"?r._periods:null;e.data(t,this.name,r);this._updateCountdown(t,r)}},getTimes:function(t){var n=e.data(t,this.name);return!n?null:n._hold=="pause"?n._savePeriods:!n._hold?n._periods:this._calculatePeriods(n,n._show,n.options.significant,new Date)},_determineTime:function(e,t){var n=this;var r=function(e){var t=new Date;t.setTime(t.getTime()+e*1e3);return t};var i=function(e){e=e.toLowerCase();var t=new Date;var r=t.getFullYear();var i=t.getMonth();var s=t.getDate();var o=t.getHours();var u=t.getMinutes();var a=t.getSeconds();var f=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;var l=f.exec(e);while(l){switch(l[2]||"s"){case"s":a+=parseInt(l[1],10);break;case"m":u+=parseInt(l[1],10);break;case"h":o+=parseInt(l[1],10);break;case"d":s+=parseInt(l[1],10);break;case"w":s+=parseInt(l[1],10)*7;break;case"o":i+=parseInt(l[1],10);s=Math.min(s,n._getDaysInMonth(r,i));break;case"y":r+=parseInt(l[1],10);s=Math.min(s,n._getDaysInMonth(r,i));break}l=f.exec(e)}return new Date(r,i,s,o,u,a,0)};var s=e==null?t:typeof e=="string"?i(e):typeof e=="number"?r(e):e;if(s)s.setMilliseconds(0);return s},_getDaysInMonth:function(e,t){return 32-(new Date(e,t,32)).getDate()},_normalLabels:function(e){return e},_generateHTML:function(t){var f=this;t._periods=t._hold?t._periods:this._calculatePeriods(t,t._show,t.options.significant,new Date);var l=false;var c=0;var h=t.options.significant;var p=e.extend({},t._show);for(var d=n;d<=a;d++){l|=t._show[d]=="?"&&t._periods[d]>0;p[d]=t._show[d]=="?"&&!l?null:t._show[d];c+=p[d]?1:0;h-=t._periods[d]>0?1:0}var v=[false,false,false,false,false,false,false];for(var d=a;d>=n;d--){if(t._show[d]){if(t._periods[d]){v[d]=true}else{v[d]=h>0;h--}}}var m=t.options.compact?t.options.compactLabels:t.options.labels;var g=t.options.whichLabels||this._normalLabels;var y=function(e){var n=t.options["compactLabels"+g(t._periods[e])];return p[e]?f._translateDigits(t,t._periods[e])+(n?n[e]:m[e])+" ":""};var b=t.options.padZeroes?2:1;var w=function(e){var n=t.options["labels"+g(t._periods[e])];if(!N&&p[e]||N&&v[e]){var r="";if(t._periods[e].toString().length==1){r='<span class="countdown_amount">'+0+"</span>"+'<span class="countdown_amount">'+t._periods[e]+"</span>"}else{for(var i=0;i<t._periods[e].toString().length;i++){r+='<span class="countdown_amount">'+t._periods[e].toString().charAt(i)+"</span>"}}return'<span class="countdown_section">'+r+'<span class="countdown_txt">'+(n?n[e]:m[e])+"</span></span>"}else{return""}};var E=t.options.ujic_style;var x=t.options.layout;var T=t.options.compact;var N=t.options.significant;var C=t.options.description;if(E=="classic"){return x?this._buildLayout(t,p,x,T,N,v):(T?'<span class="countdown_row countdown_amount'+(t._hold?" countdown_holding":"")+'">'+y(n)+y(r)+y(i)+y(s)+(p[o]?this._minDigits(t._periods[o],2):"")+(p[u]?(p[o]?timeSeparator:"")+this._minDigits(t._periods[u],2):"")+(p[a]?(p[o]||p[u]?timeSeparator:"")+this._minDigits(t._periods[a],2):""):'<span class="countdown_row countdown_show'+(N||c)+(t._hold?" countdown_holding":"")+'">'+w(n)+w(r)+w(i)+w(s)+w(o)+w(u)+(w(a)?'<span class="uji_sec">'+w(a)+"</span>":""))+"</span>"+(C?'<span class="countdown_row countdown_descr">'+C+"</span>":"")}},_buildLayout:function(t,f,l,c,h,p){var d=t.options[c?"compactLabels":"labels"];var v=t.options.whichLabels||this._normalLabels;var m=function(e){return(t.options[(c?"compactLabels":"labels")+v(t._periods[e])]||d)[e]};var g=function(e,n){return t.options.digits[Math.floor(e/n)%10]};var y={desc:t.options.description,sep:t.options.timeSeparator,yl:m(n),yn:this._minDigits(t,t._periods[n],1),ynn:this._minDigits(t,t._periods[n],2),ynnn:this._minDigits(t,t._periods[n],3),y1:g(t._periods[n],1),y10:g(t._periods[n],10),y100:g(t._periods[n],100),y1000:g(t._periods[n],1e3),ol:m(r),on:this._minDigits(t,t._periods[r],1),onn:this._minDigits(t,t._periods[r],2),onnn:this._minDigits(t,t._periods[r],3),o1:g(t._periods[r],1),o10:g(t._periods[r],10),o100:g(t._periods[r],100),o1000:g(t._periods[r],1e3),wl:m(i),wn:this._minDigits(t,t._periods[i],1),wnn:this._minDigits(t,t._periods[i],2),wnnn:this._minDigits(t,t._periods[i],3),w1:g(t._periods[i],1),w10:g(t._periods[i],10),w100:g(t._periods[i],100),w1000:g(t._periods[i],1e3),dl:m(s),dn:this._minDigits(t,t._periods[s],1),dnn:this._minDigits(t,t._periods[s],2),dnnn:this._minDigits(t,t._periods[s],3),d1:g(t._periods[s],1),d10:g(t._periods[s],10),d100:g(t._periods[s],100),d1000:g(t._periods[s],1e3),hl:m(o),hn:this._minDigits(t,t._periods[o],1),hnn:this._minDigits(t,t._periods[o],2),hnnn:this._minDigits(t,t._periods[o],3),h1:g(t._periods[o],1),h10:g(t._periods[o],10),h100:g(t._periods[o],100),h1000:g(t._periods[o],1e3),ml:m(u),mn:this._minDigits(t,t._periods[u],1),mnn:this._minDigits(t,t._periods[u],2),mnnn:this._minDigits(t,t._periods[u],3),m1:g(t._periods[u],1),m10:g(t._periods[u],10),m100:g(t._periods[u],100),m1000:g(t._periods[u],1e3),sl:m(a),sn:this._minDigits(t,t._periods[a],1),snn:this._minDigits(t,t._periods[a],2),snnn:this._minDigits(t,t._periods[a],3),s1:g(t._periods[a],1),s10:g(t._periods[a],10),s100:g(t._periods[a],100),s1000:g(t._periods[a],1e3)};var b=l;for(var w=n;w<=a;w++){var E="yowdhms".charAt(w);var x=new RegExp("\\{"+E+"<\\}([\\s\\S]*)\\{"+E+">\\}","g");b=b.replace(x,!h&&f[w]||h&&p[w]?"$1":"")}e.each(y,function(e,t){var n=new RegExp("\\{"+e+"\\}","g");b=b.replace(n,t)});return b},_minDigits:function(e,t,n){t=""+t;if(t.length>=n){return this._translateDigits(e,t)}t="0000000000"+t;return this._translateDigits(e,t.substr(t.length-n))},_translateDigits:function(e,t){return(""+t).replace(/[0-9]/g,function(t){return e.options.digits[t]})},_determineShow:function(e){var t=e.options.format;var f=[];f[n]=t.match("y")?"?":t.match("Y")?"!":null;f[r]=t.match("o")?"?":t.match("O")?"!":null;f[i]=t.match("w")?"?":t.match("W")?"!":null;f[s]=t.match("d")?"?":t.match("D")?"!":null;f[o]=t.match("h")?"?":t.match("H")?"!":null;f[u]=t.match("m")?"?":t.match("M")?"!":null;f[a]=t.match("s")?"?":t.match("S")?"!":null;return f},_calculatePeriods:function(e,t,f,l){e._now=l;e._now.setMilliseconds(0);var c=new Date(e._now.getTime());if(e._since){if(l.getTime()<e._since.getTime()){e._now=l=c}else{l=e._since}}else{c.setTime(e._until.getTime());if(l.getTime()>e._until.getTime()){e._now=l=c}}var h=[0,0,0,0,0,0,0];if(t[n]||t[r]){var p=this._getDaysInMonth(l.getFullYear(),l.getMonth());var d=this._getDaysInMonth(c.getFullYear(),c.getMonth());var v=c.getDate()==l.getDate()||c.getDate()>=Math.min(p,d)&&l.getDate()>=Math.min(p,d);var m=function(e){return(e.getHours()*60+e.getMinutes())*60+e.getSeconds()};var g=Math.max(0,(c.getFullYear()-l.getFullYear())*12+c.getMonth()-l.getMonth()+(c.getDate()<l.getDate()&&!v||v&&m(c)<m(l)?-1:0));h[n]=t[n]?Math.floor(g/12):0;h[r]=t[r]?g-h[n]*12:0;l=new Date(l.getTime());var y=l.getDate()==p;var b=this._getDaysInMonth(l.getFullYear()+h[n],l.getMonth()+h[r]);if(l.getDate()>b){l.setDate(b)}l.setFullYear(l.getFullYear()+h[n]);l.setMonth(l.getMonth()+h[r]);if(y){l.setDate(b)}}var w=Math.floor((c.getTime()-l.getTime())/1e3);var E=function(e,n){h[e]=t[e]?Math.floor(w/n):0;w-=h[e]*n};E(i,604800);E(s,86400);E(o,3600);E(u,60);E(a,1);if(w>0&&!e._since){var x=[1,12,4.3482,7,24,60,60];var T=a;var N=1;for(var C=a;C>=n;C--){if(t[C]){if(h[T]>=N){h[T]=0;w=1}if(w>0){h[C]++;w=0;T=C;N=1}}N*=x[C]}}if(f){for(var C=n;C<=a;C++){if(f&&h[C]){f--}else if(!f){h[C]=0}}}return h}})})(jQuery)
1
+ var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){if(n.get||n.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=n.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(t,e){$jscomp.initSymbolIterator(),t instanceof String&&(t+="");var n=0,i={next:function(){if(n<t.length){var r=n++;return{value:e(r,t[r]),done:!1}}return i.next=function(){return{done:!0,value:void 0}},i.next()}};return i[Symbol.iterator]=function(){return i},i},$jscomp.polyfill=function(t,e,n,i){if(e){for(n=$jscomp.global,t=t.split("."),i=0;i<t.length-1;i++){var r=t[i];r in n||(n[r]={}),n=n[r]}(e=e(i=n[t=t[t.length-1]]))!=i&&null!=e&&$jscomp.defineProperty(n,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.keys",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var $jscomp$this=this;!function(t,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():t.anime=e()}(this,function(){function t(t){if(!j.col(t))try{return document.querySelectorAll(t)}catch(t){}}function e(t,e){for(var n=t.length,i=2<=arguments.length?arguments[1]:void 0,r=[],o=0;o<n;o++)if(o in t){var s=t[o];e.call(i,s,o,t)&&r.push(s)}return r}function n(t){return t.reduce(function(t,e){return t.concat(j.arr(e)?n(e):e)},[])}function i(e){return j.arr(e)?e:(j.str(e)&&(e=t(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function r(t,e){return t.some(function(t){return t===e})}function o(t){var e,n={};for(e in t)n[e]=t[e];return n}function s(t,e){var n,i=o(t);for(n in t)i[n]=e.hasOwnProperty(n)?e[n]:t[n];return i}function a(t,e){var n,i=o(t);for(n in e)i[n]=j.und(t[n])?e[n]:t[n];return i}function u(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function l(t,e){return j.fnc(t)?t(e.target,e.id,e.total):t}function c(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return j.dom(t)&&r(T,e)?"transform":j.dom(t)&&(t.getAttribute(e)||j.svg(t)&&t[e])?"attribute":j.dom(t)&&"transform"!==e&&c(t,e)?"css":null!=t[e]?"object":void 0}function d(t,n){switch(p(t,n)){case"transform":return function(t,n){var i=function(t){return-1<t.indexOf("translate")||"perspective"===t?"px":-1<t.indexOf("rotate")||-1<t.indexOf("skew")?"deg":void 0}(n);if(i=-1<n.indexOf("scale")?1:0+i,!(t=t.style.transform))return i;for(var r=[],o=[],s=[],a=/(\w+)\((.+?)\)/g;r=a.exec(t);)o.push(r[1]),s.push(r[2]);return(t=e(s,function(t,e){return o[e]===n})).length?t[0]:i}(t,n);case"css":return c(t,n);case"attribute":return t.getAttribute(n)}return t[n]||0}function f(t,e){var n=/^(\*=|\+=|-=)/.exec(t);if(!n)return t;var i=u(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(n[0],"")),n[0][0]){case"+":return e+t+i;case"-":return e-t+i;case"*":return e*t+i}}function h(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function m(t){t=t.points;for(var e,n=0,i=0;i<t.numberOfItems;i++){var r=t.getItem(i);0<i&&(n+=h(e,r)),e=r}return n}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return h({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return m(t);case"polygon":var e=t.points;return m(t)+h(e.getItem(e.numberOfItems-1),e.getItem(0))}}function _(t,e){function n(n){return n=void 0===n?0:n,t.el.getPointAtLength(1<=e+n?e+n:0)}var i=n(),r=n(-1),o=n(1);switch(t.property){case"x":return i.x;case"y":return i.y;case"angle":return 180*Math.atan2(o.y-r.y,o.x-r.x)/Math.PI}}function y(t,e){var n,i=/-?\d*\.?\d+/g;if(n=j.pth(t)?t.totalLength:t,j.col(n))if(j.rgb(n)){var r=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);n=r?"rgba("+r[1]+",1)":n}else n=j.hex(n)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,n,i){return e+e+n+n+i+i});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return"rgba("+(t=parseInt(e[1],16))+","+parseInt(e[2],16)+","+(e=parseInt(e[3],16))+",1)"}(n):j.hsl(n)?function(t){function e(t,e,n){return 0>n&&(n+=1),1<n&&--n,n<1/6?t+6*(e-t)*n:.5>n?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(n[1])/360;var i=parseInt(n[2])/100,r=parseInt(n[3])/100;if(n=n[4]||1,0==i)r=i=t=r;else{var o=.5>r?r*(1+i):r+i-r*i,s=2*r-o;r=e(s,o,t+1/3),i=e(s,o,t),t=e(s,o,t-1/3)}return"rgba("+255*r+","+255*i+","+255*t+","+n+")"}(n):void 0;else r=(r=u(n))?n.substr(0,n.length-r.length):n,n=e&&!/\s/g.test(n)?r+e:r;return{original:n+="",numbers:n.match(i)?n.match(i).map(Number):[0],strings:j.str(t)||e?n.split(i):[]}}function v(t){return e(t=t?n(j.arr(t)?t.map(i):i(t)):[],function(t,e,n){return n.indexOf(t)===e})}function w(t,e){var n=o(e);if(j.arr(t)){var r=t.length;2!==r||j.obj(t[0])?j.fnc(e.duration)||(n.duration=e.duration/r):t={value:t}}return i(t).map(function(t,n){return n=n?0:e.delay,t=j.obj(t)&&!j.pth(t)?t:{value:t},j.und(t.delay)&&(t.delay=n),t}).map(function(t){return a(t,n)})}function b(t,e){var n;return t.tweens.map(function(i){var r=(i=function(t,e){var n,i={};for(n in t){var r=l(t[n],e);j.arr(r)&&1===(r=r.map(function(t){return l(t,e)})).length&&(r=r[0]),i[n]=r}return i.duration=parseFloat(i.duration),i.delay=parseFloat(i.delay),i}(i,e)).value,o=d(e.target,t.name),s=n?n.to.original:o,a=(s=j.arr(r)?r[0]:s,f(j.arr(r)?r[1]:r,s));o=u(a)||u(s)||u(o);return i.from=y(s,o),i.to=y(a,o),i.start=n?n.end:t.offset,i.end=i.start+i.delay+i.duration,i.easing=function(t){return j.arr(t)?k.apply(this,t):I[t]}(i.easing),i.elasticity=(1e3-Math.min(Math.max(i.elasticity,1),999))/1e3,i.isPath=j.pth(r),i.isColor=j.col(i.from.original),i.isColor&&(i.round=1),n=i})}function M(t,e,n,i){var r="delay"===t;return e.length?(r?Math.min:Math.max).apply(Math,e.map(function(e){return e[t]})):r?i.delay:n.offset+i.delay+i.duration}function D(t){var i,r=s(C,t),o=s($,t),u=function(t){var e=v(t);return e.map(function(t,n){return{target:t,id:n,total:e.length}})}(t.targets),l=[],c=a(r,o);for(i in t)c.hasOwnProperty(i)||"targets"===i||l.push({name:i,offset:c.offset,tweens:w(t[i],o)});return t=function(t,i){return e(n(t.map(function(t){return i.map(function(e){var n=p(t.target,e.name);if(n){var i=b(e,t);e={type:n,property:e.name,animatable:t,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else e=void 0;return e})})),function(t){return!j.und(t)})}(u,l),a(r,{children:[],animatables:u,animations:t,duration:M("duration",t,r,o),delay:M("delay",t,r,o)})}function S(t){function n(){return window.Promise&&new Promise(function(t){return d=t})}function i(t){return h.reversed?h.duration-t:t}function r(t){for(var n=0,i={},r=h.animations,o=r.length;n<o;){var s=r[n],a=s.animatable,u=(l=s.tweens)[f=l.length-1];f&&(u=e(l,function(e){return t<e.end})[0]||u);for(var l=Math.min(Math.max(t-u.start-u.delay,0),u.duration)/u.duration,p=isNaN(l)?1:u.easing(l,u.elasticity),d=(l=u.to.strings,u.round),f=[],m=void 0,g=(m=u.to.numbers.length,0);g<m;g++){var y=void 0,v=(y=u.to.numbers[g],u.from.numbers[g]);y=u.isPath?_(u.value,p*y):v+p*(y-v);d&&(u.isColor&&2<g||(y=Math.round(y*d)/d)),f.push(y)}if(u=l.length)for(m=l[0],p=0;p<u;p++)d=l[p+1],g=f[p],isNaN(g)||(m=d?m+(g+d):m+(g+" "));else m=f[0];A[s.type](a.target,s.property,m,i,a.id),s.currentValue=m,n++}if(n=Object.keys(i).length)for(r=0;r<n;r++)x||(x=c(document.body,"transform")?"transform":"-webkit-transform"),h.animatables[r].target.style[x]=i[r].join(" ");h.currentTime=t,h.progress=t/h.duration*100}function o(t){h[t]&&h[t](h)}function s(){h.remaining&&!0!==h.remaining&&h.remaining--}function a(t){var e=h.duration,a=h.offset,c=a+h.delay,m=h.currentTime,g=h.reversed,_=i(t);if(h.children.length){var y=h.children,v=y.length;if(_>=h.currentTime)for(var w=0;w<v;w++)y[w].seek(_);else for(;v--;)y[v].seek(_)}(_>=c||!e)&&(h.began||(h.began=!0,o("begin")),o("run")),_>a&&_<e?r(_):(_<=a&&0!==m&&(r(0),g&&s()),(_>=e&&m!==e||!e)&&(r(e),g||s())),o("update"),t>=e&&(h.remaining?(l=u,"alternate"===h.direction&&(h.reversed=!h.reversed)):(h.pause(),h.completed||(h.completed=!0,o("complete"),"Promise"in window&&(d(),f=n()))),p=0)}t=void 0===t?{}:t;var u,l,p=0,d=null,f=n(),h=D(t);return h.reset=function(){var t=h.direction,e=h.loop;for(h.currentTime=0,h.progress=0,h.paused=!0,h.began=!1,h.completed=!1,h.reversed="reverse"===t,h.remaining="alternate"===t&&1===e?2:e,r(0),t=h.children.length;t--;)h.children[t].reset()},h.tick=function(t){u=t,l||(l=u),a((p+u-l)*S.speed)},h.seek=function(t){a(i(t))},h.pause=function(){var t=E.indexOf(h);-1<t&&E.splice(t,1),h.paused=!0},h.play=function(){h.paused&&(h.paused=!1,l=0,p=i(h.currentTime),E.push(h),L||O())},h.reverse=function(){h.reversed=!h.reversed,l=0,p=i(h.currentTime)},h.restart=function(){h.pause(),h.reset(),h.play()},h.finished=f,h.reset(),h.autoplay&&h.play(),h}var x,C={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},$={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},T="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),j={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return j.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||j.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return j.hex(t)||j.rgb(t)||j.hsl(t)}},k=function(){function t(t,e,n){return(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t}return function(e,n,i,r){if(0<=e&&1>=e&&0<=i&&1>=i){var o=new Float32Array(11);if(e!==n||i!==r)for(var s=0;11>s;++s)o[s]=t(.1*s,e,i);return function(s){if(e===n&&i===r)return s;if(0===s)return 0;if(1===s)return 1;for(var a=0,u=1;10!==u&&o[u]<=s;++u)a+=.1;u=a+(s-o[--u])/(o[u+1]-o[u])*.1;var l=3*(1-3*i+3*e)*u*u+2*(3*i-6*e)*u+3*e;if(.001<=l){for(a=0;4>a&&0!==(l=3*(1-3*i+3*e)*u*u+2*(3*i-6*e)*u+3*e);++a){var c=t(u,e,i)-s;u=u-c/l}s=u}else if(0===l)s=u;else{u=a,a=a+.1;var p=0;do{0<(l=t(c=u+(a-u)/2,e,i)-s)?a=c:u=c}while(1e-7<Math.abs(l)&&10>++p);s=c}return t(s,n,r)}}}}(),I=function(){function t(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var e,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),i={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],t],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(e,n){return 1-t(1-e,n)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(e,n){return.5>e?t(2*e,n)/2:1-t(-2*e+2,n)/2}]},r={linear:k(.25,.25,.75,.75)},o={};for(e in i)o.type=e,i[o.type].forEach(function(t){return function(e,i){r["ease"+t.type+n[i]]=j.fnc(e)?e:k.apply($jscomp$this,e)}}(o)),o={type:o.type};return r}(),A={css:function(t,e,n){return t.style[e]=n},attribute:function(t,e,n){return t.setAttribute(e,n)},object:function(t,e,n){return t[e]=n},transform:function(t,e,n,i,r){i[r]||(i[r]=[]),i[r].push(e+"("+n+")")}},E=[],L=0,O=function(){function t(){L=requestAnimationFrame(e)}function e(e){var n=E.length;if(n){for(var i=0;i<n;)E[i]&&E[i].tick(e),i++;t()}else cancelAnimationFrame(L),L=0}return t}();return S.version="2.2.0",S.speed=1,S.running=E,S.remove=function(t){t=v(t);for(var e=E.length;e--;)for(var n=E[e],i=n.animations,o=i.length;o--;)r(t,i[o].animatable.target)&&(i.splice(o,1),i.length||n.pause())},S.getValue=d,S.path=function(e,n){var i=j.str(e)?t(e)[0]:e,r=n||100;return function(t){return{el:i,property:t,totalLength:g(i)*(r/100)}}},S.setDashoffset=function(t){var e=g(t);return t.setAttribute("stroke-dasharray",e),e},S.bezier=k,S.easings=I,S.timeline=function(t){var e=S(t);return e.pause(),e.duration=0,e.add=function(n){return e.children.forEach(function(t){t.began=!0,t.completed=!0}),i(n).forEach(function(n){var i=a(n,s($,t||{}));i.targets=i.targets||t.targets,n=e.duration;var r=i.offset;i.autoplay=!1,i.direction=e.direction,i.offset=j.und(r)?n:f(r,n),e.began=!0,e.completed=!0,e.seek(i.offset),(i=S(i)).began=!0,i.completed=!0,i.duration>n&&(e.duration=i.duration),e.children.push(i)}),e.seek(0),e.reset(),e.autoplay&&e.restart(),e},e},S.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},S}),function(){"use strict";var t=!1;window.JQClass=function(){},JQClass.classes={},JQClass.extend=function e(n){var i=this.prototype;t=!0;var r=new this;for(var o in t=!1,n)if("function"==typeof n[o]&&"function"==typeof i[o])r[o]=function(t,e){return function(){var n=this._super;this._super=function(e){return i[t].apply(this,e||[])};var r=e.apply(this,arguments);return this._super=n,r}}(o,n[o]);else if("object"==typeof n[o]&&"object"==typeof i[o]&&"defaultOptions"===o){var s,a=i[o],u=n[o],l={};for(s in a)l[s]=a[s];for(s in u)l[s]=u[s];r[o]=l}else r[o]=n[o];function c(){!t&&this._init&&this._init.apply(this,arguments)}return c.prototype=r,c.prototype.constructor=c,c.extend=e,c}}(),function($){"use strict";function camelCase(t){return t.replace(/-([a-z])/g,function(t,e){return e.toUpperCase()})}JQClass.classes.JQPlugin=JQClass.extend({name:"plugin",defaultOptions:{},regionalOptions:{},deepMerge:!0,_getMarker:function(){return"is-"+this.name},_init:function(){$.extend(this.defaultOptions,this.regionalOptions&&this.regionalOptions[""]||{});var t=camelCase(this.name);$[t]=this,$.fn[t]=function(e){var n=Array.prototype.slice.call(arguments,1),i=this,r=this;return this.each(function(){if("string"==typeof e){if("_"===e[0]||!$[t][e])throw"Unknown method: "+e;var o=$[t][e].apply($[t],[this].concat(n));if(o!==i&&void 0!==o)return r=o,!1}else $[t]._attach(this,e)}),r}},setDefaults:function(t){$.extend(this.defaultOptions,t||{})},_attach:function(t,e){if(!(t=$(t)).hasClass(this._getMarker())){t.addClass(this._getMarker()),e=$.extend(this.deepMerge,{},this.defaultOptions,this._getMetadata(t),e||{});var n=$.extend({name:this.name,elem:t,options:e},this._instSettings(t,e));t.data(this.name,n),this._postAttach(t,n),this.option(t,e)}},_instSettings:function(t,e){return{}},_postAttach:function(t,e){},_getMetadata:function(elem){try{var data=elem.data(this.name.toLowerCase())||"";for(var key in data=data.replace(/(\\?)'/g,function(t,e){return e?"'":'"'}).replace(/([a-zA-Z0-9]+):/g,function(t,e,n){var i=data.substring(0,n).match(/"/g);return i&&i.length%2!=0?e+":":'"'+e+'":'}).replace(/\\:/g,":"),data=$.parseJSON("{"+data+"}"),data)if(data.hasOwnProperty(key)){var value=data[key];"string"==typeof value&&value.match(/^new Date\(([-0-9,\s]*)\)$/)&&(data[key]=eval(value))}return data}catch(t){return{}}},_getInst:function(t){return $(t).data(this.name)||{}},option:function(t,e,n){var i=(t=$(t)).data(this.name),r=e||{};if(!e||"string"==typeof e&&void 0===n)return(r=(i||{}).options)&&e?r[e]:r;t.hasClass(this._getMarker())&&("string"==typeof e&&((r={})[e]=n),this._optionsChanged(t,i,r),$.extend(i.options,r))},_optionsChanged:function(t,e,n){},destroy:function(t){(t=$(t)).hasClass(this._getMarker())&&(this._preDestroy(t,this._getInst(t)),t.removeData(this.name).removeClass(this._getMarker()))},_preDestroy:function(t,e){}}),$.JQPlugin={createPlugin:function(t,e){"object"==typeof t&&(e=t,t="JQPlugin"),t=camelCase(t);var n=camelCase(e.name);JQClass.classes[n]=JQClass.classes[t].extend(e),new JQClass.classes[n]}}}(jQuery),function(t){"use strict";t.JQPlugin.createPlugin({name:"countdown",defaultOptions:{until:null,since:null,timezone:null,serverSync:null,format:"dHMS",layout:"",compact:!1,padZeroes:!1,significant:0,description:"",expiryUrl:"",expiryText:"",alwaysExpire:!1,onExpiry:null,onTick:null,tickInterval:1},regionalOptions:{"":{labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],whichLabels:null,digits:["0","1","2","3","4","5","6","7","8","9"],timeSeparator:":",isRTL:!1}},_rtlClass:"countdown-rtl",_sectionClass:"countdown-section",_amountClass:"countdown-amount",_periodClass:"countdown-period",_rowClass:"countdown-row",_holdingClass:"countdown-holding",_showClass:"countdown-show",_descrClass:"countdown-descr",_timerElems:[],_init:function(){var e=this;this._super(),this._serverSyncs=[];var n="function"==typeof Date.now?Date.now:function(){return(new Date).getTime()},i=window.performance&&"function"==typeof window.performance.now;var r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null,o=0;!r||t.noRequestAnimationFrame?(t.noRequestAnimationFrame=null,t.countdown._timer=setInterval(function(){e._updateElems()},1e3)):(o=window.animationStartTime||window.webkitAnimationStartTime||window.mozAnimationStartTime||window.oAnimationStartTime||window.msAnimationStartTime||n(),r(function t(s){var a=s<1e12?i?window.performance.now()+window.performance.timing.navigationStart:n():s||n();a-o>=1e3&&(e._updateElems(),o=a),r(t)}))},UTCDate:function(t,e,n,i,r,o,s,a){"object"==typeof e&&e instanceof Date&&(a=e.getMilliseconds(),s=e.getSeconds(),o=e.getMinutes(),r=e.getHours(),i=e.getDate(),n=e.getMonth(),e=e.getFullYear());var u=new Date;return u.setUTCFullYear(e),u.setUTCDate(1),u.setUTCMonth(n||0),u.setUTCDate(i||1),u.setUTCHours(r||0),u.setUTCMinutes((o||0)-(Math.abs(t)<30?60*t:t)),u.setUTCSeconds(s||0),u.setUTCMilliseconds(a||0),u},periodsToSeconds:function(t){return 31557600*t[0]+2629800*t[1]+604800*t[2]+86400*t[3]+3600*t[4]+60*t[5]+t[6]},resync:function(){var e=this;t("."+this._getMarker()).each(function(){var n=t.data(this,e.name);if(n.options.serverSync){for(var i=null,r=0;r<e._serverSyncs.length;r++)if(e._serverSyncs[r][0]===n.options.serverSync){i=e._serverSyncs[r];break}if(e._eqNull(i[2])){var o=t.isFunction(n.options.serverSync)?n.options.serverSync.apply(this,[]):null;i[2]=(o?(new Date).getTime()-o.getTime():0)-i[1]}n._since&&n._since.setMilliseconds(n._since.getMilliseconds()+i[2]),n._until.setMilliseconds(n._until.getMilliseconds()+i[2])}});for(var n=0;n<e._serverSyncs.length;n++)e._eqNull(e._serverSyncs[n][2])||(e._serverSyncs[n][1]+=e._serverSyncs[n][2],delete e._serverSyncs[n][2])},_instSettings:function(t,e){return{_periods:[0,0,0,0,0,0,0]}},_addElem:function(t){this._hasElem(t)||this._timerElems.push(t)},_hasElem:function(e){return t.inArray(e,this._timerElems)>-1},_removeElem:function(e){this._timerElems=t.map(this._timerElems,function(t){return t===e?null:t})},_updateElems:function(){for(var t=this._timerElems.length-1;t>=0;t--)this._updateCountdown(this._timerElems[t])},_optionsChanged:function(e,n,i){i.layout&&(i.layout=i.layout.replace(/&lt;/g,"<").replace(/&gt;/g,">")),this._resetExtraLabels(n.options,i);var r=n.options.timezone!==i.timezone;t.extend(n.options,i),this._adjustSettings(e,n,!this._eqNull(i.until)||!this._eqNull(i.since)||r);var o=new Date;(n._since&&n._since<o||n._until&&n._until>o)&&this._addElem(e[0]),this._updateCountdown(e,n)},_updateCountdown:function(e,n){if(e=e.jquery?e:t(e),n=n||this._getInst(e)){if(e.html(this._generateHTML(n)).toggleClass(this._rtlClass,n.options.isRTL),"pause"!==n._hold&&t.isFunction(n.options.onTick)){var i="lap"!==n._hold?n._periods:this._calculatePeriods(n,n._show,n.options.significant,new Date);1!==n.options.tickInterval&&this.periodsToSeconds(i)%n.options.tickInterval!=0||n.options.onTick.apply(e[0],[i])}if("pause"!==n._hold&&(n._since?n._now.getTime()<n._since.getTime():n._now.getTime()>=n._until.getTime())&&!n._expiring){if(n._expiring=!0,this._hasElem(e[0])||n.options.alwaysExpire){if(this._removeElem(e[0]),t.isFunction(n.options.onExpiry)&&n.options.onExpiry.apply(e[0],[]),n.options.expiryText){var r=n.options.layout;n.options.layout=n.options.expiryText,this._updateCountdown(e[0],n),n.options.layout=r}n.options.expiryUrl&&(window.location=n.options.expiryUrl)}n._expiring=!1}else"pause"===n._hold&&this._removeElem(e[0])}},_resetExtraLabels:function(t,e){var n=null;for(n in e)n.match(/[Ll]abels[02-9]|compactLabels1/)&&(t[n]=e[n]);for(n in t)n.match(/[Ll]abels[02-9]|compactLabels1/)&&void 0===e[n]&&(t[n]=null)},_eqNull:function(t){return null==t},_adjustSettings:function(e,n,i){for(var r=null,o=0;o<this._serverSyncs.length;o++)if(this._serverSyncs[o][0]===n.options.serverSync){r=this._serverSyncs[o][1];break}var s=null,a=null;if(this._eqNull(r)){var u=t.isFunction(n.options.serverSync)?n.options.serverSync.apply(e[0],[]):null;s=new Date,a=u?s.getTime()-u.getTime():0,this._serverSyncs.push([n.options.serverSync,a])}else s=new Date,a=n.options.serverSync?r:0;var l=n.options.timezone;l=this._eqNull(l)?-s.getTimezoneOffset():l,(i||!i&&this._eqNull(n._until)&&this._eqNull(n._since))&&(n._since=n.options.since,this._eqNull(n._since)||(n._since=this.UTCDate(l,this._determineTime(n._since,null)),n._since&&a&&n._since.setMilliseconds(n._since.getMilliseconds()+a)),n._until=this.UTCDate(l,this._determineTime(n.options.until,s)),a&&n._until.setMilliseconds(n._until.getMilliseconds()+a)),n._show=this._determineShow(n)},_preDestroy:function(t,e){this._removeElem(t[0]),t.empty()},pause:function(t){this._hold(t,"pause")},lap:function(t){this._hold(t,"lap")},resume:function(t){this._hold(t,null)},toggle:function(e){this[(t.data(e,this.name)||{})._hold?"resume":"pause"](e)},toggleLap:function(e){this[(t.data(e,this.name)||{})._hold?"resume":"lap"](e)},_hold:function(e,n){var i=t.data(e,this.name);if(i){if("pause"===i._hold&&!n){i._periods=i._savePeriods;var r=i._since?"-":"+";i[i._since?"_since":"_until"]=this._determineTime(r+i._periods[0]+"y"+r+i._periods[1]+"o"+r+i._periods[2]+"w"+r+i._periods[3]+"d"+r+i._periods[4]+"h"+r+i._periods[5]+"m"+r+i._periods[6]+"s"),this._addElem(e)}i._hold=n,i._savePeriods="pause"===n?i._periods:null,t.data(e,this.name,i),this._updateCountdown(e,i)}},getTimes:function(e){var n=t.data(e,this.name);return n?"pause"===n._hold?n._savePeriods:n._hold?this._calculatePeriods(n,n._show,n.options.significant,new Date):n._periods:null},_determineTime:function(t,e){var n=this,i=this._eqNull(t)?e:"string"==typeof t?function(t){t=t.toLowerCase();for(var e=new Date,i=e.getFullYear(),r=e.getMonth(),o=e.getDate(),s=e.getHours(),a=e.getMinutes(),u=e.getSeconds(),l=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g,c=l.exec(t);c;){switch(c[2]||"s"){case"s":u+=parseInt(c[1],10);break;case"m":a+=parseInt(c[1],10);break;case"h":s+=parseInt(c[1],10);break;case"d":o+=parseInt(c[1],10);break;case"w":o+=7*parseInt(c[1],10);break;case"o":r+=parseInt(c[1],10),o=Math.min(o,n._getDaysInMonth(i,r));break;case"y":i+=parseInt(c[1],10),o=Math.min(o,n._getDaysInMonth(i,r))}c=l.exec(t)}return new Date(i,r,o,s,a,u,0)}(t):"number"==typeof t?function(t){var e=new Date;return e.setTime(e.getTime()+1e3*t),e}(t):t;return i&&i.setMilliseconds(0),i},_getDaysInMonth:function(t,e){return 32-new Date(t,e,32).getDate()},_normalLabels:function(t){return t},_generateHTML:function(e){var n=this;e._periods=e._hold?e._periods:this._calculatePeriods(e,e._show,e.options.significant,new Date);var i=!1,r=0,o=e.options.significant,s=t.extend({},e._show),a=null;for(a=0;a<=6;a++)i=i||"?"===e._show[a]&&e._periods[a]>0,s[a]="?"!==e._show[a]||i?e._show[a]:null,r+=s[a]?1:0,o-=e._periods[a]>0?1:0;var u=[!1,!1,!1,!1,!1,!1,!1];for(a=6;a>=0;a--)e._show[a]&&(e._periods[a]?u[a]=!0:(u[a]=o>0,o--));var l=e.options.compact?e.options.compactLabels:e.options.labels,c=e.options.whichLabels||this._normalLabels,p=function(t){var i=e.options["compactLabels"+c(e._periods[t])];return s[t]?n._translateDigits(e,e._periods[t])+(i?i[t]:l[t])+" ":""},d=e.options.padZeroes?2:1,f=function(t){var i=e.options["labels"+c(e._periods[t])];return!e.options.significant&&s[t]||e.options.significant&&u[t]?'<span class="'+n._sectionClass+'"><span class="'+n._amountClass+'">'+n._minDigits(e,e._periods[t],d)+'</span><span class="'+n._periodClass+'">'+(i?i[t]:l[t])+"</span></span>":""};return e.options.layout?this._buildLayout(e,s,e.options.layout,e.options.compact,e.options.significant,u):(e.options.compact?'<span class="'+this._rowClass+" "+this._amountClass+(e._hold?" "+this._holdingClass:"")+'">'+p(0)+p(1)+p(2)+p(3)+(s[4]?this._minDigits(e,e._periods[4],2):"")+(s[5]?(s[4]?e.options.timeSeparator:"")+this._minDigits(e,e._periods[5],2):"")+(s[6]?(s[4]||s[5]?e.options.timeSeparator:"")+this._minDigits(e,e._periods[6],2):""):'<span class="'+this._rowClass+" "+this._showClass+(e.options.significant||r)+(e._hold?" "+this._holdingClass:"")+'">'+f(0)+f(1)+f(2)+f(3)+f(4)+f(5)+f(6))+"</span>"+(e.options.description?'<span class="'+this._rowClass+" "+this._descrClass+'">'+e.options.description+"</span>":"")},_buildLayout:function(e,n,i,r,o,s){for(var a=e.options[r?"compactLabels":"labels"],u=e.options.whichLabels||this._normalLabels,l=function(t){return(e.options[(r?"compactLabels":"labels")+u(e._periods[t])]||a)[t]},c=function(t,n){return e.options.digits[Math.floor(t/n)%10]},p={desc:e.options.description,sep:e.options.timeSeparator,yl:l(0),yn:this._minDigits(e,e._periods[0],1),ynn:this._minDigits(e,e._periods[0],2),ynnn:this._minDigits(e,e._periods[0],3),y1:c(e._periods[0],1),y10:c(e._periods[0],10),y100:c(e._periods[0],100),y1000:c(e._periods[0],1e3),ol:l(1),on:this._minDigits(e,e._periods[1],1),onn:this._minDigits(e,e._periods[1],2),onnn:this._minDigits(e,e._periods[1],3),o1:c(e._periods[1],1),o10:c(e._periods[1],10),o100:c(e._periods[1],100),o1000:c(e._periods[1],1e3),wl:l(2),wn:this._minDigits(e,e._periods[2],1),wnn:this._minDigits(e,e._periods[2],2),wnnn:this._minDigits(e,e._periods[2],3),w1:c(e._periods[2],1),w10:c(e._periods[2],10),w100:c(e._periods[2],100),w1000:c(e._periods[2],1e3),dl:l(3),dn:this._minDigits(e,e._periods[3],1),dnn:this._minDigits(e,e._periods[3],2),dnnn:this._minDigits(e,e._periods[3],3),d1:c(e._periods[3],1),d10:c(e._periods[3],10),d100:c(e._periods[3],100),d1000:c(e._periods[3],1e3),hl:l(4),hn:this._minDigits(e,e._periods[4],1),hnn:this._minDigits(e,e._periods[4],2),hnnn:this._minDigits(e,e._periods[4],3),h1:c(e._periods[4],1),h10:c(e._periods[4],10),h100:c(e._periods[4],100),h1000:c(e._periods[4],1e3),ml:l(5),mn:this._minDigits(e,e._periods[5],1),mnn:this._minDigits(e,e._periods[5],2),mnnn:this._minDigits(e,e._periods[5],3),m1:c(e._periods[5],1),m10:c(e._periods[5],10),m100:c(e._periods[5],100),m1000:c(e._periods[5],1e3),sl:l(6),sn:this._minDigits(e,e._periods[6],1),snn:this._minDigits(e,e._periods[6],2),snnn:this._minDigits(e,e._periods[6],3),s1:c(e._periods[6],1),s10:c(e._periods[6],10),s100:c(e._periods[6],100),s1000:c(e._periods[6],1e3)},d=i,f=0;f<=6;f++){var h="yowdhms".charAt(f),m=new RegExp("\\{"+h+"<\\}([\\s\\S]*)\\{"+h+">\\}","g");d=d.replace(m,!o&&n[f]||o&&s[f]?"$1":"")}return t.each(p,function(t,e){var n=new RegExp("\\{"+t+"\\}","g");d=d.replace(n,e)}),d},_minDigits:function(t,e,n){return(e=""+e).length>=n?this._translateDigits(t,e):(e="0000000000"+e,this._translateDigits(t,e.substr(e.length-n)))},_translateDigits:function(t,e){return(""+e).replace(/[0-9]/g,function(e){return t.options.digits[e]})},_determineShow:function(t){var e=t.options.format,n=[];return n[0]=e.match("y")?"?":e.match("Y")?"!":null,n[1]=e.match("o")?"?":e.match("O")?"!":null,n[2]=e.match("w")?"?":e.match("W")?"!":null,n[3]=e.match("d")?"?":e.match("D")?"!":null,n[4]=e.match("h")?"?":e.match("H")?"!":null,n[5]=e.match("m")?"?":e.match("M")?"!":null,n[6]=e.match("s")?"?":e.match("S")?"!":null,n},_calculatePeriods:function(t,e,n,i){t._now=i,t._now.setMilliseconds(0);var r=new Date(t._now.getTime());t._since?i.getTime()<t._since.getTime()?t._now=i=r:i=t._since:(r.setTime(t._until.getTime()),i.getTime()>t._until.getTime()&&(t._now=i=r));var o=[0,0,0,0,0,0,0];if(e[0]||e[1]){var s=this._getDaysInMonth(i.getFullYear(),i.getMonth()),a=this._getDaysInMonth(r.getFullYear(),r.getMonth()),u=r.getDate()===i.getDate()||r.getDate()>=Math.min(s,a)&&i.getDate()>=Math.min(s,a),l=function(t){return 60*(60*t.getHours()+t.getMinutes())+t.getSeconds()},c=Math.max(0,12*(r.getFullYear()-i.getFullYear())+r.getMonth()-i.getMonth()+(r.getDate()<i.getDate()&&!u||u&&l(r)<l(i)?-1:0));o[0]=e[0]?Math.floor(c/12):0,o[1]=e[1]?c-12*o[0]:0;var p=(i=new Date(i.getTime())).getDate()===s,d=this._getDaysInMonth(i.getFullYear()+o[0],i.getMonth()+o[1]);i.getDate()>d&&i.setDate(d),i.setFullYear(i.getFullYear()+o[0]),i.setMonth(i.getMonth()+o[1]),p&&i.setDate(d)}var f=Math.floor((r.getTime()-i.getTime())/1e3),h=null,m=function(t,n){o[t]=e[t]?Math.floor(f/n):0,f-=o[t]*n};if(m(2,604800),m(3,86400),m(4,3600),m(5,60),m(6,1),f>0&&!t._since){var g=[1,12,4.3482,7,24,60,60],_=6,y=1;for(h=6;h>=0;h--)e[h]&&(o[_]>=y&&(o[_]=0,f=1),f>0&&(o[h]++,f=0,_=h,y=1)),y*=g[h]}if(n)for(h=0;h<=6;h++)n&&o[h]?n--:n||(o[h]=0);return o}})}(jQuery);
 
 
 
 
 
 
js/uji-countdown.js CHANGED
@@ -1 +1 @@
1
- (function(a){a(function(){var V=window.ujiCount;var G=V.uji_style;var K=V.uji_plugin;var s="ujiCountdown";var I=V.expire;var d=V.exp_days;var p=V.Years;var R=V.Months;var H=V.Weeks;var X=V.Days;var N=V.Hours;var z=V.Minutes;var f=V.Seconds;var W=V.Year;var E=V.Month;var Q=V.Week;var e=V.Day;var i=V.Hour;var x=V.Minute;var b=V.Second;var m=V.ujic_txt_size;var U=V.ujic_col_dw;var q=V.ujic_col_up;var M=V.ujic_col_txt;var c=V.ujic_col_sw;var r=V.ujic_col_lab;var o=V.ujic_lab_sz;var A=V.ujic_y;var J=V.ujic_o;var C=V.ujic_w;var S=V.ujic_d;var P=V.ujic_h;var L=V.ujic_m;var D=V.ujic_s;var h=V.ujic_thick;var y=(V.ujic_txt=="true")?true:false;var g=(V.ujic_ani=="true")?true:false;var v=(V.ujic_url)?((V.ujic_url.substr(0,7)!=="http://"&&V.ujic_url.substr(0,8)!=="https://")?"http://"+V.ujic_url:V.ujic_url):"";var w=(v!="")?true:false;var u=V.ujic_goof;var O=V.uji_center;var n=V.uji_time;var k=V.uji_hide;var j=(V.ujic_rtl=="true")?true:false;var T=new Date(""+I+"");var F="";F+=(A=="true")?"Y":"";F+=(J=="true")?"O":"";F+=(C=="true")?"W":"";F+=(S=="true")?"D":"";F+=(P=="true")?"H":"";F+=(L=="true")?"M":"";F+=(D=="true")?"S":"";var t=[];if(A=="true"){t.push("uji_year")}if(J=="true"){t.push("uji_mont")}if(C=="true"){t.push("uji_week")}if(S=="true"){t.push("uji_days")}if(P=="true"){t.push("uji_hour")}if(L=="true"){t.push("uji_minu")}if(D=="true"){t.push("uji_secu")}a.countdown.regionalOptions.uji={labels:[""+p+"",""+R+"",""+H+"",""+X+"",""+N+"",""+z+"",""+f+""],labels1:[""+W+"",""+E+"",""+Q+"",""+e+"",""+i+"",""+x+"",""+b+""],compactLabels:["A","L","S","Z"],format:F,whichLabels:null,timeSeparator:":",isRTL:false};a.countdown.setDefaults(a.countdown.regionalOptions.uji);if(u){var l=u.replace(/\s+/g,"+");a("head").append('<link href="https://fonts.googleapis.com/css?family='+l+'" rel="stylesheet" type="text/css">')}a("#"+s).countdown({until:T,ujic_id:""+s+"",serverSync:B,isRTL:j,text_size:""+m+"",color_down:""+U+"",color_up:""+q+"",color_txt:""+M+"",color_sw:""+c+"",color_lab:""+r+"",lab_sz:""+o+"",ujic_txt:y,animate_sec:g,ujic_hide:k,alwaysExpire:w,expiryUrl:v,ujic_goof:""+u+""});function B(){var Z=null;Z=new Date(n);var Y=new Date(Z.getUTCFullYear(),Z.getUTCMonth(),Z.getUTCDate(),Z.getUTCHours(),Z.getUTCMinutes(),Z.getUTCSeconds());Z=Y;return Z}})}(jQuery));
1
+ function UjicResetTime(t){if(!t)return!1;var n=new Date,e=t.split(":");return e instanceof Array&&(n.setHours(n.getHours()+parseInt(e[0])),n.setMinutes(n.getMinutes()+parseInt(e[1])),n.setSeconds(n.getSeconds()+parseInt(e[2]))),n}!function(t){"use strict";var n=window.ujiCount1,e=n.uji_style,o=(n.uji_plugin,n.ujic_id),i=n.expire,s=n.timer,r=(n.exp_days,n.Years),u=n.Months,a=n.Weeks,c=n.Days,l=n.Hours,p=n.Minutes,d=n.Seconds,_=n.Year,j=n.Month,w=n.Week,g=n.Day,f=n.Hour,h=n.Minute,m=n.Second,y=n.ujic_txt_size,x=n.ujic_col_dw,v=n.ujic_col_up,b=n.ujic_col_txt,T=n.ujic_col_sw,C=n.ujic_col_lab,M=n.ujic_lab_sz,S=n.ujic_y,D=n.ujic_o,U=n.ujic_w,L=n.ujic_d,k=n.ujic_h,O=n.ujic_m,H=n.ujic_s,R=(n.ujic_thick,"true"==n.ujic_txt),W=(n.ujic_ani,n.ujic_url?"http://"!==n.ujic_url.substr(0,7)&&"https://"!==n.ujic_url.substr(0,8)?"http://"+n.ujic_url:n.ujic_url:""),I=""!=W,Y=n.ujic_goof,z=(n.uji_center,n.uji_time),A=(n.uji_hide,n.ujic_resp),E="true"==n.ujic_rtl,F=new Date(""+i),G=UjicResetTime(s),N="";if(N+="true"==S?"Y":"",N+="true"==D?"O":"",N+="true"==U?"W":"",N+="true"==L?"D":"",N+="true"==k?"H":"",N+="true"==O?"M":"",N+="true"==H?"S":"",t.countdown.regionalOptions.uji={labels:[""+r,""+u,""+a,""+c,""+l,""+p,""+d],labels1:[""+_,""+j,""+w,""+g,""+f,""+h,""+m],compactLabels:["A","L","S","Z"],format:N,layout:function(t,n){var e=t.split("");if("[object Array]"===!Object.prototype.toString.call(e))return!1;if("classic"!==n){var o="ujiGetTemplate"+n;return"function"==typeof window[o]&&window[o](e)}for(var i='<span class="ujiCountdown"><span class="countdown_row">',s=0;s<e.length;s++)if(e[s]){var r=e[s].toString().toLowerCase()+"10",u=e[s].toString().toLowerCase()+"1",a=e[s].toString().toLowerCase()+"l";i+='<span class="countdown_section"> <span class="countdown_amount">{'+r+'}</span> <span class="countdown_amount">{'+u+'}</span> <span class="countdown_txt">{'+a+"}</span> </span>"}return i+="</span></span>"}(N,e),whichLabels:null,timeSeparator:":",isRTL:E},t.countdown.setDefaults(t.countdown.regionalOptions.uji),Y&&"none"!==Y){var Q=Y.replace(/\s+/g,"+");t("head").append('<link href="https://fonts.googleapis.com/css?family='+Q+'" rel="stylesheet" type="text/css">')}if(void 0!==G&&G){var X=G;J=!1}else X=F;if("classic"==e){t("#"+o).countdown({until:X,ujic_id:""+o,serverSync:J,responsive:A,isRTL:E,alwaysExpire:I,expiryUrl:W});var Z="#"+o+" .countdown_row > span:last-child { margin: 0; }",q="#"+o+" .countdown_amount { background : -moz-linear-gradient(top, "+v+" 50%, "+x+" 50%); background : linear-gradient(to bottom, "+v+" 50%, "+x+" 50%); background : -ms-linear-gradient(top, "+v+" 50%, "+x+' 50%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="'+v+'", endColorstr="'+x+'",GradientType=0 ); font: '+y+'px/1.5 "'+Y+'",sans-serif; text-shadow: 1px 1px 1px '+T+"; color: "+b+"; }";K(q);var B=t("#"+o+" .countdown_amount").outerWidth();t("#"+o+" .countdown_amount").each(function(){t(this).outerWidth()>B&&(B=t(this).outerWidth())}),K((q="#"+o+" .countdown_amount { padding: 5px 0; width: "+(B=B>40?B+y/2:B)+"px; }")+(R?"#"+o+" .countdown_txt { font: "+M+'px "Open Sans", sans-serif; color: '+C+"; }":"#"+o+" .countdown_txt { display: none; }")+Z)}if("modern"==e&&(console.log("MODERN"),"function"==typeof ujiModern)){console.log("MODERN-FCT");ujiModern(X,n,J,N)}function J(){var t=null;t=new Date(z);var n=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds());return t=n}function K(n){t("<div />",{html:"<style>"+n+"</style>"}).appendTo("body")}}(jQuery);
js/uji-newsletter.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(b){b(".ujic-hold form input[type=text]").focus(function(){b(".ujic-hold form .uji-msg-ok").css("display","none");b(".ujic-hold form .uji-msg-err").css("display","none")});b(".ujic-hold form").submit(function(c){c.preventDefault();b.ajax({type:"POST",url:ujiCount.ajaxUrl,data:b(this).serialize()+"&"+b.param({action:"ujiSubscribe"}),dataType:"json",success:function(d){d.success?b(".ujic-hold form .uji-msg-ok").css("display","block"):b(".ujic-hold form .uji-msg-err").css("display","block")}})});b(".ujic-hold form input[type=submit]").each(function(){var d=b(this);var c=d.attr("color-attr");if(typeof c==="undefined"){return}d.css("background","-moz-linear-gradient(top, "+c+" 0%, "+a(c,20)+" 100%)");d.css("background","-webkit-gradient(linear, left top, left bottom, color-stop(0%,"+c+"), color-stop(100%,"+a(c,20)+"))");d.css("background","-webkit-linear-gradient(top, "+c+" 50%,"+a(c,20)+" 100%)");d.css("background","-o-linear-gradient(top, "+c+" 0%,"+a(c,20)+" 100%)");d.css("background","-ms-linear-gradient(top, "+c+" 0%,"+a(c,20)+" 100%)");d.css("background","linear-gradient(to bottom, "+c+" 0%,"+a(c,20)+" 100%)");d.css("filter","progid:DXImageTransform.Microsoft.gradient( startColorstr='"+c+"', endColorstr='"+a(c,20)+"',GradientType=0 )")});function a(c,g){var d=parseInt(c.slice(1),16),i=Math.round(2.55*g),f=(d>>16)+i,e=(d>>8&255)+i,h=(d&255)+i;return"#"+(16777216+(f<255?f<1?0:f:255)*65536+(e<255?e<1?0:e:255)*256+(h<255?h<1?0:h:255)).toString(16).slice(1)}});
1
+ jQuery(document).ready(function(o){"use strict";function t(o,t){var r=parseInt(o.slice(1),16),i=Math.round(2.55*t),s=(r>>16)+i,n=(r>>8&255)+i,a=(255&r)+i;return"#"+(16777216+65536*(s<255?s<1?0:s:255)+256*(n<255?n<1?0:n:255)+(a<255?a<1?0:a:255)).toString(16).slice(1)}o(".ujic-hold form input[type=text]").focus(function(){o(".ujic-hold form .uji-msg-ok").css("display","none"),o(".ujic-hold form .uji-msg-err").css("display","none")}),o(".ujic-hold form").submit(function(t){t.preventDefault(),o.ajax({type:"POST",url:ujiCount.ajaxUrl,data:o(this).serialize()+"&"+o.param({action:"ujiSubscribe"}),dataType:"json",success:function(t){t.success?o(".ujic-hold form .uji-msg-ok").css("display","block"):o(".ujic-hold form .uji-msg-err").css("display","block")}})}),o(".ujic-hold form input[type=submit]").each(function(){var r=o(this),i=r.attr("color-attr");void 0!==i&&(r.css("background","-moz-linear-gradient(top, "+i+" 0%, "+t(i,20)+" 100%)"),r.css("background","-webkit-gradient(linear, left top, left bottom, color-stop(0%,"+i+"), color-stop(100%,"+t(i,20)+"))"),r.css("background","-webkit-linear-gradient(top, "+i+" 50%,"+t(i,20)+" 100%)"),r.css("background","-o-linear-gradient(top, "+i+" 0%,"+t(i,20)+" 100%)"),r.css("background","-ms-linear-gradient(top, "+i+" 0%,"+t(i,20)+" 100%)"),r.css("background","linear-gradient(to bottom, "+i+" 0%,"+t(i,20)+" 100%)"),r.css("filter","progid:DXImageTransform.Microsoft.gradient( startColorstr='"+i+"', endColorstr='"+t(i,20)+"',GradientType=0 )"))})});
lang/uji-countdown-de_DE.po CHANGED
@@ -1,73 +1,73 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2013-10-30 12:34+0100\n"
7
- "Last-Translator: Christian Korschan <Christian.Korschan@Chello.at>\n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-Language: English\n"
14
- "X-Poedit-Country: ROMANIA\n"
15
- "X-Poedit-SourceCharset: utf-8\n"
16
-
17
- #: uji-countdown-front.php:105
18
- #: uji-countdown-set.php:18
19
- msgid "Years"
20
- msgstr "Jahre"
21
-
22
- #: uji-countdown-front.php:105
23
- msgid "Months"
24
- msgstr "Monate"
25
-
26
- #: uji-countdown-front.php:105
27
- msgid "Weeks"
28
- msgstr "Wochen"
29
-
30
- #: uji-countdown-front.php:105
31
- msgid "Days"
32
- msgstr "Tage"
33
-
34
- #: uji-countdown-front.php:105
35
- msgid "Hours"
36
- msgstr "Stunden"
37
-
38
- #: uji-countdown-front.php:105
39
- msgid "Minutes"
40
- msgstr "Minuten"
41
-
42
- #: uji-countdown-front.php:105
43
- msgid "Seconds"
44
- msgstr "Sekunden"
45
-
46
- #: uji-countdown-front.php:106
47
- msgid "Year"
48
- msgstr "Jahr"
49
-
50
- #: uji-countdown-front.php:106
51
- msgid "Month"
52
- msgstr "Monat"
53
-
54
- #: uji-countdown-front.php:106
55
- msgid "Week"
56
- msgstr "Woche"
57
-
58
- #: uji-countdown-front.php:106
59
- msgid "Day"
60
- msgstr "Tag"
61
-
62
- #: uji-countdown-front.php:106
63
- msgid "Hour"
64
- msgstr "Stunde"
65
-
66
- #: uji-countdown-front.php:106
67
- msgid "Minute"
68
- msgstr "Minute"
69
-
70
- #: uji-countdown-front.php:106
71
- msgid "Second"
72
- msgstr "Sekunde"
73
-
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2013-10-30 12:34+0100\n"
7
+ "Last-Translator: Christian Korschan <Christian.Korschan@Chello.at>\n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-Language: English\n"
14
+ "X-Poedit-Country: ROMANIA\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+
17
+ #: uji-countdown-front.php:105
18
+ #: uji-countdown-set.php:18
19
+ msgid "Years"
20
+ msgstr "Jahre"
21
+
22
+ #: uji-countdown-front.php:105
23
+ msgid "Months"
24
+ msgstr "Monate"
25
+
26
+ #: uji-countdown-front.php:105
27
+ msgid "Weeks"
28
+ msgstr "Wochen"
29
+
30
+ #: uji-countdown-front.php:105
31
+ msgid "Days"
32
+ msgstr "Tage"
33
+
34
+ #: uji-countdown-front.php:105
35
+ msgid "Hours"
36
+ msgstr "Stunden"
37
+
38
+ #: uji-countdown-front.php:105
39
+ msgid "Minutes"
40
+ msgstr "Minuten"
41
+
42
+ #: uji-countdown-front.php:105
43
+ msgid "Seconds"
44
+ msgstr "Sekunden"
45
+
46
+ #: uji-countdown-front.php:106
47
+ msgid "Year"
48
+ msgstr "Jahr"
49
+
50
+ #: uji-countdown-front.php:106
51
+ msgid "Month"
52
+ msgstr "Monat"
53
+
54
+ #: uji-countdown-front.php:106
55
+ msgid "Week"
56
+ msgstr "Woche"
57
+
58
+ #: uji-countdown-front.php:106
59
+ msgid "Day"
60
+ msgstr "Tag"
61
+
62
+ #: uji-countdown-front.php:106
63
+ msgid "Hour"
64
+ msgstr "Stunde"
65
+
66
+ #: uji-countdown-front.php:106
67
+ msgid "Minute"
68
+ msgstr "Minute"
69
+
70
+ #: uji-countdown-front.php:106
71
+ msgid "Second"
72
+ msgstr "Sekunde"
73
+
lang/uji-countdown-en_EN.po CHANGED
@@ -1,73 +1,73 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2012-02-10 20:08+0200\n"
7
- "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-Language: English\n"
14
- "X-Poedit-Country: ROMANIA\n"
15
- "X-Poedit-SourceCharset: utf-8\n"
16
-
17
- #: uji-countdown-front.php:105
18
- #: uji-countdown-set.php:18
19
- msgid "Years"
20
- msgstr ""
21
-
22
- #: uji-countdown-front.php:105
23
- msgid "Months"
24
- msgstr ""
25
-
26
- #: uji-countdown-front.php:105
27
- msgid "Weeks"
28
- msgstr ""
29
-
30
- #: uji-countdown-front.php:105
31
- msgid "Days"
32
- msgstr ""
33
-
34
- #: uji-countdown-front.php:105
35
- msgid "Hours"
36
- msgstr ""
37
-
38
- #: uji-countdown-front.php:105
39
- msgid "Minutes"
40
- msgstr ""
41
-
42
- #: uji-countdown-front.php:105
43
- msgid "Seconds"
44
- msgstr ""
45
-
46
- #: uji-countdown-front.php:106
47
- msgid "Year"
48
- msgstr ""
49
-
50
- #: uji-countdown-front.php:106
51
- msgid "Month"
52
- msgstr ""
53
-
54
- #: uji-countdown-front.php:106
55
- msgid "Week"
56
- msgstr ""
57
-
58
- #: uji-countdown-front.php:106
59
- msgid "Day"
60
- msgstr ""
61
-
62
- #: uji-countdown-front.php:106
63
- msgid "Hour"
64
- msgstr ""
65
-
66
- #: uji-countdown-front.php:106
67
- msgid "Minute"
68
- msgstr ""
69
-
70
- #: uji-countdown-front.php:106
71
- msgid "Second"
72
- msgstr ""
73
-
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2012-02-10 20:08+0200\n"
7
+ "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-Language: English\n"
14
+ "X-Poedit-Country: ROMANIA\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+
17
+ #: uji-countdown-front.php:105
18
+ #: uji-countdown-set.php:18
19
+ msgid "Years"
20
+ msgstr ""
21
+
22
+ #: uji-countdown-front.php:105
23
+ msgid "Months"
24
+ msgstr ""
25
+
26
+ #: uji-countdown-front.php:105
27
+ msgid "Weeks"
28
+ msgstr ""
29
+
30
+ #: uji-countdown-front.php:105
31
+ msgid "Days"
32
+ msgstr ""
33
+
34
+ #: uji-countdown-front.php:105
35
+ msgid "Hours"
36
+ msgstr ""
37
+
38
+ #: uji-countdown-front.php:105
39
+ msgid "Minutes"
40
+ msgstr ""
41
+
42
+ #: uji-countdown-front.php:105
43
+ msgid "Seconds"
44
+ msgstr ""
45
+
46
+ #: uji-countdown-front.php:106
47
+ msgid "Year"
48
+ msgstr ""
49
+
50
+ #: uji-countdown-front.php:106
51
+ msgid "Month"
52
+ msgstr ""
53
+
54
+ #: uji-countdown-front.php:106
55
+ msgid "Week"
56
+ msgstr ""
57
+
58
+ #: uji-countdown-front.php:106
59
+ msgid "Day"
60
+ msgstr ""
61
+
62
+ #: uji-countdown-front.php:106
63
+ msgid "Hour"
64
+ msgstr ""
65
+
66
+ #: uji-countdown-front.php:106
67
+ msgid "Minute"
68
+ msgstr ""
69
+
70
+ #: uji-countdown-front.php:106
71
+ msgid "Second"
72
+ msgstr ""
73
+
lang/uji-countdown-en_US.pot CHANGED
@@ -1,406 +1,406 @@
1
- # Copyright (C) 2013 TODO
2
- # This file is distributed under the same license as the TODO package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: TODO 1.0.0\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/byecaptcha\n"
7
- "POT-Creation-Date: 2014-09-24 09:18-0800\n"
8
- "PO-Revision-Date: 2014-09-24 09:18-0800\n"
9
- "Last-Translator: FULL NAME <email@example.com>\n"
10
- "Language-Team: LANGUAGE <translations@example.com >\n"
11
- "Language: en_US\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.6.9\n"
16
- "X-Poedit-KeywordsList: __;_e;_n;_x;esc_html_e;esc_html__;esc_attr_e;"
17
- "esc_attr__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_x:1,2c;_n:1,2\n"
18
- "X-Poedit-Basepath: ../\n"
19
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
20
- "X-Poedit-SearchPath-0: .\n"
21
-
22
- #: assets/tinymce/config.php:25
23
- msgid "Please add a new style first"
24
- msgstr ""
25
-
26
- #: assets/tinymce/config.php:45
27
- msgid "Select Style"
28
- msgstr ""
29
-
30
- #: assets/tinymce/config.php:46
31
- msgid "Select the style for your countdown"
32
- msgstr ""
33
-
34
- #: assets/tinymce/config.php:53
35
- msgid "Expire Date"
36
- msgstr ""
37
-
38
- #: assets/tinymce/config.php:54
39
- msgid "Select the date to expire"
40
- msgstr ""
41
-
42
- #: assets/tinymce/config.php:58
43
- msgid "Time"
44
- msgstr ""
45
-
46
- #: assets/tinymce/config.php:59
47
- msgid "Select the time to expire"
48
- msgstr ""
49
-
50
- #: assets/tinymce/config.php:68
51
- msgid "Hide the countdown: "
52
- msgstr ""
53
-
54
- #: assets/tinymce/config.php:69
55
- msgid "Or go to URL: "
56
- msgstr ""
57
-
58
- #: assets/tinymce/config.php:70
59
- msgid "After Expiry"
60
- msgstr ""
61
-
62
- #: assets/tinymce/config.php:71
63
- msgid "Select option after expiry"
64
- msgstr ""
65
-
66
- #: assets/tinymce/config.php:75
67
- msgid "Insert Countdown Shortcode"
68
- msgstr ""
69
-
70
- #: classes/class-uji-countdown-admin.php:61
71
- msgid "Date"
72
- msgstr ""
73
-
74
- #: classes/class-uji-countdown-admin.php:62
75
- msgid "Name"
76
- msgstr ""
77
-
78
- #: classes/class-uji-countdown-admin.php:63
79
- msgid "Style"
80
- msgstr ""
81
-
82
- #: classes/class-uji-countdown-admin.php:64
83
- msgid "Change"
84
- msgstr ""
85
-
86
- #: classes/class-uji-countdown-admin.php:67
87
- #: classes/class-uji-countdown-admin.php:88
88
- msgid "Create a new timer style"
89
- msgstr ""
90
-
91
- #: classes/class-uji-countdown-admin.php:119
92
- msgid "Timer Title:"
93
- msgstr ""
94
-
95
- #: classes/class-uji-countdown-admin.php:120
96
- msgid "Google Font:"
97
- msgstr ""
98
-
99
- #: classes/class-uji-countdown-admin.php:121
100
- msgid "Alignment:"
101
- msgstr ""
102
-
103
- #: classes/class-uji-countdown-admin.php:121
104
- msgid "None"
105
- msgstr ""
106
-
107
- #: classes/class-uji-countdown-admin.php:121
108
- msgid "Left"
109
- msgstr ""
110
-
111
- #: classes/class-uji-countdown-admin.php:121
112
- msgid "Center"
113
- msgstr ""
114
-
115
- #: classes/class-uji-countdown-admin.php:121
116
- msgid "Right"
117
- msgstr ""
118
-
119
- #: classes/class-uji-countdown-admin.php:122
120
- msgid "Main format:"
121
- msgstr ""
122
-
123
- #: classes/class-uji-countdown-admin.php:122
124
- #: classes/class-uji-countdown-admin.php:227
125
- #: classes/class-uji-countdown-front.php:125
126
- msgid "Days"
127
- msgstr ""
128
-
129
- #: classes/class-uji-countdown-admin.php:122
130
- #: classes/class-uji-countdown-admin.php:232
131
- #: classes/class-uji-countdown-front.php:127
132
- msgid "Hours"
133
- msgstr ""
134
-
135
- #: classes/class-uji-countdown-admin.php:122
136
- #: classes/class-uji-countdown-admin.php:237
137
- #: classes/class-uji-countdown-front.php:129
138
- msgid "Minutes"
139
- msgstr ""
140
-
141
- #: classes/class-uji-countdown-admin.php:122
142
- #: classes/class-uji-countdown-admin.php:242
143
- #: classes/class-uji-countdown-front.php:131
144
- msgid "Seconds"
145
- msgstr ""
146
-
147
- #: classes/class-uji-countdown-admin.php:123
148
- msgid "Secondary format:"
149
- msgstr ""
150
-
151
- #: classes/class-uji-countdown-admin.php:123
152
- #: classes/class-uji-countdown-admin.php:212
153
- #: classes/class-uji-countdown-front.php:119
154
- msgid "Years"
155
- msgstr ""
156
-
157
- #: classes/class-uji-countdown-admin.php:123
158
- #: classes/class-uji-countdown-admin.php:217
159
- #: classes/class-uji-countdown-front.php:121
160
- msgid "Months"
161
- msgstr ""
162
-
163
- #: classes/class-uji-countdown-admin.php:123
164
- #: classes/class-uji-countdown-admin.php:222
165
- #: classes/class-uji-countdown-front.php:123
166
- msgid "Weeks"
167
- msgstr ""
168
-
169
- #: classes/class-uji-countdown-admin.php:125
170
- msgid "Animation for seconds:"
171
- msgstr ""
172
-
173
- #: classes/class-uji-countdown-admin.php:126
174
- msgid "Display time label text:"
175
- msgstr ""
176
-
177
- #: classes/class-uji-countdown-admin.php:128
178
- #: classes/class-uji-countdown-admin.php:130
179
- msgid "Timer Size:"
180
- msgstr ""
181
-
182
- #: classes/class-uji-countdown-admin.php:132
183
- msgid "Select Box Color:"
184
- msgstr ""
185
-
186
- #: classes/class-uji-countdown-admin.php:132
187
- msgid "Bottom"
188
- msgstr ""
189
-
190
- #: classes/class-uji-countdown-admin.php:132
191
- msgid "Up"
192
- msgstr ""
193
-
194
- #: classes/class-uji-countdown-admin.php:134
195
- msgid "Select Line Color:"
196
- msgstr ""
197
-
198
- #: classes/class-uji-countdown-admin.php:134
199
- msgid "Background"
200
- msgstr ""
201
-
202
- #: classes/class-uji-countdown-admin.php:134
203
- msgid "Line"
204
- msgstr ""
205
-
206
- #: classes/class-uji-countdown-admin.php:136
207
- msgid "Thickness:"
208
- msgstr ""
209
-
210
- #: classes/class-uji-countdown-admin.php:138
211
- #: classes/class-uji-countdown-admin.php:140
212
- msgid "Text Color:"
213
- msgstr ""
214
-
215
- #: classes/class-uji-countdown-admin.php:138
216
- #: classes/class-uji-countdown-admin.php:140
217
- msgid "Number Color"
218
- msgstr ""
219
-
220
- #: classes/class-uji-countdown-admin.php:138
221
- msgid "Shadow Color"
222
- msgstr ""
223
-
224
- #: classes/class-uji-countdown-admin.php:141
225
- msgid "Label Color:"
226
- msgstr ""
227
-
228
- #: classes/class-uji-countdown-admin.php:141
229
- msgid "Label Text Color"
230
- msgstr ""
231
-
232
- #: classes/class-uji-countdown-admin.php:142
233
- msgid "Label Size:"
234
- msgstr ""
235
-
236
- #: classes/class-uji-countdown-admin.php:147
237
- msgid "Edit Timer Style"
238
- msgstr ""
239
-
240
- #: classes/class-uji-countdown-admin.php:149
241
- msgid "Create New Timer Style"
242
- msgstr ""
243
-
244
- #: classes/class-uji-countdown-admin.php:253
245
- msgid "Preview Timer Style"
246
- msgstr ""
247
-
248
- #: classes/class-uji-countdown-admin.php:264
249
- msgid "How To Add Countdown Shortcode"
250
- msgstr ""
251
-
252
- #: classes/class-uji-countdown-admin.php:264
253
- msgid "Add New Countdown <br>from the Widget Areas"
254
- msgstr ""
255
-
256
- #: classes/class-uji-countdown-admin.php:276
257
- msgid "Style Type:"
258
- msgstr ""
259
-
260
- #: classes/class-uji-countdown-admin.php:279
261
- msgid "Select Style:"
262
- msgstr ""
263
-
264
- #: classes/class-uji-countdown-admin.php:425
265
- msgid "Update Style"
266
- msgstr ""
267
-
268
- #: classes/class-uji-countdown-admin.php:427
269
- msgid "Cancel Add New"
270
- msgstr ""
271
-
272
- #: classes/class-uji-countdown-admin.php:429
273
- msgid "Save Style"
274
- msgstr ""
275
-
276
- #: classes/class-uji-countdown-admin.php:462
277
- msgid "Your Timer Style Was Created"
278
- msgstr ""
279
-
280
- #: classes/class-uji-countdown-admin.php:469
281
- msgid "Your Timer Style Was Updated"
282
- msgstr ""
283
-
284
- #: classes/class-uji-countdown-admin.php:485
285
- msgid "Please Complete Timer Title"
286
- msgstr ""
287
-
288
- #: classes/class-uji-countdown-admin.php:490
289
- msgid "Please Select Timer Format"
290
- msgstr ""
291
-
292
- #: classes/class-uji-countdown-admin.php:497
293
- msgid "This Name Already Exist. Please Change Timer Name. <br/>"
294
- msgstr ""
295
-
296
- #: classes/class-uji-countdown-admin.php:556
297
- msgid "Your countdown style was deleted"
298
- msgstr ""
299
-
300
- #: classes/class-uji-countdown-admin.php:617
301
- msgid "Show Responsive:"
302
- msgstr ""
303
-
304
- #: classes/class-uji-countdown-admin.php:617
305
- msgid "For Tablet and Mobile devices."
306
- msgstr ""
307
-
308
- #: classes/class-uji-countdown-admin.php:618
309
- msgid "Right-To-Left (RTL):"
310
- msgstr ""
311
-
312
- #: classes/class-uji-countdown-admin.php:618
313
- msgid "Writing starts from the right of the page and continues to the left."
314
- msgstr ""
315
-
316
- #: classes/class-uji-countdown-admin.php:619
317
- msgid "Quick Translation"
318
- msgstr ""
319
-
320
- #: classes/class-uji-countdown-admin.php:624
321
- msgid ":"
322
- msgstr ""
323
-
324
- #: classes/class-uji-countdown-admin.php:626
325
- msgid "Save Changes"
326
- msgstr ""
327
-
328
- #: classes/class-uji-countdown-admin.php:630
329
- msgid "Timer Settings"
330
- msgstr ""
331
-
332
- #: classes/class-uji-countdown-admin.php:643
333
- msgid "Settings saved."
334
- msgstr ""
335
-
336
- #: classes/class-uji-countdown-admin.php:645
337
- msgid "Some error occured. Please try again."
338
- msgstr ""
339
-
340
- #: classes/class-uji-countdown-front.php:120
341
- msgid "Year"
342
- msgstr ""
343
-
344
- #: classes/class-uji-countdown-front.php:122
345
- msgid "Month"
346
- msgstr ""
347
-
348
- #: classes/class-uji-countdown-front.php:124
349
- msgid "Week"
350
- msgstr ""
351
-
352
- #: classes/class-uji-countdown-front.php:126
353
- msgid "Day"
354
- msgstr ""
355
-
356
- #: classes/class-uji-countdown-front.php:128
357
- msgid "Hour"
358
- msgstr ""
359
-
360
- #: classes/class-uji-countdown-front.php:130
361
- msgid "Minute"
362
- msgstr ""
363
-
364
- #: classes/class-uji-countdown-front.php:132
365
- msgid "Second"
366
- msgstr ""
367
-
368
- #: classes/class-uji-countdown.php:198 views/admin.php:29
369
- msgid "Settings"
370
- msgstr ""
371
-
372
- #: classes/class-uji-widget.php:176
373
- msgid "Title (optional):"
374
- msgstr ""
375
-
376
- #: classes/class-uji-widget.php:185
377
- msgid "Select a Style:"
378
- msgstr ""
379
-
380
- #: classes/class-uji-widget.php:202
381
- msgid "Expire Date:"
382
- msgstr ""
383
-
384
- #: classes/class-uji-widget.php:208
385
- msgid "Select the Time:"
386
- msgstr ""
387
-
388
- #: classes/class-uji-widget.php:232
389
- msgid "Hide Countdown:"
390
- msgstr ""
391
-
392
- #: classes/class-uji-widget.php:238
393
- msgid "Or go to this link:"
394
- msgstr ""
395
-
396
- #: classes/class-uji-widget.php:239
397
- msgid "Select URL to send after expire"
398
- msgstr ""
399
-
400
- #: views/admin.php:27
401
- msgid "My Countdowns"
402
- msgstr ""
403
-
404
- #: views/admin.php:28
405
- msgid "Add/Edit Countdown"
406
- msgstr ""
1
+ # Copyright (C) 2013 TODO
2
+ # This file is distributed under the same license as the TODO package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: TODO 1.0.0\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/byecaptcha\n"
7
+ "POT-Creation-Date: 2014-09-24 09:18-0800\n"
8
+ "PO-Revision-Date: 2014-09-24 09:18-0800\n"
9
+ "Last-Translator: FULL NAME <email@example.com>\n"
10
+ "Language-Team: LANGUAGE <translations@example.com >\n"
11
+ "Language: en_US\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 1.6.9\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n;_x;esc_html_e;esc_html__;esc_attr_e;"
17
+ "esc_attr__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_x:1,2c;_n:1,2\n"
18
+ "X-Poedit-Basepath: ../\n"
19
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+
22
+ #: assets/tinymce/config.php:25
23
+ msgid "Please add a new style first"
24
+ msgstr ""
25
+
26
+ #: assets/tinymce/config.php:45
27
+ msgid "Select Style"
28
+ msgstr ""
29
+
30
+ #: assets/tinymce/config.php:46
31
+ msgid "Select the style for your countdown"
32
+ msgstr ""
33
+
34
+ #: assets/tinymce/config.php:53
35
+ msgid "Expire Date"
36
+ msgstr ""
37
+
38
+ #: assets/tinymce/config.php:54
39
+ msgid "Select the date to expire"
40
+ msgstr ""
41
+
42
+ #: assets/tinymce/config.php:58
43
+ msgid "Time"
44
+ msgstr ""
45
+
46
+ #: assets/tinymce/config.php:59
47
+ msgid "Select the time to expire"
48
+ msgstr ""
49
+
50
+ #: assets/tinymce/config.php:68
51
+ msgid "Hide the countdown: "
52
+ msgstr ""
53
+
54
+ #: assets/tinymce/config.php:69
55
+ msgid "Or go to URL: "
56
+ msgstr ""
57
+
58
+ #: assets/tinymce/config.php:70
59
+ msgid "After Expiry"
60
+ msgstr ""
61
+
62
+ #: assets/tinymce/config.php:71
63
+ msgid "Select option after expiry"
64
+ msgstr ""
65
+
66
+ #: assets/tinymce/config.php:75
67
+ msgid "Insert Countdown Shortcode"
68
+ msgstr ""
69
+
70
+ #: classes/class-uji-countdown-admin.php:61
71
+ msgid "Date"
72
+ msgstr ""
73
+
74
+ #: classes/class-uji-countdown-admin.php:62
75
+ msgid "Name"
76
+ msgstr ""
77
+
78
+ #: classes/class-uji-countdown-admin.php:63
79
+ msgid "Style"
80
+ msgstr ""
81
+
82
+ #: classes/class-uji-countdown-admin.php:64
83
+ msgid "Change"
84
+ msgstr ""
85
+
86
+ #: classes/class-uji-countdown-admin.php:67
87
+ #: classes/class-uji-countdown-admin.php:88
88
+ msgid "Create a new timer style"
89
+ msgstr ""
90
+
91
+ #: classes/class-uji-countdown-admin.php:119
92
+ msgid "Timer Title:"
93
+ msgstr ""
94
+
95
+ #: classes/class-uji-countdown-admin.php:120
96
+ msgid "Google Font:"
97
+ msgstr ""
98
+
99
+ #: classes/class-uji-countdown-admin.php:121
100
+ msgid "Alignment:"
101
+ msgstr ""
102
+
103
+ #: classes/class-uji-countdown-admin.php:121
104
+ msgid "None"
105
+ msgstr ""
106
+
107
+ #: classes/class-uji-countdown-admin.php:121
108
+ msgid "Left"
109
+ msgstr ""
110
+
111
+ #: classes/class-uji-countdown-admin.php:121
112
+ msgid "Center"
113
+ msgstr ""
114
+
115
+ #: classes/class-uji-countdown-admin.php:121
116
+ msgid "Right"
117
+ msgstr ""
118
+
119
+ #: classes/class-uji-countdown-admin.php:122
120
+ msgid "Main format:"
121
+ msgstr ""
122
+
123
+ #: classes/class-uji-countdown-admin.php:122
124
+ #: classes/class-uji-countdown-admin.php:227
125
+ #: classes/class-uji-countdown-front.php:125
126
+ msgid "Days"
127
+ msgstr ""
128
+
129
+ #: classes/class-uji-countdown-admin.php:122
130
+ #: classes/class-uji-countdown-admin.php:232
131
+ #: classes/class-uji-countdown-front.php:127
132
+ msgid "Hours"
133
+ msgstr ""
134
+
135
+ #: classes/class-uji-countdown-admin.php:122
136
+ #: classes/class-uji-countdown-admin.php:237
137
+ #: classes/class-uji-countdown-front.php:129
138
+ msgid "Minutes"
139
+ msgstr ""
140
+
141
+ #: classes/class-uji-countdown-admin.php:122
142
+ #: classes/class-uji-countdown-admin.php:242
143
+ #: classes/class-uji-countdown-front.php:131
144
+ msgid "Seconds"
145
+ msgstr ""
146
+
147
+ #: classes/class-uji-countdown-admin.php:123
148
+ msgid "Secondary format:"
149
+ msgstr ""
150
+
151
+ #: classes/class-uji-countdown-admin.php:123
152
+ #: classes/class-uji-countdown-admin.php:212
153
+ #: classes/class-uji-countdown-front.php:119
154
+ msgid "Years"
155
+ msgstr ""
156
+
157
+ #: classes/class-uji-countdown-admin.php:123
158
+ #: classes/class-uji-countdown-admin.php:217
159
+ #: classes/class-uji-countdown-front.php:121
160
+ msgid "Months"
161
+ msgstr ""
162
+
163
+ #: classes/class-uji-countdown-admin.php:123
164
+ #: classes/class-uji-countdown-admin.php:222
165
+ #: classes/class-uji-countdown-front.php:123
166
+ msgid "Weeks"
167
+ msgstr ""
168
+
169
+ #: classes/class-uji-countdown-admin.php:125
170
+ msgid "Animation for seconds:"
171
+ msgstr ""
172
+
173
+ #: classes/class-uji-countdown-admin.php:126
174
+ msgid "Display time label text:"
175
+ msgstr ""
176
+
177
+ #: classes/class-uji-countdown-admin.php:128
178
+ #: classes/class-uji-countdown-admin.php:130
179
+ msgid "Timer Size:"
180
+ msgstr ""
181
+
182
+ #: classes/class-uji-countdown-admin.php:132
183
+ msgid "Select Box Color:"
184
+ msgstr ""
185
+
186
+ #: classes/class-uji-countdown-admin.php:132
187
+ msgid "Bottom"
188
+ msgstr ""
189
+
190
+ #: classes/class-uji-countdown-admin.php:132
191
+ msgid "Up"
192
+ msgstr ""
193
+
194
+ #: classes/class-uji-countdown-admin.php:134
195
+ msgid "Select Line Color:"
196
+ msgstr ""
197
+
198
+ #: classes/class-uji-countdown-admin.php:134
199
+ msgid "Background"
200
+ msgstr ""
201
+
202
+ #: classes/class-uji-countdown-admin.php:134
203
+ msgid "Line"
204
+ msgstr ""
205
+
206
+ #: classes/class-uji-countdown-admin.php:136
207
+ msgid "Thickness:"
208
+ msgstr ""
209
+
210
+ #: classes/class-uji-countdown-admin.php:138
211
+ #: classes/class-uji-countdown-admin.php:140
212
+ msgid "Text Color:"
213
+ msgstr ""
214
+
215
+ #: classes/class-uji-countdown-admin.php:138
216
+ #: classes/class-uji-countdown-admin.php:140
217
+ msgid "Number Color"
218
+ msgstr ""
219
+
220
+ #: classes/class-uji-countdown-admin.php:138
221
+ msgid "Shadow Color"
222
+ msgstr ""
223
+
224
+ #: classes/class-uji-countdown-admin.php:141
225
+ msgid "Label Color:"
226
+ msgstr ""
227
+
228
+ #: classes/class-uji-countdown-admin.php:141
229
+ msgid "Label Text Color"
230
+ msgstr ""
231
+
232
+ #: classes/class-uji-countdown-admin.php:142
233
+ msgid "Label Size:"
234
+ msgstr ""
235
+
236
+ #: classes/class-uji-countdown-admin.php:147
237
+ msgid "Edit Timer Style"
238
+ msgstr ""
239
+
240
+ #: classes/class-uji-countdown-admin.php:149
241
+ msgid "Create New Timer Style"
242
+ msgstr ""
243
+
244
+ #: classes/class-uji-countdown-admin.php:253
245
+ msgid "Preview Timer Style"
246
+ msgstr ""
247
+
248
+ #: classes/class-uji-countdown-admin.php:264
249
+ msgid "How To Add Countdown Shortcode"
250
+ msgstr ""
251
+
252
+ #: classes/class-uji-countdown-admin.php:264
253
+ msgid "Add New Countdown <br>from the Widget Areas"
254
+ msgstr ""
255
+
256
+ #: classes/class-uji-countdown-admin.php:276
257
+ msgid "Style Type:"
258
+ msgstr ""
259
+
260
+ #: classes/class-uji-countdown-admin.php:279
261
+ msgid "Select Style:"
262
+ msgstr ""
263
+
264
+ #: classes/class-uji-countdown-admin.php:425
265
+ msgid "Update Style"
266
+ msgstr ""
267
+
268
+ #: classes/class-uji-countdown-admin.php:427
269
+ msgid "Cancel Add New"
270
+ msgstr ""
271
+
272
+ #: classes/class-uji-countdown-admin.php:429
273
+ msgid "Save Style"
274
+ msgstr ""
275
+
276
+ #: classes/class-uji-countdown-admin.php:462
277
+ msgid "Your Timer Style Was Created"
278
+ msgstr ""
279
+
280
+ #: classes/class-uji-countdown-admin.php:469
281
+ msgid "Your Timer Style Was Updated"
282
+ msgstr ""
283
+
284
+ #: classes/class-uji-countdown-admin.php:485
285
+ msgid "Please Complete Timer Title"
286
+ msgstr ""
287
+
288
+ #: classes/class-uji-countdown-admin.php:490
289
+ msgid "Please Select Timer Format"
290
+ msgstr ""
291
+
292
+ #: classes/class-uji-countdown-admin.php:497
293
+ msgid "This Name Already Exist. Please Change Timer Name. <br/>"
294
+ msgstr ""
295
+
296
+ #: classes/class-uji-countdown-admin.php:556
297
+ msgid "Your countdown style was deleted"
298
+ msgstr ""
299
+
300
+ #: classes/class-uji-countdown-admin.php:617
301
+ msgid "Show Responsive:"
302
+ msgstr ""
303
+
304
+ #: classes/class-uji-countdown-admin.php:617
305
+ msgid "For Tablet and Mobile devices."
306
+ msgstr ""
307
+
308
+ #: classes/class-uji-countdown-admin.php:618
309
+ msgid "Right-To-Left (RTL):"
310
+ msgstr ""
311
+
312
+ #: classes/class-uji-countdown-admin.php:618
313
+ msgid "Writing starts from the right of the page and continues to the left."
314
+ msgstr ""
315
+
316
+ #: classes/class-uji-countdown-admin.php:619
317
+ msgid "Quick Translation"
318
+ msgstr ""
319
+
320
+ #: classes/class-uji-countdown-admin.php:624
321
+ msgid ":"
322
+ msgstr ""
323
+
324
+ #: classes/class-uji-countdown-admin.php:626
325
+ msgid "Save Changes"
326
+ msgstr ""
327
+
328
+ #: classes/class-uji-countdown-admin.php:630
329
+ msgid "Timer Settings"
330
+ msgstr ""
331
+
332
+ #: classes/class-uji-countdown-admin.php:643
333
+ msgid "Settings saved."
334
+ msgstr ""
335
+
336
+ #: classes/class-uji-countdown-admin.php:645
337
+ msgid "Some error occured. Please try again."
338
+ msgstr ""
339
+
340
+ #: classes/class-uji-countdown-front.php:120
341
+ msgid "Year"
342
+ msgstr ""
343
+
344
+ #: classes/class-uji-countdown-front.php:122
345
+ msgid "Month"
346
+ msgstr ""
347
+
348
+ #: classes/class-uji-countdown-front.php:124
349
+ msgid "Week"
350
+ msgstr ""
351
+
352
+ #: classes/class-uji-countdown-front.php:126
353
+ msgid "Day"
354
+ msgstr ""
355
+
356
+ #: classes/class-uji-countdown-front.php:128
357
+ msgid "Hour"
358
+ msgstr ""
359
+
360
+ #: classes/class-uji-countdown-front.php:130
361
+ msgid "Minute"
362
+ msgstr ""
363
+
364
+ #: classes/class-uji-countdown-front.php:132
365
+ msgid "Second"
366
+ msgstr ""
367
+
368
+ #: classes/class-uji-countdown.php:198 views/admin.php:29
369
+ msgid "Settings"
370
+ msgstr ""
371
+
372
+ #: classes/class-uji-widget.php:176
373
+ msgid "Title (optional):"
374
+ msgstr ""
375
+
376
+ #: classes/class-uji-widget.php:185
377
+ msgid "Select a Style:"
378
+ msgstr ""
379
+
380
+ #: classes/class-uji-widget.php:202
381
+ msgid "Expire Date:"
382
+ msgstr ""
383
+
384
+ #: classes/class-uji-widget.php:208
385
+ msgid "Select the Time:"
386
+ msgstr ""
387
+
388
+ #: classes/class-uji-widget.php:232
389
+ msgid "Hide Countdown:"
390
+ msgstr ""
391
+
392
+ #: classes/class-uji-widget.php:238
393
+ msgid "Or go to this link:"
394
+ msgstr ""
395
+
396
+ #: classes/class-uji-widget.php:239
397
+ msgid "Select URL to send after expire"
398
+ msgstr ""
399
+
400
+ #: views/admin.php:27
401
+ msgid "My Countdowns"
402
+ msgstr ""
403
+
404
+ #: views/admin.php:28
405
+ msgid "Add/Edit Countdown"
406
+ msgstr ""
lang/uji-countdown-es_ES.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2014-08-27 23:04-0800\n"
7
- "Last-Translator: \n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.6.3\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Años"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Meses"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Semanas"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Días"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Horas"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Minutos"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Segundos"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Año"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Mes"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Semana"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "Dia"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Hora"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Minuto"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Segundo"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2014-08-27 23:04-0800\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.6.3\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Años"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Meses"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Semanas"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Días"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Horas"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Minutos"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Segundos"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Año"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Mes"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Semana"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "Dia"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Hora"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Minuto"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Segundo"
lang/uji-countdown-fr_FR.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2013-09-29 17:54+0100\n"
7
- "Last-Translator: lamessen <nico@lamessen.fr>\n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.5.4\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Années"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Mois"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Semaines"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Jours"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Heures"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Minutes"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Secondes"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Année"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Mois"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Semaine"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "Jour"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Heure"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Minute"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Seconde"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2013-09-29 17:54+0100\n"
7
+ "Last-Translator: lamessen <nico@lamessen.fr>\n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.5.4\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Années"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Mois"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Semaines"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Jours"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Heures"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Minutes"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Secondes"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Année"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Mois"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Semaine"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "Jour"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Heure"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Minute"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Seconde"
lang/uji-countdown-hu_HU.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2014-08-27 23:09-0800\n"
7
- "Last-Translator: \n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.6.3\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Év"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Hónap"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Hét"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Nap"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Óra"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Perc"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Másodperc"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Év"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Hónap"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Hét"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "Nap"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Óra"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Perc"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Másodperc"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2014-08-27 23:09-0800\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.6.3\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Év"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Hónap"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Hét"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Nap"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Óra"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Perc"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Másodperc"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Év"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Hónap"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Hét"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "Nap"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Óra"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Perc"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Másodperc"
lang/uji-countdown-it_IT.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2014-08-27 22:57-0800\n"
7
- "Last-Translator: \n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.6.3\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Anni"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Mesi"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Settimane"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Giorni"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Ore"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Minuti"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Secondi"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Anno"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Mese"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Settimana"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "Giorno"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Ora"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Minuto"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Secondo"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2014-08-27 22:57-0800\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.6.3\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Anni"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Mesi"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Settimane"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Giorni"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Ore"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Minuti"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Secondi"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Anno"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Mese"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Settimana"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "Giorno"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Ora"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Minuto"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Secondo"
lang/uji-countdown-nl_NL.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2014-07-30 19:08-0800\n"
7
- "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.6.3\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Jaren"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Мaanden"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Weken"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Dagen"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Uren"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Мinuten"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Seconden"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Jaar"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Мaand"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Week"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "Dag"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Uur"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Minuut"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Seconde"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2014-07-30 19:08-0800\n"
7
+ "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.6.3\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Jaren"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Мaanden"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Weken"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Dagen"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Uren"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Мinuten"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Seconden"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Jaar"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Мaand"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Week"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "Dag"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Uur"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Minuut"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Seconde"
lang/uji-countdown-ro_RO.po CHANGED
@@ -1,73 +1,73 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2012-07-19 13:05+0200\n"
7
- "Last-Translator: \n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-Language: English\n"
14
- "X-Poedit-Country: ROMANIA\n"
15
- "X-Poedit-SourceCharset: utf-8\n"
16
-
17
- #: uji-countdown-front.php:105
18
- #: uji-countdown-set.php:18
19
- msgid "Years"
20
- msgstr "Ani"
21
-
22
- #: uji-countdown-front.php:105
23
- msgid "Months"
24
- msgstr "Luni"
25
-
26
- #: uji-countdown-front.php:105
27
- msgid "Weeks"
28
- msgstr "Saptamani"
29
-
30
- #: uji-countdown-front.php:105
31
- msgid "Days"
32
- msgstr "Zile"
33
-
34
- #: uji-countdown-front.php:105
35
- msgid "Hours"
36
- msgstr "Ore"
37
-
38
- #: uji-countdown-front.php:105
39
- msgid "Minutes"
40
- msgstr "Minute"
41
-
42
- #: uji-countdown-front.php:105
43
- msgid "Seconds"
44
- msgstr "Secunde"
45
-
46
- #: uji-countdown-front.php:106
47
- msgid "Year"
48
- msgstr "An"
49
-
50
- #: uji-countdown-front.php:106
51
- msgid "Month"
52
- msgstr "Luna"
53
-
54
- #: uji-countdown-front.php:106
55
- msgid "Week"
56
- msgstr "Saptamana"
57
-
58
- #: uji-countdown-front.php:106
59
- msgid "Day"
60
- msgstr "Zi"
61
-
62
- #: uji-countdown-front.php:106
63
- msgid "Hour"
64
- msgstr "Ora"
65
-
66
- #: uji-countdown-front.php:106
67
- msgid "Minute"
68
- msgstr "Minut"
69
-
70
- #: uji-countdown-front.php:106
71
- msgid "Second"
72
- msgstr "Secunda"
73
-
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2012-07-19 13:05+0200\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-Language: English\n"
14
+ "X-Poedit-Country: ROMANIA\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+
17
+ #: uji-countdown-front.php:105
18
+ #: uji-countdown-set.php:18
19
+ msgid "Years"
20
+ msgstr "Ani"
21
+
22
+ #: uji-countdown-front.php:105
23
+ msgid "Months"
24
+ msgstr "Luni"
25
+
26
+ #: uji-countdown-front.php:105
27
+ msgid "Weeks"
28
+ msgstr "Saptamani"
29
+
30
+ #: uji-countdown-front.php:105
31
+ msgid "Days"
32
+ msgstr "Zile"
33
+
34
+ #: uji-countdown-front.php:105
35
+ msgid "Hours"
36
+ msgstr "Ore"
37
+
38
+ #: uji-countdown-front.php:105
39
+ msgid "Minutes"
40
+ msgstr "Minute"
41
+
42
+ #: uji-countdown-front.php:105
43
+ msgid "Seconds"
44
+ msgstr "Secunde"
45
+
46
+ #: uji-countdown-front.php:106
47
+ msgid "Year"
48
+ msgstr "An"
49
+
50
+ #: uji-countdown-front.php:106
51
+ msgid "Month"
52
+ msgstr "Luna"
53
+
54
+ #: uji-countdown-front.php:106
55
+ msgid "Week"
56
+ msgstr "Saptamana"
57
+
58
+ #: uji-countdown-front.php:106
59
+ msgid "Day"
60
+ msgstr "Zi"
61
+
62
+ #: uji-countdown-front.php:106
63
+ msgid "Hour"
64
+ msgstr "Ora"
65
+
66
+ #: uji-countdown-front.php:106
67
+ msgid "Minute"
68
+ msgstr "Minut"
69
+
70
+ #: uji-countdown-front.php:106
71
+ msgid "Second"
72
+ msgstr "Secunda"
73
+
lang/uji-countdown-ru_RU.po CHANGED
@@ -1,71 +1,71 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: uji-countdown\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
- "PO-Revision-Date: 2014-05-21 21:19+0200\n"
7
- "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
- "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: _e\n"
13
- "X-Poedit-SourceCharset: utf-8\n"
14
- "Language: en_RO\n"
15
- "X-Generator: Poedit 1.6.4\n"
16
-
17
- #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
- msgid "Years"
19
- msgstr "Лет"
20
-
21
- #: uji-countdown-front.php:105
22
- msgid "Months"
23
- msgstr "Месяцев"
24
-
25
- #: uji-countdown-front.php:105
26
- msgid "Weeks"
27
- msgstr "Недель"
28
-
29
- #: uji-countdown-front.php:105
30
- msgid "Days"
31
- msgstr "Дней"
32
-
33
- #: uji-countdown-front.php:105
34
- msgid "Hours"
35
- msgstr "Часов"
36
-
37
- #: uji-countdown-front.php:105
38
- msgid "Minutes"
39
- msgstr "Минут"
40
-
41
- #: uji-countdown-front.php:105
42
- msgid "Seconds"
43
- msgstr "Секунд"
44
-
45
- #: uji-countdown-front.php:106
46
- msgid "Year"
47
- msgstr "Год"
48
-
49
- #: uji-countdown-front.php:106
50
- msgid "Month"
51
- msgstr "Месяц"
52
-
53
- #: uji-countdown-front.php:106
54
- msgid "Week"
55
- msgstr "Неделя"
56
-
57
- #: uji-countdown-front.php:106
58
- msgid "Day"
59
- msgstr "День"
60
-
61
- #: uji-countdown-front.php:106
62
- msgid "Hour"
63
- msgstr "Час"
64
-
65
- #: uji-countdown-front.php:106
66
- msgid "Minute"
67
- msgstr "Минута"
68
-
69
- #: uji-countdown-front.php:106
70
- msgid "Second"
71
- msgstr "Секунда"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: uji-countdown\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-01-20 11:55+0200\n"
6
+ "PO-Revision-Date: 2014-05-21 21:19+0200\n"
7
+ "Last-Translator: Ujimoto <info@wpmanage.com>\n"
8
+ "Language-Team: ujimoto <raul.ujog@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e\n"
13
+ "X-Poedit-SourceCharset: utf-8\n"
14
+ "Language: en_RO\n"
15
+ "X-Generator: Poedit 1.6.4\n"
16
+
17
+ #: uji-countdown-front.php:105 uji-countdown-set.php:18
18
+ msgid "Years"
19
+ msgstr "Лет"
20
+
21
+ #: uji-countdown-front.php:105
22
+ msgid "Months"
23
+ msgstr "Месяцев"
24
+
25
+ #: uji-countdown-front.php:105
26
+ msgid "Weeks"
27
+ msgstr "Недель"
28
+
29
+ #: uji-countdown-front.php:105
30
+ msgid "Days"
31
+ msgstr "Дней"
32
+
33
+ #: uji-countdown-front.php:105
34
+ msgid "Hours"
35
+ msgstr "Часов"
36
+
37
+ #: uji-countdown-front.php:105
38
+ msgid "Minutes"
39
+ msgstr "Минут"
40
+
41
+ #: uji-countdown-front.php:105
42
+ msgid "Seconds"
43
+ msgstr "Секунд"
44
+
45
+ #: uji-countdown-front.php:106
46
+ msgid "Year"
47
+ msgstr "Год"
48
+
49
+ #: uji-countdown-front.php:106
50
+ msgid "Month"
51
+ msgstr "Месяц"
52
+
53
+ #: uji-countdown-front.php:106
54
+ msgid "Week"
55
+ msgstr "Неделя"
56
+
57
+ #: uji-countdown-front.php:106
58
+ msgid "Day"
59
+ msgstr "День"
60
+
61
+ #: uji-countdown-front.php:106
62
+ msgid "Hour"
63
+ msgstr "Час"
64
+
65
+ #: uji-countdown-front.php:106
66
+ msgid "Minute"
67
+ msgstr "Минута"
68
+
69
+ #: uji-countdown-front.php:106
70
+ msgid "Second"
71
+ msgstr "Секунда"
src/block/block.js ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * BLOCK: uji-countdown-2020
3
+ *
4
+ * Registering a basic block with Gutenberg.
5
+ * Simple block, renders and saves the same content without any interactivity.
6
+ */
7
+
8
+ // Import CSS.
9
+ import './editor.scss';
10
+ import './style.scss';
11
+
12
+
13
+ import metadata from './block.json';
14
+ import edit from './edit';
15
+ import save from './save';
16
+
17
+ const { __ } = wp.i18n; // Import __() from wp.i18n
18
+ const { registerBlockType } = wp.blocks; // Import registerBlockType() from wp.blocks
19
+
20
+ const { name, category, attributes } = metadata;
21
+
22
+ /**
23
+ * Register: aa Gutenberg Block.
24
+ *
25
+ * Registers a new block provided a unique name and an object defining its
26
+ * behavior. Once registered, the block is made editor as an option to any
27
+ * editor interface where blocks are implemented.
28
+ *
29
+ * @link https://wordpress.org/gutenberg/handbook/block-api/
30
+ * @param {string} name Block name.
31
+ * @param {Object} settings Block settings.
32
+ * @return {?WPBlock} The block, if it has been successfully
33
+ * registered; otherwise `undefined`.
34
+ */
35
+ registerBlockType( name, {
36
+ // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
37
+ title: __( 'Uji Countdown' ), // Block title.
38
+ icon: 'clock', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
39
+ category, // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
40
+ keywords: [
41
+ __( 'Uji Countdown' ),
42
+ __( 'Countdown Timer' ),
43
+ __( 'uji-countdown' ),
44
+ ],
45
+
46
+ attributes,
47
+
48
+ /**
49
+ * The edit function describes the structure of your block in the context of the editor.
50
+ * This represents what the editor will render when the block is used.
51
+ *
52
+ * The "edit" property must be a valid function.
53
+ *
54
+ * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
55
+ *
56
+ * @param {Object} props Props.
57
+ * @returns {Mixed} JSX Component.
58
+ */
59
+ edit,
60
+
61
+ /**
62
+ * The save function defines the way in which the different attributes should be combined
63
+ * into the final markup, which is then serialized by Gutenberg into post_content.
64
+ *
65
+ * The "save" property must be specified and must be a valid function.
66
+ *
67
+ * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
68
+ *
69
+ * @param {Object} props Props.
70
+ * @returns {Mixed} JSX Frontend HTML.
71
+ */
72
+ save,
73
+ } );
src/block/block.json ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "urc/block-uji-countdown-2020",
3
+ "category": "common",
4
+ "attributes": {
5
+ "countStyles": {
6
+ "type": "string",
7
+ "default": ""
8
+ },
9
+ "datetime": {
10
+ "type": "string",
11
+ "default": "2020-01-01 12:01:00"
12
+ },
13
+ "timeonly": {
14
+ "type": "string",
15
+ "default": "12:00"
16
+ },
17
+ "isStackedOnMobile": {
18
+ "type": "boolean",
19
+ "default": false
20
+ },
21
+ "timerType" : {
22
+ "type" : "string",
23
+ "default": "onetime"
24
+ },
25
+ "thour": {
26
+ "type": "string",
27
+ "default": ""
28
+ },
29
+ "tmin": {
30
+ "type": "string",
31
+ "default": ""
32
+ },
33
+ "tsec": {
34
+ "type": "string",
35
+ "default": ""
36
+ },
37
+ "hide": {
38
+ "type": "boolean",
39
+ "default": true
40
+ },
41
+ "url": {
42
+ "type": "string",
43
+ "default": ""
44
+ },
45
+ "unitNum": {
46
+ "type": "string",
47
+ "default": "hou"
48
+ },
49
+ "unitTime": {
50
+ "type": "string",
51
+ "default": "sec"
52
+ },
53
+ "repeats": {
54
+ "type": "string",
55
+ "default": ""
56
+ },
57
+ "news": {
58
+ "type": "string",
59
+ "default": ""
60
+ }
61
+ }
62
+ }
src/block/edit.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+
5
+ import icons from "./icons";
6
+ import InspectorControls from './inspector';
7
+
8
+ import { __ } from '@wordpress/i18n';
9
+
10
+ // import { DateTimePicker } from '@wordpress/components';
11
+ // import { __experimentalGetSettings } from '@wordpress/date';
12
+ // import { withState } from '@wordpress/compose';
13
+
14
+ import { Component, Fragment } from "@wordpress/element";
15
+
16
+ class UjiCountEdit extends Component {
17
+ render() {
18
+ const { attributes } = this.props;
19
+
20
+ const { datetime, timerType, thour, tmin, tsec } = attributes;
21
+
22
+ const isStyles = ( typeof ujic_short_vars !== 'undefined' ) ? true : null;
23
+
24
+ const convertDigit = (num) => {
25
+ return ( num.length ) == 1 ? '0' + num : num;
26
+ };
27
+
28
+ if ( isStyles ) {
29
+ return (
30
+ <Fragment>
31
+ <InspectorControls { ...this.props } />
32
+ { timerType === 'onetime' && (
33
+ <div className="wp-block-urc-block">
34
+ { __( 'Expire on:', 'ujicountdown' ) } <strong> <time>{ datetime }</time> </strong>
35
+ </div>
36
+ ) }
37
+ { timerType === 'repeat' && (
38
+ <div className="wp-block-urc-block">
39
+ { __( 'Countdown time:', 'ujicountdown' ) } <strong> <time>{ convertDigit( thour ) } : { convertDigit( tmin ) } : { convertDigit( tsec ) } </time> </strong>
40
+ </div>
41
+ ) }
42
+ </Fragment>
43
+ );
44
+ }
45
+ return (
46
+ <Fragment>
47
+ <InspectorControls { ...this.props } />
48
+ <div className="wp-block-urc-block">
49
+ <h5 style={ { color: 'red', textAlign: 'center' } }>
50
+ { __('Plese create a countdown style first.', 'ujicountdown' )}
51
+ </h5>
52
+ </div>
53
+ </Fragment>
54
+ );
55
+ }
56
+ }
57
+
58
+ export default UjiCountEdit;
src/block/editor.scss ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * #.# Editor Styles
3
+ *
4
+ * CSS for just Backend enqueued after style.scss
5
+ * which makes it higher in priority.
6
+ */
7
+
8
+ .wp-block-cgb-block-uji-countdown-2020 {
9
+ background: $green;
10
+ border: 0.2rem solid $black;
11
+ color: $black;
12
+ margin: 0 auto;
13
+ max-width: 740px;
14
+ padding: 2rem;
15
+ }
src/block/icons.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/components';
5
+
6
+ /**
7
+ * Block user interface icons
8
+ */
9
+ const icons = {};
10
+
11
+ icons.imageLeft = <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><Path d="m11 15v-10h-10v10zm2-6h6v-2h-6zm0 4h6v-2h-6z" /></SVG>;
12
+ icons.imageRight = <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><Path d="m19 15v-10h-10v10zm-18-6h6v-2h-6zm0 4h6v-2h-6z" /></SVG>;
13
+ icons.styleHorizontalImageRight = <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 26" height="26" width="56"><Path d="m48 11.0910645v-10.00000005h-10v10.00000005zm-40-6.00000005h24v-2h-24zm0 4v-2h18v2zm40 16.00000005h-10v-10h10zm-40-6v-2h24v2zm0 4v-2h18v2z" /></SVG>;
14
+ icons.styleHorizontalImageLeft = <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 26" height="26" width="56"><Path d="m18 11.0910645v-10.00000005h-10v10.00000005zm6-6.00000005h24v-2h-24zm0 4v-2h18v2zm-6 16.00000005h-10v-10h10zm6-6v-2h24v2zm0 4v-2h18v2z" /></SVG>;
15
+ icons.styleStacked = <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 26" height="26" width="56"><Path d="m26 17v-16h-16v16zm-16 4h10v-2h-10zm0 4v-2h10v2zm36-8h-16v-16h16zm-16 4v-2h10v2zm0 4v-2h10v2z" /></SVG>;
16
+
17
+ export default icons;
src/block/inspector.js ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*global ujicountdownData*/
2
+
3
+ import { __ } from "@wordpress/i18n";
4
+ import { Fragment } from "@wordpress/element";
5
+ import { InspectorControls } from "@wordpress/block-editor";
6
+
7
+ import {
8
+ PanelBody,
9
+ PanelRow,
10
+ DateTimePicker,
11
+ TextControl,
12
+ RadioControl,
13
+ ToggleControl,
14
+ SelectControl,
15
+ } from "@wordpress/components";
16
+
17
+ const optionsStyles = (styles) => {
18
+ const stypeOpt = [{ value: '', label: 'Select Timer Style' }];
19
+
20
+ if (styles !== null) {
21
+ styles.map((val) => {
22
+ stypeOpt.push({ value: val.value, label: val.text });
23
+ });
24
+ return stypeOpt;
25
+ } else {
26
+ return null;
27
+ }
28
+ };
29
+
30
+ const Inspector = (props) => {
31
+ const { attributes, setAttributes } = props;
32
+
33
+ const {
34
+ countStyles,
35
+ timerType,
36
+ datetime,
37
+ thour,
38
+ tmin,
39
+ tsec,
40
+ hide,
41
+ url,
42
+ unitNum,
43
+ unitTime,
44
+ repeats,
45
+ news,
46
+ } = attributes;
47
+
48
+ const onUpdateDate = (dateTime) => {
49
+ let newDateTime = moment(dateTime).format("YYYY-MM-DD HH:mm");
50
+ setAttributes({ datetime: newDateTime });
51
+ };
52
+
53
+ const optionsTime = [
54
+ { value: "second", label: __("Second(s)", "ujicountdown") },
55
+ { value: "minute", label: __("Minute(s)", "ujicountdown") },
56
+ { value: "hour", label: __("Hours(s)", "ujicountdown") },
57
+ { value: "day", label: __("Days(s)", "ujicountdown") },
58
+ { value: "week", label: __("Week(s)", "ujicountdown") },
59
+ { value: "month", label: __("Month(s)", "ujicountdown") },
60
+ ];
61
+
62
+ const optionStyles = ( typeof ujic_short_vars !== 'undefined' ) ? optionsStyles(ujic_short_vars.ujic_style) : null;
63
+ const isNews = ( typeof ujic_extend !== 'undefined' ) ? true : false;
64
+
65
+ if ( ! optionStyles ) {
66
+ return (
67
+ <InspectorControls>
68
+ <PanelBody
69
+ title={__("Countdown Settings", "ujicountdown")}
70
+ initialOpen={true}
71
+ className={"urc-settings-insp"}
72
+ >
73
+ <div className="urc-border">
74
+ <div className="urc-component">
75
+ <div>
76
+ <strong style={{ color: 'red' }}>
77
+ Plese create a countdown style first.
78
+ </strong>
79
+ <p> Go to: <strong>Settings/Uji Countdown</strong> and create a style first! </p>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </PanelBody>
84
+ </InspectorControls>
85
+ );
86
+ } else {
87
+ return (
88
+ <InspectorControls>
89
+ <PanelBody
90
+ title={__("Countdown Settings", "ujicountdown")}
91
+ initialOpen={true}
92
+ className={"urc-settings-insp"}
93
+ >
94
+ <div className="urc-border">
95
+ <h4>Select Style: </h4>
96
+ <div className="urc-component">
97
+ <SelectControl
98
+ value={countStyles}
99
+ options={optionStyles}
100
+ onChange={(value) => setAttributes({ countStyles: value })}
101
+ className="components-style-field-select"
102
+ />
103
+ </div>
104
+ </div>
105
+
106
+ <div className="urc-border">
107
+ <h4>Timer Type: </h4>
108
+ <div className="urc-component">
109
+ <RadioControl
110
+ selected={timerType}
111
+ options={[
112
+ {
113
+ label: __("One Time Timer", "ujicountdown"),
114
+ value: "onetime",
115
+ },
116
+ {
117
+ label: __("Repeating Timer", "ujicountdown"),
118
+ value: "repeat",
119
+ },
120
+ ]}
121
+ onChange={(value) => setAttributes({ timerType: value })}
122
+ />
123
+ </div>
124
+ </div>
125
+ { timerType === "onetime" && (
126
+ <div className="urc-border">
127
+ <h4>Expiration Date and Time: </h4>
128
+ <div className="urc-component">
129
+ <Fragment>
130
+ <PanelRow>
131
+ <DateTimePicker
132
+ currentDate={datetime}
133
+ onChange={(val) => onUpdateDate(val)}
134
+ is12Hour={false}
135
+ />
136
+ </PanelRow>
137
+ </Fragment>
138
+ </div>
139
+ </div>
140
+ )}
141
+ {timerType === "repeat" && (
142
+ <Fragment>
143
+ <div className="urc-component-time">
144
+ <h4>Select Time:</h4>
145
+ <div className="urc-component">
146
+ <TextControl
147
+ type="number"
148
+ label="Hours"
149
+ className="components-time-field-hours-input"
150
+ value={thour}
151
+ onChange={(value) => setAttributes({ thour: escape(value) })}
152
+ />
153
+ <span className="urc-time-separator">:</span>
154
+ <TextControl
155
+ type="number"
156
+ label="Minutes"
157
+ className="components-time-field-hours-input"
158
+ value={tmin}
159
+ onChange={(value) => setAttributes({ tmin: escape(value) })}
160
+ />
161
+ <span className="urc-time-separator">:</span>
162
+ <TextControl
163
+ type="number"
164
+ label="Seconds"
165
+ className="components-time-field-hours-input"
166
+ value={tsec}
167
+ onChange={(value) => setAttributes({ tsec: escape(value) })}
168
+ />
169
+ </div>
170
+ <i>This countdown will restart on page load</i>
171
+ </div>
172
+ </Fragment>
173
+ )}
174
+ <Fragment>
175
+ <div className="urc-border">
176
+ <h4>After expiration: </h4>
177
+ <div className="urc-component">
178
+ <ToggleControl
179
+ label={__("After expired", "ujicountdown")}
180
+ checked={hide}
181
+ help={
182
+ hide
183
+ ? __("Hide the countdown.", "ujicountdown")
184
+ : __("Go to URL.", "ujicountdown")
185
+ }
186
+ onChange={() => setAttributes({ hide: !hide })}
187
+ />
188
+ {!hide && (
189
+ <TextControl
190
+ type="text"
191
+ label="Enter web address"
192
+ placeholder="https://"
193
+ value={url}
194
+ onChange={(value) => setAttributes({ url: escape(value) })}
195
+ />
196
+ )}
197
+ </div>
198
+ </div>
199
+ </Fragment>
200
+ <Fragment>
201
+ <div className="urc-border">
202
+ <h4>Recurring Time: </h4>
203
+ <div className="urc-component">
204
+ <span className="spaceInp">Every </span>
205
+ <TextControl
206
+ type="number"
207
+ className="components-time-field-hours-input"
208
+ value={unitNum}
209
+ onChange={(value) => setAttributes({ unitNum: escape(value) })}
210
+ />
211
+ <SelectControl
212
+ value={unitTime}
213
+ options={optionsTime}
214
+ onChange={(value) => setAttributes({ unitTime: value })}
215
+ className="components-time-field-hours-select"
216
+ />
217
+ </div>
218
+ <div className="urc-component">
219
+ <span className="spaceInp">Repeats </span>
220
+ <TextControl
221
+ type="number"
222
+ className="components-repeat-field-input"
223
+ value={repeats}
224
+ onChange={(value) => setAttributes({ repeats: escape(value) })}
225
+ />
226
+ <i>leave it empty for unlimited</i>
227
+ </div>
228
+ </div>
229
+ </Fragment>
230
+ { isNews && (
231
+ <Fragment>
232
+ <div className="urc-border">
233
+ <h4>Newsletter Form: </h4>
234
+ <div className="urc-component">
235
+ <TextControl
236
+ type="text"
237
+ value={news}
238
+ placeholder="Enter your campaign name"
239
+ onChange={(value) => setAttributes({ news: escape(value) })}
240
+ />
241
+ </div>
242
+ </div>
243
+ </Fragment>
244
+ )}
245
+ </PanelBody>
246
+ </InspectorControls>
247
+ );
248
+ }
249
+ };
250
+
251
+ export default Inspector;
src/block/save.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+
5
+ import { RawHTML } from '@wordpress/element';
6
+
7
+ const save = ( { attributes } ) => {
8
+ const {
9
+ countStyles,
10
+ datetime,
11
+ thour,
12
+ tmin,
13
+ tsec,
14
+ hide,
15
+ url,
16
+ unitNum,
17
+ unitTime,
18
+ repeats,
19
+ } = attributes;
20
+
21
+ const isHide = hide ? 'true' : 'false';
22
+
23
+ const tim = ( thour && tmin && tsec ) ? true : false;
24
+ const exp = datetime ? datetime.replace(/\//g, '-') : '';
25
+ const expTime = ( exp && ! tim ) ? 'expire="' + exp + '"' : '';
26
+ const timerTime = tim ? 'timer="' + thour + ':' + tmin + ':' + tsec + '"' : '';
27
+
28
+ const rectype = ( unitNum && repeats ) ? unitTime : '';
29
+
30
+ // [ujicountdown id="test" expire="2020/04/30 06:04" hide="true" url="" subscr="undefined" recurring="" rectype="second" repeats=""]
31
+ const myShortcode = '[ujicountdown id="'+countStyles+'" '+expTime+' '+timerTime+' hide="'+isHide+'" url="'+url+'" subscr="undefined" recurring="'+repeats+'" rectype="'+rectype+'" repeats="'+unitNum+'"]';
32
+
33
+ return (
34
+ <RawHTML>{ myShortcode }</RawHTML>
35
+
36
+ );
37
+ };
38
+
39
+ export default save;
src/block/style.scss ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * #.# Styles
3
+ *
4
+ * CSS for both Frontend+Backend.
5
+ */
6
+
7
+ .wp-block-urc-block {
8
+ background: $lightblu;
9
+ border: 0.1rem solid $midblu;
10
+ color: $blue;
11
+ margin: 0 auto;
12
+
13
+ padding: 1rem;
14
+ }
15
+
16
+ .wp-block-urc-block-uji-countdown-2020 time{
17
+ font-family: "Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
18
+ font-size: 1.2rem;
19
+ }
20
+
21
+ .wp-block-ujicount-datetime{
22
+ color: rgb(115, 45, 182);
23
+ }
24
+
25
+ .components-datetime{
26
+ padding: 0;
27
+ }
28
+
29
+ .urc-component .spaceInp{
30
+ width: 55px;
31
+ display: inline-block;
32
+ }
33
+
34
+ .urc-component input[type=number]{
35
+ text-align: center;
36
+ }
37
+
38
+ .urc-component input[type=number]::-webkit-inner-spin-button,
39
+ .urc-component input[type=number]::-webkit-outer-spin-button {
40
+ -webkit-appearance: none;
41
+ margin: 0;
42
+ }
43
+
44
+ .urc-component-time{
45
+ margin-bottom: 15px;
46
+ }
47
+
48
+ .components-time-field-hours-input{
49
+ width: 23%;
50
+ display: inline-block;
51
+ margin-right: 0.5rem;
52
+ position: relative;
53
+ top: 3px;
54
+ margin-bottom: 0!important;
55
+ }
56
+
57
+ .urc-border{
58
+ border-top: 1px solid #e2e4e7;
59
+ padding: 10px 0;
60
+ }
61
+
62
+ .components-time-field-hours-select{
63
+ width: 37%;
64
+ display: inline-block;
65
+ }
66
+
67
+ .components-repeat-field-input{
68
+ width: 23%;
69
+ display: inline-block;
70
+ margin-bottom: 0!important;
71
+ }
72
+
73
+ .urc-component i{
74
+ margin-left: 58px;
75
+ display: block;
76
+ }
77
+
78
+ .urc-time-separator{
79
+ padding: 0 0.5rem 0 0;
80
+ display: inline-block;
81
+ }
82
+
83
+ .urc-component-time h4,
84
+ .urc-border h4{
85
+ margin: 0.8em 0;
86
+ }
src/blocks.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Gutenberg Blocks
3
+ *
4
+ * All blocks related JavaScript files should be imported here.
5
+ * You can create a new block folder in this dir and include code
6
+ * for that block here as well.
7
+ *
8
+ * All blocks should be included here since this is the file that
9
+ * Webpack is compiling as the input file.
10
+ */
11
+
12
+ import './block/block.js';
src/blocks.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Uji Countdown Front
4
+ *
5
+ * Handles back-end blocks
6
+ *
7
+ * @author WPmanage
8
+ * @category Blocks support
9
+ * @package Uji-Countdown
10
+ * @version 2.1
11
+ */
12
+
13
+ // Exit if accessed directly.
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * Enqueue Gutenberg block assets for both frontend + backend.
20
+ *
21
+ */
22
+ function uji_countdown_2020_uji_block_assets() { // phpcs:ignore
23
+ // Register block styles for both frontend + backend.
24
+ wp_register_style(
25
+ 'uji_countdown_2020-uji-style-css', // Handle.
26
+ plugins_url( 'dist/blocks.style.build.css', dirname( __FILE__ ) ), // Block style CSS.
27
+ is_admin() ? array( 'wp-editor' ) : null, // Dependency to include the CSS after it.
28
+ null // filemtime( plugin_dir_path( __DIR__ ) . 'dist/blocks.style.build.css' ) // Version: File modification time.
29
+ );
30
+
31
+ // Register block editor script for backend.
32
+ wp_register_script(
33
+ 'uji_countdown_2020-uji-block-js', // Handle.
34
+ plugins_url( '/dist/blocks.build.js', dirname( __FILE__ ) ), // Block.build.js: We register the block here. Built with Webpack.
35
+ array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor' ), // Dependencies, defined above.
36
+ null, // filemtime( plugin_dir_path( __DIR__ ) . 'dist/blocks.build.js' ), // Version: filemtime — Gets file modification time.
37
+ true // Enqueue the script in the footer.
38
+ );
39
+
40
+ // Register block editor styles for backend.
41
+ wp_register_style(
42
+ 'uji_countdown_2020-uji-block-editor-css', // Handle.
43
+ plugins_url( 'dist/blocks.editor.build.css', dirname( __FILE__ ) ), // Block editor CSS.
44
+ array( 'wp-edit-blocks' ), // Dependency to include the CSS after it.
45
+ null // filemtime( plugin_dir_path( __DIR__ ) . 'dist/blocks.editor.build.css' ) // Version: File modification time.
46
+ );
47
+
48
+ // WP Localized globals. Use dynamic PHP stuff in JavaScript via `ujiGlobal` object.
49
+ wp_localize_script(
50
+ 'uji_countdown_2020-uji-block-js',
51
+ 'ujiGlobal', // Array containing dynamic data for a JS Global.
52
+ [
53
+ 'pluginDirPath' => plugin_dir_path( __DIR__ ),
54
+ 'pluginDirUrl' => plugin_dir_url( __DIR__ ),
55
+ // Add more data here that you want to access from `ujiGlobal` object.
56
+ ]
57
+ );
58
+
59
+ /**
60
+ * Register Gutenberg block on server-side.
61
+ *
62
+ * @link https://wordpress.org/gutenberg/handbook/blocks/writing-your-first-block-type#enqueuing-block-scripts
63
+ * @since 1.16.0
64
+ */
65
+ register_block_type(
66
+ 'urc/block-uji-countdown-2020', array(
67
+ // Enqueue blocks.style.build.css on both frontend & backend.
68
+ 'style' => 'uji_countdown_2020-uji-style-css',
69
+ // Enqueue blocks.build.js in the editor only.
70
+ 'editor_script' => 'uji_countdown_2020-uji-block-js',
71
+ // Enqueue blocks.editor.build.css in the editor only.
72
+ 'editor_style' => 'uji_countdown_2020-uji-block-editor-css',
73
+ )
74
+ );
75
+ }
76
+
77
+ // Hook: Block assets.
78
+ add_action( 'init', 'uji_countdown_2020_uji_block_assets' );
src/common.scss ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * #.# Common SCSS
3
+ *
4
+ * Can include things like variables and mixins
5
+ * that are used across the project.
6
+ */
7
+
8
+ // Colors.
9
+ $black: rgb(41, 41, 41);
10
+ $white: #f4f4f4;
11
+ $gray: #dedede;
12
+ $green: #bada55;
13
+ $red: orangered;
14
+ $blue: rgb(78, 56, 177);
15
+ $lightblu: #f0ecff;
16
+ $midblu:#a698d8;
ujicountdown.php CHANGED
@@ -1,36 +1,47 @@
1
- <?php
2
- /*
3
- Plugin Name: Uji&#32;Countdown
4
- Plugin URI: http://www.wpmanage.com/uji-countdown
5
- Description: HTML5 Customizable Countdown.
6
- Version: 2.0.8
7
- Text Domain: uji-countdown
8
- Domain Path: /lang
9
- Author: Wpmanage.com
10
- Author URI: http://wpmanage.com
11
- License: GPLv2
12
- Copyright 2017 WPmanage (email : info@wpmanage.com)
13
- */
14
-
15
- // If this file is called directly, abort.
16
- defined( 'WPINC' ) || exit;
17
-
18
- define( 'UJIC_NAME', 'Uji Countdown' );
19
- define( 'UJIC_VERS', '2.0.8' );
20
- define( 'UJIC_FOLD', 'uji-countdown' );
21
- define( 'UJICOUNTDOWN', trailingslashit( dirname(__FILE__) ) );
22
- define( 'UJICOUNTDOWN_URL', plugin_dir_url( __FILE__ ) );
23
- define( 'UJICOUNTDOWN_BASE', plugin_basename(__FILE__) );
24
- define( 'UJICOUNTDOWN_FILE', __FILE__ );
25
-
26
- //Google Fonts
27
- require_once( plugin_dir_path( __FILE__ ) . 'assets/googlefonts.php' );
28
-
29
- // Classes
30
- require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown-admin.php' );
31
- require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown.php' );
32
- require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown-front.php' );
33
- require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-widget.php' );
34
-
35
- // INIT
36
- Uji_Countdown::get_instance();
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Uji Countdown
4
+ Plugin URI: http://www.wpmanage.com/uji-countdown
5
+ Description: HTML5 Customizable Countdown.
6
+ Version: 2.1
7
+ Text Domain: ujicountdown
8
+ Domain Path: /lang
9
+ Author: Wpmanage.com
10
+ Author URI: http://wpmanage.com
11
+ License: GPLv2
12
+ Copyright 2019 WPmanage (email : info@wpmanage.com)
13
+ */
14
+
15
+ // Exit if accessed directly.
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit;
18
+ }
19
+
20
+ // If this file is called directly, abort.
21
+ defined( 'WPINC' ) || exit;
22
+
23
+ define( 'UJIC_NAME', defined('UJIC_NAMEPRO') ? UJIC_NAMEPRO : 'Uji Countdown' );
24
+ define( 'UJIC_ORIG', '2.1' );
25
+ define( 'UJIC_VERS', defined('UJIC_VERSPRO') ? UJIC_VERSPRO : UJIC_ORIG );
26
+ define( 'UJIC_FOLD', 'uji-countdown' );
27
+ define( 'UJICOUNTDOWN', trailingslashit( dirname(__FILE__) ) );
28
+ define( 'UJICOUNTDOWN_URL', plugin_dir_url( __FILE__ ) );
29
+ define( 'UJICOUNTDOWN_BASE', plugin_basename(__FILE__) );
30
+ define( 'UJICOUNTDOWN_FILE', __FILE__ );
31
+
32
+ //Google Fonts
33
+ require_once( plugin_dir_path( __FILE__ ) . 'assets/googlefonts.php' );
34
+
35
+ /**
36
+ * Block Initializer.
37
+ */
38
+ require_once plugin_dir_path( __FILE__ ) . 'src/blocks.php';
39
+
40
+ // Classes
41
+ require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown-admin.php' );
42
+ require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown.php' );
43
+ require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-countdown-front.php' );
44
+ require_once( plugin_dir_path( __FILE__ ) . 'classes/class-uji-widget.php' );
45
+
46
+ // INIT
47
+ Uji_Countdown::get_instance();
views/admin.php CHANGED
@@ -1,61 +1,66 @@
1
- <?php
2
- /**
3
- * Represents the view for the administration dashboard.
4
- *
5
- * This includes the header, options, and other information that should provide
6
- * The User Interface to the end user.
7
- */
8
- ?>
9
- <div class="wrap">
10
-
11
- <?php screen_icon(); ?>
12
- <h2<?php if ( floatval( get_bloginfo( 'version' ) ) >= 3.9 ) {
13
- echo ' class="ujc-admin-tit"';
14
- } ?>><?php echo esc_html( get_admin_page_title() ); ?></h2>
15
-
16
- <?php
17
- $active_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : 'tab_ujic_list';
18
- !empty($_GET['_wp_http_referer']) && false !== strpos($_GET['_wp_http_referer'], 'tab_ujic_news') ? $active_tab = 'tab_ujic_news' : null;
19
-
20
- $add_tab = __( 'Add new style', 'uji-countdown' );
21
-
22
- if ( isset( $_GET['tab'] ) )
23
- {
24
- $active_tab = $_GET['tab'];
25
- $add_tab = ( 'tab_ujic_new' == $_GET['tab'] && isset( $_GET['edit'] ) ) ? __( 'Edit style', 'uji-countdown' ) : $add_tab;
26
- }
27
- ?>
28
-
29
- <h2 class="nav-tab-wrapper">
30
- <a href="?page=uji-countdown&amp;tab=tab_ujic_list" class="nav-tab <?php echo $active_tab == 'tab_ujic_list' ? 'nav-tab-active' : ''; ?>"><i class="dashicons dashicons-menu ujic-mico"></i><?php _e( 'My Styles', 'uji-countdown' ); ?></a>
31
- <a href="?page=uji-countdown&amp;tab=tab_ujic_new" class="nav-tab <?php echo $active_tab == 'tab_ujic_new' ? 'nav-tab-active' : ''; ?>"><i class="dashicons dashicons-clock ujic-mico"></i><?php echo $add_tab; ?></a>
32
- <a href="?<?php echo str_replace(is_ssl() ? 'https://' : 'http://', '', esc_url('page=uji-countdown&amp;tab=tab_ujic_news'));?>" class="nav-tab <?php echo $active_tab == 'tab_ujic_news' ? 'nav-tab-active' : ''; ?>"><i class="dashicons dashicons-email ujic-mico"></i> <?php _e( 'Subscribers', 'uji-countdown' ); ?></a>
33
- <a href="?page=uji-countdown&amp;tab=tab_ujic_set" class="nav-tab <?php echo $active_tab == 'tab_ujic_set' ? 'nav-tab-active' : ''; ?>"><i class="dashicons dashicons-admin-tools ujic-mico"></i><?php _e( 'Settings', 'uji-countdown' ); ?></a>
34
- <a href="http://www.wpmanage.com/uji-countdown" target="_blank" class="nav-tab nav-tab-pro"><i class="dashicons dashicons-plus ujic-mico"></i><?php _e( 'Upgrade', 'uji-countdown' ); ?></a>
35
- </h2>
36
-
37
- <?php
38
-
39
-
40
- $ujicount = new Uji_Countdown();
41
-
42
- // print_r($_GET);exit;
43
-
44
- if ( $active_tab == 'tab_ujic_list' ) {
45
- $ujicount->admin_tablelist();
46
- }
47
-
48
- if ( $active_tab == 'tab_ujic_new' ) {
49
- $ujicount->admin_countdown();
50
- }
51
-
52
- if ( $active_tab == 'tab_ujic_news' ) {
53
- $ujicount->admin_subscribers();
54
- }
55
-
56
- if ( $active_tab == 'tab_ujic_set' ) {
57
- $ujicount->admin_timerset();
58
- }
59
- ?>
60
-
 
 
 
 
 
61
  </div>
1
+ <?php
2
+ /**
3
+ * Represents the view for the administration dashboard.
4
+ *
5
+ * This includes the header, options, and other information that should provide
6
+ * The User Interface to the end user.
7
+ */
8
+ ?>
9
+ <div class="wrap">
10
+
11
+ <?php if ( floatval( get_bloginfo( 'version' ) ) <= 3.9 ) screen_icon(); ?>
12
+ <h2<?php if ( floatval( get_bloginfo( 'version' ) ) >= 3.9 ) {
13
+ echo ' class="ujc-admin-tit"';
14
+ } ?>><?php echo esc_html( get_admin_page_title() ); ?></h2>
15
+
16
+ <?php
17
+ $active_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : 'tab_ujic_list';
18
+ !empty($_GET['_wp_http_referer']) && false !== strpos($_GET['_wp_http_referer'], 'tab_ujic_news') ? $active_tab = 'tab_ujic_news' : null;
19
+
20
+ $add_tab = __( 'Add new style', 'uji-countdown' );
21
+
22
+ if ( isset( $_GET['tab'] ) )
23
+ {
24
+ $active_tab = $_GET['tab'];
25
+ $add_tab = ( 'tab_ujic_new' == $_GET['tab'] && isset( $_GET['edit'] ) ) ? __( 'Edit style', 'uji-countdown' ) : $add_tab;
26
+ }
27
+
28
+ $tab_view = '<h2 class="nav-tab-wrapper">';
29
+ $tab_view.= '<a href="?page=ujicountdown&amp;tab=tab_ujic_list" class="nav-tab '.($active_tab == 'tab_ujic_list' ? 'nav-tab-active' : '').'"><i class="dashicons dashicons-menu ujic-mico"></i>'. __( 'My Styles', 'uji-countdown' ).'</a>';
30
+ $tab_view.= '<a href="?page=ujicountdown&amp;tab=tab_ujic_new" class="nav-tab '.($active_tab == 'tab_ujic_new' ? 'nav-tab-active' : '').'"><i class="dashicons dashicons-clock ujic-mico"></i>'.$add_tab.'</a>';
31
+
32
+ echo $tab_view;
33
+
34
+ do_action( 'admin_custom_tab' );
35
+
36
+
37
+ ?>
38
+ <a href="?page=ujicountdown&amp;tab=tab_ujic_set" class="nav-tab <?php echo $active_tab == 'tab_ujic_set' ? 'nav-tab-active' : ''; ?>"><i class="dashicons dashicons-admin-tools ujic-mico"></i><?php _e( 'Settings', 'uji-countdown' ); ?></a>
39
+ <a href="http://www.wpmanage.com/uji-countdown" target="_blank" class="nav-tab nav-tab-pro"><i class="dashicons dashicons-plus ujic-mico"></i><?php _e( 'Add-ons', 'uji-countdown' ); ?></a>
40
+ </h2>
41
+
42
+ <?php
43
+
44
+
45
+ $ujicount = new Uji_Countdown();
46
+
47
+
48
+
49
+ if ( $active_tab == 'tab_ujic_list' ) {
50
+ $ujicount->admin_tablelist();
51
+ }
52
+
53
+ if ( $active_tab == 'tab_ujic_new' ) {
54
+ $ujicount->admin_countdown();
55
+ }
56
+
57
+ //Add custom tab
58
+ do_action( 'admin_custom_tab_funct' );
59
+
60
+
61
+ if ( $active_tab == 'tab_ujic_set' ) {
62
+ $ujicount->admin_timerset();
63
+ }
64
+ ?>
65
+
66
  </div>
views/public.php CHANGED
@@ -1,15 +0,0 @@
1
- <?php
2
- /**
3
- * Represents the view for the public-facing component of the plugin.
4
- *
5
- * This typically includes any information, if any, that is rendered to the
6
- * frontend of the theme when the plugin is activated.
7
- *
8
- * @package goodByeCaptcha
9
- * @author Your Name <email@example.com>
10
- * @license GPL-2.0+
11
- * @link http://example.com
12
- * @copyright 2013 Your Name or Company Name
13
- */
14
- ?>
15
- <!-- This file is used to markup the public facing aspect of the plugin. -->