Linux webm021.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Apache
: 10.127.20.21 | : 216.73.216.116
Cant Read [ /etc/named.conf ]
5.4.45
premiey
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
premiey /
www /
wp-includes /
images /
media /
[ HOME SHELL ]
Name
Size
Permission
Action
.PHPMailer.php.tar
1.5
KB
-rw-r--r--
.Text.php.tar
1.5
KB
-rw-r--r--
.assets.php.tar
1.5
KB
-rw-r--r--
.babelrc.tar
2
KB
-rw-r--r--
.block-patterns.php.tar
1.5
KB
-rw-r--r--
.block-supports.php.tar
1.5
KB
-rw-r--r--
.blocks.php.tar
1.5
KB
-rw-r--r--
.cache.tar
2
KB
-rw-r--r--
.css.php.tar
1.5
KB
-rw-r--r--
.customize.php.tar
1.5
KB
-rw-r--r--
.eslintignore.tar
2
KB
-rw-r--r--
.eslintrc.js.tar
2
KB
-rw-r--r--
.eslintrc.tar
2.5
KB
-rw-r--r--
.fonts.php.tar
1.5
KB
-rw-r--r--
.gitignore.tar
2
KB
-rw-r--r--
.gitkeep.tar
1.5
KB
-rw-r--r--
.htaccess
63
B
-rw-r--r--
.htaccess.tar
2
KB
-rw-r--r--
.images.php.tar
2
KB
-rw-r--r--
.includes.php.tar
1.5
KB
-rw-r--r--
.js.php.tar
2
KB
-rw-r--r--
.k.tar
2
KB
-rw-r--r--
.mad-root
0
B
-rw-r--r--
.mad-root.tar
5
KB
-rw-r--r--
.maint.php.tar
1.5
KB
-rw-r--r--
.network.php.tar
1.5
KB
-rw-r--r--
.pomo.php.tar
1.5
KB
-rw-r--r--
.prettierrc.js.tar
2
KB
-rw-r--r--
.rest-api.php.tar
1.5
KB
-rw-r--r--
.sitemaps.php.tar
1.5
KB
-rw-r--r--
.sodium_compat.php.tar
1.5
KB
-rw-r--r--
.stylelintignore.tar
2
KB
-rw-r--r--
.stylelintrc.json.tar
3
KB
-rw-r--r--
.todo.tar
2.5
KB
-rw-r--r--
.trash.tar
1.5
KB
-rw-r--r--
.user.php.tar
1.5
KB
-rw-r--r--
.well-known.tar
7
KB
-rw-r--r--
.widgets.php.tar
1.5
KB
-rw-r--r--
.wp-admin.php.tar
1.5
KB
-rw-r--r--
01.tar
2
KB
-rw-r--r--
01.tar.gz
100
B
-rw-r--r--
02-tools.tar
9.5
KB
-rw-r--r--
02-tools.tar.gz
2.5
KB
-rw-r--r--
02.tar
2
KB
-rw-r--r--
02.tar.gz
101
B
-rw-r--r--
03.tar
2
KB
-rw-r--r--
03.tar.gz
102
B
-rw-r--r--
04.tar
2
KB
-rw-r--r--
04.tar.gz
103
B
-rw-r--r--
06.tar
2
KB
-rw-r--r--
06.tar.gz
103
B
-rw-r--r--
07.tar
24.27
MB
-rw-r--r--
07.tar.gz
104
B
-rw-r--r--
07.zip
24.22
MB
-rw-r--r--
08.tar
116
KB
-rw-r--r--
08.tar.gz
96.48
KB
-rw-r--r--
1.tar
83
KB
-rw-r--r--
1.tar.gz
7.9
KB
-rw-r--r--
10.tar
32
KB
-rw-r--r--
10.tar.gz
5.21
KB
-rw-r--r--
11.tar
56.5
KB
-rw-r--r--
11.tar.gz
102
B
-rw-r--r--
11.zip
276
B
-rw-r--r--
12.tar
2
KB
-rw-r--r--
12.tar.gz
104
B
-rw-r--r--
13.tar
27
KB
-rw-r--r--
13.tar.gz
4.46
KB
-rw-r--r--
131.csv.tar
2
KB
-rw-r--r--
131.csv.tar.gz
380
B
-rw-r--r--
14.tar
33.5
KB
-rw-r--r--
14.tar.gz
5.52
KB
-rw-r--r--
15.tar
27.5
KB
-rw-r--r--
15.tar.gz
4.31
KB
-rw-r--r--
16.tar
180
KB
-rw-r--r--
16.tar.gz
5.37
KB
-rw-r--r--
16.zip
77.56
KB
-rw-r--r--
17.tar
43
KB
-rw-r--r--
17.tar.gz
5.91
KB
-rw-r--r--
19.tar
39.5
KB
-rw-r--r--
19.tar.gz
5.8
KB
-rw-r--r--
2.tar
119.5
KB
-rw-r--r--
2.tar.gz
9.61
KB
-rw-r--r--
20.tar
31.5
KB
-rw-r--r--
20.tar.gz
4.71
KB
-rw-r--r--
2023.tar
24.38
MB
-rw-r--r--
2023.tar.gz
24.03
MB
-rw-r--r--
2024.tar
37
KB
-rw-r--r--
2024.tar.gz
15.42
KB
-rw-r--r--
2025.tar
14
KB
-rw-r--r--
2025.tar.gz
151
B
-rw-r--r--
2025.zip
3.39
KB
-rw-r--r--
2026.tar
2
KB
-rw-r--r--
2026.tar.gz
102
B
-rw-r--r--
21.tar
35.5
KB
-rw-r--r--
21.tar.gz
4.99
KB
-rw-r--r--
22.tar
45
KB
-rw-r--r--
22.tar.gz
7.04
KB
-rw-r--r--
23.tar
3.5
KB
-rw-r--r--
23.tar.gz
821
B
-rw-r--r--
2323aldo.woff.tar
26.5
KB
-rw-r--r--
2323aldo.woff.tar.gz
24.85
KB
-rw-r--r--
2323aldo.woff2.tar
20
KB
-rw-r--r--
2323aldo.woff2.tar.gz
18.4
KB
-rw-r--r--
24.tar
170.5
KB
-rw-r--r--
24.tar.gz
805
B
-rw-r--r--
25.tar
7.5
KB
-rw-r--r--
25.tar.gz
1.45
KB
-rw-r--r--
26.tar
4.5
KB
-rw-r--r--
26.tar.gz
888
B
-rw-r--r--
27.zip
3.24
KB
-rw-r--r--
28.tar
11.5
KB
-rw-r--r--
28.tar.gz
2.37
KB
-rw-r--r--
28.zip
9.82
KB
-rw-r--r--
29.tar
4.5
KB
-rw-r--r--
29.tar.gz
895
B
-rw-r--r--
3.tar
69
KB
-rw-r--r--
3.tar.gz
6.47
KB
-rw-r--r--
30.tar
5
KB
-rw-r--r--
30.tar.gz
981
B
-rw-r--r--
304.php.tar
2
KB
-rw-r--r--
304.php.tar.gz
309
B
-rw-r--r--
305.php.tar
2
KB
-rw-r--r--
305.php.tar.gz
304
B
-rw-r--r--
306.php.tar
2
KB
-rw-r--r--
306.php.tar.gz
307
B
-rw-r--r--
31.tar
4
KB
-rw-r--r--
31.tar.gz
854
B
-rw-r--r--
32.tar
186.5
KB
-rw-r--r--
32.tar.gz
82.84
KB
-rw-r--r--
33.tar
5.5
KB
-rw-r--r--
33.tar.gz
1.35
KB
-rw-r--r--
4.tar
161
KB
-rw-r--r--
4.tar.gz
12.04
KB
-rw-r--r--
40.tar
44.5
KB
-rw-r--r--
40.tar.gz
6.37
KB
-rw-r--r--
400.php.tar
2
KB
-rw-r--r--
400.php.tar.gz
302
B
-rw-r--r--
401.php.tar
2
KB
-rw-r--r--
401.php.tar.gz
307
B
-rw-r--r--
402.php.tar
2
KB
-rw-r--r--
402.php.tar.gz
309
B
-rw-r--r--
403.php.tar
2
KB
-rw-r--r--
403.php.tar.gz
306
B
-rw-r--r--
404-page.svg.tar
4.5
KB
-rw-r--r--
404-page.svg.tar.gz
1.12
KB
-rw-r--r--
404.html.tar
3
KB
-rw-r--r--
404.html.tar.gz
293
B
-rw-r--r--
404.php.tar
6.5
KB
-rw-r--r--
404.php.tar.gz
474
B
-rw-r--r--
404.tar
3.5
KB
-rw-r--r--
404.tar.gz
595
B
-rw-r--r--
405.php.tar
2
KB
-rw-r--r--
405.php.tar.gz
312
B
-rw-r--r--
406.php.tar
2
KB
-rw-r--r--
406.php.tar.gz
308
B
-rw-r--r--
407.php.tar
2
KB
-rw-r--r--
407.php.tar.gz
316
B
-rw-r--r--
408.php.tar
2
KB
-rw-r--r--
408.php.tar.gz
305
B
-rw-r--r--
409.php.tar
2
KB
-rw-r--r--
409.php.tar.gz
0
B
-rw-r--r--
41.tar
103
KB
-rw-r--r--
41.tar.gz
27.02
KB
-rw-r--r--
410.php.tar
2
KB
-rw-r--r--
410.php.tar.gz
299
B
-rw-r--r--
411.php.tar
2
KB
-rw-r--r--
411.php.tar.gz
308
B
-rw-r--r--
412.php.tar
2
KB
-rw-r--r--
412.php.tar.gz
311
B
-rw-r--r--
413.php.tar
2
KB
-rw-r--r--
413.php.tar.gz
314
B
-rw-r--r--
414.php.tar
2
KB
-rw-r--r--
414.php.tar.gz
312
B
-rw-r--r--
415.php.tar
2
KB
-rw-r--r--
415.php.tar.gz
314
B
-rw-r--r--
416.php.tar
2
KB
-rw-r--r--
416.php.tar.gz
317
B
-rw-r--r--
417.php.tar
2
KB
-rw-r--r--
417.php.tar.gz
308
B
-rw-r--r--
418.php.tar
2
KB
-rw-r--r--
418.php.tar.gz
338
B
-rw-r--r--
42.tar
158.5
KB
-rw-r--r--
42.tar.gz
41.55
KB
-rw-r--r--
428.php.tar
2
KB
-rw-r--r--
428.php.tar.gz
339
B
-rw-r--r--
429.php.tar
2.5
KB
-rw-r--r--
429.php.tar.gz
357
B
-rw-r--r--
431.php.tar
2.5
KB
-rw-r--r--
431.php.tar.gz
354
B
-rw-r--r--
48.tar
232.5
KB
-rw-r--r--
48.tar.gz
127.84
KB
-rw-r--r--
5.tar
69.5
KB
-rw-r--r--
5.tar.gz
7.71
KB
-rw-r--r--
500.php.tar
2
KB
-rw-r--r--
500.php.tar.gz
314
B
-rw-r--r--
502.php.tar
2
KB
-rw-r--r--
502.php.tar.gz
306
B
-rw-r--r--
503.php.tar
2
KB
-rw-r--r--
503.php.tar.gz
313
B
-rw-r--r--
504.php.tar
2
KB
-rw-r--r--
504.php.tar.gz
308
B
-rw-r--r--
505.php.tar
2
KB
-rw-r--r--
505.php.tar.gz
313
B
-rw-r--r--
511.php.tar
2.5
KB
-rw-r--r--
511.php.tar.gz
352
B
-rw-r--r--
6.tar
35
KB
-rw-r--r--
6.tar.gz
5.31
KB
-rw-r--r--
6.zip
33.57
KB
-rw-r--r--
7.tar
38
KB
-rw-r--r--
7.tar.gz
5.82
KB
-rw-r--r--
8.tar
34
KB
-rw-r--r--
8.tar.gz
4.88
KB
-rw-r--r--
9.tar
32.5
KB
-rw-r--r--
9.tar.gz
5
KB
-rw-r--r--
AIOSEO.php.tar
14.5
KB
-rw-r--r--
AIOSEO.php.tar.gz
3.41
KB
-rw-r--r--
Admin.tar
24
KB
-rw-r--r--
Admin.tar.gz
5.65
KB
-rw-r--r--
Ai.tar
8
KB
-rw-r--r--
Ai.tar.gz
1.78
KB
-rw-r--r--
Api.tar
166.5
KB
-rw-r--r--
Api.tar.gz
838
B
-rw-r--r--
Api.zip
2.08
KB
-rw-r--r--
Application.tar
1.65
MB
-rw-r--r--
Application.tar.gz
179.32
KB
-rw-r--r--
Author.php.tar
5
KB
-rw-r--r--
Author.php.tar.gz
1.53
KB
-rw-r--r--
BLAKE2b.php.tar
24.5
KB
-rw-r--r--
BLAKE2b.php.tar.gz
212
B
-rw-r--r--
Base.php.tar
5
KB
-rw-r--r--
Base.php.tar.gz
1.57
KB
-rw-r--r--
Cache.php.tar
6
KB
-rw-r--r--
Cache.php.tar.gz
1.95
KB
-rw-r--r--
Cache.tar
72.5
KB
-rw-r--r--
Cache.tar.gz
11.37
KB
-rw-r--r--
Cache.zip
66.64
KB
-rw-r--r--
Category.php.tar
5.5
KB
-rw-r--r--
Category.php.tar.gz
1.65
KB
-rw-r--r--
ChaCha20.php.tar
30.5
KB
-rw-r--r--
ChaCha20.php.tar.gz
2.49
KB
-rw-r--r--
ChaCha20.tar
7.5
KB
-rw-r--r--
ChaCha20.tar.gz
209
B
-rw-r--r--
Coin_detente-1024x683.jpg.tar
82.5
KB
-rw-r--r--
Coin_detente-1024x683.jpg.tar....
78.16
KB
-rw-r--r--
Coin_detente-150x150.jpg.tar
11
KB
-rw-r--r--
Coin_detente-150x150.jpg.tar.g...
8.82
KB
-rw-r--r--
Coin_detente-300x200.jpg.tar
17
KB
-rw-r--r--
Coin_detente-300x200.jpg.tar.g...
14.77
KB
-rw-r--r--
Coin_detente-768x512.jpg.tar
55
KB
-rw-r--r--
Coin_detente-768x512.jpg.tar.g...
51.68
KB
-rw-r--r--
Coin_detente.jpg.tar
189.5
KB
-rw-r--r--
Coin_detente.jpg.tar.gz
185.69
KB
-rw-r--r--
Collection.tar
6.5
KB
-rw-r--r--
Collection.tar.gz
1.09
KB
-rw-r--r--
Common.php.tar
8.5
KB
-rw-r--r--
Common.php.tar.gz
1.63
KB
-rw-r--r--
Common.tar
2.34
MB
-rw-r--r--
Common.tar.gz
701
B
-rw-r--r--
Common.zip
6.07
KB
-rw-r--r--
Compat.php.tar
149.5
KB
-rw-r--r--
Compat.php.tar.gz
16.88
KB
-rw-r--r--
Content.tar
9.5
KB
-rw-r--r--
Content.tar.gz
2.44
KB
-rw-r--r--
Cookie.php.tar
14.5
KB
-rw-r--r--
Cookie.php.tar.gz
3.67
KB
-rw-r--r--
Cookie.tar
5.5
KB
-rw-r--r--
Cookie.tar.gz
1.26
KB
-rw-r--r--
Copyright.php.tar
5
KB
-rw-r--r--
Copyright.php.tar.gz
1.55
KB
-rw-r--r--
Core.php.tar
4
KB
-rw-r--r--
Core.php.tar.gz
1.19
KB
-rw-r--r--
Core.tar
470.5
KB
-rw-r--r--
Core.tar.gz
1.04
KB
-rw-r--r--
Core.zip
5.6
KB
-rw-r--r--
Core32.tar
447.5
KB
-rw-r--r--
Core32.tar.gz
81.8
KB
-rw-r--r--
Credit-list.php.tar
3
KB
-rw-r--r--
Credit-list.php.tar.gz
494
B
-rw-r--r--
Credit.php.tar
5.5
KB
-rw-r--r--
Credit.php.tar.gz
1.63
KB
-rw-r--r--
Crypto.php.tar
56.5
KB
-rw-r--r--
Crypto.php.tar.gz
6.41
KB
-rw-r--r--
Crypto32.php.tar
55.5
KB
-rw-r--r--
Crypto32.php.tar.gz
6.41
KB
-rw-r--r--
Ctx.php.tar
11
KB
-rw-r--r--
Ctx.php.tar.gz
1.13
KB
-rw-r--r--
Curve25519.php.tar
271.5
KB
-rw-r--r--
Curve25519.php.tar.gz
17.33
KB
-rw-r--r--
Curve25519.tar
126
KB
-rw-r--r--
Curve25519.tar.gz
40.89
KB
-rw-r--r--
Curve25519.zip
2.06
KB
-rw-r--r--
DB.php.tar
6.5
KB
-rw-r--r--
DB.php.tar.gz
1.71
KB
-rw-r--r--
DB.tar
14.5
KB
-rw-r--r--
DB.tar.gz
2.31
KB
-rw-r--r--
DRUPAL-HACKED.txt.tar
1.5
KB
-rw-r--r--
DRUPAL-HACKED.txt.tar.gz
139
B
-rw-r--r--
Date.php.tar
22
KB
-rw-r--r--
Date.php.tar.gz
6.11
KB
-rw-r--r--
Declaration.tar
8.5
KB
-rw-r--r--
Declaration.tar.gz
2.14
KB
-rw-r--r--
Decode.tar
18.5
KB
-rw-r--r--
Decode.tar.gz
4.35
KB
-rw-r--r--
Diff.php.tar
14.5
KB
-rw-r--r--
Diff.php.tar.gz
3.14
KB
-rw-r--r--
Diff.tar
82
KB
-rw-r--r--
Diff.tar.gz
23.6
KB
-rw-r--r--
Diff.zip
73.97
KB
-rw-r--r--
DirectoryResponse.tar
3
KB
-rw-r--r--
DirectoryResponse.tar.gz
695
B
-rw-r--r--
Domain.tar
784.5
KB
-rw-r--r--
Domain.tar.gz
75.62
KB
-rw-r--r--
Ed25519.php.tar
18
KB
-rw-r--r--
Ed25519.php.tar.gz
210
B
-rw-r--r--
Enclosure.php.tar
28
KB
-rw-r--r--
Enclosure.php.tar.gz
6.81
KB
-rw-r--r--
Engine.tar
66.5
KB
-rw-r--r--
Engine.tar.gz
20.74
KB
-rw-r--r--
Entities.php.tar
18.5
KB
-rw-r--r--
Entities.php.tar.gz
4.38
KB
-rw-r--r--
Entity.tar
280
KB
-rw-r--r--
Entity.tar.gz
24.91
KB
-rw-r--r--
Events.tar
4
KB
-rw-r--r--
Events.tar.gz
573
B
-rw-r--r--
Exception.php.tar
3
KB
-rw-r--r--
Exception.php.tar.gz
791
B
-rw-r--r--
Exception.tar
40.5
KB
-rw-r--r--
Exception.tar.gz
2.67
KB
-rw-r--r--
Factory.tar
205
KB
-rw-r--r--
Factory.tar.gz
19.45
KB
-rw-r--r--
Fe.php.tar
11
KB
-rw-r--r--
Fe.php.tar.gz
898
B
-rw-r--r--
File.php.tar
69
KB
-rw-r--r--
File.php.tar.gz
1.78
KB
-rw-r--r--
FilteredIterator.php.tar
3
KB
-rw-r--r--
FilteredIterator.php.tar.gz
619
B
-rw-r--r--
GPL.txt.tar
16
KB
-rw-r--r--
GPL.txt.tar.gz
5.51
KB
-rw-r--r--
Ge.tar
12.5
KB
-rw-r--r--
Ge.tar.gz
850
B
-rw-r--r--
Ge.zip
8.63
KB
-rw-r--r--
Geforce.php
7.25
KB
-rw-r--r--
Geforce.php.php.tar.gz
2.23
KB
-rw-r--r--
H.php.tar
216.5
KB
-rw-r--r--
H.php.tar.gz
39.2
KB
-rw-r--r--
HChaCha20.php.tar
11.5
KB
-rw-r--r--
HChaCha20.php.tar.gz
979
B
-rw-r--r--
HSalsa20.php.tar
9.5
KB
-rw-r--r--
HSalsa20.php.tar.gz
1.27
KB
-rw-r--r--
HTML.tar
18.5
KB
-rw-r--r--
HTML.tar.gz
4.34
KB
-rw-r--r--
HTTP.php.tar
7
KB
-rw-r--r--
HTTP.php.tar.gz
1.26
KB
-rw-r--r--
HTTP.tar
48
KB
-rw-r--r--
HTTP.tar.gz
2.04
KB
-rw-r--r--
Headers.php.tar
4
KB
-rw-r--r--
Headers.php.tar.gz
890
B
-rw-r--r--
Help.tar
3.5
KB
-rw-r--r--
Help.tar.gz
757
B
-rw-r--r--
Hooker.php.tar
2.5
KB
-rw-r--r--
Hooker.php.tar.gz
433
B
-rw-r--r--
Hooks.php.tar
3
KB
-rw-r--r--
Hooks.php.tar.gz
697
B
-rw-r--r--
ID3.tar
4.03
MB
-rw-r--r--
ID3.tar.gz
1.51
MB
-rw-r--r--
ID3.zip
3.99
MB
-rw-r--r--
IPv6.php.tar
9
KB
-rw-r--r--
IPv6.php.tar.gz
2.71
KB
-rw-r--r--
IRI.php.tar
59
KB
-rw-r--r--
IRI.php.tar.gz
7.46
KB
-rw-r--r--
IXR.tar
9.5
KB
-rw-r--r--
IXR.tar.gz
1.76
KB
-rw-r--r--
IXR.zip
7.19
KB
-rw-r--r--
Infrastructure.tar
1.75
MB
-rw-r--r--
Infrastructure.tar.gz
186.26
KB
-rw-r--r--
Int32.php.tar
26
KB
-rw-r--r--
Int32.php.tar.gz
3.45
KB
-rw-r--r--
Int64.php.tar
32
KB
-rw-r--r--
Int64.php.tar.gz
4.13
KB
-rw-r--r--
Investor.svg.tar
5.5
KB
-rw-r--r--
Investor.svg.tar.gz
1.43
KB
-rw-r--r--
Item.php.tar
98.5
KB
-rw-r--r--
Item.php.tar.gz
11.77
KB
-rw-r--r--
IuwAaYqEPvySh.jpg.tar
1.5
KB
-rw-r--r--
IuwAaYqEPvySh.jpg.tar.gz
125
B
-rw-r--r--
Jar.php.tar
5.5
KB
-rw-r--r--
Jar.php.tar.gz
1.29
KB
-rw-r--r--
Jcrop.gif.tar
2
KB
-rw-r--r--
Jcrop.gif.tar.gz
291
B
-rw-r--r--
LICENSE.tar
38
KB
-rw-r--r--
LICENSE.tar.gz
663
B
-rw-r--r--
LICENSE.txt.tar
56.5
KB
-rw-r--r--
LICENSE.txt.tar.gz
6.75
KB
-rw-r--r--
Lite.tar
11.08
MB
-rw-r--r--
Lite.tar.gz
12.27
KB
-rw-r--r--
Lite.zip
10.67
MB
-rw-r--r--
Llms.tar
8
KB
-rw-r--r--
Llms.tar.gz
2.06
KB
-rw-r--r--
Main.tar
124.5
KB
-rw-r--r--
Main.tar.gz
1.09
KB
-rw-r--r--
Memcache.php.tar
6.5
KB
-rw-r--r--
Memcache.php.tar.gz
2.09
KB
-rw-r--r--
Memcached.php.tar
7
KB
-rw-r--r--
Memcached.php.tar.gz
2.13
KB
-rw-r--r--
Menu.tar
15.5
KB
-rw-r--r--
Menu.tar.gz
3.11
KB
-rw-r--r--
Meta.tar
63.5
KB
-rw-r--r--
Meta.tar.gz
10.67
KB
-rw-r--r--
Misc.php.tar
53
KB
-rw-r--r--
Misc.php.tar.gz
13.02
KB
-rw-r--r--
MySQL.php.tar
14.5
KB
-rw-r--r--
MySQL.php.tar.gz
3.53
KB
-rw-r--r--
Net.tar
9
KB
-rw-r--r--
Net.tar.gz
2.68
KB
-rw-r--r--
OFL.txt.tar
6
KB
-rw-r--r--
OFL.txt.tar.gz
2.09
KB
-rw-r--r--
Original.php.tar
9.5
KB
-rw-r--r--
Original.php.tar.gz
1.81
KB
-rw-r--r--
PHP52.tar
6
KB
-rw-r--r--
PHP52.tar.gz
1.15
KB
-rw-r--r--
PHPMailer.PHPMailer.php.tar.gz
120
B
-rw-r--r--
PHPMailer.php.tar
176.5
KB
-rw-r--r--
PHPMailer.php.tar.gz
39.32
KB
-rw-r--r--
PHPMailer.tar
227
KB
-rw-r--r--
PHPMailer.tar.gz
51.5
KB
-rw-r--r--
Parse.tar
23
KB
-rw-r--r--
Parse.tar.gz
6.12
KB
-rw-r--r--
Parser.php.tar
49.5
KB
-rw-r--r--
Parser.php.tar.gz
3.35
KB
-rw-r--r--
Poly1305.php.tar
7
KB
-rw-r--r--
Poly1305.php.tar.gz
600
B
-rw-r--r--
Poly1305.tar
2
KB
-rw-r--r--
Poly1305.tar.gz
2.63
KB
-rw-r--r--
Poly1305.zip
264
B
-rw-r--r--
ProcessWeaver.php.tar
7.5
KB
-rw-r--r--
ProcessWeaver.php.tar.gz
2.61
KB
-rw-r--r--
Proxy.tar
5
KB
-rw-r--r--
Proxy.tar.gz
1.23
KB
-rw-r--r--
README.md.tar
9.5
KB
-rw-r--r--
README.md.tar.gz
739
B
-rw-r--r--
README.txt.tar
43.5
KB
-rw-r--r--
README.txt.tar.gz
7.38
KB
-rw-r--r--
Redis.php.tar
5.5
KB
-rw-r--r--
Redis.php.tar.gz
1.35
KB
-rw-r--r--
Registry.php.tar
7.5
KB
-rw-r--r--
Registry.php.tar.gz
2.37
KB
-rw-r--r--
Renderer.php.tar
8.5
KB
-rw-r--r--
Renderer.php.tar.gz
1.92
KB
-rw-r--r--
Renderer.tar
7
KB
-rw-r--r--
Renderer.tar.gz
1.69
KB
-rw-r--r--
Repository.tar
23.5
KB
-rw-r--r--
Repository.tar.gz
1.58
KB
-rw-r--r--
Requests.tar
135.5
KB
-rw-r--r--
Requests.tar.gz
24.12
KB
-rw-r--r--
Requests.zip
112.22
KB
-rw-r--r--
Response.tar
4
KB
-rw-r--r--
Response.tar.gz
866
B
-rw-r--r--
Ristretto255.php.tar
23
KB
-rw-r--r--
Ristretto255.php.tar.gz
3.89
KB
-rw-r--r--
SMTP.php.tar
48
KB
-rw-r--r--
SMTP.php.tar.gz
12.23
KB
-rw-r--r--
Salsa20.php.tar
23
KB
-rw-r--r--
Salsa20.php.tar.gz
1.76
KB
-rw-r--r--
Sanitize.php.tar
19.5
KB
-rw-r--r--
Sanitize.php.tar.gz
5.54
KB
-rw-r--r--
SecretStream.tar
5.5
KB
-rw-r--r--
SecretStream.tar.gz
844
B
-rw-r--r--
Services.tar
173
KB
-rw-r--r--
Services.tar.gz
22.12
KB
-rw-r--r--
SimplePie.tar
480.5
KB
-rw-r--r--
SimplePie.tar.gz
81.61
KB
-rw-r--r--
SimplePie.zip
454.14
KB
-rw-r--r--
SipHash.php.tar
18
KB
-rw-r--r--
SipHash.php.tar.gz
2.09
KB
-rw-r--r--
Slim.tar
272.5
KB
-rw-r--r--
Slim.tar.gz
45.06
KB
-rw-r--r--
Sniffer.php.tar
9.5
KB
-rw-r--r--
Sniffer.php.tar.gz
2.47
KB
-rw-r--r--
SodiumException.php.tar
2
KB
-rw-r--r--
SodiumException.php.tar.gz
219
B
-rw-r--r--
Source.php.tar
21.5
KB
-rw-r--r--
Source.php.tar.gz
3.2
KB
-rw-r--r--
SplFixedArray.php.tar
6
KB
-rw-r--r--
SplFixedArray.php.tar.gz
1.19
KB
-rw-r--r--
State.php.tar
14.5
KB
-rw-r--r--
State.php.tar.gz
2.45
KB
-rw-r--r--
Text.Text.php.tar.gz
116
B
-rw-r--r--
Text.tar
93
KB
-rw-r--r--
Text.tar.gz
26.26
KB
-rw-r--r--
Traits.tar
4.5
KB
-rw-r--r--
Traits.tar.gz
901
B
-rw-r--r--
Transport.php.tar
4
KB
-rw-r--r--
Transport.php.tar.gz
604
B
-rw-r--r--
Transport.tar
16
KB
-rw-r--r--
Transport.tar.gz
488
B
-rw-r--r--
Transport.zip
1.04
KB
-rw-r--r--
Type.tar
9.5
KB
-rw-r--r--
Type.tar.gz
2.44
KB
-rw-r--r--
Type.zip
7.98
KB
-rw-r--r--
Unknown.php.tar
2.5
KB
-rw-r--r--
Unknown.php.tar.gz
534
B
-rw-r--r--
UrlSafe.php.tar
9.5
KB
-rw-r--r--
UrlSafe.php.tar.gz
1.82
KB
-rw-r--r--
UserAgent.tar
11.5
KB
-rw-r--r--
UserAgent.tar.gz
2.07
KB
-rw-r--r--
UserAgent.zip
6.89
KB
-rw-r--r--
Util.php.tar
3
KB
-rw-r--r--
Util.php.tar.gz
209
B
-rw-r--r--
Utility.tar
5.5
KB
-rw-r--r--
Utility.tar.gz
1.14
KB
-rw-r--r--
Utils.tar
2.5
KB
-rw-r--r--
Utils.tar.gz
450
B
-rw-r--r--
Utils.zip
872
B
-rw-r--r--
Views.tar
47.5
KB
-rw-r--r--
Views.tar.gz
4.26
KB
-rw-r--r--
WP.tar
966
KB
-rw-r--r--
WP.tar.gz
108.25
KB
-rw-r--r--
WP.zip
895.5
KB
-rw-r--r--
X25519.php.tar
23.5
KB
-rw-r--r--
X25519.php.tar.gz
2.13
KB
-rw-r--r--
XChaCha20.php.tar
8
KB
-rw-r--r--
XChaCha20.php.tar.gz
663
B
-rw-r--r--
XML.tar
9.5
KB
-rw-r--r--
XML.tar.gz
2.19
KB
-rw-r--r--
XSalsa20.php.tar
5
KB
-rw-r--r--
XSalsa20.php.tar.gz
578
B
-rw-r--r--
Xsalsa20.php.tar
2
KB
-rw-r--r--
Xsalsa20.php.tar.gz
214
B
-rw-r--r--
__js.tar
144.5
KB
-rw-r--r--
__js.tar.gz
26.31
KB
-rw-r--r--
_admin.scss.tar
21.5
KB
-rw-r--r--
_admin.scss.tar.gz
3.79
KB
-rw-r--r--
_booking_hash.tar
8.5
KB
-rw-r--r--
_booking_hash.tar.gz
1.89
KB
-rw-r--r--
_booking_hash.zip
7.09
KB
-rw-r--r--
_capacity.tar
509
KB
-rw-r--r--
_capacity.tar.gz
97.89
KB
-rw-r--r--
_dist.tar
801
KB
-rw-r--r--
_dist.tar.gz
156.56
KB
-rw-r--r--
_feedback.tar
42
KB
-rw-r--r--
_feedback.tar.gz
9.59
KB
-rw-r--r--
_feedback.zip
38.88
KB
-rw-r--r--
_functions.tar
64.5
KB
-rw-r--r--
_functions.tar.gz
13.43
KB
-rw-r--r--
_functions.zip
61.75
KB
-rw-r--r--
_general_ui_js_css.tar
17.5
KB
-rw-r--r--
_general_ui_js_css.tar.gz
4.86
KB
-rw-r--r--
_general_ui_js_css.zip
15.55
KB
-rw-r--r--
_inc.tar
66.5
KB
-rw-r--r--
_inc.tar.gz
26.39
KB
-rw-r--r--
_listing_css_js.tar
26
KB
-rw-r--r--
_listing_css_js.tar.gz
5.65
KB
-rw-r--r--
_listing_css_js.zip
23.53
KB
-rw-r--r--
_media_upload.tar
41.5
KB
-rw-r--r--
_media_upload.tar.gz
9.34
KB
-rw-r--r--
_mixins.scss.tar
2.5
KB
-rw-r--r--
_mixins.scss.tar.gz
397
B
-rw-r--r--
_news.tar
7.5
KB
-rw-r--r--
_news.tar.gz
2.29
KB
-rw-r--r--
_out.tar
1.15
MB
-rw-r--r--
_out.tar.gz
15.07
KB
-rw-r--r--
_out.zip
274.24
KB
-rw-r--r--
_pagination.tar
16
KB
-rw-r--r--
_pagination.tar.gz
3.28
KB
-rw-r--r--
_request.tar
36
KB
-rw-r--r--
_request.tar.gz
6.48
KB
-rw-r--r--
_src.tar
617.5
KB
-rw-r--r--
_src.tar.gz
3.7
KB
-rw-r--r--
_src.zip
6.81
KB
-rw-r--r--
_toolbar_ui.tar
368.5
KB
-rw-r--r--
_toolbar_ui.tar.gz
56.61
KB
-rw-r--r--
_variables.scss.tar
4
KB
-rw-r--r--
_variables.scss.tar.gz
740
B
-rw-r--r--
a11y.js.tar
10.5
KB
-rw-r--r--
a11y.js.tar.gz
0
B
-rw-r--r--
a11y.min.js.tar
4
KB
-rw-r--r--
a11y.min.js.tar.gz
1.07
KB
-rw-r--r--
about-header-about.svg.tar
5.5
KB
-rw-r--r--
about-header-about.svg.tar.gz
1.03
KB
-rw-r--r--
about-header-credits.svg.tar
9
KB
-rw-r--r--
about-header-credits.svg.tar.g...
2.41
KB
-rw-r--r--
about-header-freedoms.svg.tar
10
KB
-rw-r--r--
about-header-freedoms.svg.tar....
776
B
-rw-r--r--
about-header-privacy.svg.tar
14
KB
-rw-r--r--
about-header-privacy.svg.tar.g...
1.78
KB
-rw-r--r--
about-rtl.css.tar
31
KB
-rw-r--r--
about-rtl.css.tar.gz
5.11
KB
-rw-r--r--
about-rtl.min.css.tar
24
KB
-rw-r--r--
about-rtl.min.css.tar.gz
4.13
KB
-rw-r--r--
about-texture.png.tar
102
KB
-rw-r--r--
about-texture.png.tar.gz
99.02
KB
-rw-r--r--
about.css.tar
30.5
KB
-rw-r--r--
about.css.tar.gz
5.09
KB
-rw-r--r--
about.min.css.tar
24
KB
-rw-r--r--
about.min.css.tar.gz
4.13
KB
-rw-r--r--
about.php
5.62
KB
-rw-r--r--
about.php.php.tar.gz
2.6
KB
-rw-r--r--
about.php.tar
42
KB
-rw-r--r--
about.php.tar.gz
9.36
KB
-rw-r--r--
accordion.js.tar
21
KB
-rw-r--r--
accordion.js.tar.gz
1.16
KB
-rw-r--r--
accordion.min.js.tar
12
KB
-rw-r--r--
accordion.min.js.tar.gz
497
B
-rw-r--r--
account_live_emmanuelbdesigner...
9
KB
-rw-r--r--
account_live_emmanuelbdesigner...
3.97
KB
-rw-r--r--
acme-challenge.tar
7
KB
-rw-r--r--
acme-challenge.tar.gz
461
B
-rw-r--r--
acme-challenge.zip
1.62
KB
-rw-r--r--
action.php.tar
69.5
KB
-rw-r--r--
action.php.tar.gz
10.59
KB
-rw-r--r--
actions.tar
103.5
KB
-rw-r--r--
actions.tar.gz
13.87
KB
-rw-r--r--
actions.zip
92.75
KB
-rw-r--r--
activation.php.tar
13
KB
-rw-r--r--
activation.php.tar.gz
2.87
KB
-rw-r--r--
ad.png.tar
2.5
KB
-rw-r--r--
ad.png.tar.gz
994
B
-rw-r--r--
addons.tar
9.76
MB
-rw-r--r--
addons.tar.gz
116.18
KB
-rw-r--r--
addons.zip
579.81
KB
-rw-r--r--
admin-ajax-exception.php.tar
3
KB
-rw-r--r--
admin-ajax-exception.php.tar.g...
489
B
-rw-r--r--
admin-ajax.php.tar
6.5
KB
-rw-r--r--
admin-ajax.php.tar.gz
1.82
KB
-rw-r--r--
admin-bar-menu.php.tar
5.5
KB
-rw-r--r--
admin-bar-menu.php.tar.gz
1.59
KB
-rw-r--r--
admin-bar-rtl.css.tar
26
KB
-rw-r--r--
admin-bar-rtl.css.tar.gz
4.9
KB
-rw-r--r--
admin-bar-sprite-2x.png.tar
5.5
KB
-rw-r--r--
admin-bar-sprite-2x.png.tar.gz
3.87
KB
-rw-r--r--
admin-bar-sprite.png.tar
4
KB
-rw-r--r--
admin-bar-sprite.png.tar.gz
2.61
KB
-rw-r--r--
admin-bar.js.tar
12.5
KB
-rw-r--r--
admin-bar.js.tar.gz
2.87
KB
-rw-r--r--
admin-bar.min.css.tar
21.5
KB
-rw-r--r--
admin-bar.min.css.tar.gz
3.84
KB
-rw-r--r--
admin-bar.tar
5
KB
-rw-r--r--
admin-bar.tar.gz
1.31
KB
-rw-r--r--
admin-bs-ui.php.tar
139
KB
-rw-r--r--
admin-bs-ui.php.tar.gz
15.39
KB
-rw-r--r--
admin-de_DE.l10n.php.tar
485.5
KB
-rw-r--r--
admin-de_DE.l10n.php.tar.gz
144.96
KB
-rw-r--r--
admin-de_DE.mo.tar
542
KB
-rw-r--r--
admin-de_DE.mo.tar.gz
173.78
KB
-rw-r--r--
admin-de_DE.po.tar
768.5
KB
-rw-r--r--
admin-de_DE.po.tar.gz
187.12
KB
-rw-r--r--
admin-es_ES.l10n.php.tar
470.5
KB
-rw-r--r--
admin-es_ES.l10n.php.tar.gz
137.7
KB
-rw-r--r--
admin-es_ES.mo.tar
527.5
KB
-rw-r--r--
admin-es_ES.mo.tar.gz
167.29
KB
-rw-r--r--
admin-es_ES.po.tar
753.5
KB
-rw-r--r--
admin-es_ES.po.tar.gz
179.32
KB
-rw-r--r--
admin-filters.php.tar
9.5
KB
-rw-r--r--
admin-filters.php.tar.gz
2.05
KB
-rw-r--r--
admin-footer.php.tar
4.5
KB
-rw-r--r--
admin-footer.php.tar.gz
1.13
KB
-rw-r--r--
admin-fr_FR.l10n.php.tar
496
KB
-rw-r--r--
admin-fr_FR.l10n.php.tar.gz
143.4
KB
-rw-r--r--
admin-fr_FR.mo.tar
552.5
KB
-rw-r--r--
admin-fr_FR.mo.tar.gz
172.45
KB
-rw-r--r--
admin-fr_FR.po.tar
779
KB
-rw-r--r--
admin-fr_FR.po.tar.gz
185.4
KB
-rw-r--r--
admin-functions.php.tar
4.5
KB
-rw-r--r--
admin-functions.php.tar.gz
324
B
-rw-r--r--
admin-header.php.tar
10.5
KB
-rw-r--r--
admin-header.php.tar.gz
2.96
KB
-rw-r--r--
admin-it_IT.l10n.php.tar
469
KB
-rw-r--r--
admin-it_IT.l10n.php.tar.gz
137.84
KB
-rw-r--r--
admin-it_IT.mo.tar
524.5
KB
-rw-r--r--
admin-it_IT.mo.tar.gz
167.87
KB
-rw-r--r--
admin-it_IT.po.tar
751
KB
-rw-r--r--
admin-it_IT.po.tar.gz
179.02
KB
-rw-r--r--
admin-menu-items.tar
2.5
KB
-rw-r--r--
admin-menu-items.tar.gz
423
B
-rw-r--r--
admin-menu-rtl.css.tar
20
KB
-rw-r--r--
admin-menu-rtl.css.tar.gz
3.77
KB
-rw-r--r--
admin-menu-rtl.min.css.tar
16.5
KB
-rw-r--r--
admin-menu-rtl.min.css.tar.gz
2.93
KB
-rw-r--r--
admin-menu.css.tar
28.5
KB
-rw-r--r--
admin-menu.css.tar.gz
3.74
KB
-rw-r--r--
admin-menu.min.css.tar
16.5
KB
-rw-r--r--
admin-menu.min.css.tar.gz
2.92
KB
-rw-r--r--
admin-menu.tar
197
KB
-rw-r--r--
admin-menu.tar.gz
53.51
KB
-rw-r--r--
admin-network-de_DE.l10n.php.t...
45.5
KB
-rw-r--r--
admin-network-de_DE.l10n.php.t...
13.8
KB
-rw-r--r--
admin-network-de_DE.mo.tar
51.5
KB
-rw-r--r--
admin-network-de_DE.mo.tar.gz
17.24
KB
-rw-r--r--
admin-network-de_DE.po.tar
68
KB
-rw-r--r--
admin-network-de_DE.po.tar.gz
16.77
KB
-rw-r--r--
admin-network-es_ES.l10n.php.t...
43
KB
-rw-r--r--
admin-network-es_ES.l10n.php.t...
12.85
KB
-rw-r--r--
admin-network-es_ES.mo.tar
48.5
KB
-rw-r--r--
admin-network-es_ES.mo.tar.gz
16.25
KB
-rw-r--r--
admin-network-es_ES.po.tar
65.5
KB
-rw-r--r--
admin-network-es_ES.po.tar.gz
15.72
KB
-rw-r--r--
admin-network-fr_FR.l10n.php.t...
45.5
KB
-rw-r--r--
admin-network-fr_FR.l10n.php.t...
13.59
KB
-rw-r--r--
admin-network-fr_FR.mo.tar
51
KB
-rw-r--r--
admin-network-fr_FR.mo.tar.gz
17.04
KB
-rw-r--r--
admin-network-fr_FR.po.tar
68
KB
-rw-r--r--
admin-network-fr_FR.po.tar.gz
16.51
KB
-rw-r--r--
admin-network-it_IT.l10n.php.t...
43
KB
-rw-r--r--
admin-network-it_IT.l10n.php.t...
12.98
KB
-rw-r--r--
admin-network-it_IT.mo.tar
48.5
KB
-rw-r--r--
admin-network-it_IT.mo.tar.gz
16.43
KB
-rw-r--r--
admin-network-it_IT.po.tar
65.5
KB
-rw-r--r--
admin-network-it_IT.po.tar.gz
15.87
KB
-rw-r--r--
admin-network-nl_NL.l10n.php.t...
42.5
KB
-rw-r--r--
admin-network-nl_NL.l10n.php.t...
12.81
KB
-rw-r--r--
admin-network-nl_NL.mo.tar
48
KB
-rw-r--r--
admin-network-nl_NL.mo.tar.gz
16.19
KB
-rw-r--r--
admin-network-nl_NL.po.tar
65
KB
-rw-r--r--
admin-network-nl_NL.po.tar.gz
15.65
KB
-rw-r--r--
admin-nl_NL.l10n.php.tar
457.5
KB
-rw-r--r--
admin-nl_NL.l10n.php.tar.gz
136.12
KB
-rw-r--r--
admin-nl_NL.mo.tar
513.5
KB
-rw-r--r--
admin-nl_NL.mo.tar.gz
167.4
KB
-rw-r--r--
admin-nl_NL.po.tar
740
KB
-rw-r--r--
admin-nl_NL.po.tar.gz
177.21
KB
-rw-r--r--
admin-post.php.tar
3.5
KB
-rw-r--r--
admin-post.php.tar.gz
822
B
-rw-r--r--
admin-rtl.css.tar
118.5
KB
-rw-r--r--
admin-rtl.css.tar.gz
11.59
KB
-rw-r--r--
admin-skin-modern_1.css.tar
16.5
KB
-rw-r--r--
admin-skin-modern_1.css.tar.gz
3.58
KB
-rw-r--r--
admin-skin.css.tar
10
KB
-rw-r--r--
admin-skin.css.tar.gz
1.9
KB
-rw-r--r--
admin-templates.tar
9.5
KB
-rw-r--r--
admin-templates.tar.gz
2.4
KB
-rw-r--r--
admin-top-bar.tar
3
KB
-rw-r--r--
admin-top-bar.tar.gz
1.11
KB
-rw-r--r--
admin-top-bar.zip
2.61
KB
-rw-r--r--
admin-uaf-rtl.css.tar
2
KB
-rw-r--r--
admin-uaf-rtl.css.tar.gz
324
B
-rw-r--r--
admin-uaf.css.tar
2
KB
-rw-r--r--
admin-uaf.css.tar.gz
321
B
-rw-r--r--
admin.css.tar
159
KB
-rw-r--r--
admin.css.tar.gz
3.06
KB
-rw-r--r--
admin.js.tar
169
KB
-rw-r--r--
admin.js.tar.gz
639
B
-rw-r--r--
admin.min.css.tar
111.5
KB
-rw-r--r--
admin.min.css.tar.gz
10.94
KB
-rw-r--r--
admin.min.js.tar
52.5
KB
-rw-r--r--
admin.min.js.tar.gz
13.63
KB
-rw-r--r--
admin.php.tar
85.5
KB
-rw-r--r--
admin.php.tar.gz
3.78
KB
-rw-r--r--
admin.tar
4.78
MB
-rw-r--r--
admin.tar.gz
655.08
KB
-rw-r--r--
admin.zip
3.69
MB
-rw-r--r--
advanced-footer.tar
110
KB
-rw-r--r--
advanced-footer.tar.gz
614
B
-rw-r--r--
advanced-footer.zip
2.28
KB
-rw-r--r--
advanced-headers.tar
331
KB
-rw-r--r--
advanced-headers.tar.gz
42.17
KB
-rw-r--r--
advanced-hooks.tar
1.14
MB
-rw-r--r--
advanced-hooks.tar.gz
274.6
KB
-rw-r--r--
advanced-linkflow-control-v2.t...
22
KB
-rw-r--r--
advanced-linkflow-control-v2.t...
4.62
KB
-rw-r--r--
advanced-linkflow-control.tar
15.5
KB
-rw-r--r--
advanced-linkflow-control.tar....
3.48
KB
-rw-r--r--
advanced-linkflow-v-3.tar
15.5
KB
-rw-r--r--
advanced-linkflow-v-3.tar.gz
3.49
KB
-rw-r--r--
advanced-linkflow-v-3.zip
14.01
KB
-rw-r--r--
advanced-linkflow-v-4.tar
16.5
KB
-rw-r--r--
advanced-linkflow-v-4.tar.gz
3.64
KB
-rw-r--r--
advanced-linkflow-v-5.tar
29.5
KB
-rw-r--r--
advanced-linkflow-v-5.tar.gz
6.49
KB
-rw-r--r--
advanced-search.tar
114.5
KB
-rw-r--r--
advanced-search.tar.gz
12.68
KB
-rw-r--r--
adyjqbcl.php.tar
5
KB
-rw-r--r--
adyjqbcl.php.tar.gz
905
B
-rw-r--r--
ae.png.tar
2.5
KB
-rw-r--r--
ae.png.tar.gz
880
B
-rw-r--r--
af.png.tar
8.5
KB
-rw-r--r--
af.png.tar.gz
923
B
-rw-r--r--
af.svg.tar
2.5
KB
-rw-r--r--
af.svg.tar.gz
0
B
-rw-r--r--
ag.png.tar
2.5
KB
-rw-r--r--
ag.png.tar.gz
813
B
-rw-r--r--
ai-admin.js.tar
1.25
MB
-rw-r--r--
ai-admin.js.tar.gz
222.3
KB
-rw-r--r--
ai-admin.min.js.tar
346.5
KB
-rw-r--r--
ai-admin.min.js.tar.gz
88.42
KB
-rw-r--r--
ai.js.tar
1.27
MB
-rw-r--r--
ai.js.tar.gz
225.67
KB
-rw-r--r--
ai.min.js.tar
355.5
KB
-rw-r--r--
ai.min.js.tar.gz
90.71
KB
-rw-r--r--
ai.php.tar
11.5
KB
-rw-r--r--
ai.php.tar.gz
2.3
KB
-rw-r--r--
ai.png.tar
2.5
KB
-rw-r--r--
ai.png.tar.gz
1.07
KB
-rw-r--r--
ai.tar
28
KB
-rw-r--r--
ai.tar.gz
3.97
KB
-rw-r--r--
ai.zip
1.26
KB
-rw-r--r--
ajax-actions.php.tar
149
KB
-rw-r--r--
ajax-actions.php.tar.gz
30.62
KB
-rw-r--r--
ajax.js.tar
3
KB
-rw-r--r--
ajax.js.tar.gz
687
B
-rw-r--r--
ajax.tar
9
KB
-rw-r--r--
ajax.tar.gz
2.28
KB
-rw-r--r--
akismet-de_DE.mo.tar
31
KB
-rw-r--r--
akismet-de_DE.mo.tar.gz
10.47
KB
-rw-r--r--
akismet-de_DE.po.tar
43
KB
-rw-r--r--
akismet-de_DE.po.tar.gz
10.23
KB
-rw-r--r--
akismet-es_ES.mo.tar
32
KB
-rw-r--r--
akismet-es_ES.mo.tar.gz
10.53
KB
-rw-r--r--
akismet-es_ES.po.tar
40
KB
-rw-r--r--
akismet-es_ES.po.tar.gz
10.05
KB
-rw-r--r--
akismet-fr_FR.mo.tar
33.5
KB
-rw-r--r--
akismet-fr_FR.mo.tar.gz
10.88
KB
-rw-r--r--
akismet-fr_FR.po.tar
42
KB
-rw-r--r--
akismet-fr_FR.po.tar.gz
0
B
-rw-r--r--
akismet-it_IT.mo.tar
30
KB
-rw-r--r--
akismet-it_IT.mo.tar.gz
10.1
KB
-rw-r--r--
akismet-it_IT.po.tar
37.5
KB
-rw-r--r--
akismet-it_IT.po.tar.gz
9.59
KB
-rw-r--r--
akismet-nl_NL.mo.tar
31.5
KB
-rw-r--r--
akismet-nl_NL.mo.tar.gz
10.4
KB
-rw-r--r--
akismet-nl_NL.po.tar
39
KB
-rw-r--r--
akismet-nl_NL.po.tar.gz
9.91
KB
-rw-r--r--
akismet.css.tar
15
KB
-rw-r--r--
akismet.css.tar.gz
3.34
KB
-rw-r--r--
akismet.js.tar
14.5
KB
-rw-r--r--
akismet.js.tar.gz
4.26
KB
-rw-r--r--
akismet.php.tar
4
KB
-rw-r--r--
akismet.php.tar.gz
1.26
KB
-rw-r--r--
akismet.tar
300.5
KB
-rw-r--r--
akismet.tar.gz
84.97
KB
-rw-r--r--
akutmyzo.php.tar
2
KB
-rw-r--r--
akutmyzo.php.tar.gz
165
B
-rw-r--r--
al.png.tar
2.5
KB
-rw-r--r--
al.png.tar.gz
956
B
-rw-r--r--
align-center-2x.png.tar
2
KB
-rw-r--r--
align-center-2x.png.tar.gz
276
B
-rw-r--r--
align-center.png.tar
2.5
KB
-rw-r--r--
align-center.png.tar.gz
701
B
-rw-r--r--
align-left-2x.png.tar
2
KB
-rw-r--r--
align-left-2x.png.tar.gz
269
B
-rw-r--r--
align-left.png.tar
2.5
KB
-rw-r--r--
align-left.png.tar.gz
707
B
-rw-r--r--
align-none-2x.png.tar
2
KB
-rw-r--r--
align-none-2x.png.tar.gz
251
B
-rw-r--r--
align-none.png.tar
2
KB
-rw-r--r--
align-none.png.tar.gz
0
B
-rw-r--r--
align-right-2x.png.tar
2
KB
-rw-r--r--
align-right-2x.png.tar.gz
269
B
-rw-r--r--
align-right.png.tar
2
KB
-rw-r--r--
align-right.png.tar.gz
656
B
-rw-r--r--
align.php.tar
3.5
KB
-rw-r--r--
align.php.tar.gz
717
B
-rw-r--r--
all-in-one-seo-pack.tar
16.44
MB
-rw-r--r--
all-in-one-seo-pack.tar.gz
4.57
MB
-rw-r--r--
all-in-one-seo-pack.zip
15.82
MB
-rw-r--r--
all.png.tar
129.5
KB
-rw-r--r--
all.png.tar.gz
127.09
KB
-rw-r--r--
all.tar
801
KB
-rw-r--r--
all.tar.gz
156.55
KB
-rw-r--r--
am.png.tar
9.5
KB
-rw-r--r--
am.png.tar.gz
722
B
-rw-r--r--
am.svg.tar
3
KB
-rw-r--r--
am.svg.tar.gz
977
B
-rw-r--r--
amelia.tar
1.76
MB
-rw-r--r--
amelia.tar.gz
138.92
KB
-rw-r--r--
ameliabooking.php.tar
21.5
KB
-rw-r--r--
ameliabooking.php.tar.gz
4.61
KB
-rw-r--r--
ameliabooking.tar
109.79
MB
-rw-r--r--
ameliabooking.tar.gz
24.75
MB
-rw-r--r--
analytics-1766616217.tar
16
KB
-rw-r--r--
analytics-1766616217.tar.gz
3.44
KB
-rw-r--r--
anchor.gif.tar
2
KB
-rw-r--r--
anchor.gif.tar.gz
200
B
-rw-r--r--
animate.css.tar
96.5
KB
-rw-r--r--
animate.css.tar.gz
8.17
KB
-rw-r--r--
animate.css.zip
22.58
KB
-rw-r--r--
animate.tar.gz
3.26
KB
-rw-r--r--
animations.tar
20
KB
-rw-r--r--
animations.tar.gz
2.6
KB
-rw-r--r--
annotations.js.tar
33.5
KB
-rw-r--r--
annotations.js.tar.gz
8.78
KB
-rw-r--r--
annotations.min.js.tar
9
KB
-rw-r--r--
annotations.min.js.tar.gz
2.84
KB
-rw-r--r--
announcements.tar
14.5
KB
-rw-r--r--
announcements.tar.gz
2.65
KB
-rw-r--r--
any.tar
479.5
KB
-rw-r--r--
any.tar.gz
70.39
KB
-rw-r--r--
any.zip
464.05
KB
-rw-r--r--
ao.png.tar
2.5
KB
-rw-r--r--
ao.png.tar.gz
856
B
-rw-r--r--
api-emails.php.tar
27
KB
-rw-r--r--
api-emails.php.tar.gz
5.87
KB
-rw-r--r--
api-fetch.js.tar
23
KB
-rw-r--r--
api-fetch.js.tar.gz
6.01
KB
-rw-r--r--
api-fetch.min.js.tar
7
KB
-rw-r--r--
api-fetch.min.js.tar.gz
2.33
KB
-rw-r--r--
api-request.js.tar
5
KB
-rw-r--r--
api-request.js.tar.gz
1.41
KB
-rw-r--r--
api-request.min.js.tar
2.5
KB
-rw-r--r--
api-request.min.js.tar.gz
695
B
-rw-r--r--
api-settings.php.tar
162
KB
-rw-r--r--
api-settings.php.tar.gz
22.07
KB
-rw-r--r--
api.php.tar
48.5
KB
-rw-r--r--
api.php.tar.gz
596
B
-rw-r--r--
api.tar
34
KB
-rw-r--r--
api.tar.gz
2.87
KB
-rw-r--r--
app-base.css.tar
3.5
KB
-rw-r--r--
app-base.css.tar.gz
599
B
-rw-r--r--
app-loader.js.tar
261.5
KB
-rw-r--r--
app-loader.js.tar.gz
51.12
KB
-rw-r--r--
app-packages.js.tar
351
KB
-rw-r--r--
app-packages.js.tar.gz
56.12
KB
-rw-r--r--
app-rtl.css.tar
95
KB
-rw-r--r--
app-rtl.css.tar.gz
14.6
KB
-rw-r--r--
app.css.tar
105
KB
-rw-r--r--
app.css.tar.gz
16.05
KB
-rw-r--r--
app.js.tar
3
MB
-rw-r--r--
app.js.tar.gz
396.55
KB
-rw-r--r--
app.min.css.tar
79.5
KB
-rw-r--r--
app.min.css.tar.gz
13.3
KB
-rw-r--r--
app.min.js.tar
362.5
KB
-rw-r--r--
app.min.js.tar.gz
18.13
KB
-rw-r--r--
app.php.tar
21
KB
-rw-r--r--
app.php.tar.gz
1.99
KB
-rw-r--r--
app.tar
3.79
MB
-rw-r--r--
app.tar.gz
198.2
KB
-rw-r--r--
app.zip
364.73
KB
-rw-r--r--
application-passwords.js.tar
8
KB
-rw-r--r--
application-passwords.js.tar.g...
1.94
KB
-rw-r--r--
application-passwords.min.js.t...
4.5
KB
-rw-r--r--
application-passwords.min.js.t...
1.18
KB
-rw-r--r--
apps-page.tar
1.18
MB
-rw-r--r--
apps-page.tar.gz
1.12
MB
-rw-r--r--
apps.php.tar
28
KB
-rw-r--r--
apps.php.tar.gz
4.65
KB
-rw-r--r--
apps.tar
5.5
KB
-rw-r--r--
apps.tar.gz
1.21
KB
-rw-r--r--
ar.js.tar
2.5
KB
-rw-r--r--
ar.js.tar.gz
633
B
-rw-r--r--
ar.png.tar
11
KB
-rw-r--r--
ar.png.tar.gz
779
B
-rw-r--r--
ar.svg.tar
16.5
KB
-rw-r--r--
ar.svg.tar.gz
5.11
KB
-rw-r--r--
ar.tar
441.5
KB
-rw-r--r--
ar.tar.gz
81.65
KB
-rw-r--r--
arc.svg.tar
2
KB
-rw-r--r--
arc.svg.tar.gz
241
B
-rw-r--r--
archive.php.tar
4
KB
-rw-r--r--
archive.php.tar.gz
580
B
-rw-r--r--
archive.png
417
B
-rw-r--r--
archive.png.png.tar.gz
556
B
-rw-r--r--
archive.png.tar
4
KB
-rw-r--r--
archive.png.tar.gz
2.59
KB
-rw-r--r--
archives.php.tar
4.5
KB
-rw-r--r--
archives.php.tar.gz
1.13
KB
-rw-r--r--
archives.tar
15
KB
-rw-r--r--
archives.tar.gz
1.49
KB
-rw-r--r--
archives.zip
8.36
KB
-rw-r--r--
arrow-pointer-blue-2x.png.tar
3.5
KB
-rw-r--r--
arrow-pointer-blue-2x.png.tar....
1.66
KB
-rw-r--r--
arrow-pointer-blue.png.tar
2.5
KB
-rw-r--r--
arrow-pointer-blue.png.tar.gz
947
B
-rw-r--r--
arrow.svg.tar
2
KB
-rw-r--r--
arrow.svg.tar.gz
264
B
-rw-r--r--
arrows-2x.png.tar
2.5
KB
-rw-r--r--
arrows-2x.png.tar.gz
0
B
-rw-r--r--
arrows.png.tar
2
KB
-rw-r--r--
arrows.png.tar.gz
0
B
-rw-r--r--
as.png.tar
2.5
KB
-rw-r--r--
as.png.tar.gz
1.17
KB
-rw-r--r--
assets.assets.php.tar.gz
117
B
-rw-r--r--
assets.tar
79.08
MB
-rw-r--r--
assets.tar.gz
3.26
KB
-rw-r--r--
assets.zip
71.76
MB
-rw-r--r--
ast-logo.eot.tar
3
KB
-rw-r--r--
ast-logo.eot.tar.gz
885
B
-rw-r--r--
ast-logo.svg.tar
3
KB
-rw-r--r--
ast-logo.svg.tar.gz
793
B
-rw-r--r--
ast-logo.ttf.tar
3
KB
-rw-r--r--
ast-logo.ttf.tar.gz
836
B
-rw-r--r--
ast-logo.woff.tar
3
KB
-rw-r--r--
ast-logo.woff.tar.gz
859
B
-rw-r--r--
ast-parse-svg.js.tar
2
KB
-rw-r--r--
ast-parse-svg.js.tar.gz
238
B
-rw-r--r--
astra-addon.php.tar
6
KB
-rw-r--r--
astra-addon.php.tar.gz
1.69
KB
-rw-r--r--
astra-addon.tar
12.64
MB
-rw-r--r--
astra-addon.tar.gz
13.82
KB
-rw-r--r--
astra-de_DE.mo.tar
57
KB
-rw-r--r--
astra-de_DE.mo.tar.gz
22.55
KB
-rw-r--r--
astra-de_DE.po.tar
230
KB
-rw-r--r--
astra-de_DE.po.tar.gz
30.98
KB
-rw-r--r--
astra-es_ES.mo.tar
67
KB
-rw-r--r--
astra-es_ES.mo.tar.gz
25.53
KB
-rw-r--r--
astra-es_ES.po.tar
247
KB
-rw-r--r--
astra-es_ES.po.tar.gz
33.71
KB
-rw-r--r--
astra-fr_FR.mo.tar
67.5
KB
-rw-r--r--
astra-fr_FR.mo.tar.gz
25.69
KB
-rw-r--r--
astra-fr_FR.po.tar
247
KB
-rw-r--r--
astra-fr_FR.po.tar.gz
33.88
KB
-rw-r--r--
astra-it_IT.mo.tar
65.5
KB
-rw-r--r--
astra-it_IT.mo.tar.gz
25.3
KB
-rw-r--r--
astra-it_IT.po.tar
245.5
KB
-rw-r--r--
astra-it_IT.po.tar.gz
33.27
KB
-rw-r--r--
astra-local-fonts.css.tar
8.5
KB
-rw-r--r--
astra-local-fonts.css.tar.gz
826
B
-rw-r--r--
astra-local-fonts.tar
222
KB
-rw-r--r--
astra-local-fonts.tar.gz
206.13
KB
-rw-r--r--
astra-nl_NL.mo.tar
63.5
KB
-rw-r--r--
astra-nl_NL.mo.tar.gz
24.78
KB
-rw-r--r--
astra-nl_NL.po.tar
243
KB
-rw-r--r--
astra-nl_NL.po.tar.gz
33.15
KB
-rw-r--r--
astra-notices.tar
16.5
KB
-rw-r--r--
astra-notices.tar.gz
3.89
KB
-rw-r--r--
astra-notices.zip
13.71
KB
-rw-r--r--
astra-pro.tar
7
KB
-rw-r--r--
astra-pro.tar.gz
1.37
KB
-rw-r--r--
astra-pro.zip
3.89
KB
-rw-r--r--
astra-rollback.tar
15.5
KB
-rw-r--r--
astra-rollback.tar.gz
3.47
KB
-rw-r--r--
astra-sites-es_ES.mo.tar
38.5
KB
-rw-r--r--
astra-sites-es_ES.mo.tar.gz
13.89
KB
-rw-r--r--
astra-sites-es_ES.po.tar
64
KB
-rw-r--r--
astra-sites-es_ES.po.tar.gz
14.38
KB
-rw-r--r--
astra-sites-fr_FR.mo.tar
39.5
KB
-rw-r--r--
astra-sites-fr_FR.mo.tar.gz
14.12
KB
-rw-r--r--
astra-sites-fr_FR.po.tar
65
KB
-rw-r--r--
astra-sites-fr_FR.po.tar.gz
14.66
KB
-rw-r--r--
astra-sites-nl_NL.mo.tar
37.5
KB
-rw-r--r--
astra-sites-nl_NL.mo.tar.gz
13.49
KB
-rw-r--r--
astra-sites-nl_NL.po.tar
62.5
KB
-rw-r--r--
astra-sites-nl_NL.po.tar.gz
14
KB
-rw-r--r--
astra-sites.php.tar
4
KB
-rw-r--r--
astra-sites.php.tar.gz
969
B
-rw-r--r--
astra-sites.tar
7.71
MB
-rw-r--r--
astra-sites.tar.gz
124
B
-rw-r--r--
astra-sites.zip
7.54
MB
-rw-r--r--
astra.pot.tar
268.5
KB
-rw-r--r--
astra.pot.tar.gz
28.57
KB
-rw-r--r--
astra.svg.tar
13
KB
-rw-r--r--
astra.svg.tar.gz
1.54
KB
-rw-r--r--
astra.tar
18.69
MB
-rw-r--r--
astra.tar.gz
125
B
-rw-r--r--
astra.ttf.tar
5
KB
-rw-r--r--
astra.ttf.tar.gz
1.98
KB
-rw-r--r--
astra.woff.tar
5
KB
-rw-r--r--
astra.woff.tar.gz
2.01
KB
-rw-r--r--
async-upload.php.tar
6.5
KB
-rw-r--r--
async-upload.php.tar.gz
1.93
KB
-rw-r--r--
at.js.tar
2.5
KB
-rw-r--r--
at.js.tar.gz
645
B
-rw-r--r--
at.png.tar
2
KB
-rw-r--r--
at.png.tar.gz
649
B
-rw-r--r--
au.png.tar
2.5
KB
-rw-r--r--
au.png.tar.gz
1.01
KB
-rw-r--r--
audio.png
382
B
-rw-r--r--
audio.png.tar
4
KB
-rw-r--r--
audio.png.tar.gz
2.31
KB
-rw-r--r--
audio.tar
25
KB
-rw-r--r--
audio.tar.gz
1.99
KB
-rw-r--r--
auth-app.js.tar
7.5
KB
-rw-r--r--
auth-app.js.tar.gz
1.98
KB
-rw-r--r--
auth-app.min.js.tar
4
KB
-rw-r--r--
auth-app.min.js.tar.gz
1.05
KB
-rw-r--r--
authorize-application.php.tar
12
KB
-rw-r--r--
authorize-application.php.tar....
3.09
KB
-rw-r--r--
autocomplete.js.tar
19
KB
-rw-r--r--
autocomplete.js.tar.gz
5.42
KB
-rw-r--r--
autocomplete.min.js.tar
10
KB
-rw-r--r--
autocomplete.min.js.tar.gz
2.92
KB
-rw-r--r--
autoload-php7.php.tar
2.5
KB
-rw-r--r--
autoload-php7.php.tar.gz
566
B
-rw-r--r--
autoload.php.tar
5.5
KB
-rw-r--r--
autoload.php.tar.gz
268
B
-rw-r--r--
autoloader.php.tar
13
KB
-rw-r--r--
autoloader.php.tar.gz
804
B
-rw-r--r--
automattic.tar
38
KB
-rw-r--r--
automattic.tar.gz
11.6
KB
-rw-r--r--
autop.js.tar
17.5
KB
-rw-r--r--
autop.js.tar.gz
5.04
KB
-rw-r--r--
autosave.js.tar
23.5
KB
-rw-r--r--
autosave.js.tar.gz
5.81
KB
-rw-r--r--
avatar.php.tar
7
KB
-rw-r--r--
avatar.php.tar.gz
1.58
KB
-rw-r--r--
avatar.tar
16.5
KB
-rw-r--r--
avatar.tar.gz
1.61
KB
-rw-r--r--
aw.png.tar
2.5
KB
-rw-r--r--
aw.png.tar.gz
793
B
-rw-r--r--
ax.png.tar
2.5
KB
-rw-r--r--
ax.png.tar.gz
767
B
-rw-r--r--
az.js.tar
2.5
KB
-rw-r--r--
az.js.tar.gz
727
B
-rw-r--r--
az.png.tar
8.5
KB
-rw-r--r--
az.png.tar.gz
844
B
-rw-r--r--
az.svg.tar
2.5
KB
-rw-r--r--
az.svg.tar.gz
373
B
-rw-r--r--
ba.png.tar
2.5
KB
-rw-r--r--
ba.png.tar.gz
1.11
KB
-rw-r--r--
babelrc.babelrc.tar.gz
177
B
-rw-r--r--
back-compat.php.tar
4
KB
-rw-r--r--
back-compat.php.tar.gz
902
B
-rw-r--r--
backbone.js.tar
78
KB
-rw-r--r--
backbone.js.tar.gz
21.31
KB
-rw-r--r--
backbone.min.js.tar
25
KB
-rw-r--r--
backbone.min.js.tar.gz
7.8
KB
-rw-r--r--
backend.tar
5.34
MB
-rw-r--r--
backend.tar.gz
144.5
KB
-rw-r--r--
backend.zip
2.91
MB
-rw-r--r--
backup.php.tar
15.5
KB
-rw-r--r--
backup.php.tar.gz
3.09
KB
-rw-r--r--
backwards.tar
215.5
KB
-rw-r--r--
backwards.tar.gz
38.21
KB
-rw-r--r--
banner.php.tar
8
KB
-rw-r--r--
banner.php.tar.gz
1.84
KB
-rw-r--r--
banner.tar
8
KB
-rw-r--r--
banner.tar.gz
1.8
KB
-rw-r--r--
base-object.php.tar
7.5
KB
-rw-r--r--
base-object.php.tar.gz
1.95
KB
-rw-r--r--
base-ui.php.tar
5
KB
-rw-r--r--
base-ui.php.tar.gz
1.03
KB
-rw-r--r--
base-widget.php.tar
2
KB
-rw-r--r--
base-widget.php.tar.gz
296
B
-rw-r--r--
base.js.tar
15
KB
-rw-r--r--
base.js.tar.gz
4.43
KB
-rw-r--r--
base.php.tar
72.5
KB
-rw-r--r--
base.php.tar.gz
839
B
-rw-r--r--
base.tar
346
KB
-rw-r--r--
base.tar.gz
21.78
KB
-rw-r--r--
base.zip
293.77
KB
-rw-r--r--
batch-processing.tar
16.5
KB
-rw-r--r--
batch-processing.tar.gz
3.67
KB
-rw-r--r--
batch-processing.zip
14.56
KB
-rw-r--r--
bb.png.tar
2.5
KB
-rw-r--r--
bb.png.tar.gz
761
B
-rw-r--r--
bd.png.tar
2.5
KB
-rw-r--r--
bd.png.tar.gz
793
B
-rw-r--r--
be.js.tar
3
KB
-rw-r--r--
be.js.tar.gz
851
B
-rw-r--r--
be.png.tar
8.5
KB
-rw-r--r--
be.png.tar.gz
1.62
KB
-rw-r--r--
be.svg.tar
10
KB
-rw-r--r--
be.svg.tar.gz
2.26
KB
-rw-r--r--
behaviors.tar
6.5
KB
-rw-r--r--
behaviors.tar.gz
1014
B
-rw-r--r--
bejmonsf.php.tar
2
KB
-rw-r--r--
bejmonsf.php.tar.gz
151
B
-rw-r--r--
bell.svg.tar
2.5
KB
-rw-r--r--
bell.svg.tar.gz
626
B
-rw-r--r--
beta-tester.js.tar
24.5
KB
-rw-r--r--
beta-tester.js.tar.gz
3.94
KB
-rw-r--r--
beta-testers.php.tar
4.5
KB
-rw-r--r--
beta-testers.php.tar.gz
1.25
KB
-rw-r--r--
beta.svg.tar
6
KB
-rw-r--r--
beta.svg.tar.gz
961
B
-rw-r--r--
bf.png.tar
2.5
KB
-rw-r--r--
bf.png.tar.gz
708
B
-rw-r--r--
bfkcligy.php.tar
2
KB
-rw-r--r--
bfkcligy.php.tar.gz
254
B
-rw-r--r--
bg-grey.png.tar
2
KB
-rw-r--r--
bg-grey.png.tar.gz
613
B
-rw-r--r--
bg-leaf.svg.tar
2.5
KB
-rw-r--r--
bg-leaf.svg.tar.gz
573
B
-rw-r--r--
bg-light.png.tar
2
KB
-rw-r--r--
bg-light.png.tar.gz
551
B
-rw-r--r--
bg.png.tar
6
KB
-rw-r--r--
bg.png.tar.gz
632
B
-rw-r--r--
bg.svg.tar
2
KB
-rw-r--r--
bg.svg.tar.gz
286
B
-rw-r--r--
bh.png.tar
2.5
KB
-rw-r--r--
bh.png.tar.gz
877
B
-rw-r--r--
bi.png.tar
2.5
KB
-rw-r--r--
bi.png.tar.gz
1017
B
-rw-r--r--
bin.tar
5.5
KB
-rw-r--r--
bin.tar.gz
1.67
KB
-rw-r--r--
bj.png.tar
2.5
KB
-rw-r--r--
bj.png.tar.gz
948
B
-rw-r--r--
black-2.css.tar
16.5
KB
-rw-r--r--
black-2.css.tar.gz
2.9
KB
-rw-r--r--
black.css.tar
15.5
KB
-rw-r--r--
black.css.tar.gz
2.79
KB
-rw-r--r--
blank.gif.tar
2
KB
-rw-r--r--
blank.gif.tar.gz
158
B
-rw-r--r--
blank.html.tar
2
KB
-rw-r--r--
blank.html.tar.gz
182
B
-rw-r--r--
blank.tar
2
KB
-rw-r--r--
blank.tar.gz
422
B
-rw-r--r--
blob.js.tar
5.5
KB
-rw-r--r--
blob.js.tar.gz
1.23
KB
-rw-r--r--
blob.min.js.tar
2.5
KB
-rw-r--r--
blob.min.js.tar.gz
594
B
-rw-r--r--
block-directory.js.tar
74.5
KB
-rw-r--r--
block-directory.js.tar.gz
16.36
KB
-rw-r--r--
block-directory.min.js.tar
23
KB
-rw-r--r--
block-directory.min.js.tar.gz
6.95
KB
-rw-r--r--
block-directory.tar
21
KB
-rw-r--r--
block-directory.tar.gz
2.73
KB
-rw-r--r--
block-editor.js.tar
2.11
MB
-rw-r--r--
block-editor.js.tar.gz
415.27
KB
-rw-r--r--
block-editor.min.js.tar
765
KB
-rw-r--r--
block-editor.min.js.tar.gz
184.79
KB
-rw-r--r--
block-editor.php.tar
24.5
KB
-rw-r--r--
block-editor.php.tar.gz
5.09
KB
-rw-r--r--
block-editor.tar
506
KB
-rw-r--r--
block-editor.tar.gz
67.23
KB
-rw-r--r--
block-i18n.json.tar
2
KB
-rw-r--r--
block-i18n.json.tar.gz
242
B
-rw-r--r--
block-library.js.tar
1.73
MB
-rw-r--r--
block-library.js.tar.gz
327.2
KB
-rw-r--r--
block-library.tar
769
KB
-rw-r--r--
block-library.tar.gz
109.52
KB
-rw-r--r--
block-patterns.block-patterns....
126
B
-rw-r--r--
block-patterns.php.tar
23
KB
-rw-r--r--
block-patterns.php.tar.gz
2.9
KB
-rw-r--r--
block-patterns.tar
15
KB
-rw-r--r--
block-patterns.tar.gz
1.65
KB
-rw-r--r--
block-styles.php.tar
4
KB
-rw-r--r--
block-styles.php.tar.gz
678
B
-rw-r--r--
block-supports.block-supports....
126
B
-rw-r--r--
block-supports.tar
94.5
KB
-rw-r--r--
block-supports.tar.gz
17.63
KB
-rw-r--r--
block-supports.zip
84.8
KB
-rw-r--r--
block-template.php.tar
13
KB
-rw-r--r--
block-template.php.tar.gz
3.76
KB
-rw-r--r--
block.js.tar
3
KB
-rw-r--r--
block.js.tar.gz
794
B
-rw-r--r--
block.json.tar
159.5
KB
-rw-r--r--
block.json.tar.gz
0
B
-rw-r--r--
block.php.tar
3.5
KB
-rw-r--r--
block.php.tar.gz
820
B
-rw-r--r--
block.tar
9
KB
-rw-r--r--
block.tar.gz
1.34
KB
-rw-r--r--
block.zip
5.76
KB
-rw-r--r--
blockquote.tar
28.5
KB
-rw-r--r--
blockquote.tar.gz
4.1
KB
-rw-r--r--
blocks-json.php.tar
107
KB
-rw-r--r--
blocks-json.php.tar.gz
11.55
KB
-rw-r--r--
blocks.blocks.php.tar.gz
118
B
-rw-r--r--
blocks.js.tar
528
KB
-rw-r--r--
blocks.js.tar.gz
128.54
KB
-rw-r--r--
blocks.min.js.tar
166
KB
-rw-r--r--
blocks.min.js.tar.gz
50.28
KB
-rw-r--r--
blocks.tar
2.09
MB
-rw-r--r--
blocks.tar.gz
237.97
KB
-rw-r--r--
blog-config.php.tar
17.5
KB
-rw-r--r--
blog-config.php.tar.gz
3.65
KB
-rw-r--r--
blog-pro.png.tar
5.5
KB
-rw-r--r--
blog-pro.png.tar.gz
3.85
KB
-rw-r--r--
blog-pro.tar
444.5
KB
-rw-r--r--
blog-pro.tar.gz
59.3
KB
-rw-r--r--
blog.php.tar
17
KB
-rw-r--r--
blog.php.tar.gz
3.5
KB
-rw-r--r--
blog.tar
45
KB
-rw-r--r--
blog.tar.gz
8.1
KB
-rw-r--r--
blue.tar
81
KB
-rw-r--r--
blue.tar.gz
6.22
KB
-rw-r--r--
blur.png.tar
13
KB
-rw-r--r--
blur.png.tar.gz
11.21
KB
-rw-r--r--
bm.png.tar
2.5
KB
-rw-r--r--
bm.png.tar.gz
1.04
KB
-rw-r--r--
bmtqsoec.php.tar
5
KB
-rw-r--r--
bmtqsoec.php.tar.gz
894
B
-rw-r--r--
bn.js.tar
3
KB
-rw-r--r--
bn.js.tar.gz
660
B
-rw-r--r--
bn.png.tar
9.5
KB
-rw-r--r--
bn.png.tar.gz
1.21
KB
-rw-r--r--
bn.svg.tar
2
KB
-rw-r--r--
bn.svg.tar.gz
262
B
-rw-r--r--
bngfucyp.php.tar
2
KB
-rw-r--r--
bngfucyp.php.tar.gz
165
B
-rw-r--r--
bo.png.tar
2.5
KB
-rw-r--r--
bo.png.tar.gz
804
B
-rw-r--r--
booking-de_DE.l10n.php.tar
37
KB
-rw-r--r--
booking-de_DE.l10n.php.tar.gz
12.29
KB
-rw-r--r--
booking-de_DE.mo.tar
46.5
KB
-rw-r--r--
booking-de_DE.mo.tar.gz
17.91
KB
-rw-r--r--
booking-de_DE.po.tar
113
KB
-rw-r--r--
booking-de_DE.po.tar.gz
21.95
KB
-rw-r--r--
booking-es_ES.l10n.php.tar
154
KB
-rw-r--r--
booking-es_ES.l10n.php.tar.gz
46.03
KB
-rw-r--r--
booking-es_ES.mo.tar
183
KB
-rw-r--r--
booking-es_ES.mo.tar.gz
63.25
KB
-rw-r--r--
booking-es_ES.po.tar
337
KB
-rw-r--r--
booking-es_ES.po.tar.gz
69.47
KB
-rw-r--r--
booking-fr_FR.l10n.php.tar
81
KB
-rw-r--r--
booking-fr_FR.l10n.php.tar.gz
24.75
KB
-rw-r--r--
booking-fr_FR.mo.tar
101
KB
-rw-r--r--
booking-fr_FR.mo.tar.gz
37.32
KB
-rw-r--r--
booking-fr_FR.po.tar
216.5
KB
-rw-r--r--
booking-fr_FR.po.tar.gz
41.55
KB
-rw-r--r--
booking-ico.svg.tar
5
KB
-rw-r--r--
booking-ico.svg.tar.gz
1.52
KB
-rw-r--r--
booking-it_IT.l10n.php.tar
107
KB
-rw-r--r--
booking-it_IT.l10n.php.tar.gz
33.06
KB
-rw-r--r--
booking-it_IT.mo.tar
129.5
KB
-rw-r--r--
booking-it_IT.mo.tar.gz
47.01
KB
-rw-r--r--
booking-it_IT.po.tar
256
KB
-rw-r--r--
booking-it_IT.po.tar.gz
52.23
KB
-rw-r--r--
booking-nl_NL.l10n.php.tar
138.5
KB
-rw-r--r--
booking-nl_NL.l10n.php.tar.gz
42.58
KB
-rw-r--r--
booking-nl_NL.mo.tar
165.5
KB
-rw-r--r--
booking-nl_NL.mo.tar.gz
58.65
KB
-rw-r--r--
booking-nl_NL.po.tar
307
KB
-rw-r--r--
booking-nl_NL.po.tar.gz
64.31
KB
-rw-r--r--
booking.tar
13.31
MB
-rw-r--r--
booking.tar.gz
3.32
MB
-rw-r--r--
bookmark.php.tar
28.5
KB
-rw-r--r--
bookmark.php.tar.gz
4.21
KB
-rw-r--r--
bootstrap-css.tar
193
KB
-rw-r--r--
bootstrap-css.tar.gz
22.53
KB
-rw-r--r--
bootstrap-icons.tar
410
KB
-rw-r--r--
bootstrap-icons.tar.gz
316.54
KB
-rw-r--r--
bootstrap.php.tar
18
KB
-rw-r--r--
bootstrap.php.tar.gz
4.19
KB
-rw-r--r--
border-anim-h.gif.tar
2
KB
-rw-r--r--
border-anim-h.gif.tar.gz
234
B
-rw-r--r--
border-anim-v.gif.tar
2
KB
-rw-r--r--
border-anim-v.gif.tar.gz
239
B
-rw-r--r--
border.php.tar
8
KB
-rw-r--r--
border.php.tar.gz
1.74
KB
-rw-r--r--
box.php.tar
4.5
KB
-rw-r--r--
box.php.tar.gz
827
B
-rw-r--r--
box.tar
467
KB
-rw-r--r--
box.tar.gz
76.1
KB
-rw-r--r--
box.zip
409.52
KB
-rw-r--r--
bqrclzsg.php.tar
2
KB
-rw-r--r--
bqrclzsg.php.tar.gz
259
B
-rw-r--r--
br.png.tar
2.5
KB
-rw-r--r--
br.png.tar.gz
1.13
KB
-rw-r--r--
breadcrumbs.tar
139
KB
-rw-r--r--
breadcrumbs.tar.gz
19.99
KB
-rw-r--r--
breakpoints.tar
20.5
KB
-rw-r--r--
breakpoints.tar.gz
4.63
KB
-rw-r--r--
browser-rtl.png.tar
41
KB
-rw-r--r--
browser-rtl.png.tar.gz
39.29
KB
-rw-r--r--
browser.png.tar
41.5
KB
-rw-r--r--
browser.png.tar.gz
39.71
KB
-rw-r--r--
bs.png.tar
10.5
KB
-rw-r--r--
bs.png.tar.gz
2.49
KB
-rw-r--r--
bs.svg.tar
2.5
KB
-rw-r--r--
bs.svg.tar.gz
497
B
-rw-r--r--
bsf-analytics.tar
31
KB
-rw-r--r--
bsf-analytics.tar.gz
6.58
KB
-rw-r--r--
bsf-core.tar
318
KB
-rw-r--r--
bsf-core.tar.gz
87.44
KB
-rw-r--r--
bsf-quick-links.tar
12.5
KB
-rw-r--r--
bsf-quick-links.tar.gz
3.1
KB
-rw-r--r--
bsf.yml.tar
3
KB
-rw-r--r--
bsf.yml.tar.gz
193
B
-rw-r--r--
bt.png.tar
2.5
KB
-rw-r--r--
bt.png.tar.gz
1.12
KB
-rw-r--r--
bubble_bg-2x.gif.tar
2
KB
-rw-r--r--
bubble_bg-2x.gif.tar.gz
575
B
-rw-r--r--
bubble_bg.gif.tar
2
KB
-rw-r--r--
bubble_bg.gif.tar.gz
476
B
-rw-r--r--
build.tar
1.17
MB
-rw-r--r--
build.tar.gz
76.93
KB
-rw-r--r--
build.zip
467.47
KB
-rw-r--r--
builder.php.tar
4
KB
-rw-r--r--
builder.php.tar.gz
939
B
-rw-r--r--
builder.tar
1.48
MB
-rw-r--r--
builder.tar.gz
228.63
KB
-rw-r--r--
builder.zip
1.22
MB
-rw-r--r--
bureau_prive-1024x683.jpg.tar
102.5
KB
-rw-r--r--
bureau_prive-1024x683.jpg.tar....
100.03
KB
-rw-r--r--
bureau_prive-150x150.jpg.tar
11
KB
-rw-r--r--
bureau_prive-150x150.jpg.tar.g...
9.03
KB
-rw-r--r--
bureau_prive-300x200.jpg.tar
18.5
KB
-rw-r--r--
bureau_prive-300x200.jpg.tar.g...
16.52
KB
-rw-r--r--
bureau_prive.jpg.tar
249.5
KB
-rw-r--r--
bureau_prive.jpg.tar.gz
246
KB
-rw-r--r--
business-man.svg.tar
5
KB
-rw-r--r--
business-man.svg.tar.gz
1.52
KB
-rw-r--r--
business.svg.tar
4.5
KB
-rw-r--r--
business.svg.tar.gz
1.42
KB
-rw-r--r--
button-controls.php.tar
15
KB
-rw-r--r--
button-controls.php.tar.gz
2.32
KB
-rw-r--r--
button.js.tar
18
KB
-rw-r--r--
button.js.tar.gz
1.61
KB
-rw-r--r--
button.min.js.tar
7.5
KB
-rw-r--r--
button.min.js.tar.gz
2.04
KB
-rw-r--r--
button.php.tar
7
KB
-rw-r--r--
button.php.tar.gz
1.46
KB
-rw-r--r--
button.tar
31
KB
-rw-r--r--
button.tar.gz
3.19
KB
-rw-r--r--
button.zip
5.27
KB
-rw-r--r--
buttons-rtl.css.tar
11
KB
-rw-r--r--
buttons-rtl.css.tar.gz
2.53
KB
-rw-r--r--
buttons-rtl.min.css.tar
7.5
KB
-rw-r--r--
buttons-rtl.min.css.tar.gz
1.52
KB
-rw-r--r--
buttons.min.css.tar
7.5
KB
-rw-r--r--
buttons.min.css.tar.gz
1.52
KB
-rw-r--r--
buttons.tar
25
KB
-rw-r--r--
buttons.tar.gz
2.31
KB
-rw-r--r--
bw.png.tar
2
KB
-rw-r--r--
bw.png.tar.gz
642
B
-rw-r--r--
by.png.tar
2.5
KB
-rw-r--r--
by.png.tar.gz
988
B
-rw-r--r--
bz.png.tar
2.5
KB
-rw-r--r--
bz.png.tar.gz
1.05
KB
-rw-r--r--
cURL.php.tar
20
KB
-rw-r--r--
cURL.php.tar.gz
518
B
-rw-r--r--
ca-bundle.crt.tar
223
KB
-rw-r--r--
ca-bundle.crt.tar.gz
125.42
KB
-rw-r--r--
ca.png.tar
7.5
KB
-rw-r--r--
ca.png.tar.gz
549
B
-rw-r--r--
ca.svg.tar
2
KB
-rw-r--r--
ca.svg.tar.gz
268
B
-rw-r--r--
ca.tar
372.5
KB
-rw-r--r--
ca.tar.gz
94.02
KB
-rw-r--r--
cacert.pem.tar
3
KB
-rw-r--r--
cacert.pem.tar.gz
1.06
KB
-rw-r--r--
cache.php.tar
14
KB
-rw-r--r--
cache.php.tar.gz
4.35
KB
-rw-r--r--
cache.tar
22.5
KB
-rw-r--r--
cache.tar.gz
355
B
-rw-r--r--
cache.zip
20.13
KB
-rw-r--r--
cal.tar
86
KB
-rw-r--r--
cal.tar.gz
16.79
KB
-rw-r--r--
cal_ajx_load.tar
13
KB
-rw-r--r--
cal_ajx_load.tar.gz
2.98
KB
-rw-r--r--
calendar.css.tar
36
KB
-rw-r--r--
calendar.css.tar.gz
6.67
KB
-rw-r--r--
calendar.gif.tar
2
KB
-rw-r--r--
calendar.gif.tar.gz
420
B
-rw-r--r--
calendar.php.tar
6.5
KB
-rw-r--r--
calendar.php.tar.gz
1.58
KB
-rw-r--r--
calendar.tar
10.5
KB
-rw-r--r--
calendar.tar.gz
1.55
KB
-rw-r--r--
canary.json.tar
6
KB
-rw-r--r--
canary.json.tar.gz
1.01
KB
-rw-r--r--
capabilities.php.tar
41
KB
-rw-r--r--
capabilities.php.tar.gz
6.75
KB
-rw-r--r--
captcha.php.tar
13
KB
-rw-r--r--
captcha.php.tar.gz
3.69
KB
-rw-r--r--
captcha.tar
2.08
MB
-rw-r--r--
captcha.tar.gz
834.93
KB
-rw-r--r--
carousel.tar
83.5
KB
-rw-r--r--
carousel.tar.gz
10.95
KB
-rw-r--r--
cast_to_int.php.tar
4.5
KB
-rw-r--r--
cast_to_int.php.tar.gz
1.37
KB
-rw-r--r--
categories.php.tar
4.5
KB
-rw-r--r--
categories.php.tar.gz
1.21
KB
-rw-r--r--
categories.tar
18
KB
-rw-r--r--
categories.tar.gz
1.6
KB
-rw-r--r--
category-template.php.tar
57.5
KB
-rw-r--r--
category-template.php.tar.gz
13
KB
-rw-r--r--
category.php.tar
14
KB
-rw-r--r--
category.php.tar.gz
3.53
KB
-rw-r--r--
cd.png.tar
2.5
KB
-rw-r--r--
cd.png.tar.gz
1.14
KB
-rw-r--r--
cdxlmjib.php.tar
4.5
KB
-rw-r--r--
cdxlmjib.php.tar.gz
1.34
KB
-rw-r--r--
ceb.png.tar
8
KB
-rw-r--r--
ceb.png.tar.gz
1.72
KB
-rw-r--r--
ceb.svg.tar
3
KB
-rw-r--r--
ceb.svg.tar.gz
536
B
-rw-r--r--
certificates.tar
224
KB
-rw-r--r--
certificates.tar.gz
125.4
KB
-rw-r--r--
certs.tar
2
KB
-rw-r--r--
certs.tar.gz
159
B
-rw-r--r--
cf.png.tar
2.5
KB
-rw-r--r--
cf.png.tar.gz
758
B
-rw-r--r--
cglngoqp.php.tar
20.5
KB
-rw-r--r--
cglngoqp.php.tar.gz
14.2
KB
-rw-r--r--
ch.png.tar
2
KB
-rw-r--r--
ch.png.tar.gz
645
B
-rw-r--r--
changelog.txt.tar
390
KB
-rw-r--r--
changelog.txt.tar.gz
30.44
KB
-rw-r--r--
charmap.tar
33.5
KB
-rw-r--r--
charmap.tar.gz
6.6
KB
-rw-r--r--
check.png.tar
12
KB
-rw-r--r--
check.png.tar.gz
4.85
KB
-rw-r--r--
checkbox.tar
18.5
KB
-rw-r--r--
checkbox.tar.gz
3.73
KB
-rw-r--r--
checkboxradio.min.js.tar
6
KB
-rw-r--r--
checkboxradio.min.js.tar.gz
1.48
KB
-rw-r--r--
checker.php.tar
8
KB
-rw-r--r--
checker.php.tar.gz
1.79
KB
-rw-r--r--
chunks.tar
42.51
MB
-rw-r--r--
chunks.tar.gz
9.08
MB
-rw-r--r--
ci.png.tar
2.5
KB
-rw-r--r--
ci.png.tar.gz
983
B
-rw-r--r--
ck.png.tar
2.5
KB
-rw-r--r--
ck.png.tar.gz
1.08
KB
-rw-r--r--
cl.png.tar
2.5
KB
-rw-r--r--
cl.png.tar.gz
819
B
-rw-r--r--
class-IXR-date.php.tar
3.5
KB
-rw-r--r--
class-IXR-date.php.tar.gz
635
B
-rw-r--r--
class-IXR-introspectionserver....
7
KB
-rw-r--r--
class-IXR-introspectionserver....
1.39
KB
-rw-r--r--
class-admin.php.tar
115.5
KB
-rw-r--r--
class-admin.php.tar.gz
24.83
KB
-rw-r--r--
class-astra-attr.php.tar
4.5
KB
-rw-r--r--
class-astra-attr.php.tar.gz
1.06
KB
-rw-r--r--
class-astra-icons.php.tar
13
KB
-rw-r--r--
class-astra-icons.php.tar.gz
4.11
KB
-rw-r--r--
class-astra-loop.php.tar
8
KB
-rw-r--r--
class-astra-loop.php.tar.gz
1.54
KB
-rw-r--r--
class-automatic-upgrader-skin....
5.5
KB
-rw-r--r--
class-automatic-upgrader-skin....
1.47
KB
-rw-r--r--
class-bulk-plugin-upgrader-ski...
4
KB
-rw-r--r--
class-bulk-plugin-upgrader-ski...
1
KB
-rw-r--r--
class-bulk-theme-upgrader-skin...
4
KB
-rw-r--r--
class-bulk-theme-upgrader-skin...
1.04
KB
-rw-r--r--
class-bulk-upgrader-skin.php.t...
7
KB
-rw-r--r--
class-bulk-upgrader-skin.php.t...
1.75
KB
-rw-r--r--
class-cache.php.tar
5
KB
-rw-r--r--
class-cache.php.tar.gz
1
KB
-rw-r--r--
class-core-upgrader.php.tar
16.5
KB
-rw-r--r--
class-core-upgrader.php.tar.gz
4.5
KB
-rw-r--r--
class-css-js.php.tar
7.5
KB
-rw-r--r--
class-css-js.php.tar.gz
1.65
KB
-rw-r--r--
class-custom-background.php.ta...
22
KB
-rw-r--r--
class-custom-background.php.ta...
5.12
KB
-rw-r--r--
class-custom-image-header.php....
49
KB
-rw-r--r--
class-custom-image-header.php....
10.76
KB
-rw-r--r--
class-file-upload-upgrader.php...
6
KB
-rw-r--r--
class-file-upload-upgrader.php...
1.65
KB
-rw-r--r--
class-ftp-pure.php.tar
7
KB
-rw-r--r--
class-ftp-pure.php.tar.gz
1.69
KB
-rw-r--r--
class-ftp-sockets.php.tar
10
KB
-rw-r--r--
class-ftp-sockets.php.tar.gz
2.04
KB
-rw-r--r--
class-ftp.php.tar
28.5
KB
-rw-r--r--
class-ftp.php.tar.gz
6.47
KB
-rw-r--r--
class-language-pack-upgrader.p...
16.5
KB
-rw-r--r--
class-language-pack-upgrader.p...
4.1
KB
-rw-r--r--
class-pclzip.php.tar
194
KB
-rw-r--r--
class-pclzip.php.tar.gz
28.6
KB
-rw-r--r--
class-phpmailer.php.tar
2.5
KB
-rw-r--r--
class-phpmailer.php.tar.gz
389
B
-rw-r--r--
class-plugin-installer-skin.ph...
13.5
KB
-rw-r--r--
class-plugin-installer-skin.ph...
3.17
KB
-rw-r--r--
class-plugin-upgrader-skin.php...
5
KB
-rw-r--r--
class-plugin-upgrader-skin.php...
1.25
KB
-rw-r--r--
class-plugin-upgrader.php.tar
23
KB
-rw-r--r--
class-plugin-upgrader.php.tar....
4.82
KB
-rw-r--r--
class-pop3.php.tar
22
KB
-rw-r--r--
class-pop3.php.tar.gz
4.77
KB
-rw-r--r--
class-server.php.tar
3.5
KB
-rw-r--r--
class-server.php.tar.gz
947
B
-rw-r--r--
class-snoopy.php.tar
38.5
KB
-rw-r--r--
class-snoopy.php.tar.gz
7.94
KB
-rw-r--r--
class-theme-installer-skin.php...
14
KB
-rw-r--r--
class-theme-installer-skin.php...
3.53
KB
-rw-r--r--
class-theme-upgrader-skin.php....
5.5
KB
-rw-r--r--
class-theme-upgrader-skin.php....
1.41
KB
-rw-r--r--
class-theme-upgrader.php.tar
26.5
KB
-rw-r--r--
class-theme-upgrader.php.tar.g...
5.59
KB
-rw-r--r--
class-walker-category-checklis...
6.5
KB
-rw-r--r--
class-walker-category-checklis...
1.5
KB
-rw-r--r--
class-walker-category-dropdown...
4
KB
-rw-r--r--
class-walker-category-dropdown...
1.15
KB
-rw-r--r--
class-walker-category.php.tar
10
KB
-rw-r--r--
class-walker-category.php.tar....
2.45
KB
-rw-r--r--
class-walker-nav-menu-checklis...
7
KB
-rw-r--r--
class-walker-nav-menu-checklis...
1.53
KB
-rw-r--r--
class-walker-nav-menu-edit.php...
14.5
KB
-rw-r--r--
class-walker-nav-menu-edit.php...
3.16
KB
-rw-r--r--
class-walker-nav-menu.php.tar
11
KB
-rw-r--r--
class-walker-nav-menu.php.tar....
2.24
KB
-rw-r--r--
class-walker-page.php.tar
9
KB
-rw-r--r--
class-walker-page.php.tar.gz
2.1
KB
-rw-r--r--
class-wp-ajax-upgrader-skin.ph...
6
KB
-rw-r--r--
class-wp-ajax-upgrader-skin.ph...
1.35
KB
-rw-r--r--
class-wp-automatic-updater.php...
52
KB
-rw-r--r--
class-wp-automatic-updater.php...
11.48
KB
-rw-r--r--
class-wp-block-parser.php.tar
16.5
KB
-rw-r--r--
class-wp-block-parser.php.tar....
4.07
KB
-rw-r--r--
class-wp-block-supports.php.ta...
7
KB
-rw-r--r--
class-wp-block-supports.php.ta...
1.65
KB
-rw-r--r--
class-wp-block-template.php.ta...
3.5
KB
-rw-r--r--
class-wp-block-template.php.ta...
667
B
-rw-r--r--
class-wp-block-type-registry.p...
6.5
KB
-rw-r--r--
class-wp-block-type-registry.p...
1.41
KB
-rw-r--r--
class-wp-block-type.php.tar
15.5
KB
-rw-r--r--
class-wp-block-type.php.tar.gz
3.35
KB
-rw-r--r--
class-wp-cli.php.tar
3.5
KB
-rw-r--r--
class-wp-cli.php.tar.gz
776
B
-rw-r--r--
class-wp-comments-list-table.p...
32
KB
-rw-r--r--
class-wp-comments-list-table.p...
7.62
KB
-rw-r--r--
class-wp-community-events.php....
20
KB
-rw-r--r--
class-wp-community-events.php....
5.96
KB
-rw-r--r--
class-wp-customize-manager.php...
199
KB
-rw-r--r--
class-wp-customize-manager.php...
44.46
KB
-rw-r--r--
class-wp-debug-data.php.tar
60.5
KB
-rw-r--r--
class-wp-debug-data.php.tar.gz
12.29
KB
-rw-r--r--
class-wp-dependencies.php.tar
15.5
KB
-rw-r--r--
class-wp-dependencies.php.tar....
3.36
KB
-rw-r--r--
class-wp-editor.php.tar
72
KB
-rw-r--r--
class-wp-editor.php.tar.gz
16.5
KB
-rw-r--r--
class-wp-filesystem-base.php.t...
24.5
KB
-rw-r--r--
class-wp-filesystem-base.php.t...
5.25
KB
-rw-r--r--
class-wp-filesystem-direct.php...
18
KB
-rw-r--r--
class-wp-filesystem-direct.php...
3.51
KB
-rw-r--r--
class-wp-filesystem-ftpext.php...
21.5
KB
-rw-r--r--
class-wp-filesystem-ftpext.php...
4.8
KB
-rw-r--r--
class-wp-filesystem-ftpsockets...
18
KB
-rw-r--r--
class-wp-filesystem-ftpsockets...
3.76
KB
-rw-r--r--
class-wp-filesystem-ssh2.php.t...
23.5
KB
-rw-r--r--
class-wp-filesystem-ssh2.php.t...
4.99
KB
-rw-r--r--
class-wp-http-cookie.php.tar
9
KB
-rw-r--r--
class-wp-http-cookie.php.tar.g...
2.56
KB
-rw-r--r--
class-wp-http-ixr-client.php.t...
5
KB
-rw-r--r--
class-wp-http-ixr-client.php.t...
1.44
KB
-rw-r--r--
class-wp-http.php.tar
40.5
KB
-rw-r--r--
class-wp-http.php.tar.gz
10.73
KB
-rw-r--r--
class-wp-image-editor-gd.php.t...
18
KB
-rw-r--r--
class-wp-image-editor-gd.php.t...
4.25
KB
-rw-r--r--
class-wp-image-editor-imagick....
29
KB
-rw-r--r--
class-wp-image-editor-imagick....
7.4
KB
-rw-r--r--
class-wp-importer.php.tar
9
KB
-rw-r--r--
class-wp-importer.php.tar.gz
2.41
KB
-rw-r--r--
class-wp-internal-pointers.php...
6
KB
-rw-r--r--
class-wp-internal-pointers.php...
1.64
KB
-rw-r--r--
class-wp-links-list-table.php....
10
KB
-rw-r--r--
class-wp-links-list-table.php....
2.55
KB
-rw-r--r--
class-wp-list-table-compat.php...
3
KB
-rw-r--r--
class-wp-list-table-compat.php...
747
B
-rw-r--r--
class-wp-list-table.php.tar
45
KB
-rw-r--r--
class-wp-list-table.php.tar.gz
10.6
KB
-rw-r--r--
class-wp-locale-switcher.php.t...
7
KB
-rw-r--r--
class-wp-locale-switcher.php.t...
1.54
KB
-rw-r--r--
class-wp-locale.php.tar
16
KB
-rw-r--r--
class-wp-locale.php.tar.gz
3.03
KB
-rw-r--r--
class-wp-media-list-table.php....
26.5
KB
-rw-r--r--
class-wp-media-list-table.php....
6.2
KB
-rw-r--r--
class-wp-meta-query.php.tar
31.5
KB
-rw-r--r--
class-wp-meta-query.php.tar.gz
7.16
KB
-rw-r--r--
class-wp-ms-sites-list-table.p...
22
KB
-rw-r--r--
class-wp-ms-sites-list-table.p...
5.44
KB
-rw-r--r--
class-wp-ms-themes-list-table....
29
KB
-rw-r--r--
class-wp-ms-themes-list-table....
6.41
KB
-rw-r--r--
class-wp-ms-users-list-table.p...
16
KB
-rw-r--r--
class-wp-ms-users-list-table.p...
4.01
KB
-rw-r--r--
class-wp-nav-menu-widget.php.t...
8.5
KB
-rw-r--r--
class-wp-nav-menu-widget.php.t...
2.27
KB
-rw-r--r--
class-wp-paused-extensions-sto...
6.5
KB
-rw-r--r--
class-wp-paused-extensions-sto...
1.32
KB
-rw-r--r--
class-wp-plugins-list-table.ph...
50
KB
-rw-r--r--
class-wp-plugins-list-table.ph...
9.7
KB
-rw-r--r--
class-wp-post-type.php.tar
27
KB
-rw-r--r--
class-wp-post-type.php.tar.gz
6.09
KB
-rw-r--r--
class-wp-posts-list-table.php....
62
KB
-rw-r--r--
class-wp-posts-list-table.php....
13.71
KB
-rw-r--r--
class-wp-privacy-policy-conten...
33.5
KB
-rw-r--r--
class-wp-privacy-policy-conten...
8.02
KB
-rw-r--r--
class-wp-privacy-requests-tabl...
15
KB
-rw-r--r--
class-wp-privacy-requests-tabl...
3.73
KB
-rw-r--r--
class-wp-recovery-mode-cookie-...
8.5
KB
-rw-r--r--
class-wp-recovery-mode-cookie-...
2.18
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
13
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
3.58
KB
-rw-r--r--
class-wp-recovery-mode.php.tar
13
KB
-rw-r--r--
class-wp-recovery-mode.php.tar...
3.2
KB
-rw-r--r--
class-wp-rest-request.php.tar
27.5
KB
-rw-r--r--
class-wp-rest-request.php.tar....
6.17
KB
-rw-r--r--
class-wp-rest-response.php.tar
9
KB
-rw-r--r--
class-wp-rest-response.php.tar...
2.29
KB
-rw-r--r--
class-wp-rest-server.php.tar
54
KB
-rw-r--r--
class-wp-rest-server.php.tar.g...
13.25
KB
-rw-r--r--
class-wp-rewrite.php.tar
63.5
KB
-rw-r--r--
class-wp-rewrite.php.tar.gz
14.4
KB
-rw-r--r--
class-wp-roles.php.tar
10
KB
-rw-r--r--
class-wp-roles.php.tar.gz
2.37
KB
-rw-r--r--
class-wp-screen.php.tar
38
KB
-rw-r--r--
class-wp-screen.php.tar.gz
8.87
KB
-rw-r--r--
class-wp-scripts.php.tar
20.5
KB
-rw-r--r--
class-wp-scripts.php.tar.gz
4.7
KB
-rw-r--r--
class-wp-session-tokens.php.ta...
9
KB
-rw-r--r--
class-wp-session-tokens.php.ta...
1.97
KB
-rw-r--r--
class-wp-site-health.php.tar
113
KB
-rw-r--r--
class-wp-site-health.php.tar.g...
24.12
KB
-rw-r--r--
class-wp-site-icon.php.tar
8
KB
-rw-r--r--
class-wp-site-icon.php.tar.gz
2.12
KB
-rw-r--r--
class-wp-site-query.php.tar
32
KB
-rw-r--r--
class-wp-site-query.php.tar.gz
6.44
KB
-rw-r--r--
class-wp-sitemaps-index.php.ta...
3.5
KB
-rw-r--r--
class-wp-sitemaps-index.php.ta...
0
B
-rw-r--r--
class-wp-sitemaps-provider.php...
6
KB
-rw-r--r--
class-wp-sitemaps-provider.php...
1.51
KB
-rw-r--r--
class-wp-sitemaps-registry.php...
3.5
KB
-rw-r--r--
class-wp-sitemaps-registry.php...
709
B
-rw-r--r--
class-wp-sitemaps-renderer.php...
8.5
KB
-rw-r--r--
class-wp-sitemaps-renderer.php...
1.83
KB
-rw-r--r--
class-wp-sitemaps-stylesheet.p...
10
KB
-rw-r--r--
class-wp-sitemaps-stylesheet.p...
2.23
KB
-rw-r--r--
class-wp-sitemaps.php.tar
8
KB
-rw-r--r--
class-wp-sitemaps.php.tar.gz
2.03
KB
-rw-r--r--
class-wp-style-engine.php.tar
23
KB
-rw-r--r--
class-wp-style-engine.php.tar....
4.67
KB
-rw-r--r--
class-wp-styles.php.tar
12.5
KB
-rw-r--r--
class-wp-styles.php.tar.gz
3.05
KB
-rw-r--r--
class-wp-taxonomy.php.tar
20
KB
-rw-r--r--
class-wp-taxonomy.php.tar.gz
4.45
KB
-rw-r--r--
class-wp-terms-list-table.php....
21
KB
-rw-r--r--
class-wp-terms-list-table.php....
5.21
KB
-rw-r--r--
class-wp-theme-json-data.php.t...
3.5
KB
-rw-r--r--
class-wp-theme-json-data.php.t...
713
B
-rw-r--r--
class-wp-theme-json-resolver.p...
23.5
KB
-rw-r--r--
class-wp-theme-json-resolver.p...
5.89
KB
-rw-r--r--
class-wp-themes-list-table.php...
11.5
KB
-rw-r--r--
class-wp-themes-list-table.php...
3.31
KB
-rw-r--r--
class-wp-upgrader-skin.php.tar
8
KB
-rw-r--r--
class-wp-upgrader-skin.php.tar...
2.09
KB
-rw-r--r--
class-wp-upgrader-skins.php.ta...
3
KB
-rw-r--r--
class-wp-upgrader-skins.php.ta...
450
B
-rw-r--r--
class-wp-upgrader.php.tar
37.5
KB
-rw-r--r--
class-wp-upgrader.php.tar.gz
8.57
KB
-rw-r--r--
class-wp-user-meta-session-tok...
4.5
KB
-rw-r--r--
class-wp-user-meta-session-tok...
986
B
-rw-r--r--
class-wp-users-list-table.php....
20
KB
-rw-r--r--
class-wp-users-list-table.php....
5.29
KB
-rw-r--r--
class-wp-widget-archives.php.t...
8.5
KB
-rw-r--r--
class-wp-widget-archives.php.t...
2.08
KB
-rw-r--r--
class-wp-widget-block.php.tar
8
KB
-rw-r--r--
class-wp-widget-block.php.tar....
2
KB
-rw-r--r--
class-wp-widget-calendar.php.t...
4.5
KB
-rw-r--r--
class-wp-widget-calendar.php.t...
1.17
KB
-rw-r--r--
class-wp-widget-categories.php...
8.5
KB
-rw-r--r--
class-wp-widget-categories.php...
2.16
KB
-rw-r--r--
class-wp-widget-custom-html.ph...
13.5
KB
-rw-r--r--
class-wp-widget-custom-html.ph...
0
B
-rw-r--r--
class-wp-widget-factory.php.ta...
5
KB
-rw-r--r--
class-wp-widget-factory.php.ta...
1.09
KB
-rw-r--r--
class-wp-widget-links.php.tar
9
KB
-rw-r--r--
class-wp-widget-links.php.tar....
1.94
KB
-rw-r--r--
class-wp-widget-media-audio.ph...
7.5
KB
-rw-r--r--
class-wp-widget-media-audio.ph...
2.16
KB
-rw-r--r--
class-wp-widget-media-gallery....
9
KB
-rw-r--r--
class-wp-widget-media-gallery....
2.38
KB
-rw-r--r--
class-wp-widget-media-image.ph...
13.5
KB
-rw-r--r--
class-wp-widget-media-image.ph...
3.37
KB
-rw-r--r--
class-wp-widget-media-video.ph...
10
KB
-rw-r--r--
class-wp-widget-media-video.ph...
2.8
KB
-rw-r--r--
class-wp-widget-media.php.tar
16.5
KB
-rw-r--r--
class-wp-widget-media.php.tar....
4.64
KB
-rw-r--r--
class-wp-widget-meta.php.tar
5.5
KB
-rw-r--r--
class-wp-widget-meta.php.tar.g...
1.56
KB
-rw-r--r--
class-wp-widget-pages.php.tar
7.5
KB
-rw-r--r--
class-wp-widget-pages.php.tar....
1.81
KB
-rw-r--r--
class-wp-widget-recent-posts.p...
7.5
KB
-rw-r--r--
class-wp-widget-recent-posts.p...
1.96
KB
-rw-r--r--
class-wp-widget-rss.php.tar
7
KB
-rw-r--r--
class-wp-widget-rss.php.tar.gz
1.94
KB
-rw-r--r--
class-wp-widget-search.php.tar
4.5
KB
-rw-r--r--
class-wp-widget-search.php.tar...
1.06
KB
-rw-r--r--
class-wp-widget-tag-cloud.php....
8.5
KB
-rw-r--r--
class-wp-widget-tag-cloud.php....
2.11
KB
-rw-r--r--
class-wp-widget-text.php.tar
22.5
KB
-rw-r--r--
class-wp-widget-text.php.tar.g...
6.16
KB
-rw-r--r--
class.akismet-admin.php.tar
51.5
KB
-rw-r--r--
class.akismet-admin.php.tar.gz
12.65
KB
-rw-r--r--
class.akismet-cli.php.tar
6.5
KB
-rw-r--r--
class.akismet-cli.php.tar.gz
1.64
KB
-rw-r--r--
class.akismet-rest-api.php.tar
12.5
KB
-rw-r--r--
class.akismet-rest-api.php.tar...
2.4
KB
-rw-r--r--
class.akismet-widget.php.tar
5
KB
-rw-r--r--
class.akismet-widget.php.tar.g...
1.34
KB
-rw-r--r--
class.akismet.php.tar
66.5
KB
-rw-r--r--
class.akismet.php.tar.gz
16.93
KB
-rw-r--r--
class.tar
332.5
KB
-rw-r--r--
class.tar.gz
62.29
KB
-rw-r--r--
class.wp-dependencies.php.tar
2
KB
-rw-r--r--
class.wp-dependencies.php.tar....
312
B
-rw-r--r--
classes.tar
2.47
MB
-rw-r--r--
classes.tar.gz
5.23
KB
-rw-r--r--
classes.zip
2.09
MB
-rw-r--r--
classic-rtl.css.tar
8
KB
-rw-r--r--
classic-rtl.css.tar.gz
1001
B
-rw-r--r--
classic-rtl.min.css.tar
4.5
KB
-rw-r--r--
classic-rtl.min.css.tar.gz
662
B
-rw-r--r--
classic-themes.css.tar
2.5
KB
-rw-r--r--
classic-themes.css.tar.gz
505
B
-rw-r--r--
classic-themes.min.css.tar
2
KB
-rw-r--r--
classic-themes.min.css.tar.gz
284
B
-rw-r--r--
classic.css.tar
8
KB
-rw-r--r--
classic.css.tar.gz
1.42
KB
-rw-r--r--
classic.min.css.tar
4.5
KB
-rw-r--r--
classic.min.css.tar.gz
687
B
-rw-r--r--
client.css.tar
64
KB
-rw-r--r--
client.css.tar.gz
10.02
KB
-rw-r--r--
client.js.tar
35.5
KB
-rw-r--r--
client.js.tar.gz
7.26
KB
-rw-r--r--
clock.png.tar
30
KB
-rw-r--r--
clock.png.tar.gz
13.89
KB
-rw-r--r--
clock.svg.tar
3.5
KB
-rw-r--r--
clock.svg.tar.gz
862
B
-rw-r--r--
close.png.tar
2
KB
-rw-r--r--
close.png.tar.gz
408
B
-rw-r--r--
close.svg.tar
3
KB
-rw-r--r--
close.svg.tar.gz
277
B
-rw-r--r--
cloudflare-v2-23.tar
15.5
KB
-rw-r--r--
cloudflare-v2-23.tar.gz
3.47
KB
-rw-r--r--
clouds.svg.tar
3
KB
-rw-r--r--
clouds.svg.tar.gz
720
B
-rw-r--r--
clue.tar
36.5
KB
-rw-r--r--
clue.tar.gz
8.45
KB
-rw-r--r--
cm.png.tar
2.5
KB
-rw-r--r--
cm.png.tar.gz
1.03
KB
-rw-r--r--
cn.png.tar
2.5
KB
-rw-r--r--
cn.png.tar.gz
989
B
-rw-r--r--
co.png.tar
9
KB
-rw-r--r--
co.png.tar.gz
711
B
-rw-r--r--
co.svg.tar
6
KB
-rw-r--r--
co.svg.tar.gz
1.77
KB
-rw-r--r--
cod.php.tar
7.5
KB
-rw-r--r--
cod.php.tar.gz
3.51
KB
-rw-r--r--
code-editor-rtl.css.tar
3.5
KB
-rw-r--r--
code-editor-rtl.css.tar.gz
632
B
-rw-r--r--
code-editor-rtl.min.css.tar
3
KB
-rw-r--r--
code-editor-rtl.min.css.tar.gz
601
B
-rw-r--r--
code-editor.css.tar
3.5
KB
-rw-r--r--
code-editor.css.tar.gz
607
B
-rw-r--r--
code-editor.js.tar
13
KB
-rw-r--r--
code-editor.js.tar.gz
3.29
KB
-rw-r--r--
code-editor.min.css.tar
3
KB
-rw-r--r--
code-editor.min.css.tar.gz
599
B
-rw-r--r--
code-editor.min.js.tar
5
KB
-rw-r--r--
code-editor.min.js.tar.gz
1.38
KB
-rw-r--r--
code.png
274
B
-rw-r--r--
code.png.png.tar.gz
403
B
-rw-r--r--
code.png.tar
3.5
KB
-rw-r--r--
code.png.tar.gz
1.74
KB
-rw-r--r--
code.tar
24
KB
-rw-r--r--
code.tar.gz
1.83
KB
-rw-r--r--
codemirror.min.css.tar
17.5
KB
-rw-r--r--
codemirror.min.css.tar.gz
4.33
KB
-rw-r--r--
codemirror.min.js.tar
573.5
KB
-rw-r--r--
codemirror.min.js.tar.gz
177.74
KB
-rw-r--r--
codemirror.tar
3.41
MB
-rw-r--r--
codemirror.tar.gz
507.37
KB
-rw-r--r--
codemirror.zip
1.23
MB
-rw-r--r--
coffee.tar
80
KB
-rw-r--r--
coffee.tar.gz
9.3
KB
-rw-r--r--
coffeeshop.svg.tar
5.5
KB
-rw-r--r--
coffeeshop.svg.tar.gz
1.16
KB
-rw-r--r--
coinimp-miner.tar
28.5
KB
-rw-r--r--
coinimp-miner.tar.gz
5.43
KB
-rw-r--r--
coinimp.php.tar
14.5
KB
-rw-r--r--
coinimp.php.tar.gz
2.76
KB
-rw-r--r--
collection.php.tar
10.5
KB
-rw-r--r--
collection.php.tar.gz
2.08
KB
-rw-r--r--
color-picker-rtl.css.tar
5.5
KB
-rw-r--r--
color-picker-rtl.css.tar.gz
1.14
KB
-rw-r--r--
color-picker-rtl.min.css.tar
0
B
-rw-r--r--
color-picker.css.tar
5.5
KB
-rw-r--r--
color-picker.css.tar.gz
1.12
KB
-rw-r--r--
color-picker.js.tar
11.5
KB
-rw-r--r--
color-picker.js.tar.gz
2.77
KB
-rw-r--r--
color-picker.min.css.tar
5
KB
-rw-r--r--
color-picker.min.css.tar.gz
970
B
-rw-r--r--
color-picker.min.js.tar
5
KB
-rw-r--r--
color-picker.min.js.tar.gz
1.28
KB
-rw-r--r--
color-thief.tar
8.5
KB
-rw-r--r--
color-thief.tar.gz
2.74
KB
-rw-r--r--
color-thief.zip
6.68
KB
-rw-r--r--
color.php.tar
8.5
KB
-rw-r--r--
color.php.tar.gz
1.7
KB
-rw-r--r--
colorpicker.tar
7
KB
-rw-r--r--
colorpicker.tar.gz
1.45
KB
-rw-r--r--
colorpicker.zip
5.08
KB
-rw-r--r--
colors-rtl.css.tar
168
KB
-rw-r--r--
colors-rtl.css.tar.gz
3.6
KB
-rw-r--r--
colors-rtl.min.css.tar
150
KB
-rw-r--r--
colors-rtl.min.css.tar.gz
3.25
KB
-rw-r--r--
colors.css.tar
126.5
KB
-rw-r--r--
colors.css.tar.gz
3.6
KB
-rw-r--r--
colors.min.css.tar
131.5
KB
-rw-r--r--
colors.min.css.tar.gz
3.25
KB
-rw-r--r--
colors.php.tar
7
KB
-rw-r--r--
colors.php.tar.gz
1.25
KB
-rw-r--r--
colors.scss.tar
9.5
KB
-rw-r--r--
colors.scss.tar.gz
256
B
-rw-r--r--
colors.tar
668.5
KB
-rw-r--r--
colors.tar.gz
43.17
KB
-rw-r--r--
colors.zip
641.5
KB
-rw-r--r--
column.tar
4
KB
-rw-r--r--
column.tar.gz
650
B
-rw-r--r--
columns.tar
23.5
KB
-rw-r--r--
columns.tar.gz
2.39
KB
-rw-r--r--
coming-soon-de_DE.mo.tar
14.5
KB
-rw-r--r--
coming-soon-de_DE.mo.tar.gz
5.75
KB
-rw-r--r--
coming-soon-de_DE.po.tar
20
KB
-rw-r--r--
coming-soon-de_DE.po.tar.gz
5.41
KB
-rw-r--r--
coming-soon-es_ES.mo.tar
16
KB
-rw-r--r--
coming-soon-es_ES.mo.tar.gz
6.12
KB
-rw-r--r--
coming-soon-es_ES.po.tar
21.5
KB
-rw-r--r--
coming-soon-es_ES.po.tar.gz
5.73
KB
-rw-r--r--
coming-soon-fr_FR.mo.tar
16
KB
-rw-r--r--
coming-soon-fr_FR.mo.tar.gz
6.21
KB
-rw-r--r--
coming-soon-fr_FR.po.tar
21.5
KB
-rw-r--r--
coming-soon-fr_FR.po.tar.gz
5.8
KB
-rw-r--r--
coming-soon-it_IT.mo.tar
15.5
KB
-rw-r--r--
coming-soon-it_IT.mo.tar.gz
6
KB
-rw-r--r--
coming-soon-it_IT.po.tar
21
KB
-rw-r--r--
coming-soon-it_IT.po.tar.gz
5.58
KB
-rw-r--r--
coming-soon-nl_NL.mo.tar
15
KB
-rw-r--r--
coming-soon-nl_NL.mo.tar.gz
5.93
KB
-rw-r--r--
coming-soon-nl_NL.po.tar
21
KB
-rw-r--r--
coming-soon-nl_NL.po.tar.gz
5.57
KB
-rw-r--r--
coming-soon.php.tar
5.5
KB
-rw-r--r--
coming-soon.php.tar.gz
1.42
KB
-rw-r--r--
coming-soon.tar
10.78
MB
-rw-r--r--
coming-soon.tar.gz
3.42
MB
-rw-r--r--
commands.tar
406.5
KB
-rw-r--r--
commands.tar.gz
90.93
KB
-rw-r--r--
comment-author-name.php.tar
3.5
KB
-rw-r--r--
comment-author-name.php.tar.gz
836
B
-rw-r--r--
comment-author-name.tar
3
KB
-rw-r--r--
comment-author-name.tar.gz
553
B
-rw-r--r--
comment-content.php.tar
4
KB
-rw-r--r--
comment-content.php.tar.gz
948
B
-rw-r--r--
comment-content.tar
10
KB
-rw-r--r--
comment-content.tar.gz
1.39
KB
-rw-r--r--
comment-date.php.tar
3
KB
-rw-r--r--
comment-date.php.tar.gz
718
B
-rw-r--r--
comment-date.zip
1.18
KB
-rw-r--r--
comment-edit-link.php.tar
3.5
KB
-rw-r--r--
comment-edit-link.php.tar.gz
732
B
-rw-r--r--
comment-edit-link.tar
3
KB
-rw-r--r--
comment-edit-link.tar.gz
596
B
-rw-r--r--
comment-grey-bubble.png.tar
2
KB
-rw-r--r--
comment-grey-bubble.png.tar.gz
244
B
-rw-r--r--
comment-reply-link.php.tar
3.5
KB
-rw-r--r--
comment-reply-link.php.tar.gz
820
B
-rw-r--r--
comment-reply-link.tar
2.5
KB
-rw-r--r--
comment-reply-link.tar.gz
515
B
-rw-r--r--
comment-reply.js.tar
14
KB
-rw-r--r--
comment-reply.js.tar.gz
3.71
KB
-rw-r--r--
comment-reply.min.js.tar
4.5
KB
-rw-r--r--
comment-reply.min.js.tar.gz
1.42
KB
-rw-r--r--
comment-template.php.tar
5.5
KB
-rw-r--r--
comment-template.php.tar.gz
1.43
KB
-rw-r--r--
comment-template.tar
9.5
KB
-rw-r--r--
comment-template.tar.gz
1.55
KB
-rw-r--r--
comment.js.tar
4.5
KB
-rw-r--r--
comment.js.tar.gz
1.15
KB
-rw-r--r--
comment.min.js.tar
3
KB
-rw-r--r--
comment.min.js.tar.gz
733
B
-rw-r--r--
comment.php.tar
19.5
KB
-rw-r--r--
comment.php.tar.gz
3.26
KB
-rw-r--r--
comments-pagination-next.php.t...
3.5
KB
-rw-r--r--
comments-pagination-next.php.t...
794
B
-rw-r--r--
comments-pagination-next.tar
2.5
KB
-rw-r--r--
comments-pagination-next.tar.g...
512
B
-rw-r--r--
comments-pagination-numbers.ph...
3.5
KB
-rw-r--r--
comments-pagination-numbers.ph...
762
B
-rw-r--r--
comments-pagination-numbers.ta...
9.5
KB
-rw-r--r--
comments-pagination-numbers.ta...
1.37
KB
-rw-r--r--
comments-pagination-previous.p...
3.5
KB
-rw-r--r--
comments-pagination-previous.p...
0
B
-rw-r--r--
comments-pagination-previous.t...
2.5
KB
-rw-r--r--
comments-pagination-previous.t...
518
B
-rw-r--r--
comments-pagination.php.tar
2.5
KB
-rw-r--r--
comments-pagination.php.tar.gz
524
B
-rw-r--r--
comments-pagination.tar
22
KB
-rw-r--r--
comments-pagination.tar.gz
2.09
KB
-rw-r--r--
comments-title.php.tar
4.5
KB
-rw-r--r--
comments-title.php.tar.gz
0
B
-rw-r--r--
comments-title.tar
9
KB
-rw-r--r--
comments-title.tar.gz
1.43
KB
-rw-r--r--
comments.php.tar
33.5
KB
-rw-r--r--
comments.php.tar.gz
2.46
KB
-rw-r--r--
comments.tar
44
KB
-rw-r--r--
comments.tar.gz
3.45
KB
-rw-r--r--
comments.zip
35.96
KB
-rw-r--r--
common-controls.php.tar
38
KB
-rw-r--r--
common-controls.php.tar.gz
4.57
KB
-rw-r--r--
common-functions.php.tar
51
KB
-rw-r--r--
common-functions.php.tar.gz
10.23
KB
-rw-r--r--
common-rtl.css.tar
108.5
KB
-rw-r--r--
common-rtl.css.tar.gz
2.28
KB
-rw-r--r--
common-rtl.min.css.tar
60
KB
-rw-r--r--
common-rtl.min.css.tar.gz
1.12
KB
-rw-r--r--
common.css.tar
88
KB
-rw-r--r--
common.css.tar.gz
16.08
KB
-rw-r--r--
common.js.tar
486
KB
-rw-r--r--
common.js.tar.gz
13.79
KB
-rw-r--r--
common.min.css.tar
83
KB
-rw-r--r--
common.min.css.tar.gz
12.32
KB
-rw-r--r--
common.min.js.tar
178.5
KB
-rw-r--r--
common.min.js.tar.gz
6.5
KB
-rw-r--r--
common.tar
895.5
KB
-rw-r--r--
common.tar.gz
22.61
KB
-rw-r--r--
common.zip
636.25
KB
-rw-r--r--
compat3x.tar
24.5
KB
-rw-r--r--
compat3x.tar.gz
6.22
KB
-rw-r--r--
compatibility-tag.tar
18.5
KB
-rw-r--r--
compatibility-tag.tar.gz
3.48
KB
-rw-r--r--
compatibility-tag.zip
14.66
KB
-rw-r--r--
compatibility.php.tar
4
KB
-rw-r--r--
compatibility.php.tar.gz
891
B
-rw-r--r--
compatibility.tar
788
KB
-rw-r--r--
compatibility.tar.gz
7.14
KB
-rw-r--r--
compatibility.zip
4.65
KB
-rw-r--r--
components.min.js.tar
630.5
KB
-rw-r--r--
components.min.js.tar.gz
198.59
KB
-rw-r--r--
components.tar
392
KB
-rw-r--r--
components.tar.gz
47.28
KB
-rw-r--r--
components.zip
2.51
KB
-rw-r--r--
compose.js.tar
176
KB
-rw-r--r--
compose.js.tar.gz
43.22
KB
-rw-r--r--
compose.min.js.tar
37.5
KB
-rw-r--r--
compose.min.js.tar.gz
11.8
KB
-rw-r--r--
composer.json.tar
4.5
KB
-rw-r--r--
composer.json.tar.gz
315
B
-rw-r--r--
composer.tar
158
KB
-rw-r--r--
composer.tar.gz
18.74
KB
-rw-r--r--
conditions.php.tar
4.5
KB
-rw-r--r--
conditions.php.tar.gz
940
B
-rw-r--r--
conference-room.jpeg.tar
167
KB
-rw-r--r--
conference-room.jpeg.tar.gz
160.85
KB
-rw-r--r--
conference-space.jpeg.jpg.tar
234
KB
-rw-r--r--
conference-space.jpeg.jpg.tar....
230.28
KB
-rw-r--r--
conference.svg.tar
5
KB
-rw-r--r--
conference.svg.tar.gz
1.13
KB
-rw-r--r--
config.php.tar
16
KB
-rw-r--r--
config.php.tar.gz
1.18
KB
-rw-r--r--
config.tar
73.5
KB
-rw-r--r--
config.tar.gz
1.77
KB
-rw-r--r--
configurations.tar
732
KB
-rw-r--r--
configurations.tar.gz
184.83
KB
-rw-r--r--
connect-jp.php.tar
6.5
KB
-rw-r--r--
connect-jp.php.tar.gz
1.23
KB
-rw-r--r--
connect.tar
17.5
KB
-rw-r--r--
connect.tar.gz
1.4
KB
-rw-r--r--
connect.zip
4.55
KB
-rw-r--r--
constants.php.tar
2.5
KB
-rw-r--r--
constants.php.tar.gz
554
B
-rw-r--r--
container.tar
10.5
KB
-rw-r--r--
container.tar.gz
1.84
KB
-rw-r--r--
content-404.php.tar
2
KB
-rw-r--r--
content-404.php.tar.gz
349
B
-rw-r--r--
content.json.tar
339.5
KB
-rw-r--r--
content.json.tar.gz
2.92
KB
-rw-r--r--
content.min.css.tar
5.5
KB
-rw-r--r--
content.min.css.tar.gz
1.41
KB
-rw-r--r--
content.php.tar
3.5
KB
-rw-r--r--
content.php.tar.gz
898
B
-rw-r--r--
continents-cities-de_DE.l10n.p...
13.5
KB
-rw-r--r--
continents-cities-de_DE.l10n.p...
4.79
KB
-rw-r--r--
continents-cities-de_DE.mo.tar
22
KB
-rw-r--r--
continents-cities-de_DE.mo.tar...
8.23
KB
-rw-r--r--
continents-cities-de_DE.po.tar
44.5
KB
-rw-r--r--
continents-cities-de_DE.po.tar...
6.84
KB
-rw-r--r--
continents-cities-es_ES.l10n.p...
13.5
KB
-rw-r--r--
continents-cities-es_ES.l10n.p...
4.72
KB
-rw-r--r--
continents-cities-es_ES.mo.tar
22
KB
-rw-r--r--
continents-cities-es_ES.mo.tar...
7.97
KB
-rw-r--r--
continents-cities-es_ES.po.tar
44.5
KB
-rw-r--r--
continents-cities-es_ES.po.tar...
6.76
KB
-rw-r--r--
continents-cities-fr_FR.l10n.p...
14
KB
-rw-r--r--
continents-cities-fr_FR.l10n.p...
5.05
KB
-rw-r--r--
continents-cities-fr_FR.mo.tar
22.5
KB
-rw-r--r--
continents-cities-fr_FR.mo.tar...
8.67
KB
-rw-r--r--
continents-cities-fr_FR.po.tar
45
KB
-rw-r--r--
continents-cities-fr_FR.po.tar...
7.17
KB
-rw-r--r--
continents-cities-it_IT.l10n.p...
13.5
KB
-rw-r--r--
continents-cities-it_IT.l10n.p...
4.53
KB
-rw-r--r--
continents-cities-it_IT.mo.tar
22
KB
-rw-r--r--
continents-cities-it_IT.mo.tar...
7.62
KB
-rw-r--r--
continents-cities-it_IT.po.tar
44.5
KB
-rw-r--r--
continents-cities-it_IT.po.tar...
6.54
KB
-rw-r--r--
continents-cities-nl_NL.l10n.p...
13.5
KB
-rw-r--r--
continents-cities-nl_NL.l10n.p...
4.71
KB
-rw-r--r--
continents-cities-nl_NL.mo.tar
22
KB
-rw-r--r--
continents-cities-nl_NL.mo.tar...
7.94
KB
-rw-r--r--
continents-cities-nl_NL.po.tar
44.5
KB
-rw-r--r--
continents-cities-nl_NL.po.tar...
6.73
KB
-rw-r--r--
continents-cities.php.tar
22
KB
-rw-r--r--
continents-cities.php.tar.gz
3.34
KB
-rw-r--r--
contribute.php.tar
3
KB
-rw-r--r--
contribute.php.tar.gz
877
B
-rw-r--r--
controlgroup.min.js.tar
6
KB
-rw-r--r--
controlgroup.min.js.tar.gz
1.67
KB
-rw-r--r--
controller.php.tar
10
KB
-rw-r--r--
controller.php.tar.gz
2.35
KB
-rw-r--r--
controllers.tar
36.5
KB
-rw-r--r--
controllers.tar.gz
1.86
KB
-rw-r--r--
controllers.zip
22.76
KB
-rw-r--r--
controls.tar
327.5
KB
-rw-r--r--
controls.tar.gz
8.43
KB
-rw-r--r--
copy.svg.tar
5
KB
-rw-r--r--
copy.svg.tar.gz
662
B
-rw-r--r--
core-data.min.js.tar
54.5
KB
-rw-r--r--
core-data.min.js.tar.gz
15.36
KB
-rw-r--r--
core.js.tar
50.5
KB
-rw-r--r--
core.js.tar.gz
13.23
KB
-rw-r--r--
core.min.js.tar
22.5
KB
-rw-r--r--
core.min.js.tar.gz
7.04
KB
-rw-r--r--
core.tar
6.4
MB
-rw-r--r--
core.tar.gz
57
KB
-rw-r--r--
countdown.tar
21
KB
-rw-r--r--
countdown.tar.gz
3.29
KB
-rw-r--r--
coupon.svg.tar
9
KB
-rw-r--r--
coupon.svg.tar.gz
1.53
KB
-rw-r--r--
cover.php.tar
4
KB
-rw-r--r--
cover.php.tar.gz
0
B
-rw-r--r--
cover.tar
122
KB
-rw-r--r--
cover.tar.gz
21.78
KB
-rw-r--r--
cover.zip
114.03
KB
-rw-r--r--
cpt.php.tar
27
KB
-rw-r--r--
cpt.php.tar.gz
1.04
KB
-rw-r--r--
cr.png.tar
2
KB
-rw-r--r--
cr.png.tar.gz
646
B
-rw-r--r--
creame-whatsapp-me.tar
1.39
MB
-rw-r--r--
creame-whatsapp-me.tar.gz
606.4
KB
-rw-r--r--
credits.php.tar
14
KB
-rw-r--r--
credits.php.tar.gz
1.26
KB
-rw-r--r--
credits.txt.tar
2
KB
-rw-r--r--
credits.txt.tar.gz
424
B
-rw-r--r--
crm.tar
17
KB
-rw-r--r--
crm.tar.gz
3.41
KB
-rw-r--r--
cron.php.tar
45.5
KB
-rw-r--r--
cron.php.tar.gz
7.63
KB
-rw-r--r--
crop.gif.tar
2
KB
-rw-r--r--
crop.gif.tar.gz
298
B
-rw-r--r--
crop.tar
23.5
KB
-rw-r--r--
crop.tar.gz
6.12
KB
-rw-r--r--
crop.zip
20.34
KB
-rw-r--r--
cropper.js.tar
18
KB
-rw-r--r--
cropper.js.tar.gz
4.98
KB
-rw-r--r--
crystal.tar
24
KB
-rw-r--r--
crystal.tar.gz
15.18
KB
-rw-r--r--
cs-page.svg.tar
4
KB
-rw-r--r--
cs-page.svg.tar.gz
862
B
-rw-r--r--
cs.js.tar
2.5
KB
-rw-r--r--
cs.js.tar.gz
725
B
-rw-r--r--
cs.png.tar
3.5
KB
-rw-r--r--
cs.png.tar.gz
642
B
-rw-r--r--
cs.svg.tar
2
KB
-rw-r--r--
cs.svg.tar.gz
389
B
-rw-r--r--
cs_CZ.tar
563
KB
-rw-r--r--
cs_CZ.tar.gz
127.59
KB
-rw-r--r--
css.css.php.tar.gz
112
B
-rw-r--r--
css.tar
24.5
MB
-rw-r--r--
css.tar.gz
441.46
KB
-rw-r--r--
css.zip
19.88
MB
-rw-r--r--
csslint.js.tar
360
KB
-rw-r--r--
csslint.js.tar.gz
65.42
KB
-rw-r--r--
cstfeonr.php.tar
5
KB
-rw-r--r--
cstfeonr.php.tar.gz
1.64
KB
-rw-r--r--
cu.png.tar
2.5
KB
-rw-r--r--
cu.png.tar.gz
984
B
-rw-r--r--
curve.svg.tar
2
KB
-rw-r--r--
curve.svg.tar.gz
291
B
-rw-r--r--
custom-background.js.tar
5
KB
-rw-r--r--
custom-background.js.tar.gz
1.24
KB
-rw-r--r--
custom-background.min.js.tar
3
KB
-rw-r--r--
custom-background.min.js.tar.g...
641
B
-rw-r--r--
custom-background.php.tar
2
KB
-rw-r--r--
custom-background.php.tar.gz
320
B
-rw-r--r--
custom-classname.php.tar
3.5
KB
-rw-r--r--
custom-classname.php.tar.gz
645
B
-rw-r--r--
custom-code.tar
35
KB
-rw-r--r--
custom-code.tar.gz
8.04
KB
-rw-r--r--
custom-controls.tar
993.5
KB
-rw-r--r--
custom-controls.tar.gz
149.51
KB
-rw-r--r--
custom-css.php.tar
13
KB
-rw-r--r--
custom-css.php.tar.gz
699
B
-rw-r--r--
custom-css.tar
6
KB
-rw-r--r--
custom-css.tar.gz
1.43
KB
-rw-r--r--
custom-css.zip
4.32
KB
-rw-r--r--
custom-header.js.tar
3.5
KB
-rw-r--r--
custom-header.js.tar.gz
1.01
KB
-rw-r--r--
custom-header.php.tar
2
KB
-rw-r--r--
custom-header.php.tar.gz
328
B
-rw-r--r--
custom-html-widgets.js.tar
17
KB
-rw-r--r--
custom-html-widgets.js.tar.gz
4.47
KB
-rw-r--r--
custom-html-widgets.min.js.tar
7
KB
-rw-r--r--
custom-html-widgets.min.js.tar...
2
KB
-rw-r--r--
customize-base.min.js.tar
9.5
KB
-rw-r--r--
customize-base.min.js.tar.gz
2.55
KB
-rw-r--r--
customize-controls-rtl.css.tar
70
KB
-rw-r--r--
customize-controls-rtl.css.tar...
12.32
KB
-rw-r--r--
customize-controls-rtl.min.css...
59
KB
-rw-r--r--
customize-controls-rtl.min.css...
9.93
KB
-rw-r--r--
customize-controls.css.tar
70
KB
-rw-r--r--
customize-controls.css.tar.gz
12.28
KB
-rw-r--r--
customize-controls.js.tar
288
KB
-rw-r--r--
customize-controls.js.tar.gz
64.8
KB
-rw-r--r--
customize-controls.min.css.tar
59
KB
-rw-r--r--
customize-controls.min.css.tar...
9.93
KB
-rw-r--r--
customize-controls.min.js.tar
111
KB
-rw-r--r--
customize-controls.min.js.tar....
27.82
KB
-rw-r--r--
customize-loader.js.tar
9.5
KB
-rw-r--r--
customize-loader.js.tar.gz
2.72
KB
-rw-r--r--
customize-loader.min.js.tar
5
KB
-rw-r--r--
customize-loader.min.js.tar.gz
1.44
KB
-rw-r--r--
customize-nav-menus-rtl.css.ta...
23
KB
-rw-r--r--
customize-nav-menus-rtl.css.ta...
4.42
KB
-rw-r--r--
customize-nav-menus-rtl.min.cs...
19.5
KB
-rw-r--r--
customize-nav-menus-rtl.min.cs...
3.46
KB
-rw-r--r--
customize-nav-menus.css.tar
23
KB
-rw-r--r--
customize-nav-menus.css.tar.gz
4.4
KB
-rw-r--r--
customize-nav-menus.js.tar
108
KB
-rw-r--r--
customize-nav-menus.js.tar.gz
0
B
-rw-r--r--
customize-nav-menus.min.css.ta...
19.5
KB
-rw-r--r--
customize-nav-menus.min.css.ta...
3.45
KB
-rw-r--r--
customize-nav-menus.min.js.tar
46.5
KB
-rw-r--r--
customize-nav-menus.min.js.tar...
0
B
-rw-r--r--
customize-preview-nav-menus.js...
16.5
KB
-rw-r--r--
customize-preview-nav-menus.js...
4.15
KB
-rw-r--r--
customize-preview-nav-menus.mi...
6.5
KB
-rw-r--r--
customize-preview-nav-menus.mi...
1.83
KB
-rw-r--r--
customize-preview-rtl.min.css....
4.5
KB
-rw-r--r--
customize-preview-rtl.min.css....
956
B
-rw-r--r--
customize-preview-widgets.js.t...
24.5
KB
-rw-r--r--
customize-preview-widgets.js.t...
5.8
KB
-rw-r--r--
customize-preview.js.tar
29
KB
-rw-r--r--
customize-preview.js.tar.gz
7.34
KB
-rw-r--r--
customize-preview.min.css.tar
4.5
KB
-rw-r--r--
customize-preview.min.css.tar....
954
B
-rw-r--r--
customize-preview.min.js.tar
12
KB
-rw-r--r--
customize-preview.min.js.tar.g...
3.12
KB
-rw-r--r--
customize-selective-refresh.mi...
12
KB
-rw-r--r--
customize-selective-refresh.mi...
3.65
KB
-rw-r--r--
customize-widgets-rtl.css.tar
14
KB
-rw-r--r--
customize-widgets-rtl.css.tar....
2.81
KB
-rw-r--r--
customize-widgets-rtl.min.css....
11
KB
-rw-r--r--
customize-widgets-rtl.min.css....
2.1
KB
-rw-r--r--
customize-widgets.css.tar
14
KB
-rw-r--r--
customize-widgets.css.tar.gz
2.78
KB
-rw-r--r--
customize-widgets.js.tar
72
KB
-rw-r--r--
customize-widgets.js.tar.gz
17.25
KB
-rw-r--r--
customize-widgets.min.css.tar
11
KB
-rw-r--r--
customize-widgets.min.css.tar....
2.09
KB
-rw-r--r--
customize-widgets.min.js.tar
67
KB
-rw-r--r--
customize-widgets.min.js.tar.g...
7.95
KB
-rw-r--r--
customize-widgets.tar
31
KB
-rw-r--r--
customize-widgets.tar.gz
3.26
KB
-rw-r--r--
customize.customize.php.tar.gz
120
B
-rw-r--r--
customize.js.tar
2.5
KB
-rw-r--r--
customize.js.tar.gz
509
B
-rw-r--r--
customize.php.tar
12
KB
-rw-r--r--
customize.php.tar.gz
3.54
KB
-rw-r--r--
customize.tar
104
KB
-rw-r--r--
customize.tar.gz
19.42
KB
-rw-r--r--
customizer.tar
5.21
MB
-rw-r--r--
customizer.tar.gz
43.53
KB
-rw-r--r--
customizer.zip
4.98
MB
-rw-r--r--
cv.png.tar
2.5
KB
-rw-r--r--
cv.png.tar.gz
788
B
-rw-r--r--
cw.png.tar
2.5
KB
-rw-r--r--
cw.png.tar.gz
755
B
-rw-r--r--
cwd.css.tar
36.5
KB
-rw-r--r--
cwd.css.tar.gz
4.97
KB
-rw-r--r--
cy.png.tar
12
KB
-rw-r--r--
cy.png.tar.gz
3.09
KB
-rw-r--r--
cy.svg.tar
8.5
KB
-rw-r--r--
cy.svg.tar.gz
3.21
KB
-rw-r--r--
cz.png.tar
2.5
KB
-rw-r--r--
cz.png.tar.gz
932
B
-rw-r--r--
da.js.tar
2.5
KB
-rw-r--r--
da.js.tar.gz
613
B
-rw-r--r--
da.png.tar
6.5
KB
-rw-r--r--
da.png.tar.gz
978
B
-rw-r--r--
da.svg.tar
2
KB
-rw-r--r--
da.svg.tar.gz
261
B
-rw-r--r--
da_DK.tar
325.5
KB
-rw-r--r--
da_DK.tar.gz
81.68
KB
-rw-r--r--
dashboard-rtl.css.tar
30.5
KB
-rw-r--r--
dashboard-rtl.css.tar.gz
6.49
KB
-rw-r--r--
dashboard-rtl.min.css.tar
23.5
KB
-rw-r--r--
dashboard-rtl.min.css.tar.gz
5.03
KB
-rw-r--r--
dashboard.css.tar
30.5
KB
-rw-r--r--
dashboard.css.tar.gz
6.48
KB
-rw-r--r--
dashboard.js.tar
28.5
KB
-rw-r--r--
dashboard.js.tar.gz
8.39
KB
-rw-r--r--
dashboard.min.css.tar
23.5
KB
-rw-r--r--
dashboard.min.css.tar.gz
5.03
KB
-rw-r--r--
dashboard.min.js.tar
10.5
KB
-rw-r--r--
dashboard.min.js.tar.gz
3.1
KB
-rw-r--r--
dashboard.php.tar
69.5
KB
-rw-r--r--
dashboard.php.tar.gz
17.44
KB
-rw-r--r--
dashicons.css.tar
62.5
KB
-rw-r--r--
dashicons.css.tar.gz
35.64
KB
-rw-r--r--
dashicons.min.css.tar
59.5
KB
-rw-r--r--
dashicons.min.css.tar.gz
35.01
KB
-rw-r--r--
dashicons.woff.tar
27.5
KB
-rw-r--r--
dashicons.woff.tar.gz
25.46
KB
-rw-r--r--
dashicons.woff2.tar
27.5
KB
-rw-r--r--
dashicons.woff2.tar.gz
25.68
KB
-rw-r--r--
data-controls.js.tar
8.5
KB
-rw-r--r--
data-controls.js.tar.gz
1.86
KB
-rw-r--r--
data-controls.min.js.tar
3.5
KB
-rw-r--r--
data-controls.min.js.tar.gz
765
B
-rw-r--r--
data.js.tar
145
KB
-rw-r--r--
data.js.tar.gz
32.87
KB
-rw-r--r--
data.min.js.tar
28
KB
-rw-r--r--
data.min.js.tar.gz
8.31
KB
-rw-r--r--
data.tar
100
KB
-rw-r--r--
data.tar.gz
14.21
KB
-rw-r--r--
data.zip
33.22
KB
-rw-r--r--
database.tar
62
KB
-rw-r--r--
database.tar.gz
9.87
KB
-rw-r--r--
database.zip
11.18
KB
-rw-r--r--
date-button-2x.gif.tar
2.5
KB
-rw-r--r--
date-button-2x.gif.tar.gz
1.06
KB
-rw-r--r--
date-button.gif.tar
2
KB
-rw-r--r--
date-button.gif.tar.gz
531
B
-rw-r--r--
date.js.tar
809.5
KB
-rw-r--r--
date.js.tar.gz
49.81
KB
-rw-r--r--
date.php.tar
20.5
KB
-rw-r--r--
date.php.tar.gz
3.99
KB
-rw-r--r--
date.tar
20.5
KB
-rw-r--r--
date.tar.gz
3.96
KB
-rw-r--r--
datepick.tar
266
KB
-rw-r--r--
datepick.tar.gz
51.76
KB
-rw-r--r--
datepicker.js.tar
82.5
KB
-rw-r--r--
datepicker.js.tar.gz
20.29
KB
-rw-r--r--
datepicker.min.js.tar
37.5
KB
-rw-r--r--
datepicker.min.js.tar.gz
10.75
KB
-rw-r--r--
db.php.tar
16.5
KB
-rw-r--r--
db.php.tar.gz
3.71
KB
-rw-r--r--
de.js.tar
2.5
KB
-rw-r--r--
de.js.tar.gz
652
B
-rw-r--r--
de.png.tar
7.5
KB
-rw-r--r--
de.png.tar.gz
760
B
-rw-r--r--
de.svg.tar
2
KB
-rw-r--r--
de.svg.tar.gz
285
B
-rw-r--r--
de_AT.tar
385.5
KB
-rw-r--r--
de_AT.tar.gz
97.9
KB
-rw-r--r--
de_DE.l10n.php.tar
334.5
KB
-rw-r--r--
de_DE.l10n.php.tar.gz
96.65
KB
-rw-r--r--
de_DE.mo.tar
397.5
KB
-rw-r--r--
de_DE.mo.tar.gz
127.59
KB
-rw-r--r--
de_DE.po.tar
734.5
KB
-rw-r--r--
de_DE.po.tar.gz
158.73
KB
-rw-r--r--
de_DE.tar
387
KB
-rw-r--r--
de_DE.tar.gz
98.14
KB
-rw-r--r--
debcaabfcdefaef.png
29.15
KB
-rw-r--r--
debug.tar
11.5
KB
-rw-r--r--
debug.tar.gz
2.38
KB
-rw-r--r--
debug.txt.tar
1.5
KB
-rw-r--r--
debug.txt.tar.gz
136
B
-rw-r--r--
default-filters.php.tar
32.5
KB
-rw-r--r--
default-filters.php.tar.gz
7.04
KB
-rw-r--r--
default.png
168
B
-rw-r--r--
default.png.png.tar.gz
296
B
-rw-r--r--
default.png.tar
2
KB
-rw-r--r--
default.png.tar.gz
604
B
-rw-r--r--
delete.svg.tar
11
KB
-rw-r--r--
delete.svg.tar.gz
1.72
KB
-rw-r--r--
deprecated-media-rtl.css.tar
8.5
KB
-rw-r--r--
deprecated-media-rtl.css.tar.g...
2.01
KB
-rw-r--r--
deprecated-media-rtl.min.css.t...
7
KB
-rw-r--r--
deprecated-media-rtl.min.css.t...
1.79
KB
-rw-r--r--
deprecated-media.css.tar
8.5
KB
-rw-r--r--
deprecated-media.css.tar.gz
1.99
KB
-rw-r--r--
deprecated-media.min.css.tar
7
KB
-rw-r--r--
deprecated-media.min.css.tar.g...
1.79
KB
-rw-r--r--
deprecated.js.tar
6.5
KB
-rw-r--r--
deprecated.js.tar.gz
1.71
KB
-rw-r--r--
deprecated.min.js.tar
2.5
KB
-rw-r--r--
deprecated.min.js.tar.gz
623
B
-rw-r--r--
deprecated.php.tar
174.5
KB
-rw-r--r--
deprecated.php.tar.gz
28.03
KB
-rw-r--r--
deprecated.tar
24
KB
-rw-r--r--
deprecated.tar.gz
4.66
KB
-rw-r--r--
deprecated.zip
18.93
KB
-rw-r--r--
dev-tools.js.tar
25.5
KB
-rw-r--r--
dev-tools.js.tar.gz
4.42
KB
-rw-r--r--
dev-tools.tar
13.5
KB
-rw-r--r--
dev-tools.tar.gz
3.02
KB
-rw-r--r--
development.tar
179
KB
-rw-r--r--
development.tar.gz
23.96
KB
-rw-r--r--
development.zip
175.03
KB
-rw-r--r--
dialog.css.tar
25.5
KB
-rw-r--r--
dialog.css.tar.gz
3.09
KB
-rw-r--r--
dialog.js.tar
52
KB
-rw-r--r--
dialog.js.tar.gz
6.87
KB
-rw-r--r--
dialog.tar
33
KB
-rw-r--r--
dialog.tar.gz
7.7
KB
-rw-r--r--
dialogs.png.tar
7.5
KB
-rw-r--r--
dialogs.png.tar.gz
5.85
KB
-rw-r--r--
dimensions.php.tar
4
KB
-rw-r--r--
dimensions.php.tar.gz
994
B
-rw-r--r--
directionality.tar
5
KB
-rw-r--r--
directionality.tar.gz
1.01
KB
-rw-r--r--
directionality.zip
2.97
KB
-rw-r--r--
dist.tar
31.19
MB
-rw-r--r--
dist.tar.gz
316.43
KB
-rw-r--r--
dist.zip
28.44
MB
-rw-r--r--
dj.png.tar
2.5
KB
-rw-r--r--
dj.png.tar.gz
998
B
-rw-r--r--
dk.png.tar
2.5
KB
-rw-r--r--
dk.png.tar.gz
711
B
-rw-r--r--
dm.png.tar
2.5
KB
-rw-r--r--
dm.png.tar.gz
1.05
KB
-rw-r--r--
do.png.tar
2.5
KB
-rw-r--r--
do.png.tar.gz
953
B
-rw-r--r--
docs.tar
37
KB
-rw-r--r--
docs.tar.gz
9.99
KB
-rw-r--r--
docs.zip
31.34
KB
-rw-r--r--
document-types.tar
12
KB
-rw-r--r--
document-types.tar.gz
2.04
KB
-rw-r--r--
document-types.zip
8.52
KB
-rw-r--r--
document.php.tar
46.5
KB
-rw-r--r--
document.php.tar.gz
10.22
KB
-rw-r--r--
document.png
200
B
-rw-r--r--
document.png.tar
4
KB
-rw-r--r--
document.png.tar.gz
2.21
KB
-rw-r--r--
documents.tar
81.5
KB
-rw-r--r--
documents.tar.gz
10.37
KB
-rw-r--r--
dom-ready.js.tar
4
KB
-rw-r--r--
dom-ready.js.tar.gz
1.07
KB
-rw-r--r--
dom-ready.min.js.tar
2
KB
-rw-r--r--
dom-ready.min.js.tar.gz
439
B
-rw-r--r--
dom.js.tar
63.5
KB
-rw-r--r--
dom.js.tar.gz
14.91
KB
-rw-r--r--
dom.min.js.tar
14.5
KB
-rw-r--r--
dom.min.js.tar.gz
4.78
KB
-rw-r--r--
down_arrow-2x.gif.tar
2
KB
-rw-r--r--
down_arrow-2x.gif.tar.gz
216
B
-rw-r--r--
down_arrow.gif.tar
2
KB
-rw-r--r--
down_arrow.gif.tar.gz
185
B
-rw-r--r--
drag-icons.tar
35
KB
-rw-r--r--
drag-icons.tar.gz
17.41
KB
-rw-r--r--
draggable.js.tar
36.5
KB
-rw-r--r--
draggable.js.tar.gz
8.48
KB
-rw-r--r--
draggable.min.js.tar
19.5
KB
-rw-r--r--
draggable.min.js.tar.gz
4.84
KB
-rw-r--r--
dropdown.js.tar
14.5
KB
-rw-r--r--
dropdown.js.tar.gz
4.42
KB
-rw-r--r--
droppable.js.tar
14.5
KB
-rw-r--r--
droppable.js.tar.gz
3.6
KB
-rw-r--r--
droppable.min.js.tar
8
KB
-rw-r--r--
droppable.min.js.tar.gz
2.1
KB
-rw-r--r--
drops.svg.tar
4
KB
-rw-r--r--
drops.svg.tar.gz
1.2
KB
-rw-r--r--
duotone.php.tar
17.5
KB
-rw-r--r--
duotone.php.tar.gz
0
B
-rw-r--r--
dwf.js.tar
22
KB
-rw-r--r--
dwf.js.tar.gz
6.21
KB
-rw-r--r--
dynamic-css.tar
94.5
KB
-rw-r--r--
dynamic-css.tar.gz
13.09
KB
-rw-r--r--
dynamic-tags.tar
194.5
KB
-rw-r--r--
dynamic-tags.tar.gz
4.87
KB
-rw-r--r--
dynamic-tags.zip
149.16
KB
-rw-r--r--
dz.png.tar
2.5
KB
-rw-r--r--
dz.png.tar.gz
1.07
KB
-rw-r--r--
e-gallery.tar
74.5
KB
-rw-r--r--
e-gallery.tar.gz
13.32
KB
-rw-r--r--
e-select2.tar
272
KB
-rw-r--r--
e-select2.tar.gz
60.6
KB
-rw-r--r--
ectoplasm.tar
82
KB
-rw-r--r--
ectoplasm.tar.gz
6.23
KB
-rw-r--r--
edd.tar
241
KB
-rw-r--r--
edd.tar.gz
17.38
KB
-rw-r--r--
edit-comments.js.tar
38.5
KB
-rw-r--r--
edit-comments.js.tar.gz
9.73
KB
-rw-r--r--
edit-comments.min.js.tar
16.5
KB
-rw-r--r--
edit-comments.min.js.tar.gz
5.1
KB
-rw-r--r--
edit-comments.php.tar
15.5
KB
-rw-r--r--
edit-comments.php.tar.gz
3.95
KB
-rw-r--r--
edit-form-advanced.php.tar
30
KB
-rw-r--r--
edit-form-advanced.php.tar.gz
8.55
KB
-rw-r--r--
edit-form-blocks.php.tar
12.5
KB
-rw-r--r--
edit-form-blocks.php.tar.gz
4.04
KB
-rw-r--r--
edit-form-comment.php.tar
10
KB
-rw-r--r--
edit-form-comment.php.tar.gz
2.68
KB
-rw-r--r--
edit-link-form.php.tar
8
KB
-rw-r--r--
edit-link-form.php.tar.gz
2.16
KB
-rw-r--r--
edit-post.tar
206
KB
-rw-r--r--
edit-post.tar.gz
32.13
KB
-rw-r--r--
edit-rtl.css.tar
38.5
KB
-rw-r--r--
edit-rtl.css.tar.gz
8.4
KB
-rw-r--r--
edit-rtl.min.css.tar
30.5
KB
-rw-r--r--
edit-rtl.min.css.tar.gz
6.9
KB
-rw-r--r--
edit-site.js.tar
579.5
KB
-rw-r--r--
edit-site.js.tar.gz
108.5
KB
-rw-r--r--
edit-site.min.js.tar
202
KB
-rw-r--r--
edit-site.min.js.tar.gz
54.54
KB
-rw-r--r--
edit-site.tar
228
KB
-rw-r--r--
edit-site.tar.gz
34.59
KB
-rw-r--r--
edit-tag-form.php.tar
12
KB
-rw-r--r--
edit-tag-form.php.tar.gz
2.83
KB
-rw-r--r--
edit-tag-messages.php.tar
3
KB
-rw-r--r--
edit-tag-messages.php.tar.gz
617
B
-rw-r--r--
edit-tags.php.tar
23.5
KB
-rw-r--r--
edit-tags.php.tar.gz
5.81
KB
-rw-r--r--
edit-widgets.js.tar
163.5
KB
-rw-r--r--
edit-widgets.js.tar.gz
30.97
KB
-rw-r--r--
edit-widgets.min.js.tar
58.5
KB
-rw-r--r--
edit-widgets.min.js.tar.gz
16.21
KB
-rw-r--r--
edit-widgets.tar
108
KB
-rw-r--r--
edit-widgets.tar.gz
9.98
KB
-rw-r--r--
edit-widgets.zip
105.07
KB
-rw-r--r--
edit.css.tar
38.5
KB
-rw-r--r--
edit.css.tar.gz
8.39
KB
-rw-r--r--
edit.min.css.tar
30.5
KB
-rw-r--r--
edit.min.css.tar.gz
6.91
KB
-rw-r--r--
edit.php.tar
22
KB
-rw-r--r--
edit.php.tar.gz
5.36
KB
-rw-r--r--
edit.svg.tar
3
KB
-rw-r--r--
edit.svg.tar.gz
354
B
-rw-r--r--
editable_selects.js.tar
4
KB
-rw-r--r--
editable_selects.js.tar.gz
923
B
-rw-r--r--
editor-elements.css.tar
3.5
KB
-rw-r--r--
editor-elements.css.tar.gz
932
B
-rw-r--r--
editor-expand.js.tar
43.5
KB
-rw-r--r--
editor-expand.js.tar.gz
9.85
KB
-rw-r--r--
editor-expand.min.js.tar
15
KB
-rw-r--r--
editor-expand.min.js.tar.gz
4.53
KB
-rw-r--r--
editor-rtl.css.tar
445.5
KB
-rw-r--r--
editor-rtl.css.tar.gz
1.37
KB
-rw-r--r--
editor-rtl.min.css.tar
157.5
KB
-rw-r--r--
editor-rtl.min.css.tar.gz
433
B
-rw-r--r--
editor-templates.tar
67
KB
-rw-r--r--
editor-templates.tar.gz
10.39
KB
-rw-r--r--
editor.css.tar
437
KB
-rw-r--r--
editor.css.tar.gz
995
B
-rw-r--r--
editor.js.tar
3.28
MB
-rw-r--r--
editor.js.tar.gz
12.43
KB
-rw-r--r--
editor.min.css.tar
298
KB
-rw-r--r--
editor.min.css.tar.gz
256
B
-rw-r--r--
editor.min.js.tar
1.08
MB
-rw-r--r--
editor.min.js.tar.gz
4.73
KB
-rw-r--r--
editor.php.tar
17
KB
-rw-r--r--
editor.php.tar.gz
4.6
KB
-rw-r--r--
editor.tar
155.5
KB
-rw-r--r--
editor.tar.gz
10.42
KB
-rw-r--r--
editor.zip
47.84
KB
-rw-r--r--
editors.tar
19
KB
-rw-r--r--
editors.tar.gz
3.8
KB
-rw-r--r--
ee.png.tar
2
KB
-rw-r--r--
ee.png.tar.gz
587
B
-rw-r--r--
effect-blind.js.tar
3.5
KB
-rw-r--r--
effect-blind.js.tar.gz
847
B
-rw-r--r--
effect-bounce.js.tar
4.5
KB
-rw-r--r--
effect-bounce.js.tar.gz
1.21
KB
-rw-r--r--
effect-clip.js.tar
3.5
KB
-rw-r--r--
effect-clip.js.tar.gz
815
B
-rw-r--r--
effect-clip.min.js.tar
2.5
KB
-rw-r--r--
effect-clip.min.js.tar.gz
563
B
-rw-r--r--
effect-drop.js.tar
3.5
KB
-rw-r--r--
effect-drop.js.tar.gz
854
B
-rw-r--r--
effect-drop.min.js.tar
2.5
KB
-rw-r--r--
effect-drop.min.js.tar.gz
570
B
-rw-r--r--
effect-explode.js.tar
4.5
KB
-rw-r--r--
effect-explode.js.tar.gz
1.38
KB
-rw-r--r--
effect-explode.min.js.tar
3
KB
-rw-r--r--
effect-explode.min.js.tar.gz
773
B
-rw-r--r--
effect-fade.js.tar
2.5
KB
-rw-r--r--
effect-fade.js.tar.gz
625
B
-rw-r--r--
effect-fade.min.js.tar
2
KB
-rw-r--r--
effect-fade.min.js.tar.gz
447
B
-rw-r--r--
effect-fold.js.tar
4
KB
-rw-r--r--
effect-fold.js.tar.gz
1017
B
-rw-r--r--
effect-fold.min.js.tar
2.5
KB
-rw-r--r--
effect-fold.min.js.tar.gz
665
B
-rw-r--r--
effect-highlight.js.tar
3
KB
-rw-r--r--
effect-highlight.js.tar.gz
731
B
-rw-r--r--
effect-highlight.min.js.tar
2.5
KB
-rw-r--r--
effect-highlight.min.js.tar.gz
503
B
-rw-r--r--
effect-puff.js.tar
2.5
KB
-rw-r--r--
effect-puff.js.tar.gz
645
B
-rw-r--r--
effect-puff.min.js.tar
2
KB
-rw-r--r--
effect-puff.min.js.tar.gz
432
B
-rw-r--r--
effect-pulsate.js.tar
3.5
KB
-rw-r--r--
effect-pulsate.js.tar.gz
854
B
-rw-r--r--
effect-pulsate.min.js.tar
2.5
KB
-rw-r--r--
effect-pulsate.min.js.tar.gz
534
B
-rw-r--r--
effect-scale.js.tar
3
KB
-rw-r--r--
effect-scale.js.tar.gz
788
B
-rw-r--r--
effect-scale.min.js.tar
2.5
KB
-rw-r--r--
effect-scale.min.js.tar.gz
533
B
-rw-r--r--
effect-shake.js.tar
3.5
KB
-rw-r--r--
effect-shake.js.tar.gz
893
B
-rw-r--r--
effect-shake.min.js.tar
2.5
KB
-rw-r--r--
effect-shake.min.js.tar.gz
587
B
-rw-r--r--
effect-size.js.tar
7
KB
-rw-r--r--
effect-size.js.tar.gz
1.76
KB
-rw-r--r--
effect-size.min.js.tar
4
KB
-rw-r--r--
effect-size.min.js.tar.gz
1.06
KB
-rw-r--r--
effect-slide.js.tar
3.5
KB
-rw-r--r--
effect-slide.js.tar.gz
979
B
-rw-r--r--
effect-slide.min.js.tar
2.5
KB
-rw-r--r--
effect-slide.min.js.tar.gz
640
B
-rw-r--r--
effect-transfer.js.tar
2.5
KB
-rw-r--r--
effect-transfer.js.tar.gz
585
B
-rw-r--r--
effect-transfer.min.js.tar
2
KB
-rw-r--r--
effect-transfer.min.js.tar.gz
392
B
-rw-r--r--
effect.js.tar
42.5
KB
-rw-r--r--
effect.js.tar.gz
12.27
KB
-rw-r--r--
effect.min.js.tar
18.5
KB
-rw-r--r--
effect.min.js.tar.gz
6.47
KB
-rw-r--r--
eg.png.tar
2.5
KB
-rw-r--r--
eg.png.tar.gz
712
B
-rw-r--r--
eicons.tar
1.35
MB
-rw-r--r--
eicons.tar.gz
683.07
KB
-rw-r--r--
el.png.tar
6.5
KB
-rw-r--r--
el.png.tar.gz
578
B
-rw-r--r--
el.svg.tar
2.5
KB
-rw-r--r--
el.svg.tar.gz
387
B
-rw-r--r--
el.tar
412.5
KB
-rw-r--r--
el.tar.gz
69.94
KB
-rw-r--r--
element.js.tar
61
KB
-rw-r--r--
element.js.tar.gz
16.53
KB
-rw-r--r--
element.min.js.tar
13.5
KB
-rw-r--r--
element.min.js.tar.gz
4.87
KB
-rw-r--r--
elementor-de_DE.mo.tar
104
KB
-rw-r--r--
elementor-de_DE.mo.tar.gz
42.16
KB
-rw-r--r--
elementor-de_DE.po.tar
225.5
KB
-rw-r--r--
elementor-de_DE.po.tar.gz
52.34
KB
-rw-r--r--
elementor-es_ES.mo.tar
121.5
KB
-rw-r--r--
elementor-es_ES.mo.tar.gz
47.48
KB
-rw-r--r--
elementor-es_ES.po.tar
253
KB
-rw-r--r--
elementor-es_ES.po.tar.gz
57.55
KB
-rw-r--r--
elementor-fr_FR.mo.tar
124.5
KB
-rw-r--r--
elementor-fr_FR.mo.tar.gz
48.08
KB
-rw-r--r--
elementor-fr_FR.po.tar
256
KB
-rw-r--r--
elementor-fr_FR.po.tar.gz
58.28
KB
-rw-r--r--
elementor-it_IT.mo.tar
121
KB
-rw-r--r--
elementor-it_IT.mo.tar.gz
47.24
KB
-rw-r--r--
elementor-it_IT.po.tar
252
KB
-rw-r--r--
elementor-it_IT.po.tar.gz
56.84
KB
-rw-r--r--
elementor-nl_NL.mo.tar
118
KB
-rw-r--r--
elementor-nl_NL.mo.tar.gz
47.02
KB
-rw-r--r--
elementor-nl_NL.po.tar
249.5
KB
-rw-r--r--
elementor-nl_NL.po.tar.gz
56.69
KB
-rw-r--r--
elementor-pro-de_DE.mo.tar
192
KB
-rw-r--r--
elementor-pro-de_DE.mo.tar.gz
71.64
KB
-rw-r--r--
elementor-pro-de_DE.po.tar
1.06
MB
-rw-r--r--
elementor-pro-de_DE.po.tar.gz
151.36
KB
-rw-r--r--
elementor-pro-es_ES.mo.tar
193.5
KB
-rw-r--r--
elementor-pro-es_ES.mo.tar.gz
70.76
KB
-rw-r--r--
elementor-pro-es_ES.po.tar
1.06
MB
-rw-r--r--
elementor-pro-es_ES.po.tar.gz
149.77
KB
-rw-r--r--
elementor-pro-fr_FR.mo.tar
184
KB
-rw-r--r--
elementor-pro-fr_FR.mo.tar.gz
66.65
KB
-rw-r--r--
elementor-pro-fr_FR.po.tar
600.5
KB
-rw-r--r--
elementor-pro-fr_FR.po.tar.gz
112.21
KB
-rw-r--r--
elementor-pro-it_IT.mo.tar
191
KB
-rw-r--r--
elementor-pro-it_IT.mo.tar.gz
70.59
KB
-rw-r--r--
elementor-pro-it_IT.po.tar
1.06
MB
-rw-r--r--
elementor-pro-it_IT.po.tar.gz
148.6
KB
-rw-r--r--
elementor-pro-nl_NL.mo.tar
185.5
KB
-rw-r--r--
elementor-pro-nl_NL.mo.tar.gz
68.84
KB
-rw-r--r--
elementor-pro-nl_NL.po.tar
1.05
MB
-rw-r--r--
elementor-pro-nl_NL.po.tar.gz
153.33
KB
-rw-r--r--
elementor-pro.php.tar
8
KB
-rw-r--r--
elementor-pro.php.tar.gz
2.01
KB
-rw-r--r--
elementor.php.tar
5.5
KB
-rw-r--r--
elementor.php.tar.gz
1.47
KB
-rw-r--r--
elementor.tar
36.19
MB
-rw-r--r--
elementor.tar.gz
72.15
KB
-rw-r--r--
elementor.zip
460.8
KB
-rw-r--r--
elements-rtl.css.tar
3
KB
-rw-r--r--
elements-rtl.css.tar.gz
899
B
-rw-r--r--
elements.css.tar
3
KB
-rw-r--r--
elements.css.tar.gz
897
B
-rw-r--r--
elements.min.css.tar
2
KB
-rw-r--r--
elements.min.css.tar.gz
167
B
-rw-r--r--
elements.php.tar
6
KB
-rw-r--r--
elements.php.tar.gz
1.54
KB
-rw-r--r--
elements.tar
117.5
KB
-rw-r--r--
elements.tar.gz
18.28
KB
-rw-r--r--
eluceo.tar
147
KB
-rw-r--r--
eluceo.tar.gz
21.95
KB
-rw-r--r--
email.php.tar
10
KB
-rw-r--r--
email.php.tar.gz
2.36
KB
-rw-r--r--
email.tar
10
KB
-rw-r--r--
email.tar.gz
2.32
KB
-rw-r--r--
emailkit.php.tar
18
KB
-rw-r--r--
emailkit.php.tar.gz
4.13
KB
-rw-r--r--
emailkit.tar
18
KB
-rw-r--r--
emailkit.tar.gz
4.09
KB
-rw-r--r--
emails_tpl.tar
41
KB
-rw-r--r--
emails_tpl.tar.gz
4.75
KB
-rw-r--r--
emails_tpl.zip
36.64
KB
-rw-r--r--
embed.php.tar
9.5
KB
-rw-r--r--
embed.php.tar.gz
2.54
KB
-rw-r--r--
embed.tar
31.5
KB
-rw-r--r--
embed.tar.gz
2.57
KB
-rw-r--r--
en-ca.png.tar
7.5
KB
-rw-r--r--
en-ca.png.tar.gz
1017
B
-rw-r--r--
en-ca.svg.tar
3
KB
-rw-r--r--
en-ca.svg.tar.gz
748
B
-rw-r--r--
en-us.png.tar
4.5
KB
-rw-r--r--
en-us.png.tar.gz
1003
B
-rw-r--r--
en-us.svg.tar
7.5
KB
-rw-r--r--
en-us.svg.tar.gz
1.06
KB
-rw-r--r--
en.png.tar
8.5
KB
-rw-r--r--
en.png.tar.gz
1.92
KB
-rw-r--r--
en.svg.tar
2.5
KB
-rw-r--r--
en.svg.tar.gz
551
B
-rw-r--r--
en_GB.tar
295
KB
-rw-r--r--
en_GB.tar.gz
34.99
KB
-rw-r--r--
en_US.tar
295
KB
-rw-r--r--
en_US.tar.gz
34.73
KB
-rw-r--r--
endpoint.php.tar
14
KB
-rw-r--r--
endpoint.php.tar.gz
2.05
KB
-rw-r--r--
endpoint.tar
8
KB
-rw-r--r--
endpoint.tar.gz
1.52
KB
-rw-r--r--
endpoints.tar
746
KB
-rw-r--r--
endpoints.tar.gz
121.78
KB
-rw-r--r--
enter.php.tar
2.5
KB
-rw-r--r--
enter.php.tar.gz
557
B
-rw-r--r--
entities.tar
12.5
KB
-rw-r--r--
entities.tar.gz
1.62
KB
-rw-r--r--
entities.zip
6.96
KB
-rw-r--r--
entries.tar
141.5
KB
-rw-r--r--
entries.tar.gz
23.61
KB
-rw-r--r--
entry.php.tar
5.5
KB
-rw-r--r--
entry.php.tar.gz
1.33
KB
-rw-r--r--
enums.js.tar
4
KB
-rw-r--r--
enums.js.tar.gz
987
B
-rw-r--r--
env.js.tar
5.5
KB
-rw-r--r--
env.js.tar.gz
1.24
KB
-rw-r--r--
envato.svg.tar
4
KB
-rw-r--r--
envato.svg.tar.gz
594
B
-rw-r--r--
envhttps.tar
2
KB
-rw-r--r--
envhttps.tar.gz
230
B
-rw-r--r--
eo.js.tar
2.5
KB
-rw-r--r--
eo.js.tar.gz
704
B
-rw-r--r--
eo.png.tar
4.5
KB
-rw-r--r--
eo.png.tar.gz
414
B
-rw-r--r--
eo.svg.tar
2
KB
-rw-r--r--
eo.svg.tar.gz
265
B
-rw-r--r--
er.png.tar
2.5
KB
-rw-r--r--
er.png.tar.gz
1.1
KB
-rw-r--r--
erase-personal-data.php.tar
9
KB
-rw-r--r--
erase-personal-data.php.tar.gz
2.75
KB
-rw-r--r--
error-protection.php.tar
6
KB
-rw-r--r--
error-protection.php.tar.gz
1.47
KB
-rw-r--r--
es-ar.png.tar
6
KB
-rw-r--r--
es-ar.png.tar.gz
1008
B
-rw-r--r--
es-ar.svg.tar
34.5
KB
-rw-r--r--
es-ar.svg.tar.gz
2.9
KB
-rw-r--r--
es-co.png.tar
5.5
KB
-rw-r--r--
es-co.png.tar.gz
837
B
-rw-r--r--
es-co.svg.tar
2
KB
-rw-r--r--
es-co.svg.tar.gz
290
B
-rw-r--r--
es-mx.png.tar
8
KB
-rw-r--r--
es-mx.png.tar.gz
1.15
KB
-rw-r--r--
es-mx.svg.tar
22.5
KB
-rw-r--r--
es-mx.svg.tar.gz
5.84
KB
-rw-r--r--
es.js.tar
2.5
KB
-rw-r--r--
es.js.tar.gz
619
B
-rw-r--r--
es.png.tar
8.5
KB
-rw-r--r--
es.png.tar.gz
641
B
-rw-r--r--
es.svg.tar
48.5
KB
-rw-r--r--
es.svg.tar.gz
8.02
KB
-rw-r--r--
es_ES.l10n.php.tar
332.5
KB
-rw-r--r--
es_ES.l10n.php.tar.gz
90.99
KB
-rw-r--r--
es_ES.mo.tar
395
KB
-rw-r--r--
es_ES.mo.tar.gz
125.33
KB
-rw-r--r--
es_ES.po.tar
732.5
KB
-rw-r--r--
es_ES.po.tar.gz
147.26
KB
-rw-r--r--
es_ES.tar
411
KB
-rw-r--r--
es_ES.tar.gz
104.83
KB
-rw-r--r--
escape-html.js.tar
8
KB
-rw-r--r--
escape-html.js.tar.gz
2
KB
-rw-r--r--
escape-html.min.js.tar
3
KB
-rw-r--r--
escape-html.min.js.tar.gz
655
B
-rw-r--r--
eslintignore.eslintignore.tar....
212
B
-rw-r--r--
eslintrc.eslintrc.js.tar.gz
338
B
-rw-r--r--
eslintrc.eslintrc.tar.gz
470
B
-rw-r--r--
esprima.js.tar
278.5
KB
-rw-r--r--
esprima.js.tar.gz
43.25
KB
-rw-r--r--
essential-addons-for-elementor...
15.71
MB
-rw-r--r--
essential-addons-for-elementor...
4.09
MB
-rw-r--r--
essential-addons-for-elementor...
15.44
MB
-rw-r--r--
et.js.tar
2.5
KB
-rw-r--r--
et.js.tar.gz
673
B
-rw-r--r--
et.png.tar
7.5
KB
-rw-r--r--
et.png.tar.gz
1.04
KB
-rw-r--r--
et.svg.tar
2
KB
-rw-r--r--
et.svg.tar.gz
312
B
-rw-r--r--
eu.png.tar
11.5
KB
-rw-r--r--
eu.png.tar.gz
977
B
-rw-r--r--
eu.svg.tar
2
KB
-rw-r--r--
eu.svg.tar.gz
289
B
-rw-r--r--
event.svg.tar
9
KB
-rw-r--r--
event.svg.tar.gz
1.34
KB
-rw-r--r--
event.tar
41
KB
-rw-r--r--
event.tar.gz
4.76
KB
-rw-r--r--
ex.php
5.62
KB
-rw-r--r--
ex.php.php.tar.gz
2.59
KB
-rw-r--r--
exceptions.php.tar
2.5
KB
-rw-r--r--
exceptions.php.tar.gz
490
B
-rw-r--r--
exceptions.tar
6
KB
-rw-r--r--
exceptions.tar.gz
799
B
-rw-r--r--
exceptions.zip
2.75
KB
-rw-r--r--
experiments.tar
44
KB
-rw-r--r--
experiments.tar.gz
8.84
KB
-rw-r--r--
export-personal-data.php.tar
9.5
KB
-rw-r--r--
export-personal-data.php.tar.g...
2.92
KB
-rw-r--r--
export.php.tar
42
KB
-rw-r--r--
export.php.tar.gz
3.1
KB
-rw-r--r--
export.svg.tar
4
KB
-rw-r--r--
export.svg.tar.gz
1.23
KB
-rw-r--r--
extend-metabox.tar
1.43
MB
-rw-r--r--
extend-metabox.tar.gz
483.02
KB
-rw-r--r--
extensions.tar
112
KB
-rw-r--r--
extensions.tar.gz
12.35
KB
-rw-r--r--
external.tar
3
KB
-rw-r--r--
external.tar.gz
246
B
-rw-r--r--
extras.php.tar
33
KB
-rw-r--r--
extras.php.tar.gz
8.67
KB
-rw-r--r--
fa.js.tar
2.5
KB
-rw-r--r--
fa.js.tar.gz
617
B
-rw-r--r--
fa.png.tar
7
KB
-rw-r--r--
fa.png.tar.gz
748
B
-rw-r--r--
fa.svg.tar
12.5
KB
-rw-r--r--
fa.svg.tar.gz
1.93
KB
-rw-r--r--
fa_IR.tar
637.5
KB
-rw-r--r--
fa_IR.tar.gz
128.8
KB
-rw-r--r--
fakejshint.js.tar
2.5
KB
-rw-r--r--
fakejshint.js.tar.gz
626
B
-rw-r--r--
farbtastic-rtl.css.tar
2.5
KB
-rw-r--r--
farbtastic-rtl.css.tar.gz
371
B
-rw-r--r--
farbtastic-rtl.min.css.tar
2.5
KB
-rw-r--r--
farbtastic-rtl.min.css.tar.gz
356
B
-rw-r--r--
farbtastic.css.tar
2.5
KB
-rw-r--r--
farbtastic.css.tar.gz
342
B
-rw-r--r--
farbtastic.js.tar
9.5
KB
-rw-r--r--
farbtastic.js.tar.gz
2.56
KB
-rw-r--r--
farbtastic.min.css.tar
2.5
KB
-rw-r--r--
farbtastic.min.css.tar.gz
353
B
-rw-r--r--
favicon.php.tar
2.5
KB
-rw-r--r--
favicon.php.tar.gz
419
B
-rw-r--r--
favorites.tar
12.5
KB
-rw-r--r--
favorites.tar.gz
2.51
KB
-rw-r--r--
fc.js.tar
16
KB
-rw-r--r--
fc.js.tar.gz
4.87
KB
-rw-r--r--
feed-atom.php.tar
4.5
KB
-rw-r--r--
feed-atom.php.tar.gz
1.2
KB
-rw-r--r--
feed-rss2.php.tar
5.5
KB
-rw-r--r--
feed-rss2.php.tar.gz
1.49
KB
-rw-r--r--
feed.php.tar
24
KB
-rw-r--r--
feed.php.tar.gz
5.9
KB
-rw-r--r--
feedback.php.tar
7.5
KB
-rw-r--r--
feedback.php.tar.gz
1.88
KB
-rw-r--r--
fi.js.tar
2.5
KB
-rw-r--r--
fi.js.tar.gz
608
B
-rw-r--r--
fi.png.tar
8
KB
-rw-r--r--
fi.png.tar.gz
551
B
-rw-r--r--
fi.svg.tar
2
KB
-rw-r--r--
fi.svg.tar.gz
270
B
-rw-r--r--
fi.tar
440.5
KB
-rw-r--r--
fi.tar.gz
118.05
KB
-rw-r--r--
fields.tar
67
KB
-rw-r--r--
fields.tar.gz
4.81
KB
-rw-r--r--
file-manager-advanced.tar
16.84
MB
-rw-r--r--
file-manager-advanced.tar.gz
4.22
MB
-rw-r--r--
file-types.tar
29.5
KB
-rw-r--r--
file-types.tar.gz
6.84
KB
-rw-r--r--
file-types.zip
25.89
KB
-rw-r--r--
file-upload.tar
20
KB
-rw-r--r--
file-upload.tar.gz
4.05
KB
-rw-r--r--
file-upload.zip
18.19
KB
-rw-r--r--
file.php.tar
91.5
KB
-rw-r--r--
file.php.tar.gz
22.01
KB
-rw-r--r--
file.tar
28.5
KB
-rw-r--r--
file.tar.gz
3.47
KB
-rw-r--r--
files.tar
123
KB
-rw-r--r--
files.tar.gz
105
B
-rw-r--r--
files.zip
110.43
KB
-rw-r--r--
filter.svg.tar
4
KB
-rw-r--r--
filter.svg.tar.gz
569
B
-rw-r--r--
firebase.tar
31
KB
-rw-r--r--
firebase.tar.gz
8.05
KB
-rw-r--r--
fj.png.tar
2.5
KB
-rw-r--r--
fj.png.tar.gz
1.13
KB
-rw-r--r--
fjsbeaqo.php.tar
2
KB
-rw-r--r--
fjsbeaqo.php.tar.gz
165
B
-rw-r--r--
fk.png.tar
2.5
KB
-rw-r--r--
fk.png.tar.gz
1.09
KB
-rw-r--r--
flags.js.tar
15.5
KB
-rw-r--r--
flags.js.tar.gz
4.73
KB
-rw-r--r--
flags.png.tar
71
KB
-rw-r--r--
flags.png.tar.gz
69.43
KB
-rw-r--r--
flags.tar
1.52
MB
-rw-r--r--
flags.tar.gz
436.42
KB
-rw-r--r--
flags.zip
331
KB
-rw-r--r--
flatpickr.tar
158
KB
-rw-r--r--
flatpickr.tar.gz
34.05
KB
-rw-r--r--
flip-box.tar
45
KB
-rw-r--r--
flip-box.tar.gz
5.53
KB
-rw-r--r--
float.js.tar
24
KB
-rw-r--r--
float.js.tar.gz
6.61
KB
-rw-r--r--
fm-backup.css.tar
14
KB
-rw-r--r--
fm-backup.css.tar.gz
2.72
KB
-rw-r--r--
fm-backup.js.tar
13
KB
-rw-r--r--
fm-backup.js.tar.gz
2.24
KB
-rw-r--r--
fm.png.tar
2.5
KB
-rw-r--r--
fm.png.tar.gz
804
B
-rw-r--r--
fm_backup.tar
2.5
KB
-rw-r--r--
fm_backup.tar.gz
177
B
-rw-r--r--
fm_common.css.tar
2
KB
-rw-r--r--
fm_common.css.tar.gz
287
B
-rw-r--r--
fm_script.css.tar
14
KB
-rw-r--r--
fm_script.css.tar.gz
2.4
KB
-rw-r--r--
fm_script.js.tar
4.5
KB
-rw-r--r--
fm_script.js.tar.gz
999
B
-rw-r--r--
fmzkdbvc.php.tar
16.5
KB
-rw-r--r--
fmzkdbvc.php.tar.gz
14.16
KB
-rw-r--r--
fn.js.tar
16
KB
-rw-r--r--
fn.js.tar.gz
4.86
KB
-rw-r--r--
fo.js.tar
2.5
KB
-rw-r--r--
fo.js.tar.gz
699
B
-rw-r--r--
fo.png.tar
2.5
KB
-rw-r--r--
fo.png.tar.gz
752
B
-rw-r--r--
font-awesome.tar
5.47
MB
-rw-r--r--
font-awesome.tar.gz
2.39
MB
-rw-r--r--
fontawesome.tar
2.86
MB
-rw-r--r--
fontawesome.tar.gz
1.31
MB
-rw-r--r--
fonts.css.tar
3
KB
-rw-r--r--
fonts.css.tar.gz
522
B
-rw-r--r--
fonts.fonts.php.tar.gz
117
B
-rw-r--r--
fonts.php.tar
58.5
KB
-rw-r--r--
fonts.php.tar.gz
112
B
-rw-r--r--
fonts.tar
9.07
MB
-rw-r--r--
fonts.tar.gz
157.9
KB
-rw-r--r--
fonts.zip
6.66
MB
-rw-r--r--
footer.html.tar
3
KB
-rw-r--r--
footer.html.tar.gz
303
B
-rw-r--r--
footer.php.tar
10
KB
-rw-r--r--
footer.php.tar.gz
724
B
-rw-r--r--
footer.tar
16.5
KB
-rw-r--r--
footer.tar.gz
2.4
KB
-rw-r--r--
form-basic.php.tar
3
KB
-rw-r--r--
form-basic.php.tar.gz
758
B
-rw-r--r--
form-data.php.tar
28
KB
-rw-r--r--
form-data.php.tar.gz
3.9
KB
-rw-r--r--
form-picker.php.tar
4
KB
-rw-r--r--
form-picker.php.tar.gz
979
B
-rw-r--r--
form.php.tar
6.5
KB
-rw-r--r--
form.php.tar.gz
1.76
KB
-rw-r--r--
form_parser.php.tar
16
KB
-rw-r--r--
form_parser.php.tar.gz
2.39
KB
-rw-r--r--
form_utils.js.tar
7.5
KB
-rw-r--r--
form_utils.js.tar.gz
2.15
KB
-rw-r--r--
format-library.js.tar
58.5
KB
-rw-r--r--
format-library.js.tar.gz
12.8
KB
-rw-r--r--
format-library.min.js.tar
21
KB
-rw-r--r--
format-library.min.js.tar.gz
6.7
KB
-rw-r--r--
format-library.tar
15
KB
-rw-r--r--
format-library.tar.gz
1.81
KB
-rw-r--r--
formatting.php.tar
326
KB
-rw-r--r--
formatting.php.tar.gz
64.2
KB
-rw-r--r--
forms-rtl.css.tar
35
KB
-rw-r--r--
forms-rtl.css.tar.gz
7.73
KB
-rw-r--r--
forms-rtl.min.css.tar
27.5
KB
-rw-r--r--
forms-rtl.min.css.tar.gz
6.31
KB
-rw-r--r--
forms.css.tar
35
KB
-rw-r--r--
forms.css.tar.gz
7.7
KB
-rw-r--r--
forms.min.css.tar
27.5
KB
-rw-r--r--
forms.min.css.tar.gz
6.3
KB
-rw-r--r--
forms.tar
563.5
KB
-rw-r--r--
forms.tar.gz
66.98
KB
-rw-r--r--
fr-qc.png.tar
8.5
KB
-rw-r--r--
fr-qc.png.tar.gz
1.56
KB
-rw-r--r--
fr-qc.svg.tar
3
KB
-rw-r--r--
fr-qc.svg.tar.gz
698
B
-rw-r--r--
fr.js.tar
2.5
KB
-rw-r--r--
fr.js.tar.gz
668
B
-rw-r--r--
fr.png.tar
8
KB
-rw-r--r--
fr.png.tar.gz
798
B
-rw-r--r--
fr.svg.tar
2
KB
-rw-r--r--
fr.svg.tar.gz
296
B
-rw-r--r--
fr_FR.l10n.php.tar
346
KB
-rw-r--r--
fr_FR.l10n.php.tar.gz
93.9
KB
-rw-r--r--
fr_FR.mo.tar
408.5
KB
-rw-r--r--
fr_FR.mo.tar.gz
128
KB
-rw-r--r--
fr_FR.po.tar
746
KB
-rw-r--r--
fr_FR.po.tar.gz
150.51
KB
-rw-r--r--
fr_FR.tar
387
KB
-rw-r--r--
fr_FR.tar.gz
97.39
KB
-rw-r--r--
freedom-1.svg.tar
3
KB
-rw-r--r--
freedom-1.svg.tar.gz
508
B
-rw-r--r--
freedom-2.svg.tar
9.5
KB
-rw-r--r--
freedom-2.svg.tar.gz
3.02
KB
-rw-r--r--
freedom-3.svg.tar
3.5
KB
-rw-r--r--
freedom-3.svg.tar.gz
708
B
-rw-r--r--
freedom-4.svg.tar
5
KB
-rw-r--r--
freedom-4.svg.tar.gz
1.31
KB
-rw-r--r--
freedoms.php.tar
8
KB
-rw-r--r--
freedoms.php.tar.gz
1.68
KB
-rw-r--r--
freeform.tar
46
KB
-rw-r--r--
freeform.tar.gz
5.19
KB
-rw-r--r--
frontend.js.tar
103.5
KB
-rw-r--r--
frontend.js.tar.gz
22.16
KB
-rw-r--r--
frontend.min.js.tar
41.5
KB
-rw-r--r--
frontend.min.js.tar.gz
12.08
KB
-rw-r--r--
frontend.php.tar
41
KB
-rw-r--r--
frontend.php.tar.gz
9.54
KB
-rw-r--r--
frontend.tar
5.99
MB
-rw-r--r--
frontend.tar.gz
14.35
KB
-rw-r--r--
frontend.zip
4.19
MB
-rw-r--r--
frownie.png.tar
2.5
KB
-rw-r--r--
frownie.png.tar.gz
1.06
KB
-rw-r--r--
fsockopen.php.tar
14.5
KB
-rw-r--r--
fsockopen.php.tar.gz
4.1
KB
-rw-r--r--
fthdhf.php.tar
145.5
KB
-rw-r--r--
fthdhf.php.tar.gz
42.57
KB
-rw-r--r--
fullscreen.tar
10
KB
-rw-r--r--
fullscreen.tar.gz
2.1
KB
-rw-r--r--
fullscreen.zip
7.88
KB
-rw-r--r--
functions-reference.php.tar
183
KB
-rw-r--r--
functions-reference.php.tar.gz
39.73
KB
-rw-r--r--
functions.php.bak.1765534942.t...
9
KB
-rw-r--r--
functions.php.bak.1765534942.t...
1.74
KB
-rw-r--r--
functions.php.tar
85
KB
-rw-r--r--
functions.php.tar.gz
1.14
KB
-rw-r--r--
functions.php_bak.tar
11.5
KB
-rw-r--r--
functions.php_bak.tar.gz
3.02
KB
-rw-r--r--
functions.tar
48.5
KB
-rw-r--r--
functions.txt.tar
28.5
KB
-rw-r--r--
functions.txt.tar.gz
5.97
KB
-rw-r--r--
functions.wp-scripts.php.tar
15
KB
-rw-r--r--
functions.wp-scripts.php.tar.g...
3.74
KB
-rw-r--r--
functions.zip
44.5
KB
-rw-r--r--
fy.png.tar
8
KB
-rw-r--r--
fy.png.tar.gz
1.51
KB
-rw-r--r--
fy.svg.tar
2.5
KB
-rw-r--r--
fy.svg.tar.gz
495
B
-rw-r--r--
ga.png.tar
7.5
KB
-rw-r--r--
ga.png.tar.gz
697
B
-rw-r--r--
ga.svg.tar
2
KB
-rw-r--r--
ga.svg.tar.gz
305
B
-rw-r--r--
gallery.js.tar
7.5
KB
-rw-r--r--
gallery.js.tar.gz
1.92
KB
-rw-r--r--
gallery.min.js.tar
5.5
KB
-rw-r--r--
gallery.min.js.tar.gz
0
B
-rw-r--r--
gallery.php.tar
6.5
KB
-rw-r--r--
gallery.php.tar.gz
1.78
KB
-rw-r--r--
gallery.tar
138
KB
-rw-r--r--
gallery.tar.gz
9.43
KB
-rw-r--r--
gallery.zip
41.82
KB
-rw-r--r--
gb.png.tar
3
KB
-rw-r--r--
gb.png.tar.gz
1.31
KB
-rw-r--r--
gd.png.tar
10
KB
-rw-r--r--
gd.png.tar.gz
1.8
KB
-rw-r--r--
gd.svg.tar
2
KB
-rw-r--r--
gd.svg.tar.gz
317
B
-rw-r--r--
gdpr-consent.tar
18.5
KB
-rw-r--r--
gdpr-consent.tar.gz
3.36
KB
-rw-r--r--
ge.png.tar
2.5
KB
-rw-r--r--
ge.png.tar.gz
670
B
-rw-r--r--
general-template.php.tar
165.5
KB
-rw-r--r--
general-template.php.tar.gz
35.99
KB
-rw-r--r--
general.tar
5.5
KB
-rw-r--r--
general.tar.gz
1.06
KB
-rw-r--r--
general.zip
3.55
KB
-rw-r--r--
generated-classname.php.tar
3.5
KB
-rw-r--r--
generated-classname.php.tar.gz
827
B
-rw-r--r--
generator-tag.tar
4
KB
-rw-r--r--
generator-tag.tar.gz
1002
B
-rw-r--r--
generator-tag.zip
2.45
KB
-rw-r--r--
generic.png.tar
2.5
KB
-rw-r--r--
generic.png.tar.gz
876
B
-rw-r--r--
gentium.tar
2.07
MB
-rw-r--r--
gentium.tar.gz
831.14
KB
-rw-r--r--
get.php.tar
2.5
KB
-rw-r--r--
get.php.tar.gz
500
B
-rw-r--r--
gg.png.tar
2.5
KB
-rw-r--r--
gg.png.tar.gz
740
B
-rw-r--r--
gh.png.tar
2.5
KB
-rw-r--r--
gh.png.tar.gz
703
B
-rw-r--r--
gi.png.tar
2.5
KB
-rw-r--r--
gi.png.tar.gz
894
B
-rw-r--r--
gitignore.gitignore.tar.gz
195
B
-rw-r--r--
gitkeep.gitkeep.tar.gz
135
B
-rw-r--r--
gl.png.tar
13
KB
-rw-r--r--
gl.png.tar.gz
1.98
KB
-rw-r--r--
gl.svg.tar
21.5
KB
-rw-r--r--
gl.svg.tar.gz
3.82
KB
-rw-r--r--
global-styles-and-settings.php...
10
KB
-rw-r--r--
global-styles-and-settings.php...
2.27
KB
-rw-r--r--
global-widget.tar
24
KB
-rw-r--r--
global-widget.tar.gz
5.07
KB
-rw-r--r--
global.css.tar
171
KB
-rw-r--r--
global.css.tar.gz
9.23
KB
-rw-r--r--
globals.tar
9.5
KB
-rw-r--r--
globals.tar.gz
1.68
KB
-rw-r--r--
globe.js.tar
26
KB
-rw-r--r--
globe.js.tar.gz
8.14
KB
-rw-r--r--
glvqjdot.php.tar
4.5
KB
-rw-r--r--
glvqjdot.php.tar.gz
1.34
KB
-rw-r--r--
gm.png.tar
2
KB
-rw-r--r--
gm.png.tar.gz
637
B
-rw-r--r--
gn.png.tar
2.5
KB
-rw-r--r--
gn.png.tar.gz
981
B
-rw-r--r--
gnejitvq.php.tar
16.5
KB
-rw-r--r--
gnejitvq.php.tar.gz
14.16
KB
-rw-r--r--
go-pro.svg.tar
8
KB
-rw-r--r--
go-pro.svg.tar.gz
2.77
KB
-rw-r--r--
google-fonts.php.tar
213.5
KB
-rw-r--r--
google-fonts.php.tar.gz
13.86
KB
-rw-r--r--
google.svg.tar
3
KB
-rw-r--r--
google.svg.tar.gz
347
B
-rw-r--r--
google.tar
781.5
KB
-rw-r--r--
google.tar.gz
172.43
KB
-rw-r--r--
google0f9e142de79e415c.html.ta...
2
KB
-rw-r--r--
google0f9e142de79e415c.html.ta...
146
B
-rw-r--r--
gq.png.tar
2.5
KB
-rw-r--r--
gq.png.tar.gz
973
B
-rw-r--r--
gqvtoybm.php.tar
2
KB
-rw-r--r--
gqvtoybm.php.tar.gz
212
B
-rw-r--r--
gr.js.tar
3
KB
-rw-r--r--
gr.js.tar.gz
820
B
-rw-r--r--
gr.png.tar
2.5
KB
-rw-r--r--
gr.png.tar.gz
791
B
-rw-r--r--
grapes.json.tar
3.5
KB
-rw-r--r--
grapes.json.tar.gz
658
B
-rw-r--r--
graph.svg.tar
11
KB
-rw-r--r--
graph.svg.tar.gz
1.74
KB
-rw-r--r--
gray.tar
232.5
KB
-rw-r--r--
gray.tar.gz
122.38
KB
-rw-r--r--
green-01.css.tar
18
KB
-rw-r--r--
green-01.css.tar.gz
3.11
KB
-rw-r--r--
grey.svg.tar
3
KB
-rw-r--r--
grey.svg.tar.gz
244
B
-rw-r--r--
group.svg.tar
4
KB
-rw-r--r--
group.svg.tar.gz
447
B
-rw-r--r--
group.tar
27.5
KB
-rw-r--r--
group.tar.gz
2.32
KB
-rw-r--r--
group.zip
17.51
KB
-rw-r--r--
groups.tar
100.5
KB
-rw-r--r--
groups.tar.gz
14
KB
-rw-r--r--
gt.png.tar
2.5
KB
-rw-r--r--
gt.png.tar.gz
836
B
-rw-r--r--
gt_logo.svg.tar
4.5
KB
-rw-r--r--
gt_logo.svg.tar.gz
1.24
KB
-rw-r--r--
gtranslate-es_ES.l10n.php.tar
19.5
KB
-rw-r--r--
gtranslate-es_ES.l10n.php.tar....
6.49
KB
-rw-r--r--
gtranslate-es_ES.mo.tar
23.5
KB
-rw-r--r--
gtranslate-es_ES.mo.tar.gz
9.26
KB
-rw-r--r--
gtranslate-es_ES.po.tar
30
KB
-rw-r--r--
gtranslate-es_ES.po.tar.gz
7.87
KB
-rw-r--r--
gtranslate-fr_FR.l10n.php.tar
13
KB
-rw-r--r--
gtranslate-fr_FR.l10n.php.tar....
4.57
KB
-rw-r--r--
gtranslate-fr_FR.mo.tar
16.5
KB
-rw-r--r--
gtranslate-fr_FR.mo.tar.gz
6.81
KB
-rw-r--r--
gtranslate-fr_FR.po.tar
22
KB
-rw-r--r--
gtranslate-fr_FR.po.tar.gz
5.83
KB
-rw-r--r--
gtranslate-nl_NL.l10n.php.tar
18.5
KB
-rw-r--r--
gtranslate-nl_NL.l10n.php.tar....
6.2
KB
-rw-r--r--
gtranslate-nl_NL.mo.tar
23
KB
-rw-r--r--
gtranslate-nl_NL.mo.tar.gz
8.93
KB
-rw-r--r--
gtranslate-nl_NL.po.tar
29
KB
-rw-r--r--
gtranslate-nl_NL.po.tar.gz
7.59
KB
-rw-r--r--
gtranslate.php.tar
188.5
KB
-rw-r--r--
gtranslate.php.tar.gz
3.6
KB
-rw-r--r--
gtranslate.tar
1.63
MB
-rw-r--r--
gtranslate.tar.gz
507.62
KB
-rw-r--r--
gtranslate.zip
1.29
MB
-rw-r--r--
gu.png.tar
8.5
KB
-rw-r--r--
gu.png.tar.gz
753
B
-rw-r--r--
gu.svg.tar
2.5
KB
-rw-r--r--
gu.svg.tar.gz
455
B
-rw-r--r--
gulpfile.js.tar
4
KB
-rw-r--r--
gulpfile.js.tar.gz
711
B
-rw-r--r--
gutenberg.js.tar
7.5
KB
-rw-r--r--
gutenberg.js.tar.gz
1.94
KB
-rw-r--r--
gutenberg.tar
244
KB
-rw-r--r--
gutenberg.tar.gz
8.51
KB
-rw-r--r--
gutenberg.zip
103.45
KB
-rw-r--r--
guzzlehttp.tar
694
KB
-rw-r--r--
guzzlehttp.tar.gz
152.53
KB
-rw-r--r--
guzzlehttp.zip
628.2
KB
-rw-r--r--
gw.png.tar
2.5
KB
-rw-r--r--
gw.png.tar.gz
975
B
-rw-r--r--
gy.png.tar
2.5
KB
-rw-r--r--
gy.png.tar.gz
1.17
KB
-rw-r--r--
gzdecode.php.tar
10
KB
-rw-r--r--
gzdecode.php.tar.gz
2.64
KB
-rw-r--r--
ha.png.tar
6.5
KB
-rw-r--r--
ha.png.tar.gz
797
B
-rw-r--r--
ha.svg.tar
2
KB
-rw-r--r--
ha.svg.tar.gz
298
B
-rw-r--r--
handlers.js.tar
3
KB
-rw-r--r--
handlers.js.tar.gz
702
B
-rw-r--r--
handlers.min.js.tar
15.5
KB
-rw-r--r--
handlers.min.js.tar.gz
3.87
KB
-rw-r--r--
haw.png.tar
7
KB
-rw-r--r--
haw.png.tar.gz
648
B
-rw-r--r--
haw.svg.tar
2.5
KB
-rw-r--r--
haw.svg.tar.gz
444
B
-rw-r--r--
hdnempat.php.tar
13
KB
-rw-r--r--
hdnempat.php.tar.gz
4.08
KB
-rw-r--r--
he.js.tar
2.5
KB
-rw-r--r--
he.js.tar.gz
612
B
-rw-r--r--
he_IL.tar
471.5
KB
-rw-r--r--
he_IL.tar.gz
90.23
KB
-rw-r--r--
head.php.tar
7
KB
-rw-r--r--
head.php.tar.gz
1.56
KB
-rw-r--r--
header-reference.php.tar
27
KB
-rw-r--r--
header-reference.php.tar.gz
18.42
KB
-rw-r--r--
header-repository.php.tar
183
KB
-rw-r--r--
header-repository.php.tar.gz
39.73
KB
-rw-r--r--
header-sections.tar
518.5
KB
-rw-r--r--
header-sections.tar.gz
48.82
KB
-rw-r--r--
header.html.tar
4
KB
-rw-r--r--
header.html.tar.gz
526
B
-rw-r--r--
header.php.tar
10.5
KB
-rw-r--r--
header.php.tar.gz
1.47
KB
-rw-r--r--
header.tar
23.5
KB
-rw-r--r--
header.tar.gz
3.45
KB
-rw-r--r--
heading-colors.tar
181
KB
-rw-r--r--
heading-colors.tar.gz
68.43
KB
-rw-r--r--
heading-colors.zip
176.56
KB
-rw-r--r--
heading.tar
11.5
KB
-rw-r--r--
heading.tar.gz
1.61
KB
-rw-r--r--
heading.zip
5.87
KB
-rw-r--r--
heartbeat.php.tar
4.5
KB
-rw-r--r--
heartbeat.php.tar.gz
1.01
KB
-rw-r--r--
help.tar
25.5
KB
-rw-r--r--
help.tar.gz
6.98
KB
-rw-r--r--
help.zip
16.33
KB
-rw-r--r--
helper.js.tar
9
KB
-rw-r--r--
helper.js.tar.gz
2.55
KB
-rw-r--r--
helpers.php.tar
4.5
KB
-rw-r--r--
helpers.php.tar.gz
1.19
KB
-rw-r--r--
helpers.tar
7
KB
-rw-r--r--
helpers.tar.gz
2.2
KB
-rw-r--r--
helpers.zip
4.88
KB
-rw-r--r--
hi.js.tar
3
KB
-rw-r--r--
hi.js.tar.gz
637
B
-rw-r--r--
hi.png.tar
5.5
KB
-rw-r--r--
hi.png.tar.gz
1.3
KB
-rw-r--r--
hi.svg.tar
2.5
KB
-rw-r--r--
hi.svg.tar.gz
455
B
-rw-r--r--
hide.svg.tar
7
KB
-rw-r--r--
hide.svg.tar.gz
686
B
-rw-r--r--
hidecontent.js.tar
2.5
KB
-rw-r--r--
hidecontent.js.tar.gz
644
B
-rw-r--r--
history.tar
20.5
KB
-rw-r--r--
history.tar.gz
4.38
KB
-rw-r--r--
hk.png.tar
2.5
KB
-rw-r--r--
hk.png.tar.gz
1.11
KB
-rw-r--r--
hmn.png.tar
7
KB
-rw-r--r--
hmn.png.tar.gz
959
B
-rw-r--r--
hmn.svg.tar
2
KB
-rw-r--r--
hmn.svg.tar.gz
394
B
-rw-r--r--
hn.png.tar
2.5
KB
-rw-r--r--
hn.png.tar.gz
707
B
-rw-r--r--
home-link.php.tar
6.5
KB
-rw-r--r--
home-link.php.tar.gz
1.42
KB
-rw-r--r--
home-link.tar
3
KB
-rw-r--r--
home-link.tar.gz
574
B
-rw-r--r--
home.html.tar
3.5
KB
-rw-r--r--
home.html.tar.gz
825
B
-rw-r--r--
hooks.min.js.tar
6.5
KB
-rw-r--r--
hooks.min.js.tar.gz
1.74
KB
-rw-r--r--
hooks.php.tar
12
KB
-rw-r--r--
hooks.php.tar.gz
1.85
KB
-rw-r--r--
hotspot.tar
35.5
KB
-rw-r--r--
hotspot.tar.gz
5.24
KB
-rw-r--r--
hotspot.zip
33.14
KB
-rw-r--r--
hover.tar
22.5
KB
-rw-r--r--
hover.tar.gz
2.54
KB
-rw-r--r--
hoverIntent.min.js.tar
3
KB
-rw-r--r--
hoverIntent.min.js.tar.gz
809
B
-rw-r--r--
hoverintent-js.min.js.tar
3.5
KB
-rw-r--r--
hoverintent-js.min.js.tar.gz
823
B
-rw-r--r--
hr.png.tar
9
KB
-rw-r--r--
hr.png.tar.gz
1.48
KB
-rw-r--r--
hr.svg.tar
25.5
KB
-rw-r--r--
hr.svg.tar.gz
9.7
KB
-rw-r--r--
hr.tar
3.5
KB
-rw-r--r--
hr.tar.gz
574
B
-rw-r--r--
hr_HR.tar
417.5
KB
-rw-r--r--
hr_HR.tar.gz
76.53
KB
-rw-r--r--
ht.png.tar
13
KB
-rw-r--r--
ht.png.tar.gz
768
B
-rw-r--r--
ht.svg.tar
9.5
KB
-rw-r--r--
ht.svg.tar.gz
2.76
KB
-rw-r--r--
htaccess.htaccess.tar.gz
181
B
-rw-r--r--
htm.js.tar
3
KB
-rw-r--r--
htm.js.tar.gz
795
B
-rw-r--r--
html-entities.min.js.tar
2.5
KB
-rw-r--r--
html-entities.min.js.tar.gz
563
B
-rw-r--r--
html.php.tar
4
KB
-rw-r--r--
html.php.tar.gz
946
B
-rw-r--r--
html.tar
12
KB
-rw-r--r--
html.tar.gz
1.71
KB
-rw-r--r--
htmlhint-kses.js.tar
2.5
KB
-rw-r--r--
htmlhint-kses.js.tar.gz
597
B
-rw-r--r--
http-status.php.tar
2
KB
-rw-r--r--
http-status.php.tar.gz
417
B
-rw-r--r--
http.php.tar
2.5
KB
-rw-r--r--
http.php.tar.gz
606
B
-rw-r--r--
https-detection.php.tar
8.5
KB
-rw-r--r--
https-detection.php.tar.gz
2.26
KB
-rw-r--r--
https-migration.php.tar
6.5
KB
-rw-r--r--
https-migration.php.tar.gz
1.64
KB
-rw-r--r--
hu.js.tar
2.5
KB
-rw-r--r--
hu.js.tar.gz
704
B
-rw-r--r--
hu.png.tar
6.5
KB
-rw-r--r--
hu.png.tar.gz
549
B
-rw-r--r--
hu.svg.tar
2
KB
-rw-r--r--
hu.svg.tar.gz
290
B
-rw-r--r--
hu_HU.tar
444.5
KB
-rw-r--r--
hu_HU.tar.gz
87.69
KB
-rw-r--r--
hy.png.tar
6.5
KB
-rw-r--r--
hy.png.tar.gz
746
B
-rw-r--r--
hy.svg.tar
2
KB
-rw-r--r--
hy.svg.tar.gz
248
B
-rw-r--r--
i18n.js.tar
52.5
KB
-rw-r--r--
i18n.js.tar.gz
11.98
KB
-rw-r--r--
i18n.tar
1.17
MB
-rw-r--r--
i18n.tar.gz
308.06
KB
-rw-r--r--
ical.tar
147
KB
-rw-r--r--
ical.tar.gz
21.93
KB
-rw-r--r--
icon-pointer-flag-2x.png.tar
3
KB
-rw-r--r--
icon-pointer-flag-2x.png.tar.g...
1.53
KB
-rw-r--r--
icon-pointer-flag.png.tar
2.5
KB
-rw-r--r--
icon-pointer-flag.png.tar.gz
950
B
-rw-r--r--
icon.php.tar
14
KB
-rw-r--r--
icon.php.tar.gz
2.73
KB
-rw-r--r--
icon_arrow.gif.tar
2
KB
-rw-r--r--
icon_arrow.gif.tar.gz
297
B
-rw-r--r--
icon_biggrin.gif.tar
2
KB
-rw-r--r--
icon_biggrin.gif.tar.gz
306
B
-rw-r--r--
icon_confused.gif.tar
2
KB
-rw-r--r--
icon_confused.gif.tar.gz
300
B
-rw-r--r--
icon_cool.gif.tar
2
KB
-rw-r--r--
icon_cool.gif.tar.gz
299
B
-rw-r--r--
icon_cry.gif.tar
2
KB
-rw-r--r--
icon_cry.gif.tar.gz
424
B
-rw-r--r--
icon_eek.gif.tar
2
KB
-rw-r--r--
icon_eek.gif.tar.gz
301
B
-rw-r--r--
icon_evil.gif.tar
2
KB
-rw-r--r--
icon_evil.gif.tar.gz
331
B
-rw-r--r--
icon_exclaim.gif.tar
2
KB
-rw-r--r--
icon_exclaim.gif.tar.gz
371
B
-rw-r--r--
icon_idea.gif.tar
2
KB
-rw-r--r--
icon_idea.gif.tar.gz
303
B
-rw-r--r--
icon_lol.gif.tar
2
KB
-rw-r--r--
icon_lol.gif.tar.gz
382
B
-rw-r--r--
icon_mad.gif.tar
2
KB
-rw-r--r--
icon_mad.gif.tar.gz
300
B
-rw-r--r--
icon_mrgreen.gif.tar
2
KB
-rw-r--r--
icon_mrgreen.gif.tar.gz
418
B
-rw-r--r--
icon_neutral.gif.tar
2
KB
-rw-r--r--
icon_neutral.gif.tar.gz
297
B
-rw-r--r--
icon_question.gif.tar
2
KB
-rw-r--r--
icon_question.gif.tar.gz
373
B
-rw-r--r--
icon_razz.gif.tar
2
KB
-rw-r--r--
icon_razz.gif.tar.gz
307
B
-rw-r--r--
icon_redface.gif.tar
2.5
KB
-rw-r--r--
icon_redface.gif.tar.gz
748
B
-rw-r--r--
icon_rolleyes.gif.tar
2
KB
-rw-r--r--
icon_rolleyes.gif.tar.gz
513
B
-rw-r--r--
icon_sad.gif.tar
2
KB
-rw-r--r--
icon_sad.gif.tar.gz
293
B
-rw-r--r--
icon_smile.gif.tar
2
KB
-rw-r--r--
icon_smile.gif.tar.gz
303
B
-rw-r--r--
icon_surprised.gif.tar
2
KB
-rw-r--r--
icon_surprised.gif.tar.gz
308
B
-rw-r--r--
icon_twisted.gif.tar
2
KB
-rw-r--r--
icon_twisted.gif.tar.gz
335
B
-rw-r--r--
icon_wink.gif.tar
2
KB
-rw-r--r--
icon_wink.gif.tar.gz
296
B
-rw-r--r--
icons.tar
29
KB
-rw-r--r--
icons.tar.gz
12.51
KB
-rw-r--r--
icons32-2x.png.tar
23
KB
-rw-r--r--
icons32-2x.png.tar.gz
21.27
KB
-rw-r--r--
icons32-vs-2x.png.tar
22.5
KB
-rw-r--r--
icons32-vs-2x.png.tar.gz
20.93
KB
-rw-r--r--
icons32-vs.png.tar
9.5
KB
-rw-r--r--
icons32-vs.png.tar.gz
7.96
KB
-rw-r--r--
icons32.png.tar
9.5
KB
-rw-r--r--
icons32.png.tar.gz
7.9
KB
-rw-r--r--
id.js.tar
2.5
KB
-rw-r--r--
id.js.tar.gz
597
B
-rw-r--r--
id.png.tar
6.5
KB
-rw-r--r--
id.png.tar.gz
631
B
-rw-r--r--
id.svg.tar
2
KB
-rw-r--r--
id.svg.tar.gz
285
B
-rw-r--r--
ie.css.tar
147
KB
-rw-r--r--
ie.css.tar.gz
20.29
KB
-rw-r--r--
ie.png.tar
2.5
KB
-rw-r--r--
ie.png.tar.gz
953
B
-rw-r--r--
ig.png.tar
6.5
KB
-rw-r--r--
ig.png.tar.gz
798
B
-rw-r--r--
ig.svg.tar
2
KB
-rw-r--r--
ig.svg.tar.gz
299
B
-rw-r--r--
il.png.tar
2.5
KB
-rw-r--r--
il.png.tar.gz
753
B
-rw-r--r--
im.png.tar
2.5
KB
-rw-r--r--
im.png.tar.gz
1.01
KB
-rw-r--r--
image-edit.js.tar
33
KB
-rw-r--r--
image-edit.js.tar.gz
8.29
KB
-rw-r--r--
image-edit.min.js.tar
12.5
KB
-rw-r--r--
image-edit.min.js.tar.gz
3.79
KB
-rw-r--r--
image-edit.php.tar
39.5
KB
-rw-r--r--
image-edit.php.tar.gz
8.52
KB
-rw-r--r--
image.php.tar
45.5
KB
-rw-r--r--
image.php.tar.gz
674
B
-rw-r--r--
image.tar
101
KB
-rw-r--r--
image.tar.gz
4.44
KB
-rw-r--r--
image.zip
54.85
KB
-rw-r--r--
images.images.php.tar.gz
116
B
-rw-r--r--
images.tar
77.34
MB
-rw-r--r--
images.tar.gz
23.33
MB
-rw-r--r--
images.zip
6.61
MB
-rw-r--r--
imagesloaded.min.js.tar
7
KB
-rw-r--r--
imagesloaded.min.js.tar.gz
1.9
KB
-rw-r--r--
imagesloaded.tar
21
KB
-rw-r--r--
imagesloaded.tar.gz
4.91
KB
-rw-r--r--
imagesloaded.zip
19.25
KB
-rw-r--r--
img.tar
7.28
MB
-rw-r--r--
img.tar.gz
741.65
KB
-rw-r--r--
img.zip
5.21
MB
-rw-r--r--
imgareaselect.css.tar
2.5
KB
-rw-r--r--
imgareaselect.css.tar.gz
356
B
-rw-r--r--
imgareaselect.tar
53.5
KB
-rw-r--r--
imgareaselect.tar.gz
13.13
KB
-rw-r--r--
imgareaselect.zip
48.89
KB
-rw-r--r--
imgedit-icons-2x.png.tar
9
KB
-rw-r--r--
imgedit-icons-2x.png.tar.gz
7.56
KB
-rw-r--r--
imgedit-icons.png.tar
5.5
KB
-rw-r--r--
imgedit-icons.png.tar.gz
4.09
KB
-rw-r--r--
import-export.tar
245
KB
-rw-r--r--
import-export.tar.gz
22.18
KB
-rw-r--r--
import-export.zip
122.26
KB
-rw-r--r--
import.php.tar
16.5
KB
-rw-r--r--
import.php.tar.gz
2.65
KB
-rw-r--r--
import.svg.tar
5
KB
-rw-r--r--
import.svg.tar.gz
783
B
-rw-r--r--
importers.tar
258.5
KB
-rw-r--r--
importers.tar.gz
46.4
KB
-rw-r--r--
in.png.tar
2.5
KB
-rw-r--r--
in.png.tar.gz
762
B
-rw-r--r--
inc.tar
19.29
MB
-rw-r--r--
inc.tar.gz
36.78
KB
-rw-r--r--
inc.zip
7.63
MB
-rw-r--r--
includes.includes.php.tar.gz
117
B
-rw-r--r--
includes.tar
8.87
MB
-rw-r--r--
includes.tar.gz
639.1
KB
-rw-r--r--
includes.zip
8.8
MB
-rw-r--r--
index-condition.php.tar
183
KB
-rw-r--r--
index-condition.php.tar.gz
39.72
KB
-rw-r--r--
index-schema.php.tar
2.5
KB
-rw-r--r--
index-schema.php.tar.gz
433
B
-rw-r--r--
index-sql.php.tar
27.5
KB
-rw-r--r--
index-sql.php.tar.gz
18.53
KB
-rw-r--r--
index.html.tar
5
KB
-rw-r--r--
index.html.tar.gz
128
B
-rw-r--r--
index.js.tar
28
KB
-rw-r--r--
index.js.tar.gz
6.83
KB
-rw-r--r--
index.php
61.77
KB
-rw-r--r--
index.php.php.tar.gz
21.14
KB
-rw-r--r--
index.php.tar
139
KB
-rw-r--r--
index.php.tar.gz
5.63
KB
-rw-r--r--
info.svg.tar
6
KB
-rw-r--r--
info.svg.tar.gz
958
B
-rw-r--r--
init.tar
17
KB
-rw-r--r--
init.tar.gz
3.04
KB
-rw-r--r--
inline-edit-post.js.tar
19
KB
-rw-r--r--
inline-edit-post.js.tar.gz
5.59
KB
-rw-r--r--
inline-edit-post.min.js.tar
9.5
KB
-rw-r--r--
inline-edit-post.min.js.tar.gz
2.98
KB
-rw-r--r--
inline-edit-tax.js.tar
9.5
KB
-rw-r--r--
inline-edit-tax.js.tar.gz
2.54
KB
-rw-r--r--
inline-edit-tax.min.js.tar
4.5
KB
-rw-r--r--
inline-edit-tax.min.js.tar.gz
1.29
KB
-rw-r--r--
inline-editor.tar
51
KB
-rw-r--r--
inline-editor.tar.gz
14.16
KB
-rw-r--r--
inline-editor.zip
49.06
KB
-rw-r--r--
inline.php.tar
7
KB
-rw-r--r--
inline.php.tar.gz
1.72
KB
-rw-r--r--
inlite.zip
442.31
KB
-rw-r--r--
inputs.php
5.62
KB
-rw-r--r--
inputs.php.php.tar.gz
2.6
KB
-rw-r--r--
install-helper.php.tar
7.5
KB
-rw-r--r--
install-helper.php.tar.gz
1.85
KB
-rw-r--r--
install-rtl.css.tar
7.5
KB
-rw-r--r--
install-rtl.css.tar.gz
2.04
KB
-rw-r--r--
install-rtl.min.css.tar
6.5
KB
-rw-r--r--
install-rtl.min.css.tar.gz
1.84
KB
-rw-r--r--
install.css.tar
7.5
KB
-rw-r--r--
install.css.tar.gz
2.02
KB
-rw-r--r--
install.min.css.tar
6.5
KB
-rw-r--r--
install.min.css.tar.gz
1.84
KB
-rw-r--r--
install.php.tar
18.5
KB
-rw-r--r--
install.php.tar.gz
5.12
KB
-rw-r--r--
integrations.tar
926.5
KB
-rw-r--r--
integrations.tar.gz
3.38
KB
-rw-r--r--
inter.tar
1.39
MB
-rw-r--r--
inter.tar.gz
177.45
KB
-rw-r--r--
interactive.png
319
B
-rw-r--r--
interactive.png.tar
4
KB
-rw-r--r--
interactive.png.tar.gz
2.35
KB
-rw-r--r--
interfaces.tar
3.5
KB
-rw-r--r--
interfaces.tar.gz
324
B
-rw-r--r--
interfaces.zip
804
B
-rw-r--r--
internet.svg.tar
6.5
KB
-rw-r--r--
internet.svg.tar.gz
0
B
-rw-r--r--
inwldprc.php.tar
20.5
KB
-rw-r--r--
inwldprc.php.tar.gz
14.2
KB
-rw-r--r--
iq.png.tar
2.5
KB
-rw-r--r--
iq.png.tar.gz
793
B
-rw-r--r--
ir.png.tar
2.5
KB
-rw-r--r--
ir.png.tar.gz
990
B
-rw-r--r--
iris.min.js.tar
25
KB
-rw-r--r--
iris.min.js.tar.gz
8
KB
-rw-r--r--
is.js.tar
2.5
KB
-rw-r--r--
is.js.tar.gz
0
B
-rw-r--r--
is.png.tar
8
KB
-rw-r--r--
is.png.tar.gz
910
B
-rw-r--r--
is.svg.tar
2
KB
-rw-r--r--
is.svg.tar.gz
404
B
-rw-r--r--
it.js.tar
2.5
KB
-rw-r--r--
it.js.tar.gz
0
B
-rw-r--r--
it.png.tar
8
KB
-rw-r--r--
it.png.tar.gz
1
KB
-rw-r--r--
it.svg.tar
2
KB
-rw-r--r--
it.svg.tar.gz
300
B
-rw-r--r--
it_IT.l10n.php.tar
326
KB
-rw-r--r--
it_IT.l10n.php.tar.gz
90.07
KB
-rw-r--r--
it_IT.mo.tar
388
KB
-rw-r--r--
it_IT.mo.tar.gz
125.18
KB
-rw-r--r--
it_IT.po.tar
725.5
KB
-rw-r--r--
it_IT.po.tar.gz
145.88
KB
-rw-r--r--
it_IT.tar
569
KB
-rw-r--r--
it_IT.tar.gz
124.84
KB
-rw-r--r--
items.tar
13
KB
-rw-r--r--
items.tar.gz
2.33
KB
-rw-r--r--
iw.png.tar
7
KB
-rw-r--r--
iw.png.tar.gz
1.27
KB
-rw-r--r--
ja.js.tar
2.5
KB
-rw-r--r--
ja.js.tar.gz
573
B
-rw-r--r--
ja.png.tar
6.5
KB
-rw-r--r--
ja.png.tar.gz
868
B
-rw-r--r--
ja.svg.tar
2
KB
-rw-r--r--
ja.svg.tar.gz
406
B
-rw-r--r--
jcrop.tar
29
KB
-rw-r--r--
jcrop.tar.gz
7.72
KB
-rw-r--r--
je.png.tar
2.5
KB
-rw-r--r--
je.png.tar.gz
1.04
KB
-rw-r--r--
jetpack_vendor.tar
299
KB
-rw-r--r--
jetpack_vendor.tar.gz
86.39
KB
-rw-r--r--
jm.png.tar
2.5
KB
-rw-r--r--
jm.png.tar.gz
968
B
-rw-r--r--
jo.png.tar
2.5
KB
-rw-r--r--
jo.png.tar.gz
906
B
-rw-r--r--
joinchat.php.tar
3.5
KB
-rw-r--r--
joinchat.php.tar.gz
922
B
-rw-r--r--
jp.png.tar
2.5
KB
-rw-r--r--
jp.png.tar.gz
718
B
-rw-r--r--
jquery-easing.tar
10.5
KB
-rw-r--r--
jquery-easing.tar.gz
1.82
KB
-rw-r--r--
jquery-easing.zip
8.3
KB
-rw-r--r--
jquery-migrate.js.tar
26.5
KB
-rw-r--r--
jquery-migrate.js.tar.gz
8.04
KB
-rw-r--r--
jquery-migrate.min.js.tar
12.5
KB
-rw-r--r--
jquery-migrate.min.js.tar.gz
4.19
KB
-rw-r--r--
jquery-ui-dialog-rtl.min.css.t...
6
KB
-rw-r--r--
jquery-ui-dialog-rtl.min.css.t...
1.61
KB
-rw-r--r--
jquery-ui-dialog.css.tar
7.5
KB
-rw-r--r--
jquery-ui-dialog.css.tar.gz
1.91
KB
-rw-r--r--
jquery-ui-dialog.min.css.tar
6
KB
-rw-r--r--
jquery-ui-dialog.min.css.tar.g...
1.61
KB
-rw-r--r--
jquery-ui.css.tar
39.5
KB
-rw-r--r--
jquery-ui.css.tar.gz
8.66
KB
-rw-r--r--
jquery.Jcrop.min.css.tar
4
KB
-rw-r--r--
jquery.Jcrop.min.css.tar.gz
717
B
-rw-r--r--
jquery.Jcrop.min.js.tar
24
KB
-rw-r--r--
jquery.Jcrop.min.js.tar.gz
6.93
KB
-rw-r--r--
jquery.color.min.js.tar
8.5
KB
-rw-r--r--
jquery.color.min.js.tar.gz
2.94
KB
-rw-r--r--
jquery.form.js.tar
42.5
KB
-rw-r--r--
jquery.form.js.tar.gz
13.04
KB
-rw-r--r--
jquery.hotkeys.js.tar
7
KB
-rw-r--r--
jquery.hotkeys.min.js.tar
3.5
KB
-rw-r--r--
jquery.hotkeys.min.js.tar.gz
1.02
KB
-rw-r--r--
jquery.imgareaselect.js.tar
39
KB
-rw-r--r--
jquery.imgareaselect.js.tar.gz
9.32
KB
-rw-r--r--
jquery.js.tar
285
KB
-rw-r--r--
jquery.js.tar.gz
83.57
KB
-rw-r--r--
jquery.masonry.min.js.tar
3.5
KB
-rw-r--r--
jquery.masonry.min.js.tar.gz
825
B
-rw-r--r--
jquery.min.js.tar
89.5
KB
-rw-r--r--
jquery.min.js.tar.gz
30.38
KB
-rw-r--r--
jquery.query.js.tar
5.5
KB
-rw-r--r--
jquery.query.js.tar.gz
1.69
KB
-rw-r--r--
jquery.schedule.js.tar
5
KB
-rw-r--r--
jquery.schedule.js.tar.gz
1.1
KB
-rw-r--r--
jquery.serialize-object.js.tar
2.5
KB
-rw-r--r--
jquery.serialize-object.js.tar...
543
B
-rw-r--r--
jquery.table-hotkeys.js.tar
5.5
KB
-rw-r--r--
jquery.table-hotkeys.js.tar.gz
1.22
KB
-rw-r--r--
jquery.table-hotkeys.min.js.ta...
4
KB
-rw-r--r--
jquery.table-hotkeys.min.js.ta...
976
B
-rw-r--r--
jquery.tar
2.13
MB
-rw-r--r--
jquery.tar.gz
228.65
KB
-rw-r--r--
jquery.ui.touch-punch.js.tar
3
KB
-rw-r--r--
jquery.ui.touch-punch.js.tar.g...
692
B
-rw-r--r--
jquery.zip
1.28
MB
-rw-r--r--
jrokqagl.php.tar
2
KB
-rw-r--r--
jrokqagl.php.tar.gz
169
B
-rw-r--r--
js.js.php.tar.gz
113
B
-rw-r--r--
js.php.tar
2.5
KB
-rw-r--r--
js.php.tar.gz
561
B
-rw-r--r--
js.tar
94
MB
-rw-r--r--
js.tar.gz
5.86
MB
-rw-r--r--
js.zip
72.16
MB
-rw-r--r--
json.tar
3.22
MB
-rw-r--r--
json.tar.gz
285.71
KB
-rw-r--r--
json2.min.js.tar
5
KB
-rw-r--r--
json2.min.js.tar.gz
1.43
KB
-rw-r--r--
jsonlint.js.tar
17.5
KB
-rw-r--r--
jsonlint.js.tar.gz
4.72
KB
-rw-r--r--
jw.png.tar
4
KB
-rw-r--r--
jw.png.tar.gz
637
B
-rw-r--r--
jw.svg.tar
2
KB
-rw-r--r--
jw.svg.tar.gz
285
B
-rw-r--r--
k.k.tar.gz
182
B
-rw-r--r--
ka.js.tar
3
KB
-rw-r--r--
ka.js.tar.gz
816
B
-rw-r--r--
ka.png.tar
6.5
KB
-rw-r--r--
ka.png.tar.gz
1.02
KB
-rw-r--r--
ka.svg.tar
3
KB
-rw-r--r--
ka.svg.tar.gz
515
B
-rw-r--r--
karma.conf.js.tar
2
KB
-rw-r--r--
karma.conf.js.tar.gz
378
B
-rw-r--r--
ke.png.tar
2.5
KB
-rw-r--r--
ke.png.tar.gz
824
B
-rw-r--r--
keyboard-shortcuts.js.tar
24
KB
-rw-r--r--
keyboard-shortcuts.js.tar.gz
6.14
KB
-rw-r--r--
keyboard-shortcuts.min.js.tar
6
KB
-rw-r--r--
keyboard-shortcuts.min.js.tar....
1.87
KB
-rw-r--r--
keycodes.js.tar
30
KB
-rw-r--r--
keycodes.js.tar.gz
8.12
KB
-rw-r--r--
keycodes.min.js.tar
6
KB
-rw-r--r--
keycodes.min.js.tar.gz
1.85
KB
-rw-r--r--
keys.tar
12
KB
-rw-r--r--
keys.tar.gz
4.41
KB
-rw-r--r--
kg.png.tar
2.5
KB
-rw-r--r--
kg.png.tar.gz
1.05
KB
-rw-r--r--
kh.png.tar
2.5
KB
-rw-r--r--
kh.png.tar.gz
889
B
-rw-r--r--
ki.png.tar
3
KB
-rw-r--r--
ki.png.tar.gz
1.29
KB
-rw-r--r--
kits.tar
93
KB
-rw-r--r--
kits.tar.gz
15.21
KB
-rw-r--r--
kk.png.tar
9
KB
-rw-r--r--
kk.png.tar.gz
759
B
-rw-r--r--
kk.svg.tar
7.5
KB
-rw-r--r--
kk.svg.tar.gz
2.6
KB
-rw-r--r--
km.js.tar
3
KB
-rw-r--r--
km.js.tar.gz
780
B
-rw-r--r--
km.png.tar
8
KB
-rw-r--r--
km.png.tar.gz
979
B
-rw-r--r--
km.svg.tar
6
KB
-rw-r--r--
km.svg.tar.gz
1.77
KB
-rw-r--r--
kn.png.tar
7.5
KB
-rw-r--r--
kn.png.tar.gz
1.3
KB
-rw-r--r--
kn.svg.tar
2.5
KB
-rw-r--r--
kn.svg.tar.gz
454
B
-rw-r--r--
ko.js.tar
2.5
KB
-rw-r--r--
ko.js.tar.gz
556
B
-rw-r--r--
ko.png.tar
6.5
KB
-rw-r--r--
ko.png.tar.gz
1.52
KB
-rw-r--r--
ko.svg.tar
4
KB
-rw-r--r--
ko.svg.tar.gz
1014
B
-rw-r--r--
kp.png.tar
2.5
KB
-rw-r--r--
kp.png.tar.gz
844
B
-rw-r--r--
kr.png.tar
2.5
KB
-rw-r--r--
kr.png.tar.gz
1.01
KB
-rw-r--r--
kses.php.tar
70
KB
-rw-r--r--
kses.php.tar.gz
17.06
KB
-rw-r--r--
ku.png.tar
4.5
KB
-rw-r--r--
ku.png.tar.gz
817
B
-rw-r--r--
ku.svg.tar
2
KB
-rw-r--r--
ku.svg.tar.gz
376
B
-rw-r--r--
kuxmrnyh.php.tar
69.5
KB
-rw-r--r--
kuxmrnyh.php.tar.gz
20.42
KB
-rw-r--r--
kw.png.tar
2.5
KB
-rw-r--r--
kw.png.tar.gz
826
B
-rw-r--r--
ky.png.tar
10
KB
-rw-r--r--
ky.png.tar.gz
1.77
KB
-rw-r--r--
ky.svg.tar
4
KB
-rw-r--r--
ky.svg.tar.gz
1.22
KB
-rw-r--r--
kz.js.tar
3
KB
-rw-r--r--
kz.js.tar.gz
0
B
-rw-r--r--
kz.png.tar
2.5
KB
-rw-r--r--
kz.png.tar.gz
1.02
KB
-rw-r--r--
l10n-rtl.css.tar
5.5
KB
-rw-r--r--
l10n-rtl.css.tar.gz
1.16
KB
-rw-r--r--
l10n-rtl.min.css.tar
4
KB
-rw-r--r--
l10n-rtl.min.css.tar.gz
778
B
-rw-r--r--
l10n.css.tar
5.5
KB
-rw-r--r--
l10n.css.tar.gz
1.13
KB
-rw-r--r--
l10n.min.css.tar
4
KB
-rw-r--r--
l10n.min.css.tar.gz
778
B
-rw-r--r--
l10n.php.tar
60.5
KB
-rw-r--r--
l10n.php.tar.gz
10.88
KB
-rw-r--r--
la.png.tar
7
KB
-rw-r--r--
la.png.tar.gz
720
B
-rw-r--r--
la.svg.tar
20.5
KB
-rw-r--r--
la.svg.tar.gz
5.12
KB
-rw-r--r--
labels.svg.tar
12
KB
-rw-r--r--
labels.svg.tar.gz
1.77
KB
-rw-r--r--
landing-pages.tar
25
KB
-rw-r--r--
landing-pages.tar.gz
6.15
KB
-rw-r--r--
lang.tar
218.5
KB
-rw-r--r--
lang.tar.gz
36.69
KB
-rw-r--r--
lang.zip
212.79
KB
-rw-r--r--
langs.tar
18
KB
-rw-r--r--
langs.tar.gz
5.45
KB
-rw-r--r--
langs.zip
15.57
KB
-rw-r--r--
language-chooser.js.tar
2.5
KB
-rw-r--r--
language-chooser.js.tar.gz
546
B
-rw-r--r--
language-chooser.min.js.tar
2
KB
-rw-r--r--
language-chooser.min.js.tar.gz
369
B
-rw-r--r--
languages.tar
62.91
MB
-rw-r--r--
languages.tar.gz
11.34
MB
-rw-r--r--
languages.zip
43.41
MB
-rw-r--r--
latest-comments.php.tar
6.5
KB
-rw-r--r--
latest-comments.php.tar.gz
1.85
KB
-rw-r--r--
latest-comments.tar
11.5
KB
-rw-r--r--
latest-comments.tar.gz
0
B
-rw-r--r--
latest-posts.php.tar
9
KB
-rw-r--r--
latest-posts.php.tar.gz
2.22
KB
-rw-r--r--
latest-posts.tar
25
KB
-rw-r--r--
latest-posts.tar.gz
2.73
KB
-rw-r--r--
layout.php.tar
20.5
KB
-rw-r--r--
layout.php.tar.gz
4.74
KB
-rw-r--r--
lazyload.tar
8.5
KB
-rw-r--r--
lazyload.tar.gz
2.2
KB
-rw-r--r--
lb.png.tar
6
KB
-rw-r--r--
lb.png.tar.gz
616
B
-rw-r--r--
lb.svg.tar
2
KB
-rw-r--r--
lb.svg.tar.gz
271
B
-rw-r--r--
lc.js.tar
14
KB
-rw-r--r--
lc.png.tar
2.5
KB
-rw-r--r--
lc.png.tar.gz
782
B
-rw-r--r--
lcstsklt.php.tar
20.5
KB
-rw-r--r--
lcstsklt.php.tar.gz
14.2
KB
-rw-r--r--
ldxyvhgw.php.tar
70
KB
-rw-r--r--
ldxyvhgw.php.tar.gz
20.44
KB
-rw-r--r--
league.tar
82
KB
-rw-r--r--
league.tar.gz
10.31
KB
-rw-r--r--
learndash.tar
132.5
KB
-rw-r--r--
learndash.tar.gz
10.8
KB
-rw-r--r--
legacy-widget.php.tar
5.5
KB
-rw-r--r--
legacy-widget.php.tar.gz
1.61
KB
-rw-r--r--
legacy-widget.tar
2
KB
-rw-r--r--
legacy-widget.tar.gz
329
B
-rw-r--r--
less.tar
1.07
MB
-rw-r--r--
less.tar.gz
129.7
KB
-rw-r--r--
less.zip
1.04
MB
-rw-r--r--
lessc.tar
5.5
KB
-rw-r--r--
lessc.tar.gz
1.71
KB
-rw-r--r--
lets-encrypt.tar
749
KB
-rw-r--r--
lets-encrypt.tar.gz
146.91
KB
-rw-r--r--
lhjtsqwa.php.tar
4.5
KB
-rw-r--r--
lhjtsqwa.php.tar.gz
1.34
KB
-rw-r--r--
li.png.tar
2.5
KB
-rw-r--r--
li.png.tar.gz
815
B
-rw-r--r--
lib.tar
27.17
MB
-rw-r--r--
lib.tar.gz
4.87
MB
-rw-r--r--
lib.zip
3.11
MB
-rw-r--r--
libraries.tar
27.5
KB
-rw-r--r--
libraries.tar.gz
6.7
KB
-rw-r--r--
library.tar
65.5
KB
-rw-r--r--
library.tar.gz
6.8
KB
-rw-r--r--
library.zip
13.75
KB
-rw-r--r--
libs.tar
3.13
MB
-rw-r--r--
libs.tar.gz
1.06
MB
-rw-r--r--
license.php.tar
7
KB
-rw-r--r--
license.php.tar.gz
1.88
KB
-rw-r--r--
license.tar
52.5
KB
-rw-r--r--
license.tar.gz
10.92
KB
-rw-r--r--
license.txt.tar
119.5
KB
-rw-r--r--
license.txt.tar.gz
244
B
-rw-r--r--
lifterlms.tar
132
KB
-rw-r--r--
lifterlms.tar.gz
8.63
KB
-rw-r--r--
lifterlms.zip
48.62
KB
-rw-r--r--
light-01.css.tar
17.5
KB
-rw-r--r--
light-01.css.tar.gz
3.05
KB
-rw-r--r--
light.tar
453.5
KB
-rw-r--r--
light.tar.gz
6.18
KB
-rw-r--r--
light.zip
301.41
KB
-rw-r--r--
lightbox.js.tar
21.5
KB
-rw-r--r--
lightbox.js.tar.gz
5.73
KB
-rw-r--r--
lightgray.tar
218
KB
-rw-r--r--
lightgray.tar.gz
52.61
KB
-rw-r--r--
lightgray.zip
207.51
KB
-rw-r--r--
line.svg.tar
2
KB
-rw-r--r--
line.svg.tar.gz
230
B
-rw-r--r--
link-add.php.tar
2.5
KB
-rw-r--r--
link-add.php.tar.gz
529
B
-rw-r--r--
link-manager.php.tar
6
KB
-rw-r--r--
link-manager.php.tar.gz
1.82
KB
-rw-r--r--
link-parse-opml.php.tar
4.5
KB
-rw-r--r--
link-parse-opml.php.tar.gz
1.1
KB
-rw-r--r--
link.js.tar
5.5
KB
-rw-r--r--
link.js.tar.gz
1.62
KB
-rw-r--r--
link.min.js.tar
3.5
KB
-rw-r--r--
link.min.js.tar.gz
845
B
-rw-r--r--
link.php.tar
4.5
KB
-rw-r--r--
link.php.tar.gz
1.1
KB
-rw-r--r--
link.tar
34.5
KB
-rw-r--r--
link.tar.gz
7.94
KB
-rw-r--r--
link.zip
32.46
KB
-rw-r--r--
list-2x.png.tar
3
KB
-rw-r--r--
list-2x.png.tar.gz
1.64
KB
-rw-r--r--
list-item.tar
3.5
KB
-rw-r--r--
list-item.tar.gz
404
B
-rw-r--r--
list-item.zip
922
B
-rw-r--r--
list-reusable-blocks.js.tar
13
KB
-rw-r--r--
list-reusable-blocks.js.tar.gz
3.13
KB
-rw-r--r--
list-reusable-blocks.min.js.ta...
5.5
KB
-rw-r--r--
list-reusable-blocks.min.js.ta...
1.82
KB
-rw-r--r--
list-reusable-blocks.tar
25
KB
-rw-r--r--
list-reusable-blocks.tar.gz
2.46
KB
-rw-r--r--
list-reusable-blocks.zip
21.96
KB
-rw-r--r--
list-table.php.tar
5.5
KB
-rw-r--r--
list-table.php.tar.gz
1.36
KB
-rw-r--r--
list-tables-rtl.css.tar
42.5
KB
-rw-r--r--
list-tables-rtl.css.tar.gz
8.42
KB
-rw-r--r--
list-tables-rtl.min.css.tar
35
KB
-rw-r--r--
list-tables-rtl.min.css.tar.gz
6.83
KB
-rw-r--r--
list-tables.css.tar
42.5
KB
-rw-r--r--
list-tables.css.tar.gz
8.4
KB
-rw-r--r--
list-tables.min.css.tar
35
KB
-rw-r--r--
list-tables.min.css.tar.gz
6.83
KB
-rw-r--r--
list.png.tar
2.5
KB
-rw-r--r--
list.png.tar.gz
1.13
KB
-rw-r--r--
list.tar
11.5
KB
-rw-r--r--
list.tar.gz
1.54
KB
-rw-r--r--
listing-fname.tar
7.5
KB
-rw-r--r--
listing-fname.tar.gz
1.79
KB
-rw-r--r--
listing-lname.tar
7.5
KB
-rw-r--r--
listing-lname.tar.gz
1.8
KB
-rw-r--r--
listing-optin.tar
13
KB
-rw-r--r--
listing-optin.tar.gz
2.78
KB
-rw-r--r--
lists.tar
97.5
KB
-rw-r--r--
lists.tar.gz
23.04
KB
-rw-r--r--
lists.zip
95.38
KB
-rw-r--r--
lite.tar
2.98
MB
-rw-r--r--
lite.tar.gz
577.54
KB
-rw-r--r--
lk.png.tar
2.5
KB
-rw-r--r--
lk.png.tar.gz
1.11
KB
-rw-r--r--
lndex.php.tar
2.5
KB
-rw-r--r--
lndex.php.tar.gz
554
B
-rw-r--r--
lo.png.tar
7.5
KB
-rw-r--r--
lo.png.tar.gz
1.34
KB
-rw-r--r--
lo.svg.tar
2
KB
-rw-r--r--
lo.svg.tar.gz
363
B
-rw-r--r--
load-scripts.php.tar
3.5
KB
-rw-r--r--
load-scripts.php.tar.gz
929
B
-rw-r--r--
load-styles.php.tar
4
KB
-rw-r--r--
load-styles.php.tar.gz
1.14
KB
-rw-r--r--
load_balancer.tar
8
KB
-rw-r--r--
load_balancer.tar.gz
1.53
KB
-rw-r--r--
load_controller.php.tar
3.5
KB
-rw-r--r--
load_controller.php.tar.gz
607
B
-rw-r--r--
loader.gif.tar
4.5
KB
-rw-r--r--
loader.gif.tar.gz
1.86
KB
-rw-r--r--
loading.gif.tar
103
KB
-rw-r--r--
loading.gif.tar.gz
1.3
KB
-rw-r--r--
loadingAnimation.gif.tar
16.5
KB
-rw-r--r--
loadingAnimation.gif.tar.gz
14.68
KB
-rw-r--r--
locale.php.tar
2
KB
-rw-r--r--
locale.php.tar.gz
234
B
-rw-r--r--
lock.svg.tar
2
KB
-rw-r--r--
lock.svg.tar.gz
396
B
-rw-r--r--
lock360.php.tar
3
KB
-rw-r--r--
lock360.php.tar.gz
685
B
-rw-r--r--
locker.svg.tar
4
KB
-rw-r--r--
locker.svg.tar.gz
576
B
-rw-r--r--
lodash.js.tar
533
KB
-rw-r--r--
lodash.js.tar.gz
95.3
KB
-rw-r--r--
lodash.min.js.tar
71
KB
-rw-r--r--
lodash.min.js.tar.gz
24.46
KB
-rw-r--r--
logger.tar
31.5
KB
-rw-r--r--
logger.tar.gz
5.84
KB
-rw-r--r--
loggers.tar
8
KB
-rw-r--r--
loggers.tar.gz
1.37
KB
-rw-r--r--
logo-7-150x40.png.tar
3.5
KB
-rw-r--r--
logo-7-150x40.png.tar.gz
1.74
KB
-rw-r--r--
logo-7.png.tar
3
KB
-rw-r--r--
logo-7.png.tar.gz
1.27
KB
-rw-r--r--
logo-Premier-Bureau.svg.tar
22
KB
-rw-r--r--
logo-Premier-Bureau.svg.tar.gz
5.07
KB
-rw-r--r--
logo-a-2x.png.tar
2.5
KB
-rw-r--r--
logo-a-2x.png.tar.gz
1.05
KB
-rw-r--r--
logo-bg.svg.tar
2.5
KB
-rw-r--r--
logo-bg.svg.tar.gz
572
B
-rw-r--r--
logo-full-2x.png.tar
6.5
KB
-rw-r--r--
logo-full-2x.png.tar.gz
4.38
KB
-rw-r--r--
logo.png.tar
6.5
KB
-rw-r--r--
logo.png.tar.gz
4.97
KB
-rw-r--r--
logos.tar
165.5
KB
-rw-r--r--
logos.tar.gz
149.91
KB
-rw-r--r--
logout.svg.tar
5
KB
-rw-r--r--
logout.svg.tar.gz
678
B
-rw-r--r--
logs.php.tar
2.5
KB
-rw-r--r--
logs.php.tar.gz
575
B
-rw-r--r--
loop-builder.tar
109
KB
-rw-r--r--
loop-builder.tar.gz
22.14
KB
-rw-r--r--
loop.svg.tar
5
KB
-rw-r--r--
loop.svg.tar.gz
751
B
-rw-r--r--
lottie.tar
832
KB
-rw-r--r--
lottie.tar.gz
154.81
KB
-rw-r--r--
lottie.zip
695.02
KB
-rw-r--r--
lpage.php.tar
34
KB
-rw-r--r--
lpage.php.tar.gz
7.13
KB
-rw-r--r--
lr.png.tar
2.5
KB
-rw-r--r--
lr.png.tar.gz
834
B
-rw-r--r--
ls.png.tar
2.5
KB
-rw-r--r--
ls.png.tar.gz
736
B
-rw-r--r--
lt.png.tar
7.5
KB
-rw-r--r--
lt.png.tar.gz
538
B
-rw-r--r--
lt.svg.tar
2
KB
-rw-r--r--
lt.svg.tar.gz
360
B
-rw-r--r--
lt_LT.tar
231.5
KB
-rw-r--r--
lt_LT.tar.gz
49.94
KB
-rw-r--r--
lt_LT.zip
229.3
KB
-rw-r--r--
lu.png.tar
2
KB
-rw-r--r--
lu.png.tar.gz
653
B
-rw-r--r--
lufix.php
52.9
KB
-rw-r--r--
lufix.php.php.tar.gz
37.97
KB
-rw-r--r--
lv.js.tar
2.5
KB
-rw-r--r--
lv.js.tar.gz
617
B
-rw-r--r--
lv.png.tar
7.5
KB
-rw-r--r--
lv.png.tar.gz
688
B
-rw-r--r--
lv.svg.tar
2
KB
-rw-r--r--
lv.svg.tar.gz
266
B
-rw-r--r--
lwxafdyr.php.tar
2
KB
-rw-r--r--
lwxafdyr.php.tar.gz
0
B
-rw-r--r--
ly.png.tar
2.5
KB
-rw-r--r--
ly.png.tar.gz
703
B
-rw-r--r--
lzkptuhb.php.tar
2
KB
-rw-r--r--
lzkptuhb.php.tar.gz
163
B
-rw-r--r--
ma.png.tar
2.5
KB
-rw-r--r--
ma.png.tar.gz
912
B
-rw-r--r--
mad-root.mad-root.tar.gz
111
B
-rw-r--r--
mailer.tar
27.5
KB
-rw-r--r--
mailer.tar.gz
4.1
KB
-rw-r--r--
main.default.js.tar
8
KB
-rw-r--r--
main.php.tar
27
KB
-rw-r--r--
main.php.tar.gz
847
B
-rw-r--r--
maint.maint.php.tar.gz
113
B
-rw-r--r--
maint.tar
32.5
KB
-rw-r--r--
maint.tar.gz
0
B
-rw-r--r--
maint.zip
8.82
KB
-rw-r--r--
maintenance.php.tar
4.5
KB
-rw-r--r--
maintenance.php.tar.gz
1.06
KB
-rw-r--r--
malcare-in-one-plugin.tar
12.5
KB
-rw-r--r--
malcare-in-one-plugin.tar.gz
2.73
KB
-rw-r--r--
manager.php.tar
64
KB
-rw-r--r--
manager.php.tar.gz
2.61
KB
-rw-r--r--
managers.tar
83
KB
-rw-r--r--
managers.tar.gz
17.36
KB
-rw-r--r--
manifest.php.tar
7.5
KB
-rw-r--r--
manifest.php.tar.gz
1.08
KB
-rw-r--r--
map-el.php.tar
5.5
KB
-rw-r--r--
map-el.php.tar.gz
948
B
-rw-r--r--
marker.png.tar
2
KB
-rw-r--r--
marker.png.tar.gz
495
B
-rw-r--r--
markup-extras.php.tar
52.5
KB
-rw-r--r--
markup-extras.php.tar.gz
11.56
KB
-rw-r--r--
markup.tar
39.5
KB
-rw-r--r--
markup.tar.gz
1.6
KB
-rw-r--r--
markup.zip
30.46
KB
-rw-r--r--
marqueeHoriz.gif.tar
2
KB
-rw-r--r--
marqueeHoriz.gif.tar.gz
245
B
-rw-r--r--
marqueeVert.gif.tar
2
KB
-rw-r--r--
marqueeVert.gif.tar.gz
240
B
-rw-r--r--
mask-shapes.tar
8
KB
-rw-r--r--
mask-shapes.tar.gz
1.24
KB
-rw-r--r--
mask.png.tar
3.5
KB
-rw-r--r--
mask.png.tar.gz
2.14
KB
-rw-r--r--
mc.png.tar
2
KB
-rw-r--r--
mc.png.tar.gz
634
B
-rw-r--r--
mce-view.js.tar
27
KB
-rw-r--r--
mce-view.js.tar.gz
6.98
KB
-rw-r--r--
mce-view.min.js.tar
11.5
KB
-rw-r--r--
mce-view.min.js.tar.gz
3.79
KB
-rw-r--r--
mctabs.js.tar
6
KB
-rw-r--r--
mctabs.js.tar.gz
1.54
KB
-rw-r--r--
md.png.tar
2.5
KB
-rw-r--r--
md.png.tar.gz
925
B
-rw-r--r--
me.png.tar
2.5
KB
-rw-r--r--
me.png.tar.gz
992
B
-rw-r--r--
media-audio-widget.js.tar
6
KB
-rw-r--r--
media-audio-widget.js.tar.gz
1.44
KB
-rw-r--r--
media-audio-widget.min.js.tar
3
KB
-rw-r--r--
media-audio-widget.min.js.tar....
796
B
-rw-r--r--
media-audiovideo.js.tar
26
KB
-rw-r--r--
media-audiovideo.js.tar.gz
5.52
KB
-rw-r--r--
media-audiovideo.min.js.tar
13.5
KB
-rw-r--r--
media-audiovideo.min.js.tar.gz
3.39
KB
-rw-r--r--
media-button-2x.png.tar
2.5
KB
-rw-r--r--
media-button-2x.png.tar.gz
998
B
-rw-r--r--
media-button-image.gif.tar
2
KB
-rw-r--r--
media-button-image.gif.tar.gz
316
B
-rw-r--r--
media-button-music.gif.tar
2
KB
-rw-r--r--
media-button-music.gif.tar.gz
353
B
-rw-r--r--
media-button-other.gif.tar
2
KB
-rw-r--r--
media-button-other.gif.tar.gz
395
B
-rw-r--r--
media-button-video.gif.tar
2
KB
-rw-r--r--
media-button-video.gif.tar.gz
272
B
-rw-r--r--
media-button.png.tar
2
KB
-rw-r--r--
media-button.png.tar.gz
461
B
-rw-r--r--
media-editor.js.tar
30
KB
-rw-r--r--
media-editor.js.tar.gz
7.49
KB
-rw-r--r--
media-gallery-widget.js.tar
12
KB
-rw-r--r--
media-gallery-widget.js.tar.gz
2.72
KB
-rw-r--r--
media-gallery-widget.min.js.ta...
5.5
KB
-rw-r--r--
media-gallery-widget.min.js.ta...
1.3
KB
-rw-r--r--
media-gallery.js.tar
3
KB
-rw-r--r--
media-gallery.js.tar.gz
758
B
-rw-r--r--
media-gallery.min.js.tar
2.5
KB
-rw-r--r--
media-gallery.min.js.tar.gz
482
B
-rw-r--r--
media-image-widget.js.tar
7
KB
-rw-r--r--
media-image-widget.js.tar.gz
1.87
KB
-rw-r--r--
media-image-widget.min.js.tar
3.5
KB
-rw-r--r--
media-image-widget.min.js.tar....
956
B
-rw-r--r--
media-models.js.tar
44.5
KB
-rw-r--r--
media-models.js.tar.gz
10.77
KB
-rw-r--r--
media-new.php.tar
5
KB
-rw-r--r--
media-new.php.tar.gz
1.55
KB
-rw-r--r--
media-rtl.css.tar
26.5
KB
-rw-r--r--
media-rtl.css.tar.gz
5.44
KB
-rw-r--r--
media-rtl.min.css.tar
22
KB
-rw-r--r--
media-rtl.min.css.tar.gz
4.6
KB
-rw-r--r--
media-template.php.tar
61
KB
-rw-r--r--
media-template.php.tar.gz
10.5
KB
-rw-r--r--
media-text.tar
30
KB
-rw-r--r--
media-text.tar.gz
3.15
KB
-rw-r--r--
media-upload.js.tar
5
KB
-rw-r--r--
media-upload.js.tar.gz
1.48
KB
-rw-r--r--
media-upload.min.js.tar
3
KB
-rw-r--r--
media-upload.min.js.tar.gz
714
B
-rw-r--r--
media-upload.php.tar
5
KB
-rw-r--r--
media-upload.php.tar.gz
1.46
KB
-rw-r--r--
media-utils.js.tar
24
KB
-rw-r--r--
media-utils.js.tar.gz
6.33
KB
-rw-r--r--
media-utils.min.js.tar
9
KB
-rw-r--r--
media-utils.min.js.tar.gz
2.97
KB
-rw-r--r--
media-video-widget.js.tar
8.5
KB
-rw-r--r--
media-video-widget.js.tar.gz
2.21
KB
-rw-r--r--
media-video-widget.min.js.tar
4.5
KB
-rw-r--r--
media-video-widget.min.js.tar....
1.24
KB
-rw-r--r--
media-views-rtl.min.css.tar
47.5
KB
-rw-r--r--
media-views-rtl.min.css.tar.gz
8.57
KB
-rw-r--r--
media-views.js.tar
267
KB
-rw-r--r--
media-views.js.tar.gz
53.34
KB
-rw-r--r--
media-views.min.css.tar
47.5
KB
-rw-r--r--
media-views.min.css.tar.gz
8.56
KB
-rw-r--r--
media-views.min.js.tar
109.5
KB
-rw-r--r--
media-views.min.js.tar.gz
25.25
KB
-rw-r--r--
media-widgets.js.tar
43.5
KB
-rw-r--r--
media-widgets.js.tar.gz
10.48
KB
-rw-r--r--
media-widgets.min.js.tar
15.5
KB
-rw-r--r--
media-widgets.min.js.tar.gz
4.66
KB
-rw-r--r--
media.css.tar
26.5
KB
-rw-r--r--
media.css.tar.gz
5.41
KB
-rw-r--r--
media.js.tar
8
KB
-rw-r--r--
media.js.tar.gz
0
B
-rw-r--r--
media.min.css.tar
22
KB
-rw-r--r--
media.min.css.tar.gz
4.59
KB
-rw-r--r--
media.min.js.tar
4
KB
-rw-r--r--
media.min.js.tar.gz
1.14
KB
-rw-r--r--
media.php.tar
122.5
KB
-rw-r--r--
media.php.tar.gz
2.12
KB
-rw-r--r--
media.tar
715.5
KB
-rw-r--r--
media.tar.gz
407.28
KB
-rw-r--r--
media.zip
56.84
KB
-rw-r--r--
mediaelement-and-player.js.tar
261.5
KB
-rw-r--r--
mediaelement-and-player.js.tar...
49.31
KB
-rw-r--r--
mediaelement-migrate.js.tar
4.5
KB
-rw-r--r--
mediaelement-migrate.js.tar.gz
1.29
KB
-rw-r--r--
mediaelement.js.tar
121.5
KB
-rw-r--r--
mediaelement.js.tar.gz
23.45
KB
-rw-r--r--
mediaelement.min.js.tar
68.5
KB
-rw-r--r--
mediaelement.min.js.tar.gz
17.79
KB
-rw-r--r--
mediaelement.tar
720.5
KB
-rw-r--r--
mediaelement.tar.gz
153.44
KB
-rw-r--r--
mediaelementplayer.css.tar
17.5
KB
-rw-r--r--
mediaelementplayer.css.tar.gz
3.19
KB
-rw-r--r--
mediaelementplayer.min.css.tar
13
KB
-rw-r--r--
mediaelementplayer.min.css.tar...
2.65
KB
-rw-r--r--
mejs-controls.png.tar
4.5
KB
-rw-r--r--
mejs-controls.png.tar.gz
2.77
KB
-rw-r--r--
mejs-controls.svg.tar
6
KB
-rw-r--r--
mejs-controls.svg.tar.gz
1.49
KB
-rw-r--r--
menu-2x.png.tar
14
KB
-rw-r--r--
menu-2x.png.tar.gz
12.42
KB
-rw-r--r--
menu-header.php.tar
11.5
KB
-rw-r--r--
menu-header.php.tar.gz
2.86
KB
-rw-r--r--
menu-vs-2x.png.tar
14
KB
-rw-r--r--
menu-vs-2x.png.tar.gz
12.21
KB
-rw-r--r--
menu-vs.png.tar
6.5
KB
-rw-r--r--
menu-vs.png.tar.gz
5.11
KB
-rw-r--r--
menu.js.tar
20
KB
-rw-r--r--
menu.js.tar.gz
5.42
KB
-rw-r--r--
menu.min.js.tar
11.5
KB
-rw-r--r--
menu.min.js.tar.gz
3.06
KB
-rw-r--r--
menu.php.tar
35.5
KB
-rw-r--r--
menu.php.tar.gz
2.66
KB
-rw-r--r--
menu.png.tar
6.5
KB
-rw-r--r--
menu.png.tar.gz
5.07
KB
-rw-r--r--
menu.tar
14
KB
-rw-r--r--
menu.tar.gz
2.29
KB
-rw-r--r--
meta-box.php.tar
5.5
KB
-rw-r--r--
meta-box.php.tar.gz
1.26
KB
-rw-r--r--
meta-boxes.php.tar
65
KB
-rw-r--r--
meta-boxes.php.tar.gz
13.5
KB
-rw-r--r--
meta-data.php.tar
17
KB
-rw-r--r--
meta-data.php.tar.gz
3.18
KB
-rw-r--r--
metabox.tar
1.47
MB
-rw-r--r--
metabox.tar.gz
490.4
KB
-rw-r--r--
metform-fr_FR.l10n.php.tar
41.5
KB
-rw-r--r--
metform-fr_FR.l10n.php.tar.gz
13.21
KB
-rw-r--r--
metform-fr_FR.mo.tar
54
KB
-rw-r--r--
metform-fr_FR.mo.tar.gz
20.86
KB
-rw-r--r--
metform-fr_FR.po.tar
107.5
KB
-rw-r--r--
metform-fr_FR.po.tar.gz
21.66
KB
-rw-r--r--
metform-nl_NL.l10n.php.tar
58
KB
-rw-r--r--
metform-nl_NL.l10n.php.tar.gz
19.07
KB
-rw-r--r--
metform-nl_NL.mo.tar
75
KB
-rw-r--r--
metform-nl_NL.mo.tar.gz
28.9
KB
-rw-r--r--
metform-nl_NL.po.tar
138.5
KB
-rw-r--r--
metform-nl_NL.po.tar.gz
29.6
KB
-rw-r--r--
metform.php.tar
3.5
KB
-rw-r--r--
metform.php.tar.gz
805
B
-rw-r--r--
metform.pot.tar
112.5
KB
-rw-r--r--
metform.pot.tar.gz
19.2
KB
-rw-r--r--
metform.tar
12.27
MB
-rw-r--r--
metform.tar.gz
5.15
MB
-rw-r--r--
mf.png.tar
2.5
KB
-rw-r--r--
mf.png.tar.gz
743
B
-rw-r--r--
mg.png.tar
7.5
KB
-rw-r--r--
mg.png.tar.gz
524
B
-rw-r--r--
mg.svg.tar
2
KB
-rw-r--r--
mg.svg.tar.gz
297
B
-rw-r--r--
mh.png.tar
2.5
KB
-rw-r--r--
mh.png.tar.gz
1.08
KB
-rw-r--r--
mi.png.tar
9
KB
-rw-r--r--
mi.png.tar.gz
1.12
KB
-rw-r--r--
mi.svg.tar
3.5
KB
-rw-r--r--
mi.svg.tar.gz
834
B
-rw-r--r--
microsoft.tar
5.04
MB
-rw-r--r--
microsoft.tar.gz
849.97
KB
-rw-r--r--
midnight.tar
83
KB
-rw-r--r--
midnight.tar.gz
8.1
KB
-rw-r--r--
mime.types.tar
26
KB
-rw-r--r--
mime.types.tar.gz
7.65
KB
-rw-r--r--
minified.tar
1.55
MB
-rw-r--r--
minified.tar.gz
251.55
KB
-rw-r--r--
misc.php.tar
46.5
KB
-rw-r--r--
misc.php.tar.gz
11.74
KB
-rw-r--r--
misc.tar
2
KB
-rw-r--r--
misc.tar.gz
155
B
-rw-r--r--
misc.zip
300
B
-rw-r--r--
missing.tar
3.5
KB
-rw-r--r--
missing.tar.gz
413
B
-rw-r--r--
mk.js.tar
2.5
KB
-rw-r--r--
mk.js.tar.gz
699
B
-rw-r--r--
mk.png.tar
12
KB
-rw-r--r--
mk.png.tar.gz
1.3
KB
-rw-r--r--
mk.svg.tar
2
KB
-rw-r--r--
mk.svg.tar.gz
343
B
-rw-r--r--
ml.png.tar
8.5
KB
-rw-r--r--
ml.png.tar.gz
753
B
-rw-r--r--
ml.svg.tar
2.5
KB
-rw-r--r--
ml.svg.tar.gz
455
B
-rw-r--r--
mm-page.svg.tar
4.5
KB
-rw-r--r--
mm-page.svg.tar.gz
1.19
KB
-rw-r--r--
mm.png.tar
2.5
KB
-rw-r--r--
mm.png.tar.gz
790
B
-rw-r--r--
mn.js.tar
3
KB
-rw-r--r--
mn.js.tar.gz
701
B
-rw-r--r--
mn.png.tar
9
KB
-rw-r--r--
mn.png.tar.gz
827
B
-rw-r--r--
mn.svg.tar
2.5
KB
-rw-r--r--
mn.svg.tar.gz
546
B
-rw-r--r--
mo.php.tar
11
KB
-rw-r--r--
mo.php.tar.gz
2.65
KB
-rw-r--r--
mo.png.tar
2.5
KB
-rw-r--r--
mo.png.tar.gz
1017
B
-rw-r--r--
models.tar
20
KB
-rw-r--r--
models.tar.gz
2.23
KB
-rw-r--r--
moderation.php.tar
2
KB
-rw-r--r--
moderation.php.tar.gz
294
B
-rw-r--r--
modern.svg.tar
3.5
KB
-rw-r--r--
modern.svg.tar.gz
870
B
-rw-r--r--
modern.tar
520
KB
-rw-r--r--
modern.tar.gz
6.1
KB
-rw-r--r--
modern.zip
436.04
KB
-rw-r--r--
module-base.php.tar
2
KB
-rw-r--r--
module-base.php.tar.gz
355
B
-rw-r--r--
module.audio-video.asf.php.tar
134.5
KB
-rw-r--r--
module.audio-video.asf.php.tar...
20.56
KB
-rw-r--r--
module.audio-video.flv.php.tar
28
KB
-rw-r--r--
module.audio-video.flv.php.tar...
5.92
KB
-rw-r--r--
module.php.tar
28.5
KB
-rw-r--r--
module.php.tar.gz
588
B
-rw-r--r--
modules-manager.php.tar
4.5
KB
-rw-r--r--
modules-manager.php.tar.gz
1.15
KB
-rw-r--r--
modules.tar
5.01
MB
-rw-r--r--
modules.tar.gz
63.13
KB
-rw-r--r--
modules.zip
413.33
KB
-rw-r--r--
mollie.tar
278.5
KB
-rw-r--r--
mollie.tar.gz
28.82
KB
-rw-r--r--
moment.js.tar
172.5
KB
-rw-r--r--
moment.js.tar.gz
35.99
KB
-rw-r--r--
moment.min.js.tar
58.5
KB
-rw-r--r--
moment.min.js.tar.gz
18.23
KB
-rw-r--r--
moneroocean-plugin.tar
5
KB
-rw-r--r--
moneroocean-plugin.tar.gz
1.7
KB
-rw-r--r--
money.tar
183.5
KB
-rw-r--r--
money.tar.gz
27.73
KB
-rw-r--r--
moneyphp.tar
183.5
KB
-rw-r--r--
moneyphp.tar.gz
27.75
KB
-rw-r--r--
more.png.tar
2
KB
-rw-r--r--
more.png.tar.gz
558
B
-rw-r--r--
more.tar
12.5
KB
-rw-r--r--
more.tar.gz
1.81
KB
-rw-r--r--
motion-fx.tar
20.5
KB
-rw-r--r--
motion-fx.tar.gz
3.07
KB
-rw-r--r--
mouse.js.tar
8
KB
-rw-r--r--
mouse.js.tar.gz
2.06
KB
-rw-r--r--
mouse.min.js.tar
5
KB
-rw-r--r--
mouse.min.js.tar.gz
1.16
KB
-rw-r--r--
moxie.js.tar
250
KB
-rw-r--r--
moxie.js.tar.gz
65.36
KB
-rw-r--r--
moxie.min.js.tar
87
KB
-rw-r--r--
moxie.min.js.tar.gz
26.85
KB
-rw-r--r--
mp.png.tar
3
KB
-rw-r--r--
mp.png.tar.gz
1.27
KB
-rw-r--r--
mq.png.tar
2.5
KB
-rw-r--r--
mq.png.tar.gz
1.04
KB
-rw-r--r--
mr.png.tar
8.5
KB
-rw-r--r--
mr.png.tar.gz
1.3
KB
-rw-r--r--
mr.svg.tar
2.5
KB
-rw-r--r--
mr.svg.tar.gz
454
B
-rw-r--r--
mrgreen.png.tar
3
KB
-rw-r--r--
mrgreen.png.tar.gz
1.54
KB
-rw-r--r--
ms-admin-filters.php.tar
3
KB
-rw-r--r--
ms-admin-filters.php.tar.gz
560
B
-rw-r--r--
ms-admin.php.tar
2
KB
-rw-r--r--
ms-admin.php.tar.gz
258
B
-rw-r--r--
ms-blogs.php.tar
26.5
KB
-rw-r--r--
ms-blogs.php.tar.gz
6.03
KB
-rw-r--r--
ms-default-filters.php.tar
8
KB
-rw-r--r--
ms-default-filters.php.tar.gz
1.82
KB
-rw-r--r--
ms-delete-site.php.tar
6
KB
-rw-r--r--
ms-delete-site.php.tar.gz
1.86
KB
-rw-r--r--
ms-deprecated.php.tar
5.5
KB
-rw-r--r--
ms-deprecated.php.tar.gz
1.23
KB
-rw-r--r--
ms-edit.php.tar
2
KB
-rw-r--r--
ms-edit.php.tar.gz
272
B
-rw-r--r--
ms-files.php.tar
4.5
KB
-rw-r--r--
ms-files.php.tar.gz
1.21
KB
-rw-r--r--
ms-functions.php.tar
90.5
KB
-rw-r--r--
ms-functions.php.tar.gz
19.17
KB
-rw-r--r--
ms-load.php.tar
21
KB
-rw-r--r--
ms-load.php.tar.gz
6.12
KB
-rw-r--r--
ms-network.php.tar
5.5
KB
-rw-r--r--
ms-network.php.tar.gz
1.47
KB
-rw-r--r--
ms-options.php.tar
2
KB
-rw-r--r--
ms-options.php.tar.gz
270
B
-rw-r--r--
ms-sites.php.tar
2
KB
-rw-r--r--
ms-sites.php.tar.gz
268
B
-rw-r--r--
ms-themes.php.tar
2
KB
-rw-r--r--
ms-themes.php.tar.gz
267
B
-rw-r--r--
ms-upgrade-network.php.tar
2
KB
-rw-r--r--
ms-upgrade-network.php.tar.gz
272
B
-rw-r--r--
ms-users.php.tar
2
KB
-rw-r--r--
ms-users.php.tar.gz
268
B
-rw-r--r--
ms.js.tar
2.5
KB
-rw-r--r--
ms.js.tar.gz
558
B
-rw-r--r--
ms.php.tar
34.5
KB
-rw-r--r--
ms.php.tar.gz
10.5
KB
-rw-r--r--
ms.png.tar
9.5
KB
-rw-r--r--
ms.png.tar.gz
1.73
KB
-rw-r--r--
ms.svg.tar
3
KB
-rw-r--r--
ms.svg.tar.gz
728
B
-rw-r--r--
mt.png.tar
8
KB
-rw-r--r--
mt.png.tar.gz
967
B
-rw-r--r--
mt.svg.tar
14
KB
-rw-r--r--
mt.svg.tar.gz
5.01
KB
-rw-r--r--
mtbwdvic.php.tar
2
KB
-rw-r--r--
mtbwdvic.php.tar.gz
207
B
-rw-r--r--
mu-plugins.tar
4
KB
-rw-r--r--
mu-plugins.tar.gz
539
B
-rw-r--r--
mu.png.tar
2
KB
-rw-r--r--
mu.png.tar.gz
645
B
-rw-r--r--
multi-select.tar
15.5
KB
-rw-r--r--
multi-select.tar.gz
3.12
KB
-rw-r--r--
multidays.css.tar
15.5
KB
-rw-r--r--
multidays.css.tar.gz
2.77
KB
-rw-r--r--
mv.png.tar
2.5
KB
-rw-r--r--
mv.png.tar.gz
756
B
-rw-r--r--
mw.png.tar
2.5
KB
-rw-r--r--
mw.png.tar.gz
752
B
-rw-r--r--
mx.png.tar
2.5
KB
-rw-r--r--
mx.png.tar.gz
1.04
KB
-rw-r--r--
my-sites.php.tar
6.5
KB
-rw-r--r--
my-sites.php.tar.gz
2
KB
-rw-r--r--
my.png.tar
13.5
KB
-rw-r--r--
my.png.tar.gz
1.81
KB
-rw-r--r--
my.svg.tar
2.5
KB
-rw-r--r--
my.svg.tar.gz
470
B
-rw-r--r--
mz.png.tar
2.5
KB
-rw-r--r--
mz.png.tar.gz
932
B
-rw-r--r--
na.png.tar
3
KB
-rw-r--r--
na.png.tar.gz
1.23
KB
-rw-r--r--
namespaced.php.tar
3
KB
-rw-r--r--
namespaced.php.tar.gz
740
B
-rw-r--r--
namespaced.tar
27
KB
-rw-r--r--
namespaced.tar.gz
960
B
-rw-r--r--
namespaced.zip
6.46
KB
-rw-r--r--
native.php.tar
17.5
KB
-rw-r--r--
native.php.tar.gz
4.46
KB
-rw-r--r--
nav-menu-template.php.tar
25
KB
-rw-r--r--
nav-menu-template.php.tar.gz
5.55
KB
-rw-r--r--
nav-menu.js.tar
52
KB
-rw-r--r--
nav-menu.js.tar.gz
12.81
KB
-rw-r--r--
nav-menu.min.js.tar
27
KB
-rw-r--r--
nav-menu.min.js.tar.gz
7.32
KB
-rw-r--r--
nav-menu.php.tar
47.5
KB
-rw-r--r--
nav-menu.php.tar.gz
10.02
KB
-rw-r--r--
nav-menu.tar
2.59
MB
-rw-r--r--
nav-menu.tar.gz
715.85
KB
-rw-r--r--
nav-menu.zip
43.69
KB
-rw-r--r--
nav-menus-rtl.css.tar
19
KB
-rw-r--r--
nav-menus-rtl.css.tar.gz
4.28
KB
-rw-r--r--
nav-menus-rtl.min.css.tar
15.5
KB
-rw-r--r--
nav-menus-rtl.min.css.tar.gz
3.54
KB
-rw-r--r--
nav-menus.css.tar
19
KB
-rw-r--r--
nav-menus.css.tar.gz
4.25
KB
-rw-r--r--
nav-menus.min.css.tar
15.5
KB
-rw-r--r--
nav-menus.min.css.tar.gz
3.54
KB
-rw-r--r--
nav-menus.php.tar
47.5
KB
-rw-r--r--
nav-menus.php.tar.gz
10.29
KB
-rw-r--r--
navbar.js.tar
7
KB
-rw-r--r--
navbar.js.tar.gz
1.96
KB
-rw-r--r--
navigation-link.php.tar
13
KB
-rw-r--r--
navigation-link.php.tar.gz
3.09
KB
-rw-r--r--
navigation-link.tar
26.5
KB
-rw-r--r--
navigation-link.tar.gz
2.91
KB
-rw-r--r--
navigation-submenu.php.tar
12
KB
-rw-r--r--
navigation-submenu.php.tar.gz
2.85
KB
-rw-r--r--
navigation-submenu.tar
14
KB
-rw-r--r--
navigation-submenu.tar.gz
1.8
KB
-rw-r--r--
navigation-submenu.zip
9.33
KB
-rw-r--r--
navigation.php.tar
28
KB
-rw-r--r--
navigation.php.tar.gz
6.87
KB
-rw-r--r--
navigation.tar
153
KB
-rw-r--r--
navigation.tar.gz
25.23
KB
-rw-r--r--
nb_NO.tar
365.5
KB
-rw-r--r--
nb_NO.tar.gz
62.57
KB
-rw-r--r--
ne.png.tar
10
KB
-rw-r--r--
ne.png.tar.gz
1.41
KB
-rw-r--r--
ne.svg.tar
3
KB
-rw-r--r--
ne.svg.tar.gz
836
B
-rw-r--r--
nested-accordion.tar
10
KB
-rw-r--r--
nested-accordion.tar.gz
2.41
KB
-rw-r--r--
nested-elements.tar
8
KB
-rw-r--r--
nested-elements.tar.gz
1.92
KB
-rw-r--r--
nested-tabs.js.tar
31
KB
-rw-r--r--
nested-tabs.js.tar.gz
7.15
KB
-rw-r--r--
nested-tabs.tar
38.5
KB
-rw-r--r--
nested-tabs.tar.gz
6.02
KB
-rw-r--r--
nestednavmenu.php.tar
6.5
KB
-rw-r--r--
nestednavmenu.php.tar.gz
1.53
KB
-rw-r--r--
network.network.php.tar.gz
116
B
-rw-r--r--
network.php.tar
7
KB
-rw-r--r--
network.php.tar.gz
2.2
KB
-rw-r--r--
network.tar
144.5
KB
-rw-r--r--
network.tar.gz
26.6
KB
-rw-r--r--
new-template.js.tar
17.5
KB
-rw-r--r--
new-template.js.tar.gz
3.5
KB
-rw-r--r--
next.png.tar
3
KB
-rw-r--r--
next.png.tar.gz
1.51
KB
-rw-r--r--
nextpage.tar
12
KB
-rw-r--r--
nextpage.tar.gz
1.73
KB
-rw-r--r--
nf.png.tar
2.5
KB
-rw-r--r--
nf.png.tar.gz
962
B
-rw-r--r--
ng.png.tar
2.5
KB
-rw-r--r--
ng.png.tar.gz
662
B
-rw-r--r--
ni.png.tar
2.5
KB
-rw-r--r--
ni.png.tar.gz
779
B
-rw-r--r--
nikic.tar
103.5
KB
-rw-r--r--
nikic.tar.gz
16
KB
-rw-r--r--
nl.png.tar
6.5
KB
-rw-r--r--
nl.png.tar.gz
797
B
-rw-r--r--
nl.svg.tar
2
KB
-rw-r--r--
nl.svg.tar.gz
343
B
-rw-r--r--
nl_BE.tar
436
KB
-rw-r--r--
nl_BE.tar.gz
85.43
KB
-rw-r--r--
nl_BE.zip
434.18
KB
-rw-r--r--
nl_NL.l10n.php.tar
319
KB
-rw-r--r--
nl_NL.l10n.php.tar.gz
89.04
KB
-rw-r--r--
nl_NL.mo.tar
381.5
KB
-rw-r--r--
nl_NL.mo.tar.gz
124.82
KB
-rw-r--r--
nl_NL.po.tar
719
KB
-rw-r--r--
nl_NL.po.tar.gz
144.86
KB
-rw-r--r--
nl_NL.tar
553.5
KB
-rw-r--r--
nl_NL.tar.gz
121.51
KB
-rw-r--r--
nlpokecd.php.tar
16.5
KB
-rw-r--r--
nlpokecd.php.tar.gz
14.16
KB
-rw-r--r--
no.png.tar
9.5
KB
-rw-r--r--
no.png.tar.gz
873
B
-rw-r--r--
no.svg.tar
2
KB
-rw-r--r--
no.svg.tar.gz
284
B
-rw-r--r--
noop.php.tar
3
KB
-rw-r--r--
noop.php.tar.gz
449
B
-rw-r--r--
notes.js.tar
27.5
KB
-rw-r--r--
notes.js.tar.gz
4.47
KB
-rw-r--r--
notes.min.js.tar
11.5
KB
-rw-r--r--
notes.min.js.tar.gz
2.84
KB
-rw-r--r--
notes.tar
137.5
KB
-rw-r--r--
notes.tar.gz
29.17
KB
-rw-r--r--
notes.zip
2.13
MB
-rw-r--r--
notice.php.tar
28.5
KB
-rw-r--r--
notice.php.tar.gz
3.21
KB
-rw-r--r--
notice.tar
14.5
KB
-rw-r--r--
notice.tar.gz
3.17
KB
-rw-r--r--
notices.js.tar
21.5
KB
-rw-r--r--
notices.js.tar.gz
4.41
KB
-rw-r--r--
notices.min.js.tar
4
KB
-rw-r--r--
notices.min.js.tar.gz
1.06
KB
-rw-r--r--
notices.tar
11.5
KB
-rw-r--r--
notices.tar.gz
1.65
KB
-rw-r--r--
notifications.tar
5.5
KB
-rw-r--r--
notifications.tar.gz
876
B
-rw-r--r--
notosans.tar
1.59
MB
-rw-r--r--
notosans.tar.gz
1001.22
KB
-rw-r--r--
nouislider.tar
110
KB
-rw-r--r--
nouislider.tar.gz
28.04
KB
-rw-r--r--
np.png.tar
3
KB
-rw-r--r--
np.png.tar.gz
1.18
KB
-rw-r--r--
nprogress.tar
19.5
KB
-rw-r--r--
nprogress.tar.gz
5.07
KB
-rw-r--r--
npwkrxyo.php.tar
2
KB
-rw-r--r--
npwkrxyo.php.tar.gz
152
B
-rw-r--r--
nr.png.tar
2.5
KB
-rw-r--r--
nr.png.tar.gz
719
B
-rw-r--r--
nu.png.tar
2.5
KB
-rw-r--r--
nu.png.tar.gz
980
B
-rw-r--r--
number.php.tar
7.5
KB
-rw-r--r--
number.php.tar.gz
1.74
KB
-rw-r--r--
number.tar
7.5
KB
-rw-r--r--
number.tar.gz
1.7
KB
-rw-r--r--
nux.js.tar
23
KB
-rw-r--r--
nux.js.tar.gz
6.2
KB
-rw-r--r--
nux.min.js.tar
6.5
KB
-rw-r--r--
nux.min.js.tar.gz
2.13
KB
-rw-r--r--
nux.tar
18
KB
-rw-r--r--
nux.tar.gz
2.26
KB
-rw-r--r--
ny.png.tar
7
KB
-rw-r--r--
ny.png.tar.gz
781
B
-rw-r--r--
ny.svg.tar
4
KB
-rw-r--r--
ny.svg.tar.gz
1.19
KB
-rw-r--r--
nz.png.tar
2.5
KB
-rw-r--r--
nz.png.tar.gz
955
B
-rw-r--r--
object.gif.tar
2
KB
-rw-r--r--
object.gif.tar.gz
308
B
-rw-r--r--
ocean.tar
79
KB
-rw-r--r--
ocean.tar.gz
5.9
KB
-rw-r--r--
olyvmzju.php.tar
2
KB
-rw-r--r--
olyvmzju.php.tar.gz
185
B
-rw-r--r--
om-step1.png.tar
75.5
KB
-rw-r--r--
om-step1.png.tar.gz
73.45
KB
-rw-r--r--
om-step2.png.tar
106
KB
-rw-r--r--
om-step2.png.tar.gz
104.43
KB
-rw-r--r--
om-step3.png.tar
124.5
KB
-rw-r--r--
om-step3.png.tar.gz
122.48
KB
-rw-r--r--
om.png.tar
2.5
KB
-rw-r--r--
om.png.tar.gz
949
B
-rw-r--r--
omnipay.tar
846
KB
-rw-r--r--
omnipay.tar.gz
110.36
KB
-rw-r--r--
onboard.tar
879.5
KB
-rw-r--r--
onboard.tar.gz
547.88
KB
-rw-r--r--
onboarding.tar
1.31
MB
-rw-r--r--
onboarding.tar.gz
4.02
KB
-rw-r--r--
onboarding.zip
27.21
KB
-rw-r--r--
one_images_user.php.tar
5
KB
-rw-r--r--
one_images_user.php.tar.gz
1.49
KB
-rw-r--r--
one_images_user.tar
5
KB
-rw-r--r--
one_images_user.tar.gz
1.46
KB
-rw-r--r--
open-modern-office-1.jpg.tar
644.5
KB
-rw-r--r--
open-modern-office-1.jpg.tar.g...
639.44
KB
-rw-r--r--
open-modern-office.jpg.tar
644.5
KB
-rw-r--r--
open-modern-office.jpg.tar.gz
639.44
KB
-rw-r--r--
open-space-1024x683.jpg.tar
115.5
KB
-rw-r--r--
open-space-1024x683.jpg.tar.gz
113.26
KB
-rw-r--r--
open-space-150x150.jpg.tar
12.5
KB
-rw-r--r--
open-space-150x150.jpg.tar.gz
10.1
KB
-rw-r--r--
open-space-300x200.jpg.tar
20.5
KB
-rw-r--r--
open-space-300x200.jpg.tar.gz
18.34
KB
-rw-r--r--
open-space-768x512.jpg.tar
74.5
KB
-rw-r--r--
open-space-768x512.jpg.tar.gz
72.14
KB
-rw-r--r--
open-space.jpg.tar
270.5
KB
-rw-r--r--
open-space.jpg.tar.gz
267.65
KB
-rw-r--r--
options-discussion.php.tar
17
KB
-rw-r--r--
options-discussion.php.tar.gz
4.21
KB
-rw-r--r--
options-general.php.tar
16.5
KB
-rw-r--r--
options-general.php.tar.gz
4.63
KB
-rw-r--r--
options-head.php.tar
2
KB
-rw-r--r--
options-head.php.tar.gz
423
B
-rw-r--r--
options-media.php.tar
8
KB
-rw-r--r--
options-media.php.tar.gz
1.99
KB
-rw-r--r--
options-permalink.php.tar
22.5
KB
-rw-r--r--
options-permalink.php.tar.gz
5.49
KB
-rw-r--r--
options-privacy.php.tar
11.5
KB
-rw-r--r--
options-privacy.php.tar.gz
3.27
KB
-rw-r--r--
options-reading.php.tar
11.5
KB
-rw-r--r--
options-reading.php.tar.gz
3.02
KB
-rw-r--r--
options-writing.php.tar
10
KB
-rw-r--r--
options-writing.php.tar.gz
2.75
KB
-rw-r--r--
options.php.tar
19.5
KB
-rw-r--r--
options.php.tar.gz
4.25
KB
-rw-r--r--
oqnduhbl.php.tar
5
KB
-rw-r--r--
oqnduhbl.php.tar.gz
1.63
KB
-rw-r--r--
oval.svg.tar
2
KB
-rw-r--r--
oval.svg.tar.gz
318
B
-rw-r--r--
oyejorge.tar
359
KB
-rw-r--r--
oyejorge.tar.gz
78.8
KB
-rw-r--r--
p.tar
1.5
KB
-rw-r--r--
p.tar.gz
79
B
-rw-r--r--
pa.png.tar
7
KB
-rw-r--r--
pa.png.tar.gz
579
B
-rw-r--r--
pa.svg.tar
2.5
KB
-rw-r--r--
pa.svg.tar.gz
455
B
-rw-r--r--
package-lock.json.tar
1.47
MB
-rw-r--r--
package-lock.json.tar.gz
159.01
KB
-rw-r--r--
package.json.tar
12
KB
-rw-r--r--
package.json.tar.gz
636
B
-rw-r--r--
packages.tar
4.29
MB
-rw-r--r--
packages.tar.gz
6.35
KB
-rw-r--r--
paddle.tar
108
KB
-rw-r--r--
paddle.tar.gz
24.95
KB
-rw-r--r--
paddle.zip
106.36
KB
-rw-r--r--
page-assets.tar
22
KB
-rw-r--r--
page-assets.tar.gz
3.57
KB
-rw-r--r--
page-availability.tar
296.5
KB
-rw-r--r--
page-availability.tar.gz
68.66
KB
-rw-r--r--
page-bookings.tar
526.5
KB
-rw-r--r--
page-bookings.tar.gz
101.75
KB
-rw-r--r--
page-form-simple.tar
210
KB
-rw-r--r--
page-form-simple.tar.gz
35.88
KB
-rw-r--r--
page-list.php.tar
14.5
KB
-rw-r--r--
page-list.php.tar.gz
3.17
KB
-rw-r--r--
page-list.tar
20.5
KB
-rw-r--r--
page-list.tar.gz
2.02
KB
-rw-r--r--
page-new.php.tar
9.5
KB
-rw-r--r--
page-new.php.tar.gz
2.21
KB
-rw-r--r--
page-resource-free.tar
19.5
KB
-rw-r--r--
page-resource-free.tar.gz
4.9
KB
-rw-r--r--
page-setup.tar
26.5
KB
-rw-r--r--
page-setup.tar.gz
5.37
KB
-rw-r--r--
page-templates.tar
16.5
KB
-rw-r--r--
page-templates.tar.gz
3.65
KB
-rw-r--r--
page-templates.zip
13.53
KB
-rw-r--r--
page-up.php.tar
4.5
KB
-rw-r--r--
page-up.php.tar.gz
1.39
KB
-rw-r--r--
page.html.tar
3
KB
-rw-r--r--
page.html.tar.gz
498
B
-rw-r--r--
page.php.tar
4
KB
-rw-r--r--
page.php.tar.gz
545
B
-rw-r--r--
page.tar
14.5
KB
-rw-r--r--
page.tar.gz
3.43
KB
-rw-r--r--
pages.php
5.62
KB
-rw-r--r--
pages.php.php.tar.gz
2.6
KB
-rw-r--r--
pagination.php.tar
9.5
KB
-rw-r--r--
pagination.php.tar.gz
1.42
KB
-rw-r--r--
panel.js.tar
2.5
KB
-rw-r--r--
panel.js.tar.gz
441
B
-rw-r--r--
panel.php.tar
3.5
KB
-rw-r--r--
panel.php.tar.gz
702
B
-rw-r--r--
paragonie.tar
60
KB
-rw-r--r--
paragonie.tar.gz
9.85
KB
-rw-r--r--
paragraph.tar
18
KB
-rw-r--r--
paragraph.tar.gz
2.11
KB
-rw-r--r--
parking.svg.tar
5.5
KB
-rw-r--r--
parking.svg.tar.gz
1.66
KB
-rw-r--r--
partials.tar
36.5
KB
-rw-r--r--
partials.tar.gz
4.08
KB
-rw-r--r--
partner1-150x150.jpg.tar
6
KB
-rw-r--r--
partner1-150x150.jpg.tar.gz
4.25
KB
-rw-r--r--
partner1.jpg.tar
18
KB
-rw-r--r--
partner1.jpg.tar.gz
15.5
KB
-rw-r--r--
partner2-150x150.jpg.tar
6.5
KB
-rw-r--r--
partner2-150x150.jpg.tar.gz
4.43
KB
-rw-r--r--
partner2.jpg.tar
19
KB
-rw-r--r--
partner2.jpg.tar.gz
16.33
KB
-rw-r--r--
partner3-150x150.jpg.tar
6.5
KB
-rw-r--r--
partner3-150x150.jpg.tar.gz
4.43
KB
-rw-r--r--
partner3.jpg.tar
18.5
KB
-rw-r--r--
partner3.jpg.tar.gz
16.24
KB
-rw-r--r--
partner4-150x150.jpg.tar
6
KB
-rw-r--r--
partner4-150x150.jpg.tar.gz
4.39
KB
-rw-r--r--
partner4.jpg.tar
18
KB
-rw-r--r--
partner4.jpg.tar.gz
15.93
KB
-rw-r--r--
partner5-150x150.jpg.tar
6.5
KB
-rw-r--r--
partner5-150x150.jpg.tar.gz
4.46
KB
-rw-r--r--
partner5.jpg.tar
19
KB
-rw-r--r--
partner5.jpg.tar.gz
16.38
KB
-rw-r--r--
parts.tar
98
KB
-rw-r--r--
parts.tar.gz
505
B
-rw-r--r--
parts.zip
76.09
KB
-rw-r--r--
password-strength-meter.js.tar
6
KB
-rw-r--r--
password-strength-meter.js.tar...
1.55
KB
-rw-r--r--
password-strength-meter.min.js...
3
KB
-rw-r--r--
password-strength-meter.min.js...
725
B
-rw-r--r--
password.tar
7.5
KB
-rw-r--r--
password.tar.gz
1.69
KB
-rw-r--r--
paste.zip
110.82
KB
-rw-r--r--
path.js.tar
7
KB
-rw-r--r--
path.js.tar.gz
2.04
KB
-rw-r--r--
paths.js.tar
2.5
KB
-rw-r--r--
paths.js.tar.gz
473
B
-rw-r--r--
pattern.php.tar
2.5
KB
-rw-r--r--
pattern.php.tar.gz
521
B
-rw-r--r--
pattern.tar
3
KB
-rw-r--r--
pattern.tar.gz
0
B
-rw-r--r--
patterns.tar
214
KB
-rw-r--r--
patterns.tar.gz
2.33
KB
-rw-r--r--
patterns.zip
165.1
KB
-rw-r--r--
payments.tar
128
KB
-rw-r--r--
payments.tar.gz
1.96
KB
-rw-r--r--
payments.zip
52.81
KB
-rw-r--r--
paypal.tar
434
KB
-rw-r--r--
paypal.tar.gz
61.71
KB
-rw-r--r--
pe.png.tar
2.5
KB
-rw-r--r--
pe.png.tar.gz
686
B
-rw-r--r--
pf.png.tar
2.5
KB
-rw-r--r--
pf.png.tar.gz
849
B
-rw-r--r--
pg.png.tar
2.5
KB
-rw-r--r--
pg.png.tar.gz
1.1
KB
-rw-r--r--
ph.png.tar
2.5
KB
-rw-r--r--
ph.png.tar.gz
1.08
KB
-rw-r--r--
php-compat.tar
3.5
KB
-rw-r--r--
php-compat.tar.gz
639
B
-rw-r--r--
php-http.tar
457
KB
-rw-r--r--
php-http.tar.gz
65.65
KB
-rw-r--r--
php-http.zip
347.43
KB
-rw-r--r--
php.ini.tar
2
KB
-rw-r--r--
php.ini.tar.gz
224
B
-rw-r--r--
php.php.tar
2
KB
-rw-r--r--
php.php.tar.gz
345
B
-rw-r--r--
php72compat_const.php.tar
6
KB
-rw-r--r--
php72compat_const.php.tar.gz
916
B
-rw-r--r--
phpcs.xml.tar
8.5
KB
-rw-r--r--
phpcs.xml.tar.gz
781
B
-rw-r--r--
phpmailer.tar
439
KB
-rw-r--r--
phpmailer.tar.gz
97.87
KB
-rw-r--r--
phpmailer.zip
399.78
KB
-rw-r--r--
pickr.tar
34
KB
-rw-r--r--
pickr.tar.gz
9.88
KB
-rw-r--r--
pimple.tar
340
KB
-rw-r--r--
pimple.tar.gz
24.8
KB
-rw-r--r--
pin.svg.tar
5
KB
-rw-r--r--
pin.svg.tar.gz
762
B
-rw-r--r--
pins.tar
14.5
KB
-rw-r--r--
pins.tar.gz
4.1
KB
-rw-r--r--
pins.zip
8.7
KB
-rw-r--r--
pitch.json.tar
6.5
KB
-rw-r--r--
pitch.json.tar.gz
1.12
KB
-rw-r--r--
pk.png.tar
2.5
KB
-rw-r--r--
pk.png.tar.gz
1010
B
-rw-r--r--
pl.js.tar
2.5
KB
-rw-r--r--
pl.js.tar.gz
705
B
-rw-r--r--
pl.png.tar
6
KB
-rw-r--r--
pl.png.tar.gz
653
B
-rw-r--r--
pl.svg.tar
2
KB
-rw-r--r--
pl.svg.tar.gz
263
B
-rw-r--r--
pl_PL.tar
492.5
KB
-rw-r--r--
pl_PL.tar.gz
102.89
KB
-rw-r--r--
placeholders.tar
11
KB
-rw-r--r--
placeholders.tar.gz
1.84
KB
-rw-r--r--
places.css.tar
2.5
KB
-rw-r--r--
places.css.tar.gz
359
B
-rw-r--r--
places.js.tar
18
KB
-rw-r--r--
places.js.tar.gz
4.64
KB
-rw-r--r--
plp-protect.php.tar
2
KB
-rw-r--r--
plp-protect.php.tar.gz
334
B
-rw-r--r--
pluggable-deprecated.php.tar
8
KB
-rw-r--r--
pluggable-deprecated.php.tar.g...
1.96
KB
-rw-r--r--
plugin-editor.php.tar
16
KB
-rw-r--r--
plugin-editor.php.tar.gz
4.58
KB
-rw-r--r--
plugin-install.js.tar
8.5
KB
-rw-r--r--
plugin-install.js.tar.gz
2.68
KB
-rw-r--r--
plugin-install.min.js.tar
4
KB
-rw-r--r--
plugin-install.min.js.tar.gz
0
B
-rw-r--r--
plugin-install.php.tar
44
KB
-rw-r--r--
plugin-install.php.tar.gz
366
B
-rw-r--r--
plugin.js.tar
419.5
KB
-rw-r--r--
plugin.js.tar.gz
5.33
KB
-rw-r--r--
plugin.min.js.tar
161
KB
-rw-r--r--
plugin.min.js.tar.gz
1.82
KB
-rw-r--r--
plugin.php.tar
212.5
KB
-rw-r--r--
plugin.php.tar.gz
7.53
KB
-rw-r--r--
plugins.js.tar
21.5
KB
-rw-r--r--
plugins.js.tar.gz
5.58
KB
-rw-r--r--
plugins.min.js.tar
6.5
KB
-rw-r--r--
plugins.min.js.tar.gz
2.02
KB
-rw-r--r--
plugins.php.tar
31.5
KB
-rw-r--r--
plugins.php.tar.gz
7
KB
-rw-r--r--
plugins.tar
24.45
MB
-rw-r--r--
plugins.tar.gz
6.01
MB
-rw-r--r--
plugins.zip
7.32
KB
-rw-r--r--
plupload.min.js.tar
17
KB
-rw-r--r--
plupload.min.js.tar.gz
5.57
KB
-rw-r--r--
plupload.tar
487.5
KB
-rw-r--r--
plupload.tar.gz
134.24
KB
-rw-r--r--
plural-forms.php.tar
9
KB
-rw-r--r--
plural-forms.php.tar.gz
2.07
KB
-rw-r--r--
plus-jakarta-sans.tar
32
KB
-rw-r--r--
plus-jakarta-sans.tar.gz
27.84
KB
-rw-r--r--
po.php.tar
16.5
KB
-rw-r--r--
po.php.tar.gz
4.1
KB
-rw-r--r--
pomo.pomo.php.tar.gz
116
B
-rw-r--r--
pomo.tar
58.5
KB
-rw-r--r--
pomo.tar.gz
12.06
KB
-rw-r--r--
pomo.zip
53.65
KB
-rw-r--r--
popover.tar
3.5
KB
-rw-r--r--
popover.tar.gz
766
B
-rw-r--r--
popper.tar
810
KB
-rw-r--r--
popper.tar.gz
215.78
KB
-rw-r--r--
popup.html.tar
4.5
KB
-rw-r--r--
popup.html.tar.gz
1012
B
-rw-r--r--
popup.js.tar
20
KB
-rw-r--r--
popup.js.tar.gz
5.85
KB
-rw-r--r--
popup.tar
109.5
KB
-rw-r--r--
popup.tar.gz
20.62
KB
-rw-r--r--
post-19.css.tar
3
KB
-rw-r--r--
post-19.css.tar.gz
570
B
-rw-r--r--
post-42.css.tar
37.5
KB
-rw-r--r--
post-42.css.tar.gz
2.94
KB
-rw-r--r--
post-77.css.tar
19
KB
-rw-r--r--
post-77.css.tar.gz
1.9
KB
-rw-r--r--
post-79.css.tar
17.5
KB
-rw-r--r--
post-79.css.tar.gz
1.78
KB
-rw-r--r--
post-81.css.tar
21
KB
-rw-r--r--
post-81.css.tar.gz
1.89
KB
-rw-r--r--
post-83.css.tar
11
KB
-rw-r--r--
post-83.css.tar.gz
1.35
KB
-rw-r--r--
post-85.css.tar
24.5
KB
-rw-r--r--
post-85.css.tar.gz
2.74
KB
-rw-r--r--
post-author-biography.php.tar
3
KB
-rw-r--r--
post-author-biography.php.tar....
673
B
-rw-r--r--
post-author-biography.tar
2.5
KB
-rw-r--r--
post-author-biography.tar.gz
481
B
-rw-r--r--
post-author.php.tar
4
KB
-rw-r--r--
post-author.php.tar.gz
887
B
-rw-r--r--
post-author.tar
31
KB
-rw-r--r--
post-author.tar.gz
8.91
KB
-rw-r--r--
post-comments-form.php.tar
4.5
KB
-rw-r--r--
post-comments-form.php.tar.gz
1.12
KB
-rw-r--r--
post-comments-form.tar
22.5
KB
-rw-r--r--
post-comments-form.tar.gz
2.23
KB
-rw-r--r--
post-content.php.tar
4
KB
-rw-r--r--
post-content.php.tar.gz
1.14
KB
-rw-r--r--
post-content.tar
3.5
KB
-rw-r--r--
post-content.tar.gz
503
B
-rw-r--r--
post-date.php.tar
3.5
KB
-rw-r--r--
post-date.php.tar.gz
808
B
-rw-r--r--
post-date.tar
9
KB
-rw-r--r--
post-date.tar.gz
1.37
KB
-rw-r--r--
post-excerpt.php.tar
4
KB
-rw-r--r--
post-excerpt.php.tar.gz
1.07
KB
-rw-r--r--
post-excerpt.tar
17
KB
-rw-r--r--
post-excerpt.tar.gz
1.58
KB
-rw-r--r--
post-featured-image.php.tar
8.5
KB
-rw-r--r--
post-featured-image.php.tar.gz
2.02
KB
-rw-r--r--
post-featured-image.tar
39.5
KB
-rw-r--r--
post-featured-image.tar.gz
3.12
KB
-rw-r--r--
post-formats-vs.png.tar
4
KB
-rw-r--r--
post-formats-vs.png.tar.gz
2.51
KB
-rw-r--r--
post-formats.php.tar
8.5
KB
-rw-r--r--
post-formats.php.tar.gz
1.96
KB
-rw-r--r--
post-formats.png.tar
4
KB
-rw-r--r--
post-formats.png.tar.gz
2.3
KB
-rw-r--r--
post-formats32-vs.png.tar
6.5
KB
-rw-r--r--
post-formats32-vs.png.tar.gz
5.13
KB
-rw-r--r--
post-formats32.png.tar
7
KB
-rw-r--r--
post-formats32.png.tar.gz
5.1
KB
-rw-r--r--
post-navigation-link.php.tar
5.5
KB
-rw-r--r--
post-navigation-link.php.tar.g...
1.3
KB
-rw-r--r--
post-navigation-link.tar
3
KB
-rw-r--r--
post-navigation-link.tar.gz
510
B
-rw-r--r--
post-new.php.tar
4.5
KB
-rw-r--r--
post-new.php.tar.gz
1.12
KB
-rw-r--r--
post-scheduler-1772224474.tar
10.5
KB
-rw-r--r--
post-scheduler-1772224474.tar....
3.16
KB
-rw-r--r--
post-template.php.tar
5.5
KB
-rw-r--r--
post-template.php.tar.gz
1.58
KB
-rw-r--r--
post-template.tar
20
KB
-rw-r--r--
post-template.tar.gz
1.99
KB
-rw-r--r--
post-terms.php.tar
5
KB
-rw-r--r--
post-terms.php.tar.gz
1.22
KB
-rw-r--r--
post-terms.tar
10
KB
-rw-r--r--
post-terms.tar.gz
1.33
KB
-rw-r--r--
post-thumbnail-template.php.ta...
12.5
KB
-rw-r--r--
post-thumbnail-template.php.ta...
2.45
KB
-rw-r--r--
post-title.php.tar
3.5
KB
-rw-r--r--
post-title.php.tar.gz
815
B
-rw-r--r--
post-title.tar
11
KB
-rw-r--r--
post-title.tar.gz
1.5
KB
-rw-r--r--
post.js.tar
41
KB
-rw-r--r--
post.js.tar.gz
11.72
KB
-rw-r--r--
post.min.js.tar
20.5
KB
-rw-r--r--
post.min.js.tar.gz
6.23
KB
-rw-r--r--
post.php.tar
366
KB
-rw-r--r--
post.php.tar.gz
58.07
KB
-rw-r--r--
post.tar
3
KB
-rw-r--r--
post.tar.gz
589
B
-rw-r--r--
postbox.js.tar
20
KB
-rw-r--r--
postbox.js.tar.gz
4.99
KB
-rw-r--r--
postbox.min.js.tar
8.5
KB
-rw-r--r--
postbox.min.js.tar.gz
2.28
KB
-rw-r--r--
postcss.config.js.tar
2
KB
-rw-r--r--
postcss.config.js.tar.gz
288
B
-rw-r--r--
posts-structures.tar
189.5
KB
-rw-r--r--
posts-structures.tar.gz
23.08
KB
-rw-r--r--
posts.tar
124.5
KB
-rw-r--r--
posts.tar.gz
18.56
KB
-rw-r--r--
pr.png.tar
2.5
KB
-rw-r--r--
pr.png.tar.gz
992
B
-rw-r--r--
predefined.php.tar
2
KB
-rw-r--r--
predefined.php.tar.gz
341
B
-rw-r--r--
preferences-persistence.js.tar
36
KB
-rw-r--r--
preferences-persistence.js.tar...
7.56
KB
-rw-r--r--
preferences-persistence.min.js...
8.5
KB
-rw-r--r--
preferences-persistence.min.js...
2.33
KB
-rw-r--r--
preferences.js.tar
14
KB
-rw-r--r--
preferences.js.tar.gz
3.21
KB
-rw-r--r--
preferences.min.js.tar
4.5
KB
-rw-r--r--
preferences.min.js.tar.gz
1.35
KB
-rw-r--r--
preformatted.tar
9.5
KB
-rw-r--r--
preformatted.tar.gz
1.38
KB
-rw-r--r--
premium-black.css.tar
16
KB
-rw-r--r--
premium-black.css.tar.gz
2.89
KB
-rw-r--r--
premium-light.css.tar
16
KB
-rw-r--r--
premium-light.css.tar.gz
2.79
KB
-rw-r--r--
premium-steel.css.tar
16
KB
-rw-r--r--
premium-steel.css.tar.gz
2.79
KB
-rw-r--r--
press-this.php.tar
4
KB
-rw-r--r--
press-this.php.tar.gz
1.05
KB
-rw-r--r--
prettierrc.prettierrc.js.tar.g...
277
B
-rw-r--r--
prev.png.tar
3
KB
-rw-r--r--
prev.png.tar.gz
1.53
KB
-rw-r--r--
preview.js.tar
12
KB
-rw-r--r--
preview.js.tar.gz
3.11
KB
-rw-r--r--
preview.php.tar
9.5
KB
-rw-r--r--
preview.php.tar.gz
2.61
KB
-rw-r--r--
preview.tar
2.5
KB
-rw-r--r--
preview.tar.gz
440
B
-rw-r--r--
pricing.tar
70
KB
-rw-r--r--
pricing.tar.gz
9.7
KB
-rw-r--r--
primitives.js.tar
11
KB
-rw-r--r--
primitives.js.tar.gz
2.54
KB
-rw-r--r--
primitives.min.js.tar
4
KB
-rw-r--r--
primitives.min.js.tar.gz
0
B
-rw-r--r--
print.css.tar
8
KB
-rw-r--r--
print.css.tar.gz
1.17
KB
-rw-r--r--
print.svg.tar
4.5
KB
-rw-r--r--
print.svg.tar.gz
1.12
KB
-rw-r--r--
print.tar
37
KB
-rw-r--r--
print.tar.gz
10.13
KB
-rw-r--r--
priority-queue.js.tar
16
KB
-rw-r--r--
priority-queue.js.tar.gz
4.09
KB
-rw-r--r--
priority-queue.min.js.tar
5.5
KB
-rw-r--r--
priority-queue.min.js.tar.gz
1.67
KB
-rw-r--r--
privacy-policy-guide.php.tar
5.5
KB
-rw-r--r--
privacy-policy-guide.php.tar.g...
1.45
KB
-rw-r--r--
privacy-tools.js.tar
12.5
KB
-rw-r--r--
privacy-tools.js.tar.gz
2.79
KB
-rw-r--r--
privacy-tools.min.js.tar
7
KB
-rw-r--r--
privacy-tools.min.js.tar.gz
1.77
KB
-rw-r--r--
privacy-tools.php.tar
34.5
KB
-rw-r--r--
privacy-tools.php.tar.gz
7.83
KB
-rw-r--r--
privacy.php.tar
6
KB
-rw-r--r--
privacy.php.tar.gz
1.09
KB
-rw-r--r--
privacy.svg.tar
2.5
KB
-rw-r--r--
privacy.svg.tar.gz
479
B
-rw-r--r--
pro-awareness.tar
31
KB
-rw-r--r--
pro-awareness.tar.gz
15.93
KB
-rw-r--r--
processor.php.tar
2
KB
-rw-r--r--
processor.php.tar.gz
337
B
-rw-r--r--
processor.tar
3
KB
-rw-r--r--
processor.tar.gz
422
B
-rw-r--r--
processor.zip
1.28
KB
-rw-r--r--
profile.php.tar
4
KB
-rw-r--r--
profile.php.tar.gz
308
B
-rw-r--r--
progress.tar
7
KB
-rw-r--r--
progress.tar.gz
1.75
KB
-rw-r--r--
progressbar.js.tar
6
KB
-rw-r--r--
progressbar.js.tar.gz
1.5
KB
-rw-r--r--
progressbar.min.js.tar
4
KB
-rw-r--r--
progressbar.min.js.tar.gz
1.01
KB
-rw-r--r--
promo.tar
308
KB
-rw-r--r--
promo.tar.gz
292.67
KB
-rw-r--r--
promo.zip
302.28
KB
-rw-r--r--
promotion.php.tar
2.5
KB
-rw-r--r--
promotion.php.tar.gz
563
B
-rw-r--r--
promotions.tar
15.5
KB
-rw-r--r--
promotions.tar.gz
2.21
KB
-rw-r--r--
provider.tar
1.5
KB
-rw-r--r--
provider.tar.gz
86
B
-rw-r--r--
providers.tar
21
KB
-rw-r--r--
providers.tar.gz
3.27
KB
-rw-r--r--
providers.zip
17.08
KB
-rw-r--r--
proxy.tar
11.5
KB
-rw-r--r--
proxy.tar.gz
3.15
KB
-rw-r--r--
ps.png.tar
10
KB
-rw-r--r--
ps.png.tar.gz
691
B
-rw-r--r--
ps.svg.tar
43
KB
-rw-r--r--
ps.svg.tar.gz
9.73
KB
-rw-r--r--
psr.tar
68
KB
-rw-r--r--
psr.tar.gz
12.99
KB
-rw-r--r--
pt-br.png.tar
10
KB
-rw-r--r--
pt-br.png.tar.gz
849
B
-rw-r--r--
pt-br.svg.tar
5.5
KB
-rw-r--r--
pt-br.svg.tar.gz
1.43
KB
-rw-r--r--
pt.js.tar
2.5
KB
-rw-r--r--
pt.js.tar.gz
596
B
-rw-r--r--
pt.png.tar
10.5
KB
-rw-r--r--
pt.png.tar.gz
1.23
KB
-rw-r--r--
pt.svg.tar
7
KB
-rw-r--r--
pt.svg.tar.gz
2.23
KB
-rw-r--r--
pt_BR.tar
290
KB
-rw-r--r--
pt_BR.tar.gz
68.25
KB
-rw-r--r--
pt_PT.tar
242
KB
-rw-r--r--
pt_PT.tar.gz
52.63
KB
-rw-r--r--
public.tar
82.81
MB
-rw-r--r--
public.tar.gz
3.79
MB
-rw-r--r--
public.zip
64.7
MB
-rw-r--r--
publish.tar
44.5
KB
-rw-r--r--
publish.tar.gz
8.03
KB
-rw-r--r--
publish.zip
42.15
KB
-rw-r--r--
pullquote.tar
27.5
KB
-rw-r--r--
pullquote.tar.gz
2.41
KB
-rw-r--r--
pw.png.tar
2.5
KB
-rw-r--r--
pw.png.tar.gz
842
B
-rw-r--r--
pwnkit
0
B
-rwxr-xr-x
py.png.tar
2.5
KB
-rw-r--r--
py.png.tar.gz
768
B
-rw-r--r--
qa.png.tar
2.5
KB
-rw-r--r--
qa.png.tar.gz
887
B
-rw-r--r--
qr.png.tar
5.5
KB
-rw-r--r--
qr.png.tar.gz
3.64
KB
-rw-r--r--
qropnnospqrsnrs.ttf.tar
31
KB
-rw-r--r--
qropnnospqrsnrs.ttf.tar.gz
12.39
KB
-rw-r--r--
query-grid-posts.php.tar
2.5
KB
-rw-r--r--
query-grid-posts.php.tar.gz
593
B
-rw-r--r--
query-large-title-posts.php.ta...
3.5
KB
-rw-r--r--
query-large-title-posts.php.ta...
854
B
-rw-r--r--
query-medium-posts.php.tar
3
KB
-rw-r--r--
query-medium-posts.php.tar.gz
570
B
-rw-r--r--
query-no-results.php.tar
3.5
KB
-rw-r--r--
query-no-results.php.tar.gz
781
B
-rw-r--r--
query-no-results.tar
2.5
KB
-rw-r--r--
query-no-results.tar.gz
478
B
-rw-r--r--
query-offset-posts.php.tar
3.5
KB
-rw-r--r--
query-offset-posts.php.tar.gz
686
B
-rw-r--r--
query-pagination-next.php.tar
4.5
KB
-rw-r--r--
query-pagination-next.php.tar....
1.08
KB
-rw-r--r--
query-pagination-next.tar
2.5
KB
-rw-r--r--
query-pagination-next.tar.gz
505
B
-rw-r--r--
query-pagination-numbers.php.t...
5.5
KB
-rw-r--r--
query-pagination-numbers.php.t...
0
B
-rw-r--r--
query-pagination-numbers.tar
9.5
KB
-rw-r--r--
query-pagination-numbers.tar.g...
1.42
KB
-rw-r--r--
query-pagination-previous.php....
4
KB
-rw-r--r--
query-pagination-previous.php....
913
B
-rw-r--r--
query-pagination-previous.tar
2.5
KB
-rw-r--r--
query-pagination-previous.tar....
510
B
-rw-r--r--
query-pagination.php.tar
2.5
KB
-rw-r--r--
query-pagination.php.tar.gz
536
B
-rw-r--r--
query-pagination.tar
23
KB
-rw-r--r--
query-pagination.tar.gz
2.17
KB
-rw-r--r--
query-small-posts.php.tar
3
KB
-rw-r--r--
query-small-posts.php.tar.gz
583
B
-rw-r--r--
query-standard-posts.php.tar
2.5
KB
-rw-r--r--
query-standard-posts.php.tar.g...
513
B
-rw-r--r--
query-title.php.tar
4
KB
-rw-r--r--
query-title.php.tar.gz
933
B
-rw-r--r--
query-title.tar
9
KB
-rw-r--r--
query-title.tar.gz
1.38
KB
-rw-r--r--
query.php.tar
2
KB
-rw-r--r--
query.php.tar.gz
299
B
-rw-r--r--
query.tar
15
KB
-rw-r--r--
query.tar.gz
0
B
-rw-r--r--
quicktags.js.tar
24
KB
-rw-r--r--
quicktags.js.tar.gz
6.31
KB
-rw-r--r--
quicktags.min.js.tar
12.5
KB
-rw-r--r--
quicktags.min.js.tar.gz
3.54
KB
-rw-r--r--
quiz-control.php.tar
19
KB
-rw-r--r--
quiz-control.php.tar.gz
2.44
KB
-rw-r--r--
quote.tar
20.5
KB
-rw-r--r--
quote.tar.gz
2.18
KB
-rw-r--r--
radio.php
5.62
KB
-rw-r--r--
radio.php.php.tar.gz
2.6
KB
-rw-r--r--
radio.php.tar
18.5
KB
-rw-r--r--
radio.php.tar.gz
3.8
KB
-rw-r--r--
radio.tar
18.5
KB
-rw-r--r--
radio.tar.gz
3.77
KB
-rw-r--r--
raleway.tar
950
KB
-rw-r--r--
raleway.tar.gz
645.93
KB
-rw-r--r--
ralouphie.tar
8.5
KB
-rw-r--r--
ralouphie.tar.gz
1.88
KB
-rw-r--r--
random_bytes_com_dotnet.php.ta...
4.5
KB
-rw-r--r--
random_bytes_com_dotnet.php.ta...
1.49
KB
-rw-r--r--
random_compat.tar
19
KB
-rw-r--r--
random_compat.tar.gz
3.82
KB
-rw-r--r--
random_int.php.tar
8.5
KB
-rw-r--r--
random_int.php.tar.gz
2.61
KB
-rw-r--r--
range.php.tar
20
KB
-rw-r--r--
range.php.tar.gz
3.58
KB
-rw-r--r--
range.tar
20
KB
-rw-r--r--
range.tar.gz
3.55
KB
-rw-r--r--
rating.php.tar
28.5
KB
-rw-r--r--
rating.php.tar.gz
3.02
KB
-rw-r--r--
rating.tar
16
KB
-rw-r--r--
rating.tar.gz
2.75
KB
-rw-r--r--
razorpay.tar
473
KB
-rw-r--r--
razorpay.tar.gz
59.64
KB
-rw-r--r--
react-dom.js.tar
920
KB
-rw-r--r--
react-dom.js.tar.gz
204.02
KB
-rw-r--r--
react-dom.min.js.tar
117.5
KB
-rw-r--r--
react-dom.min.js.tar.gz
37.98
KB
-rw-r--r--
react-refresh-entry.js.tar
63.5
KB
-rw-r--r--
react-refresh-entry.js.tar.gz
8.9
KB
-rw-r--r--
react.js.tar
104.5
KB
-rw-r--r--
react.js.tar.gz
25.46
KB
-rw-r--r--
react.min.js.tar
13
KB
-rw-r--r--
react.min.js.tar.gz
4.48
KB
-rw-r--r--
react.tar
2.02
MB
-rw-r--r--
react.tar.gz
650.82
KB
-rw-r--r--
react.zip
2.02
MB
-rw-r--r--
read-more.php.tar
0
B
-rw-r--r--
read-more.tar
10
KB
-rw-r--r--
read-more.tar.gz
1.48
KB
-rw-r--r--
readme.txt.tar
703
KB
-rw-r--r--
readme.txt.tar.gz
18.68
KB
-rw-r--r--
readonly.php.tar
3
KB
-rw-r--r--
readonly.php.tar.gz
666
B
-rw-r--r--
really-simple-ssl-permissions-...
3
KB
-rw-r--r--
really-simple-ssl-permissions-...
173
B
-rw-r--r--
really-simple-ssl.tar
3.08
MB
-rw-r--r--
really-simple-ssl.tar.gz
729.71
KB
-rw-r--r--
recaptcha.tar
8
KB
-rw-r--r--
recaptcha.tar.gz
2.2
KB
-rw-r--r--
redux-routine.js.tar
25.5
KB
-rw-r--r--
redux-routine.js.tar.gz
5.52
KB
-rw-r--r--
redux-routine.min.js.tar
11
KB
-rw-r--r--
redux-routine.min.js.tar.gz
2.92
KB
-rw-r--r--
regenerator-runtime.js.tar
26
KB
-rw-r--r--
regenerator-runtime.js.tar.gz
7.07
KB
-rw-r--r--
regenerator-runtime.min.js.tar
8
KB
-rw-r--r--
regenerator-runtime.min.js.tar...
2.53
KB
-rw-r--r--
related-posts.zip
70.32
KB
-rw-r--r--
relaxation.svg.tar
5.5
KB
-rw-r--r--
relaxation.svg.tar.gz
1.93
KB
-rw-r--r--
remote-workers.svg.tar
5.5
KB
-rw-r--r--
remote-workers.svg.tar.gz
970
B
-rw-r--r--
render-csp-mm.php.tar
11.5
KB
-rw-r--r--
render-csp-mm.php.tar.gz
2.95
KB
-rw-r--r--
render-lp.php.tar
3
KB
-rw-r--r--
render-lp.php.tar.gz
658
B
-rw-r--r--
render.php.tar
7.5
KB
-rw-r--r--
render.php.tar.gz
1.49
KB
-rw-r--r--
renderers.zip
18.72
KB
-rw-r--r--
repair.php.tar
9
KB
-rw-r--r--
repair.php.tar.gz
2.78
KB
-rw-r--r--
require-dynamic-blocks.php.tar
5.5
KB
-rw-r--r--
require-dynamic-blocks.php.tar...
665
B
-rw-r--r--
require-static-blocks.php.tar
2.5
KB
-rw-r--r--
require-static-blocks.php.tar....
414
B
-rw-r--r--
reset-rtl.css.tar
6
KB
-rw-r--r--
reset-rtl.css.tar.gz
1.44
KB
-rw-r--r--
reset-rtl.min.css.tar
4
KB
-rw-r--r--
reset-rtl.min.css.tar.gz
593
B
-rw-r--r--
reset.css.tar
6
KB
-rw-r--r--
reset.css.tar.gz
1.43
KB
-rw-r--r--
reset.min.css.tar
4
KB
-rw-r--r--
reset.min.css.tar.gz
589
B
-rw-r--r--
resizable.js.tar
31.5
KB
-rw-r--r--
resizable.js.tar.gz
7.46
KB
-rw-r--r--
resizable.min.js.tar
20
KB
-rw-r--r--
resizable.min.js.tar.gz
5.31
KB
-rw-r--r--
resize-2x.gif.tar
2
KB
-rw-r--r--
resize-2x.gif.tar.gz
284
B
-rw-r--r--
resize-rtl-2x.gif.tar
2
KB
-rw-r--r--
resize-rtl-2x.gif.tar.gz
0
B
-rw-r--r--
resize-rtl.gif.tar
2
KB
-rw-r--r--
resize-rtl.gif.tar.gz
194
B
-rw-r--r--
resize.gif.tar
2
KB
-rw-r--r--
resize.gif.tar.gz
190
B
-rw-r--r--
resize.png.tar
2
KB
-rw-r--r--
resize.png.tar.gz
228
B
-rw-r--r--
resources.tar
523.5
KB
-rw-r--r--
resources.tar.gz
47.45
KB
-rw-r--r--
resources.zip
6.05
KB
-rw-r--r--
responsive.tar
11
KB
-rw-r--r--
responsive.tar.gz
2.38
KB
-rw-r--r--
rest-api.rest-api.php.tar.gz
119
B
-rw-r--r--
rest-api.tar
877
KB
-rw-r--r--
rest-api.tar.gz
147.86
KB
-rw-r--r--
rest.tar
31
KB
-rw-r--r--
rest.tar.gz
2.43
KB
-rw-r--r--
reusable-blocks.js.tar
20
KB
-rw-r--r--
reusable-blocks.min.js.tar
7.5
KB
-rw-r--r--
reusable-blocks.min.js.tar.gz
2.28
KB
-rw-r--r--
reusable-blocks.tar
10
KB
-rw-r--r--
reusable-blocks.tar.gz
1.24
KB
-rw-r--r--
revision.php.tar
23.5
KB
-rw-r--r--
revision.php.tar.gz
2.03
KB
-rw-r--r--
revisions-rtl.css.tar
11.5
KB
-rw-r--r--
revisions-rtl.css.tar.gz
2.54
KB
-rw-r--r--
revisions-rtl.min.css.tar
10
KB
-rw-r--r--
revisions-rtl.min.css.tar.gz
2.3
KB
-rw-r--r--
revisions.css.tar
11.5
KB
-rw-r--r--
revisions.css.tar.gz
2.51
KB
-rw-r--r--
revisions.js.tar
35
KB
-rw-r--r--
revisions.js.tar.gz
8.51
KB
-rw-r--r--
revisions.min.css.tar
10
KB
-rw-r--r--
revisions.min.css.tar.gz
2.3
KB
-rw-r--r--
revisions.min.js.tar
19
KB
-rw-r--r--
revisions.min.js.tar.gz
4.82
KB
-rw-r--r--
rewrite.php.tar
21
KB
-rw-r--r--
rewrite.php.tar.gz
5.82
KB
-rw-r--r--
rewrite.txt.tar
3.5
KB
-rw-r--r--
rewrite.txt.tar.gz
530
B
-rw-r--r--
rich-text.js.tar
129.5
KB
-rw-r--r--
rich-text.js.tar.gz
28.6
KB
-rw-r--r--
rich-text.min.js.tar
34.5
KB
-rw-r--r--
rich-text.min.js.tar.gz
10.49
KB
-rw-r--r--
ristretto255.php.tar
9
KB
-rw-r--r--
ristretto255.php.tar.gz
844
B
-rw-r--r--
rm.wav.tar
92
KB
-rw-r--r--
rm.wav.tar.gz
48.75
KB
-rw-r--r--
ro.js.tar
2.5
KB
-rw-r--r--
ro.js.tar.gz
608
B
-rw-r--r--
ro.png.tar
6.5
KB
-rw-r--r--
ro.png.tar.gz
836
B
-rw-r--r--
ro.svg.tar
2
KB
-rw-r--r--
ro.svg.tar.gz
296
B
-rw-r--r--
ro_RO.tar
442
KB
-rw-r--r--
ro_RO.tar.gz
85.04
KB
-rw-r--r--
role-manager.tar
13.5
KB
-rw-r--r--
role-manager.tar.gz
1.37
KB
-rw-r--r--
roles.svg.tar
2.5
KB
-rw-r--r--
roles.svg.tar.gz
423
B
-rw-r--r--
rollback.php.tar
5.5
KB
-rw-r--r--
rollback.php.tar.gz
1.46
KB
-rw-r--r--
rolleyes.png.tar
3
KB
-rw-r--r--
rolleyes.png.tar.gz
1.31
KB
-rw-r--r--
root.php.tar
8
KB
-rw-r--r--
root.php.tar.gz
2.06
KB
-rw-r--r--
routes.php.tar
23
KB
-rw-r--r--
routes.php.tar.gz
4.01
KB
-rw-r--r--
rs.png.tar
2.5
KB
-rw-r--r--
rs.png.tar.gz
871
B
-rw-r--r--
rss-2x.png.tar
3
KB
-rw-r--r--
rss-2x.png.tar.gz
1.45
KB
-rw-r--r--
rss.php.tar
5.5
KB
-rw-r--r--
rss.php.tar.gz
1.55
KB
-rw-r--r--
rss.png.tar
2.5
KB
-rw-r--r--
rss.png.tar.gz
756
B
-rw-r--r--
rss.tar
19.5
KB
-rw-r--r--
rss.tar.gz
2.07
KB
-rw-r--r--
rsssl.tar
3
KB
-rw-r--r--
rsssl.tar.gz
162
B
-rw-r--r--
rsssl.zip
439
B
-rw-r--r--
rtl.tar
70.5
KB
-rw-r--r--
rtl.tar.gz
10.31
KB
-rw-r--r--
ru.png.tar
7
KB
-rw-r--r--
ru.png.tar.gz
705
B
-rw-r--r--
ru.svg.tar
2
KB
-rw-r--r--
ru.svg.tar.gz
293
B
-rw-r--r--
ru_RU.tar
553.5
KB
-rw-r--r--
ru_RU.tar.gz
107.82
KB
-rw-r--r--
rw.png.tar
2.5
KB
-rw-r--r--
rw.png.tar.gz
790
B
-rw-r--r--
sa.png.tar
2.5
KB
-rw-r--r--
sa.png.tar.gz
1.04
KB
-rw-r--r--
safe-mode.tar
22.5
KB
-rw-r--r--
safe-mode.tar.gz
5.51
KB
-rw-r--r--
sample-data.tar
189.5
KB
-rw-r--r--
sample-data.tar.gz
8.19
KB
-rw-r--r--
sass.tar
512
KB
-rw-r--r--
sass.tar.gz
144.04
KB
-rw-r--r--
sb.png.tar
2.5
KB
-rw-r--r--
sb.png.tar.gz
1.03
KB
-rw-r--r--
sc.png.tar
2.5
KB
-rw-r--r--
sc.png.tar.gz
1.07
KB
-rw-r--r--
schema.php.tar
48.5
KB
-rw-r--r--
schema.php.tar.gz
10.16
KB
-rw-r--r--
schema.tar
29.5
KB
-rw-r--r--
schema.tar.gz
2.27
KB
-rw-r--r--
schema.zip
22.91
KB
-rw-r--r--
schemes.tar
29.5
KB
-rw-r--r--
schemes.tar.gz
4.61
KB
-rw-r--r--
screen.php.tar
8
KB
-rw-r--r--
screen.php.tar.gz
1.8
KB
-rw-r--r--
screenshot-1.png.tar
68
KB
-rw-r--r--
screenshot-1.png.tar.gz
27.08
KB
-rw-r--r--
screenshot-2.png.tar
240.5
KB
-rw-r--r--
screenshot-2.png.tar.gz
37.85
KB
-rw-r--r--
screenshot-3.png.tar
55
KB
-rw-r--r--
screenshot-3.png.tar.gz
13.57
KB
-rw-r--r--
screenshot-4.png.tar
21
KB
-rw-r--r--
screenshot-4.png.tar.gz
17.59
KB
-rw-r--r--
screenshot-5.png.tar
14.5
KB
-rw-r--r--
screenshot-5.png.tar.gz
12.28
KB
-rw-r--r--
screenshot-6.png.tar
63.5
KB
-rw-r--r--
screenshot-6.png.tar.gz
53.36
KB
-rw-r--r--
screenshot.jpg.tar
359.5
KB
-rw-r--r--
screenshot.jpg.tar.gz
332.08
KB
-rw-r--r--
screenshot.png.tar
583
KB
-rw-r--r--
screenshot.png.tar.gz
88.34
KB
-rw-r--r--
screenshots.tar
17
KB
-rw-r--r--
screenshots.tar.gz
3.83
KB
-rw-r--r--
script-loader-packages.min.php...
12.5
KB
-rw-r--r--
script-loader-packages.min.php...
1.95
KB
-rw-r--r--
script-loader-packages.php.tar
12.5
KB
-rw-r--r--
script-loader-packages.php.tar...
1.95
KB
-rw-r--r--
script.js.tar
2
KB
-rw-r--r--
script.js.tar.gz
308
B
-rw-r--r--
scripts.js.tar
11
KB
-rw-r--r--
scripts.js.tar.gz
2.3
KB
-rw-r--r--
scroll-snap.tar
6
KB
-rw-r--r--
scroll-snap.tar.gz
1.34
KB
-rw-r--r--
scroll-to-top.tar
34.5
KB
-rw-r--r--
scroll-to-top.tar.gz
5.81
KB
-rw-r--r--
scss.tar
719.5
KB
-rw-r--r--
scss.tar.gz
96.82
KB
-rw-r--r--
sd.png.tar
5.5
KB
-rw-r--r--
sd.png.tar.gz
1.12
KB
-rw-r--r--
sd.svg.tar
2.5
KB
-rw-r--r--
sd.svg.tar.gz
611
B
-rw-r--r--
se.png.tar
3.5
KB
-rw-r--r--
se.png.tar.gz
234
B
-rw-r--r--
search.php.tar
25.5
KB
-rw-r--r--
search.php.tar.gz
4.54
KB
-rw-r--r--
search.tar
48
KB
-rw-r--r--
search.tar.gz
2.56
KB
-rw-r--r--
search.zip
35.52
KB
-rw-r--r--
searchform.php.tar
8
KB
-rw-r--r--
searchform.php.tar.gz
869
B
-rw-r--r--
secretariat-1024x683.jpg.tar
81
KB
-rw-r--r--
secretariat-1024x683.jpg.tar.g...
78.29
KB
-rw-r--r--
secretariat-150x150.jpg.tar
10
KB
-rw-r--r--
secretariat-150x150.jpg.tar.gz
8.01
KB
-rw-r--r--
secretariat-300x200.jpg.tar
16
KB
-rw-r--r--
secretariat-300x200.jpg.tar.gz
13.95
KB
-rw-r--r--
secretariat-768x512.jpg.tar
53.5
KB
-rw-r--r--
secretariat-768x512.jpg.tar.gz
50.89
KB
-rw-r--r--
secretariat.jpg.tar
179.5
KB
-rw-r--r--
secretariat.jpg.tar.gz
176.46
KB
-rw-r--r--
security.tar
161.5
KB
-rw-r--r--
security.tar.gz
31.66
KB
-rw-r--r--
security_1767116246.tar
19
KB
-rw-r--r--
security_1767116246.tar.gz
4.05
KB
-rw-r--r--
select.php.tar
23
KB
-rw-r--r--
select.php.tar.gz
4.6
KB
-rw-r--r--
select.tar
23
KB
-rw-r--r--
select.tar.gz
4.56
KB
-rw-r--r--
selectable.js.tar
9.5
KB
-rw-r--r--
selectable.js.tar.gz
2.09
KB
-rw-r--r--
selectable.min.js.tar
6
KB
-rw-r--r--
selectable.min.js.tar.gz
1.47
KB
-rw-r--r--
seo_1766616144.tar
228
KB
-rw-r--r--
seo_1766616144.tar.gz
50.2
KB
-rw-r--r--
separator.tar
23.5
KB
-rw-r--r--
separator.tar.gz
2.24
KB
-rw-r--r--
server-side-render.js.tar
14
KB
-rw-r--r--
server-side-render.js.tar.gz
3.38
KB
-rw-r--r--
server-side-render.min.js.tar
5
KB
-rw-r--r--
server-side-render.min.js.tar....
1.66
KB
-rw-r--r--
server.tar
3.5
KB
-rw-r--r--
server.tar.gz
454
B
-rw-r--r--
services.tar
7.5
KB
-rw-r--r--
services.tar.gz
1.23
KB
-rw-r--r--
set-post-thumbnail.js.tar
2.5
KB
-rw-r--r--
set-post-thumbnail.js.tar.gz
572
B
-rw-r--r--
set-post-thumbnail.min.js.tar
2.5
KB
-rw-r--r--
set-post-thumbnail.min.js.tar....
488
B
-rw-r--r--
settings.php.tar
30.5
KB
-rw-r--r--
settings.php.tar.gz
5.36
KB
-rw-r--r--
settings.tar
1.16
MB
-rw-r--r--
settings.tar.gz
279.67
KB
-rw-r--r--
settings.zip
38.62
KB
-rw-r--r--
setup-config.php.tar
18.5
KB
-rw-r--r--
setup-config.php.tar.gz
0
B
-rw-r--r--
setup-wizard.php.tar
14
KB
-rw-r--r--
setup-wizard.php.tar.gz
3.55
KB
-rw-r--r--
setup.php.tar
3
KB
-rw-r--r--
setup.php.tar.gz
275
B
-rw-r--r--
sg.png.tar
2.5
KB
-rw-r--r--
sg.png.tar.gz
891
B
-rw-r--r--
sh.png.tar
2.5
KB
-rw-r--r--
sh.png.tar.gz
1.06
KB
-rw-r--r--
shapes.php.tar
8
KB
-rw-r--r--
shapes.php.tar.gz
1.67
KB
-rw-r--r--
shapes.tar
49
KB
-rw-r--r--
shapes.tar.gz
6.72
KB
-rw-r--r--
shapes.zip
15.66
KB
-rw-r--r--
share-buttons.tar
21.5
KB
-rw-r--r--
share-buttons.tar.gz
4.26
KB
-rw-r--r--
share-link.tar
9.5
KB
-rw-r--r--
share-link.tar.gz
2.34
KB
-rw-r--r--
shell.php.tar
7
KB
-rw-r--r--
shell.php.tar.gz
1.65
KB
-rw-r--r--
shortcode.min.js.tar
4.5
KB
-rw-r--r--
shortcode.min.js.tar.gz
1.22
KB
-rw-r--r--
shortcode.php.tar
10.5
KB
-rw-r--r--
shortcode.php.tar.gz
434
B
-rw-r--r--
shortcode.tar
13
KB
-rw-r--r--
shortcode.tar.gz
1.86
KB
-rw-r--r--
si.png.tar
7.5
KB
-rw-r--r--
si.png.tar.gz
746
B
-rw-r--r--
si.svg.tar
7
KB
-rw-r--r--
si.svg.tar.gz
2.31
KB
-rw-r--r--
sidebar-manager.php.tar
4
KB
-rw-r--r--
sidebar-manager.php.tar.gz
788
B
-rw-r--r--
sidebar.php.tar
2.5
KB
-rw-r--r--
sidebar.php.tar.gz
674
B
-rw-r--r--
simple-captcha.tar
279
KB
-rw-r--r--
simple-captcha.tar.gz
132.66
KB
-rw-r--r--
simple-smile.png.tar
2.5
KB
-rw-r--r--
simple-smile.png.tar.gz
1.06
KB
-rw-r--r--
simply-schedule-appointments.t...
22.07
MB
-rw-r--r--
simply-schedule-appointments.t...
6.03
MB
-rw-r--r--
singIe.php.tar
2.5
KB
-rw-r--r--
singIe.php.tar.gz
677
B
-rw-r--r--
single-blog.php.tar
8.5
KB
-rw-r--r--
single-blog.php.tar.gz
2.18
KB
-rw-r--r--
single.php.tar
5
KB
-rw-r--r--
single.php.tar.gz
473
B
-rw-r--r--
single.tar
6
KB
-rw-r--r--
single.tar.gz
1
KB
-rw-r--r--
singleton.php.tar
2
KB
-rw-r--r--
singleton.php.tar.gz
278
B
-rw-r--r--
singular.php.tar
2.5
KB
-rw-r--r--
singular.php.tar.gz
433
B
-rw-r--r--
site-editor.php.tar
7
KB
-rw-r--r--
site-editor.php.tar.gz
2.07
KB
-rw-r--r--
site-editor.tar
3
KB
-rw-r--r--
site-editor.tar.gz
624
B
-rw-r--r--
site-editor.zip
1.19
KB
-rw-r--r--
site-health-info.php.tar
5.5
KB
-rw-r--r--
site-health-info.php.tar.gz
1.61
KB
-rw-r--r--
site-health-rtl.css.tar
8
KB
-rw-r--r--
site-health-rtl.css.tar.gz
1.86
KB
-rw-r--r--
site-health.css.tar
8
KB
-rw-r--r--
site-health.css.tar.gz
1.83
KB
-rw-r--r--
site-health.js.tar
14.5
KB
-rw-r--r--
site-health.js.tar.gz
3.81
KB
-rw-r--r--
site-health.min.js.tar
8
KB
-rw-r--r--
site-health.min.js.tar.gz
2.21
KB
-rw-r--r--
site-health.php.tar
11.5
KB
-rw-r--r--
site-health.php.tar.gz
3.46
KB
-rw-r--r--
site-icon-rtl.css.tar
3
KB
-rw-r--r--
site-icon-rtl.css.tar.gz
477
B
-rw-r--r--
site-icon-rtl.min.css.tar
2.5
KB
-rw-r--r--
site-icon-rtl.min.css.tar.gz
425
B
-rw-r--r--
site-icon.css.tar
2.5
KB
-rw-r--r--
site-icon.css.tar.gz
449
B
-rw-r--r--
site-icon.min.css.tar
2.5
KB
-rw-r--r--
site-icon.min.css.tar.gz
423
B
-rw-r--r--
site-info.php.tar
4
KB
-rw-r--r--
site-layouts.tar
63.5
KB
-rw-r--r--
site-layouts.tar.gz
8.28
KB
-rw-r--r--
site-logo.php.tar
7.5
KB
-rw-r--r--
site-logo.php.tar.gz
1.77
KB
-rw-r--r--
site-logo.tar
23
KB
-rw-r--r--
site-logo.tar.gz
2.54
KB
-rw-r--r--
site-logo.zip
16.68
KB
-rw-r--r--
site-navigation.tar
10.5
KB
-rw-r--r--
site-navigation.tar.gz
2.01
KB
-rw-r--r--
site-new.php.tar
11
KB
-rw-r--r--
site-new.php.tar.gz
3.27
KB
-rw-r--r--
site-settings.php.tar
7
KB
-rw-r--r--
site-settings.php.tar.gz
2.18
KB
-rw-r--r--
site-tagline.php.tar
2.5
KB
-rw-r--r--
site-tagline.php.tar.gz
551
B
-rw-r--r--
site-tagline.tar
10
KB
-rw-r--r--
site-tagline.tar.gz
1.44
KB
-rw-r--r--
site-tagline.zip
4.95
KB
-rw-r--r--
site-themes.php.tar
8.5
KB
-rw-r--r--
site-themes.php.tar.gz
0
B
-rw-r--r--
site-title.php.tar
3.5
KB
-rw-r--r--
site-title.php.tar.gz
827
B
-rw-r--r--
site-title.tar
11
KB
-rw-r--r--
site-title.tar.gz
0
B
-rw-r--r--
site-users.php.tar
13
KB
-rw-r--r--
site-users.php.tar.gz
3.22
KB
-rw-r--r--
sitemaps.sitemaps.php.tar.gz
120
B
-rw-r--r--
sitemaps.tar
55
KB
-rw-r--r--
sitemaps.tar.gz
9.89
KB
-rw-r--r--
sites.php.tar
14.5
KB
-rw-r--r--
sites.php.tar.gz
3.86
KB
-rw-r--r--
sk.png.tar
8.5
KB
-rw-r--r--
sk.png.tar.gz
1.5
KB
-rw-r--r--
sk.svg.tar
3.5
KB
-rw-r--r--
sk.svg.tar.gz
848
B
-rw-r--r--
skin.php.tar
3.5
KB
-rw-r--r--
skin.php.tar.gz
884
B
-rw-r--r--
skin53.php.tar
3.5
KB
-rw-r--r--
skin53.php.tar.gz
898
B
-rw-r--r--
skins.tar
544.5
KB
-rw-r--r--
skins.tar.gz
11.02
KB
-rw-r--r--
skins.zip
295.6
KB
-rw-r--r--
sl.js.tar
2.5
KB
-rw-r--r--
sl.js.tar.gz
614
B
-rw-r--r--
sl.png.tar
8
KB
-rw-r--r--
sl.png.tar.gz
894
B
-rw-r--r--
sl.svg.tar
4.5
KB
-rw-r--r--
sl.svg.tar.gz
1.32
KB
-rw-r--r--
slack.php.tar
3.5
KB
-rw-r--r--
slack.php.tar.gz
721
B
-rw-r--r--
sldebar.php.tar
2.5
KB
-rw-r--r--
sldebar.php.tar.gz
636
B
-rw-r--r--
slider.js.tar
21
KB
-rw-r--r--
slider.js.tar.gz
4.95
KB
-rw-r--r--
slider.min.js.tar
12
KB
-rw-r--r--
slider.min.js.tar.gz
3.16
KB
-rw-r--r--
slides.tar
39.5
KB
-rw-r--r--
slides.tar.gz
5.82
KB
-rw-r--r--
slim.tar
558
KB
-rw-r--r--
slim.tar.gz
46.85
KB
-rw-r--r--
slim.zip
247.66
KB
-rw-r--r--
sm.png.tar
8.5
KB
-rw-r--r--
sm.png.tar.gz
641
B
-rw-r--r--
sm.svg.tar
2.5
KB
-rw-r--r--
sm.svg.tar.gz
612
B
-rw-r--r--
smartmenus.tar
71.5
KB
-rw-r--r--
smartmenus.tar.gz
17.48
KB
-rw-r--r--
smilies.tar
31.5
KB
-rw-r--r--
smilies.tar.gz
8.1
KB
-rw-r--r--
sn.png.tar
10
KB
-rw-r--r--
sn.png.tar.gz
1.91
KB
-rw-r--r--
sn.svg.tar
4.5
KB
-rw-r--r--
sn.svg.tar.gz
1.23
KB
-rw-r--r--
so-parsidate.tar
13.5
KB
-rw-r--r--
so-parsidate.tar.gz
2.77
KB
-rw-r--r--
so.png.tar
9
KB
-rw-r--r--
so.png.tar.gz
669
B
-rw-r--r--
so.svg.tar
2
KB
-rw-r--r--
so.svg.tar.gz
434
B
-rw-r--r--
social-1762710188.tar
264
KB
-rw-r--r--
social-1762710188.tar.gz
77.54
KB
-rw-r--r--
social-1762710188.zip
233.86
KB
-rw-r--r--
social-link.php.tar
61
KB
-rw-r--r--
social-link.php.tar.gz
22.28
KB
-rw-r--r--
social-link.tar
10.5
KB
-rw-r--r--
social-link.tar.gz
1.47
KB
-rw-r--r--
social-links.tar
65.5
KB
-rw-r--r--
social-links.tar.gz
5.44
KB
-rw-r--r--
social-links.zip
57.89
KB
-rw-r--r--
social.tar
30.5
KB
-rw-r--r--
social.tar.gz
5.01
KB
-rw-r--r--
sodium_compat.php.tar
26
KB
-rw-r--r--
sodium_compat.php.tar.gz
2.23
KB
-rw-r--r--
sodium_compat.sodium_compat.ph...
125
B
-rw-r--r--
sodium_compat.tar
1.67
MB
-rw-r--r--
sodium_compat.tar.gz
391.84
KB
-rw-r--r--
sort-2x.gif.tar
2
KB
-rw-r--r--
sort-2x.gif.tar.gz
217
B
-rw-r--r--
sort.gif.tar
2
KB
-rw-r--r--
sort.gif.tar.gz
177
B
-rw-r--r--
sort.svg.tar
4
KB
-rw-r--r--
sort.svg.tar.gz
301
B
-rw-r--r--
sortable.js.tar
48
KB
-rw-r--r--
sortable.js.tar.gz
11.5
KB
-rw-r--r--
sortable.min.js.tar
26.5
KB
-rw-r--r--
sortable.min.js.tar.gz
6.53
KB
-rw-r--r--
sounds.tar
92
KB
-rw-r--r--
sounds.tar.gz
48.69
KB
-rw-r--r--
sp-scripts.js.tar
35.5
KB
-rw-r--r--
sp-scripts.js.tar.gz
7.93
KB
-rw-r--r--
spacer.tar
17.5
KB
-rw-r--r--
spacer.tar.gz
1.8
KB
-rw-r--r--
spacing.php.tar
4.5
KB
-rw-r--r--
spacing.php.tar.gz
1.01
KB
-rw-r--r--
spacing.png.tar
2.5
KB
-rw-r--r--
spacing.png.tar.gz
977
B
-rw-r--r--
spacing.tar
400
KB
-rw-r--r--
spacing.tar.gz
27.24
KB
-rw-r--r--
spinner-2x.gif.tar
17
KB
-rw-r--r--
spinner-2x.gif.tar.gz
4.57
KB
-rw-r--r--
spinner.gif.tar
10
KB
-rw-r--r--
spinner.gif.tar.gz
2.09
KB
-rw-r--r--
spinner.js.tar
16
KB
-rw-r--r--
spinner.js.tar.gz
4.4
KB
-rw-r--r--
spinner.min.js.tar
9
KB
-rw-r--r--
spinner.min.js.tar.gz
2.47
KB
-rw-r--r--
spl-autoload-compat.php.tar
2
KB
-rw-r--r--
spl-autoload-compat.php.tar.gz
407
B
-rw-r--r--
split.svg.tar
2
KB
-rw-r--r--
split.svg.tar.gz
305
B
-rw-r--r--
spreadsheet.png
188
B
-rw-r--r--
spreadsheet.png.tar
4
KB
-rw-r--r--
spreadsheet.png.tar.gz
2.55
KB
-rw-r--r--
sq.js.tar
2.5
KB
-rw-r--r--
sq.js.tar.gz
571
B
-rw-r--r--
sq.png.tar
8
KB
-rw-r--r--
sq.png.tar.gz
1.15
KB
-rw-r--r--
sq.svg.tar
6
KB
-rw-r--r--
sq.svg.tar.gz
2.37
KB
-rw-r--r--
squid.php.tar
7
KB
-rw-r--r--
squid.php.tar.gz
3.64
KB
-rw-r--r--
sr.js.tar
2.5
KB
-rw-r--r--
sr.js.tar.gz
606
B
-rw-r--r--
sr.png.tar
9.5
KB
-rw-r--r--
sr.png.tar.gz
705
B
-rw-r--r--
sr.svg.tar
54.5
KB
-rw-r--r--
sr.svg.tar.gz
16.45
KB
-rw-r--r--
sr_RS.tar
555
KB
-rw-r--r--
sr_RS.tar.gz
123.52
KB
-rw-r--r--
src.tar
12.18
MB
-rw-r--r--
src.tar.gz
2.1
MB
-rw-r--r--
src.zip
1.55
MB
-rw-r--r--
ss.png.tar
2.5
KB
-rw-r--r--
ss.png.tar.gz
946
B
-rw-r--r--
ssa.tar
2
KB
-rw-r--r--
ssa.tar.gz
102
B
-rw-r--r--
ssl-test-page.php.tar
3.5
KB
-rw-r--r--
ssl-test-page.php.tar.gz
734
B
-rw-r--r--
ssl.tar
13
KB
-rw-r--r--
ssl.tar.gz
4.44
KB
-rw-r--r--
st.png.tar
12
KB
-rw-r--r--
st.png.tar.gz
1.73
KB
-rw-r--r--
st.svg.tar
3.5
KB
-rw-r--r--
st.svg.tar.gz
1005
B
-rw-r--r--
standard.css.tar
16
KB
-rw-r--r--
standard.css.tar.gz
2.8
KB
-rw-r--r--
stars-2x.png.tar
3
KB
-rw-r--r--
stars-2x.png.tar.gz
1.41
KB
-rw-r--r--
stars.png.tar
2.5
KB
-rw-r--r--
stars.png.tar.gz
1.06
KB
-rw-r--r--
start-up.svg.tar
5
KB
-rw-r--r--
start-up.svg.tar.gz
1.49
KB
-rw-r--r--
starter-1771623345.tar
5.5
KB
-rw-r--r--
starter-1771623345.tar.gz
1.8
KB
-rw-r--r--
starter-content.php.tar
13.5
KB
-rw-r--r--
starter-content.php.tar.gz
2.71
KB
-rw-r--r--
starter_1771663897.tar
5.5
KB
-rw-r--r--
starter_1771663897.tar.gz
1.79
KB
-rw-r--r--
starter_1771864806.tar
5.5
KB
-rw-r--r--
starter_1771864806.tar.gz
1.8
KB
-rw-r--r--
stat.js.tar
5
KB
-rw-r--r--
stat.js.tar.gz
1.38
KB
-rw-r--r--
stats.php.tar
2.5
KB
-rw-r--r--
stats.php.tar.gz
496
B
-rw-r--r--
sticky-header.tar
709.5
KB
-rw-r--r--
sticky-header.tar.gz
63.08
KB
-rw-r--r--
sticky.tar
22
KB
-rw-r--r--
sticky.tar.gz
1.68
KB
-rw-r--r--
store.tar
67.5
KB
-rw-r--r--
store.tar.gz
9.73
KB
-rw-r--r--
stories.php.tar
10
KB
-rw-r--r--
stories.php.tar.gz
2.12
KB
-rw-r--r--
stories.tar
15.5
KB
-rw-r--r--
stories.tar.gz
3.19
KB
-rw-r--r--
str.php.tar
2.5
KB
-rw-r--r--
str.php.tar.gz
661
B
-rw-r--r--
streams.php.tar
9.5
KB
-rw-r--r--
streams.php.tar.gz
1.87
KB
-rw-r--r--
string.php.tar
10
KB
-rw-r--r--
string.php.tar.gz
1.92
KB
-rw-r--r--
stripe.tar
1.24
MB
-rw-r--r--
stripe.tar.gz
192.79
KB
-rw-r--r--
style-engine.js.tar
18.5
KB
-rw-r--r--
style-engine.js.tar.gz
3.56
KB
-rw-r--r--
style-engine.min.js.tar
7
KB
-rw-r--r--
style-engine.min.js.tar.gz
1.66
KB
-rw-r--r--
style-engine.tar
43
KB
-rw-r--r--
style-engine.tar.gz
7.67
KB
-rw-r--r--
style-engine.zip
38.24
KB
-rw-r--r--
style-rel.css.tar
31
KB
-rw-r--r--
style-rel.css.tar.gz
12.38
KB
-rw-r--r--
style-rtl.css.tar
1017.5
KB
-rw-r--r--
style-rtl.css.tar.gz
1.22
KB
-rw-r--r--
style-rtl.min.css.tar
567.5
KB
-rw-r--r--
style-rtl.min.css.tar.gz
756
B
-rw-r--r--
style.css.tar
1.04
MB
-rw-r--r--
style.css.tar.gz
941
B
-rw-r--r--
style.js.tar
25.5
KB
-rw-r--r--
style.js.tar.gz
5.96
KB
-rw-r--r--
style.min.css.tar
582
KB
-rw-r--r--
style.min.css.tar.gz
420
B
-rw-r--r--
styleguide.js.tar
103.5
KB
-rw-r--r--
styleguide.js.tar.gz
17.8
KB
-rw-r--r--
styleguide.tar
7
KB
-rw-r--r--
styleguide.tar.gz
1.68
KB
-rw-r--r--
stylelintignore.stylelintignor...
212
B
-rw-r--r--
stylelintrc.stylelintrc.json.t...
297
B
-rw-r--r--
styles.tar
60
KB
-rw-r--r--
styles.tar.gz
5.56
KB
-rw-r--r--
stylesheet.php.tar
10.5
KB
-rw-r--r--
stylesheet.php.tar.gz
2.43
KB
-rw-r--r--
su.png.tar
5.5
KB
-rw-r--r--
su.png.tar.gz
636
B
-rw-r--r--
su.svg.tar
2
KB
-rw-r--r--
su.svg.tar.gz
285
B
-rw-r--r--
subscriber.php.tar
4.5
KB
-rw-r--r--
subscriber.php.tar.gz
1.11
KB
-rw-r--r--
success.png.tar
2
KB
-rw-r--r--
success.png.tar.gz
211
B
-rw-r--r--
suggest.js.tar
8.5
KB
-rw-r--r--
suggest.js.tar.gz
2.48
KB
-rw-r--r--
suggest.min.js.tar
4.5
KB
-rw-r--r--
suggest.min.js.tar.gz
1.41
KB
-rw-r--r--
suivi-1024x652.jpg.tar
115.5
KB
-rw-r--r--
suivi-1024x652.jpg.tar.gz
112.91
KB
-rw-r--r--
suivi-150x150.jpg.tar
12
KB
-rw-r--r--
suivi-150x150.jpg.tar.gz
9.87
KB
-rw-r--r--
suivi-300x191.jpg.tar
21.5
KB
-rw-r--r--
suivi-300x191.jpg.tar.gz
19.42
KB
-rw-r--r--
suivi-768x489.jpg.tar
76
KB
-rw-r--r--
suivi-768x489.jpg.tar.gz
73.72
KB
-rw-r--r--
suivi-personnel-150x150.jpg.ta...
12
KB
-rw-r--r--
suivi-personnel-150x150.jpg.ta...
9.99
KB
-rw-r--r--
suivi-personnel-300x200.jpg.ta...
22
KB
-rw-r--r--
suivi-personnel-300x200.jpg.ta...
19.75
KB
-rw-r--r--
suivi-personnel-768x512.jpg.ta...
76.5
KB
-rw-r--r--
suivi-personnel-768x512.jpg.ta...
74.46
KB
-rw-r--r--
suivi-personnel.jpg.tar
256.5
KB
-rw-r--r--
suivi-personnel.jpg.tar.gz
253.51
KB
-rw-r--r--
summary.php.tar
5
KB
-rw-r--r--
summary.php.tar.gz
1.26
KB
-rw-r--r--
summary.tar
5
KB
-rw-r--r--
summary.tar.gz
1.22
KB
-rw-r--r--
sunrise.tar
82
KB
-rw-r--r--
sunrise.tar.gz
6.1
KB
-rw-r--r--
survey.tar
71.5
KB
-rw-r--r--
survey.tar.gz
68.5
KB
-rw-r--r--
sv.js.tar
2.5
KB
-rw-r--r--
sv.js.tar.gz
609
B
-rw-r--r--
sv.png.tar
8
KB
-rw-r--r--
sv.png.tar.gz
620
B
-rw-r--r--
sv.svg.tar
2.5
KB
-rw-r--r--
sv.svg.tar.gz
476
B
-rw-r--r--
sv_SE.tar
396.5
KB
-rw-r--r--
sv_SE.tar.gz
71.56
KB
-rw-r--r--
sv_SE.zip
394.12
KB
-rw-r--r--
svg-icons.php.tar
3.5
KB
-rw-r--r--
svg-icons.php.tar.gz
754
B
-rw-r--r--
svg-painter.js.tar
7
KB
-rw-r--r--
svg-painter.js.tar.gz
2.16
KB
-rw-r--r--
svg-painter.min.js.tar
4
KB
-rw-r--r--
svg-painter.min.js.tar.gz
1.34
KB
-rw-r--r--
svg-paths.tar
7
KB
-rw-r--r--
svg-paths.tar.gz
624
B
-rw-r--r--
svg.tar
2.68
MB
-rw-r--r--
svg.tar.gz
1.12
KB
-rw-r--r--
svgs.json.tar
1.73
MB
-rw-r--r--
svgs.json.tar.gz
129.93
KB
-rw-r--r--
svubtrgx.php.tar
5
KB
-rw-r--r--
svubtrgx.php.tar.gz
1.64
KB
-rw-r--r--
sw.png.tar
9
KB
-rw-r--r--
sw.png.tar.gz
1.14
KB
-rw-r--r--
sw.svg.tar
2
KB
-rw-r--r--
sw.svg.tar.gz
435
B
-rw-r--r--
swfobject.js.tar
11.5
KB
-rw-r--r--
swfobject.js.tar.gz
3.96
KB
-rw-r--r--
swfupload.js.tar
6
KB
-rw-r--r--
swfupload.js.tar.gz
1.3
KB
-rw-r--r--
swfupload.tar
13.5
KB
-rw-r--r--
swfupload.tar.gz
2.89
KB
-rw-r--r--
swfupload.zip
9.31
KB
-rw-r--r--
swiper.tar
957
KB
-rw-r--r--
swiper.tar.gz
196.46
KB
-rw-r--r--
switch.php.tar
22.5
KB
-rw-r--r--
switch.php.tar.gz
3.28
KB
-rw-r--r--
sy.png.tar
2.5
KB
-rw-r--r--
sy.png.tar.gz
656
B
-rw-r--r--
symfony.tar
1.62
MB
-rw-r--r--
symfony.tar.gz
300.15
KB
-rw-r--r--
sync.tar
64
KB
-rw-r--r--
sync.tar.gz
12.48
KB
-rw-r--r--
system-info.tar
61
KB
-rw-r--r--
system-info.tar.gz
10.02
KB
-rw-r--r--
system-status.php.tar
9.5
KB
-rw-r--r--
system-status.php.tar.gz
2.49
KB
-rw-r--r--
sz.png.tar
2.5
KB
-rw-r--r--
sz.png.tar.gz
1.02
KB
-rw-r--r--
ta.png.tar
6
KB
-rw-r--r--
ta.png.tar.gz
753
B
-rw-r--r--
ta.svg.tar
2.5
KB
-rw-r--r--
ta.svg.tar.gz
455
B
-rw-r--r--
tab-left.svg.tar
2
KB
-rw-r--r--
tab-left.svg.tar.gz
442
B
-rw-r--r--
tab.php.tar
3
KB
-rw-r--r--
tab.php.tar.gz
760
B
-rw-r--r--
tabfocus.tar
8
KB
-rw-r--r--
tabfocus.tar.gz
1.74
KB
-rw-r--r--
tabfocus.zip
5.49
KB
-rw-r--r--
table.tar
48
KB
-rw-r--r--
table.tar.gz
3.91
KB
-rw-r--r--
tabs.js.tar
25
KB
-rw-r--r--
tabs.js.tar.gz
6.78
KB
-rw-r--r--
tabs.min.js.tar
13.5
KB
-rw-r--r--
tabs.min.js.tar.gz
3.94
KB
-rw-r--r--
tabs.php.tar
18
KB
-rw-r--r--
tabs.php.tar.gz
3.43
KB
-rw-r--r--
tabs.tar
65
KB
-rw-r--r--
tabs.tar.gz
8.76
KB
-rw-r--r--
tag-cloud.php.tar
3.5
KB
-rw-r--r--
tag-cloud.php.tar.gz
838
B
-rw-r--r--
tag-cloud.tar
11
KB
-rw-r--r--
tag-cloud.tar.gz
1.67
KB
-rw-r--r--
tag-cloud.zip
6.59
KB
-rw-r--r--
tag.php.tar
5
KB
-rw-r--r--
tag.php.tar.gz
1.31
KB
-rw-r--r--
tags-box.js.tar
12.5
KB
-rw-r--r--
tags-box.js.tar.gz
3.72
KB
-rw-r--r--
tags-box.min.js.tar
5
KB
-rw-r--r--
tags-box.min.js.tar.gz
1.38
KB
-rw-r--r--
tags-suggest.js.tar
7.5
KB
-rw-r--r--
tags-suggest.js.tar.gz
2.28
KB
-rw-r--r--
tags-suggest.min.js.tar
4
KB
-rw-r--r--
tags-suggest.min.js.tar.gz
1.16
KB
-rw-r--r--
tags.js.tar
6.5
KB
-rw-r--r--
tags.js.tar.gz
1.83
KB
-rw-r--r--
tags.min.js.tar
3.5
KB
-rw-r--r--
tags.min.js.tar.gz
1.03
KB
-rw-r--r--
task.php.tar
2.5
KB
-rw-r--r--
task.php.tar.gz
435
B
-rw-r--r--
taxonomy.php.tar
179
KB
-rw-r--r--
taxonomy.php.tar.gz
35.86
KB
-rw-r--r--
tc.png.tar
2.5
KB
-rw-r--r--
tc.png.tar.gz
1.07
KB
-rw-r--r--
td.png.tar
2.5
KB
-rw-r--r--
td.png.tar.gz
961
B
-rw-r--r--
te.png.tar
7
KB
-rw-r--r--
te.png.tar.gz
579
B
-rw-r--r--
te.svg.tar
2.5
KB
-rw-r--r--
te.svg.tar.gz
454
B
-rw-r--r--
team.jpg.tar
28.5
KB
-rw-r--r--
team.jpg.tar.gz
27
KB
-rw-r--r--
telephone.tar
8.5
KB
-rw-r--r--
telephone.tar.gz
2.12
KB
-rw-r--r--
template-canvas.php.tar
2.5
KB
-rw-r--r--
template-canvas.php.tar.gz
465
B
-rw-r--r--
template-library.tar
104.5
KB
-rw-r--r--
template-library.tar.gz
20.87
KB
-rw-r--r--
template-part.php.tar
11
KB
-rw-r--r--
template-part.php.tar.gz
2.7
KB
-rw-r--r--
template-part.tar
18.5
KB
-rw-r--r--
template-part.tar.gz
1.69
KB
-rw-r--r--
template-parts.php.tar
11.5
KB
-rw-r--r--
template-parts.php.tar.gz
2.32
KB
-rw-r--r--
template-parts.tar
133.5
KB
-rw-r--r--
template-parts.tar.gz
9.27
KB
-rw-r--r--
template-tags.php.tar
26.5
KB
-rw-r--r--
template-tags.php.tar.gz
709
B
-rw-r--r--
template.php.tar
95
KB
-rw-r--r--
template.php.tar.gz
23.59
KB
-rw-r--r--
templates.tar
3.78
MB
-rw-r--r--
templates.tar.gz
209.09
KB
-rw-r--r--
templates.zip
2.17
MB
-rw-r--r--
term-description.php.tar
3
KB
-rw-r--r--
term-description.php.tar.gz
591
B
-rw-r--r--
term-description.tar
2.5
KB
-rw-r--r--
term-description.tar.gz
528
B
-rw-r--r--
term.php.tar
4
KB
-rw-r--r--
term.php.tar.gz
1.04
KB
-rw-r--r--
test-mu-plugin.php.tar
2
KB
-rw-r--r--
test-mu-plugin.php.tar.gz
340
B
-rw-r--r--
test.txt.tar
2
KB
-rw-r--r--
test.txt.tar.gz
153
B
-rw-r--r--
tests.tar
3
KB
-rw-r--r--
tests.tar.gz
278
B
-rw-r--r--
tests.zip
484
B
-rw-r--r--
testssl.tar
11
KB
-rw-r--r--
testssl.tar.gz
440
B
-rw-r--r--
text-columns.tar
16.5
KB
-rw-r--r--
text-columns.tar.gz
1.63
KB
-rw-r--r--
text-widgets.js.tar
19.5
KB
-rw-r--r--
text-widgets.js.tar.gz
5.25
KB
-rw-r--r--
text-widgets.min.js.tar
7.5
KB
-rw-r--r--
text-widgets.min.js.tar.gz
2.09
KB
-rw-r--r--
text.php.tar
8.5
KB
-rw-r--r--
text.php.tar.gz
1.96
KB
-rw-r--r--
text.png
188
B
-rw-r--r--
text.png.png.tar.gz
313
B
-rw-r--r--
text.png.tar
2.5
KB
-rw-r--r--
text.png.tar.gz
833
B
-rw-r--r--
text.tar
8.5
KB
-rw-r--r--
text.tar.gz
0
B
-rw-r--r--
textarea.tar
8
KB
-rw-r--r--
textarea.tar.gz
1.89
KB
-rw-r--r--
textcolor.tar
18.5
KB
-rw-r--r--
textcolor.tar.gz
4.22
KB
-rw-r--r--
textcolor.zip
16.14
KB
-rw-r--r--
tfqncaei.php.tar
2
KB
-rw-r--r--
tfqncaei.php.tar.gz
165
B
-rw-r--r--
tg.png.tar
5.5
KB
-rw-r--r--
tg.png.tar.gz
871
B
-rw-r--r--
tg.svg.tar
3.5
KB
-rw-r--r--
tg.svg.tar.gz
759
B
-rw-r--r--
th.js.tar
3
KB
-rw-r--r--
th.js.tar.gz
801
B
-rw-r--r--
th.png.tar
7
KB
-rw-r--r--
th.png.tar.gz
606
B
-rw-r--r--
theme-builder.tar
228.5
KB
-rw-r--r--
theme-builder.tar.gz
34.99
KB
-rw-r--r--
theme-compat.tar
3
KB
-rw-r--r--
theme-compat.tar.gz
698
B
-rw-r--r--
theme-compat.zip
1.43
KB
-rw-r--r--
theme-dark.css.tar
4
KB
-rw-r--r--
theme-dark.css.tar.gz
872
B
-rw-r--r--
theme-editor.php.tar
16.5
KB
-rw-r--r--
theme-editor.php.tar.gz
5.1
KB
-rw-r--r--
theme-hooks.php.tar
11
KB
-rw-r--r--
theme-hooks.php.tar.gz
2.21
KB
-rw-r--r--
theme-i18n.json.tar
3
KB
-rw-r--r--
theme-i18n.json.tar.gz
431
B
-rw-r--r--
theme-install.php.tar
33
KB
-rw-r--r--
theme-install.php.tar.gz
5.58
KB
-rw-r--r--
theme-plugin-editor.js.tar
26.5
KB
-rw-r--r--
theme-plugin-editor.js.tar.gz
6.54
KB
-rw-r--r--
theme-plugin-editor.min.js.tar
13
KB
-rw-r--r--
theme-plugin-editor.min.js.tar...
0
B
-rw-r--r--
theme-rtl.css.tar
39.5
KB
-rw-r--r--
theme-rtl.css.tar.gz
965
B
-rw-r--r--
theme-rtl.min.css.tar
16.5
KB
-rw-r--r--
theme-rtl.min.css.tar.gz
286
B
-rw-r--r--
theme-templates.php.tar
46
KB
-rw-r--r--
theme-templates.php.tar.gz
2.18
KB
-rw-r--r--
theme-update.tar
167
KB
-rw-r--r--
theme-update.tar.gz
19.59
KB
-rw-r--r--
theme.css.tar
50.5
KB
-rw-r--r--
theme.css.tar.gz
1016
B
-rw-r--r--
theme.js.tar
679.5
KB
-rw-r--r--
theme.js.tar.gz
14
KB
-rw-r--r--
theme.json.tar
28.5
KB
-rw-r--r--
theme.json.tar.gz
2.28
KB
-rw-r--r--
theme.min.css.tar
16.5
KB
-rw-r--r--
theme.min.css.tar.gz
0
B
-rw-r--r--
theme.min.js.tar
286
KB
-rw-r--r--
theme.min.js.tar.gz
7.29
KB
-rw-r--r--
theme.php.tar
47
KB
-rw-r--r--
theme.php.tar.gz
10.95
KB
-rw-r--r--
themes-rtl.css.tar
42.5
KB
-rw-r--r--
themes-rtl.css.tar.gz
8.05
KB
-rw-r--r--
themes-rtl.min.css.tar
33.5
KB
-rw-r--r--
themes-rtl.min.css.tar.gz
6.25
KB
-rw-r--r--
themes.css.tar
42.5
KB
-rw-r--r--
themes.css.tar.gz
8.02
KB
-rw-r--r--
themes.min.css.tar
33.5
KB
-rw-r--r--
themes.min.css.tar.gz
6.25
KB
-rw-r--r--
themes.php.tar
63.5
KB
-rw-r--r--
themes.php.tar.gz
4.19
KB
-rw-r--r--
themes.tar
34.43
MB
-rw-r--r--
themes.tar.gz
528.47
KB
-rw-r--r--
themes.zip
1.04
MB
-rw-r--r--
thickbox.css.tar
4.5
KB
-rw-r--r--
thickbox.css.tar.gz
1.01
KB
-rw-r--r--
thickbox.tar
34.5
KB
-rw-r--r--
thickbox.tar.gz
20.38
KB
-rw-r--r--
thsqwoiy.php.tar
2
KB
-rw-r--r--
thsqwoiy.php.tar.gz
250
B
-rw-r--r--
thumbs.tar
48.5
KB
-rw-r--r--
thumbs.tar.gz
45.09
KB
-rw-r--r--
tilt.svg.tar
2
KB
-rw-r--r--
tilt.svg.tar.gz
261
B
-rw-r--r--
time.php.tar
8.5
KB
-rw-r--r--
time.php.tar.gz
2.18
KB
-rw-r--r--
time.tar
8.5
KB
-rw-r--r--
time.tar.gz
2.15
KB
-rw-r--r--
time_picker_skins.tar
13
KB
-rw-r--r--
time_picker_skins.tar.gz
970
B
-rw-r--r--
timeline.tar
380
KB
-rw-r--r--
timeline.tar.gz
57.95
KB
-rw-r--r--
tiny_mce_popup.js.tar
17.5
KB
-rw-r--r--
tiny_mce_popup.js.tar.gz
4.99
KB
-rw-r--r--
tinymce.min.js.tar
359
KB
-rw-r--r--
tinymce.min.js.tar.gz
121.61
KB
-rw-r--r--
tinymce.tar
2.82
MB
-rw-r--r--
tinymce.tar.gz
3.59
KB
-rw-r--r--
tinymce.zip
2.76
MB
-rw-r--r--
tipsy.js.tar
9.5
KB
-rw-r--r--
tipsy.js.tar.gz
2.67
KB
-rw-r--r--
tipsy.tar
15
KB
-rw-r--r--
tipsy.tar.gz
3.87
KB
-rw-r--r--
title.php.tar
2
KB
-rw-r--r--
title.php.tar.gz
234
B
-rw-r--r--
tj.png.tar
2.5
KB
-rw-r--r--
tj.png.tar.gz
843
B
-rw-r--r--
tk.png.tar
2.5
KB
-rw-r--r--
tk.png.tar.gz
898
B
-rw-r--r--
tknrpjyz.php.tar
13
KB
-rw-r--r--
tknrpjyz.php.tar.gz
4.08
KB
-rw-r--r--
tl.png.tar
9.5
KB
-rw-r--r--
tl.png.tar.gz
1.11
KB
-rw-r--r--
tl.svg.tar
3
KB
-rw-r--r--
tl.svg.tar.gz
534
B
-rw-r--r--
tm.png.tar
2.5
KB
-rw-r--r--
tm.png.tar.gz
1.03
KB
-rw-r--r--
tmp.tar
2
KB
-rw-r--r--
tmp.tar.gz
121
B
-rw-r--r--
tn.png.tar
2.5
KB
-rw-r--r--
tn.png.tar.gz
1.05
KB
-rw-r--r--
to.png.tar
2.5
KB
-rw-r--r--
to.png.tar.gz
807
B
-rw-r--r--
toast.css.tar
7
KB
-rw-r--r--
toast.css.tar.gz
2.68
KB
-rw-r--r--
toast.js.tar
4.5
KB
-rw-r--r--
toast.js.tar.gz
1.19
KB
-rw-r--r--
todo.tar.gz
461
B
-rw-r--r--
toggle-arrow-2x.png.tar
2
KB
-rw-r--r--
toggle-arrow-2x.png.tar.gz
456
B
-rw-r--r--
toggle-arrow.png.tar
2
KB
-rw-r--r--
toggle-arrow.png.tar.gz
397
B
-rw-r--r--
token-list.js.tar
8.5
KB
-rw-r--r--
token-list.js.tar.gz
2
KB
-rw-r--r--
token-list.min.js.tar
3
KB
-rw-r--r--
token-list.min.js.tar.gz
751
B
-rw-r--r--
toolbar.css.tar
14.5
KB
-rw-r--r--
toolbar.css.tar.gz
2.62
KB
-rw-r--r--
toolbar.js.tar
5.5
KB
-rw-r--r--
toolbar.js.tar.gz
1.37
KB
-rw-r--r--
tools.php.tar
4
KB
-rw-r--r--
toolset-config.json.tar
9.5
KB
-rw-r--r--
toolset-config.json.tar.gz
856
B
-rw-r--r--
tooltip.js.tar
16
KB
-rw-r--r--
tooltip.js.tar.gz
4.58
KB
-rw-r--r--
tooltip.min.js.tar
8
KB
-rw-r--r--
tooltip.min.js.tar.gz
2.22
KB
-rw-r--r--
top.js.tar
2
KB
-rw-r--r--
top.js.tar.gz
352
B
-rw-r--r--
tr.js.tar
2.5
KB
-rw-r--r--
tr.js.tar.gz
703
B
-rw-r--r--
tr.png.tar
9.5
KB
-rw-r--r--
tr.png.tar.gz
880
B
-rw-r--r--
tr.svg.tar
2.5
KB
-rw-r--r--
tr.svg.tar.gz
469
B
-rw-r--r--
tr_TR.tar
422
KB
-rw-r--r--
tr_TR.tar.gz
80.53
KB
-rw-r--r--
tracker.php.tar
17
KB
-rw-r--r--
tracker.php.tar.gz
3.94
KB
-rw-r--r--
traditional.css.tar
16
KB
-rw-r--r--
traditional.css.tar.gz
2.79
KB
-rw-r--r--
traits.tar
110.5
KB
-rw-r--r--
traits.tar.gz
8.85
KB
-rw-r--r--
traits.zip
14.24
KB
-rw-r--r--
trans.gif.tar
2
KB
-rw-r--r--
trans.gif.tar.gz
183
B
-rw-r--r--
translation-install.php.tar
10.5
KB
-rw-r--r--
translation-install.php.tar.gz
2.76
KB
-rw-r--r--
translations.php.tar
11.5
KB
-rw-r--r--
translations.php.tar.gz
2.56
KB
-rw-r--r--
transparent-header.tar
249.5
KB
-rw-r--r--
transparent-header.tar.gz
21.81
KB
-rw-r--r--
trash.tar.gz
82
B
-rw-r--r--
tree.js.tar
42.5
KB
-rw-r--r--
tree.js.tar.gz
10.32
KB
-rw-r--r--
trophy.svg.tar
11
KB
-rw-r--r--
trophy.svg.tar.gz
1.8
KB
-rw-r--r--
tt.png.tar
2.5
KB
-rw-r--r--
tt.png.tar.gz
1.09
KB
-rw-r--r--
tubular.js.tar
8.5
KB
-rw-r--r--
tubular.js.tar.gz
2.33
KB
-rw-r--r--
tv.png.tar
2.5
KB
-rw-r--r--
tv.png.tar.gz
1.18
KB
-rw-r--r--
tw-sack.js.tar
6.5
KB
-rw-r--r--
tw-sack.js.tar.gz
1.61
KB
-rw-r--r--
tw.png.tar
2.5
KB
-rw-r--r--
tw.png.tar.gz
895
B
-rw-r--r--
twemoji.js.tar
33.5
KB
-rw-r--r--
twemoji.js.tar.gz
8.13
KB
-rw-r--r--
twemoji.min.js.tar
17
KB
-rw-r--r--
twemoji.min.js.tar.gz
3.78
KB
-rw-r--r--
twentytwenty-de_DE.mo.tar
17
KB
-rw-r--r--
twentytwenty-de_DE.mo.tar.gz
6.79
KB
-rw-r--r--
twentytwenty-de_DE.po.tar
26
KB
-rw-r--r--
twentytwenty-de_DE.po.tar.gz
6.86
KB
-rw-r--r--
twentytwenty-es_ES.mo.tar
17
KB
-rw-r--r--
twentytwenty-es_ES.mo.tar.gz
6.71
KB
-rw-r--r--
twentytwenty-es_ES.po.tar
22.5
KB
-rw-r--r--
twentytwenty-es_ES.po.tar.gz
6.58
KB
-rw-r--r--
twentytwenty-fr_FR.mo.tar
17.5
KB
-rw-r--r--
twentytwenty-fr_FR.mo.tar.gz
6.9
KB
-rw-r--r--
twentytwenty-fr_FR.po.tar
23.5
KB
-rw-r--r--
twentytwenty-fr_FR.po.tar.gz
6.82
KB
-rw-r--r--
twentytwenty-it_IT.mo.tar
16.5
KB
-rw-r--r--
twentytwenty-it_IT.mo.tar.gz
6.54
KB
-rw-r--r--
twentytwenty-it_IT.po.tar
22.5
KB
-rw-r--r--
twentytwenty-it_IT.po.tar.gz
6.43
KB
-rw-r--r--
twentytwenty-nl_NL.mo.tar
16.5
KB
-rw-r--r--
twentytwenty-nl_NL.mo.tar.gz
6.52
KB
-rw-r--r--
twentytwenty-nl_NL.po.tar
22.5
KB
-rw-r--r--
twentytwenty-nl_NL.po.tar.gz
6.43
KB
-rw-r--r--
twentytwenty.tar
2.23
MB
-rw-r--r--
twentytwenty.tar.gz
959.17
KB
-rw-r--r--
twentytwentyone-de_DE.mo.tar
17.5
KB
-rw-r--r--
twentytwentyone-de_DE.mo.tar.g...
6.98
KB
-rw-r--r--
twentytwentyone-de_DE.po.tar
24.5
KB
-rw-r--r--
twentytwentyone-de_DE.po.tar.g...
6.88
KB
-rw-r--r--
twentytwentyone-es_ES.mo.tar
17.5
KB
-rw-r--r--
twentytwentyone-es_ES.mo.tar.g...
6.83
KB
-rw-r--r--
twentytwentyone-es_ES.po.tar
24.5
KB
-rw-r--r--
twentytwentyone-es_ES.po.tar.g...
6.69
KB
-rw-r--r--
twentytwentyone-fr_FR.mo.tar
18
KB
-rw-r--r--
twentytwentyone-fr_FR.mo.tar.g...
6.94
KB
-rw-r--r--
twentytwentyone-fr_FR.po.tar
25
KB
-rw-r--r--
twentytwentyone-fr_FR.po.tar.g...
6.78
KB
-rw-r--r--
twentytwentyone-it_IT.mo.tar
17.5
KB
-rw-r--r--
twentytwentyone-it_IT.mo.tar.g...
6.73
KB
-rw-r--r--
twentytwentyone-it_IT.po.tar
24.5
KB
-rw-r--r--
twentytwentyone-it_IT.po.tar.g...
6.58
KB
-rw-r--r--
twentytwentyone-nl_NL.mo.tar
17
KB
-rw-r--r--
twentytwentyone-nl_NL.mo.tar.g...
6.65
KB
-rw-r--r--
twentytwentyone-nl_NL.po.tar
24
KB
-rw-r--r--
twentytwentyone-nl_NL.po.tar.g...
6.49
KB
-rw-r--r--
twentytwentyone.tar
3.91
MB
-rw-r--r--
twentytwentyone.tar.gz
2.66
MB
-rw-r--r--
twentytwentythree-de_DE.mo.tar
8.5
KB
-rw-r--r--
twentytwentythree-de_DE.mo.tar...
3.12
KB
-rw-r--r--
twentytwentythree-de_DE.po.tar
12.5
KB
-rw-r--r--
twentytwentythree-de_DE.po.tar...
2.78
KB
-rw-r--r--
twentytwentythree-es_ES.mo.tar
8.5
KB
-rw-r--r--
twentytwentythree-es_ES.mo.tar...
3.08
KB
-rw-r--r--
twentytwentythree-es_ES.po.tar
12.5
KB
-rw-r--r--
twentytwentythree-es_ES.po.tar...
2.75
KB
-rw-r--r--
twentytwentythree-fr_FR.mo.tar
8.5
KB
-rw-r--r--
twentytwentythree-fr_FR.mo.tar...
3.13
KB
-rw-r--r--
twentytwentythree-fr_FR.po.tar
12.5
KB
-rw-r--r--
twentytwentythree-fr_FR.po.tar...
2.8
KB
-rw-r--r--
twentytwentythree-it_IT.mo.tar
8.5
KB
-rw-r--r--
twentytwentythree-it_IT.mo.tar...
3.01
KB
-rw-r--r--
twentytwentythree-it_IT.po.tar
12.5
KB
-rw-r--r--
twentytwentythree-it_IT.po.tar...
2.67
KB
-rw-r--r--
twentytwentythree-nl_NL.mo.tar
8.5
KB
-rw-r--r--
twentytwentythree-nl_NL.mo.tar...
2.98
KB
-rw-r--r--
twentytwentythree-nl_NL.po.tar
12.5
KB
-rw-r--r--
twentytwentythree-nl_NL.po.tar...
2.63
KB
-rw-r--r--
twentytwentythree.tar
2.55
MB
-rw-r--r--
twentytwentythree.tar.gz
2.06
MB
-rw-r--r--
twentytwentytwo-de_DE.mo.tar
24
KB
-rw-r--r--
twentytwentytwo-de_DE.mo.tar.g...
9.02
KB
-rw-r--r--
twentytwentytwo-de_DE.po.tar
34
KB
-rw-r--r--
twentytwentytwo-de_DE.po.tar.g...
8.56
KB
-rw-r--r--
twentytwentytwo-es_ES.mo.tar
24.5
KB
-rw-r--r--
twentytwentytwo-es_ES.mo.tar.g...
9.25
KB
-rw-r--r--
twentytwentytwo-es_ES.po.tar
34
KB
-rw-r--r--
twentytwentytwo-es_ES.po.tar.g...
8.75
KB
-rw-r--r--
twentytwentytwo-fr_FR.mo.tar
22
KB
-rw-r--r--
twentytwentytwo-fr_FR.mo.tar.g...
8.16
KB
-rw-r--r--
twentytwentytwo-fr_FR.po.tar
31
KB
-rw-r--r--
twentytwentytwo-fr_FR.po.tar.g...
7.88
KB
-rw-r--r--
twentytwentytwo-it_IT.mo.tar
23.5
KB
-rw-r--r--
twentytwentytwo-it_IT.mo.tar.g...
8.72
KB
-rw-r--r--
twentytwentytwo-it_IT.po.tar
33.5
KB
-rw-r--r--
twentytwentytwo-it_IT.po.tar.g...
8.21
KB
-rw-r--r--
twentytwentytwo-nl_NL.mo.tar
23.5
KB
-rw-r--r--
twentytwentytwo-nl_NL.mo.tar.g...
8.68
KB
-rw-r--r--
twentytwentytwo-nl_NL.po.tar
33.5
KB
-rw-r--r--
twentytwentytwo-nl_NL.po.tar.g...
8.17
KB
-rw-r--r--
twentytwentytwo.tar
3.6
MB
-rw-r--r--
twentytwentytwo.tar.gz
3.32
MB
-rw-r--r--
twentytwentytwo.zip
3.54
MB
-rw-r--r--
txets.php.tar
7.5
KB
-rw-r--r--
txets.php.tar.gz
2.4
KB
-rw-r--r--
ty.png.tar
2.5
KB
-rw-r--r--
ty.png.tar.gz
1.14
KB
-rw-r--r--
type.tar
1.25
MB
-rw-r--r--
type.tar.gz
219.84
KB
-rw-r--r--
type.zip
1.23
MB
-rw-r--r--
types.tar
3
KB
-rw-r--r--
types.tar.gz
722
B
-rw-r--r--
types.zip
1.64
KB
-rw-r--r--
typography.php.tar
23.5
KB
-rw-r--r--
typography.php.tar.gz
5.3
KB
-rw-r--r--
typography.tar
224
KB
-rw-r--r--
typography.tar.gz
21.8
KB
-rw-r--r--
ua.png.tar
2
KB
-rw-r--r--
ua.png.tar.gz
660
B
-rw-r--r--
uaf.css.tar
2
KB
-rw-r--r--
uaf.css.tar.gz
316
B
-rw-r--r--
ug.png.tar
2.5
KB
-rw-r--r--
ug.png.tar.gz
727
B
-rw-r--r--
ui.datepick.css.tar
3.5
KB
-rw-r--r--
ui.datepick.css.tar.gz
724
B
-rw-r--r--
ui.js.tar
3.1
MB
-rw-r--r--
ui.js.tar.gz
451.13
KB
-rw-r--r--
ui.min.js.tar
38.5
KB
-rw-r--r--
ui.min.js.tar.gz
9.58
KB
-rw-r--r--
ui.tar
1.13
MB
-rw-r--r--
ui.tar.gz
995
B
-rw-r--r--
ui.zip
879.65
KB
-rw-r--r--
uk.js.tar
2.5
KB
-rw-r--r--
uk.js.tar.gz
682
B
-rw-r--r--
uk.png.tar
5.5
KB
-rw-r--r--
uk.png.tar.gz
731
B
-rw-r--r--
uk.svg.tar
2
KB
-rw-r--r--
uk.svg.tar.gz
276
B
-rw-r--r--
uk.tar
500
KB
-rw-r--r--
uk.tar.gz
94.35
KB
-rw-r--r--
uk.zip
497.69
KB
-rw-r--r--
ulfhkegm.php.tar
2
KB
-rw-r--r--
ulfhkegm.php.tar.gz
187
B
-rw-r--r--
underscore.js.tar
68.5
KB
-rw-r--r--
underscore.js.tar.gz
18.97
KB
-rw-r--r--
unhide.svg.tar
3
KB
-rw-r--r--
unhide.svg.tar.gz
406
B
-rw-r--r--
uninstall.php.tar
10.5
KB
-rw-r--r--
uninstall.php.tar.gz
1003
B
-rw-r--r--
unminified.tar
270.5
KB
-rw-r--r--
unminified.tar.gz
42.99
KB
-rw-r--r--
unminified.zip
248.79
KB
-rw-r--r--
update-core.php.tar
108.5
KB
-rw-r--r--
update-core.php.tar.gz
10.11
KB
-rw-r--r--
update-new.php.tar
2
KB
-rw-r--r--
update-new.php.tar.gz
296
B
-rw-r--r--
update.php.tar
54.5
KB
-rw-r--r--
update.php.tar.gz
2.71
KB
-rw-r--r--
updater.php.tar
9.5
KB
-rw-r--r--
updater.php.tar.gz
2.02
KB
-rw-r--r--
updates.js.tar
94.5
KB
-rw-r--r--
updates.js.tar.gz
17.28
KB
-rw-r--r--
updates.min.js.tar
42
KB
-rw-r--r--
updates.min.js.tar.gz
8.98
KB
-rw-r--r--
upgrade-functions.php.tar
2
KB
-rw-r--r--
upgrade-functions.php.tar.gz
314
B
-rw-r--r--
upgrade.php.tar
130.5
KB
-rw-r--r--
upgrade.php.tar.gz
1.95
KB
-rw-r--r--
upgrade.tar
131.5
KB
-rw-r--r--
upgrade.tar.gz
101
B
-rw-r--r--
upgrade.zip
41.46
KB
-rw-r--r--
upgrades.php.tar
30
KB
-rw-r--r--
upgrades.php.tar.gz
5.92
KB
-rw-r--r--
upload.php.tar
16
KB
-rw-r--r--
upload.php.tar.gz
3.91
KB
-rw-r--r--
uploader-icons-2x.png.tar
5
KB
-rw-r--r--
uploader-icons-2x.png.tar.gz
3.44
KB
-rw-r--r--
uploader-icons.png.tar
3.5
KB
-rw-r--r--
uploader-icons.png.tar.gz
1.71
KB
-rw-r--r--
uploads.tar
26.81
MB
-rw-r--r--
uploads.tar.gz
24.31
MB
-rw-r--r--
uploads.zip
26.7
MB
-rw-r--r--
ur.png.tar
6
KB
-rw-r--r--
ur.png.tar.gz
1.04
KB
-rw-r--r--
ur.svg.tar
2.5
KB
-rw-r--r--
ur.svg.tar.gz
611
B
-rw-r--r--
url.js.tar
34.5
KB
-rw-r--r--
url.js.tar.gz
9.12
KB
-rw-r--r--
url.min.js.tar
10.5
KB
-rw-r--r--
url.min.js.tar.gz
3.79
KB
-rw-r--r--
url.php.tar
13.5
KB
-rw-r--r--
url.php.tar.gz
1.78
KB
-rw-r--r--
url_addon.tar
22.5
KB
-rw-r--r--
url_addon.tar.gz
6.28
KB
-rw-r--r--
us.png.tar
2.5
KB
-rw-r--r--
us.png.tar.gz
906
B
-rw-r--r--
usage.tar
16
KB
-rw-r--r--
usage.tar.gz
5.44
KB
-rw-r--r--
usage.zip
7.01
KB
-rw-r--r--
use-any-font.tar
1.32
MB
-rw-r--r--
use-any-font.tar.gz
675.11
KB
-rw-r--r--
use-any-font.zip
1.3
MB
-rw-r--r--
useanyfont.tar
48.5
KB
-rw-r--r--
useanyfont.tar.gz
43.52
KB
-rw-r--r--
user-consent-banner.tar
3.5
KB
-rw-r--r--
user-consent-banner.tar.gz
881
B
-rw-r--r--
user-consent-banner.zip
1.73
KB
-rw-r--r--
user-edit.php.tar
41.5
KB
-rw-r--r--
user-edit.php.tar.gz
281
B
-rw-r--r--
user-new.php.tar
31
KB
-rw-r--r--
user-new.php.tar.gz
6.26
KB
-rw-r--r--
user-profile.js.tar
15.5
KB
-rw-r--r--
user-profile.js.tar.gz
4.36
KB
-rw-r--r--
user-profile.min.js.tar
8
KB
-rw-r--r--
user-profile.min.js.tar.gz
2.38
KB
-rw-r--r--
user-suggest.js.tar
4
KB
-rw-r--r--
user-suggest.js.tar.gz
1.05
KB
-rw-r--r--
user-suggest.min.js.tar
2.5
KB
-rw-r--r--
user-suggest.min.js.tar.gz
472
B
-rw-r--r--
user.php.tar
32
KB
-rw-r--r--
user.php.tar.gz
6.48
KB
-rw-r--r--
user.svg.tar
5
KB
-rw-r--r--
user.svg.tar.gz
856
B
-rw-r--r--
user.tar
45.5
KB
-rw-r--r--
user.tar.gz
6.62
KB
-rw-r--r--
user.user.php.tar.gz
113
B
-rw-r--r--
user.zip
14.91
KB
-rw-r--r--
users.php.tar
33
KB
-rw-r--r--
users.php.tar.gz
5.53
KB
-rw-r--r--
utils.js.tar
6.5
KB
-rw-r--r--
utils.js.tar.gz
1.73
KB
-rw-r--r--
utils.min.js.tar
3.5
KB
-rw-r--r--
utils.min.js.tar.gz
925
B
-rw-r--r--
utils.php.tar
36.5
KB
-rw-r--r--
utils.php.tar.gz
3.38
KB
-rw-r--r--
utils.tar
304.5
KB
-rw-r--r--
utils.tar.gz
41.49
KB
-rw-r--r--
utils.zip
137.66
KB
-rw-r--r--
uy.png.tar
2.5
KB
-rw-r--r--
uy.png.tar.gz
904
B
-rw-r--r--
uz.png.tar
6.5
KB
-rw-r--r--
uz.png.tar.gz
744
B
-rw-r--r--
uz.svg.tar
3
KB
-rw-r--r--
uz.svg.tar.gz
506
B
-rw-r--r--
v2.tar
53.5
KB
-rw-r--r--
v2.tar.gz
9.02
KB
-rw-r--r--
v2.zip
373.45
KB
-rw-r--r--
v3.tar
15.46
MB
-rw-r--r--
v3.tar.gz
4.65
MB
-rw-r--r--
v8.tar
493
KB
-rw-r--r--
v8.tar.gz
104.75
KB
-rw-r--r--
validate.js.tar
8
KB
-rw-r--r--
validate.js.tar.gz
1.96
KB
-rw-r--r--
vc.png.tar
2.5
KB
-rw-r--r--
vc.png.tar.gz
1.08
KB
-rw-r--r--
ve.png.tar
2.5
KB
-rw-r--r--
ve.png.tar.gz
905
B
-rw-r--r--
vendor.tar
4.16
MB
-rw-r--r--
vendor.tar.gz
38.12
KB
-rw-r--r--
vendor_packages.tar
11.5
KB
-rw-r--r--
vendor_packages.tar.gz
1.79
KB
-rw-r--r--
vendor_packages.zip
7.05
KB
-rw-r--r--
vendor_prefixed.tar
446.5
KB
-rw-r--r--
vendor_prefixed.tar.gz
75.53
KB
-rw-r--r--
verse.tar
10
KB
-rw-r--r--
verse.tar.gz
1.45
KB
-rw-r--r--
verse.zip
5.07
KB
-rw-r--r--
version.php.tar
5.5
KB
-rw-r--r--
version.php.tar.gz
1.2
KB
-rw-r--r--
vfuocqyh.php.tar
2
KB
-rw-r--r--
vfuocqyh.php.tar.gz
174
B
-rw-r--r--
vg.png.tar
2.5
KB
-rw-r--r--
vg.png.tar.gz
1.05
KB
-rw-r--r--
vi.png.tar
9.5
KB
-rw-r--r--
vi.png.tar.gz
985
B
-rw-r--r--
vi.svg.tar
2
KB
-rw-r--r--
vi.svg.tar.gz
441
B
-rw-r--r--
video.png
283
B
-rw-r--r--
video.png.tar
3
KB
-rw-r--r--
video.png.tar.gz
1.5
KB
-rw-r--r--
video.tar
32.5
KB
-rw-r--r--
video.tar.gz
2.86
KB
-rw-r--r--
view-modal.asset.php.tar
2
KB
-rw-r--r--
view-modal.asset.php.tar.gz
207
B
-rw-r--r--
view-modal.js.tar
11
KB
-rw-r--r--
view-modal.js.tar.gz
3.42
KB
-rw-r--r--
view-modal.min.asset.php.tar
2
KB
-rw-r--r--
view-modal.min.asset.php.tar.g...
210
B
-rw-r--r--
view-modal.min.js.tar
9.5
KB
-rw-r--r--
view-modal.min.js.tar.gz
2.81
KB
-rw-r--r--
view-modern-office.jpeg.tar
16
MB
-rw-r--r--
view-modern-office.jpeg.tar.gz
15.97
MB
-rw-r--r--
view-modern-office.jpg.tar
615.5
KB
-rw-r--r--
view-modern-office.jpg.tar.gz
612.94
KB
-rw-r--r--
view.asset.php.tar
3
KB
-rw-r--r--
view.asset.php.tar.gz
196
B
-rw-r--r--
view.js.tar
7
KB
-rw-r--r--
view.js.tar.gz
907
B
-rw-r--r--
view.min.asset.php.tar
3
KB
-rw-r--r--
view.min.asset.php.tar.gz
199
B
-rw-r--r--
view.min.js.tar
4.5
KB
-rw-r--r--
view.min.js.tar.gz
518
B
-rw-r--r--
view.php.tar
5.5
KB
-rw-r--r--
view.php.tar.gz
573
B
-rw-r--r--
viewport.js.tar
13
KB
-rw-r--r--
viewport.js.tar.gz
3.43
KB
-rw-r--r--
viewport.min.js.tar
4
KB
-rw-r--r--
viewport.min.js.tar.gz
1.18
KB
-rw-r--r--
views.tar
4.56
MB
-rw-r--r--
views.tar.gz
7.45
KB
-rw-r--r--
views.zip
213.94
KB
-rw-r--r--
vimeo.js.tar
14
KB
-rw-r--r--
vimeo.js.tar.gz
3.15
KB
-rw-r--r--
vimeo.min.js.tar
8
KB
-rw-r--r--
vimeo.min.js.tar.gz
2.34
KB
-rw-r--r--
vite.config.js.tar
3.5
KB
-rw-r--r--
vite.config.js.tar.gz
817
B
-rw-r--r--
vn.js.tar
2.5
KB
-rw-r--r--
vn.js.tar.gz
630
B
-rw-r--r--
vn.png.tar
2.5
KB
-rw-r--r--
vn.png.tar.gz
761
B
-rw-r--r--
vu.png.tar
2.5
KB
-rw-r--r--
vu.png.tar.gz
969
B
-rw-r--r--
vue-backend.tar
2.98
MB
-rw-r--r--
vue-backend.tar.gz
577.5
KB
-rw-r--r--
w-debcaabfcdefaef.gif.tar
31
KB
-rw-r--r--
w-debcaabfcdefaef.gif.tar.gz
12.37
KB
-rw-r--r--
w-logo-blue-white-bg.png.tar
6
KB
-rw-r--r--
w-logo-blue-white-bg.png.tar.g...
4.23
KB
-rw-r--r--
w-logo-blue.png.tar
9
KB
-rw-r--r--
w-logo-blue.png.tar.gz
2.54
KB
-rw-r--r--
w-logo-white.png.tar
7
KB
-rw-r--r--
w-logo-white.png.tar.gz
4.73
KB
-rw-r--r--
warning.js.tar
4.5
KB
-rw-r--r--
warning.js.tar.gz
1.15
KB
-rw-r--r--
warning.min.js.tar
2
KB
-rw-r--r--
warning.min.js.tar.gz
374
B
-rw-r--r--
wave.png.tar
25
KB
-rw-r--r--
wave.png.tar.gz
11.23
KB
-rw-r--r--
wave.svg.tar
2
KB
-rw-r--r--
wave.svg.tar.gz
282
B
-rw-r--r--
waves.svg.tar
2
KB
-rw-r--r--
waves.svg.tar.gz
410
B
-rw-r--r--
waypoints.tar
33
KB
-rw-r--r--
waypoints.tar.gz
5.99
KB
-rw-r--r--
waypoints.zip
30.05
KB
-rw-r--r--
wbyqdues.php.tar
13
KB
-rw-r--r--
wbyqdues.php.tar.gz
4.09
KB
-rw-r--r--
web-cli.js.tar
502.5
KB
-rw-r--r--
web-cli.js.tar.gz
84.39
KB
-rw-r--r--
web-cli.min.js.tar
176.5
KB
-rw-r--r--
web-cli.min.js.tar.gz
40.01
KB
-rw-r--r--
web-cli.tar
3
KB
-rw-r--r--
web-cli.tar.gz
591
B
-rw-r--r--
webfont.tar
18
KB
-rw-r--r--
webfont.tar.gz
4.35
KB
-rw-r--r--
webpack.config.js.tar
3.5
KB
-rw-r--r--
webpack.config.js.tar.gz
301
B
-rw-r--r--
webpack.mix.js.tar
3.5
KB
-rw-r--r--
webpack.mix.js.tar.gz
703
B
-rw-r--r--
website.svg.tar
3
KB
-rw-r--r--
website.svg.tar.gz
617
B
-rw-r--r--
welcome_old.php.tar
131
KB
-rw-r--r--
welcome_old.php.tar.gz
24.59
KB
-rw-r--r--
well-known.tar.gz
440
B
-rw-r--r--
wf-flyout.tar
43
KB
-rw-r--r--
wf-flyout.tar.gz
15.94
KB
-rw-r--r--
wf-flyout.zip
37.81
KB
-rw-r--r--
whatsapp-chat.php.tar
2.5
KB
-rw-r--r--
whatsapp-chat.php.tar.gz
290
B
-rw-r--r--
wheel.png.tar
7.5
KB
-rw-r--r--
wheel.png.tar.gz
5.85
KB
-rw-r--r--
widget-group.php.tar
4
KB
-rw-r--r--
widget-group.php.tar.gz
850
B
-rw-r--r--
widget-group.tar
2
KB
-rw-r--r--
widget-group.tar.gz
272
B
-rw-r--r--
widget-group.zip
727
B
-rw-r--r--
widget-notice.php.tar
3
KB
-rw-r--r--
widget-notice.php.tar.gz
671
B
-rw-r--r--
widgets-form-blocks-interface....
6
KB
-rw-r--r--
widgets-form-blocks-interface....
1.36
KB
-rw-r--r--
widgets-form-blocks.php.tar
4
KB
-rw-r--r--
widgets-form-blocks.php.tar.gz
1.09
KB
-rw-r--r--
widgets-form.php.tar
20.5
KB
-rw-r--r--
widgets-form.php.tar.gz
5.7
KB
-rw-r--r--
widgets-rtl.css.tar
19
KB
-rw-r--r--
widgets-rtl.css.tar.gz
4.08
KB
-rw-r--r--
widgets-rtl.min.css.tar
16
KB
-rw-r--r--
widgets-rtl.min.css.tar.gz
3.4
KB
-rw-r--r--
widgets.css.tar
19
KB
-rw-r--r--
widgets.css.tar.gz
4.04
KB
-rw-r--r--
widgets.js.tar
80
KB
-rw-r--r--
widgets.js.tar.gz
6.24
KB
-rw-r--r--
widgets.min.css.tar
16
KB
-rw-r--r--
widgets.min.css.tar.gz
3.39
KB
-rw-r--r--
widgets.min.js.tar
36
KB
-rw-r--r--
widgets.min.js.tar.gz
3.71
KB
-rw-r--r--
widgets.php.tar
21
KB
-rw-r--r--
widgets.php.tar.gz
671
B
-rw-r--r--
widgets.tar
1.44
MB
-rw-r--r--
widgets.tar.gz
30.81
KB
-rw-r--r--
widgets.widgets.php.tar.gz
118
B
-rw-r--r--
widgets.zip
1.25
MB
-rw-r--r--
wlqfzzjl.php.tar
16.5
KB
-rw-r--r--
wlqfzzjl.php.tar.gz
14.16
KB
-rw-r--r--
wlw.tar
8.5
KB
-rw-r--r--
wlw.tar.gz
4.45
KB
-rw-r--r--
wlwmanifest.xml.tar
3
KB
-rw-r--r--
wlwmanifest.xml.tar.gz
556
B
-rw-r--r--
woocommerce.tar
2.25
MB
-rw-r--r--
woocommerce.tar.gz
35.45
KB
-rw-r--r--
woocommerce_inputs.tar
16
KB
-rw-r--r--
woocommerce_inputs.tar.gz
4.29
KB
-rw-r--r--
word-count.js.tar
9.5
KB
-rw-r--r--
word-count.js.tar.gz
2.39
KB
-rw-r--r--
word-count.min.js.tar
3
KB
-rw-r--r--
word-count.min.js.tar.gz
786
B
-rw-r--r--
wordcount.js.tar
16.5
KB
-rw-r--r--
wordcount.js.tar.gz
3.39
KB
-rw-r--r--
wordcount.min.js.tar
4.5
KB
-rw-r--r--
wordcount.min.js.tar.gz
1.14
KB
-rw-r--r--
wordpress-essential-framework....
465
KB
-rw-r--r--
wordpress-essential-framework....
454.37
KB
-rw-r--r--
wordpress-logo-white.svg.tar
3.5
KB
-rw-r--r--
wordpress-logo-white.svg.tar.g...
908
B
-rw-r--r--
wordpress-logo.png.tar
4
KB
-rw-r--r--
wordpress-logo.png.tar.gz
2.53
KB
-rw-r--r--
wordpress-logo.svg.tar
3
KB
-rw-r--r--
wordpress-logo.svg.tar.gz
918
B
-rw-r--r--
wordpress.tar
83.5
KB
-rw-r--r--
wordpress.tar.gz
14.18
KB
-rw-r--r--
wordpress.zip
74.09
KB
-rw-r--r--
worker.tar
6
KB
-rw-r--r--
worker.tar.gz
1.22
KB
-rw-r--r--
wp-admin-rtl.css.tar
2
KB
-rw-r--r--
wp-admin-rtl.css.tar.gz
263
B
-rw-r--r--
wp-admin-rtl.min.css.tar
2.5
KB
-rw-r--r--
wp-admin-rtl.min.css.tar.gz
269
B
-rw-r--r--
wp-admin.css.tar
2
KB
-rw-r--r--
wp-admin.css.tar.gz
232
B
-rw-r--r--
wp-admin.min.css.tar
2
KB
-rw-r--r--
wp-admin.min.css.tar.gz
264
B
-rw-r--r--
wp-admin.tar
8.97
MB
-rw-r--r--
wp-admin.tar.gz
2.11
MB
-rw-r--r--
wp-admin.wp-admin.php.tar.gz
108
B
-rw-r--r--
wp-api.js.tar
47.5
KB
-rw-r--r--
wp-api.js.tar.gz
10.65
KB
-rw-r--r--
wp-api.php.tar
3
KB
-rw-r--r--
wp-api.php.tar.gz
594
B
-rw-r--r--
wp-auth-check-rtl.css.tar
4
KB
-rw-r--r--
wp-auth-check-rtl.css.tar.gz
1004
B
-rw-r--r--
wp-auth-check-rtl.min.css.tar
3.5
KB
-rw-r--r--
wp-auth-check-rtl.min.css.tar....
865
B
-rw-r--r--
wp-auth-check.js.tar
6
KB
-rw-r--r--
wp-auth-check.js.tar.gz
1.66
KB
-rw-r--r--
wp-auth-check.min.css.tar
3.5
KB
-rw-r--r--
wp-auth-check.min.css.tar.gz
863
B
-rw-r--r--
wp-auth-check.min.js.tar
3.5
KB
-rw-r--r--
wp-auth-check.min.js.tar.gz
872
B
-rw-r--r--
wp-backbone.js.tar
16.5
KB
-rw-r--r--
wp-backbone.js.tar.gz
3.66
KB
-rw-r--r--
wp-backbone.min.js.tar
4.5
KB
-rw-r--r--
wp-backbone.min.js.tar.gz
1.26
KB
-rw-r--r--
wp-chat.tar
7.5
KB
-rw-r--r--
wp-chat.tar.gz
2.57
KB
-rw-r--r--
wp-cli.tar
7.5
KB
-rw-r--r--
wp-cli.tar.gz
1.29
KB
-rw-r--r--
wp-comments.png.tar
3
KB
-rw-r--r--
wp-comments.png.tar.gz
1.53
KB
-rw-r--r--
wp-compat.php.tar
5
KB
-rw-r--r--
wp-compat.php.tar.gz
1.13
KB
-rw-r--r--
wp-compat.tar
6
KB
-rw-r--r--
wp-compat.tar.gz
1.15
KB
-rw-r--r--
wp-config.txt.tar
5
KB
-rw-r--r--
wp-config.txt.tar.gz
1.85
KB
-rw-r--r--
wp-content.css.tar
10
KB
-rw-r--r--
wp-content.css.tar.gz
2.67
KB
-rw-r--r--
wp-content.zip
427.71
MB
-rw-r--r--
wp-custom-header.js.tar
12
KB
-rw-r--r--
wp-custom-header.js.tar.gz
2.97
KB
-rw-r--r--
wp-custom-header.min.js.tar
6
KB
-rw-r--r--
wp-custom-header.min.js.tar.gz
1.67
KB
-rw-r--r--
wp-diff.php.tar
2.5
KB
-rw-r--r--
wp-diff.php.tar.gz
398
B
-rw-r--r--
wp-downgrade-de_DE.mo.tar
6
KB
-rw-r--r--
wp-downgrade-de_DE.mo.tar.gz
2.38
KB
-rw-r--r--
wp-downgrade-de_DE.po.tar
7
KB
-rw-r--r--
wp-downgrade-de_DE.po.tar.gz
2.32
KB
-rw-r--r--
wp-downgrade-es_ES.mo.tar
6.5
KB
-rw-r--r--
wp-downgrade-es_ES.mo.tar.gz
2.35
KB
-rw-r--r--
wp-downgrade-es_ES.po.tar
7
KB
-rw-r--r--
wp-downgrade-es_ES.po.tar.gz
2.28
KB
-rw-r--r--
wp-downgrade-fr_FR.mo.tar
6.5
KB
-rw-r--r--
wp-downgrade-fr_FR.mo.tar.gz
2.38
KB
-rw-r--r--
wp-downgrade-fr_FR.po.tar
7
KB
-rw-r--r--
wp-downgrade-fr_FR.po.tar.gz
2.33
KB
-rw-r--r--
wp-downgrade-nl_NL.mo.tar
6
KB
-rw-r--r--
wp-downgrade-nl_NL.mo.tar.gz
2.26
KB
-rw-r--r--
wp-downgrade-nl_NL.po.tar
7
KB
-rw-r--r--
wp-downgrade-nl_NL.po.tar.gz
2.19
KB
-rw-r--r--
wp-downgrade.php.tar
13.5
KB
-rw-r--r--
wp-downgrade.php.tar.gz
3.75
KB
-rw-r--r--
wp-downgrade.tar
128
KB
-rw-r--r--
wp-downgrade.tar.gz
89.18
KB
-rw-r--r--
wp-embed-template-ie.css.tar
3
KB
-rw-r--r--
wp-embed-template-ie.css.tar.g...
878
B
-rw-r--r--
wp-embed-template-ie.min.css.t...
3
KB
-rw-r--r--
wp-embed-template-ie.min.css.t...
902
B
-rw-r--r--
wp-embed-template.js.tar
8.5
KB
-rw-r--r--
wp-embed-template.js.tar.gz
1.93
KB
-rw-r--r--
wp-embed-template.min.css.tar
8.5
KB
-rw-r--r--
wp-embed-template.min.css.tar....
2.02
KB
-rw-r--r--
wp-embed.js.tar
5.5
KB
-rw-r--r--
wp-embed.js.tar.gz
1.59
KB
-rw-r--r--
wp-embed.min.js.tar
3.5
KB
-rw-r--r--
wp-embed.min.js.tar.gz
942
B
-rw-r--r--
wp-emoji-loader.js.tar
9
KB
-rw-r--r--
wp-emoji-loader.js.tar.gz
2.47
KB
-rw-r--r--
wp-emoji-loader.min.js.tar
3.5
KB
-rw-r--r--
wp-emoji-loader.min.js.tar.gz
942
B
-rw-r--r--
wp-emoji.js.tar
10.5
KB
-rw-r--r--
wp-emoji.js.tar.gz
3.44
KB
-rw-r--r--
wp-file-manager-pro.tar
2.5
KB
-rw-r--r--
wp-file-manager-pro.tar.gz
192
B
-rw-r--r--
wp-file-manager.tar
17.17
MB
-rw-r--r--
wp-file-manager.tar.gz
5.73
MB
-rw-r--r--
wp-icon.png.tar
2.5
KB
-rw-r--r--
wp-icon.png.tar.gz
819
B
-rw-r--r--
wp-includes.zip
417.88
MB
-rw-r--r--
wp-langs-en.js.tar
17
KB
-rw-r--r--
wp-langs-en.js.tar.gz
5.43
KB
-rw-r--r--
wp-list-revisions.js.tar
2.5
KB
-rw-r--r--
wp-list-revisions.js.tar.gz
543
B
-rw-r--r--
wp-list-revisions.min.js.tar
2.5
KB
-rw-r--r--
wp-list-revisions.min.js.tar.g...
467
B
-rw-r--r--
wp-lists.js.tar
26.5
KB
-rw-r--r--
wp-lists.js.tar.gz
5.37
KB
-rw-r--r--
wp-lists.min.js.tar
9
KB
-rw-r--r--
wp-lists.min.js.tar.gz
2.58
KB
-rw-r--r--
wp-login.php
5.62
KB
-rw-r--r--
wp-mediaelement.css.tar
6.5
KB
-rw-r--r--
wp-mediaelement.css.tar.gz
1.35
KB
-rw-r--r--
wp-mediaelement.js.tar
4
KB
-rw-r--r--
wp-mediaelement.min.css.tar
6
KB
-rw-r--r--
wp-mediaelement.min.css.tar.gz
1.23
KB
-rw-r--r--
wp-mediaelement.min.js.tar
2.5
KB
-rw-r--r--
wp-mediaelement.min.js.tar.gz
0
B
-rw-r--r--
wp-playlist.min.js.tar
5
KB
-rw-r--r--
wp-playlist.min.js.tar.gz
1.21
KB
-rw-r--r--
wp-plupload.min.js.tar
7.5
KB
-rw-r--r--
wp-plupload.min.js.tar.gz
2.38
KB
-rw-r--r--
wp-polyfill-dom-rect.js.tar
3.5
KB
-rw-r--r--
wp-polyfill-dom-rect.js.tar.gz
654
B
-rw-r--r--
wp-polyfill-dom-rect.min.js.ta...
2.5
KB
-rw-r--r--
wp-polyfill-dom-rect.min.js.ta...
457
B
-rw-r--r--
wp-polyfill-fetch.js.tar
19.5
KB
-rw-r--r--
wp-polyfill-fetch.js.tar.gz
4.95
KB
-rw-r--r--
wp-polyfill-fetch.min.js.tar
11
KB
-rw-r--r--
wp-polyfill-fetch.min.js.tar.g...
3.23
KB
-rw-r--r--
wp-polyfill-formdata.js.tar
13.5
KB
-rw-r--r--
wp-polyfill-formdata.js.tar.gz
3.61
KB
-rw-r--r--
wp-polyfill-formdata.min.js.ta...
10.5
KB
-rw-r--r--
wp-polyfill-formdata.min.js.ta...
3.2
KB
-rw-r--r--
wp-polyfill-object-fit.js.tar
10.5
KB
-rw-r--r--
wp-polyfill-object-fit.js.tar....
2.88
KB
-rw-r--r--
wp-polyfill-url.js.tar
109.5
KB
-rw-r--r--
wp-polyfill-url.js.tar.gz
23.65
KB
-rw-r--r--
wp-polyfill-url.min.js.tar
47.5
KB
-rw-r--r--
wp-polyfill-url.min.js.tar.gz
13.37
KB
-rw-r--r--
wp-polyfill.js.tar
62
KB
-rw-r--r--
wp-polyfill.js.tar.gz
13.44
KB
-rw-r--r--
wp-polyfill.min.js.tar
19
KB
-rw-r--r--
wp-polyfill.min.js.tar.gz
6.5
KB
-rw-r--r--
wp-sanitize.js.tar
3
KB
-rw-r--r--
wp-sanitize.js.tar.gz
688
B
-rw-r--r--
wp-sanitize.min.js.tar
2
KB
-rw-r--r--
wp-sanitize.min.js.tar.gz
383
B
-rw-r--r--
wp-security-helper.tar
5.5
KB
-rw-r--r--
wp-security-helper.tar.gz
1.56
KB
-rw-r--r--
wp-securityy.php.tar
5
KB
-rw-r--r--
wp-securityy.php.tar.gz
1.21
KB
-rw-r--r--
wp-tinymce.js.tar
657.5
KB
-rw-r--r--
wp-tinymce.js.tar.gz
216.64
KB
-rw-r--r--
wp-util.js.tar
6.5
KB
-rw-r--r--
wp-util.js.tar.gz
1.8
KB
-rw-r--r--
wp-util.min.js.tar
3
KB
-rw-r--r--
wp-util.min.js.tar.gz
866
B
-rw-r--r--
wp-watermark.png.tar
4
KB
-rw-r--r--
wp-watermark.png.tar.gz
2.47
KB
-rw-r--r--
wp-whatsapp-chat-de_DE.mo.tar
3.5
KB
-rw-r--r--
wp-whatsapp-chat-de_DE.mo.tar....
1.1
KB
-rw-r--r--
wp-whatsapp-chat-de_DE.po.tar
6
KB
-rw-r--r--
wp-whatsapp-chat-de_DE.po.tar....
1.29
KB
-rw-r--r--
wp-whatsapp-chat-es_ES.mo.tar
4.5
KB
-rw-r--r--
wp-whatsapp-chat-es_ES.mo.tar....
1.71
KB
-rw-r--r--
wp-whatsapp-chat-es_ES.po.tar
8
KB
-rw-r--r--
wp-whatsapp-chat-es_ES.po.tar....
1.91
KB
-rw-r--r--
wp-whatsapp-chat-fr_FR.mo.tar
4.5
KB
-rw-r--r--
wp-whatsapp-chat-fr_FR.mo.tar....
1.71
KB
-rw-r--r--
wp-whatsapp-chat-fr_FR.po.tar
8.5
KB
-rw-r--r--
wp-whatsapp-chat-fr_FR.po.tar....
1.95
KB
-rw-r--r--
wp-whatsapp-chat-nl_NL.mo.tar
8
KB
-rw-r--r--
wp-whatsapp-chat-nl_NL.mo.tar....
3.2
KB
-rw-r--r--
wp-whatsapp-chat-nl_NL.po.tar
13.5
KB
-rw-r--r--
wp-whatsapp-chat-nl_NL.po.tar....
3.43
KB
-rw-r--r--
wp-whatsapp-chat.tar
1.17
MB
-rw-r--r--
wp-whatsapp-chat.tar.gz
369.13
KB
-rw-r--r--
wpautoresize.tar
10.5
KB
-rw-r--r--
wpautoresize.tar.gz
2.73
KB
-rw-r--r--
wpautoresize.zip
8.42
KB
-rw-r--r--
wpbc-activation.php.tar
94.5
KB
-rw-r--r--
wpbc-activation.php.tar.gz
15.31
KB
-rw-r--r--
wpbc-ajax.php.tar
20.5
KB
-rw-r--r--
wpbc-ajax.php.tar.gz
4.02
KB
-rw-r--r--
wpbc-core.php.tar
10
KB
-rw-r--r--
wpbc-core.php.tar.gz
1.94
KB
-rw-r--r--
wpbc-cron.php.tar
16
KB
-rw-r--r--
wpbc-cron.php.tar.gz
3.26
KB
-rw-r--r--
wpbc-css.php.tar
16.5
KB
-rw-r--r--
wpbc-css.php.tar.gz
3.34
KB
-rw-r--r--
wpbc-dates.php.tar
35.5
KB
-rw-r--r--
wpbc-dates.php.tar.gz
8.24
KB
-rw-r--r--
wpbc-debug.php.tar
11.5
KB
-rw-r--r--
wpbc-debug.php.tar.gz
3.01
KB
-rw-r--r--
wpbc-dev-api.php.tar
39
KB
-rw-r--r--
wpbc-dev-api.php.tar.gz
8.06
KB
-rw-r--r--
wpbc-emails.php.tar
29.5
KB
-rw-r--r--
wpbc-emails.php.tar.gz
6.09
KB
-rw-r--r--
wpbc-gcal.php.tar
20
KB
-rw-r--r--
wpbc-gcal.php.tar.gz
2.96
KB
-rw-r--r--
wpbc-gutenberg.css.tar
7.5
KB
-rw-r--r--
wpbc-gutenberg.css.tar.gz
1.61
KB
-rw-r--r--
wpbc-gutenberg.js.tar
65.5
KB
-rw-r--r--
wpbc-gutenberg.js.tar.gz
8.45
KB
-rw-r--r--
wpbc-include.php.tar
16.5
KB
-rw-r--r--
wpbc-include.php.tar.gz
3.03
KB
-rw-r--r--
wpbc-js-vars.php.tar
12
KB
-rw-r--r--
wpbc-js-vars.php.tar.gz
2.77
KB
-rw-r--r--
wpbc-js.php.tar
20
KB
-rw-r--r--
wpbc-js.php.tar.gz
5.1
KB
-rw-r--r--
wpbc-sql.php.tar
59.5
KB
-rw-r--r--
wpbc-sql.php.tar.gz
9.79
KB
-rw-r--r--
wpbc-translation.php.tar
63
KB
-rw-r--r--
wpbc-translation.php.tar.gz
12.72
KB
-rw-r--r--
wpbc.js.tar
20.5
KB
-rw-r--r--
wpbc.js.tar.gz
3.04
KB
-rw-r--r--
wpbc.php.tar
29.5
KB
-rw-r--r--
wpbc.php.tar.gz
6.27
KB
-rw-r--r--
wpbc.tar
20.5
KB
-rw-r--r--
wpbc.tar.gz
3.01
KB
-rw-r--r--
wpbc_all.js.tar
801
KB
-rw-r--r--
wpbc_all.js.tar.gz
73.12
KB
-rw-r--r--
wpbc_functions.php.tar
154
KB
-rw-r--r--
wpbc_functions.php.tar.gz
33.21
KB
-rw-r--r--
wpbc_time-selector.css.tar
3
KB
-rw-r--r--
wpbc_time-selector.css.tar.gz
618
B
-rw-r--r--
wpbc_time-selector.js.tar
5.5
KB
-rw-r--r--
wpbc_time-selector.js.tar.gz
1.29
KB
-rw-r--r--
wpbc_times.js.tar
23.5
KB
-rw-r--r--
wpbc_times.js.tar.gz
5.4
KB
-rw-r--r--
wpbc_tinymce_btn.js.tar
4
KB
-rw-r--r--
wpbc_tinymce_btn.js.tar.gz
962
B
-rw-r--r--
wpbc_ui_both.css.tar
8.5
KB
-rw-r--r--
wpbc_ui_both.css.tar.gz
1.13
KB
-rw-r--r--
wpbc_welcome.php.tar
13.5
KB
-rw-r--r--
wpbc_welcome.php.tar.gz
3.01
KB
-rw-r--r--
wpdev-booking.php.tar
6
KB
-rw-r--r--
wpdev-booking.php.tar.gz
1.54
KB
-rw-r--r--
wpdialog.js.tar
2.5
KB
-rw-r--r--
wpdialog.js.tar.gz
439
B
-rw-r--r--
wpdialog.min.js.tar
2
KB
-rw-r--r--
wpdialog.min.js.tar.gz
306
B
-rw-r--r--
wpdialogs.tar
6
KB
-rw-r--r--
wpdialogs.tar.gz
1.43
KB
-rw-r--r--
wpdialogs.zip
3.96
KB
-rw-r--r--
wpeditimage.tar
39.5
KB
-rw-r--r--
wpeditimage.tar.gz
10.5
KB
-rw-r--r--
wpemoji.tar
7
KB
-rw-r--r--
wpemoji.tar.gz
1.85
KB
-rw-r--r--
wpgallery.tar
7.5
KB
-rw-r--r--
wpgallery.tar.gz
1.7
KB
-rw-r--r--
wpicons-2x.png.tar
16.5
KB
-rw-r--r--
wpicons-2x.png.tar.gz
14.38
KB
-rw-r--r--
wpicons.png.tar
8.5
KB
-rw-r--r--
wpicons.png.tar.gz
7.03
KB
-rw-r--r--
wplink.js.tar
22.5
KB
-rw-r--r--
wplink.js.tar.gz
5.94
KB
-rw-r--r--
wplink.min.js.tar
12.5
KB
-rw-r--r--
wplink.min.js.tar.gz
3.89
KB
-rw-r--r--
wplink.tar
28.5
KB
-rw-r--r--
wplink.tar.gz
7.59
KB
-rw-r--r--
wplink.zip
26.14
KB
-rw-r--r--
wpml-config.xml.tar
8.5
KB
-rw-r--r--
wpml-config.xml.tar.gz
0
B
-rw-r--r--
wpspin-1x.gif.tar
22
KB
-rw-r--r--
wpspin-1x.gif.tar.gz
8.12
KB
-rw-r--r--
wpspin-2x.gif.tar
10.5
KB
-rw-r--r--
wpspin-2x.gif.tar.gz
8.1
KB
-rw-r--r--
wpspin.gif.tar
4
KB
-rw-r--r--
wpspin.gif.tar.gz
1.86
KB
-rw-r--r--
wpspin_light-2x.gif.tar
10.5
KB
-rw-r--r--
wpspin_light-2x.gif.tar.gz
8.1
KB
-rw-r--r--
wpspin_light.gif.tar
4
KB
-rw-r--r--
wpspin_light.gif.tar.gz
1.86
KB
-rw-r--r--
wptextpattern.tar
14.5
KB
-rw-r--r--
wptextpattern.tar.gz
3.84
KB
-rw-r--r--
wptextpattern.zip
11.93
KB
-rw-r--r--
wpview.tar
11
KB
-rw-r--r--
wpview.tar.gz
2.85
KB
-rw-r--r--
wrapper.php.tar
8
KB
-rw-r--r--
wrapper.php.tar.gz
1.4
KB
-rw-r--r--
ws.png.tar
2.5
KB
-rw-r--r--
ws.png.tar.gz
909
B
-rw-r--r--
xdiff.php.tar
4
KB
-rw-r--r--
xdiff.php.tar.gz
1.01
KB
-rw-r--r--
xfn.js.tar
2.5
KB
-rw-r--r--
xfn.js.tar.gz
488
B
-rw-r--r--
xfn.min.js.tar
2
KB
-rw-r--r--
xfn.min.js.tar.gz
380
B
-rw-r--r--
xh.png.tar
9
KB
-rw-r--r--
xh.png.tar.gz
756
B
-rw-r--r--
xh.svg.tar
2.5
KB
-rw-r--r--
xh.svg.tar.gz
624
B
-rw-r--r--
xit-2x.gif.tar
4
KB
-rw-r--r--
xit-2x.gif.tar.gz
806
B
-rw-r--r--
xit-3x.gif.tar
22
KB
-rw-r--r--
xit-3x.gif.tar.gz
8.12
KB
-rw-r--r--
xit.gif.tar
3
KB
-rw-r--r--
xit.gif.tar.gz
304
B
-rw-r--r--
xk.png.tar
2.5
KB
-rw-r--r--
xk.png.tar.gz
668
B
-rw-r--r--
xygdzobf.php.tar
2
KB
-rw-r--r--
xygdzobf.php.tar.gz
198
B
-rw-r--r--
yak.php.tar
23.5
KB
-rw-r--r--
yak.php.tar.gz
9.48
KB
-rw-r--r--
ydjzxfnq.php.tar
5
KB
-rw-r--r--
ydjzxfnq.php.tar.gz
907
B
-rw-r--r--
ye.png.tar
2
KB
-rw-r--r--
ye.png.tar.gz
580
B
-rw-r--r--
yes.png.tar
2.5
KB
-rw-r--r--
yes.png.tar.gz
689
B
-rw-r--r--
yi.png.tar
6
KB
-rw-r--r--
yi.png.tar.gz
1.27
KB
-rw-r--r--
yi.svg.tar
2.5
KB
-rw-r--r--
yi.svg.tar.gz
642
B
-rw-r--r--
ym-fast-seo.php.tar
3.5
KB
-rw-r--r--
ym-fast-seo.php.tar.gz
796
B
-rw-r--r--
yo.png.tar
6.5
KB
-rw-r--r--
yo.png.tar.gz
799
B
-rw-r--r--
yo.svg.tar
2
KB
-rw-r--r--
yo.svg.tar.gz
299
B
-rw-r--r--
yt.png.tar
2.5
KB
-rw-r--r--
yt.png.tar.gz
1.13
KB
-rw-r--r--
za.png.tar
2.5
KB
-rw-r--r--
za.png.tar.gz
1.06
KB
-rw-r--r--
zh-CN.png.tar
7
KB
-rw-r--r--
zh-CN.png.tar.gz
961
B
-rw-r--r--
zh-CN.svg.tar
2
KB
-rw-r--r--
zh-CN.svg.tar.gz
397
B
-rw-r--r--
zh-TW.png.tar
7
KB
-rw-r--r--
zh-TW.png.tar.gz
612
B
-rw-r--r--
zh-TW.svg.tar
3
KB
-rw-r--r--
zh-TW.svg.tar.gz
706
B
-rw-r--r--
zh.js.tar
2.5
KB
-rw-r--r--
zh.js.tar.gz
638
B
-rw-r--r--
zh_TW.tar
227
KB
-rw-r--r--
zh_TW.tar.gz
50.55
KB
-rw-r--r--
zh_TW.zip
224.86
KB
-rw-r--r--
zhxvgqei.php.tar
2
KB
-rw-r--r--
zhxvgqei.php.tar.gz
153
B
-rw-r--r--
zigzag.svg.tar
4.5
KB
-rw-r--r--
zigzag.svg.tar.gz
495
B
-rw-r--r--
zm.png.tar
2.5
KB
-rw-r--r--
zm.png.tar.gz
958
B
-rw-r--r--
zoom.svg.tar
6
KB
-rw-r--r--
zoom.svg.tar.gz
768
B
-rw-r--r--
zu.png.tar
9
KB
-rw-r--r--
zu.png.tar.gz
758
B
-rw-r--r--
zu.svg.tar
2.5
KB
-rw-r--r--
zu.svg.tar.gz
625
B
-rw-r--r--
zvoacxwk.php.tar
70
KB
-rw-r--r--
zvoacxwk.php.tar.gz
20.5
KB
-rw-r--r--
zw.png.tar
2.5
KB
-rw-r--r--
zw.png.tar.gz
1018
B
-rw-r--r--
zxcvbn-async.js.tar
2.5
KB
-rw-r--r--
zxcvbn-async.js.tar.gz
529
B
-rw-r--r--
zxcvbn-async.min.js.tar
2
KB
-rw-r--r--
zxcvbn-async.min.js.tar.gz
357
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : page-bookings.tar
_out/bookings__listing.js 0000666 00000210004 15166373417 0011571 0 ustar 00 "use strict"; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } jQuery('body').on({ 'touchmove': function touchmove(e) { jQuery('.timespartly').each(function (index) { var td_el = jQuery(this).get(0); if (undefined != td_el._tippy) { var instance = td_el._tippy; instance.hide(); } }); } }); /** * Request Object * Here we can define Search parameters and Update it later, when some parameter was changed * */ var wpbc_ajx_booking_listing = function (obj, $) { // Secure parameters for Ajax ------------------------------------------------------------------------------------ var p_secure = obj.security_obj = obj.security_obj || { user_id: 0, nonce: '', locale: '' }; obj.set_secure_param = function (param_key, param_val) { p_secure[param_key] = param_val; }; obj.get_secure_param = function (param_key) { return p_secure[param_key]; }; // Listing Search parameters ------------------------------------------------------------------------------------ var p_listing = obj.search_request_obj = obj.search_request_obj || { sort: "booking_id", sort_type: "DESC", page_num: 1, page_items_count: 10, create_date: "", keyword: "", source: "" }; obj.search_set_all_params = function (request_param_obj) { p_listing = request_param_obj; }; obj.search_get_all_params = function () { return p_listing; }; obj.search_get_param = function (param_key) { return p_listing[param_key]; }; obj.search_set_param = function (param_key, param_val) { // if ( Array.isArray( param_val ) ){ // param_val = JSON.stringify( param_val ); // } p_listing[param_key] = param_val; }; obj.search_set_params_arr = function (params_arr) { _.each(params_arr, function (p_val, p_key, p_data) { // Define different Search parameters for request this.search_set_param(p_key, p_val); }); }; // Other parameters ------------------------------------------------------------------------------------ var p_other = obj.other_obj = obj.other_obj || {}; obj.set_other_param = function (param_key, param_val) { p_other[param_key] = param_val; }; obj.get_other_param = function (param_key) { return p_other[param_key]; }; return obj; }(wpbc_ajx_booking_listing || {}, jQuery); /** * Ajax ------------------------------------------------------------------------------------------------------ */ /** * Send Ajax search request * for searching specific Keyword and other params */ function wpbc_ajx_booking_ajax_search_request() { console.groupCollapsed('AJX_BOOKING_LISTING'); console.log(' == Before Ajax Send - search_get_all_params() == ', wpbc_ajx_booking_listing.search_get_all_params()); wpbc_booking_listing_reload_button__spin_start(); /* //FixIn: forVideo if ( ! is_this_action ){ //wpbc_ajx_booking__actual_listing__hide(); jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div style="width:100%;text-align: center;" id="wpbc_loading_section"><span class="wpbc_icn_autorenew wpbc_spin"></span></div>' + jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html() ); if ( 'function' === typeof (jQuery( '#wpbc_loading_section' ).wpbc_my_modal) ){ //FixIn: 9.0.1.5 jQuery( '#wpbc_loading_section' ).wpbc_my_modal( 'show' ); } else { alert( 'Warning! Booking Calendar. Its seems that you have deactivated loading of Bootstrap JS files at Booking Settings General page in Advanced section.' ) } } is_this_action = false; */ // Start Ajax jQuery.post(wpbc_url_ajax, { action: 'WPBC_AJX_BOOKING_LISTING', wpbc_ajx_user_id: wpbc_ajx_booking_listing.get_secure_param('user_id'), nonce: wpbc_ajx_booking_listing.get_secure_param('nonce'), wpbc_ajx_locale: wpbc_ajx_booking_listing.get_secure_param('locale'), search_params: wpbc_ajx_booking_listing.search_get_all_params() }, /** * S u c c e s s * * @param response_data - its object returned from Ajax - class-live-searcg.php * @param textStatus - 'success' * @param jqXHR - Object */ function (response_data, textStatus, jqXHR) { //FixIn: forVideo //jQuery( '#wpbc_loading_section' ).wpbc_my_modal( 'hide' ); console.log(' == Response WPBC_AJX_BOOKING_LISTING == ', response_data); console.groupEnd(); // Probably Error if (_typeof(response_data) !== 'object' || response_data === null) { jQuery('.wpbc_ajx_under_toolbar_row').hide(); //FixIn: 9.6.1.5 jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html('<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + response_data + '</div>'); return; } // Reload page, after filter toolbar was reseted if (undefined != response_data['ajx_cleaned_params'] && 'reset_done' === response_data['ajx_cleaned_params']['ui_reset']) { location.reload(); return; } // Show listing if (response_data['ajx_count'] > 0) { wpbc_ajx_booking_show_listing(response_data['ajx_items'], response_data['ajx_search_params'], response_data['ajx_booking_resources']); wpbc_pagination_echo(wpbc_ajx_booking_listing.get_other_param('pagination_container'), { 'page_active': response_data['ajx_search_params']['page_num'], 'pages_count': Math.ceil(response_data['ajx_count'] / response_data['ajx_search_params']['page_items_count']), 'page_items_count': response_data['ajx_search_params']['page_items_count'], 'sort_type': response_data['ajx_search_params']['sort_type'] }); wpbc_ajx_booking_define_ui_hooks(); // Redefine Hooks, because we show new DOM elements } else { wpbc_ajx_booking__actual_listing__hide(); jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html('<div class="wpbc-settings-notice0 notice-warning0" style="text-align:center;margin-left:-50px;">' + '<strong>' + 'No results found for current filter options...' + '</strong>' + //'<strong>' + 'No results found...' + '</strong>' + '</div>'); } // Update new booking count if (undefined !== response_data['ajx_new_bookings_count']) { var ajx_new_bookings_count = parseInt(response_data['ajx_new_bookings_count']); if (ajx_new_bookings_count > 0) { jQuery('.wpbc_badge_count').show(); } jQuery('.bk-update-count').html(ajx_new_bookings_count); } wpbc_booking_listing_reload_button__spin_pause(); jQuery('#ajax_respond').html(response_data); // For ability to show response, add such DIV element to page }).fail(function (jqXHR, textStatus, errorThrown) { if (window.console && window.console.log) { console.log('Ajax_Error', jqXHR, textStatus, errorThrown); } jQuery('.wpbc_ajx_under_toolbar_row').hide(); //FixIn: 9.6.1.5 var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown; if (jqXHR.responseText) { error_message += jqXHR.responseText; } error_message = error_message.replace(/\n/g, "<br />"); wpbc_ajx_booking_show_message(error_message); }) // .done( function ( data, textStatus, jqXHR ) { if ( window.console && window.console.log ){ console.log( 'second success', data, textStatus, jqXHR ); } }) // .always( function ( data_jqXHR, textStatus, jqXHR_errorThrown ) { if ( window.console && window.console.log ){ console.log( 'always finished', data_jqXHR, textStatus, jqXHR_errorThrown ); } }) ; // End Ajax } /** * Views ----------------------------------------------------------------------------------------------------- */ /** * Show Listing Table and define gMail checkbox hooks * * @param json_items_arr - JSON object with Items * @param json_search_params - JSON object with Search */ function wpbc_ajx_booking_show_listing(json_items_arr, json_search_params, json_booking_resources) { wpbc_ajx_define_templates__resource_manipulation(json_items_arr, json_search_params, json_booking_resources); //console.log( 'json_items_arr' , json_items_arr, json_search_params ); jQuery('.wpbc_ajx_under_toolbar_row').css("display", "flex"); //FixIn: 9.6.1.5 var list_header_tpl = wp.template('wpbc_ajx_booking_list_header'); var list_row_tpl = wp.template('wpbc_ajx_booking_list_row'); // Header jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html(list_header_tpl()); // Body jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).append('<div class="wpbc_selectable_body"></div>'); // R o w s console.groupCollapsed('LISTING_ROWS'); // LISTING_ROWS _.each(json_items_arr, function (p_val, p_key, p_data) { if ('undefined' !== typeof json_search_params['keyword']) { // Parameter for marking keyword with different color in a list p_val['__search_request_keyword__'] = json_search_params['keyword']; } else { p_val['__search_request_keyword__'] = ''; } p_val['booking_resources'] = json_booking_resources; jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container') + ' .wpbc_selectable_body').append(list_row_tpl(p_val)); }); console.groupEnd(); // LISTING_ROWS wpbc_define_gmail_checkbox_selection(jQuery); // Redefine Hooks for clicking at Checkboxes } /** * Define template for changing booking resources & update it each time, when listing updating, useful for showing actual booking resources. * * @param json_items_arr - JSON object with Items * @param json_search_params - JSON object with Search * @param json_booking_resources - JSON object with Resources */ function wpbc_ajx_define_templates__resource_manipulation(json_items_arr, json_search_params, json_booking_resources) { // Change booking resource var change_booking_resource_tpl = wp.template('wpbc_ajx_change_booking_resource'); jQuery('#wpbc_hidden_template__change_booking_resource').html(change_booking_resource_tpl({ 'ajx_search_params': json_search_params, 'ajx_booking_resources': json_booking_resources })); // Duplicate booking resource var duplicate_booking_to_other_resource_tpl = wp.template('wpbc_ajx_duplicate_booking_to_other_resource'); jQuery('#wpbc_hidden_template__duplicate_booking_to_other_resource').html(duplicate_booking_to_other_resource_tpl({ 'ajx_search_params': json_search_params, 'ajx_booking_resources': json_booking_resources })); } /** * Show just message instead of listing and hide pagination */ function wpbc_ajx_booking_show_message(message) { wpbc_ajx_booking__actual_listing__hide(); jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html('<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + message + '</div>'); } /** * H o o k s - its Action/Times when need to re-Render Views ----------------------------------------------- */ /** * Send Ajax Search Request after Updating search request parameters * * @param params_arr */ function wpbc_ajx_booking_send_search_request_with_params(params_arr) { // Define different Search parameters for request _.each(params_arr, function (p_val, p_key, p_data) { //console.log( 'Request for: ', p_key, p_val ); wpbc_ajx_booking_listing.search_set_param(p_key, p_val); }); // Send Ajax Request wpbc_ajx_booking_ajax_search_request(); } /** * Search request for "Page Number" * @param page_number int */ function wpbc_ajx_booking_pagination_click(page_number) { wpbc_ajx_booking_send_search_request_with_params({ 'page_num': page_number }); } /** * Keyword Searching ----------------------------------------------------------------------------------------- */ /** * Search request for "Keyword", also set current page to 1 * * @param element_id - HTML ID of element, where was entered keyword */ function wpbc_ajx_booking_send_search_request_for_keyword(element_id) { // We need to Reset page_num to 1 with each new search, because we can be at page #4, but after new search we can have totally only 1 page wpbc_ajx_booking_send_search_request_with_params({ 'keyword': jQuery(element_id).val(), 'page_num': 1 }); } /** * Send search request after few seconds (usually after 1,5 sec) * Closure function. Its useful, for do not send too many Ajax requests, when someone make fast typing. */ var wpbc_ajx_booking_searching_after_few_seconds = function () { var closed_timer = 0; return function (element_id, timer_delay) { // Get default value of "timer_delay", if parameter was not passed into the function. timer_delay = typeof timer_delay !== 'undefined' ? timer_delay : 1500; clearTimeout(closed_timer); // Clear previous timer // Start new Timer closed_timer = setTimeout(wpbc_ajx_booking_send_search_request_for_keyword.bind(null, element_id), timer_delay); }; }(); /** * Define Dynamic Hooks (like pagination click, which renew each time with new listing showing) ------------- */ /** * Define HTML ui Hooks: on KeyUp | Change | -> Sort Order & Number Items / Page * We are hcnaged it each time, when showing new listing, because DOM elements chnaged */ function wpbc_ajx_booking_define_ui_hooks() { if ('function' === typeof wpbc_define_tippy_tooltips) { wpbc_define_tippy_tooltips('.wpbc_listing_container '); } wpbc_ajx_booking__ui_define__locale(); wpbc_ajx_booking__ui_define__remark(); // Items Per Page jQuery('.wpbc_items_per_page').on('change', function (event) { wpbc_ajx_booking_send_search_request_with_params({ 'page_items_count': jQuery(this).val(), 'page_num': 1 }); }); // Sorting jQuery('.wpbc_items_sort_type').on('change', function (event) { wpbc_ajx_booking_send_search_request_with_params({ 'sort_type': jQuery(this).val() }); }); } /** * Show / Hide Listing --------------------------------------------------------------------------------------- */ /** * Show Listing Table - Sending Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. */ function wpbc_ajx_booking__actual_listing__show() { wpbc_ajx_booking_ajax_search_request(); // Send Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. } /** * Hide Listing Table ( and Pagination ) */ function wpbc_ajx_booking__actual_listing__hide() { jQuery('.wpbc_ajx_under_toolbar_row').hide(); //FixIn: 9.6.1.5 jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html(''); jQuery(wpbc_ajx_booking_listing.get_other_param('pagination_container')).html(''); } /** * Support functions for Content Template data --------------------------------------------------------------- */ /** * Highlight strings, * by inserting <span class="fieldvalue name fieldsearchvalue">...</span> html elements into the string. * @param {string} booking_details - Source string * @param {string} booking_keyword - Keyword to highlight * @returns {string} */ function wpbc_get_highlighted_search_keyword(booking_details, booking_keyword) { booking_keyword = booking_keyword.trim().toLowerCase(); if (0 == booking_keyword.length) { return booking_details; } // Highlight substring withing HTML tags in "Content of booking fields data" -- e.g. starting from > and ending with < var keywordRegex = new RegExp("fieldvalue[^<>]*>([^<]*".concat(booking_keyword, "[^<]*)"), 'gim'); //let matches = [...booking_details.toLowerCase().matchAll( keywordRegex )]; var matches = booking_details.toLowerCase().matchAll(keywordRegex); matches = Array.from(matches); var strings_arr = []; var pos_previous = 0; var search_pos_start; var search_pos_end; var _iterator = _createForOfIteratorHelper(matches), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var match = _step.value; search_pos_start = match.index + match[0].toLowerCase().indexOf('>', 0) + 1; strings_arr.push(booking_details.substr(pos_previous, search_pos_start - pos_previous)); search_pos_end = booking_details.toLowerCase().indexOf('<', search_pos_start); strings_arr.push('<span class="fieldvalue name fieldsearchvalue">' + booking_details.substr(search_pos_start, search_pos_end - search_pos_start) + '</span>'); pos_previous = search_pos_end; } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } strings_arr.push(booking_details.substr(pos_previous, booking_details.length - pos_previous)); return strings_arr.join(''); } /** * Convert special HTML characters from: & -> & * * @param text * @returns {*} */ function wpbc_decode_HTML_entities(text) { var textArea = document.createElement('textarea'); textArea.innerHTML = text; return textArea.value; } /** * Convert TO special HTML characters from: & -> & * * @param text * @returns {*} */ function wpbc_encode_HTML_entities(text) { var textArea = document.createElement('textarea'); textArea.innerText = text; return textArea.innerHTML; } /** * Support Functions - Spin Icon in Buttons ------------------------------------------------------------------ */ /** * Spin button in Filter toolbar - Start */ function wpbc_booking_listing_reload_button__spin_start() { jQuery('#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin').removeClass('wpbc_animation_pause'); } /** * Spin button in Filter toolbar - Pause */ function wpbc_booking_listing_reload_button__spin_pause() { jQuery('#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin').addClass('wpbc_animation_pause'); } /** * Spin button in Filter toolbar - is Spinning ? * * @returns {boolean} */ function wpbc_booking_listing_reload_button__is_spin() { if (jQuery('#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin').hasClass('wpbc_animation_pause')) { return true; } else { return false; } } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1ib29raW5ncy9fb3V0L2Jvb2tpbmdzX19saXN0aW5nLmpzIiwibmFtZXMiOlsiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJUeXBlRXJyb3IiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJhcnIiLCJsZW4iLCJhcnIyIiwiX3R5cGVvZiIsIm9iaiIsImpRdWVyeSIsIm9uIiwidG91Y2htb3ZlIiwiZWFjaCIsImluZGV4IiwidGRfZWwiLCJnZXQiLCJ1bmRlZmluZWQiLCJfdGlwcHkiLCJpbnN0YW5jZSIsImhpZGUiLCJ3cGJjX2FqeF9ib29raW5nX2xpc3RpbmciLCIkIiwicF9zZWN1cmUiLCJzZWN1cml0eV9vYmoiLCJ1c2VyX2lkIiwibm9uY2UiLCJsb2NhbGUiLCJzZXRfc2VjdXJlX3BhcmFtIiwicGFyYW1fa2V5IiwicGFyYW1fdmFsIiwiZ2V0X3NlY3VyZV9wYXJhbSIsInBfbGlzdGluZyIsInNlYXJjaF9yZXF1ZXN0X29iaiIsInNvcnQiLCJzb3J0X3R5cGUiLCJwYWdlX251bSIsInBhZ2VfaXRlbXNfY291bnQiLCJjcmVhdGVfZGF0ZSIsImtleXdvcmQiLCJzb3VyY2UiLCJzZWFyY2hfc2V0X2FsbF9wYXJhbXMiLCJyZXF1ZXN0X3BhcmFtX29iaiIsInNlYXJjaF9nZXRfYWxsX3BhcmFtcyIsInNlYXJjaF9nZXRfcGFyYW0iLCJzZWFyY2hfc2V0X3BhcmFtIiwic2VhcmNoX3NldF9wYXJhbXNfYXJyIiwicGFyYW1zX2FyciIsIl8iLCJwX3ZhbCIsInBfa2V5IiwicF9kYXRhIiwicF9vdGhlciIsIm90aGVyX29iaiIsInNldF9vdGhlcl9wYXJhbSIsImdldF9vdGhlcl9wYXJhbSIsIndwYmNfYWp4X2Jvb2tpbmdfYWpheF9zZWFyY2hfcmVxdWVzdCIsImNvbnNvbGUiLCJncm91cENvbGxhcHNlZCIsImxvZyIsIndwYmNfYm9va2luZ19saXN0aW5nX3JlbG9hZF9idXR0b25fX3NwaW5fc3RhcnQiLCJwb3N0Iiwid3BiY191cmxfYWpheCIsImFjdGlvbiIsIndwYmNfYWp4X3VzZXJfaWQiLCJ3cGJjX2FqeF9sb2NhbGUiLCJzZWFyY2hfcGFyYW1zIiwicmVzcG9uc2VfZGF0YSIsInRleHRTdGF0dXMiLCJqcVhIUiIsImdyb3VwRW5kIiwiaHRtbCIsImxvY2F0aW9uIiwicmVsb2FkIiwid3BiY19hanhfYm9va2luZ19zaG93X2xpc3RpbmciLCJ3cGJjX3BhZ2luYXRpb25fZWNobyIsIk1hdGgiLCJjZWlsIiwid3BiY19hanhfYm9va2luZ19kZWZpbmVfdWlfaG9va3MiLCJ3cGJjX2FqeF9ib29raW5nX19hY3R1YWxfbGlzdGluZ19faGlkZSIsImFqeF9uZXdfYm9va2luZ3NfY291bnQiLCJwYXJzZUludCIsInNob3ciLCJ3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19zcGluX3BhdXNlIiwiZmFpbCIsImVycm9yVGhyb3duIiwid2luZG93IiwiZXJyb3JfbWVzc2FnZSIsInJlc3BvbnNlVGV4dCIsInJlcGxhY2UiLCJ3cGJjX2FqeF9ib29raW5nX3Nob3dfbWVzc2FnZSIsImpzb25faXRlbXNfYXJyIiwianNvbl9zZWFyY2hfcGFyYW1zIiwianNvbl9ib29raW5nX3Jlc291cmNlcyIsIndwYmNfYWp4X2RlZmluZV90ZW1wbGF0ZXNfX3Jlc291cmNlX21hbmlwdWxhdGlvbiIsImNzcyIsImxpc3RfaGVhZGVyX3RwbCIsIndwIiwidGVtcGxhdGUiLCJsaXN0X3Jvd190cGwiLCJhcHBlbmQiLCJ3cGJjX2RlZmluZV9nbWFpbF9jaGVja2JveF9zZWxlY3Rpb24iLCJjaGFuZ2VfYm9va2luZ19yZXNvdXJjZV90cGwiLCJkdXBsaWNhdGVfYm9va2luZ190b19vdGhlcl9yZXNvdXJjZV90cGwiLCJtZXNzYWdlIiwid3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zIiwid3BiY19hanhfYm9va2luZ19wYWdpbmF0aW9uX2NsaWNrIiwicGFnZV9udW1iZXIiLCJ3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3RfZm9yX2tleXdvcmQiLCJlbGVtZW50X2lkIiwidmFsIiwid3BiY19hanhfYm9va2luZ19zZWFyY2hpbmdfYWZ0ZXJfZmV3X3NlY29uZHMiLCJjbG9zZWRfdGltZXIiLCJ0aW1lcl9kZWxheSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJiaW5kIiwid3BiY19kZWZpbmVfdGlwcHlfdG9vbHRpcHMiLCJ3cGJjX2FqeF9ib29raW5nX191aV9kZWZpbmVfX2xvY2FsZSIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2RlZmluZV9fcmVtYXJrIiwiZXZlbnQiLCJ3cGJjX2FqeF9ib29raW5nX19hY3R1YWxfbGlzdGluZ19fc2hvdyIsIndwYmNfZ2V0X2hpZ2hsaWdodGVkX3NlYXJjaF9rZXl3b3JkIiwiYm9va2luZ19kZXRhaWxzIiwiYm9va2luZ19rZXl3b3JkIiwidHJpbSIsInRvTG93ZXJDYXNlIiwia2V5d29yZFJlZ2V4IiwiUmVnRXhwIiwiY29uY2F0IiwibWF0Y2hlcyIsIm1hdGNoQWxsIiwic3RyaW5nc19hcnIiLCJwb3NfcHJldmlvdXMiLCJzZWFyY2hfcG9zX3N0YXJ0Iiwic2VhcmNoX3Bvc19lbmQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIm1hdGNoIiwiaW5kZXhPZiIsInB1c2giLCJzdWJzdHIiLCJqb2luIiwid3BiY19kZWNvZGVfSFRNTF9lbnRpdGllcyIsInRleHQiLCJ0ZXh0QXJlYSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsIndwYmNfZW5jb2RlX0hUTUxfZW50aXRpZXMiLCJpbm5lclRleHQiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwid3BiY19ib29raW5nX2xpc3RpbmdfcmVsb2FkX2J1dHRvbl9faXNfc3BpbiIsImhhc0NsYXNzIl0sInNvdXJjZXMiOlsiaW5jbHVkZXMvcGFnZS1ib29raW5ncy9fc3JjL2Jvb2tpbmdzX19saXN0aW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxualF1ZXJ5KCdib2R5Jykub24oe1xyXG4gICAgJ3RvdWNobW92ZSc6IGZ1bmN0aW9uKGUpIHtcclxuXHJcblx0XHRqUXVlcnkoICcudGltZXNwYXJ0bHknICkuZWFjaCggZnVuY3Rpb24gKCBpbmRleCApe1xyXG5cclxuXHRcdFx0dmFyIHRkX2VsID0galF1ZXJ5KCB0aGlzICkuZ2V0KCAwICk7XHJcblxyXG5cdFx0XHRpZiAoICh1bmRlZmluZWQgIT0gdGRfZWwuX3RpcHB5KSApe1xyXG5cclxuXHRcdFx0XHR2YXIgaW5zdGFuY2UgPSB0ZF9lbC5fdGlwcHk7XHJcblx0XHRcdFx0aW5zdGFuY2UuaGlkZSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9ICk7XHJcblx0fVxyXG59KTtcclxuXHJcbi8qKlxyXG4gKiBSZXF1ZXN0IE9iamVjdFxyXG4gKiBIZXJlIHdlIGNhbiAgZGVmaW5lIFNlYXJjaCBwYXJhbWV0ZXJzIGFuZCBVcGRhdGUgaXQgbGF0ZXIsICB3aGVuICBzb21lIHBhcmFtZXRlciB3YXMgY2hhbmdlZFxyXG4gKlxyXG4gKi9cclxudmFyIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZyA9IChmdW5jdGlvbiAoIG9iaiwgJCkge1xyXG5cclxuXHQvLyBTZWN1cmUgcGFyYW1ldGVycyBmb3IgQWpheFx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0dmFyIHBfc2VjdXJlID0gb2JqLnNlY3VyaXR5X29iaiA9IG9iai5zZWN1cml0eV9vYmogfHwge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1c2VyX2lkOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRub25jZSAgOiAnJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bG9jYWxlIDogJydcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgfTtcclxuXHJcblx0b2JqLnNldF9zZWN1cmVfcGFyYW0gPSBmdW5jdGlvbiAoIHBhcmFtX2tleSwgcGFyYW1fdmFsICkge1xyXG5cdFx0cF9zZWN1cmVbIHBhcmFtX2tleSBdID0gcGFyYW1fdmFsO1xyXG5cdH07XHJcblxyXG5cdG9iai5nZXRfc2VjdXJlX3BhcmFtID0gZnVuY3Rpb24gKCBwYXJhbV9rZXkgKSB7XHJcblx0XHRyZXR1cm4gcF9zZWN1cmVbIHBhcmFtX2tleSBdO1xyXG5cdH07XHJcblxyXG5cclxuXHQvLyBMaXN0aW5nIFNlYXJjaCBwYXJhbWV0ZXJzXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHR2YXIgcF9saXN0aW5nID0gb2JqLnNlYXJjaF9yZXF1ZXN0X29iaiA9IG9iai5zZWFyY2hfcmVxdWVzdF9vYmogfHwge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzb3J0ICAgICAgICAgICAgOiBcImJvb2tpbmdfaWRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c29ydF90eXBlICAgICAgIDogXCJERVNDXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBhZ2VfbnVtICAgICAgICA6IDEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBhZ2VfaXRlbXNfY291bnQ6IDEwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjcmVhdGVfZGF0ZSAgICAgOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRrZXl3b3JkICAgICAgICAgOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzb3VyY2UgICAgICAgICAgOiBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cclxuXHRvYmouc2VhcmNoX3NldF9hbGxfcGFyYW1zID0gZnVuY3Rpb24gKCByZXF1ZXN0X3BhcmFtX29iaiApIHtcclxuXHRcdHBfbGlzdGluZyA9IHJlcXVlc3RfcGFyYW1fb2JqO1xyXG5cdH07XHJcblxyXG5cdG9iai5zZWFyY2hfZ2V0X2FsbF9wYXJhbXMgPSBmdW5jdGlvbiAoKSB7XHJcblx0XHRyZXR1cm4gcF9saXN0aW5nO1xyXG5cdH07XHJcblxyXG5cdG9iai5zZWFyY2hfZ2V0X3BhcmFtID0gZnVuY3Rpb24gKCBwYXJhbV9rZXkgKSB7XHJcblx0XHRyZXR1cm4gcF9saXN0aW5nWyBwYXJhbV9rZXkgXTtcclxuXHR9O1xyXG5cclxuXHRvYmouc2VhcmNoX3NldF9wYXJhbSA9IGZ1bmN0aW9uICggcGFyYW1fa2V5LCBwYXJhbV92YWwgKSB7XHJcblx0XHQvLyBpZiAoIEFycmF5LmlzQXJyYXkoIHBhcmFtX3ZhbCApICl7XHJcblx0XHQvLyBcdHBhcmFtX3ZhbCA9IEpTT04uc3RyaW5naWZ5KCBwYXJhbV92YWwgKTtcclxuXHRcdC8vIH1cclxuXHRcdHBfbGlzdGluZ1sgcGFyYW1fa2V5IF0gPSBwYXJhbV92YWw7XHJcblx0fTtcclxuXHJcblx0b2JqLnNlYXJjaF9zZXRfcGFyYW1zX2FyciA9IGZ1bmN0aW9uKCBwYXJhbXNfYXJyICl7XHJcblx0XHRfLmVhY2goIHBhcmFtc19hcnIsIGZ1bmN0aW9uICggcF92YWwsIHBfa2V5LCBwX2RhdGEgKXtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBEZWZpbmUgZGlmZmVyZW50IFNlYXJjaCAgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxyXG5cdFx0XHR0aGlzLnNlYXJjaF9zZXRfcGFyYW0oIHBfa2V5LCBwX3ZhbCApO1xyXG5cdFx0fSApO1xyXG5cdH1cclxuXHJcblxyXG5cdC8vIE90aGVyIHBhcmFtZXRlcnMgXHRcdFx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0dmFyIHBfb3RoZXIgPSBvYmoub3RoZXJfb2JqID0gb2JqLm90aGVyX29iaiB8fCB7IH07XHJcblxyXG5cdG9iai5zZXRfb3RoZXJfcGFyYW0gPSBmdW5jdGlvbiAoIHBhcmFtX2tleSwgcGFyYW1fdmFsICkge1xyXG5cdFx0cF9vdGhlclsgcGFyYW1fa2V5IF0gPSBwYXJhbV92YWw7XHJcblx0fTtcclxuXHJcblx0b2JqLmdldF9vdGhlcl9wYXJhbSA9IGZ1bmN0aW9uICggcGFyYW1fa2V5ICkge1xyXG5cdFx0cmV0dXJuIHBfb3RoZXJbIHBhcmFtX2tleSBdO1xyXG5cdH07XHJcblxyXG5cclxuXHRyZXR1cm4gb2JqO1xyXG59KCB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcgfHwge30sIGpRdWVyeSApKTtcclxuXHJcblxyXG4vKipcclxuICogICBBamF4ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qKlxyXG4gKiBTZW5kIEFqYXggc2VhcmNoIHJlcXVlc3RcclxuICogZm9yIHNlYXJjaGluZyBzcGVjaWZpYyBLZXl3b3JkIGFuZCBvdGhlciBwYXJhbXNcclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfYWpheF9zZWFyY2hfcmVxdWVzdCgpe1xyXG5cclxuY29uc29sZS5ncm91cENvbGxhcHNlZCgnQUpYX0JPT0tJTkdfTElTVElORycpOyBjb25zb2xlLmxvZyggJyA9PSBCZWZvcmUgQWpheCBTZW5kIC0gc2VhcmNoX2dldF9hbGxfcGFyYW1zKCkgPT0gJyAsIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5zZWFyY2hfZ2V0X2FsbF9wYXJhbXMoKSApO1xyXG5cclxuXHR3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19zcGluX3N0YXJ0KCk7XHJcblxyXG4vKlxyXG4vL0ZpeEluOiBmb3JWaWRlb1xyXG5pZiAoICEgaXNfdGhpc19hY3Rpb24gKXtcclxuXHQvL3dwYmNfYWp4X2Jvb2tpbmdfX2FjdHVhbF9saXN0aW5nX19oaWRlKCk7XHJcblx0alF1ZXJ5KCB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X290aGVyX3BhcmFtKCAnbGlzdGluZ19jb250YWluZXInICkgKS5odG1sKFxyXG5cdFx0JzxkaXYgc3R5bGU9XCJ3aWR0aDoxMDAlO3RleHQtYWxpZ246IGNlbnRlcjtcIiBpZD1cIndwYmNfbG9hZGluZ19zZWN0aW9uXCI+PHNwYW4gY2xhc3M9XCJ3cGJjX2ljbl9hdXRvcmVuZXcgd3BiY19zcGluXCI+PC9zcGFuPjwvZGl2PidcclxuXHRcdCsgalF1ZXJ5KCB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X290aGVyX3BhcmFtKCAnbGlzdGluZ19jb250YWluZXInICkgKS5odG1sKClcclxuXHQpO1xyXG5cdGlmICggJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIChqUXVlcnkoICcjd3BiY19sb2FkaW5nX3NlY3Rpb24nICkud3BiY19teV9tb2RhbCkgKXtcdFx0XHQvL0ZpeEluOiA5LjAuMS41XHJcblx0XHRqUXVlcnkoICcjd3BiY19sb2FkaW5nX3NlY3Rpb24nICkud3BiY19teV9tb2RhbCggJ3Nob3cnICk7XHJcblx0fSBlbHNlIHtcclxuXHRcdGFsZXJ0KCAnV2FybmluZyEgQm9va2luZyBDYWxlbmRhci4gSXRzIHNlZW1zIHRoYXQgIHlvdSBoYXZlIGRlYWN0aXZhdGVkIGxvYWRpbmcgb2YgQm9vdHN0cmFwIEpTIGZpbGVzIGF0IEJvb2tpbmcgU2V0dGluZ3MgR2VuZXJhbCBwYWdlIGluIEFkdmFuY2VkIHNlY3Rpb24uJyApXHJcblx0fVxyXG59XHJcbmlzX3RoaXNfYWN0aW9uID0gZmFsc2U7XHJcbiovXHJcblx0Ly8gU3RhcnQgQWpheFxyXG5cdGpRdWVyeS5wb3N0KCB3cGJjX3VybF9hamF4LFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGFjdGlvbiAgICAgICAgICA6ICdXUEJDX0FKWF9CT09LSU5HX0xJU1RJTkcnLFxyXG5cdFx0XHRcdFx0d3BiY19hanhfdXNlcl9pZDogd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9zZWN1cmVfcGFyYW0oICd1c2VyX2lkJyApLFxyXG5cdFx0XHRcdFx0bm9uY2UgICAgICAgICAgIDogd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9zZWN1cmVfcGFyYW0oICdub25jZScgKSxcclxuXHRcdFx0XHRcdHdwYmNfYWp4X2xvY2FsZSA6IHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfc2VjdXJlX3BhcmFtKCAnbG9jYWxlJyApLFxyXG5cclxuXHRcdFx0XHRcdHNlYXJjaF9wYXJhbXNcdDogd3BiY19hanhfYm9va2luZ19saXN0aW5nLnNlYXJjaF9nZXRfYWxsX3BhcmFtcygpXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQvKipcclxuXHRcdFx0XHQgKiBTIHUgYyBjIGUgcyBzXHJcblx0XHRcdFx0ICpcclxuXHRcdFx0XHQgKiBAcGFyYW0gcmVzcG9uc2VfZGF0YVx0XHQtXHRpdHMgb2JqZWN0IHJldHVybmVkIGZyb20gIEFqYXggLSBjbGFzcy1saXZlLXNlYXJjZy5waHBcclxuXHRcdFx0XHQgKiBAcGFyYW0gdGV4dFN0YXR1c1x0XHQtXHQnc3VjY2VzcydcclxuXHRcdFx0XHQgKiBAcGFyYW0ganFYSFJcdFx0XHRcdC1cdE9iamVjdFxyXG5cdFx0XHRcdCAqL1xyXG5cdFx0XHRcdGZ1bmN0aW9uICggcmVzcG9uc2VfZGF0YSwgdGV4dFN0YXR1cywganFYSFIgKSB7XHJcbi8vRml4SW46IGZvclZpZGVvXHJcbi8valF1ZXJ5KCAnI3dwYmNfbG9hZGluZ19zZWN0aW9uJyApLndwYmNfbXlfbW9kYWwoICdoaWRlJyApO1xyXG5cclxuY29uc29sZS5sb2coICcgPT0gUmVzcG9uc2UgV1BCQ19BSlhfQk9PS0lOR19MSVNUSU5HID09ICcsIHJlc3BvbnNlX2RhdGEgKTsgY29uc29sZS5ncm91cEVuZCgpO1xyXG5cdFx0XHRcdFx0Ly8gUHJvYmFibHkgRXJyb3JcclxuXHRcdFx0XHRcdGlmICggKHR5cGVvZiByZXNwb25zZV9kYXRhICE9PSAnb2JqZWN0JykgfHwgKHJlc3BvbnNlX2RhdGEgPT09IG51bGwpICl7XHJcblx0XHRcdFx0XHRcdGpRdWVyeSggJy53cGJjX2FqeF91bmRlcl90b29sYmFyX3JvdycgKS5oaWRlKCk7XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL0ZpeEluOiA5LjYuMS41XHJcblx0XHRcdFx0XHRcdGpRdWVyeSggd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9vdGhlcl9wYXJhbSggJ2xpc3RpbmdfY29udGFpbmVyJyApICkuaHRtbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8ZGl2IGNsYXNzPVwid3BiYy1zZXR0aW5ncy1ub3RpY2Ugbm90aWNlLXdhcm5pbmdcIiBzdHlsZT1cInRleHQtYWxpZ246bGVmdFwiPicgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNwb25zZV9kYXRhICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8L2Rpdj4nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvLyBSZWxvYWQgcGFnZSwgYWZ0ZXIgZmlsdGVyIHRvb2xiYXIgd2FzIHJlc2V0ZWRcclxuXHRcdFx0XHRcdGlmICggICAgICAgKCAgICAgdW5kZWZpbmVkICE9IHJlc3BvbnNlX2RhdGFbICdhanhfY2xlYW5lZF9wYXJhbXMnIF0pXHJcblx0XHRcdFx0XHRcdFx0JiYgKCAncmVzZXRfZG9uZScgPT09IHJlc3BvbnNlX2RhdGFbICdhanhfY2xlYW5lZF9wYXJhbXMnIF1bICd1aV9yZXNldCcgXSlcclxuXHRcdFx0XHRcdCl7XHJcblx0XHRcdFx0XHRcdGxvY2F0aW9uLnJlbG9hZCgpO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Ly8gU2hvdyBsaXN0aW5nXHJcblx0XHRcdFx0XHRpZiAoIHJlc3BvbnNlX2RhdGFbICdhanhfY291bnQnIF0gPiAwICl7XHJcblxyXG5cdFx0XHRcdFx0XHR3cGJjX2FqeF9ib29raW5nX3Nob3dfbGlzdGluZyggcmVzcG9uc2VfZGF0YVsgJ2FqeF9pdGVtcycgXSwgcmVzcG9uc2VfZGF0YVsgJ2FqeF9zZWFyY2hfcGFyYW1zJyBdLCByZXNwb25zZV9kYXRhWyAnYWp4X2Jvb2tpbmdfcmVzb3VyY2VzJyBdICk7XHJcblxyXG5cdFx0XHRcdFx0XHR3cGJjX3BhZ2luYXRpb25fZWNobyhcclxuXHRcdFx0XHRcdFx0XHR3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X290aGVyX3BhcmFtKCAncGFnaW5hdGlvbl9jb250YWluZXInICksXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0J3BhZ2VfYWN0aXZlJzogcmVzcG9uc2VfZGF0YVsgJ2FqeF9zZWFyY2hfcGFyYW1zJyBdWyAncGFnZV9udW0nIF0sXHJcblx0XHRcdFx0XHRcdFx0XHQncGFnZXNfY291bnQnOiBNYXRoLmNlaWwoIHJlc3BvbnNlX2RhdGFbICdhanhfY291bnQnIF0gLyByZXNwb25zZV9kYXRhWyAnYWp4X3NlYXJjaF9wYXJhbXMnIF1bICdwYWdlX2l0ZW1zX2NvdW50JyBdICksXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0J3BhZ2VfaXRlbXNfY291bnQnOiByZXNwb25zZV9kYXRhWyAnYWp4X3NlYXJjaF9wYXJhbXMnIF1bICdwYWdlX2l0ZW1zX2NvdW50JyBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0J3NvcnRfdHlwZScgICAgICAgOiByZXNwb25zZV9kYXRhWyAnYWp4X3NlYXJjaF9wYXJhbXMnIF1bICdzb3J0X3R5cGUnIF1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfZGVmaW5lX3VpX2hvb2tzKCk7XHRcdFx0XHRcdFx0Ly8gUmVkZWZpbmUgSG9va3MsIGJlY2F1c2Ugd2Ugc2hvdyBuZXcgRE9NIGVsZW1lbnRzXHJcblxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHJcblx0XHRcdFx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfX2FjdHVhbF9saXN0aW5nX19oaWRlKCk7XHJcblx0XHRcdFx0XHRcdGpRdWVyeSggd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9vdGhlcl9wYXJhbSggJ2xpc3RpbmdfY29udGFpbmVyJyApICkuaHRtbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8ZGl2IGNsYXNzPVwid3BiYy1zZXR0aW5ncy1ub3RpY2UwIG5vdGljZS13YXJuaW5nMFwiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWxlZnQ6LTUwcHg7XCI+JyArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8c3Ryb25nPicgKyAnTm8gcmVzdWx0cyBmb3VuZCBmb3IgY3VycmVudCBmaWx0ZXIgb3B0aW9ucy4uLicgKyAnPC9zdHJvbmc+JyArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vJzxzdHJvbmc+JyArICdObyByZXN1bHRzIGZvdW5kLi4uJyArICc8L3N0cm9uZz4nICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8L2Rpdj4nXHJcblx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Ly8gVXBkYXRlIG5ldyBib29raW5nIGNvdW50XHJcblx0XHRcdFx0XHRpZiAoIHVuZGVmaW5lZCAhPT0gcmVzcG9uc2VfZGF0YVsgJ2FqeF9uZXdfYm9va2luZ3NfY291bnQnIF0gKXtcclxuXHRcdFx0XHRcdFx0dmFyIGFqeF9uZXdfYm9va2luZ3NfY291bnQgPSBwYXJzZUludCggcmVzcG9uc2VfZGF0YVsgJ2FqeF9uZXdfYm9va2luZ3NfY291bnQnIF0gKVxyXG5cdFx0XHRcdFx0XHRpZiAoYWp4X25ld19ib29raW5nc19jb3VudD4wKXtcclxuXHRcdFx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19iYWRnZV9jb3VudCcgKS5zaG93KCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0alF1ZXJ5KCAnLmJrLXVwZGF0ZS1jb3VudCcgKS5odG1sKCBhanhfbmV3X2Jvb2tpbmdzX2NvdW50ICk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0d3BiY19ib29raW5nX2xpc3RpbmdfcmVsb2FkX2J1dHRvbl9fc3Bpbl9wYXVzZSgpO1xyXG5cclxuXHRcdFx0XHRcdGpRdWVyeSggJyNhamF4X3Jlc3BvbmQnICkuaHRtbCggcmVzcG9uc2VfZGF0YSApO1x0XHQvLyBGb3IgYWJpbGl0eSB0byBzaG93IHJlc3BvbnNlLCBhZGQgc3VjaCBESVYgZWxlbWVudCB0byBwYWdlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQgICkuZmFpbCggZnVuY3Rpb24gKCBqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24gKSB7ICAgIGlmICggd2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nICl7IGNvbnNvbGUubG9nKCAnQWpheF9FcnJvcicsIGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93biApOyB9XHJcblx0XHRcdFx0XHRqUXVlcnkoICcud3BiY19hanhfdW5kZXJfdG9vbGJhcl9yb3cnICkuaGlkZSgpO1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL0ZpeEluOiA5LjYuMS41XHJcblx0XHRcdFx0XHR2YXIgZXJyb3JfbWVzc2FnZSA9ICc8c3Ryb25nPicgKyAnRXJyb3IhJyArICc8L3N0cm9uZz4gJyArIGVycm9yVGhyb3duIDtcclxuXHRcdFx0XHRcdGlmICgganFYSFIucmVzcG9uc2VUZXh0ICl7XHJcblx0XHRcdFx0XHRcdGVycm9yX21lc3NhZ2UgKz0ganFYSFIucmVzcG9uc2VUZXh0O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZXJyb3JfbWVzc2FnZSA9IGVycm9yX21lc3NhZ2UucmVwbGFjZSggL1xcbi9nLCBcIjxiciAvPlwiICk7XHJcblxyXG5cdFx0XHRcdFx0d3BiY19hanhfYm9va2luZ19zaG93X21lc3NhZ2UoIGVycm9yX21lc3NhZ2UgKTtcclxuXHRcdFx0ICB9KVxyXG5cdCAgICAgICAgICAvLyAuZG9uZSggICBmdW5jdGlvbiAoIGRhdGEsIHRleHRTdGF0dXMsIGpxWEhSICkgeyAgIGlmICggd2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nICl7IGNvbnNvbGUubG9nKCAnc2Vjb25kIHN1Y2Nlc3MnLCBkYXRhLCB0ZXh0U3RhdHVzLCBqcVhIUiApOyB9ICAgIH0pXHJcblx0XHRcdCAgLy8gLmFsd2F5cyggZnVuY3Rpb24gKCBkYXRhX2pxWEhSLCB0ZXh0U3RhdHVzLCBqcVhIUl9lcnJvclRocm93biApIHsgICBpZiAoIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZyApeyBjb25zb2xlLmxvZyggJ2Fsd2F5cyBmaW5pc2hlZCcsIGRhdGFfanFYSFIsIHRleHRTdGF0dXMsIGpxWEhSX2Vycm9yVGhyb3duICk7IH0gICAgIH0pXHJcblx0XHRcdCAgOyAgLy8gRW5kIEFqYXhcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIFZpZXdzICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIFNob3cgTGlzdGluZyBUYWJsZSBcdFx0YW5kIGRlZmluZSBnTWFpbCBjaGVja2JveCBob29rc1xyXG4gKlxyXG4gKiBAcGFyYW0ganNvbl9pdGVtc19hcnJcdFx0LSBKU09OIG9iamVjdCB3aXRoIEl0ZW1zXHJcbiAqIEBwYXJhbSBqc29uX3NlYXJjaF9wYXJhbXNcdC0gSlNPTiBvYmplY3Qgd2l0aCBTZWFyY2hcclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfc2hvd19saXN0aW5nKCBqc29uX2l0ZW1zX2FyciwganNvbl9zZWFyY2hfcGFyYW1zLCBqc29uX2Jvb2tpbmdfcmVzb3VyY2VzICl7XHJcblxyXG5cdHdwYmNfYWp4X2RlZmluZV90ZW1wbGF0ZXNfX3Jlc291cmNlX21hbmlwdWxhdGlvbigganNvbl9pdGVtc19hcnIsIGpzb25fc2VhcmNoX3BhcmFtcywganNvbl9ib29raW5nX3Jlc291cmNlcyApO1xyXG5cclxuLy9jb25zb2xlLmxvZyggJ2pzb25faXRlbXNfYXJyJyAsIGpzb25faXRlbXNfYXJyLCBqc29uX3NlYXJjaF9wYXJhbXMgKTtcclxuXHRqUXVlcnkoICcud3BiY19hanhfdW5kZXJfdG9vbGJhcl9yb3cnICkuY3NzKCBcImRpc3BsYXlcIiwgXCJmbGV4XCIgKTtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vRml4SW46IDkuNi4xLjVcclxuXHR2YXIgbGlzdF9oZWFkZXJfdHBsID0gd3AudGVtcGxhdGUoICd3cGJjX2FqeF9ib29raW5nX2xpc3RfaGVhZGVyJyApO1xyXG5cdHZhciBsaXN0X3Jvd190cGwgICAgPSB3cC50ZW1wbGF0ZSggJ3dwYmNfYWp4X2Jvb2tpbmdfbGlzdF9yb3cnICk7XHJcblxyXG5cclxuXHQvLyBIZWFkZXJcclxuXHRqUXVlcnkoIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfb3RoZXJfcGFyYW0oICdsaXN0aW5nX2NvbnRhaW5lcicgKSApLmh0bWwoIGxpc3RfaGVhZGVyX3RwbCgpICk7XHJcblxyXG5cdC8vIEJvZHlcclxuXHRqUXVlcnkoIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfb3RoZXJfcGFyYW0oICdsaXN0aW5nX2NvbnRhaW5lcicgKSApLmFwcGVuZCggJzxkaXYgY2xhc3M9XCJ3cGJjX3NlbGVjdGFibGVfYm9keVwiPjwvZGl2PicgKTtcclxuXHJcblx0Ly8gUiBvIHcgc1xyXG5jb25zb2xlLmdyb3VwQ29sbGFwc2VkKCAnTElTVElOR19ST1dTJyApO1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBMSVNUSU5HX1JPV1NcclxuXHRfLmVhY2goIGpzb25faXRlbXNfYXJyLCBmdW5jdGlvbiAoIHBfdmFsLCBwX2tleSwgcF9kYXRhICl7XHJcblx0XHRpZiAoICd1bmRlZmluZWQnICE9PSB0eXBlb2YganNvbl9zZWFyY2hfcGFyYW1zWyAna2V5d29yZCcgXSApe1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gUGFyYW1ldGVyIGZvciBtYXJraW5nIGtleXdvcmQgd2l0aCBkaWZmZXJlbnQgY29sb3IgaW4gYSBsaXN0XHJcblx0XHRcdHBfdmFsWyAnX19zZWFyY2hfcmVxdWVzdF9rZXl3b3JkX18nIF0gPSBqc29uX3NlYXJjaF9wYXJhbXNbICdrZXl3b3JkJyBdO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cF92YWxbICdfX3NlYXJjaF9yZXF1ZXN0X2tleXdvcmRfXycgXSA9ICcnO1xyXG5cdFx0fVxyXG5cdFx0cF92YWxbICdib29raW5nX3Jlc291cmNlcycgXSA9IGpzb25fYm9va2luZ19yZXNvdXJjZXM7XHJcblx0XHRqUXVlcnkoIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfb3RoZXJfcGFyYW0oICdsaXN0aW5nX2NvbnRhaW5lcicgKSArICcgLndwYmNfc2VsZWN0YWJsZV9ib2R5JyApLmFwcGVuZCggbGlzdF9yb3dfdHBsKCBwX3ZhbCApICk7XHJcblx0fSApO1xyXG5jb25zb2xlLmdyb3VwRW5kKCk7IFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gTElTVElOR19ST1dTXHJcblxyXG5cdHdwYmNfZGVmaW5lX2dtYWlsX2NoZWNrYm94X3NlbGVjdGlvbiggalF1ZXJ5ICk7XHRcdFx0XHRcdFx0Ly8gUmVkZWZpbmUgSG9va3MgZm9yIGNsaWNraW5nIGF0IENoZWNrYm94ZXNcclxufVxyXG5cclxuXHJcblx0LyoqXHJcblx0ICogRGVmaW5lIHRlbXBsYXRlIGZvciBjaGFuZ2luZyBib29raW5nIHJlc291cmNlcyAmICB1cGRhdGUgaXQgZWFjaCB0aW1lLCAgd2hlbiAgbGlzdGluZyB1cGRhdGluZywgdXNlZnVsICBmb3Igc2hvd2luZyBhY3R1YWwgIGJvb2tpbmcgcmVzb3VyY2VzLlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIGpzb25faXRlbXNfYXJyXHRcdC0gSlNPTiBvYmplY3Qgd2l0aCBJdGVtc1xyXG5cdCAqIEBwYXJhbSBqc29uX3NlYXJjaF9wYXJhbXNcdC0gSlNPTiBvYmplY3Qgd2l0aCBTZWFyY2hcclxuXHQgKiBAcGFyYW0ganNvbl9ib29raW5nX3Jlc291cmNlc1x0LSBKU09OIG9iamVjdCB3aXRoIFJlc291cmNlc1xyXG5cdCAqL1xyXG5cdGZ1bmN0aW9uIHdwYmNfYWp4X2RlZmluZV90ZW1wbGF0ZXNfX3Jlc291cmNlX21hbmlwdWxhdGlvbigganNvbl9pdGVtc19hcnIsIGpzb25fc2VhcmNoX3BhcmFtcywganNvbl9ib29raW5nX3Jlc291cmNlcyApe1xyXG5cclxuXHRcdC8vIENoYW5nZSBib29raW5nIHJlc291cmNlXHJcblx0XHR2YXIgY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfdHBsID0gd3AudGVtcGxhdGUoICd3cGJjX2FqeF9jaGFuZ2VfYm9va2luZ19yZXNvdXJjZScgKTtcclxuXHJcblx0XHRqUXVlcnkoICcjd3BiY19oaWRkZW5fdGVtcGxhdGVfX2NoYW5nZV9ib29raW5nX3Jlc291cmNlJyApLmh0bWwoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfdHBsKCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYWp4X3NlYXJjaF9wYXJhbXMnICAgIDoganNvbl9zZWFyY2hfcGFyYW1zLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2FqeF9ib29raW5nX3Jlc291cmNlcyc6IGpzb25fYm9va2luZ19yZXNvdXJjZXNcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblxyXG5cdFx0Ly8gRHVwbGljYXRlIGJvb2tpbmcgcmVzb3VyY2VcclxuXHRcdHZhciBkdXBsaWNhdGVfYm9va2luZ190b19vdGhlcl9yZXNvdXJjZV90cGwgPSB3cC50ZW1wbGF0ZSggJ3dwYmNfYWp4X2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlJyApO1xyXG5cclxuXHRcdGpRdWVyeSggJyN3cGJjX2hpZGRlbl90ZW1wbGF0ZV9fZHVwbGljYXRlX2Jvb2tpbmdfdG9fb3RoZXJfcmVzb3VyY2UnICkuaHRtbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkdXBsaWNhdGVfYm9va2luZ190b19vdGhlcl9yZXNvdXJjZV90cGwoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdhanhfc2VhcmNoX3BhcmFtcycgICAgOiBqc29uX3NlYXJjaF9wYXJhbXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYWp4X2Jvb2tpbmdfcmVzb3VyY2VzJzoganNvbl9ib29raW5nX3Jlc291cmNlc1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcclxuXHR9XHJcblxyXG5cclxuLyoqXHJcbiAqIFNob3cganVzdCBtZXNzYWdlIGluc3RlYWQgb2YgbGlzdGluZyBhbmQgaGlkZSBwYWdpbmF0aW9uXHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX3Nob3dfbWVzc2FnZSggbWVzc2FnZSApe1xyXG5cclxuXHR3cGJjX2FqeF9ib29raW5nX19hY3R1YWxfbGlzdGluZ19faGlkZSgpO1xyXG5cclxuXHRqUXVlcnkoIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfb3RoZXJfcGFyYW0oICdsaXN0aW5nX2NvbnRhaW5lcicgKSApLmh0bWwoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8ZGl2IGNsYXNzPVwid3BiYy1zZXR0aW5ncy1ub3RpY2Ugbm90aWNlLXdhcm5pbmdcIiBzdHlsZT1cInRleHQtYWxpZ246bGVmdFwiPicgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1lc3NhZ2UgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnPC9kaXY+J1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogICBIIG8gbyBrIHMgIC0gIGl0cyBBY3Rpb24vVGltZXMgd2hlbiBuZWVkIHRvIHJlLVJlbmRlciBWaWV3cyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qKlxyXG4gKiBTZW5kIEFqYXggU2VhcmNoIFJlcXVlc3QgYWZ0ZXIgVXBkYXRpbmcgc2VhcmNoIHJlcXVlc3QgcGFyYW1ldGVyc1xyXG4gKlxyXG4gKiBAcGFyYW0gcGFyYW1zX2FyclxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zICggcGFyYW1zX2FyciApe1xyXG5cclxuXHQvLyBEZWZpbmUgZGlmZmVyZW50IFNlYXJjaCAgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxyXG5cdF8uZWFjaCggcGFyYW1zX2FyciwgZnVuY3Rpb24gKCBwX3ZhbCwgcF9rZXksIHBfZGF0YSApIHtcclxuXHRcdC8vY29uc29sZS5sb2coICdSZXF1ZXN0IGZvcjogJywgcF9rZXksIHBfdmFsICk7XHJcblx0XHR3cGJjX2FqeF9ib29raW5nX2xpc3Rpbmcuc2VhcmNoX3NldF9wYXJhbSggcF9rZXksIHBfdmFsICk7XHJcblx0fSk7XHJcblxyXG5cdC8vIFNlbmQgQWpheCBSZXF1ZXN0XHJcblx0d3BiY19hanhfYm9va2luZ19hamF4X3NlYXJjaF9yZXF1ZXN0KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggcmVxdWVzdCBmb3IgXCJQYWdlIE51bWJlclwiXHJcbiAqIEBwYXJhbSBwYWdlX251bWJlclx0aW50XHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX3BhZ2luYXRpb25fY2xpY2soIHBhZ2VfbnVtYmVyICl7XHJcblxyXG5cdHdwYmNfYWp4X2Jvb2tpbmdfc2VuZF9zZWFyY2hfcmVxdWVzdF93aXRoX3BhcmFtcygge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCdwYWdlX251bSc6IHBhZ2VfbnVtYmVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIEtleXdvcmQgU2VhcmNoaW5nICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCByZXF1ZXN0IGZvciBcIktleXdvcmRcIiwgYWxzbyBzZXQgY3VycmVudCBwYWdlIHRvICAxXHJcbiAqXHJcbiAqIEBwYXJhbSBlbGVtZW50X2lkXHQtXHRIVE1MIElEICBvZiBlbGVtZW50LCAgd2hlcmUgd2FzIGVudGVyZWQga2V5d29yZFxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X2Zvcl9rZXl3b3JkKCBlbGVtZW50X2lkICkge1xyXG5cclxuXHQvLyBXZSBuZWVkIHRvIFJlc2V0IHBhZ2VfbnVtIHRvIDEgd2l0aCBlYWNoIG5ldyBzZWFyY2gsIGJlY2F1c2Ugd2UgY2FuIGJlIGF0IHBhZ2UgIzQsICBidXQgYWZ0ZXIgIG5ldyBzZWFyY2ggIHdlIGNhbiAgaGF2ZSB0b3RhbGx5ICBvbmx5ICAxIHBhZ2VcclxuXHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdrZXl3b3JkJyAgOiBqUXVlcnkoIGVsZW1lbnRfaWQgKS52YWwoKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdwYWdlX251bSc6IDFcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9ICk7XHJcbn1cclxuXHJcblx0LyoqXHJcblx0ICogU2VuZCBzZWFyY2ggcmVxdWVzdCBhZnRlciBmZXcgc2Vjb25kcyAodXN1YWxseSBhZnRlciAxLDUgc2VjKVxyXG5cdCAqIENsb3N1cmUgZnVuY3Rpb24uIEl0cyB1c2VmdWwsICBmb3IgZG8gIG5vdCBzZW5kIHRvbyBtYW55IEFqYXggcmVxdWVzdHMsIHdoZW4gc29tZW9uZSBtYWtlIGZhc3QgdHlwaW5nLlxyXG5cdCAqL1xyXG5cdHZhciB3cGJjX2FqeF9ib29raW5nX3NlYXJjaGluZ19hZnRlcl9mZXdfc2Vjb25kcyA9IGZ1bmN0aW9uICgpe1xyXG5cclxuXHRcdHZhciBjbG9zZWRfdGltZXIgPSAwO1xyXG5cclxuXHRcdHJldHVybiBmdW5jdGlvbiAoIGVsZW1lbnRfaWQsIHRpbWVyX2RlbGF5ICl7XHJcblxyXG5cdFx0XHQvLyBHZXQgZGVmYXVsdCB2YWx1ZSBvZiBcInRpbWVyX2RlbGF5XCIsICBpZiBwYXJhbWV0ZXIgd2FzIG5vdCBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb24uXHJcblx0XHRcdHRpbWVyX2RlbGF5ID0gdHlwZW9mIHRpbWVyX2RlbGF5ICE9PSAndW5kZWZpbmVkJyA/IHRpbWVyX2RlbGF5IDogMTUwMDtcclxuXHJcblx0XHRcdGNsZWFyVGltZW91dCggY2xvc2VkX3RpbWVyICk7XHRcdC8vIENsZWFyIHByZXZpb3VzIHRpbWVyXHJcblxyXG5cdFx0XHQvLyBTdGFydCBuZXcgVGltZXJcclxuXHRcdFx0Y2xvc2VkX3RpbWVyID0gc2V0VGltZW91dCggd3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X2Zvcl9rZXl3b3JkLmJpbmQoICBudWxsLCBlbGVtZW50X2lkICksIHRpbWVyX2RlbGF5ICk7XHJcblx0XHR9XHJcblx0fSgpO1xyXG5cclxuXHJcbi8qKlxyXG4gKiAgIERlZmluZSBEeW5hbWljIEhvb2tzICAobGlrZSBwYWdpbmF0aW9uIGNsaWNrLCB3aGljaCByZW5ldyBlYWNoIHRpbWUgd2l0aCBuZXcgbGlzdGluZyBzaG93aW5nKSAgLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIERlZmluZSBIVE1MIHVpIEhvb2tzOiBvbiBLZXlVcCB8IENoYW5nZSB8IC0+IFNvcnQgT3JkZXIgJiBOdW1iZXIgSXRlbXMgLyBQYWdlXHJcbiAqIFdlIGFyZSBoY25hZ2VkIGl0IGVhY2ggIHRpbWUsIHdoZW4gc2hvd2luZyBuZXcgbGlzdGluZywgYmVjYXVzZSBET00gZWxlbWVudHMgY2huYWdlZFxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19kZWZpbmVfdWlfaG9va3MoKXtcclxuXHJcblx0aWYgKCAnZnVuY3Rpb24nID09PSB0eXBlb2YoIHdwYmNfZGVmaW5lX3RpcHB5X3Rvb2x0aXBzICkgKSB7XHJcblx0XHR3cGJjX2RlZmluZV90aXBweV90b29sdGlwcyggJy53cGJjX2xpc3RpbmdfY29udGFpbmVyICcgKTtcclxuXHR9XHJcblxyXG5cdHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2RlZmluZV9fbG9jYWxlKCk7XHJcblx0d3BiY19hanhfYm9va2luZ19fdWlfZGVmaW5lX19yZW1hcmsoKTtcclxuXHJcblx0Ly8gSXRlbXMgUGVyIFBhZ2VcclxuXHRqUXVlcnkoICcud3BiY19pdGVtc19wZXJfcGFnZScgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHdwYmNfYWp4X2Jvb2tpbmdfc2VuZF9zZWFyY2hfcmVxdWVzdF93aXRoX3BhcmFtcygge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3BhZ2VfaXRlbXNfY291bnQnICA6IGpRdWVyeSggdGhpcyApLnZhbCgpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3BhZ2VfbnVtJzogMVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxuXHR9ICk7XHJcblxyXG5cdC8vIFNvcnRpbmdcclxuXHRqUXVlcnkoICcud3BiY19pdGVtc19zb3J0X3R5cGUnICkub24oICdjaGFuZ2UnLCBmdW5jdGlvbiggZXZlbnQgKXtcclxuXHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHsnc29ydF90eXBlJzogalF1ZXJ5KCB0aGlzICkudmFsKCl9ICk7XHJcblx0fSApO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICAgU2hvdyAvIEhpZGUgTGlzdGluZyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4vKipcclxuICogIFNob3cgTGlzdGluZyBUYWJsZSBcdC0gXHRTZW5kaW5nIEFqYXggUmVxdWVzdFx0LVx0d2l0aCBwYXJhbWV0ZXJzIHRoYXQgIHdlIGVhcmx5ICBkZWZpbmVkIGluIFwid3BiY19hanhfYm9va2luZ19saXN0aW5nXCIgT2JqLlxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19fYWN0dWFsX2xpc3RpbmdfX3Nob3coKXtcclxuXHJcblx0d3BiY19hanhfYm9va2luZ19hamF4X3NlYXJjaF9yZXF1ZXN0KCk7XHRcdFx0Ly8gU2VuZCBBamF4IFJlcXVlc3RcdC1cdHdpdGggcGFyYW1ldGVycyB0aGF0ICB3ZSBlYXJseSAgZGVmaW5lZCBpbiBcIndwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZ1wiIE9iai5cclxufVxyXG5cclxuLyoqXHJcbiAqIEhpZGUgTGlzdGluZyBUYWJsZSAoIGFuZCBQYWdpbmF0aW9uIClcclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX2FjdHVhbF9saXN0aW5nX19oaWRlKCl7XHJcblx0alF1ZXJ5KCAnLndwYmNfYWp4X3VuZGVyX3Rvb2xiYXJfcm93JyApLmhpZGUoKTtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL0ZpeEluOiA5LjYuMS41XHJcblx0alF1ZXJ5KCB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X290aGVyX3BhcmFtKCAnbGlzdGluZ19jb250YWluZXInICkgICAgKS5odG1sKCAnJyApO1xyXG5cdGpRdWVyeSggd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9vdGhlcl9wYXJhbSggJ3BhZ2luYXRpb25fY29udGFpbmVyJyApICkuaHRtbCggJycgKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIFN1cHBvcnQgZnVuY3Rpb25zIGZvciBDb250ZW50IFRlbXBsYXRlIGRhdGEgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIEhpZ2hsaWdodCBzdHJpbmdzLFxyXG4gKiBieSBpbnNlcnRpbmcgPHNwYW4gY2xhc3M9XCJmaWVsZHZhbHVlIG5hbWUgZmllbGRzZWFyY2h2YWx1ZVwiPi4uLjwvc3Bhbj4gaHRtbCAgZWxlbWVudHMgaW50byB0aGUgc3RyaW5nLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gYm9va2luZ19kZXRhaWxzIFx0LSBTb3VyY2Ugc3RyaW5nXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29raW5nX2tleXdvcmRcdC0gS2V5d29yZCB0byBoaWdobGlnaHRcclxuICogQHJldHVybnMge3N0cmluZ31cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfZ2V0X2hpZ2hsaWdodGVkX3NlYXJjaF9rZXl3b3JkKCBib29raW5nX2RldGFpbHMsIGJvb2tpbmdfa2V5d29yZCApe1xyXG5cclxuXHRib29raW5nX2tleXdvcmQgPSBib29raW5nX2tleXdvcmQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcblx0aWYgKCAwID09IGJvb2tpbmdfa2V5d29yZC5sZW5ndGggKXtcclxuXHRcdHJldHVybiBib29raW5nX2RldGFpbHM7XHJcblx0fVxyXG5cclxuXHQvLyBIaWdobGlnaHQgc3Vic3RyaW5nIHdpdGhpbmcgSFRNTCB0YWdzIGluIFwiQ29udGVudCBvZiBib29raW5nIGZpZWxkcyBkYXRhXCIgLS0gZS5nLiBzdGFydGluZyBmcm9tICA+ICBhbmQgZW5kaW5nIHdpdGggPFxyXG5cdGxldCBrZXl3b3JkUmVnZXggPSBuZXcgUmVnRXhwKCBgZmllbGR2YWx1ZVtePD5dKj4oW148XSoke2Jvb2tpbmdfa2V5d29yZH1bXjxdKilgLCAnZ2ltJyApO1xyXG5cclxuXHQvL2xldCBtYXRjaGVzID0gWy4uLmJvb2tpbmdfZGV0YWlscy50b0xvd2VyQ2FzZSgpLm1hdGNoQWxsKCBrZXl3b3JkUmVnZXggKV07XHJcblx0bGV0IG1hdGNoZXMgPSBib29raW5nX2RldGFpbHMudG9Mb3dlckNhc2UoKS5tYXRjaEFsbCgga2V5d29yZFJlZ2V4ICk7XHJcblx0XHRtYXRjaGVzID0gQXJyYXkuZnJvbSggbWF0Y2hlcyApO1xyXG5cclxuXHRsZXQgc3RyaW5nc19hcnIgPSBbXTtcclxuXHRsZXQgcG9zX3ByZXZpb3VzID0gMDtcclxuXHRsZXQgc2VhcmNoX3Bvc19zdGFydDtcclxuXHRsZXQgc2VhcmNoX3Bvc19lbmQ7XHJcblxyXG5cdGZvciAoIGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMgKXtcclxuXHJcblx0XHRzZWFyY2hfcG9zX3N0YXJ0ID0gbWF0Y2guaW5kZXggKyBtYXRjaFsgMCBdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZiggJz4nLCAwICkgKyAxIDtcclxuXHJcblx0XHRzdHJpbmdzX2Fyci5wdXNoKCBib29raW5nX2RldGFpbHMuc3Vic3RyKCBwb3NfcHJldmlvdXMsIChzZWFyY2hfcG9zX3N0YXJ0IC0gcG9zX3ByZXZpb3VzKSApICk7XHJcblxyXG5cdFx0c2VhcmNoX3Bvc19lbmQgPSBib29raW5nX2RldGFpbHMudG9Mb3dlckNhc2UoKS5pbmRleE9mKCAnPCcsIHNlYXJjaF9wb3Nfc3RhcnQgKTtcclxuXHJcblx0XHRzdHJpbmdzX2Fyci5wdXNoKCAnPHNwYW4gY2xhc3M9XCJmaWVsZHZhbHVlIG5hbWUgZmllbGRzZWFyY2h2YWx1ZVwiPicgKyBib29raW5nX2RldGFpbHMuc3Vic3RyKCBzZWFyY2hfcG9zX3N0YXJ0LCAoc2VhcmNoX3Bvc19lbmQgLSBzZWFyY2hfcG9zX3N0YXJ0KSApICsgJzwvc3Bhbj4nICk7XHJcblxyXG5cdFx0cG9zX3ByZXZpb3VzID0gc2VhcmNoX3Bvc19lbmQ7XHJcblx0fVxyXG5cclxuXHRzdHJpbmdzX2Fyci5wdXNoKCBib29raW5nX2RldGFpbHMuc3Vic3RyKCBwb3NfcHJldmlvdXMsIChib29raW5nX2RldGFpbHMubGVuZ3RoIC0gcG9zX3ByZXZpb3VzKSApICk7XHJcblxyXG5cdHJldHVybiBzdHJpbmdzX2Fyci5qb2luKCAnJyApO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCBzcGVjaWFsIEhUTUwgY2hhcmFjdGVycyAgIGZyb206XHQgJmFtcDsgXHQtPiBcdCZcclxuICpcclxuICogQHBhcmFtIHRleHRcclxuICogQHJldHVybnMgeyp9XHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2RlY29kZV9IVE1MX2VudGl0aWVzKCB0ZXh0ICl7XHJcblx0dmFyIHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ3RleHRhcmVhJyApO1xyXG5cdHRleHRBcmVhLmlubmVySFRNTCA9IHRleHQ7XHJcblx0cmV0dXJuIHRleHRBcmVhLnZhbHVlO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCBUTyBzcGVjaWFsIEhUTUwgY2hhcmFjdGVycyAgIGZyb206XHQgJiBcdC0+IFx0JmFtcDtcclxuICpcclxuICogQHBhcmFtIHRleHRcclxuICogQHJldHVybnMgeyp9XHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2VuY29kZV9IVE1MX2VudGl0aWVzKHRleHQpIHtcclxuICB2YXIgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gIHRleHRBcmVhLmlubmVyVGV4dCA9IHRleHQ7XHJcbiAgcmV0dXJuIHRleHRBcmVhLmlubmVySFRNTDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIFN1cHBvcnQgRnVuY3Rpb25zIC0gU3BpbiBJY29uIGluIEJ1dHRvbnMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyoqXHJcbiAqIFNwaW4gYnV0dG9uIGluIEZpbHRlciB0b29sYmFyICAtICBTdGFydFxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19ib29raW5nX2xpc3RpbmdfcmVsb2FkX2J1dHRvbl9fc3Bpbl9zdGFydCgpe1xyXG5cdGpRdWVyeSggJyN3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uIC5tZW51X2ljb24ud3BiY19zcGluJykucmVtb3ZlQ2xhc3MoICd3cGJjX2FuaW1hdGlvbl9wYXVzZScgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNwaW4gYnV0dG9uIGluIEZpbHRlciB0b29sYmFyICAtICBQYXVzZVxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19ib29raW5nX2xpc3RpbmdfcmVsb2FkX2J1dHRvbl9fc3Bpbl9wYXVzZSgpe1xyXG5cdGpRdWVyeSggJyN3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uIC5tZW51X2ljb24ud3BiY19zcGluJyApLmFkZENsYXNzKCAnd3BiY19hbmltYXRpb25fcGF1c2UnICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTcGluIGJ1dHRvbiBpbiBGaWx0ZXIgdG9vbGJhciAgLSAgaXMgU3Bpbm5pbmcgP1xyXG4gKlxyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYm9va2luZ19saXN0aW5nX3JlbG9hZF9idXR0b25fX2lzX3NwaW4oKXtcclxuICAgIGlmICggalF1ZXJ5KCAnI3dwYmNfYm9va2luZ19saXN0aW5nX3JlbG9hZF9idXR0b24gLm1lbnVfaWNvbi53cGJjX3NwaW4nICkuaGFzQ2xhc3MoICd3cGJjX2FuaW1hdGlvbl9wYXVzZScgKSApe1xyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fSBlbHNlIHtcclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHR9XHJcbn0iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFBQSxDQUFBLENBQUFRLE1BQUEscUJBQUFOLEVBQUEsRUFBQUYsQ0FBQSxHQUFBRSxFQUFBLE1BQUFPLENBQUEsVUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsUUFBQUgsQ0FBQSxJQUFBVCxDQUFBLENBQUFRLE1B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 _out/bookings__hooks.js 0000666 00000062536 15166373417 0011262 0 ustar 00 "use strict"; /** * Define HTML ui Hooks: on KeyUp | Change | -> Sort Order & Number Items / Page * * We are chnaged it once, because such elements always the same */ function wpbc_ajx_booking_define_ui_hooks_once() { //------------------------------------------------------------------------------------------------------------------ // Booked dates //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_booking_date').on('change', function (event) { var changed_value = JSON.parse(jQuery('#wh_booking_date').val()); wpbc_ajx_booking_send_search_request_with_params({ 'wh_booking_date': changed_value, 'page_num': 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_booking_date_radio': jQuery('input[name="ui_wh_booking_date_radio"]:checked').val(), 'ui_wh_booking_date_next': jQuery('#ui_wh_booking_date_next').val(), 'ui_wh_booking_date_prior': jQuery('#ui_wh_booking_date_prior').val(), 'ui_wh_booking_date_checkin': jQuery('#ui_wh_booking_date_checkin').val(), 'ui_wh_booking_date_checkout': jQuery('#ui_wh_booking_date_checkout').val() }); }); //------------------------------------------------------------------------------------------------------------------ // Approved | Pending | All //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_approved').on('change', function (event) { var changed_value = jQuery('#wh_approved').val(); changed_value = JSON.parse(changed_value); wpbc_ajx_booking_send_search_request_with_params({ 'wh_approved': changed_value[0], 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // Keywords //------------------------------------------------------------------------------------------------------------------ jQuery('#wpbc_search_field').on("keyup", function (event) { if (13 !== event.which) { wpbc_ajx_booking_searching_after_few_seconds('#wpbc_search_field'); // Searching after 1.5 seconds after Key Up } else { wpbc_ajx_booking_searching_after_few_seconds('#wpbc_search_field', 0); // Immediate search } }); //------------------------------------------------------------------------------------------------------------------ // Existing | Trash | Any //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_trash').on('change', function (event) { var changed_value = JSON.parse(jQuery('#wh_trash').val()); wpbc_ajx_booking_send_search_request_with_params({ 'wh_trash': changed_value[0], 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // All bookings | New bookings //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_what_bookings').on('change', function (event) { var changed_value = JSON.parse(jQuery('#wh_what_bookings').val()); wpbc_ajx_booking_send_search_request_with_params({ 'wh_what_bookings': changed_value[0], 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // "Creation Date" of bookings //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_modification_date').on('change', function (event) { var changed_value = JSON.parse(jQuery('#wh_modification_date').val()); wpbc_ajx_booking_send_search_request_with_params({ 'wh_modification_date': changed_value, 'page_num': 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_modification_date_radio': jQuery('input[name="ui_wh_modification_date_radio"]:checked').val(), 'ui_wh_modification_date_prior': jQuery('#ui_wh_modification_date_prior').val(), 'ui_wh_modification_date_checkin': jQuery('#ui_wh_modification_date_checkin').val(), 'ui_wh_modification_date_checkout': jQuery('#ui_wh_modification_date_checkout').val() }); }); //------------------------------------------------------------------------------------------------------------------ // Payment Status //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_pay_status').on('change', function (event) { var changed_value = JSON.parse(jQuery('#wh_pay_status').val()); wpbc_ajx_booking_send_search_request_with_params({ 'wh_pay_status': changed_value, 'page_num': 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_pay_status_radio': undefined === jQuery('input[name="ui_wh_pay_status_radio"]:checked').val() ? '' : jQuery('input[name="ui_wh_pay_status_radio"]:checked').val(), 'ui_wh_pay_status_custom': jQuery('#ui_wh_pay_status_custom').val() }); }); //------------------------------------------------------------------------------------------------------------------ // Min Cost //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_cost').on('change', function (event) { var changed_value = jQuery('#wh_cost').val(); wpbc_ajx_booking_send_search_request_with_params({ 'wh_cost': changed_value, 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // Max Cost //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_cost2').on('change', function (event) { var changed_value = jQuery('#wh_cost2').val(); wpbc_ajx_booking_send_search_request_with_params({ 'wh_cost2': changed_value, 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // Booking resources //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_booking_type').on('change', function (event) { var changed_value = jQuery('#wh_booking_type').val(); // it's get as array if (Array.isArray(changed_value) && 0 === changed_value.length) { changed_value = ['-1']; } wpbc_ajx_booking_send_search_request_with_params({ 'wh_booking_type': changed_value, 'page_num': 1 }); }); //------------------------------------------------------------------------------------------------------------------ // Sorting //------------------------------------------------------------------------------------------------------------------ jQuery('#wh_sort').on('change', function (event) { var changed_value = jQuery('#wh_sort').val(); changed_value = JSON.parse(changed_value); wpbc_ajx_booking_send_search_request_with_params({ 'wh_sort': changed_value[0] }); }); } jQuery(document).ready(function () { wpbc_ajx_booking_define_ui_hooks_once(); }); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1ib29raW5ncy9fb3V0L2Jvb2tpbmdzX19ob29rcy5qcyIsIm5hbWVzIjpbIndwYmNfYWp4X2Jvb2tpbmdfZGVmaW5lX3VpX2hvb2tzX29uY2UiLCJqUXVlcnkiLCJvbiIsImV2ZW50IiwiY2hhbmdlZF92YWx1ZSIsIkpTT04iLCJwYXJzZSIsInZhbCIsIndwYmNfYWp4X2Jvb2tpbmdfc2VuZF9zZWFyY2hfcmVxdWVzdF93aXRoX3BhcmFtcyIsIndoaWNoIiwid3BiY19hanhfYm9va2luZ19zZWFyY2hpbmdfYWZ0ZXJfZmV3X3NlY29uZHMiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJkb2N1bWVudCIsInJlYWR5Il0sInNvdXJjZXMiOlsiaW5jbHVkZXMvcGFnZS1ib29raW5ncy9fc3JjL2Jvb2tpbmdzX19ob29rcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbi8qKlxyXG4gKiBEZWZpbmUgSFRNTCB1aSBIb29rczogb24gS2V5VXAgfCBDaGFuZ2UgfCAtPiBTb3J0IE9yZGVyICYgTnVtYmVyIEl0ZW1zIC8gUGFnZVxyXG4gKiAqIFdlIGFyZSBjaG5hZ2VkIGl0IG9uY2UsIGJlY2F1c2Ugc3VjaCAgZWxlbWVudHMgYWx3YXlzIHRoZSBzYW1lXHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX2RlZmluZV91aV9ob29rc19vbmNlKCl7XHJcblxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8gQm9va2VkIGRhdGVzXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfYm9va2luZ19kYXRlJyApLm9uKCAnY2hhbmdlJywgZnVuY3Rpb24oIGV2ZW50ICl7XHJcblxyXG5cdFx0dmFyIGNoYW5nZWRfdmFsdWUgPSBKU09OLnBhcnNlKCBqUXVlcnkoICcjd2hfYm9va2luZ19kYXRlJyApLnZhbCgpICk7XHJcblxyXG5cdFx0d3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zKCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd3aF9ib29raW5nX2RhdGUnOiBjaGFuZ2VkX3ZhbHVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncGFnZV9udW0nICAgICAgIDogMSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gRnJvbnRlbmQgc2VsZWN0ZWQgZWxlbWVudHMgKHNhdmluZyBmb3IgZnV0dXJlIHVzZSwgYWZ0ZXIgRjUpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV93aF9ib29raW5nX2RhdGVfcmFkaW8nICAgOiBqUXVlcnkoICdpbnB1dFtuYW1lPVwidWlfd2hfYm9va2luZ19kYXRlX3JhZGlvXCJdOmNoZWNrZWQnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV93aF9ib29raW5nX2RhdGVfbmV4dCcgICAgOiBqUXVlcnkoICcjdWlfd2hfYm9va2luZ19kYXRlX25leHQnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV93aF9ib29raW5nX2RhdGVfcHJpb3InICAgOiBqUXVlcnkoICcjdWlfd2hfYm9va2luZ19kYXRlX3ByaW9yJyApLnZhbCgpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfd2hfYm9va2luZ19kYXRlX2NoZWNraW4nIDogalF1ZXJ5KCAnI3VpX3doX2Jvb2tpbmdfZGF0ZV9jaGVja2luJyApLnZhbCgpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfd2hfYm9va2luZ19kYXRlX2NoZWNrb3V0JzogalF1ZXJ5KCAnI3VpX3doX2Jvb2tpbmdfZGF0ZV9jaGVja291dCcgKS52YWwoKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApO1xyXG5cdH0gKTtcclxuXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQvLyBBcHByb3ZlZCB8IFBlbmRpbmcgfCBBbGxcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdGpRdWVyeSggJyN3aF9hcHByb3ZlZCcgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0galF1ZXJ5KCAnI3doX2FwcHJvdmVkJyApLnZhbCgpO1xyXG5cclxuXHRcdGNoYW5nZWRfdmFsdWUgPSBKU09OLnBhcnNlKCBjaGFuZ2VkX3ZhbHVlICk7XHJcblxyXG5cdFx0d3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zKCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd3aF9hcHByb3ZlZCc6IGNoYW5nZWRfdmFsdWVbIDAgXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3BhZ2VfbnVtJyAgIDogMVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApO1xyXG5cdH0gKTtcclxuXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQvLyBLZXl3b3Jkc1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0alF1ZXJ5KCAnI3dwYmNfc2VhcmNoX2ZpZWxkJyApLm9uKCBcImtleXVwXCIsIGZ1bmN0aW9uICggZXZlbnQgKXtcclxuXHRcdGlmICggMTMgIT09IGV2ZW50LndoaWNoICl7XHJcblx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfc2VhcmNoaW5nX2FmdGVyX2Zld19zZWNvbmRzKCAnI3dwYmNfc2VhcmNoX2ZpZWxkJyApO1x0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gU2VhcmNoaW5nIGFmdGVyIDEuNSBzZWNvbmRzIGFmdGVyIEtleSBVcFxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0d3BiY19hanhfYm9va2luZ19zZWFyY2hpbmdfYWZ0ZXJfZmV3X3NlY29uZHMoICcjd3BiY19zZWFyY2hfZmllbGQnLCAwICk7XHRcdFx0XHRcdFx0XHRcdFx0Ly8gSW1tZWRpYXRlIHNlYXJjaFxyXG5cdFx0fVxyXG5cdH0gKTtcclxuXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQvLyBFeGlzdGluZyB8IFRyYXNoIHwgQW55XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfdHJhc2gnICkub24oICdjaGFuZ2UnLCBmdW5jdGlvbiggZXZlbnQgKXtcclxuXHJcblx0XHR2YXIgY2hhbmdlZF92YWx1ZSA9IEpTT04ucGFyc2UoIGpRdWVyeSggJyN3aF90cmFzaCcgKS52YWwoKSApO1xyXG5cclxuXHRcdHdwYmNfYWp4X2Jvb2tpbmdfc2VuZF9zZWFyY2hfcmVxdWVzdF93aXRoX3BhcmFtcygge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnd2hfdHJhc2gnOiBjaGFuZ2VkX3ZhbHVlWyAwIF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdwYWdlX251bSc6IDFcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxuXHR9ICk7XHJcblxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8gQWxsIGJvb2tpbmdzIHwgTmV3IGJvb2tpbmdzXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfd2hhdF9ib29raW5ncycgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0gSlNPTi5wYXJzZSggalF1ZXJ5KCAnI3doX3doYXRfYm9va2luZ3MnICkudmFsKCkgKTtcclxuXHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3doX3doYXRfYm9va2luZ3MnOiBjaGFuZ2VkX3ZhbHVlWyAwIF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdwYWdlX251bSc6IDFcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxuXHR9ICk7XHJcblxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8gXCJDcmVhdGlvbiBEYXRlXCIgICBvZiBib29raW5nc1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0alF1ZXJ5KCAnI3doX21vZGlmaWNhdGlvbl9kYXRlJyApLm9uKCAnY2hhbmdlJywgZnVuY3Rpb24oIGV2ZW50ICl7XHJcblxyXG5cdFx0dmFyIGNoYW5nZWRfdmFsdWUgPSBKU09OLnBhcnNlKCBqUXVlcnkoICcjd2hfbW9kaWZpY2F0aW9uX2RhdGUnICkudmFsKCkgKTtcclxuXHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3doX21vZGlmaWNhdGlvbl9kYXRlJzogY2hhbmdlZF92YWx1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3BhZ2VfbnVtJyAgICAgICA6IDEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIEZyb250ZW5kIHNlbGVjdGVkIGVsZW1lbnRzIChzYXZpbmcgZm9yIGZ1dHVyZSB1c2UsIGFmdGVyIEY1KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfd2hfbW9kaWZpY2F0aW9uX2RhdGVfcmFkaW8nICAgOiBqUXVlcnkoICdpbnB1dFtuYW1lPVwidWlfd2hfbW9kaWZpY2F0aW9uX2RhdGVfcmFkaW9cIl06Y2hlY2tlZCcgKS52YWwoKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VpX3doX21vZGlmaWNhdGlvbl9kYXRlX3ByaW9yJyAgIDogalF1ZXJ5KCAnI3VpX3doX21vZGlmaWNhdGlvbl9kYXRlX3ByaW9yJyApLnZhbCgpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfd2hfbW9kaWZpY2F0aW9uX2RhdGVfY2hlY2tpbicgOiBqUXVlcnkoICcjdWlfd2hfbW9kaWZpY2F0aW9uX2RhdGVfY2hlY2tpbicgKS52YWwoKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VpX3doX21vZGlmaWNhdGlvbl9kYXRlX2NoZWNrb3V0JzogalF1ZXJ5KCAnI3VpX3doX21vZGlmaWNhdGlvbl9kYXRlX2NoZWNrb3V0JyApLnZhbCgpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9ICk7XHJcblx0fSApO1xyXG5cclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8vIFBheW1lbnQgU3RhdHVzXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfcGF5X3N0YXR1cycgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0gSlNPTi5wYXJzZSggalF1ZXJ5KCAnI3doX3BheV9zdGF0dXMnICkudmFsKCkgKTtcclxuXHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3doX3BheV9zdGF0dXMnOiBjaGFuZ2VkX3ZhbHVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncGFnZV9udW0nICAgICAgIDogMSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gRnJvbnRlbmQgc2VsZWN0ZWQgZWxlbWVudHMgKHNhdmluZyBmb3IgZnV0dXJlIHVzZSwgYWZ0ZXIgRjUpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV93aF9wYXlfc3RhdHVzX3JhZGlvJyA6ICggKCB1bmRlZmluZWQgPT09IGpRdWVyeSggJ2lucHV0W25hbWU9XCJ1aV93aF9wYXlfc3RhdHVzX3JhZGlvXCJdOmNoZWNrZWQnICkudmFsKCkgKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PyAnJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiBqUXVlcnkoICdpbnB1dFtuYW1lPVwidWlfd2hfcGF5X3N0YXR1c19yYWRpb1wiXTpjaGVja2VkJyApLnZhbCgpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV93aF9wYXlfc3RhdHVzX2N1c3RvbSc6IGpRdWVyeSggJyN1aV93aF9wYXlfc3RhdHVzX2N1c3RvbScgKS52YWwoKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApO1xyXG5cclxuXHJcblx0fSApO1xyXG5cclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdC8vIE1pbiBDb3N0XHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfY29zdCcgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0galF1ZXJ5KCAnI3doX2Nvc3QnICkudmFsKCk7XHJcblxyXG5cdFx0d3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zKCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd3aF9jb3N0JyA6IGNoYW5nZWRfdmFsdWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdwYWdlX251bSc6IDFcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxuXHR9ICk7XHJcblxyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8gTWF4IENvc3RcclxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdGpRdWVyeSggJyN3aF9jb3N0MicgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0galF1ZXJ5KCAnI3doX2Nvc3QyJyApLnZhbCgpO1xyXG5cclxuXHRcdHdwYmNfYWp4X2Jvb2tpbmdfc2VuZF9zZWFyY2hfcmVxdWVzdF93aXRoX3BhcmFtcygge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnd2hfY29zdDInIDogY2hhbmdlZF92YWx1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3BhZ2VfbnVtJzogMVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSApO1xyXG5cdH0gKTtcclxuXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQvLyBCb29raW5nIHJlc291cmNlc1xyXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0alF1ZXJ5KCAnI3doX2Jvb2tpbmdfdHlwZScgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0gIGpRdWVyeSggJyN3aF9ib29raW5nX3R5cGUnICkudmFsKCk7XHRcdC8vIGl0J3MgZ2V0IGFzIGFycmF5XHJcblx0XHRpZiAoICggQXJyYXkuaXNBcnJheSggY2hhbmdlZF92YWx1ZSApICkgJiYgKCAwID09PSBjaGFuZ2VkX3ZhbHVlLmxlbmd0aCApICl7XHJcblx0XHRcdGNoYW5nZWRfdmFsdWUgPSBbJy0xJ107XHJcblx0XHR9XHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3doX2Jvb2tpbmdfdHlwZScgOiBjaGFuZ2VkX3ZhbHVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncGFnZV9udW0nOiAxXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9ICk7XHJcblx0fSApO1xyXG5cclxuXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHQvLyBTb3J0aW5nXHJcblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHRqUXVlcnkoICcjd2hfc29ydCcgKS5vbiggJ2NoYW5nZScsIGZ1bmN0aW9uKCBldmVudCApe1xyXG5cclxuXHRcdHZhciBjaGFuZ2VkX3ZhbHVlID0galF1ZXJ5KCAnI3doX3NvcnQnICkudmFsKCk7XHJcblxyXG5cdFx0Y2hhbmdlZF92YWx1ZSA9IEpTT04ucGFyc2UoIGNoYW5nZWRfdmFsdWUgKTtcclxuXHJcblx0XHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3doX3NvcnQnOiBjaGFuZ2VkX3ZhbHVlWyAwIF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gKTtcclxuXHR9ICk7XHJcblxyXG59XHJcblxyXG5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7XHJcblx0d3BiY19hanhfYm9va2luZ19kZWZpbmVfdWlfaG9va3Nfb25jZSgpO1xyXG59KTtcclxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUVaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EscUNBQXFDQSxD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 _out/bookings__actions.js 0000666 00000214175 15166373417 0011575 0 ustar 00 "use strict"; /** * Ajax ----------------------------------------------------------------------------------------------------- */ //var is_this_action = false; /** * Send Ajax action request, like approving or cancellation * * @param action_param */ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function wpbc_ajx_booking_ajax_action_request() { var action_param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; console.groupCollapsed('WPBC_AJX_BOOKING_ACTIONS'); console.log(' == Ajax Actions :: Params == ', action_param); //is_this_action = true; wpbc_booking_listing_reload_button__spin_start(); // Get redefined Locale, if action on single booking ! if (undefined != action_param['booking_id'] && !Array.isArray(action_param['booking_id'])) { // Not array action_param['locale'] = wpbc_get_selected_locale(action_param['booking_id'], wpbc_ajx_booking_listing.get_secure_param('locale')); } var action_post_params = { action: 'WPBC_AJX_BOOKING_ACTIONS', nonce: wpbc_ajx_booking_listing.get_secure_param('nonce'), wpbc_ajx_user_id: undefined == action_param['user_id'] ? wpbc_ajx_booking_listing.get_secure_param('user_id') : action_param['user_id'], wpbc_ajx_locale: undefined == action_param['locale'] ? wpbc_ajx_booking_listing.get_secure_param('locale') : action_param['locale'], action_params: action_param }; // It's required for CSV export - getting the same list of bookings if (typeof action_param.search_params !== 'undefined') { action_post_params['search_params'] = action_param.search_params; delete action_post_params.action_params.search_params; } // Start Ajax jQuery.post(wpbc_url_ajax, action_post_params, /** * S u c c e s s * * @param response_data - its object returned from Ajax - class-live-searcg.php * @param textStatus - 'success' * @param jqXHR - Object */ function (response_data, textStatus, jqXHR) { console.log(' == Ajax Actions :: Response WPBC_AJX_BOOKING_ACTIONS == ', response_data); console.groupEnd(); // Probably Error if (_typeof(response_data) !== 'object' || response_data === null) { jQuery('.wpbc_ajx_under_toolbar_row').hide(); //FixIn: 9.6.1.5 jQuery(wpbc_ajx_booking_listing.get_other_param('listing_container')).html('<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + response_data + '</div>'); return; } wpbc_booking_listing_reload_button__spin_pause(); wpbc_admin_show_message(response_data['ajx_after_action_message'].replace(/\n/g, "<br />"), '1' == response_data['ajx_after_action_result'] ? 'success' : 'error', 'undefined' === typeof response_data['ajx_after_action_result_all_params_arr']['after_action_result_delay'] ? 10000 : response_data['ajx_after_action_result_all_params_arr']['after_action_result_delay']); // Success response if ('1' == response_data['ajx_after_action_result']) { var is_reload_ajax_listing = true; // After Google Calendar import show imported bookings and reload the page for toolbar parameters update if (false !== response_data['ajx_after_action_result_all_params_arr']['new_listing_params']) { wpbc_ajx_booking_send_search_request_with_params(response_data['ajx_after_action_result_all_params_arr']['new_listing_params']); var closed_timer = setTimeout(function () { if (wpbc_booking_listing_reload_button__is_spin()) { if (undefined != response_data['ajx_after_action_result_all_params_arr']['new_listing_params']['reload_url_params']) { document.location.href = response_data['ajx_after_action_result_all_params_arr']['new_listing_params']['reload_url_params']; } else { document.location.reload(); } } }, 2000); is_reload_ajax_listing = false; } // Start download exported CSV file if (undefined != response_data['ajx_after_action_result_all_params_arr']['export_csv_url']) { wpbc_ajx_booking__export_csv_url__download(response_data['ajx_after_action_result_all_params_arr']['export_csv_url']); is_reload_ajax_listing = false; } if (is_reload_ajax_listing) { wpbc_ajx_booking__actual_listing__show(); // Sending Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. } } // Remove spin icon from button and Enable this button. wpbc_button__remove_spin(response_data['ajx_cleaned_params']['ui_clicked_element_id']); // Hide modals wpbc_popup_modals__hide(); jQuery('#ajax_respond').html(response_data); // For ability to show response, add such DIV element to page }).fail(function (jqXHR, textStatus, errorThrown) { if (window.console && window.console.log) { console.log('Ajax_Error', jqXHR, textStatus, errorThrown); } jQuery('.wpbc_ajx_under_toolbar_row').hide(); //FixIn: 9.6.1.5 var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown; if (jqXHR.responseText) { error_message += jqXHR.responseText; } error_message = error_message.replace(/\n/g, "<br />"); wpbc_ajx_booking_show_message(error_message); }) // .done( function ( data, textStatus, jqXHR ) { if ( window.console && window.console.log ){ console.log( 'second success', data, textStatus, jqXHR ); } }) // .always( function ( data_jqXHR, textStatus, jqXHR_errorThrown ) { if ( window.console && window.console.log ){ console.log( 'always finished', data_jqXHR, textStatus, jqXHR_errorThrown ); } }) ; // End Ajax } /** * Hide all open modal popups windows */ function wpbc_popup_modals__hide() { // Hide modals if ('function' === typeof jQuery('.wpbc_popup_modal').wpbc_my_modal) { jQuery('.wpbc_popup_modal').wpbc_my_modal('hide'); } } /** * Dates Short <-> Wide ----------------------------------------------------------------------------------- */ function wpbc_ajx_click_on_dates_short() { jQuery('#booking_dates_small,.booking_dates_full').hide(); jQuery('#booking_dates_full,.booking_dates_small').show(); wpbc_ajx_booking_send_search_request_with_params({ 'ui_usr__dates_short_wide': 'short' }); } function wpbc_ajx_click_on_dates_wide() { jQuery('#booking_dates_full,.booking_dates_small').hide(); jQuery('#booking_dates_small,.booking_dates_full').show(); wpbc_ajx_booking_send_search_request_with_params({ 'ui_usr__dates_short_wide': 'wide' }); } function wpbc_ajx_click_on_dates_toggle(this_date) { jQuery(this_date).parents('.wpbc_col_dates').find('.booking_dates_small').toggle(); jQuery(this_date).parents('.wpbc_col_dates').find('.booking_dates_full').toggle(); /* var visible_section = jQuery( this_date ).parents( '.booking_dates_expand_section' ); visible_section.hide(); if ( visible_section.hasClass( 'booking_dates_full' ) ){ visible_section.parents( '.wpbc_col_dates' ).find( '.booking_dates_small' ).show(); } else { visible_section.parents( '.wpbc_col_dates' ).find( '.booking_dates_full' ).show(); }*/ console.log('wpbc_ajx_click_on_dates_toggle', this_date); } /** * Locale --------------------------------------------------------------------------------------------------- */ /** * Select options in select boxes based on attribute "value_of_selected_option" and RED color and hint for LOCALE button -- It's called from wpbc_ajx_booking_define_ui_hooks() each time after Listing loading. */ function wpbc_ajx_booking__ui_define__locale() { jQuery('.wpbc_listing_container select').each(function (index) { var selection = jQuery(this).attr("value_of_selected_option"); // Define selected select boxes if (undefined !== selection) { jQuery(this).find('option[value="' + selection + '"]').prop('selected', true); if ('' != selection && jQuery(this).hasClass('set_booking_locale_selectbox')) { // Locale var booking_locale_button = jQuery(this).parents('.ui_element_locale').find('.set_booking_locale_button'); //booking_locale_button.css( 'color', '#db4800' ); // Set button red booking_locale_button.addClass('wpbc_ui_red'); // Set button red if ('function' === typeof wpbc_tippy) { booking_locale_button.get(0)._tippy.setContent(selection); } } } }); } /** * Remark --------------------------------------------------------------------------------------------------- */ /** * Define content of remark "booking note" button and textarea. -- It's called from wpbc_ajx_booking_define_ui_hooks() each time after Listing loading. */ function wpbc_ajx_booking__ui_define__remark() { jQuery('.wpbc_listing_container .ui_remark_section textarea').each(function (index) { var text_val = jQuery(this).val(); if (undefined !== text_val && '' != text_val) { var remark_button = jQuery(this).parents('.ui_group').find('.set_booking_note_button'); if (remark_button.length > 0) { remark_button.addClass('wpbc_ui_red'); // Set button red if ('function' === typeof wpbc_tippy) { //remark_button.get( 0 )._tippy.allowHTML = true; //remark_button.get( 0 )._tippy.setContent( text_val.replace(/[\n\r]/g, '<br>') ); remark_button.get(0)._tippy.setProps({ allowHTML: true, content: text_val.replace(/[\n\r]/g, '<br>') }); } } } }); } /** * Actions ,when we click on "Remark" button. * * @param jq_button - this jQuery button object */ function wpbc_ajx_booking__ui_click__remark(jq_button) { jq_button.parents('.ui_group').find('.ui_remark_section').toggle(); } /** * Change booking resource ---------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_show__change_resource(booking_id, resource_id) { // Define ID of booking to hidden input jQuery('#change_booking_resource__booking_id').val(booking_id); // Select booking resource that belong to booking jQuery('#change_booking_resource__resource_select').val(resource_id).trigger('change'); var cbr; // Get Resource section cbr = jQuery("#change_booking_resource__section").detach(); // Append it to booking ROW cbr.appendTo(jQuery("#ui__change_booking_resource__section_in_booking_" + booking_id)); cbr = null; // Hide sections of "Change booking resource" in all other bookings ROWs //jQuery( ".ui__change_booking_resource__section_in_booking" ).hide(); if (!jQuery("#ui__change_booking_resource__section_in_booking_" + booking_id).is(':visible')) { jQuery(".ui__under_actions_row__section_in_booking").hide(); } // Show only "change booking resource" section for current booking jQuery("#ui__change_booking_resource__section_in_booking_" + booking_id).toggle(); } function wpbc_ajx_booking__ui_click_save__change_resource(this_el, booking_action, el_id) { wpbc_ajx_booking_ajax_action_request({ 'booking_action': booking_action, 'booking_id': jQuery('#change_booking_resource__booking_id').val(), 'selected_resource_id': jQuery('#change_booking_resource__resource_select').val(), 'ui_clicked_element_id': el_id }); wpbc_button_enable_loading_icon(this_el); // wpbc_ajx_booking__ui_click_close__change_resource(); } function wpbc_ajx_booking__ui_click_close__change_resource() { var cbrce; // Get Resource section cbrce = jQuery("#change_booking_resource__section").detach(); // Append it to hidden HTML template section at the bottom of the page cbrce.appendTo(jQuery("#wpbc_hidden_template__change_booking_resource")); cbrce = null; // Hide all change booking resources sections jQuery(".ui__change_booking_resource__section_in_booking").hide(); } /** * Duplicate booking in other resource ---------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_show__duplicate_booking(booking_id, resource_id) { // Define ID of booking to hidden input jQuery('#duplicate_booking_to_other_resource__booking_id').val(booking_id); // Select booking resource that belong to booking jQuery('#duplicate_booking_to_other_resource__resource_select').val(resource_id).trigger('change'); var cbr; // Get Resource section cbr = jQuery("#duplicate_booking_to_other_resource__section").detach(); // Append it to booking ROW cbr.appendTo(jQuery("#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id)); cbr = null; // Hide sections of "Duplicate booking" in all other bookings ROWs if (!jQuery("#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id).is(':visible')) { jQuery(".ui__under_actions_row__section_in_booking").hide(); } // Show only "Duplicate booking" section for current booking ROW jQuery("#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id).toggle(); } function wpbc_ajx_booking__ui_click_save__duplicate_booking(this_el, booking_action, el_id) { wpbc_ajx_booking_ajax_action_request({ 'booking_action': booking_action, 'booking_id': jQuery('#duplicate_booking_to_other_resource__booking_id').val(), 'selected_resource_id': jQuery('#duplicate_booking_to_other_resource__resource_select').val(), 'ui_clicked_element_id': el_id }); wpbc_button_enable_loading_icon(this_el); // wpbc_ajx_booking__ui_click_close__change_resource(); } function wpbc_ajx_booking__ui_click_close__duplicate_booking() { var cbrce; // Get Resource section cbrce = jQuery("#duplicate_booking_to_other_resource__section").detach(); // Append it to hidden HTML template section at the bottom of the page cbrce.appendTo(jQuery("#wpbc_hidden_template__duplicate_booking_to_other_resource")); cbrce = null; // Hide all change booking resources sections jQuery(".ui__duplicate_booking_to_other_resource__section_in_booking").hide(); } /** * Change payment status ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click_show__set_payment_status(booking_id) { var jSelect = jQuery('#ui__set_payment_status__section_in_booking_' + booking_id).find('select'); var selected_pay_status = jSelect.attr("ajx-selected-value"); // Is it float - then it's unknown if (!isNaN(parseFloat(selected_pay_status))) { jSelect.find('option[value="1"]').prop('selected', true); // Unknown value is '1' in select box } else { jSelect.find('option[value="' + selected_pay_status + '"]').prop('selected', true); // Otherwise known payment status } // Hide sections of "Change booking resource" in all other bookings ROWs if (!jQuery("#ui__set_payment_status__section_in_booking_" + booking_id).is(':visible')) { jQuery(".ui__under_actions_row__section_in_booking").hide(); } // Show only "change booking resource" section for current booking jQuery("#ui__set_payment_status__section_in_booking_" + booking_id).toggle(); } function wpbc_ajx_booking__ui_click_save__set_payment_status(booking_id, this_el, booking_action, el_id) { wpbc_ajx_booking_ajax_action_request({ 'booking_action': booking_action, 'booking_id': booking_id, 'selected_payment_status': jQuery('#ui_btn_set_payment_status' + booking_id).val(), 'ui_clicked_element_id': el_id + '_save' }); wpbc_button_enable_loading_icon(this_el); jQuery('#' + el_id + '_cancel').hide(); //wpbc_button_enable_loading_icon( jQuery( '#' + el_id + '_cancel').get(0) ); } function wpbc_ajx_booking__ui_click_close__set_payment_status() { // Hide all change payment status for booking jQuery(".ui__set_payment_status__section_in_booking").hide(); } /** * Change booking cost -------------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_save__set_booking_cost(booking_id, this_el, booking_action, el_id) { wpbc_ajx_booking_ajax_action_request({ 'booking_action': booking_action, 'booking_id': booking_id, 'booking_cost': jQuery('#ui_btn_set_booking_cost' + booking_id + '_cost').val(), 'ui_clicked_element_id': el_id + '_save' }); wpbc_button_enable_loading_icon(this_el); jQuery('#' + el_id + '_cancel').hide(); //wpbc_button_enable_loading_icon( jQuery( '#' + el_id + '_cancel').get(0) ); } function wpbc_ajx_booking__ui_click_close__set_booking_cost() { // Hide all change payment status for booking jQuery(".ui__set_booking_cost__section_in_booking").hide(); } /** * Send Payment request -------------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click__send_payment_request() { wpbc_ajx_booking_ajax_action_request({ 'booking_action': 'send_payment_request', 'booking_id': jQuery('#wpbc_modal__payment_request__booking_id').val(), 'reason_of_action': jQuery('#wpbc_modal__payment_request__reason_of_action').val(), 'ui_clicked_element_id': 'wpbc_modal__payment_request__button_send' }); wpbc_button_enable_loading_icon(jQuery('#wpbc_modal__payment_request__button_send').get(0)); } /** * Import Google Calendar ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click__import_google_calendar() { wpbc_ajx_booking_ajax_action_request({ 'booking_action': 'import_google_calendar', 'ui_clicked_element_id': 'wpbc_modal__import_google_calendar__button_send', 'booking_gcal_events_from': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_from option:selected').val(), 'booking_gcal_events_from_offset': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_from_offset').val(), 'booking_gcal_events_from_offset_type': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_from_offset_type option:selected').val(), 'booking_gcal_events_until': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_until option:selected').val(), 'booking_gcal_events_until_offset': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_until_offset').val(), 'booking_gcal_events_until_offset_type': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_until_offset_type option:selected').val(), 'booking_gcal_events_max': jQuery('#wpbc_modal__import_google_calendar__section #booking_gcal_events_max').val(), 'booking_gcal_resource': jQuery('#wpbc_modal__import_google_calendar__section #wpbc_booking_resource option:selected').val() }); wpbc_button_enable_loading_icon(jQuery('#wpbc_modal__import_google_calendar__section #wpbc_modal__import_google_calendar__button_send').get(0)); } /** * Export bookings to CSV ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click__export_csv(params) { var selected_booking_id_arr = wpbc_get_selected_row_id(); wpbc_ajx_booking_ajax_action_request({ 'booking_action': params['booking_action'], 'ui_clicked_element_id': params['ui_clicked_element_id'], 'export_type': params['export_type'], 'csv_export_separator': params['csv_export_separator'], 'csv_export_skip_fields': params['csv_export_skip_fields'], 'booking_id': selected_booking_id_arr.join(','), 'search_params': wpbc_ajx_booking_listing.search_get_all_params() }); var this_el = jQuery('#' + params['ui_clicked_element_id']).get(0); wpbc_button_enable_loading_icon(this_el); } /** * Open URL in new tab - mainly it's used for open CSV link for downloaded exported bookings as CSV * * @param export_csv_url */ function wpbc_ajx_booking__export_csv_url__download(export_csv_url) { //var selected_booking_id_arr = wpbc_get_selected_row_id(); document.location.href = export_csv_url; // + '&selected_id=' + selected_booking_id_arr.join(','); // It's open additional dialog for asking opening ulr in new tab // window.open( export_csv_url, '_blank').focus(); } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1ib29raW5ncy9fb3V0L2Jvb2tpbmdzX19hY3Rpb25zLmpzIiwibmFtZXMiOlsiX3R5cGVvZiIsIm9iaiIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJ3cGJjX2FqeF9ib29raW5nX2FqYXhfYWN0aW9uX3JlcXVlc3QiLCJhY3Rpb25fcGFyYW0iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJjb25zb2xlIiwiZ3JvdXBDb2xsYXBzZWQiLCJsb2ciLCJ3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19zcGluX3N0YXJ0IiwiQXJyYXkiLCJpc0FycmF5Iiwid3BiY19nZXRfc2VsZWN0ZWRfbG9jYWxlIiwid3BiY19hanhfYm9va2luZ19saXN0aW5nIiwiZ2V0X3NlY3VyZV9wYXJhbSIsImFjdGlvbl9wb3N0X3BhcmFtcyIsImFjdGlvbiIsIm5vbmNlIiwid3BiY19hanhfdXNlcl9pZCIsIndwYmNfYWp4X2xvY2FsZSIsImFjdGlvbl9wYXJhbXMiLCJzZWFyY2hfcGFyYW1zIiwialF1ZXJ5IiwicG9zdCIsIndwYmNfdXJsX2FqYXgiLCJyZXNwb25zZV9kYXRhIiwidGV4dFN0YXR1cyIsImpxWEhSIiwiZ3JvdXBFbmQiLCJoaWRlIiwiZ2V0X290aGVyX3BhcmFtIiwiaHRtbCIsIndwYmNfYm9va2luZ19saXN0aW5nX3JlbG9hZF9idXR0b25fX3NwaW5fcGF1c2UiLCJ3cGJjX2FkbWluX3Nob3dfbWVzc2FnZSIsInJlcGxhY2UiLCJpc19yZWxvYWRfYWpheF9saXN0aW5nIiwid3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zIiwiY2xvc2VkX3RpbWVyIiwic2V0VGltZW91dCIsIndwYmNfYm9va2luZ19saXN0aW5nX3JlbG9hZF9idXR0b25fX2lzX3NwaW4iLCJkb2N1bWVudCIsImxvY2F0aW9uIiwiaHJlZiIsInJlbG9hZCIsIndwYmNfYWp4X2Jvb2tpbmdfX2V4cG9ydF9jc3ZfdXJsX19kb3dubG9hZCIsIndwYmNfYWp4X2Jvb2tpbmdfX2FjdHVhbF9saXN0aW5nX19zaG93Iiwid3BiY19idXR0b25fX3JlbW92ZV9zcGluIiwid3BiY19wb3B1cF9tb2RhbHNfX2hpZGUiLCJmYWlsIiwiZXJyb3JUaHJvd24iLCJ3aW5kb3ciLCJlcnJvcl9tZXNzYWdlIiwicmVzcG9uc2VUZXh0Iiwid3BiY19hanhfYm9va2luZ19zaG93X21lc3NhZ2UiLCJ3cGJjX215X21vZGFsIiwid3BiY19hanhfY2xpY2tfb25fZGF0ZXNfc2hvcnQiLCJzaG93Iiwid3BiY19hanhfY2xpY2tfb25fZGF0ZXNfd2lkZSIsIndwYmNfYWp4X2NsaWNrX29uX2RhdGVzX3RvZ2dsZSIsInRoaXNfZGF0ZSIsInBhcmVudHMiLCJmaW5kIiwidG9nZ2xlIiwid3BiY19hanhfYm9va2luZ19fdWlfZGVmaW5lX19sb2NhbGUiLCJlYWNoIiwiaW5kZXgiLCJzZWxlY3Rpb24iLCJhdHRyIiwicHJvcCIsImhhc0NsYXNzIiwiYm9va2luZ19sb2NhbGVfYnV0dG9uIiwiYWRkQ2xhc3MiLCJ3cGJjX3RpcHB5IiwiZ2V0IiwiX3RpcHB5Iiwic2V0Q29udGVudCIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2RlZmluZV9fcmVtYXJrIiwidGV4dF92YWwiLCJ2YWwiLCJyZW1hcmtfYnV0dG9uIiwic2V0UHJvcHMiLCJhbGxvd0hUTUwiLCJjb250ZW50Iiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfX3JlbWFyayIsImpxX2J1dHRvbiIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3Nob3dfX2NoYW5nZV9yZXNvdXJjZSIsImJvb2tpbmdfaWQiLCJyZXNvdXJjZV9pZCIsInRyaWdnZXIiLCJjYnIiLCJkZXRhY2giLCJhcHBlbmRUbyIsImlzIiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfc2F2ZV9fY2hhbmdlX3Jlc291cmNlIiwidGhpc19lbCIsImJvb2tpbmdfYWN0aW9uIiwiZWxfaWQiLCJ3cGJjX2J1dHRvbl9lbmFibGVfbG9hZGluZ19pY29uIiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfY2xvc2VfX2NoYW5nZV9yZXNvdXJjZSIsImNicmNlIiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfc2hvd19fZHVwbGljYXRlX2Jvb2tpbmciLCJ3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19zYXZlX19kdXBsaWNhdGVfYm9va2luZyIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX2Nsb3NlX19kdXBsaWNhdGVfYm9va2luZyIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3Nob3dfX3NldF9wYXltZW50X3N0YXR1cyIsImpTZWxlY3QiLCJzZWxlY3RlZF9wYXlfc3RhdHVzIiwiaXNOYU4iLCJwYXJzZUZsb2F0Iiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfc2F2ZV9fc2V0X3BheW1lbnRfc3RhdHVzIiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfY2xvc2VfX3NldF9wYXltZW50X3N0YXR1cyIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3NhdmVfX3NldF9ib29raW5nX2Nvc3QiLCJ3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19jbG9zZV9fc2V0X2Jvb2tpbmdfY29zdCIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX19zZW5kX3BheW1lbnRfcmVxdWVzdCIsIndwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX19pbXBvcnRfZ29vZ2xlX2NhbGVuZGFyIiwid3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfX2V4cG9ydF9jc3YiLCJwYXJhbXMiLCJzZWxlY3RlZF9ib29raW5nX2lkX2FyciIsIndwYmNfZ2V0X3NlbGVjdGVkX3Jvd19pZCIsImpvaW4iLCJzZWFyY2hfZ2V0X2FsbF9wYXJhbXMiLCJleHBvcnRfY3N2X3VybCJdLCJzb3VyY2VzIjpbImluY2x1ZGVzL3BhZ2UtYm9va2luZ3MvX3NyYy9ib29raW5nc19fYWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbi8qKlxyXG4gKiAgIEFqYXggICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vL3ZhciBpc190aGlzX2FjdGlvbiA9IGZhbHNlO1xyXG4vKipcclxuICogU2VuZCBBamF4IGFjdGlvbiByZXF1ZXN0LCAgbGlrZSBhcHByb3Zpbmcgb3IgY2FuY2VsbGF0aW9uXHJcbiAqXHJcbiAqIEBwYXJhbSBhY3Rpb25fcGFyYW1cclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfYWpheF9hY3Rpb25fcmVxdWVzdCggYWN0aW9uX3BhcmFtID0ge30gKXtcclxuXHJcbmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQoICdXUEJDX0FKWF9CT09LSU5HX0FDVElPTlMnICk7IGNvbnNvbGUubG9nKCAnID09IEFqYXggQWN0aW9ucyA6OiBQYXJhbXMgPT0gJywgYWN0aW9uX3BhcmFtICk7XHJcbi8vaXNfdGhpc19hY3Rpb24gPSB0cnVlO1xyXG5cclxuXHR3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19zcGluX3N0YXJ0KCk7XHJcblxyXG5cdC8vIEdldCByZWRlZmluZWQgTG9jYWxlLCAgaWYgYWN0aW9uIG9uIHNpbmdsZSBib29raW5nICFcclxuXHRpZiAoICAoIHVuZGVmaW5lZCAhPSBhY3Rpb25fcGFyYW1bICdib29raW5nX2lkJyBdICkgJiYgKCAhIEFycmF5LmlzQXJyYXkoIGFjdGlvbl9wYXJhbVsgJ2Jvb2tpbmdfaWQnIF0gKSApICl7XHRcdFx0XHQvLyBOb3QgYXJyYXlcclxuXHJcblx0XHRhY3Rpb25fcGFyYW1bICdsb2NhbGUnIF0gPSB3cGJjX2dldF9zZWxlY3RlZF9sb2NhbGUoIGFjdGlvbl9wYXJhbVsgJ2Jvb2tpbmdfaWQnIF0sIHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfc2VjdXJlX3BhcmFtKCAnbG9jYWxlJyApICk7XHJcblx0fVxyXG5cclxuXHR2YXIgYWN0aW9uX3Bvc3RfcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0YWN0aW9uICAgICAgICAgIDogJ1dQQkNfQUpYX0JPT0tJTkdfQUNUSU9OUycsXHJcblx0XHRcdFx0XHRcdFx0XHRub25jZSAgICAgICAgICAgOiB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X3NlY3VyZV9wYXJhbSggJ25vbmNlJyApLFxyXG5cdFx0XHRcdFx0XHRcdFx0d3BiY19hanhfdXNlcl9pZDogKCAoIHVuZGVmaW5lZCA9PSBhY3Rpb25fcGFyYW1bICd1c2VyX2lkJyBdICkgPyB3cGJjX2FqeF9ib29raW5nX2xpc3RpbmcuZ2V0X3NlY3VyZV9wYXJhbSggJ3VzZXJfaWQnICkgOiBhY3Rpb25fcGFyYW1bICd1c2VyX2lkJyBdICksXHJcblx0XHRcdFx0XHRcdFx0XHR3cGJjX2FqeF9sb2NhbGU6ICAoICggdW5kZWZpbmVkID09IGFjdGlvbl9wYXJhbVsgJ2xvY2FsZScgXSApICA/IHdwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZy5nZXRfc2VjdXJlX3BhcmFtKCAnbG9jYWxlJyApICA6IGFjdGlvbl9wYXJhbVsgJ2xvY2FsZScgXSApLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGFjdGlvbl9wYXJhbXNcdDogYWN0aW9uX3BhcmFtXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHJcblx0Ly8gSXQncyByZXF1aXJlZCBmb3IgQ1NWIGV4cG9ydCAtIGdldHRpbmcgdGhlIHNhbWUgbGlzdCAgb2YgYm9va2luZ3NcclxuXHRpZiAoIHR5cGVvZiBhY3Rpb25fcGFyYW0uc2VhcmNoX3BhcmFtcyAhPT0gJ3VuZGVmaW5lZCcgKXtcclxuXHRcdGFjdGlvbl9wb3N0X3BhcmFtc1sgJ3NlYXJjaF9wYXJhbXMnIF0gPSBhY3Rpb25fcGFyYW0uc2VhcmNoX3BhcmFtcztcclxuXHRcdGRlbGV0ZSBhY3Rpb25fcG9zdF9wYXJhbXMuYWN0aW9uX3BhcmFtcy5zZWFyY2hfcGFyYW1zO1xyXG5cdH1cclxuXHJcblx0Ly8gU3RhcnQgQWpheFxyXG5cdGpRdWVyeS5wb3N0KCB3cGJjX3VybF9hamF4ICxcclxuXHJcblx0XHRcdFx0YWN0aW9uX3Bvc3RfcGFyYW1zICxcclxuXHJcblx0XHRcdFx0LyoqXHJcblx0XHRcdFx0ICogUyB1IGMgYyBlIHMgc1xyXG5cdFx0XHRcdCAqXHJcblx0XHRcdFx0ICogQHBhcmFtIHJlc3BvbnNlX2RhdGFcdFx0LVx0aXRzIG9iamVjdCByZXR1cm5lZCBmcm9tICBBamF4IC0gY2xhc3MtbGl2ZS1zZWFyY2cucGhwXHJcblx0XHRcdFx0ICogQHBhcmFtIHRleHRTdGF0dXNcdFx0LVx0J3N1Y2Nlc3MnXHJcblx0XHRcdFx0ICogQHBhcmFtIGpxWEhSXHRcdFx0XHQtXHRPYmplY3RcclxuXHRcdFx0XHQgKi9cclxuXHRcdFx0XHRmdW5jdGlvbiAoIHJlc3BvbnNlX2RhdGEsIHRleHRTdGF0dXMsIGpxWEhSICkge1xyXG5cclxuY29uc29sZS5sb2coICcgPT0gQWpheCBBY3Rpb25zIDo6IFJlc3BvbnNlIFdQQkNfQUpYX0JPT0tJTkdfQUNUSU9OUyA9PSAnLCByZXNwb25zZV9kYXRhICk7IGNvbnNvbGUuZ3JvdXBFbmQoKTtcclxuXHJcblx0XHRcdFx0XHQvLyBQcm9iYWJseSBFcnJvclxyXG5cdFx0XHRcdFx0aWYgKCAodHlwZW9mIHJlc3BvbnNlX2RhdGEgIT09ICdvYmplY3QnKSB8fCAocmVzcG9uc2VfZGF0YSA9PT0gbnVsbCkgKXtcclxuXHRcdFx0XHRcdFx0alF1ZXJ5KCAnLndwYmNfYWp4X3VuZGVyX3Rvb2xiYXJfcm93JyApLmhpZGUoKTtcdCBcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvL0ZpeEluOiA5LjYuMS41XHJcblx0XHRcdFx0XHRcdGpRdWVyeSggd3BiY19hanhfYm9va2luZ19saXN0aW5nLmdldF9vdGhlcl9wYXJhbSggJ2xpc3RpbmdfY29udGFpbmVyJyApICkuaHRtbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8ZGl2IGNsYXNzPVwid3BiYy1zZXR0aW5ncy1ub3RpY2Ugbm90aWNlLXdhcm5pbmdcIiBzdHlsZT1cInRleHQtYWxpZ246bGVmdFwiPicgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXNwb25zZV9kYXRhICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCc8L2Rpdj4nXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19zcGluX3BhdXNlKCk7XHJcblxyXG5cdFx0XHRcdFx0d3BiY19hZG1pbl9zaG93X21lc3NhZ2UoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgcmVzcG9uc2VfZGF0YVsgJ2FqeF9hZnRlcl9hY3Rpb25fbWVzc2FnZScgXS5yZXBsYWNlKCAvXFxuL2csIFwiPGJyIC8+XCIgKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICggJzEnID09IHJlc3BvbnNlX2RhdGFbICdhanhfYWZ0ZXJfYWN0aW9uX3Jlc3VsdCcgXSApID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICggKCAndW5kZWZpbmVkJyA9PT0gdHlwZW9mKHJlc3BvbnNlX2RhdGFbICdhanhfYWZ0ZXJfYWN0aW9uX3Jlc3VsdF9hbGxfcGFyYW1zX2FycicgXVsgJ2FmdGVyX2FjdGlvbl9yZXN1bHRfZGVsYXknIF0pIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IDEwMDAwXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiByZXNwb25zZV9kYXRhWyAnYWp4X2FmdGVyX2FjdGlvbl9yZXN1bHRfYWxsX3BhcmFtc19hcnInIF1bICdhZnRlcl9hY3Rpb25fcmVzdWx0X2RlbGF5JyBdIClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdFx0Ly8gU3VjY2VzcyByZXNwb25zZVxyXG5cdFx0XHRcdFx0aWYgKCAnMScgPT0gcmVzcG9uc2VfZGF0YVsgJ2FqeF9hZnRlcl9hY3Rpb25fcmVzdWx0JyBdICl7XHJcblxyXG5cdFx0XHRcdFx0XHR2YXIgaXNfcmVsb2FkX2FqYXhfbGlzdGluZyA9IHRydWU7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBBZnRlciBHb29nbGUgQ2FsZW5kYXIgaW1wb3J0IHNob3cgaW1wb3J0ZWQgYm9va2luZ3MgYW5kIHJlbG9hZCB0aGUgcGFnZSBmb3IgdG9vbGJhciBwYXJhbWV0ZXJzIHVwZGF0ZVxyXG5cdFx0XHRcdFx0XHRpZiAoIGZhbHNlICE9PSByZXNwb25zZV9kYXRhWyAnYWp4X2FmdGVyX2FjdGlvbl9yZXN1bHRfYWxsX3BhcmFtc19hcnInIF1bICduZXdfbGlzdGluZ19wYXJhbXMnIF0gKXtcclxuXHJcblx0XHRcdFx0XHRcdFx0d3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zKCByZXNwb25zZV9kYXRhWyAnYWp4X2FmdGVyX2FjdGlvbl9yZXN1bHRfYWxsX3BhcmFtc19hcnInIF1bICduZXdfbGlzdGluZ19wYXJhbXMnIF0gKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0dmFyIGNsb3NlZF90aW1lciA9IHNldFRpbWVvdXQoIGZ1bmN0aW9uICgpe1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKCB3cGJjX2Jvb2tpbmdfbGlzdGluZ19yZWxvYWRfYnV0dG9uX19pc19zcGluKCkgKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIHVuZGVmaW5lZCAhPSByZXNwb25zZV9kYXRhWyAnYWp4X2FmdGVyX2FjdGlvbl9yZXN1bHRfYWxsX3BhcmFtc19hcnInIF1bICduZXdfbGlzdGluZ19wYXJhbXMnIF1bICdyZWxvYWRfdXJsX3BhcmFtcycgXSApe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHJlc3BvbnNlX2RhdGFbICdhanhfYWZ0ZXJfYWN0aW9uX3Jlc3VsdF9hbGxfcGFyYW1zX2FycicgXVsgJ25ld19saXN0aW5nX3BhcmFtcycgXVsgJ3JlbG9hZF91cmxfcGFyYW1zJyBdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAyMDAwICk7XHJcblx0XHRcdFx0XHRcdFx0aXNfcmVsb2FkX2FqYXhfbGlzdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBTdGFydCBkb3dubG9hZCBleHBvcnRlZCBDU1YgZmlsZVxyXG5cdFx0XHRcdFx0XHRpZiAoIHVuZGVmaW5lZCAhPSByZXNwb25zZV9kYXRhWyAnYWp4X2FmdGVyX2FjdGlvbl9yZXN1bHRfYWxsX3BhcmFtc19hcnInIF1bICdleHBvcnRfY3N2X3VybCcgXSApe1xyXG5cdFx0XHRcdFx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfX2V4cG9ydF9jc3ZfdXJsX19kb3dubG9hZCggcmVzcG9uc2VfZGF0YVsgJ2FqeF9hZnRlcl9hY3Rpb25fcmVzdWx0X2FsbF9wYXJhbXNfYXJyJyBdWyAnZXhwb3J0X2Nzdl91cmwnIF0gKTtcclxuXHRcdFx0XHRcdFx0XHRpc19yZWxvYWRfYWpheF9saXN0aW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGlmICggaXNfcmVsb2FkX2FqYXhfbGlzdGluZyApe1xyXG5cdFx0XHRcdFx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfX2FjdHVhbF9saXN0aW5nX19zaG93KCk7XHQvL1x0U2VuZGluZyBBamF4IFJlcXVlc3RcdC1cdHdpdGggcGFyYW1ldGVycyB0aGF0ICB3ZSBlYXJseSAgZGVmaW5lZCBpbiBcIndwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZ1wiIE9iai5cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvLyBSZW1vdmUgc3BpbiBpY29uIGZyb20gIGJ1dHRvbiBhbmQgRW5hYmxlIHRoaXMgYnV0dG9uLlxyXG5cdFx0XHRcdFx0d3BiY19idXR0b25fX3JlbW92ZV9zcGluKCByZXNwb25zZV9kYXRhWyAnYWp4X2NsZWFuZWRfcGFyYW1zJyBdWyAndWlfY2xpY2tlZF9lbGVtZW50X2lkJyBdIClcclxuXHJcblx0XHRcdFx0XHQvLyBIaWRlIG1vZGFsc1xyXG5cdFx0XHRcdFx0d3BiY19wb3B1cF9tb2RhbHNfX2hpZGUoKTtcclxuXHJcblx0XHRcdFx0XHRqUXVlcnkoICcjYWpheF9yZXNwb25kJyApLmh0bWwoIHJlc3BvbnNlX2RhdGEgKTtcdFx0Ly8gRm9yIGFiaWxpdHkgdG8gc2hvdyByZXNwb25zZSwgYWRkIHN1Y2ggRElWIGVsZW1lbnQgdG8gcGFnZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0ICApLmZhaWwoIGZ1bmN0aW9uICgganFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duICkgeyAgICBpZiAoIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZyApeyBjb25zb2xlLmxvZyggJ0FqYXhfRXJyb3InLCBqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24gKTsgfVxyXG5cdFx0XHRcdFx0alF1ZXJ5KCAnLndwYmNfYWp4X3VuZGVyX3Rvb2xiYXJfcm93JyApLmhpZGUoKTtcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly9GaXhJbjogOS42LjEuNVxyXG5cdFx0XHRcdFx0dmFyIGVycm9yX21lc3NhZ2UgPSAnPHN0cm9uZz4nICsgJ0Vycm9yIScgKyAnPC9zdHJvbmc+ICcgKyBlcnJvclRocm93biA7XHJcblx0XHRcdFx0XHRpZiAoIGpxWEhSLnJlc3BvbnNlVGV4dCApe1xyXG5cdFx0XHRcdFx0XHRlcnJvcl9tZXNzYWdlICs9IGpxWEhSLnJlc3BvbnNlVGV4dDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGVycm9yX21lc3NhZ2UgPSBlcnJvcl9tZXNzYWdlLnJlcGxhY2UoIC9cXG4vZywgXCI8YnIgLz5cIiApO1xyXG5cclxuXHRcdFx0XHRcdHdwYmNfYWp4X2Jvb2tpbmdfc2hvd19tZXNzYWdlKCBlcnJvcl9tZXNzYWdlICk7XHJcblx0XHRcdCAgfSlcclxuXHQgICAgICAgICAgLy8gLmRvbmUoICAgZnVuY3Rpb24gKCBkYXRhLCB0ZXh0U3RhdHVzLCBqcVhIUiApIHsgICBpZiAoIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZyApeyBjb25zb2xlLmxvZyggJ3NlY29uZCBzdWNjZXNzJywgZGF0YSwgdGV4dFN0YXR1cywganFYSFIgKTsgfSAgICB9KVxyXG5cdFx0XHQgIC8vIC5hbHdheXMoIGZ1bmN0aW9uICggZGF0YV9qcVhIUiwgdGV4dFN0YXR1cywganFYSFJfZXJyb3JUaHJvd24gKSB7ICAgaWYgKCB3aW5kb3cuY29uc29sZSAmJiB3aW5kb3cuY29uc29sZS5sb2cgKXsgY29uc29sZS5sb2coICdhbHdheXMgZmluaXNoZWQnLCBkYXRhX2pxWEhSLCB0ZXh0U3RhdHVzLCBqcVhIUl9lcnJvclRocm93biApOyB9ICAgICB9KVxyXG5cdFx0XHQgIDsgIC8vIEVuZCBBamF4XHJcbn1cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEhpZGUgYWxsIG9wZW4gbW9kYWwgcG9wdXBzIHdpbmRvd3NcclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfcG9wdXBfbW9kYWxzX19oaWRlKCl7XHJcblxyXG5cdC8vIEhpZGUgbW9kYWxzXHJcblx0aWYgKCAnZnVuY3Rpb24nID09PSB0eXBlb2YgKGpRdWVyeSggJy53cGJjX3BvcHVwX21vZGFsJyApLndwYmNfbXlfbW9kYWwpICl7XHJcblx0XHRqUXVlcnkoICcud3BiY19wb3B1cF9tb2RhbCcgKS53cGJjX215X21vZGFsKCAnaGlkZScgKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogICBEYXRlcyAgU2hvcnQgPC0+IFdpZGUgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2NsaWNrX29uX2RhdGVzX3Nob3J0KCl7XHJcblx0alF1ZXJ5KCAnI2Jvb2tpbmdfZGF0ZXNfc21hbGwsLmJvb2tpbmdfZGF0ZXNfZnVsbCcgKS5oaWRlKCk7XHJcblx0alF1ZXJ5KCAnI2Jvb2tpbmdfZGF0ZXNfZnVsbCwuYm9va2luZ19kYXRlc19zbWFsbCcgKS5zaG93KCk7XHJcblx0d3BiY19hanhfYm9va2luZ19zZW5kX3NlYXJjaF9yZXF1ZXN0X3dpdGhfcGFyYW1zKCB7J3VpX3Vzcl9fZGF0ZXNfc2hvcnRfd2lkZSc6ICdzaG9ydCd9ICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2NsaWNrX29uX2RhdGVzX3dpZGUoKXtcclxuXHRqUXVlcnkoICcjYm9va2luZ19kYXRlc19mdWxsLC5ib29raW5nX2RhdGVzX3NtYWxsJyApLmhpZGUoKTtcclxuXHRqUXVlcnkoICcjYm9va2luZ19kYXRlc19zbWFsbCwuYm9va2luZ19kYXRlc19mdWxsJyApLnNob3coKTtcclxuXHR3cGJjX2FqeF9ib29raW5nX3NlbmRfc2VhcmNoX3JlcXVlc3Rfd2l0aF9wYXJhbXMoIHsndWlfdXNyX19kYXRlc19zaG9ydF93aWRlJzogJ3dpZGUnfSApO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9jbGlja19vbl9kYXRlc190b2dnbGUodGhpc19kYXRlKXtcclxuXHJcblx0alF1ZXJ5KCB0aGlzX2RhdGUgKS5wYXJlbnRzKCAnLndwYmNfY29sX2RhdGVzJyApLmZpbmQoICcuYm9va2luZ19kYXRlc19zbWFsbCcgKS50b2dnbGUoKTtcclxuXHRqUXVlcnkoIHRoaXNfZGF0ZSApLnBhcmVudHMoICcud3BiY19jb2xfZGF0ZXMnICkuZmluZCggJy5ib29raW5nX2RhdGVzX2Z1bGwnICkudG9nZ2xlKCk7XHJcblxyXG5cdC8qXHJcblx0dmFyIHZpc2libGVfc2VjdGlvbiA9IGpRdWVyeSggdGhpc19kYXRlICkucGFyZW50cyggJy5ib29raW5nX2RhdGVzX2V4cGFuZF9zZWN0aW9uJyApO1xyXG5cdHZpc2libGVfc2VjdGlvbi5oaWRlKCk7XHJcblx0aWYgKCB2aXNpYmxlX3NlY3Rpb24uaGFzQ2xhc3MoICdib29raW5nX2RhdGVzX2Z1bGwnICkgKXtcclxuXHRcdHZpc2libGVfc2VjdGlvbi5wYXJlbnRzKCAnLndwYmNfY29sX2RhdGVzJyApLmZpbmQoICcuYm9va2luZ19kYXRlc19zbWFsbCcgKS5zaG93KCk7XHJcblx0fSBlbHNlIHtcclxuXHRcdHZpc2libGVfc2VjdGlvbi5wYXJlbnRzKCAnLndwYmNfY29sX2RhdGVzJyApLmZpbmQoICcuYm9va2luZ19kYXRlc19mdWxsJyApLnNob3coKTtcclxuXHR9Ki9cclxuXHRjb25zb2xlLmxvZyggJ3dwYmNfYWp4X2NsaWNrX29uX2RhdGVzX3RvZ2dsZScsIHRoaXNfZGF0ZSApO1xyXG59XHJcblxyXG4vKipcclxuICogICBMb2NhbGUgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qKlxyXG4gKiBcdFNlbGVjdCBvcHRpb25zIGluIHNlbGVjdCBib3hlcyBiYXNlZCBvbiBhdHRyaWJ1dGUgXCJ2YWx1ZV9vZl9zZWxlY3RlZF9vcHRpb25cIiBhbmQgUkVEIGNvbG9yIGFuZCBoaW50IGZvciBMT0NBTEUgYnV0dG9uICAgLS0gIEl0J3MgY2FsbGVkIGZyb20gXHR3cGJjX2FqeF9ib29raW5nX2RlZmluZV91aV9ob29rcygpICBcdGVhY2ggIHRpbWUgYWZ0ZXIgTGlzdGluZyBsb2FkaW5nLlxyXG4gKi9cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19fdWlfZGVmaW5lX19sb2NhbGUoKXtcclxuXHJcblx0alF1ZXJ5KCAnLndwYmNfbGlzdGluZ19jb250YWluZXIgc2VsZWN0JyApLmVhY2goIGZ1bmN0aW9uICggaW5kZXggKXtcclxuXHJcblx0XHR2YXIgc2VsZWN0aW9uID0galF1ZXJ5KCB0aGlzICkuYXR0ciggXCJ2YWx1ZV9vZl9zZWxlY3RlZF9vcHRpb25cIiApO1x0XHRcdC8vIERlZmluZSBzZWxlY3RlZCBzZWxlY3QgYm94ZXNcclxuXHJcblx0XHRpZiAoIHVuZGVmaW5lZCAhPT0gc2VsZWN0aW9uICl7XHJcblx0XHRcdGpRdWVyeSggdGhpcyApLmZpbmQoICdvcHRpb25bdmFsdWU9XCInICsgc2VsZWN0aW9uICsgJ1wiXScgKS5wcm9wKCAnc2VsZWN0ZWQnLCB0cnVlICk7XHJcblxyXG5cdFx0XHRpZiAoICgnJyAhPSBzZWxlY3Rpb24pICYmIChqUXVlcnkoIHRoaXMgKS5oYXNDbGFzcyggJ3NldF9ib29raW5nX2xvY2FsZV9zZWxlY3Rib3gnICkpICl7XHRcdFx0XHRcdFx0XHRcdC8vIExvY2FsZVxyXG5cclxuXHRcdFx0XHR2YXIgYm9va2luZ19sb2NhbGVfYnV0dG9uID0galF1ZXJ5KCB0aGlzICkucGFyZW50cyggJy51aV9lbGVtZW50X2xvY2FsZScgKS5maW5kKCAnLnNldF9ib29raW5nX2xvY2FsZV9idXR0b24nIClcclxuXHJcblx0XHRcdFx0Ly9ib29raW5nX2xvY2FsZV9idXR0b24uY3NzKCAnY29sb3InLCAnI2RiNDgwMCcgKTtcdFx0Ly8gU2V0IGJ1dHRvbiAgcmVkXHJcblx0XHRcdFx0Ym9va2luZ19sb2NhbGVfYnV0dG9uLmFkZENsYXNzKCAnd3BiY191aV9yZWQnICk7XHRcdC8vIFNldCBidXR0b24gIHJlZFxyXG5cdFx0XHRcdCBpZiAoICdmdW5jdGlvbicgPT09IHR5cGVvZiggd3BiY190aXBweSApICl7XHJcblx0XHRcdFx0XHRib29raW5nX2xvY2FsZV9idXR0b24uZ2V0KDApLl90aXBweS5zZXRDb250ZW50KCBzZWxlY3Rpb24gKTtcclxuXHRcdFx0XHQgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSApO1xyXG59XHJcblxyXG4vKipcclxuICogICBSZW1hcmsgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qKlxyXG4gKiBEZWZpbmUgY29udGVudCBvZiByZW1hcmsgXCJib29raW5nIG5vdGVcIiBidXR0b24gYW5kIHRleHRhcmVhLiAgLS0gSXQncyBjYWxsZWQgZnJvbSBcdHdwYmNfYWp4X2Jvb2tpbmdfZGVmaW5lX3VpX2hvb2tzKCkgIFx0ZWFjaCAgdGltZSBhZnRlciBMaXN0aW5nIGxvYWRpbmcuXHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9kZWZpbmVfX3JlbWFyaygpe1xyXG5cclxuXHRqUXVlcnkoICcud3BiY19saXN0aW5nX2NvbnRhaW5lciAudWlfcmVtYXJrX3NlY3Rpb24gdGV4dGFyZWEnICkuZWFjaCggZnVuY3Rpb24gKCBpbmRleCApe1xyXG5cdFx0dmFyIHRleHRfdmFsID0galF1ZXJ5KCB0aGlzICkudmFsKCk7XHJcblx0XHRpZiAoICh1bmRlZmluZWQgIT09IHRleHRfdmFsKSAmJiAoJycgIT0gdGV4dF92YWwpICl7XHJcblxyXG5cdFx0XHR2YXIgcmVtYXJrX2J1dHRvbiA9IGpRdWVyeSggdGhpcyApLnBhcmVudHMoICcudWlfZ3JvdXAnICkuZmluZCggJy5zZXRfYm9va2luZ19ub3RlX2J1dHRvbicgKTtcclxuXHJcblx0XHRcdGlmICggcmVtYXJrX2J1dHRvbi5sZW5ndGggPiAwICl7XHJcblxyXG5cdFx0XHRcdHJlbWFya19idXR0b24uYWRkQ2xhc3MoICd3cGJjX3VpX3JlZCcgKTtcdFx0Ly8gU2V0IGJ1dHRvbiAgcmVkXHJcblx0XHRcdFx0aWYgKCAnZnVuY3Rpb24nID09PSB0eXBlb2YgKHdwYmNfdGlwcHkpICl7XHJcblx0XHRcdFx0XHQvL3JlbWFya19idXR0b24uZ2V0KCAwICkuX3RpcHB5LmFsbG93SFRNTCA9IHRydWU7XHJcblx0XHRcdFx0XHQvL3JlbWFya19idXR0b24uZ2V0KCAwICkuX3RpcHB5LnNldENvbnRlbnQoIHRleHRfdmFsLnJlcGxhY2UoL1tcXG5cXHJdL2csICc8YnI+JykgKTtcclxuXHJcblx0XHRcdFx0XHRyZW1hcmtfYnV0dG9uLmdldCggMCApLl90aXBweS5zZXRQcm9wcygge1xyXG5cdFx0XHRcdFx0XHRhbGxvd0hUTUw6IHRydWUsXHJcblx0XHRcdFx0XHRcdGNvbnRlbnQgIDogdGV4dF92YWwucmVwbGFjZSggL1tcXG5cXHJdL2csICc8YnI+JyApXHJcblx0XHRcdFx0XHR9ICk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSApO1xyXG59XHJcblxyXG4vKipcclxuICogQWN0aW9ucyAsd2hlbiB3ZSBjbGljayBvbiBcIlJlbWFya1wiIGJ1dHRvbi5cclxuICpcclxuICogQHBhcmFtIGpxX2J1dHRvbiAgLVx0dGhpcyBqUXVlcnkgYnV0dG9uICBvYmplY3RcclxuICovXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX19yZW1hcmsoIGpxX2J1dHRvbiApe1xyXG5cclxuXHRqcV9idXR0b24ucGFyZW50cygnLnVpX2dyb3VwJykuZmluZCgnLnVpX3JlbWFya19zZWN0aW9uJykudG9nZ2xlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogICBDaGFuZ2UgYm9va2luZyByZXNvdXJjZSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3Nob3dfX2NoYW5nZV9yZXNvdXJjZSggYm9va2luZ19pZCwgcmVzb3VyY2VfaWQgKXtcclxuXHJcblx0Ly8gRGVmaW5lIElEIG9mIGJvb2tpbmcgdG8gaGlkZGVuIGlucHV0XHJcblx0alF1ZXJ5KCAnI2NoYW5nZV9ib29raW5nX3Jlc291cmNlX19ib29raW5nX2lkJyApLnZhbCggYm9va2luZ19pZCApO1xyXG5cclxuXHQvLyBTZWxlY3QgYm9va2luZyByZXNvdXJjZSAgdGhhdCBiZWxvbmcgdG8gIGJvb2tpbmdcclxuXHRqUXVlcnkoICcjY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfX3Jlc291cmNlX3NlbGVjdCcgKS52YWwoIHJlc291cmNlX2lkICkudHJpZ2dlciggJ2NoYW5nZScgKTtcclxuXHR2YXIgY2JyO1xyXG5cclxuXHQvLyBHZXQgUmVzb3VyY2Ugc2VjdGlvblxyXG5cdGNiciA9IGpRdWVyeSggXCIjY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfX3NlY3Rpb25cIiApLmRldGFjaCgpO1xyXG5cclxuXHQvLyBBcHBlbmQgaXQgdG8gYm9va2luZyBST1dcclxuXHRjYnIuYXBwZW5kVG8oIGpRdWVyeSggXCIjdWlfX2NoYW5nZV9ib29raW5nX3Jlc291cmNlX19zZWN0aW9uX2luX2Jvb2tpbmdfXCIgKyBib29raW5nX2lkICkgKTtcclxuXHRjYnIgPSBudWxsO1xyXG5cclxuXHQvLyBIaWRlIHNlY3Rpb25zIG9mIFwiQ2hhbmdlIGJvb2tpbmcgcmVzb3VyY2VcIiBpbiBhbGwgb3RoZXIgYm9va2luZ3MgUk9Xc1xyXG5cdC8valF1ZXJ5KCBcIi51aV9fY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfX3NlY3Rpb25faW5fYm9va2luZ1wiICkuaGlkZSgpO1xyXG5cdGlmICggISBqUXVlcnkoIFwiI3VpX19jaGFuZ2VfYm9va2luZ19yZXNvdXJjZV9fc2VjdGlvbl9pbl9ib29raW5nX1wiICsgYm9va2luZ19pZCApLmlzKCc6dmlzaWJsZScpICl7XHJcblx0XHRqUXVlcnkoIFwiLnVpX191bmRlcl9hY3Rpb25zX3Jvd19fc2VjdGlvbl9pbl9ib29raW5nXCIgKS5oaWRlKCk7XHJcblx0fVxyXG5cclxuXHQvLyBTaG93IG9ubHkgXCJjaGFuZ2UgYm9va2luZyByZXNvdXJjZVwiIHNlY3Rpb24gIGZvciBjdXJyZW50IGJvb2tpbmdcclxuXHRqUXVlcnkoIFwiI3VpX19jaGFuZ2VfYm9va2luZ19yZXNvdXJjZV9fc2VjdGlvbl9pbl9ib29raW5nX1wiICsgYm9va2luZ19pZCApLnRvZ2dsZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19zYXZlX19jaGFuZ2VfcmVzb3VyY2UoIHRoaXNfZWwsIGJvb2tpbmdfYWN0aW9uLCBlbF9pZCApe1xyXG5cclxuXHR3cGJjX2FqeF9ib29raW5nX2FqYXhfYWN0aW9uX3JlcXVlc3QoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2FjdGlvbicgICAgICAgOiBib29raW5nX2FjdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2lkJyAgICAgICAgICAgOiBqUXVlcnkoICcjY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VfX2Jvb2tpbmdfaWQnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnc2VsZWN0ZWRfcmVzb3VyY2VfaWQnIDogalF1ZXJ5KCAnI2NoYW5nZV9ib29raW5nX3Jlc291cmNlX19yZXNvdXJjZV9zZWxlY3QnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfY2xpY2tlZF9lbGVtZW50X2lkJzogZWxfaWRcclxuXHR9ICk7XHJcblxyXG5cdHdwYmNfYnV0dG9uX2VuYWJsZV9sb2FkaW5nX2ljb24oIHRoaXNfZWwgKTtcclxuXHJcblx0Ly8gd3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfY2xvc2VfX2NoYW5nZV9yZXNvdXJjZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19jbG9zZV9fY2hhbmdlX3Jlc291cmNlKCl7XHJcblxyXG5cdHZhciBjYnJjZTtcclxuXHJcblx0Ly8gR2V0IFJlc291cmNlIHNlY3Rpb25cclxuXHRjYnJjZSA9IGpRdWVyeShcIiNjaGFuZ2VfYm9va2luZ19yZXNvdXJjZV9fc2VjdGlvblwiKS5kZXRhY2goKTtcclxuXHJcblx0Ly8gQXBwZW5kIGl0IHRvIGhpZGRlbiBIVE1MIHRlbXBsYXRlIHNlY3Rpb24gIGF0ICB0aGUgYm90dG9tICBvZiB0aGUgcGFnZVxyXG5cdGNicmNlLmFwcGVuZFRvKGpRdWVyeShcIiN3cGJjX2hpZGRlbl90ZW1wbGF0ZV9fY2hhbmdlX2Jvb2tpbmdfcmVzb3VyY2VcIikpO1xyXG5cdGNicmNlID0gbnVsbDtcclxuXHJcblx0Ly8gSGlkZSBhbGwgY2hhbmdlIGJvb2tpbmcgcmVzb3VyY2VzIHNlY3Rpb25zXHJcblx0alF1ZXJ5KFwiLnVpX19jaGFuZ2VfYm9va2luZ19yZXNvdXJjZV9fc2VjdGlvbl9pbl9ib29raW5nXCIpLmhpZGUoKTtcclxufVxyXG5cclxuLyoqXHJcbiAqICAgRHVwbGljYXRlIGJvb2tpbmcgaW4gb3RoZXIgcmVzb3VyY2UgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19zaG93X19kdXBsaWNhdGVfYm9va2luZyggYm9va2luZ19pZCwgcmVzb3VyY2VfaWQgKXtcclxuXHJcblx0Ly8gRGVmaW5lIElEIG9mIGJvb2tpbmcgdG8gaGlkZGVuIGlucHV0XHJcblx0alF1ZXJ5KCAnI2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlX19ib29raW5nX2lkJyApLnZhbCggYm9va2luZ19pZCApO1xyXG5cclxuXHQvLyBTZWxlY3QgYm9va2luZyByZXNvdXJjZSAgdGhhdCBiZWxvbmcgdG8gIGJvb2tpbmdcclxuXHRqUXVlcnkoICcjZHVwbGljYXRlX2Jvb2tpbmdfdG9fb3RoZXJfcmVzb3VyY2VfX3Jlc291cmNlX3NlbGVjdCcgKS52YWwoIHJlc291cmNlX2lkICkudHJpZ2dlciggJ2NoYW5nZScgKTtcclxuXHR2YXIgY2JyO1xyXG5cclxuXHQvLyBHZXQgUmVzb3VyY2Ugc2VjdGlvblxyXG5cdGNiciA9IGpRdWVyeSggXCIjZHVwbGljYXRlX2Jvb2tpbmdfdG9fb3RoZXJfcmVzb3VyY2VfX3NlY3Rpb25cIiApLmRldGFjaCgpO1xyXG5cclxuXHQvLyBBcHBlbmQgaXQgdG8gYm9va2luZyBST1dcclxuXHRjYnIuYXBwZW5kVG8oIGpRdWVyeSggXCIjdWlfX2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlX19zZWN0aW9uX2luX2Jvb2tpbmdfXCIgKyBib29raW5nX2lkICkgKTtcclxuXHRjYnIgPSBudWxsO1xyXG5cclxuXHQvLyBIaWRlIHNlY3Rpb25zIG9mIFwiRHVwbGljYXRlIGJvb2tpbmdcIiBpbiBhbGwgb3RoZXIgYm9va2luZ3MgUk9Xc1xyXG5cdGlmICggISBqUXVlcnkoIFwiI3VpX19kdXBsaWNhdGVfYm9va2luZ190b19vdGhlcl9yZXNvdXJjZV9fc2VjdGlvbl9pbl9ib29raW5nX1wiICsgYm9va2luZ19pZCApLmlzKCc6dmlzaWJsZScpICl7XHJcblx0XHRqUXVlcnkoIFwiLnVpX191bmRlcl9hY3Rpb25zX3Jvd19fc2VjdGlvbl9pbl9ib29raW5nXCIgKS5oaWRlKCk7XHJcblx0fVxyXG5cclxuXHQvLyBTaG93IG9ubHkgXCJEdXBsaWNhdGUgYm9va2luZ1wiIHNlY3Rpb24gIGZvciBjdXJyZW50IGJvb2tpbmcgUk9XXHJcblx0alF1ZXJ5KCBcIiN1aV9fZHVwbGljYXRlX2Jvb2tpbmdfdG9fb3RoZXJfcmVzb3VyY2VfX3NlY3Rpb25faW5fYm9va2luZ19cIiArIGJvb2tpbmdfaWQgKS50b2dnbGUoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfc2F2ZV9fZHVwbGljYXRlX2Jvb2tpbmcoIHRoaXNfZWwsIGJvb2tpbmdfYWN0aW9uLCBlbF9pZCApe1xyXG5cclxuXHR3cGJjX2FqeF9ib29raW5nX2FqYXhfYWN0aW9uX3JlcXVlc3QoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2FjdGlvbicgICAgICAgOiBib29raW5nX2FjdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2lkJyAgICAgICAgICAgOiBqUXVlcnkoICcjZHVwbGljYXRlX2Jvb2tpbmdfdG9fb3RoZXJfcmVzb3VyY2VfX2Jvb2tpbmdfaWQnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnc2VsZWN0ZWRfcmVzb3VyY2VfaWQnIDogalF1ZXJ5KCAnI2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlX19yZXNvdXJjZV9zZWxlY3QnICkudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfY2xpY2tlZF9lbGVtZW50X2lkJzogZWxfaWRcclxuXHR9ICk7XHJcblxyXG5cdHdwYmNfYnV0dG9uX2VuYWJsZV9sb2FkaW5nX2ljb24oIHRoaXNfZWwgKTtcclxuXHJcblx0Ly8gd3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfY2xvc2VfX2NoYW5nZV9yZXNvdXJjZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19jbG9zZV9fZHVwbGljYXRlX2Jvb2tpbmcoKXtcclxuXHJcblx0dmFyIGNicmNlO1xyXG5cclxuXHQvLyBHZXQgUmVzb3VyY2Ugc2VjdGlvblxyXG5cdGNicmNlID0galF1ZXJ5KFwiI2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlX19zZWN0aW9uXCIpLmRldGFjaCgpO1xyXG5cclxuXHQvLyBBcHBlbmQgaXQgdG8gaGlkZGVuIEhUTUwgdGVtcGxhdGUgc2VjdGlvbiAgYXQgIHRoZSBib3R0b20gIG9mIHRoZSBwYWdlXHJcblx0Y2JyY2UuYXBwZW5kVG8oalF1ZXJ5KFwiI3dwYmNfaGlkZGVuX3RlbXBsYXRlX19kdXBsaWNhdGVfYm9va2luZ190b19vdGhlcl9yZXNvdXJjZVwiKSk7XHJcblx0Y2JyY2UgPSBudWxsO1xyXG5cclxuXHQvLyBIaWRlIGFsbCBjaGFuZ2UgYm9va2luZyByZXNvdXJjZXMgc2VjdGlvbnNcclxuXHRqUXVlcnkoXCIudWlfX2R1cGxpY2F0ZV9ib29raW5nX3RvX290aGVyX3Jlc291cmNlX19zZWN0aW9uX2luX2Jvb2tpbmdcIikuaGlkZSgpO1xyXG59XHJcblxyXG4vKipcclxuICogICBDaGFuZ2UgcGF5bWVudCBzdGF0dXMgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3Nob3dfX3NldF9wYXltZW50X3N0YXR1cyggYm9va2luZ19pZCApe1xyXG5cclxuXHR2YXIgalNlbGVjdCA9IGpRdWVyeSggJyN1aV9fc2V0X3BheW1lbnRfc3RhdHVzX19zZWN0aW9uX2luX2Jvb2tpbmdfJyArIGJvb2tpbmdfaWQgKS5maW5kKCAnc2VsZWN0JyApXHJcblxyXG5cdHZhciBzZWxlY3RlZF9wYXlfc3RhdHVzID0galNlbGVjdC5hdHRyKCBcImFqeC1zZWxlY3RlZC12YWx1ZVwiICk7XHJcblxyXG5cdC8vIElzIGl0IGZsb2F0IC0gdGhlbiAgaXQncyB1bmtub3duXHJcblx0aWYgKCAhaXNOYU4oIHBhcnNlRmxvYXQoIHNlbGVjdGVkX3BheV9zdGF0dXMgKSApICl7XHJcblx0XHRqU2VsZWN0LmZpbmQoICdvcHRpb25bdmFsdWU9XCIxXCJdJyApLnByb3AoICdzZWxlY3RlZCcsIHRydWUgKTtcdFx0XHRcdFx0XHRcdFx0Ly8gVW5rbm93biAgdmFsdWUgaXMgJzEnIGluIHNlbGVjdCBib3hcclxuXHR9IGVsc2Uge1xyXG5cdFx0alNlbGVjdC5maW5kKCAnb3B0aW9uW3ZhbHVlPVwiJyArIHNlbGVjdGVkX3BheV9zdGF0dXMgKyAnXCJdJyApLnByb3AoICdzZWxlY3RlZCcsIHRydWUgKTtcdFx0Ly8gT3RoZXJ3aXNlIGtub3duIHBheW1lbnQgc3RhdHVzXHJcblx0fVxyXG5cclxuXHQvLyBIaWRlIHNlY3Rpb25zIG9mIFwiQ2hhbmdlIGJvb2tpbmcgcmVzb3VyY2VcIiBpbiBhbGwgb3RoZXIgYm9va2luZ3MgUk9Xc1xyXG5cdGlmICggISBqUXVlcnkoIFwiI3VpX19zZXRfcGF5bWVudF9zdGF0dXNfX3NlY3Rpb25faW5fYm9va2luZ19cIiArIGJvb2tpbmdfaWQgKS5pcygnOnZpc2libGUnKSApe1xyXG5cdFx0alF1ZXJ5KCBcIi51aV9fdW5kZXJfYWN0aW9uc19yb3dfX3NlY3Rpb25faW5fYm9va2luZ1wiICkuaGlkZSgpO1xyXG5cdH1cclxuXHJcblx0Ly8gU2hvdyBvbmx5IFwiY2hhbmdlIGJvb2tpbmcgcmVzb3VyY2VcIiBzZWN0aW9uICBmb3IgY3VycmVudCBib29raW5nXHJcblx0alF1ZXJ5KCBcIiN1aV9fc2V0X3BheW1lbnRfc3RhdHVzX19zZWN0aW9uX2luX2Jvb2tpbmdfXCIgKyBib29raW5nX2lkICkudG9nZ2xlKCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3NhdmVfX3NldF9wYXltZW50X3N0YXR1cyggYm9va2luZ19pZCwgdGhpc19lbCwgYm9va2luZ19hY3Rpb24sIGVsX2lkICl7XHJcblxyXG5cdHdwYmNfYWp4X2Jvb2tpbmdfYWpheF9hY3Rpb25fcmVxdWVzdCgge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2Jvb2tpbmdfYWN0aW9uJyAgICAgICA6IGJvb2tpbmdfYWN0aW9uLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2Jvb2tpbmdfaWQnICAgICAgICAgICA6IGJvb2tpbmdfaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnc2VsZWN0ZWRfcGF5bWVudF9zdGF0dXMnIDogalF1ZXJ5KCAnI3VpX2J0bl9zZXRfcGF5bWVudF9zdGF0dXMnICsgYm9va2luZ19pZCApLnZhbCgpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VpX2NsaWNrZWRfZWxlbWVudF9pZCc6IGVsX2lkICsgJ19zYXZlJ1xyXG5cdH0gKTtcclxuXHJcblx0d3BiY19idXR0b25fZW5hYmxlX2xvYWRpbmdfaWNvbiggdGhpc19lbCApO1xyXG5cclxuXHRqUXVlcnkoICcjJyArIGVsX2lkICsgJ19jYW5jZWwnKS5oaWRlKCk7XHJcblx0Ly93cGJjX2J1dHRvbl9lbmFibGVfbG9hZGluZ19pY29uKCBqUXVlcnkoICcjJyArIGVsX2lkICsgJ19jYW5jZWwnKS5nZXQoMCkgKTtcclxuXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX2Nsb3NlX19zZXRfcGF5bWVudF9zdGF0dXMoKXtcclxuXHQvLyBIaWRlIGFsbCBjaGFuZ2UgIHBheW1lbnQgc3RhdHVzIGZvciBib29raW5nXHJcblx0alF1ZXJ5KFwiLnVpX19zZXRfcGF5bWVudF9zdGF0dXNfX3NlY3Rpb25faW5fYm9va2luZ1wiKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogICBDaGFuZ2UgYm9va2luZyBjb3N0ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmZ1bmN0aW9uIHdwYmNfYWp4X2Jvb2tpbmdfX3VpX2NsaWNrX3NhdmVfX3NldF9ib29raW5nX2Nvc3QoIGJvb2tpbmdfaWQsIHRoaXNfZWwsIGJvb2tpbmdfYWN0aW9uLCBlbF9pZCApe1xyXG5cclxuXHR3cGJjX2FqeF9ib29raW5nX2FqYXhfYWN0aW9uX3JlcXVlc3QoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2FjdGlvbicgICAgICAgOiBib29raW5nX2FjdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2lkJyAgICAgICAgICAgOiBib29raW5nX2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2Jvb2tpbmdfY29zdCcgXHRcdCAgIDogalF1ZXJ5KCAnI3VpX2J0bl9zZXRfYm9va2luZ19jb3N0JyArIGJvb2tpbmdfaWQgKyAnX2Nvc3QnKS52YWwoKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV9jbGlja2VkX2VsZW1lbnRfaWQnOiBlbF9pZCArICdfc2F2ZSdcclxuXHR9ICk7XHJcblxyXG5cdHdwYmNfYnV0dG9uX2VuYWJsZV9sb2FkaW5nX2ljb24oIHRoaXNfZWwgKTtcclxuXHJcblx0alF1ZXJ5KCAnIycgKyBlbF9pZCArICdfY2FuY2VsJykuaGlkZSgpO1xyXG5cdC8vd3BiY19idXR0b25fZW5hYmxlX2xvYWRpbmdfaWNvbiggalF1ZXJ5KCAnIycgKyBlbF9pZCArICdfY2FuY2VsJykuZ2V0KDApICk7XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19jbG9zZV9fc2V0X2Jvb2tpbmdfY29zdCgpe1xyXG5cdC8vIEhpZGUgYWxsIGNoYW5nZSAgcGF5bWVudCBzdGF0dXMgZm9yIGJvb2tpbmdcclxuXHRqUXVlcnkoXCIudWlfX3NldF9ib29raW5nX2Nvc3RfX3NlY3Rpb25faW5fYm9va2luZ1wiKS5oaWRlKCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogICBTZW5kIFBheW1lbnQgcmVxdWVzdCAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19fc2VuZF9wYXltZW50X3JlcXVlc3QoKXtcclxuXHJcblx0d3BiY19hanhfYm9va2luZ19hamF4X2FjdGlvbl9yZXF1ZXN0KCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYm9va2luZ19hY3Rpb24nICAgICAgIDogJ3NlbmRfcGF5bWVudF9yZXF1ZXN0JyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2lkJyAgICAgICAgICAgOiBqUXVlcnkoICcjd3BiY19tb2RhbF9fcGF5bWVudF9yZXF1ZXN0X19ib29raW5nX2lkJykudmFsKCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncmVhc29uX29mX2FjdGlvbicgXHQgICA6IGpRdWVyeSggJyN3cGJjX21vZGFsX19wYXltZW50X3JlcXVlc3RfX3JlYXNvbl9vZl9hY3Rpb24nKS52YWwoKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCd1aV9jbGlja2VkX2VsZW1lbnRfaWQnOiAnd3BiY19tb2RhbF9fcGF5bWVudF9yZXF1ZXN0X19idXR0b25fc2VuZCdcclxuXHR9ICk7XHJcblx0d3BiY19idXR0b25fZW5hYmxlX2xvYWRpbmdfaWNvbiggalF1ZXJ5KCAnI3dwYmNfbW9kYWxfX3BheW1lbnRfcmVxdWVzdF9fYnV0dG9uX3NlbmQnICkuZ2V0KCAwICkgKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIEltcG9ydCBHb29nbGUgQ2FsZW5kYXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuZnVuY3Rpb24gd3BiY19hanhfYm9va2luZ19fdWlfY2xpY2tfX2ltcG9ydF9nb29nbGVfY2FsZW5kYXIoKXtcclxuXHJcblx0d3BiY19hanhfYm9va2luZ19hamF4X2FjdGlvbl9yZXF1ZXN0KCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYm9va2luZ19hY3Rpb24nICAgICAgIDogJ2ltcG9ydF9nb29nbGVfY2FsZW5kYXInLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3VpX2NsaWNrZWRfZWxlbWVudF9pZCc6ICd3cGJjX21vZGFsX19pbXBvcnRfZ29vZ2xlX2NhbGVuZGFyX19idXR0b25fc2VuZCdcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdib29raW5nX2djYWxfZXZlbnRzX2Zyb20nIDogXHRcdFx0XHRqUXVlcnkoICcjd3BiY19tb2RhbF9faW1wb3J0X2dvb2dsZV9jYWxlbmRhcl9fc2VjdGlvbiAjYm9va2luZ19nY2FsX2V2ZW50c19mcm9tIG9wdGlvbjpzZWxlY3RlZCcpLnZhbCgpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdib29raW5nX2djYWxfZXZlbnRzX2Zyb21fb2Zmc2V0JyA6IFx0XHRqUXVlcnkoICcjd3BiY19tb2RhbF9faW1wb3J0X2dvb2dsZV9jYWxlbmRhcl9fc2VjdGlvbiAjYm9va2luZ19nY2FsX2V2ZW50c19mcm9tX29mZnNldCcgKS52YWwoKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYm9va2luZ19nY2FsX2V2ZW50c19mcm9tX29mZnNldF90eXBlJyA6IFx0alF1ZXJ5KCAnI3dwYmNfbW9kYWxfX2ltcG9ydF9nb29nbGVfY2FsZW5kYXJfX3NlY3Rpb24gI2Jvb2tpbmdfZ2NhbF9ldmVudHNfZnJvbV9vZmZzZXRfdHlwZSBvcHRpb246c2VsZWN0ZWQnKS52YWwoKVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2Jvb2tpbmdfZ2NhbF9ldmVudHNfdW50aWwnIDogXHRcdFx0alF1ZXJ5KCAnI3dwYmNfbW9kYWxfX2ltcG9ydF9nb29nbGVfY2FsZW5kYXJfX3NlY3Rpb24gI2Jvb2tpbmdfZ2NhbF9ldmVudHNfdW50aWwgb3B0aW9uOnNlbGVjdGVkJykudmFsKClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2Jvb2tpbmdfZ2NhbF9ldmVudHNfdW50aWxfb2Zmc2V0JyA6IFx0XHRqUXVlcnkoICcjd3BiY19tb2RhbF9faW1wb3J0X2dvb2dsZV9jYWxlbmRhcl9fc2VjdGlvbiAjYm9va2luZ19nY2FsX2V2ZW50c191bnRpbF9vZmZzZXQnICkudmFsKClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2Jvb2tpbmdfZ2NhbF9ldmVudHNfdW50aWxfb2Zmc2V0X3R5cGUnIDogalF1ZXJ5KCAnI3dwYmNfbW9kYWxfX2ltcG9ydF9nb29nbGVfY2FsZW5kYXJfX3NlY3Rpb24gI2Jvb2tpbmdfZ2NhbF9ldmVudHNfdW50aWxfb2Zmc2V0X3R5cGUgb3B0aW9uOnNlbGVjdGVkJykudmFsKClcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdib29raW5nX2djYWxfZXZlbnRzX21heCcgOiBcdGpRdWVyeSggJyN3cGJjX21vZGFsX19pbXBvcnRfZ29vZ2xlX2NhbGVuZGFyX19zZWN0aW9uICNib29raW5nX2djYWxfZXZlbnRzX21heCcgKS52YWwoKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYm9va2luZ19nY2FsX3Jlc291cmNlJyA6IFx0alF1ZXJ5KCAnI3dwYmNfbW9kYWxfX2ltcG9ydF9nb29nbGVfY2FsZW5kYXJfX3NlY3Rpb24gI3dwYmNfYm9va2luZ19yZXNvdXJjZSBvcHRpb246c2VsZWN0ZWQnKS52YWwoKVxyXG5cdH0gKTtcclxuXHR3cGJjX2J1dHRvbl9lbmFibGVfbG9hZGluZ19pY29uKCBqUXVlcnkoICcjd3BiY19tb2RhbF9faW1wb3J0X2dvb2dsZV9jYWxlbmRhcl9fc2VjdGlvbiAjd3BiY19tb2RhbF9faW1wb3J0X2dvb2dsZV9jYWxlbmRhcl9fYnV0dG9uX3NlbmQnICkuZ2V0KCAwICkgKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgIEV4cG9ydCBib29raW5ncyB0byBDU1YgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX191aV9jbGlja19fZXhwb3J0X2NzdiggcGFyYW1zICl7XHJcblxyXG5cdHZhciBzZWxlY3RlZF9ib29raW5nX2lkX2FyciA9IHdwYmNfZ2V0X3NlbGVjdGVkX3Jvd19pZCgpO1xyXG5cclxuXHR3cGJjX2FqeF9ib29raW5nX2FqYXhfYWN0aW9uX3JlcXVlc3QoIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdib29raW5nX2FjdGlvbicgICAgICAgIDogcGFyYW1zWyAnYm9va2luZ19hY3Rpb24nIF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQndWlfY2xpY2tlZF9lbGVtZW50X2lkJyA6IHBhcmFtc1sgJ3VpX2NsaWNrZWRfZWxlbWVudF9pZCcgXSxcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnZXhwb3J0X3R5cGUnICAgICAgICAgICA6IHBhcmFtc1sgJ2V4cG9ydF90eXBlJyBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2Nzdl9leHBvcnRfc2VwYXJhdG9yJyAgOiBwYXJhbXNbICdjc3ZfZXhwb3J0X3NlcGFyYXRvcicgXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdjc3ZfZXhwb3J0X3NraXBfZmllbGRzJzogcGFyYW1zWyAnY3N2X2V4cG9ydF9za2lwX2ZpZWxkcycgXSxcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYm9va2luZ19pZCdcdDogc2VsZWN0ZWRfYm9va2luZ19pZF9hcnIuam9pbignLCcpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3NlYXJjaF9wYXJhbXMnIDogd3BiY19hanhfYm9va2luZ19saXN0aW5nLnNlYXJjaF9nZXRfYWxsX3BhcmFtcygpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSApO1xyXG5cclxuXHR2YXIgdGhpc19lbCA9IGpRdWVyeSggJyMnICsgcGFyYW1zWyAndWlfY2xpY2tlZF9lbGVtZW50X2lkJyBdICkuZ2V0KCAwIClcclxuXHJcblx0d3BiY19idXR0b25fZW5hYmxlX2xvYWRpbmdfaWNvbiggdGhpc19lbCApO1xyXG59XHJcblxyXG4vKipcclxuICogT3BlbiBVUkwgaW4gbmV3IHRhYiAtIG1haW5seSAgaXQncyB1c2VkIGZvciBvcGVuIENTViBsaW5rICBmb3IgZG93bmxvYWRlZCBleHBvcnRlZCBib29raW5ncyBhcyBDU1ZcclxuICpcclxuICogQHBhcmFtIGV4cG9ydF9jc3ZfdXJsXHJcbiAqL1xyXG5mdW5jdGlvbiB3cGJjX2FqeF9ib29raW5nX19leHBvcnRfY3N2X3VybF9fZG93bmxvYWQoIGV4cG9ydF9jc3ZfdXJsICl7XHJcblxyXG5cdC8vdmFyIHNlbGVjdGVkX2Jvb2tpbmdfaWRfYXJyID0gd3BiY19nZXRfc2VsZWN0ZWRfcm93X2lkKCk7XHJcblxyXG5cdGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBleHBvcnRfY3N2X3VybDsvLyArICcmc2VsZWN0ZWRfaWQ9JyArIHNlbGVjdGVkX2Jvb2tpbmdfaWRfYXJyLmpvaW4oJywnKTtcclxuXHJcblx0Ly8gSXQncyBvcGVuIGFkZGl0aW9uYWwgZGlhbG9nIGZvciBhc2tpbmcgb3BlbmluZyB1bHIgaW4gbmV3IHRhYlxyXG5cdC8vIHdpbmRvdy5vcGVuKCBleHBvcnRfY3N2X3VybCwgJ19ibGFuaycpLmZvY3VzKCk7XHJcbn0iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBRVo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBLFNBQUFBLFFBQUFDLEdBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixHQUFBLGtCQUFBQSxHQUFBLGdCQUFBQSxHQUFBLFdBQUFBLEdBQUEseUJBQUFDLE1BQUEsSUFBQUQsR0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsR0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLEdBQUEsS0FBQUQsT0FBQSxDQUFBQyxHQUFBO0FBS0EsU0FBU0ssb0NBQW9DQSxDQUFBLEVBQXFCO0VBQUEsSUFBbkJDLFlBQVksR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcs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 _src/bookings__listing.js 0000666 00000045477 15166373417 0011575 0 ustar 00 "use strict"; jQuery('body').on({ 'touchmove': function(e) { jQuery( '.timespartly' ).each( function ( index ){ var td_el = jQuery( this ).get( 0 ); if ( (undefined != td_el._tippy) ){ var instance = td_el._tippy; instance.hide(); } } ); } }); /** * Request Object * Here we can define Search parameters and Update it later, when some parameter was changed * */ var wpbc_ajx_booking_listing = (function ( obj, $) { // Secure parameters for Ajax ------------------------------------------------------------------------------------ var p_secure = obj.security_obj = obj.security_obj || { user_id: 0, nonce : '', locale : '' }; obj.set_secure_param = function ( param_key, param_val ) { p_secure[ param_key ] = param_val; }; obj.get_secure_param = function ( param_key ) { return p_secure[ param_key ]; }; // Listing Search parameters ------------------------------------------------------------------------------------ var p_listing = obj.search_request_obj = obj.search_request_obj || { sort : "booking_id", sort_type : "DESC", page_num : 1, page_items_count: 10, create_date : "", keyword : "", source : "" }; obj.search_set_all_params = function ( request_param_obj ) { p_listing = request_param_obj; }; obj.search_get_all_params = function () { return p_listing; }; obj.search_get_param = function ( param_key ) { return p_listing[ param_key ]; }; obj.search_set_param = function ( param_key, param_val ) { // if ( Array.isArray( param_val ) ){ // param_val = JSON.stringify( param_val ); // } p_listing[ param_key ] = param_val; }; obj.search_set_params_arr = function( params_arr ){ _.each( params_arr, function ( p_val, p_key, p_data ){ // Define different Search parameters for request this.search_set_param( p_key, p_val ); } ); } // Other parameters ------------------------------------------------------------------------------------ var p_other = obj.other_obj = obj.other_obj || { }; obj.set_other_param = function ( param_key, param_val ) { p_other[ param_key ] = param_val; }; obj.get_other_param = function ( param_key ) { return p_other[ param_key ]; }; return obj; }( wpbc_ajx_booking_listing || {}, jQuery )); /** * Ajax ------------------------------------------------------------------------------------------------------ */ /** * Send Ajax search request * for searching specific Keyword and other params */ function wpbc_ajx_booking_ajax_search_request(){ console.groupCollapsed('AJX_BOOKING_LISTING'); console.log( ' == Before Ajax Send - search_get_all_params() == ' , wpbc_ajx_booking_listing.search_get_all_params() ); wpbc_booking_listing_reload_button__spin_start(); /* //FixIn: forVideo if ( ! is_this_action ){ //wpbc_ajx_booking__actual_listing__hide(); jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div style="width:100%;text-align: center;" id="wpbc_loading_section"><span class="wpbc_icn_autorenew wpbc_spin"></span></div>' + jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html() ); if ( 'function' === typeof (jQuery( '#wpbc_loading_section' ).wpbc_my_modal) ){ //FixIn: 9.0.1.5 jQuery( '#wpbc_loading_section' ).wpbc_my_modal( 'show' ); } else { alert( 'Warning! Booking Calendar. Its seems that you have deactivated loading of Bootstrap JS files at Booking Settings General page in Advanced section.' ) } } is_this_action = false; */ // Start Ajax jQuery.post( wpbc_url_ajax, { action : 'WPBC_AJX_BOOKING_LISTING', wpbc_ajx_user_id: wpbc_ajx_booking_listing.get_secure_param( 'user_id' ), nonce : wpbc_ajx_booking_listing.get_secure_param( 'nonce' ), wpbc_ajx_locale : wpbc_ajx_booking_listing.get_secure_param( 'locale' ), search_params : wpbc_ajx_booking_listing.search_get_all_params() }, /** * S u c c e s s * * @param response_data - its object returned from Ajax - class-live-searcg.php * @param textStatus - 'success' * @param jqXHR - Object */ function ( response_data, textStatus, jqXHR ) { //FixIn: forVideo //jQuery( '#wpbc_loading_section' ).wpbc_my_modal( 'hide' ); console.log( ' == Response WPBC_AJX_BOOKING_LISTING == ', response_data ); console.groupEnd(); // Probably Error if ( (typeof response_data !== 'object') || (response_data === null) ){ jQuery( '.wpbc_ajx_under_toolbar_row' ).hide(); //FixIn: 9.6.1.5 jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + response_data + '</div>' ); return; } // Reload page, after filter toolbar was reseted if ( ( undefined != response_data[ 'ajx_cleaned_params' ]) && ( 'reset_done' === response_data[ 'ajx_cleaned_params' ][ 'ui_reset' ]) ){ location.reload(); return; } // Show listing if ( response_data[ 'ajx_count' ] > 0 ){ wpbc_ajx_booking_show_listing( response_data[ 'ajx_items' ], response_data[ 'ajx_search_params' ], response_data[ 'ajx_booking_resources' ] ); wpbc_pagination_echo( wpbc_ajx_booking_listing.get_other_param( 'pagination_container' ), { 'page_active': response_data[ 'ajx_search_params' ][ 'page_num' ], 'pages_count': Math.ceil( response_data[ 'ajx_count' ] / response_data[ 'ajx_search_params' ][ 'page_items_count' ] ), 'page_items_count': response_data[ 'ajx_search_params' ][ 'page_items_count' ], 'sort_type' : response_data[ 'ajx_search_params' ][ 'sort_type' ] } ); wpbc_ajx_booking_define_ui_hooks(); // Redefine Hooks, because we show new DOM elements } else { wpbc_ajx_booking__actual_listing__hide(); jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div class="wpbc-settings-notice0 notice-warning0" style="text-align:center;margin-left:-50px;">' + '<strong>' + 'No results found for current filter options...' + '</strong>' + //'<strong>' + 'No results found...' + '</strong>' + '</div>' ); } // Update new booking count if ( undefined !== response_data[ 'ajx_new_bookings_count' ] ){ var ajx_new_bookings_count = parseInt( response_data[ 'ajx_new_bookings_count' ] ) if (ajx_new_bookings_count>0){ jQuery( '.wpbc_badge_count' ).show(); } jQuery( '.bk-update-count' ).html( ajx_new_bookings_count ); } wpbc_booking_listing_reload_button__spin_pause(); jQuery( '#ajax_respond' ).html( response_data ); // For ability to show response, add such DIV element to page } ).fail( function ( jqXHR, textStatus, errorThrown ) { if ( window.console && window.console.log ){ console.log( 'Ajax_Error', jqXHR, textStatus, errorThrown ); } jQuery( '.wpbc_ajx_under_toolbar_row' ).hide(); //FixIn: 9.6.1.5 var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown ; if ( jqXHR.responseText ){ error_message += jqXHR.responseText; } error_message = error_message.replace( /\n/g, "<br />" ); wpbc_ajx_booking_show_message( error_message ); }) // .done( function ( data, textStatus, jqXHR ) { if ( window.console && window.console.log ){ console.log( 'second success', data, textStatus, jqXHR ); } }) // .always( function ( data_jqXHR, textStatus, jqXHR_errorThrown ) { if ( window.console && window.console.log ){ console.log( 'always finished', data_jqXHR, textStatus, jqXHR_errorThrown ); } }) ; // End Ajax } /** * Views ----------------------------------------------------------------------------------------------------- */ /** * Show Listing Table and define gMail checkbox hooks * * @param json_items_arr - JSON object with Items * @param json_search_params - JSON object with Search */ function wpbc_ajx_booking_show_listing( json_items_arr, json_search_params, json_booking_resources ){ wpbc_ajx_define_templates__resource_manipulation( json_items_arr, json_search_params, json_booking_resources ); //console.log( 'json_items_arr' , json_items_arr, json_search_params ); jQuery( '.wpbc_ajx_under_toolbar_row' ).css( "display", "flex" ); //FixIn: 9.6.1.5 var list_header_tpl = wp.template( 'wpbc_ajx_booking_list_header' ); var list_row_tpl = wp.template( 'wpbc_ajx_booking_list_row' ); // Header jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( list_header_tpl() ); // Body jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).append( '<div class="wpbc_selectable_body"></div>' ); // R o w s console.groupCollapsed( 'LISTING_ROWS' ); // LISTING_ROWS _.each( json_items_arr, function ( p_val, p_key, p_data ){ if ( 'undefined' !== typeof json_search_params[ 'keyword' ] ){ // Parameter for marking keyword with different color in a list p_val[ '__search_request_keyword__' ] = json_search_params[ 'keyword' ]; } else { p_val[ '__search_request_keyword__' ] = ''; } p_val[ 'booking_resources' ] = json_booking_resources; jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) + ' .wpbc_selectable_body' ).append( list_row_tpl( p_val ) ); } ); console.groupEnd(); // LISTING_ROWS wpbc_define_gmail_checkbox_selection( jQuery ); // Redefine Hooks for clicking at Checkboxes } /** * Define template for changing booking resources & update it each time, when listing updating, useful for showing actual booking resources. * * @param json_items_arr - JSON object with Items * @param json_search_params - JSON object with Search * @param json_booking_resources - JSON object with Resources */ function wpbc_ajx_define_templates__resource_manipulation( json_items_arr, json_search_params, json_booking_resources ){ // Change booking resource var change_booking_resource_tpl = wp.template( 'wpbc_ajx_change_booking_resource' ); jQuery( '#wpbc_hidden_template__change_booking_resource' ).html( change_booking_resource_tpl( { 'ajx_search_params' : json_search_params, 'ajx_booking_resources': json_booking_resources } ) ); // Duplicate booking resource var duplicate_booking_to_other_resource_tpl = wp.template( 'wpbc_ajx_duplicate_booking_to_other_resource' ); jQuery( '#wpbc_hidden_template__duplicate_booking_to_other_resource' ).html( duplicate_booking_to_other_resource_tpl( { 'ajx_search_params' : json_search_params, 'ajx_booking_resources': json_booking_resources } ) ); } /** * Show just message instead of listing and hide pagination */ function wpbc_ajx_booking_show_message( message ){ wpbc_ajx_booking__actual_listing__hide(); jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + message + '</div>' ); } /** * H o o k s - its Action/Times when need to re-Render Views ----------------------------------------------- */ /** * Send Ajax Search Request after Updating search request parameters * * @param params_arr */ function wpbc_ajx_booking_send_search_request_with_params ( params_arr ){ // Define different Search parameters for request _.each( params_arr, function ( p_val, p_key, p_data ) { //console.log( 'Request for: ', p_key, p_val ); wpbc_ajx_booking_listing.search_set_param( p_key, p_val ); }); // Send Ajax Request wpbc_ajx_booking_ajax_search_request(); } /** * Search request for "Page Number" * @param page_number int */ function wpbc_ajx_booking_pagination_click( page_number ){ wpbc_ajx_booking_send_search_request_with_params( { 'page_num': page_number } ); } /** * Keyword Searching ----------------------------------------------------------------------------------------- */ /** * Search request for "Keyword", also set current page to 1 * * @param element_id - HTML ID of element, where was entered keyword */ function wpbc_ajx_booking_send_search_request_for_keyword( element_id ) { // We need to Reset page_num to 1 with each new search, because we can be at page #4, but after new search we can have totally only 1 page wpbc_ajx_booking_send_search_request_with_params( { 'keyword' : jQuery( element_id ).val(), 'page_num': 1 } ); } /** * Send search request after few seconds (usually after 1,5 sec) * Closure function. Its useful, for do not send too many Ajax requests, when someone make fast typing. */ var wpbc_ajx_booking_searching_after_few_seconds = function (){ var closed_timer = 0; return function ( element_id, timer_delay ){ // Get default value of "timer_delay", if parameter was not passed into the function. timer_delay = typeof timer_delay !== 'undefined' ? timer_delay : 1500; clearTimeout( closed_timer ); // Clear previous timer // Start new Timer closed_timer = setTimeout( wpbc_ajx_booking_send_search_request_for_keyword.bind( null, element_id ), timer_delay ); } }(); /** * Define Dynamic Hooks (like pagination click, which renew each time with new listing showing) ------------- */ /** * Define HTML ui Hooks: on KeyUp | Change | -> Sort Order & Number Items / Page * We are hcnaged it each time, when showing new listing, because DOM elements chnaged */ function wpbc_ajx_booking_define_ui_hooks(){ if ( 'function' === typeof( wpbc_define_tippy_tooltips ) ) { wpbc_define_tippy_tooltips( '.wpbc_listing_container ' ); } wpbc_ajx_booking__ui_define__locale(); wpbc_ajx_booking__ui_define__remark(); // Items Per Page jQuery( '.wpbc_items_per_page' ).on( 'change', function( event ){ wpbc_ajx_booking_send_search_request_with_params( { 'page_items_count' : jQuery( this ).val(), 'page_num': 1 } ); } ); // Sorting jQuery( '.wpbc_items_sort_type' ).on( 'change', function( event ){ wpbc_ajx_booking_send_search_request_with_params( {'sort_type': jQuery( this ).val()} ); } ); } /** * Show / Hide Listing --------------------------------------------------------------------------------------- */ /** * Show Listing Table - Sending Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. */ function wpbc_ajx_booking__actual_listing__show(){ wpbc_ajx_booking_ajax_search_request(); // Send Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. } /** * Hide Listing Table ( and Pagination ) */ function wpbc_ajx_booking__actual_listing__hide(){ jQuery( '.wpbc_ajx_under_toolbar_row' ).hide(); //FixIn: 9.6.1.5 jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '' ); jQuery( wpbc_ajx_booking_listing.get_other_param( 'pagination_container' ) ).html( '' ); } /** * Support functions for Content Template data --------------------------------------------------------------- */ /** * Highlight strings, * by inserting <span class="fieldvalue name fieldsearchvalue">...</span> html elements into the string. * @param {string} booking_details - Source string * @param {string} booking_keyword - Keyword to highlight * @returns {string} */ function wpbc_get_highlighted_search_keyword( booking_details, booking_keyword ){ booking_keyword = booking_keyword.trim().toLowerCase(); if ( 0 == booking_keyword.length ){ return booking_details; } // Highlight substring withing HTML tags in "Content of booking fields data" -- e.g. starting from > and ending with < let keywordRegex = new RegExp( `fieldvalue[^<>]*>([^<]*${booking_keyword}[^<]*)`, 'gim' ); //let matches = [...booking_details.toLowerCase().matchAll( keywordRegex )]; let matches = booking_details.toLowerCase().matchAll( keywordRegex ); matches = Array.from( matches ); let strings_arr = []; let pos_previous = 0; let search_pos_start; let search_pos_end; for ( const match of matches ){ search_pos_start = match.index + match[ 0 ].toLowerCase().indexOf( '>', 0 ) + 1 ; strings_arr.push( booking_details.substr( pos_previous, (search_pos_start - pos_previous) ) ); search_pos_end = booking_details.toLowerCase().indexOf( '<', search_pos_start ); strings_arr.push( '<span class="fieldvalue name fieldsearchvalue">' + booking_details.substr( search_pos_start, (search_pos_end - search_pos_start) ) + '</span>' ); pos_previous = search_pos_end; } strings_arr.push( booking_details.substr( pos_previous, (booking_details.length - pos_previous) ) ); return strings_arr.join( '' ); } /** * Convert special HTML characters from: & -> & * * @param text * @returns {*} */ function wpbc_decode_HTML_entities( text ){ var textArea = document.createElement( 'textarea' ); textArea.innerHTML = text; return textArea.value; } /** * Convert TO special HTML characters from: & -> & * * @param text * @returns {*} */ function wpbc_encode_HTML_entities(text) { var textArea = document.createElement('textarea'); textArea.innerText = text; return textArea.innerHTML; } /** * Support Functions - Spin Icon in Buttons ------------------------------------------------------------------ */ /** * Spin button in Filter toolbar - Start */ function wpbc_booking_listing_reload_button__spin_start(){ jQuery( '#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin').removeClass( 'wpbc_animation_pause' ); } /** * Spin button in Filter toolbar - Pause */ function wpbc_booking_listing_reload_button__spin_pause(){ jQuery( '#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin' ).addClass( 'wpbc_animation_pause' ); } /** * Spin button in Filter toolbar - is Spinning ? * * @returns {boolean} */ function wpbc_booking_listing_reload_button__is_spin(){ if ( jQuery( '#wpbc_booking_listing_reload_button .menu_icon.wpbc_spin' ).hasClass( 'wpbc_animation_pause' ) ){ return true; } else { return false; } } _src/bookings__hooks.js 0000666 00000020006 15166373417 0011224 0 ustar 00 "use strict"; /** * Define HTML ui Hooks: on KeyUp | Change | -> Sort Order & Number Items / Page * * We are chnaged it once, because such elements always the same */ function wpbc_ajx_booking_define_ui_hooks_once(){ //------------------------------------------------------------------------------------------------------------------ // Booked dates //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_booking_date' ).on( 'change', function( event ){ var changed_value = JSON.parse( jQuery( '#wh_booking_date' ).val() ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_booking_date': changed_value, 'page_num' : 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_booking_date_radio' : jQuery( 'input[name="ui_wh_booking_date_radio"]:checked' ).val(), 'ui_wh_booking_date_next' : jQuery( '#ui_wh_booking_date_next' ).val(), 'ui_wh_booking_date_prior' : jQuery( '#ui_wh_booking_date_prior' ).val(), 'ui_wh_booking_date_checkin' : jQuery( '#ui_wh_booking_date_checkin' ).val(), 'ui_wh_booking_date_checkout': jQuery( '#ui_wh_booking_date_checkout' ).val() } ); } ); //------------------------------------------------------------------------------------------------------------------ // Approved | Pending | All //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_approved' ).on( 'change', function( event ){ var changed_value = jQuery( '#wh_approved' ).val(); changed_value = JSON.parse( changed_value ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_approved': changed_value[ 0 ], 'page_num' : 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // Keywords //------------------------------------------------------------------------------------------------------------------ jQuery( '#wpbc_search_field' ).on( "keyup", function ( event ){ if ( 13 !== event.which ){ wpbc_ajx_booking_searching_after_few_seconds( '#wpbc_search_field' ); // Searching after 1.5 seconds after Key Up } else { wpbc_ajx_booking_searching_after_few_seconds( '#wpbc_search_field', 0 ); // Immediate search } } ); //------------------------------------------------------------------------------------------------------------------ // Existing | Trash | Any //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_trash' ).on( 'change', function( event ){ var changed_value = JSON.parse( jQuery( '#wh_trash' ).val() ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_trash': changed_value[ 0 ], 'page_num': 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // All bookings | New bookings //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_what_bookings' ).on( 'change', function( event ){ var changed_value = JSON.parse( jQuery( '#wh_what_bookings' ).val() ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_what_bookings': changed_value[ 0 ], 'page_num': 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // "Creation Date" of bookings //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_modification_date' ).on( 'change', function( event ){ var changed_value = JSON.parse( jQuery( '#wh_modification_date' ).val() ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_modification_date': changed_value, 'page_num' : 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_modification_date_radio' : jQuery( 'input[name="ui_wh_modification_date_radio"]:checked' ).val(), 'ui_wh_modification_date_prior' : jQuery( '#ui_wh_modification_date_prior' ).val(), 'ui_wh_modification_date_checkin' : jQuery( '#ui_wh_modification_date_checkin' ).val(), 'ui_wh_modification_date_checkout': jQuery( '#ui_wh_modification_date_checkout' ).val() } ); } ); //------------------------------------------------------------------------------------------------------------------ // Payment Status //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_pay_status' ).on( 'change', function( event ){ var changed_value = JSON.parse( jQuery( '#wh_pay_status' ).val() ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_pay_status': changed_value, 'page_num' : 1, // Frontend selected elements (saving for future use, after F5) 'ui_wh_pay_status_radio' : ( ( undefined === jQuery( 'input[name="ui_wh_pay_status_radio"]:checked' ).val() ) ? '' : jQuery( 'input[name="ui_wh_pay_status_radio"]:checked' ).val() ), 'ui_wh_pay_status_custom': jQuery( '#ui_wh_pay_status_custom' ).val() } ); } ); //------------------------------------------------------------------------------------------------------------------ // Min Cost //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_cost' ).on( 'change', function( event ){ var changed_value = jQuery( '#wh_cost' ).val(); wpbc_ajx_booking_send_search_request_with_params( { 'wh_cost' : changed_value, 'page_num': 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // Max Cost //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_cost2' ).on( 'change', function( event ){ var changed_value = jQuery( '#wh_cost2' ).val(); wpbc_ajx_booking_send_search_request_with_params( { 'wh_cost2' : changed_value, 'page_num': 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // Booking resources //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_booking_type' ).on( 'change', function( event ){ var changed_value = jQuery( '#wh_booking_type' ).val(); // it's get as array if ( ( Array.isArray( changed_value ) ) && ( 0 === changed_value.length ) ){ changed_value = ['-1']; } wpbc_ajx_booking_send_search_request_with_params( { 'wh_booking_type' : changed_value, 'page_num': 1 } ); } ); //------------------------------------------------------------------------------------------------------------------ // Sorting //------------------------------------------------------------------------------------------------------------------ jQuery( '#wh_sort' ).on( 'change', function( event ){ var changed_value = jQuery( '#wh_sort' ).val(); changed_value = JSON.parse( changed_value ); wpbc_ajx_booking_send_search_request_with_params( { 'wh_sort': changed_value[ 0 ] } ); } ); } jQuery(document).ready(function(){ wpbc_ajx_booking_define_ui_hooks_once(); }); _src/bookings__actions.js 0000666 00000051707 15166373417 0011555 0 ustar 00 "use strict"; /** * Ajax ----------------------------------------------------------------------------------------------------- */ //var is_this_action = false; /** * Send Ajax action request, like approving or cancellation * * @param action_param */ function wpbc_ajx_booking_ajax_action_request( action_param = {} ){ console.groupCollapsed( 'WPBC_AJX_BOOKING_ACTIONS' ); console.log( ' == Ajax Actions :: Params == ', action_param ); //is_this_action = true; wpbc_booking_listing_reload_button__spin_start(); // Get redefined Locale, if action on single booking ! if ( ( undefined != action_param[ 'booking_id' ] ) && ( ! Array.isArray( action_param[ 'booking_id' ] ) ) ){ // Not array action_param[ 'locale' ] = wpbc_get_selected_locale( action_param[ 'booking_id' ], wpbc_ajx_booking_listing.get_secure_param( 'locale' ) ); } var action_post_params = { action : 'WPBC_AJX_BOOKING_ACTIONS', nonce : wpbc_ajx_booking_listing.get_secure_param( 'nonce' ), wpbc_ajx_user_id: ( ( undefined == action_param[ 'user_id' ] ) ? wpbc_ajx_booking_listing.get_secure_param( 'user_id' ) : action_param[ 'user_id' ] ), wpbc_ajx_locale: ( ( undefined == action_param[ 'locale' ] ) ? wpbc_ajx_booking_listing.get_secure_param( 'locale' ) : action_param[ 'locale' ] ), action_params : action_param }; // It's required for CSV export - getting the same list of bookings if ( typeof action_param.search_params !== 'undefined' ){ action_post_params[ 'search_params' ] = action_param.search_params; delete action_post_params.action_params.search_params; } // Start Ajax jQuery.post( wpbc_url_ajax , action_post_params , /** * S u c c e s s * * @param response_data - its object returned from Ajax - class-live-searcg.php * @param textStatus - 'success' * @param jqXHR - Object */ function ( response_data, textStatus, jqXHR ) { console.log( ' == Ajax Actions :: Response WPBC_AJX_BOOKING_ACTIONS == ', response_data ); console.groupEnd(); // Probably Error if ( (typeof response_data !== 'object') || (response_data === null) ){ jQuery( '.wpbc_ajx_under_toolbar_row' ).hide(); //FixIn: 9.6.1.5 jQuery( wpbc_ajx_booking_listing.get_other_param( 'listing_container' ) ).html( '<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + response_data + '</div>' ); return; } wpbc_booking_listing_reload_button__spin_pause(); wpbc_admin_show_message( response_data[ 'ajx_after_action_message' ].replace( /\n/g, "<br />" ) , ( '1' == response_data[ 'ajx_after_action_result' ] ) ? 'success' : 'error' , ( ( 'undefined' === typeof(response_data[ 'ajx_after_action_result_all_params_arr' ][ 'after_action_result_delay' ]) ) ? 10000 : response_data[ 'ajx_after_action_result_all_params_arr' ][ 'after_action_result_delay' ] ) ); // Success response if ( '1' == response_data[ 'ajx_after_action_result' ] ){ var is_reload_ajax_listing = true; // After Google Calendar import show imported bookings and reload the page for toolbar parameters update if ( false !== response_data[ 'ajx_after_action_result_all_params_arr' ][ 'new_listing_params' ] ){ wpbc_ajx_booking_send_search_request_with_params( response_data[ 'ajx_after_action_result_all_params_arr' ][ 'new_listing_params' ] ); var closed_timer = setTimeout( function (){ if ( wpbc_booking_listing_reload_button__is_spin() ){ if ( undefined != response_data[ 'ajx_after_action_result_all_params_arr' ][ 'new_listing_params' ][ 'reload_url_params' ] ){ document.location.href = response_data[ 'ajx_after_action_result_all_params_arr' ][ 'new_listing_params' ][ 'reload_url_params' ]; } else { document.location.reload(); } } } , 2000 ); is_reload_ajax_listing = false; } // Start download exported CSV file if ( undefined != response_data[ 'ajx_after_action_result_all_params_arr' ][ 'export_csv_url' ] ){ wpbc_ajx_booking__export_csv_url__download( response_data[ 'ajx_after_action_result_all_params_arr' ][ 'export_csv_url' ] ); is_reload_ajax_listing = false; } if ( is_reload_ajax_listing ){ wpbc_ajx_booking__actual_listing__show(); // Sending Ajax Request - with parameters that we early defined in "wpbc_ajx_booking_listing" Obj. } } // Remove spin icon from button and Enable this button. wpbc_button__remove_spin( response_data[ 'ajx_cleaned_params' ][ 'ui_clicked_element_id' ] ) // Hide modals wpbc_popup_modals__hide(); jQuery( '#ajax_respond' ).html( response_data ); // For ability to show response, add such DIV element to page } ).fail( function ( jqXHR, textStatus, errorThrown ) { if ( window.console && window.console.log ){ console.log( 'Ajax_Error', jqXHR, textStatus, errorThrown ); } jQuery( '.wpbc_ajx_under_toolbar_row' ).hide(); //FixIn: 9.6.1.5 var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown ; if ( jqXHR.responseText ){ error_message += jqXHR.responseText; } error_message = error_message.replace( /\n/g, "<br />" ); wpbc_ajx_booking_show_message( error_message ); }) // .done( function ( data, textStatus, jqXHR ) { if ( window.console && window.console.log ){ console.log( 'second success', data, textStatus, jqXHR ); } }) // .always( function ( data_jqXHR, textStatus, jqXHR_errorThrown ) { if ( window.console && window.console.log ){ console.log( 'always finished', data_jqXHR, textStatus, jqXHR_errorThrown ); } }) ; // End Ajax } /** * Hide all open modal popups windows */ function wpbc_popup_modals__hide(){ // Hide modals if ( 'function' === typeof (jQuery( '.wpbc_popup_modal' ).wpbc_my_modal) ){ jQuery( '.wpbc_popup_modal' ).wpbc_my_modal( 'hide' ); } } /** * Dates Short <-> Wide ----------------------------------------------------------------------------------- */ function wpbc_ajx_click_on_dates_short(){ jQuery( '#booking_dates_small,.booking_dates_full' ).hide(); jQuery( '#booking_dates_full,.booking_dates_small' ).show(); wpbc_ajx_booking_send_search_request_with_params( {'ui_usr__dates_short_wide': 'short'} ); } function wpbc_ajx_click_on_dates_wide(){ jQuery( '#booking_dates_full,.booking_dates_small' ).hide(); jQuery( '#booking_dates_small,.booking_dates_full' ).show(); wpbc_ajx_booking_send_search_request_with_params( {'ui_usr__dates_short_wide': 'wide'} ); } function wpbc_ajx_click_on_dates_toggle(this_date){ jQuery( this_date ).parents( '.wpbc_col_dates' ).find( '.booking_dates_small' ).toggle(); jQuery( this_date ).parents( '.wpbc_col_dates' ).find( '.booking_dates_full' ).toggle(); /* var visible_section = jQuery( this_date ).parents( '.booking_dates_expand_section' ); visible_section.hide(); if ( visible_section.hasClass( 'booking_dates_full' ) ){ visible_section.parents( '.wpbc_col_dates' ).find( '.booking_dates_small' ).show(); } else { visible_section.parents( '.wpbc_col_dates' ).find( '.booking_dates_full' ).show(); }*/ console.log( 'wpbc_ajx_click_on_dates_toggle', this_date ); } /** * Locale --------------------------------------------------------------------------------------------------- */ /** * Select options in select boxes based on attribute "value_of_selected_option" and RED color and hint for LOCALE button -- It's called from wpbc_ajx_booking_define_ui_hooks() each time after Listing loading. */ function wpbc_ajx_booking__ui_define__locale(){ jQuery( '.wpbc_listing_container select' ).each( function ( index ){ var selection = jQuery( this ).attr( "value_of_selected_option" ); // Define selected select boxes if ( undefined !== selection ){ jQuery( this ).find( 'option[value="' + selection + '"]' ).prop( 'selected', true ); if ( ('' != selection) && (jQuery( this ).hasClass( 'set_booking_locale_selectbox' )) ){ // Locale var booking_locale_button = jQuery( this ).parents( '.ui_element_locale' ).find( '.set_booking_locale_button' ) //booking_locale_button.css( 'color', '#db4800' ); // Set button red booking_locale_button.addClass( 'wpbc_ui_red' ); // Set button red if ( 'function' === typeof( wpbc_tippy ) ){ booking_locale_button.get(0)._tippy.setContent( selection ); } } } } ); } /** * Remark --------------------------------------------------------------------------------------------------- */ /** * Define content of remark "booking note" button and textarea. -- It's called from wpbc_ajx_booking_define_ui_hooks() each time after Listing loading. */ function wpbc_ajx_booking__ui_define__remark(){ jQuery( '.wpbc_listing_container .ui_remark_section textarea' ).each( function ( index ){ var text_val = jQuery( this ).val(); if ( (undefined !== text_val) && ('' != text_val) ){ var remark_button = jQuery( this ).parents( '.ui_group' ).find( '.set_booking_note_button' ); if ( remark_button.length > 0 ){ remark_button.addClass( 'wpbc_ui_red' ); // Set button red if ( 'function' === typeof (wpbc_tippy) ){ //remark_button.get( 0 )._tippy.allowHTML = true; //remark_button.get( 0 )._tippy.setContent( text_val.replace(/[\n\r]/g, '<br>') ); remark_button.get( 0 )._tippy.setProps( { allowHTML: true, content : text_val.replace( /[\n\r]/g, '<br>' ) } ); } } } } ); } /** * Actions ,when we click on "Remark" button. * * @param jq_button - this jQuery button object */ function wpbc_ajx_booking__ui_click__remark( jq_button ){ jq_button.parents('.ui_group').find('.ui_remark_section').toggle(); } /** * Change booking resource ---------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_show__change_resource( booking_id, resource_id ){ // Define ID of booking to hidden input jQuery( '#change_booking_resource__booking_id' ).val( booking_id ); // Select booking resource that belong to booking jQuery( '#change_booking_resource__resource_select' ).val( resource_id ).trigger( 'change' ); var cbr; // Get Resource section cbr = jQuery( "#change_booking_resource__section" ).detach(); // Append it to booking ROW cbr.appendTo( jQuery( "#ui__change_booking_resource__section_in_booking_" + booking_id ) ); cbr = null; // Hide sections of "Change booking resource" in all other bookings ROWs //jQuery( ".ui__change_booking_resource__section_in_booking" ).hide(); if ( ! jQuery( "#ui__change_booking_resource__section_in_booking_" + booking_id ).is(':visible') ){ jQuery( ".ui__under_actions_row__section_in_booking" ).hide(); } // Show only "change booking resource" section for current booking jQuery( "#ui__change_booking_resource__section_in_booking_" + booking_id ).toggle(); } function wpbc_ajx_booking__ui_click_save__change_resource( this_el, booking_action, el_id ){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : booking_action, 'booking_id' : jQuery( '#change_booking_resource__booking_id' ).val(), 'selected_resource_id' : jQuery( '#change_booking_resource__resource_select' ).val(), 'ui_clicked_element_id': el_id } ); wpbc_button_enable_loading_icon( this_el ); // wpbc_ajx_booking__ui_click_close__change_resource(); } function wpbc_ajx_booking__ui_click_close__change_resource(){ var cbrce; // Get Resource section cbrce = jQuery("#change_booking_resource__section").detach(); // Append it to hidden HTML template section at the bottom of the page cbrce.appendTo(jQuery("#wpbc_hidden_template__change_booking_resource")); cbrce = null; // Hide all change booking resources sections jQuery(".ui__change_booking_resource__section_in_booking").hide(); } /** * Duplicate booking in other resource ---------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_show__duplicate_booking( booking_id, resource_id ){ // Define ID of booking to hidden input jQuery( '#duplicate_booking_to_other_resource__booking_id' ).val( booking_id ); // Select booking resource that belong to booking jQuery( '#duplicate_booking_to_other_resource__resource_select' ).val( resource_id ).trigger( 'change' ); var cbr; // Get Resource section cbr = jQuery( "#duplicate_booking_to_other_resource__section" ).detach(); // Append it to booking ROW cbr.appendTo( jQuery( "#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id ) ); cbr = null; // Hide sections of "Duplicate booking" in all other bookings ROWs if ( ! jQuery( "#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id ).is(':visible') ){ jQuery( ".ui__under_actions_row__section_in_booking" ).hide(); } // Show only "Duplicate booking" section for current booking ROW jQuery( "#ui__duplicate_booking_to_other_resource__section_in_booking_" + booking_id ).toggle(); } function wpbc_ajx_booking__ui_click_save__duplicate_booking( this_el, booking_action, el_id ){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : booking_action, 'booking_id' : jQuery( '#duplicate_booking_to_other_resource__booking_id' ).val(), 'selected_resource_id' : jQuery( '#duplicate_booking_to_other_resource__resource_select' ).val(), 'ui_clicked_element_id': el_id } ); wpbc_button_enable_loading_icon( this_el ); // wpbc_ajx_booking__ui_click_close__change_resource(); } function wpbc_ajx_booking__ui_click_close__duplicate_booking(){ var cbrce; // Get Resource section cbrce = jQuery("#duplicate_booking_to_other_resource__section").detach(); // Append it to hidden HTML template section at the bottom of the page cbrce.appendTo(jQuery("#wpbc_hidden_template__duplicate_booking_to_other_resource")); cbrce = null; // Hide all change booking resources sections jQuery(".ui__duplicate_booking_to_other_resource__section_in_booking").hide(); } /** * Change payment status ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click_show__set_payment_status( booking_id ){ var jSelect = jQuery( '#ui__set_payment_status__section_in_booking_' + booking_id ).find( 'select' ) var selected_pay_status = jSelect.attr( "ajx-selected-value" ); // Is it float - then it's unknown if ( !isNaN( parseFloat( selected_pay_status ) ) ){ jSelect.find( 'option[value="1"]' ).prop( 'selected', true ); // Unknown value is '1' in select box } else { jSelect.find( 'option[value="' + selected_pay_status + '"]' ).prop( 'selected', true ); // Otherwise known payment status } // Hide sections of "Change booking resource" in all other bookings ROWs if ( ! jQuery( "#ui__set_payment_status__section_in_booking_" + booking_id ).is(':visible') ){ jQuery( ".ui__under_actions_row__section_in_booking" ).hide(); } // Show only "change booking resource" section for current booking jQuery( "#ui__set_payment_status__section_in_booking_" + booking_id ).toggle(); } function wpbc_ajx_booking__ui_click_save__set_payment_status( booking_id, this_el, booking_action, el_id ){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : booking_action, 'booking_id' : booking_id, 'selected_payment_status' : jQuery( '#ui_btn_set_payment_status' + booking_id ).val(), 'ui_clicked_element_id': el_id + '_save' } ); wpbc_button_enable_loading_icon( this_el ); jQuery( '#' + el_id + '_cancel').hide(); //wpbc_button_enable_loading_icon( jQuery( '#' + el_id + '_cancel').get(0) ); } function wpbc_ajx_booking__ui_click_close__set_payment_status(){ // Hide all change payment status for booking jQuery(".ui__set_payment_status__section_in_booking").hide(); } /** * Change booking cost -------------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click_save__set_booking_cost( booking_id, this_el, booking_action, el_id ){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : booking_action, 'booking_id' : booking_id, 'booking_cost' : jQuery( '#ui_btn_set_booking_cost' + booking_id + '_cost').val(), 'ui_clicked_element_id': el_id + '_save' } ); wpbc_button_enable_loading_icon( this_el ); jQuery( '#' + el_id + '_cancel').hide(); //wpbc_button_enable_loading_icon( jQuery( '#' + el_id + '_cancel').get(0) ); } function wpbc_ajx_booking__ui_click_close__set_booking_cost(){ // Hide all change payment status for booking jQuery(".ui__set_booking_cost__section_in_booking").hide(); } /** * Send Payment request -------------------------------------------------------------------------------------- */ function wpbc_ajx_booking__ui_click__send_payment_request(){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : 'send_payment_request', 'booking_id' : jQuery( '#wpbc_modal__payment_request__booking_id').val(), 'reason_of_action' : jQuery( '#wpbc_modal__payment_request__reason_of_action').val(), 'ui_clicked_element_id': 'wpbc_modal__payment_request__button_send' } ); wpbc_button_enable_loading_icon( jQuery( '#wpbc_modal__payment_request__button_send' ).get( 0 ) ); } /** * Import Google Calendar ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click__import_google_calendar(){ wpbc_ajx_booking_ajax_action_request( { 'booking_action' : 'import_google_calendar', 'ui_clicked_element_id': 'wpbc_modal__import_google_calendar__button_send' , 'booking_gcal_events_from' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_from option:selected').val() , 'booking_gcal_events_from_offset' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_from_offset' ).val() , 'booking_gcal_events_from_offset_type' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_from_offset_type option:selected').val() , 'booking_gcal_events_until' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_until option:selected').val() , 'booking_gcal_events_until_offset' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_until_offset' ).val() , 'booking_gcal_events_until_offset_type' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_until_offset_type option:selected').val() , 'booking_gcal_events_max' : jQuery( '#wpbc_modal__import_google_calendar__section #booking_gcal_events_max' ).val() , 'booking_gcal_resource' : jQuery( '#wpbc_modal__import_google_calendar__section #wpbc_booking_resource option:selected').val() } ); wpbc_button_enable_loading_icon( jQuery( '#wpbc_modal__import_google_calendar__section #wpbc_modal__import_google_calendar__button_send' ).get( 0 ) ); } /** * Export bookings to CSV ------------------------------------------------------------------------------------ */ function wpbc_ajx_booking__ui_click__export_csv( params ){ var selected_booking_id_arr = wpbc_get_selected_row_id(); wpbc_ajx_booking_ajax_action_request( { 'booking_action' : params[ 'booking_action' ], 'ui_clicked_element_id' : params[ 'ui_clicked_element_id' ], 'export_type' : params[ 'export_type' ], 'csv_export_separator' : params[ 'csv_export_separator' ], 'csv_export_skip_fields': params[ 'csv_export_skip_fields' ], 'booking_id' : selected_booking_id_arr.join(','), 'search_params' : wpbc_ajx_booking_listing.search_get_all_params() } ); var this_el = jQuery( '#' + params[ 'ui_clicked_element_id' ] ).get( 0 ) wpbc_button_enable_loading_icon( this_el ); } /** * Open URL in new tab - mainly it's used for open CSV link for downloaded exported bookings as CSV * * @param export_csv_url */ function wpbc_ajx_booking__export_csv_url__download( export_csv_url ){ //var selected_booking_id_arr = wpbc_get_selected_row_id(); document.location.href = export_csv_url;// + '&selected_id=' + selected_booking_id_arr.join(','); // It's open additional dialog for asking opening ulr in new tab // window.open( export_csv_url, '_blank').focus(); } bookings__actions.php 0000666 00000474162 15166373417 0011006 0 ustar 00 <?php /** * @version 1.0 * @description AJX_Bookings * @category AJX_Bookings Actions * @author wpdevelop * * @web-site http://oplugins.com/ * @email info@oplugins.com * * @modified 2022-06-10 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Main Ajax handler //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Ajax Actions - Get Listing Data and Response to JS script */ function wpbc_ajax_WPBC_AJX_BOOKING_ACTIONS() { if ( ! isset( $_POST['action_params'] ) || empty( $_POST['action_params'] ) ) { exit; } $ajax_errors = new WPBC_AJAX_ERROR_CATCHING(); // Security ----------------------------------------------------------------------------------------------- // in Ajax Post: 'nonce': wpbc_ajx_booking_listing.get_secure_param( 'nonce' ), $action_name = 'wpbc_ajx_booking_listing_ajx' . '_wpbcnonce'; $nonce_post_key = 'nonce'; $result_check = check_ajax_referer( $action_name, $nonce_post_key ); $user_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); // Get clean Parameters for SQL --------------------------------------------------------------------------- $request_rules_structure = array( 'booking_action' => array( 'validate' => array( 'set_booking_locale', 'set_booking_pending' , 'set_booking_approved', 'move_booking_to_trash', 'restore_booking_from_trash', 'delete_booking_completely', 'set_booking_as_read', 'set_booking_as_unread', 'empty_trash', 'set_booking_note', 'change_booking_resource', 'duplicate_booking_to_other_resource', 'set_payment_status', 'set_booking_cost', 'send_payment_request', 'import_google_calendar', 'export_csv', 'feedback_01' ), 'default' => '' ), 'booking_id' => array( 'validate' => 'digit_or_csd', 'default' => 0 ), 'selected_resource_id' => array( 'validate' => 'd', 'default' => 0 ), 'booking_meta_locale' => array( 'validate' => 's', 'default' => '' ), 'reason_of_action' => array( 'validate' => 's', 'default' => '' ), 'remark' => array( 'validate' => 's', 'default' => '' ), 'ui_clicked_element_id' => array( 'validate' => 's', 'default' => '' ), 'selected_payment_status' => array( 'validate' => 's', 'default' => '' ), 'booking_cost' => array( 'validate' => 's', 'default' => '' ), 'export_type' => array( 'validate' => array( 'csv_all', 'csv_page' ), 'default' => 'csv_page' ), 'csv_export_separator' => array( 'validate' => array( 'semicolon', 'comma' ), 'default' => ';' ), 'csv_export_skip_fields' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_from' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_from_offset' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_from_offset_type' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_until' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_until_offset' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_until_offset_type' => array( 'validate' => 's', 'default' => '' ), 'booking_gcal_events_max' => array( 'validate' => 'd', 'default' => 25 ), 'booking_gcal_resource' => array( 'validate' => 's', 'default' => '' ), 'feedback__note' => array( 'validate' => 's', 'default' => '' ), 'feedback_stars' => array( 'validate' => 'd', 'default' => 0 ) ); $user_request = new WPBC_AJX__REQUEST( array( 'db_option_name' => 'booking_listing_request_params', 'user_id' => wpbc_get_current_user_id(), 'request_rules_structure' => $request_rules_structure ) ); $request_prefix = 'action_params'; $request_params = $user_request->get_sanitized__in_request__value_or_default( $request_prefix ); // NOT Direct: $_REQUEST['action_params']['resource_id'] $action_result = array(); switch ( $request_params['booking_action'] ) { case 'set_booking_locale': $action_result = wpbc_booking_do_action__set_booking_locale( $request_params['booking_id'] , array( 'user_id' => $user_id, 'booking_locale' => $request_params['booking_meta_locale'] ) ); break; case 'set_booking_pending': // Pending $action_result = wpbc_booking_do_action__set_booking_approved_or_pending( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_approve' => '0' ) ); break; case 'set_booking_approved': // Approve $action_result = wpbc_booking_do_action__set_booking_approved_or_pending( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_approve' => '1' ) ); break; case 'move_booking_to_trash': // Approve $action_result = wpbc_booking_do_action__trash_booking_or_restore( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_trash' => '1' ) ); break; case 'restore_booking_from_trash': $action_result = wpbc_booking_do_action__trash_booking_or_restore( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_trash' => '0' ) ); break; case 'delete_booking_completely': $action_result = wpbc_booking_do_action__delete_booking_completely( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], ) ); break; case 'set_booking_as_read': $action_result = wpbc_booking_do_action__set_booking_as_read_unread( $request_params['booking_id'] , array( 'user_id' => $user_id, 'is_new' => '0' ) ); break; case 'set_booking_as_unread': $action_result = wpbc_booking_do_action__set_booking_as_read_unread( $request_params['booking_id'] , array( 'user_id' => $user_id, 'is_new' => '1' ) ); break; case 'empty_trash': $action_result = wpbc_booking_do_action__empty_trash( array( 'user_id' => $user_id ) ); break; case 'set_booking_note': $action_result = wpbc_booking_do_action__set_booking_note( $request_params['booking_id'] , array( 'user_id' => $user_id, 'remark' => $request_params['remark'], ) ); break; case 'change_booking_resource': // Pending $action_result = wpbc_booking_do_action__change_booking_resource( $request_params['booking_id'] , $request_params['selected_resource_id'] , array( 'user_id' => $user_id ) ); break; case 'duplicate_booking_to_other_resource': $action_result = wpbc_booking_do_action__duplicate_booking_to_other_resource( $request_params['booking_id'] , $request_params['selected_resource_id'] , array( 'user_id' => $user_id ) ); break; case 'set_payment_status': $action_result = wpbc_booking_do_action__set_payment_status( $request_params['booking_id'] , $request_params['selected_payment_status'] , array( 'user_id' => $user_id ) ); break; case 'set_booking_cost': $action_result = wpbc_booking_do_action__set_booking_cost( $request_params['booking_id'] , $request_params['booking_cost'] , array( 'user_id' => $user_id ) ); break; case 'send_payment_request': $action_result = wpbc_booking_do_action__send_payment_request( $request_params['booking_id'] , $request_params['reason_of_action'] , array( 'user_id' => $user_id ) ); break; case 'import_google_calendar': $action_result = wpbc_booking_do_action__import_google_calendar( $request_params , array( 'user_id' => $user_id ) ); break; case 'export_csv': $action_result = wpbc_booking_do_action__export_csv( $request_params , array( 'user_id' => $user_id ) ); break; case 'feedback_01': $action_result = wpbc_booking_do_action__feedback_01( $request_params , array( 'user_id' => $user_id ) ); break; default: } $defaults = array( 'new_listing_params' => false // required for Import Google Calendar bookings , 'after_action_result' => false , 'after_action_message' => sprintf( __('No actions %s has been processed.', 'booking') , ' <strong>' . $request_params['booking_action'] . '</strong> ' ) ); $action_result = wp_parse_args( $action_result, $defaults ); // Check if there were some errors -------------------------------------------------------------------------------- $error_messages = $ajax_errors->get_error_messages(); if ( ! empty( $error_messages ) ) { $action_result['after_action_message'] .= $error_messages; } // Hook for other integrations do_action( 'wpbc_' . $request_params['booking_action'], $request_params, $action_result ); //FixIn: 9.5.3.3 //------------------------------------------------------------------------------------------------------------------ // Send JSON. Its will make "wp_json_encode" - so pass only array, and This function call wp_die( '', '', array( 'response' => null, ) ) Pass JS OBJ: response_data in "jQuery.post( " function on success. wp_send_json( array( 'ajx_action_params' => $_REQUEST['action_params'], // Do not clean input parameters 'ajx_cleaned_params' => $request_params, // Cleaned input parameters 'ajx_after_action_message' => $action_result['after_action_message'], // Message to show 'ajx_after_action_result' => (int) $action_result['after_action_result'], // Result key 0 | 1 'ajx_after_action_result_all_params_arr' => $action_result // All result parameters ) ); } // <editor-fold defaultstate="collapsed" desc=" == Ajax Actions for bookings == " > /** * Action: set booking as Locale * * @param int $booking_id ID of booking 10 * @param $params * * @return array */ function wpbc_booking_do_action__set_booking_locale( $booking_id, $params ){ $booking_locale = $params['booking_locale']; // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( $booking_id, sprintf( __( 'Booking locale changed to %s by:', 'booking' ), $booking_locale ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Action --------------------------------------------------------------------------------------------------------- $option_arr = array( 'booking_meta_locale' => $booking_locale ); $result = wpbc_save_booking_meta_option( $booking_id, $option_arr ); if ( $result ) { $after_action_result = true; $after_action_message = ( ( false === strpos( $booking_id, ',' ) ) ? sprintf( __( 'Booking has been changed locale to %s', 'booking' ), "<strong>{$booking_locale}</strong>" ) : sprintf( __( 'Bookings have been changed locale to %s', 'booking' ), "<strong>{$booking_locale}</strong>" ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id . '</strong> )</span>'; } else { $after_action_result = false; $after_action_message = ( ( false === strpos( $booking_id, ',' ) ) ? sprintf( __( 'Booking has NOT been changed locale to %s', 'booking' ), "<strong>{$booking_locale}</strong>" ) : sprintf( __( 'Bookings have NOT been changed locale to %s', 'booking' ), "<strong>{$booking_locale}</strong>" ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id . '</strong> )</span>'; } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: Get Google Calendar Link * * @param $booking_data array( 'form_data' => array( ... ) 'form_show' => .... 'dates_short' => array( ... ) ) * * @return string URL of encoded link for adding to Google Calendar */ function wpbc_booking_do_action__get_google_calendar_link( $booking_data ){ $params = array(); $params['timezone'] = get_bk_option('booking_gcal_timezone'); $booking_gcal_events_form_fields = maybe_unserialize( get_bk_option( 'booking_gcal_events_form_fields') ); // array( [title]=>text^name, [description]=>textarea^details, [where]=>text^ ) // Fields ---------------------------------------------------------------------------------------------------------- $fields = array( 'title' => '', 'description' => '', 'where' => '' ); foreach ( $fields as $key_name => $field_value ) { if ( ! empty( $booking_gcal_events_form_fields[ $key_name ] ) ) { $field_name = explode( '^', $booking_gcal_events_form_fields[ $key_name ] ); $field_name = $field_name[ ( count( $field_name ) - 1 ) ]; //FixIn: 8.7.7.6 if ( 'description' === $key_name ) { //FixIn: 8.1.3.2 if ( isset( $booking_data['form_show'] ) ) { //FixIn: 8.7.3.14 //FixIn: 8.7.11.4 $fields[ $key_name ] = $booking_data['form_show']; $fields[ $key_name ] = htmlspecialchars_decode($fields[ $key_name ], ENT_QUOTES ); $fields[ $key_name ] = urlencode($fields[ $key_name ]); $fields[ $key_name ] = htmlentities($fields[ $key_name ] ); $fields[ $key_name ] = htmlspecialchars_decode ( $fields[ $key_name ], ENT_NOQUOTES ); } } else if ( ( ! empty( $field_name ) ) && ( ! empty( $booking_data['form_data'] ) ) && ( ! empty( $booking_data['form_data'][ $field_name ] ) ) ) { //FixIn: 8.7.11.4 $fields[ $key_name ] = $booking_data['form_data'][ $field_name ]; $fields[ $key_name ] = htmlspecialchars_decode($fields[ $key_name ], ENT_QUOTES ); /** * // Convert here from usual symbols to URL symbols https://www.url-encode-decode.com/ $fields[ $key_name ] = str_replace( array( '%','#', '+', '&' ) , array( '%25','%23', '%2B', '%26') , $fields[ $key_name ] ); */ $fields[ $key_name ] = urlencode($fields[ $key_name ]); $fields[ $key_name ] = htmlentities($fields[ $key_name ] ); $fields[ $key_name ] = htmlspecialchars_decode ( $fields[ $key_name ], ENT_NOQUOTES ); } } } // Dates ----------------------------------------------------------------------------------------------------------- $check_in_timestamp = $check_out_timestamp = ''; if ( ! empty( $booking_data[ 'dates_short' ] ) ) { /** * All day events, you can use 20161208/20161209 - note that the old google documentation gets it wrong. * You must use the following date as the end date for a one day all day event, * or +1 day to whatever you want the end date to be. */ $check_in_timestamp = strtotime( $booking_data[ 'dates_short' ][ 0 ], current_time( 'timestamp' ) ); $check_out_timestamp = strtotime( $booking_data[ 'dates_short' ][ ( count( $booking_data[ 'dates_short' ] ) - 1 ) ], current_time( 'timestamp' ) ); if ( trim( substr( $booking_data[ 'dates_short' ][ 0 ], 11 ) ) == '00:00:00' ) { if ( trim( substr( $booking_data[ 'dates_short' ][ ( count( $booking_data[ 'dates_short' ] ) - 1 ) ], 11 ) ) == '00:00:00' ) { $check_in_timestamp = date( "Ymd", $check_in_timestamp ); // All day } else { $check_in_timestamp = date( "Ymd\T000000", $check_in_timestamp ); // All day starting on 00:00:00 //FixIn: 10.0.0.28 } } else { $check_in_timestamp = date( "Ymd\THis", $check_in_timestamp ); //$check_in_timestamp = date( "Ymd\THis\Z", $check_in_timestamp ); } if ( trim( substr( $booking_data[ 'dates_short' ][ ( count( $booking_data[ 'dates_short' ] ) - 1 ) ], 11 ) ) == '00:00:00' ) { $check_out_timestamp = strtotime( '+1 day', $check_out_timestamp ); $check_out_timestamp = date( "Ymd", $check_out_timestamp ); // All day } else { $check_out_timestamp = date( "Ymd\THis", $check_out_timestamp ); //$check_out_timestamp = date( "Ymd\THis\Z", $check_out_timestamp ); } } // Link ----------------------------------------------------------------------------------------------------------- /** * Convert an ISO date/time to a UNIX timestamp function iso_to_ts( $iso ) { sscanf( $iso, "%u-%u-%uT%u:%u:%uZ", $year, $month, $day, $hour, $minute, $second ); return mktime( $hour, $minute, $second, $month, $day, $year ); 20140127T224000Z date("Ymd\THis\Z", time()); */ /** * action: action=TEMPLATE A default required parameter. src: Example: src=default%40gmail.com Format: src=text This is not covered by Google help but is an optional parameter in order to add an event to a shared calendar rather than a user's default. text: Example: text=Garden%20Waste%20Collection Format: text=text This is a required parameter giving the event title. dates: Example: dates=20090621T063000Z/20090621T080000Z (i.e. an event on 21 June 2009 from 7.30am to 9.0am British Summer Time (=GMT+1)). Format: dates=YYYYMMDDToHHMMSSZ/YYYYMMDDToHHMMSSZ This required parameter gives the start and end dates and times (in Greenwich Mean Time) for the event. location: Example: location=Home Format: location=text The obvious location field. trp: Example: trp=false Format: trp=true/false Show event as busy (true) or available (false) sprop: Example: sprop=http%3A%2F%2Fwww.me.org Example: sprop=name:Home%20Page Format: sprop=website and/or sprop=name:website_name */ //$link_add2gcal = 'http://www.google.com/calendar/event?action=TEMPLATE'; //$link_add2gcal .= '&text=' . $fields['title']; $link_add2gcal = 'https://calendar.google.com/calendar/r/eventedit?'; //FixIn: 8.7.3.10 $link_add2gcal .= 'text=' . $fields['title']; //FixIn: 8.7.11.4 $link_add2gcal .= '&dates=' . $check_in_timestamp . '/' . $check_out_timestamp; //$link_add2gcal .= '&dates=[start-custom format='Ymd\\THi00\\Z']/[end-custom format='Ymd\\THi00\\Z']'; $link_add2gcal .= '&details=' . ( ( 'On' !== get_bk_option( 'booking_g_cal_export_no_data' ) ) ? $fields['description'] : '' ); //FixIn: 10.3.0.1 //FixIn: 8.7.11.4 $link_add2gcal .= '&location=' . ( ( 'On' !== get_bk_option( 'booking_g_cal_export_no_data' ) ) ? $fields['where'] : '' ); //FixIn: 8.7.11.4 $link_add2gcal .= '&trp=false'; if ( ! empty( $params['timezone'] ) ) { $link_add2gcal .= '&ctz=' . str_replace( '%', '%25', $params['timezone'] ); //FixIn: 8.7.3.10 //TimeZone } //$link_add2gcal .= '&sprop='; //$link_add2gcal .= '&sprop=name:'; return $link_add2gcal; } /** * Action: move booking to Trash | Restore * * @param $booking_id_arr array or int of booking ID * @param $params array array of parameters: array( 'user_id' => 1, 'reason_of_action' => 'Because...', 'is_trash' => '1' ) * * @return array * * Example: */ function wpbc_booking_do_action__trash_booking_or_restore( $booking_id_arr, $params ){ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_is_csd = join( ',', $booking_id_arr ); $booking_is_csd = wpbc_clean_digit_or_csd( $booking_is_csd ); // Get reason of action -------------------------------------------------------------------------------------------- $action_reason = $params['reason_of_action']; // stripslashes( $params['reason_of_action'] ); // translate words like don\'t to don't // Get reason of action -------------------------------------------------------------------------------------------- $is_trash_or_restore = $params['is_trash']; // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_is_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; if ( $is_trash_or_restore == '1' ) { $after_action_message = '<strong style="font-size: 1.4em;">' . count( explode( ',', $booking_is_csd ) ) .'</strong> ' . ( ( false === strpos( $booking_is_csd, ',' ) ) ? sprintf( __( 'Booking has been %s trashed %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been %s trashed %s', 'booking' ) , '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_is_csd . '</strong> )</span>'; } else { $after_action_message = '<strong style="font-size: 1.4em;">' . count( explode( ',', $booking_is_csd ) ) .'</strong> ' . ( ( false === strpos( $booking_is_csd, ',' ) ) ? sprintf( __( 'Booking has been set as %s restored %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been set as %s restored %s', 'booking' ), '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_is_csd . '</strong> )</span>'; } // SQL --------------------------------------------------------------------------------------------------- global $wpdb; $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.trash = %s WHERE booking_id IN ({$booking_is_csd})", $is_trash_or_restore ); if ( $is_trash_or_restore == '1' ) { // Trash $my_trash_date = wpbc_datetime_localized( date( 'Y-m-d H:i:s' ), 'Y-m-d H:i:s' ); $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.trash = %s, bk.is_trash = %s WHERE booking_id IN ({$booking_is_csd})", $is_trash_or_restore, $my_trash_date ); } else { // Restore $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.trash = %s, bk.is_trash = NULL WHERE booking_id IN ({$booking_is_csd})", $is_trash_or_restore ); } $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // Update the Hash and Cost of the booking $bk_id_arr = explode(',', $booking_is_csd ); //FixIn: 8.6.1.11 foreach ( $bk_id_arr as $bk_id ) { wpbc_hash__update_booking_hash( $bk_id ); } // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $booking_is_csd ), ( ( $is_trash_or_restore == '1' ) ? __( 'Trashed by:', 'booking' ) : __( 'Restored by:', 'booking' ) ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // :: ? :: Update 'is_new' status of bookings in Database // wpbc_db_update_number_new_bookings( explode( ',', $booking_is_csd ), '0', $params['user_id'] ); // Just action hook for some other addons do_action( 'wpbc_booking_action__trash', $booking_is_csd, $is_trash_or_restore ); //FixIn: 8.7.6.2 // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { if ( $is_trash_or_restore == '1' ) { wpbc_send_email_trash( $booking_is_csd, $is_send_emeils, $action_reason ); } else { //wpbc_send_email_approved( $booking_is_csd, $is_send_emeils, $action_reason ); //wpbc_send_email_deny( $booking_is_csd, $is_send_emeils, $action_reason ); } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: set booking as Approved | Pending * * @param $booking_id_arr array or int of booking ID * @param $params array array of parameters: array( 'user_id' => 1, 'reason_of_action' => 'Because...', 'is_approve' => '1' ) * * @return array * * Example: * Approved: $action_result = wpbc_booking_do_action__set_booking_approved_or_pending( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_approve' => '1' ) ); * Pending: $action_result = wpbc_booking_do_action__set_booking_approved_or_pending( $request_params['booking_id'] , array( 'user_id' => $user_id, 'reason_of_action' => $request_params['reason_of_action'], 'is_approve' => '0' ) ); */ function wpbc_booking_do_action__set_booking_approved_or_pending( $booking_id_arr, $params ){ /** * * For creation of new bookings or editing use something like this: * // Be sure to make load in Booking Listing this: wp_enqueue_script( 'wpbc-main-client', wpbc_plugin_url( '/js/client.js' ), array( 'wpbc-datepick' ), WP_BK_VERSION_NUM ); new wpdev_booking(); // Define ability to work with shortcodes $return_sh = do_shortcode('[booking type=1 nummonths=2]'); wp_send_json($return_sh); // Send calendar */ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Get reason of action -------------------------------------------------------------------------------------------- $action_reason = $params['reason_of_action']; // stripslashes( $params['reason_of_action'] ); // translate words like don\'t to don't // Get reason of action -------------------------------------------------------------------------------------------- $is_approve_or_pending = $params['is_approve']; // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; if ( $is_approve_or_pending == '1' ) { $after_action_message = '<strong style="font-size: 1.4em;">' . count( explode( ',', $booking_id_csd ) ) .'</strong> ' . ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'Booking has been %s approved %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been %s approved %s', 'booking' ) , '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>'; } else { $after_action_message = '<strong style="font-size: 1.4em;">' . count( explode( ',', $booking_id_csd ) ) .'</strong> ' . ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'Booking has been set as %s pending %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been set as %s pending %s', 'booking' ), '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>'; } // SQL --------------------------------------------------------------------------------------------------- global $wpdb; $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}bookingdates SET approved = %s WHERE booking_id IN ({$booking_id_csd})", $is_approve_or_pending ); $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $booking_id_csd ), ( ( $is_approve_or_pending == '1' ) ? __( 'Approved by:', 'booking' ) : __( 'Declined by:', 'booking' ) ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Update 'is_new' status of bookings in Database wpbc_db_update_number_new_bookings( explode( ',', $booking_id_csd ), '0', $params['user_id'] ); // Just action hook for some other addons do_action( 'wpbc_booking_action__approved', $booking_id_csd, $is_approve_or_pending ); //FixIn: 8.7.6.1 // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { if ( $is_approve_or_pending == '1' ) { wpbc_send_email_approved( $booking_id_csd, $is_send_emeils, $action_reason ); } else { wpbc_send_email_deny( $booking_id_csd, $is_send_emeils, $action_reason ); } } // Cancel other pending bookings for the same date ------------------------------------------------------------ if ( $is_approve_or_pending == '1' ) { $all_bk_id_what_canceled = apply_bk_filter( 'cancel_pending_same_resource_bookings_for_specific_dates', false, $booking_id_csd ); } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: booking Completely Delete * * @param $booking_id_arr array or int of booking ID * @param $params array array of parameters: array( 'user_id' => 1, 'reason_of_action' => 'Because...' ) * * @return array * * Example: */ function wpbc_booking_do_action__delete_booking_completely( $booking_id_arr, $params ){ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_is_csd = join( ',', $booking_id_arr ); $booking_is_csd = wpbc_clean_digit_or_csd( $booking_is_csd ); // Get reason of action -------------------------------------------------------------------------------------------- $action_reason = $params['reason_of_action']; // stripslashes( $params['reason_of_action'] ); // translate words like don\'t to don't // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_is_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $bookings_count = '<strong style="font-size: 1.4em;">' . count( explode( ',', $booking_is_csd ) ) .'</strong> '; $after_action_message = $bookings_count . ' ' . ( ( false === strpos( $booking_is_csd, ',' ) ) ? strtolower( sprintf( __( 'Booking has been %s deleted %s', 'booking' ), '<strong>', '</strong>' ) ) : strtolower( sprintf( __( 'Bookings have been %s deleted %s', 'booking' ) , '<strong>', '</strong>' ) ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . implode( ', ', explode( ',', $booking_is_csd ) ) . '</strong> )</span>'; // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $booking_is_csd ), __( 'Deleted by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__delete', $booking_is_csd ); //FixIn: 8.7.6.3 // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { wpbc_send_email_deleted( $booking_is_csd, $is_send_emeils, $action_reason ); } // SQL --------------------------------------------------------------------------------------------------- global $wpdb; // Dates $prepared_sql = "DELETE FROM {$wpdb->prefix}bookingdates WHERE booking_id IN ({$booking_is_csd})"; $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during deleting dates in DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // Bookings $prepared_sql = "DELETE FROM {$wpdb->prefix}booking WHERE booking_id IN ({$booking_is_csd})"; $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during deleting bookings in DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: set booking as Read (Old) | Unread (New) * * @param $booking_id_arr array or int of booking ID * @param $params array array of parameters: array( 'user_id' => 1, 'is_new' => '1' ) * * @return array * * Example: $action_result = wpbc_booking_do_action__set_booking_as_read_unread( $request_params['booking_id'] , array( 'user_id' => $user_id, 'is_new' => '0' ) ); */ function wpbc_booking_do_action__set_booking_as_read_unread( $booking_id_arr, $params ){ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Get reason of action -------------------------------------------------------------------------------------------- $is_new = $params['is_new']; // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; if ( $is_new == '1' ) { $after_action_message = ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'Booking has been set as %s new %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been set as %s new %s', 'booking' ) , '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . (( '-1' == $booking_id_csd ) ? __( 'all', 'booking' ) : $booking_id_csd) . '</strong> )</span>'; } else { $after_action_message = ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'The booking has been marked as %s read %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been marked as %s read %s', 'booking' ), '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . (( '-1' == $booking_id_csd ) ? __( 'all', 'booking' ) : $booking_id_csd) . '</strong> )</span>'; } // SQL --------------------------------------------------------------------------------------------------- global $wpdb; if ('-1' == $booking_id_csd ){ $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.is_new = %s", $is_new ); $prepared_sql .= " WHERE ( 1 = 1 ) "; $prepared_sql = apply_bk_filter('update_where_sql_for_getting_bookings_in_multiuser', $prepared_sql ); } else { $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.is_new = %s WHERE booking_id IN ({$booking_id_csd})", $is_new ); } $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $booking_id_csd ), ( ( $is_new == '1' ) ? __( 'Set as unread by:', 'booking' ) : __( 'Set as read by:', 'booking' ) ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__changed_new_status', $booking_id_csd, $is_new ); //FixIn: 8.7.6.1 // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { if ( $is_new == '1' ) { //wpbc_send_email_approved( $booking_id_csd, $is_send_emeils, $action_reason ); } else { //wpbc_send_email_deny( $booking_id_csd, $is_send_emeils, $action_reason ); } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: Emty Trash * * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array * * Example: */ function wpbc_booking_do_action__empty_trash( $params ){ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // Get bookings ID to delete ------------------------------------------------------------------------------- global $wpdb; $sql = "SELECT * FROM {$wpdb->prefix}booking as bk WHERE bk.trash = 1"; $sql = apply_bk_filter( 'update_where_sql_for_getting_bookings_in_multiuser', $sql, $params['user_id'] ); // Get booking resources of this user only: $user_id $max_bookings_to_erase = 1000; $sql .= " LIMIT 0, " . $max_bookings_to_erase; $bookings_in_trash = $wpdb->get_results( $sql ); //Get ID of all bookings in a trash. $bookings_id_in_trash_arr = array(); foreach ( $bookings_in_trash as $booking_obj ) { $bookings_id_in_trash_arr[] = $booking_obj->booking_id; } $booking_is_csd = implode( ',', $bookings_id_in_trash_arr ); // Empty trash ------------------------------------------------------------------------------------------------ if ( empty( $booking_is_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings in trash to erase.', 'booking' ); } else { $after_action_result = true; if ( count( $bookings_id_in_trash_arr ) < $max_bookings_to_erase ) { $after_action_message = sprintf( __( 'Trash has been erased.', 'booking' ) , '<strong>', '</strong>' ) . ' <span style="font-size:0.9em;">( ID = <strong>' . substr( $booking_is_csd, 0 , 500 ) . '</strong> )</span>'; } else { $after_action_message = sprintf( __( 'From trash has been erased %s bookings.', 'booking' ) , '<strong> ' . count( $bookings_id_in_trash_arr ) . ' </strong> ' ) ; } // LOG ----------------------------------------------------------------------------------------------------- // $curr_user = get_user_by( 'id', (int) $params['user_id'] ); // wpbc_db__add_log_info( explode( ',', $booking_is_csd ), // __( 'Deleted by:', 'booking' ) // . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' // ); // Just action hook for some other addons do_action( 'wpbc_booking_action__empty_trash' ); //FixIn: 8.7.6.3 // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { // wpbc_send_email_deleted( $booking_is_csd, $is_send_emeils, __( 'Empty Trash', 'booking' ) ); } // SQL --------------------------------------------------------------------------------------------------- // Dates $prepared_sql = "DELETE FROM {$wpdb->prefix}bookingdates WHERE booking_id IN ({$booking_is_csd})"; $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during deleting dates in DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // Bookings $prepared_sql = "DELETE FROM {$wpdb->prefix}booking WHERE booking_id IN ({$booking_is_csd})"; $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during deleting bookings in DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: save booking Remark * * @param $booking_id_arr array or int of booking ID * @param $params array array of parameters: array( 'user_id' => 1, 'remark' => 'Because...') * * @return array * * Example: */ function wpbc_booking_do_action__set_booking_note( $booking_id_arr, $params ){ make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ------------------------------------------------------------ if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Get remark -------------------------------------------------------------------------------------------------- $remark_text = $params['remark']; // stripslashes( $params['reason_of_action'] ); // translate words like don\'t to don't // Is send email for this action ------------------------------------------------------------------------------ // $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = __( 'Note has been saved', 'booking' ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>'; // SQL --------------------------------------------------------------------------------------------------- global $wpdb; $prepared_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking SET remark = %s WHERE booking_id IN ({$booking_id_csd})", $remark_text ); $after_action_result = $wpdb->query( $prepared_sql ); if ( false === $after_action_result ) { $after_action_message = 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { $after_action_result = true; } // LOG --------------------------------------------------------------------------------------------------------- if (0) { $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $booking_id_csd ), __( 'Note saved by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); } // Just action hook for some other addons do_action( 'wpbc_booking_action__note_saved', $booking_id_csd, $remark_text ); // Emails ------------------------------------------------------------------------------------------------------ if ( 0 ) { if ( ! empty( $is_send_emeils ) ) { wpbc_send_email_approved( $booking_id_csd, $is_send_emeils, $remark_text ); } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: change Booking Resource * * @param $booking_id_arr array or int of booking ID * @param $selected_resource_id int of booking resource * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array * * Example: */ function wpbc_booking_do_action__change_booking_resource( $booking_id_arr, $selected_resource_id, $params ) { make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // ID of booking resource ------------------------------------------------------------------------------------------ $selected_resource_id = intval($selected_resource_id); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'Booking has been changed %s booking resource %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been changed %s booking resource %s', 'booking' ), '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>'; $work_booking_id_arr = explode( ',', $booking_id_csd ); foreach ( $work_booking_id_arr as $selected_booking_id ) { // SQL --------------------------------------------------------------------------------------------------- list( $after_action_result, $after_action_message, $formdata_new ) = wpbc__sql__change_booking_resource_for_booking( $selected_booking_id, $selected_resource_id ); if ( $after_action_result ) { // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $selected_booking_id ), __( 'Booking resource changed by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__change_booking_resource', $selected_booking_id, $selected_resource_id ); // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { wpbc_send_email_modified( $selected_booking_id, $selected_resource_id, $formdata_new ); } } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Change booking resource for specific booking -- SQL manipulation * @param $selected_booking_id * @param $selected_resource_id * * @return array */ function wpbc__sql__change_booking_resource_for_booking( $selected_booking_id, $selected_resource_id ){ global $wpdb; $booking_id = intval( $selected_booking_id ); $resource_id = intval( $selected_resource_id ); $db_form_data_new = ''; //////////////////////////////////////////////////////////////////////////////////////////////////////////// // 1.Get dates of SOURCE booking //////////////////////////////////////////////////////////////////////////////////////////////////////////// if ( 1 ) { // 1.1.Get booking data of SOURCE booking $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk WHERE booking_id = %d ", $booking_id ); $res = $wpdb->get_row( $sql ); $db_form_data_old = $res->form; $resource_id_old = $res->booking_type; // 1.2. Get dates of SOURCE booking $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}bookingdates as dt WHERE booking_id = %d ORDER BY booking_date ASC ", $booking_id ); $old_resource_dates_array = $wpdb->get_results( $sql ); } //TODO: 2023-10-03 14:49 this is new workflow have to be: if (0){ $booking_p = array( 'dates' => TRANSFORM_IT( $old_resource_dates_array ) // -> array( '2017-06-23 14:00:01', '2017-06-24 00:00:00', '2017-06-25', '2017-06-26 12:00:02' ) , 'resource_id' => $resource_id , 'params' => array() // 'is_use_booking_recurrent_time' => false ) // Commented, because get from Booking > Settings General page ); $is_dates_booked = wpbc_api_is_dates_booked( $booking_p[ 'dates' ], $booking_p[ 'resource_id' ], $booking_p[ 'params' ] ); } //////////////////////////////////////////////////////////////////////////////////////////////////////////// // 2. Get bookings of selected booking resource - checking if some dates there is booked or not //////////////////////////////////////////////////////////////////////////////////////////////////////////// $exist_dates_results = wpbc_get_booking_dates_in_resource_for_folowing_dates( $old_resource_dates_array , $resource_id ); if ( ( count( $exist_dates_results ) == 3 ) && ( false === $exist_dates_results[0] ) ){ // // ERROR :: number of check in/dates does not equal to number of check out dates. return $exist_dates_results; } if ( get_bk_option('booking_change_resource_skip_checking') === 'On' ) { //FixIn: 8.4.5.4 $is_date_time_booked = false; } else { $is_date_time_booked = wpbc_check_dates_intersections( $old_resource_dates_array, $exist_dates_results ); } if ( $is_date_time_booked ) { $after_action_result = false; $after_action_message = __( 'Warning! The resource was not changed. Current dates are already booked there.', 'booking' ); } else { // Possible to change $db_form_data_new = wpbc_update_resource_id_in_dbformatted_booking_data( $db_form_data_old, $resource_id_old, $resource_id ); // Update $update_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.form=%s, bk.booking_type=%d WHERE bk.booking_id=%d;" , $db_form_data_new, $resource_id, $booking_id ); if ( false === $wpdb->query( $update_sql ) ) { $after_action_result = false; $after_action_message = get_debuge_error( 'Error during updating booking reource type in BD', __FILE__, __LINE__ ); return array( $after_action_result, $after_action_message, $db_form_data_new ); } if ( class_exists( 'wpdev_bk_biz_l' ) ) { $update_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}bookingdates SET type_id=NULL WHERE booking_id=%d ", $booking_id ); if ( false === $wpdb->query( $update_sql ) ) { $after_action_result = false; $after_action_message = get_debuge_error( 'Error during updating dates type in BD', __FILE__, __LINE__ ); return array( $after_action_result, $after_action_message, $db_form_data_new ); } } $booking_resources_arr = wpbc_ajx_get_all_booking_resources_arr(); $after_action_result = true; $after_action_message = sprintf( __( 'Booking %s has been changed booking resource from %s to %s' ) , '<strong>[ID=' . $booking_id . ']</strong>' , '<strong>' . wpbc_lang( $booking_resources_arr[ $resource_id_old ]['title'] ) . '</strong>' , '<strong>' . wpbc_lang( $booking_resources_arr[ $resource_id ]['title'] ) . '</strong>' ); // Everything Cool :) - booking resource changed } return array( $after_action_result, $after_action_message , $db_form_data_new ); } /** * Get booking dates (bookings obj) of selected booking resource - checking if some dates there is booked or not * * @param $old_resource_dates_array array of OBJ with ..->booking_date * @param int $resource_id Resource ID, where we get dates. * * @return array array of booking OBJ with ..->booking_date */ function wpbc_get_booking_dates_in_resource_for_folowing_dates( $old_resource_dates_array , $resource_id ){ global $wpdb; $dates_sql_between = ''; $check_in_dates_arr = array(); $check_out_dates_arr = array(); if ( 'On' === get_bk_option( 'booking_recurrent_time' ) ) { // If we are using recurrent time slots ? foreach ( $old_resource_dates_array as $k => $v ) { if ( ':02' == substr( $v->booking_date, - 3 ) ) { $check_out_dates_arr[] = $v->booking_date; } if ( ':01' == substr( $v->booking_date, - 3 ) ) { $check_in_dates_arr[] = $v->booking_date; } } if ( count( $check_out_dates_arr ) == count( $check_in_dates_arr ) ) { $dates_sql_between_arr = array(); foreach ( $check_in_dates_arr as $k => $v ) { $dates_sql_between_arr [] = ' ( dt.booking_date BETWEEN "' . $check_in_dates_arr[ $k ] . '" AND "' . $check_out_dates_arr[ $k ] . '" ) '; } $dates_sql_between = implode( 'OR', $dates_sql_between_arr ); //TODO: remove (), if only 1 element in array } else { // ERROR :: number of check in/dates does not equal to number of check out dates. $after_action_result = false; $after_action_message = '<strong>Error</strong>. Number of check in times of booking dates does not equal to number of check out days.' . '<br>Check in dates: ' . implode( ', ', $check_in_dates_arr ) . '<br>Check out dates: ' . implode( ', ', $check_out_dates_arr ); return array( $after_action_result, $after_action_message, '' ); } } if ( '' == $dates_sql_between ) { $temp_check_in = $old_resource_dates_array[0]->booking_date; $temp_check_out = $old_resource_dates_array[ ( count( $old_resource_dates_array ) - 1 ) ]->booking_date; if ( ':02' != substr( $temp_check_out, - 3 ) ) { $temp_check_out = date( 'Y-m-d H:i:s', strtotime( '+1 day -1 second', strtotime( $temp_check_out ) ) ); } $dates_sql_between .= ' dt.booking_date BETWEEN "' . $temp_check_in . '" AND "' . $temp_check_out . '" '; } $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk INNER JOIN {$wpdb->prefix}bookingdates as dt ON bk.booking_id = dt.booking_id WHERE bk.trash != 1 AND bk.booking_type = %d", $resource_id ); $sql .= " AND ( {$dates_sql_between} ) "; // In BL version its does not check for booking belonging to several booking resources if ( class_exists( 'wpdev_bk_biz_l' ) ) { $sql .= " OR bk.booking_id IN ( " . " SELECT DISTINCT booking_id FROM {$wpdb->prefix}bookingdates as dtt WHERE dtt.type_id = {$resource_id} " //."AND DATE(dt.booking_date) IN ( {$dates_string} )" . " AND ( " . str_replace( 'dt.', 'dtt.', $dates_sql_between ) . " ) " . ") "; } $sql .= " ORDER BY bk.booking_id DESC, dt.booking_date ASC "; $exist_dates_results = $wpdb->get_results( $sql ); // We have found only intersected dates. Now we need to get all dates from such bookings, for having correct "Start and end time times for the booking" // and does not add some "start time at the begining of the day inside of wpbc_check_dates_intersections( ) function if ( count( $exist_dates_results ) > 0 ) { // Get ID of all bookings that inside of this interval $my_booking_id_arr = []; foreach ( $exist_dates_results as $key => $booking_obj ) { $my_booking_id_arr[] = $booking_obj->booking_id; } // Get all dates of such bookings (not only intersected! $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk INNER JOIN {$wpdb->prefix}bookingdates as dt ON bk.booking_id = dt.booking_id WHERE bk.booking_id IN (" . implode( ',', $my_booking_id_arr ) . ") AND bk.trash != 1 AND bk.booking_type = %d", $resource_id ); $sql .= " ORDER BY bk.booking_id DESC, dt.booking_date ASC "; $exist_dates_results = $wpdb->get_results( $sql ); } return $exist_dates_results; } /** * Update "Content of booking fields data" from old booking resource id SUFFIX to new booking Resource ID * * @param string $db_form_data_old * @param int $resource_id_old * @param int $resource_id_new * * @return void */ function wpbc_update_resource_id_in_dbformatted_booking_data( $db_form_data_old, $resource_id_old, $resource_id_new ) { $db_form_data_new = array(); $form_data_arr = explode( '~', $db_form_data_old ); $fields_count = count( $form_data_arr ); for ( $i = 0; $i < $fields_count; $i ++ ) { list( $type, $element_name, $value ) = explode( '^', $form_data_arr[ $i ] ); if ( substr( $element_name, - 2 ) == '[]' ) { $element_name = str_replace( '[]', '', $element_name ); } $element_name = substr( $element_name, 0, - 1 * strlen( $resource_id_old ) ) . $resource_id_new; // Change resource ID in field $db_form_data_new[] = $type . '^' . $element_name . '^' . $value; } return implode( '~', $db_form_data_new ); } /** * Action: Duplicate Booking into other Resource * * @param $booking_id_arr array or int of booking ID * @param $selected_resource_id int of booking resource * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array * * Example: */ function wpbc_booking_do_action__duplicate_booking_to_other_resource( $booking_id_arr, $selected_resource_id, $params ) { make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // ID of booking resource ------------------------------------------------------------------------------------------ $selected_resource_id = intval($selected_resource_id); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = ( ( false === strpos( $booking_id_csd, ',' ) ) ? sprintf( __( 'Booking has been %s duplicated %s', 'booking' ), '<strong>', '</strong>' ) : sprintf( __( 'Bookings have been %s duplicated %s', 'booking' ), '<strong>', '</strong>' ) ) . ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>'; $work_booking_id_arr = explode( ',', $booking_id_csd ); foreach ( $work_booking_id_arr as $selected_booking_id ) { // SQL --------------------------------------------------------------------------------------------------- list( $after_action_result, $after_action_message, $formdata_new ) = wpbc__sql__duplicate_booking_to_other_resource_for_booking( $selected_booking_id, $selected_resource_id, $params ); if ( $after_action_result ) { // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $selected_booking_id ), __( 'Booking resource changed by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__duplicate_booking_to_other_resource', $selected_booking_id, $selected_resource_id ); // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { // We are sending emails about the new booking, if we have created it. // wpbc_send_email_modified( $selected_booking_id, $selected_resource_id, $formdata_new ); } } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Duplicate booking in another resource -- SQL manipulation * @param $selected_booking_id * @param $selected_resource_id * * @return array */ function wpbc__sql__duplicate_booking_to_other_resource_for_booking( $selected_booking_id, $selected_resource_id, $params ){ global $wpdb; $booking_id = intval( $selected_booking_id ); $resource_id = intval( $selected_resource_id ); $db_form_data_new = ''; $booking_resources_arr = wpbc_ajx_get_all_booking_resources_arr(); $is_send_emails = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); //////////////////////////////////////////////////////////////////////////////////////////////////////////// // 1.Get dates of SOURCE booking //////////////////////////////////////////////////////////////////////////////////////////////////////////// if ( 1 ) { // 1.1.Get booking data of SOURCE booking $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk WHERE booking_id = %d ", $booking_id ); $res = $wpdb->get_row( $sql ); $db_form_data_old = $res->form; $resource_id_old = $res->booking_type; // 1.2. Get dates of SOURCE booking $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}bookingdates as dt WHERE booking_id = %d ORDER BY booking_date ASC ", $booking_id ); $old_resource_dates_array = $wpdb->get_results( $sql ); } //////////////////////////////////////////////////////////////////////////////////////////////////////////// // 2. Get bookings of selected booking resource - checking if some dates there is booked or not //////////////////////////////////////////////////////////////////////////////////////////////////////////// $exist_dates_results = wpbc_get_booking_dates_in_resource_for_folowing_dates( $old_resource_dates_array , $resource_id ); if ( ( count( $exist_dates_results ) == 3 ) && ( false === $exist_dates_results[0] ) ){ // // ERROR :: number of check in/dates does not equal to number of check out dates. return $exist_dates_results; } if ( get_bk_option('booking_change_resource_skip_checking') === 'On' ) { //FixIn: 8.4.5.4 $is_date_time_booked = false; } else { $is_date_time_booked = wpbc_check_dates_intersections( $old_resource_dates_array, $exist_dates_results ); } if ( $is_date_time_booked ) { $after_action_result = false; $after_action_message = '<strong>' . __( 'Warning', 'booking' ) . '!</strong> ' . sprintf( __( 'Booking %s has not been duplicated in booking resource %s. Current dates are already booked there.' ) , '<strong style="font-size:0.9em;">[ID=' . $booking_id . ']</strong>' , '<strong>' . wpbc_lang( $booking_resources_arr[ $resource_id ]['title'] ) . '</strong>' ); } else { // Possible to change $db_form_data_new = wpbc_update_resource_id_in_dbformatted_booking_data( $db_form_data_old, $resource_id_old, $resource_id ); $wpdev_active_locale = isset( $_REQUEST['wpbc_ajx_locale'] ) ? esc_js( $_REQUEST['wpbc_ajx_locale'] ) : 'en_US'; // Change dates from DateObj( $selected_date->booking_date = '2015-10-17' ) to array ( '17.10.2015' ) $my_dates_for_sql = array(); foreach ($old_resource_dates_array as $selected_date) { $selected_date = explode( '-', $selected_date->booking_date ); $my_dates_for_sql[] = sprintf( "%02d.%02d.%04d", $selected_date[2], $selected_date[1], $selected_date[0] ); } $my_dates_for_sql = implode( ', ', $my_dates_for_sql ); // Create a new booking $request_save_params = array( 'resource_id' => $resource_id, // 2 'dates_ddmmyy_csv' => $my_dates_for_sql, // '04.10.2023, 05.10.2023, 06.10.2023' 'form_data' => $db_form_data_new, // 'text^cost_hint2^150.00฿~selectbox-multiple^rangetime2[]^14:00...' 'booking_hash' => '', // 'sdfsf34534rf' 'custom_form' => '', // 'custom_form_name' 'is_emails_send' => $is_send_emails, // 0 | 1 'is_show_payment_form' => 0 // 0 | 1 // 'request_uri' => $_SERVER['HTTP_REFERER'] // 'user_id' => wpbc_get_current_user_id() // 'sync_gid' => '' // 'is_approve_booking' => 0 ); $booking_save_arr = wpbc_booking_save( $request_save_params ); if ( 'ok' === $booking_save_arr['ajx_data']['status'] ) { // Everything Cool :) - booking has been duplicated $booking_id_new = $booking_save_arr['booking_id']; $after_action_result = true; $after_action_message = sprintf( __( 'Booking %s has been duplicated in booking resource %s. New booking %s.' ) , '<strong style="font-size:0.9em;">[ID=' . $booking_id . ']</strong>' , '<strong>' . wpbc_lang( $booking_resources_arr[ $resource_id ]['title'] ) . '</strong>' , '<strong style="font-size:0.9em;">[ID=' . $booking_id_new . ']</strong>' ); } else { // Error $after_action_result = false; $after_action_message = $booking_save_arr['ajx_data']['ajx_after_action_message']; } } return array( $after_action_result, $after_action_message , $db_form_data_new ); } /** * Action: Set payment status for the booking * * @param $booking_id_arr array or int of booking ID * @param $selected_payment_status string payment status of booking * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array * * Example: */ function wpbc_booking_do_action__set_payment_status( $booking_id_arr, $selected_payment_status, $params ) { global $wpdb; make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = ''; $work_booking_id_arr = explode( ',', $booking_id_csd ); foreach ( $work_booking_id_arr as $selected_booking_id ) { // SQL --------------------------------------------------------------------------------------------------- $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk WHERE bk.booking_id= %d ", $selected_booking_id ); $result_bk = $wpdb->get_results( $sql ); $old_pay_status = ''; if ( ( 0 == count( $result_bk ) ) ) { // Error $after_action_result = false; $after_action_message .= sprintf( __( 'There is no booking %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>' ); } else { $old_pay_status = $result_bk[0]->pay_status; } $update_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.pay_status= %s WHERE bk.booking_id= %d ", $selected_payment_status, $selected_booking_id ); if ( false === $wpdb->query( $update_sql ) ) { // Error $after_action_result = false; $after_action_message .= 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { // Success $after_action_message .= sprintf( __( 'Payment status for Booking %s has been updated from %s to %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $selected_booking_id . '</strong> )</span>' , '<strong>"' . wpbc__format__get_payment_status_title( $old_pay_status ) . '"</strong>' , '<strong>"' . wpbc__format__get_payment_status_title( $selected_payment_status ) . '"</strong>' ) . '<br/>'; } if ( $after_action_result ) { // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $selected_booking_id ), $after_action_message . '. ' . __( 'Changed by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__set_payment_status', $selected_booking_id, $selected_payment_status , $old_pay_status ); // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { // We are sending emails about the new booking, if we have created it. // wpbc_send_email_modified( $selected_booking_id, $selected_resource_id, $formdata_new ); } } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Get title of the payment status * * @param $payment_status_key * * @return string */ function wpbc__format__get_payment_status_title( $payment_status_key ){ $selected_payment_status_text = $payment_status_key; $select_box_options = get_payment_status_titles(); $select_box_options = array_flip( $select_box_options ); if ( ! empty( $select_box_options[ $payment_status_key ] ) ) { $selected_payment_status_text = $select_box_options[ $payment_status_key ]; } return $selected_payment_status_text; } /** * Action: Set Booking Cost * * @param $booking_id_arr array or int of booking ID * @param $booking_cost string booking cost * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array * * Example: */ function wpbc_booking_do_action__set_booking_cost( $booking_id_arr, $booking_cost, $params ) { global $wpdb; make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- $booking_cost = str_replace(',', '.', $booking_cost); $booking_cost = floatval( $booking_cost ); if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = ''; $work_booking_id_arr = explode( ',', $booking_id_csd ); foreach ( $work_booking_id_arr as $selected_booking_id ) { // SQL --------------------------------------------------------------------------------------------------- $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk WHERE bk.booking_id= %d ", $selected_booking_id ); $result_bk = $wpdb->get_results( $sql ); $old_booking_cost = ''; if ( ( 0 == count( $result_bk ) ) ) { // Error $after_action_result = false; $after_action_message .= sprintf( __( 'There is no booking %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>' ); } else { $old_booking_cost = $result_bk[0]->cost; } $update_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.cost = %f WHERE bk.booking_id = %d ", $booking_cost, $selected_booking_id ); if ( false === $wpdb->query( $update_sql ) ) { // Error $after_action_result = false; $after_action_message .= 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { // Success $after_action_message .= sprintf( __( 'Cost for Booking %s has been updated from %s to %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $selected_booking_id . '</strong> )</span>' , '<strong>"' . wpbc__format__get_payment_status_title( $old_booking_cost ) . '"</strong>' , '<strong>"' . wpbc__format__get_payment_status_title( $booking_cost ) . '"</strong>' ) . '<br/>'; } if ( $after_action_result ) { // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $selected_booking_id ), $after_action_message . '. ' . __( 'Changed by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__set_booking_cost', $selected_booking_id, $booking_cost , $old_booking_cost ); // Emails ------------------------------------------------------------------------------------------------------ if ( ! empty( $is_send_emeils ) ) { if ( get_bk_option( 'booking_send_email_on_cost_change' ) == 'On' ) { //FixIn: 8.1.3.30 $booking_data = apply_bk_filter( 'wpbc_get_booking_data', $selected_booking_id ); wpbc_send_email_modified( $selected_booking_id, $booking_data['type'], $booking_data['form'] ); } } } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } /** * Action: Send Payment request * * @param $booking_id_arr array or int of booking ID * @param $booking_cost string booking cost * @param $params array array of parameters: array( 'user_id' => 1 ) * * @return array */ function wpbc_booking_do_action__send_payment_request($booking_id_arr, $reason_of_action, $params ) { global $wpdb; make_bk_action('check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); // Get ID list of bookings, like '1' or '3,7,9' ---------------------------------------------------------------- if ( ! is_array( $booking_id_arr ) ) { $booking_id_arr = array( $booking_id_arr ); } $booking_id_csd = join( ',', $booking_id_arr ); $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( empty( $booking_id_csd ) ) { $after_action_result = false; $after_action_message = __( 'No bookings have been selected. Please select one or more bookings.', 'booking' ); } else { $after_action_result = true; $after_action_message = ''; $work_booking_id_arr = explode( ',', $booking_id_csd ); foreach ( $work_booking_id_arr as $selected_booking_id ) { // SQL --------------------------------------------------------------------------------------------------- $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}booking as bk WHERE bk.booking_id= %d ", $selected_booking_id ); $result_bk = $wpdb->get_results( $sql ); $old_booking_cost = ''; if ( ( 0 == count( $result_bk ) ) ) { // Error $after_action_result = false; $after_action_message .= sprintf( __( 'There is no booking %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $booking_id_csd . '</strong> )</span>' ); } else { $old_booking_cost = $result_bk[0]->cost; $is_email_payment_request_adress = get_bk_option( 'booking_is_email_payment_request_adress' ); if ( 'Off' != $is_email_payment_request_adress ) { $reason_of_action = htmlspecialchars( str_replace( '\"', '"', $reason_of_action ) ); $reason_of_action = str_replace( "\'", "'", $reason_of_action ); foreach ( $result_bk as $res ) { $is_send = wpbc_send_email_payment_request( $res->booking_id, $res->booking_type, $res->form, $reason_of_action ); if ( $is_send ) { // Update Payment request number $pay_request_numer = $res->pay_request + 1; $update_sql = $wpdb->prepare( "UPDATE {$wpdb->prefix}booking AS bk SET bk.pay_request= %d WHERE bk.booking_id= %d ", $pay_request_numer, $res->booking_id ); if ( false === $wpdb->query( $update_sql ) ) { // Error $after_action_result = false; $after_action_message .= 'Error during updating to DB. File:' . __FILE__ . ' on line: ' . __LINE__; } else { // Success $after_action_message .= sprintf( __( 'Payment request for Booking %s has been sent. Cost for payment: %s', 'booking' ) , ' <span style="font-size:0.9em;">( ID = <strong>' . $selected_booking_id . '</strong> )</span>' , '<strong>"' . wpbc__format__get_payment_status_title( $old_booking_cost ) . '"</strong>' ) . '<br/>'; } } } } } if ( $after_action_result ) { // LOG --------------------------------------------------------------------------------------------------------- $curr_user = get_user_by( 'id', (int) $params['user_id'] ); wpbc_db__add_log_info( explode( ',', $selected_booking_id ), $after_action_message . '. ' . __( 'Send by:', 'booking' ) . ' ' . $curr_user->first_name . ' ' . $curr_user->last_name . ' (' . $curr_user->user_email . ')' ); // Just action hook for some other addons do_action( 'wpbc_booking_action__send_payment_request', $selected_booking_id, $reason_of_action , $old_booking_cost ); // Emails ------------------------------------------------------------------------------------------------------ /* if ( ! empty( $is_send_emeils ) ) { if ( get_bk_option( 'booking_send_email_on_cost_change' ) == 'On' ) { $booking_data = apply_bk_filter( 'wpbc_get_booking_data', $selected_booking_id ); wpbc_send_email_modified( $selected_booking_id, $booking_data['type'], $booking_data['form'] ); } } */ } } } return array( 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } function wpbc_booking_do_action__import_google_calendar( $request_params, $params ) { $return_array = array(); $user_bk_id = (int) $params['user_id']; global $wpdb; $wpbc_Google_Calendar = new WPBC_Google_Calendar(); $wpbc_Google_Calendar->setSilent(); $wpbc_Google_Calendar->set_timezone( get_bk_option('booking_gcal_timezone') ); $wpbc_Google_Calendar->set_events_from_with_array( array( $request_params['booking_gcal_events_from'], $request_params['booking_gcal_events_from_offset'], $request_params['booking_gcal_events_from_offset_type'] ) ); $wpbc_Google_Calendar->set_events_until_with_array( array( $request_params['booking_gcal_events_until'], $request_params['booking_gcal_events_until_offset'], $request_params['booking_gcal_events_until_offset_type'] ) ); $wpbc_Google_Calendar->set_events_max( $request_params['booking_gcal_events_max'] ); if ( ( isset( $request_params['booking_gcal_resource'] ) ) && ( empty( $request_params['booking_gcal_resource'] ) ) ) { $wpbc_Google_Calendar->setUrl( get_bk_option( 'booking_gcal_feed') ); $import_result = $wpbc_Google_Calendar->run(); } else { if ( $request_params['booking_gcal_resource'] != 'all' ) { // One resource $wpbc_booking_resource_id = intval( $request_params['booking_gcal_resource'] ); $wpbc_Google_Calendar->setResource( $wpbc_booking_resource_id ); $wpbc_booking_resource_feed = get_booking_resource_attr( $wpbc_booking_resource_id ); $wpbc_booking_resource_feed = $wpbc_booking_resource_feed->import; $wpbc_Google_Calendar->setUrl( $wpbc_booking_resource_feed ); $import_result = $wpbc_Google_Calendar->run(); } else { // All resources $where = ''; // Where for the different situation: BL and MU if ( class_exists( 'wpdev_bk_multiuser' ) ) { // MultiUser - only specific booking resources for specific Regular User in Admin panel. $is_user_super_admin = apply_bk_filter( 'is_user_super_admin', $user_bk_id ); if ( ! $is_user_super_admin ) { $where .= ' WHERE users = ' . intval( $user_bk_id ) . ' '; } } $my_sql = "SELECT booking_type_id, import FROM {$wpdb->prefix}bookingtypes {$where}"; $types_list = $wpdb->get_results( $my_sql ); foreach ($types_list as $wpbc_booking_resource) { $wpbc_booking_resource_id = $wpbc_booking_resource->booking_type_id; $wpbc_booking_resource_feed = $wpbc_booking_resource->import; if ( ( ! empty( $wpbc_booking_resource_feed ) ) && ( $wpbc_booking_resource_feed != null ) && ( $wpbc_booking_resource_feed != '/' ) ) { $wpbc_Google_Calendar->setUrl( $wpbc_booking_resource_feed ); $wpbc_Google_Calendar->setResource( $wpbc_booking_resource_id ); $import_result = $wpbc_Google_Calendar->run(); } } } } if ( ( isset( $import_result ) ) && ( false != $import_result ) ) { $after_action_result = true; $after_action_message = sprintf( __( '%s new bookings have been imported', 'booking' ) , ' <span style="font-size:1em;"> <strong>' . count( $wpbc_Google_Calendar->events ) . '</strong> </span>' ) ; if ( 0 != count( $wpbc_Google_Calendar->events ) ) { $after_action_message .= '<br/><br/>' . __( 'The filter settings have been updated to reflect these imported bookings. The page will be reloaded.', 'booking' ); } if ( ! empty( $wpbc_Google_Calendar->getErrorMessage() ) ) { $after_action_message .= '<div style="max-width:60rem;margin:2em 10px;">' . $wpbc_Google_Calendar->getErrorMessage() . '</div>'; $return_array['after_action_result_delay'] = 100000000000000; } } else { $after_action_result = false; $after_action_message = __( 'No bookings have been imported.', 'booking' ) . '<br/><br/>' . sprintf( __( 'Please configure settings for import Google Calendar events', 'booking' ), '<b>', ',</b>' ) . ' <a href="' . wpbc_get_settings_url() . '&tab=sync&subtab=gcal' . '">' . __('here' ,'booking') . '.</a>' . '<br/><br/>' . $wpbc_Google_Calendar->getErrorMessage(); $return_array['after_action_result_delay'] = 100000000000000; } if ( 0 == count( $wpbc_Google_Calendar->events ) ) { $new_listing_params = false; } else { $new_listing_params = array( "sort" => "booking_id", "sort_type" => "DESC", "page_num" => 1, "page_items_count" => "50", "create_date" => "", "keyword" => "", "source" => "", "wh_booking_type" => array( "0" ), "wh_approved" => "", "wh_booking_date" => array( "3" ), "ui_wh_booking_date_radio" => 0, "ui_wh_booking_date_next" => 1, "ui_wh_booking_date_prior" => 1, "ui_wh_booking_date_checkin" => "", "ui_wh_booking_date_checkout" => "", "wh_what_bookings" => "imported", "wh_modification_date" => array( "1" ), "ui_wh_modification_date_prior" => "1", "ui_wh_modification_date_checkin" => "", "ui_wh_modification_date_checkout" => "", "wh_pay_status" => array( "all" ), "ui_wh_pay_status_radio" => "", "ui_wh_pay_status_custom" => "", "wh_cost" => "", "wh_cost2" => "", "wh_sort" => "booking_id__desc", "wh_trash" => "any", 'reload_url_params' => htmlspecialchars_decode( esc_url( wpbc_get_bookings_url() . '&view_mode=vm_booking_listing' ) ) ); } $return_array['after_action_result'] = $after_action_result; $return_array['after_action_message'] = $after_action_message; $return_array['new_listing_params'] = $new_listing_params; return $return_array; } function wpbc_booking_do_action__export_csv( $request_params, $params ){ global $wpdb; make_bk_action( 'check_multiuser_params_for_client_side_by_user_id', $params['user_id'] ); $booking_id_csd = $request_params['booking_id']; $booking_id_csd = wpbc_clean_digit_or_csd( $booking_id_csd ); if ( empty( $booking_id_csd ) ) { // Export all bookings (no selected bookings was in the listing } $export_type = $request_params['export_type']; // csv_page | csv_all // Is send email for this action ---------------------------------------------------------------------------------- $is_send_emeils = wpbc_ajx__user_request_option__is_send_emails( $params['user_id'] ); // ----------------------------------------------------------------------------------------------------------------- if ( ! isset( $_POST['search_params'] ) || empty( $_POST['search_params'] ) ) { $after_action_result = false; $after_action_message = __('Error', 'booking') . '! ' . 'Search parameters for CSV generating are empty.'; } else { $user_request = new WPBC_AJX__REQUEST( array( 'db_option_name' => 'booking_listing_request_params', 'user_id' => wpbc_get_current_user_id(), 'request_rules_structure' => wpbc_ajx_get__request_params__names_default() ) ); $request_prefix = 'search_params'; $request_params_for_listing = $user_request->get_sanitized__in_request__value_or_default( $request_prefix ); // NOT Direct: $_REQUEST['search_params']['resource_id'] // $data_arr = wpbc_ajx_get_booking_data_arr( $request_params_for_listing ); $export_csv_url = wpbc_csv_get_url_export( $request_params_for_listing ); $after_action_result = true; $after_action_message = __('Processing' ,'booking') . '... '; } $wpbc_ajx_locale = ( isset( $_REQUEST['wpbc_ajx_locale'] ) ) ? esc_js( $_REQUEST['wpbc_ajx_locale'] ) : 'en_US'; return array( 'export_csv_url' => $export_csv_url . '&export_type=' . $export_type . '&selected_id=' . $booking_id_csd . '&csv_export_separator=' . $request_params['csv_export_separator'] . '&csv_export_skip_fields=' . $request_params['csv_export_skip_fields'] . '&wpbc_ajx_locale=' . $wpbc_ajx_locale . '&wpbc_ajx_locale_reload=force' , 'after_action_result' => $after_action_result, 'after_action_message' => $after_action_message ); } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" == Button Actions Templates for UI == " > /** * Show Costs booking Test field */ function wpbc_for_booking_template__action_cost(){ if ( ! class_exists('wpdev_bk_biz_s') ) { return false; } $booking_action = 'set_booking_cost'; $el_id = 'ui_btn_' . $booking_action . '{{data.parsed_fields.booking_id}}'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params_addon = array( 'type' => 'span' , 'label' => '{{{data[\'parsed_fields\'][\'currency_symbol\']}}}' , 'html' => '{{{data[\'parsed_fields\'][\'currency_symbol\']}}}'//''// '<i class="menu_icon icon-1x wpbc_icn_event"></i>' //'<strong>' . __( 'Dates', 'booking ' ) . '</strong>' //, 'icon' => array( 'icon_font' => 'wpbc_icn_event', 'position' => 'right', 'icon_img' => '' ) //, 'class' => 'wpbc_ui_button inactive' , 'style' => 'font-weight:600;font-size: 14px;line-height: 28px;' , 'attr' => array() ); $param_text = array( 'type' => 'text' , 'id' => $el_id . '_cost' , 'name' => $el_id . '_cost' , 'label' => '' , 'disabled' => false , 'class' => 'set_booking_cost_text_field' , 'style' => 'width:5em;font-weight:600;' , 'placeholder' => '0' , 'attr' => array() , 'is_escape_value' => false , 'value' => '{{data[\'parsed_fields\'][\'cost\']}}' , 'onfocus' => '' , 'onkeydown' => "jQuery('.ui__set_booking_cost__section_in_booking_{{data['parsed_fields']['booking_id']}}').show();" // JavaScript code ); ?><div class="ui_element ui_nowrap"><?php //wpbc_flex_addon( $params_addon ); wpbc_flex_label( $params_addon ); wpbc_flex_text( $param_text ); ?></div><?php $params_button_save = array( 'type' => 'button' , 'title' => __( 'Save cost', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __( 'Save Changes', 'booking' ), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_save__set_booking_cost( {{data['parsed_fields']['booking_id']}}, this, '{$booking_action}', '{$el_id}' );" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_check _circle_outline', 'position' => 'right', 'icon_img' => '' ), 'class' => 'wpbc_ui_button_primary', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_save' ) ); $params_button_cancel = array( 'type' => 'button' , 'title' => __( 'Cancel', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __('Close' ,'booking'), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_close__set_booking_cost();" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_close _block', 'position' => 'right', 'icon_img' => '' ), 'class' => '', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_cancel' ) ); ?><div class="ui_element ui_nowrap ui__set_booking_cost__section_in_booking ui__set_booking_cost__section_in_booking_{{data['parsed_fields']['booking_id']}}"><?php wpbc_flex_button( $params_button_save ); ?></div><?php ?><div class="ui_element ui_nowrap ui__set_booking_cost__section_in_booking ui__set_booking_cost__section_in_booking_{{data['parsed_fields']['booking_id']}}"><?php wpbc_flex_button( $params_button_cancel ); ?></div><?php } /** * Show Payment Request booking Button */ function wpbc_for_booking_template__action_payment_request(){ if ( ! class_exists('wpdev_bk_biz_s') ) { return false; } $booking_action = 'send_payment_request'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Send payment request to visitor', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', //'action' => "js_func( {{data['parsed_fields']['booking_id']}} );", 'action' => "if ( 'function' === typeof( jQuery('#wpbc_modal__payment_request__section').wpbc_my_modal ) ) { jQuery('#wpbc_modal__payment_request__booking_id').val({{data['parsed_fields']['booking_id']}}); jQuery('#wpbc_modal__payment_request__section').wpbc_my_modal('show'); } else { alert( 'Warning! wpbc_my_modal module has not found. Please, recheck about any conflicts by deactivating other plugins.'); }", 'icon' => array( 'icon_font' => 'wpbc_icn_forward_to_inbox', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Show Payment Status booking Button */ function wpbc_for_booking_template__action_set_payment_status(){ if ( ! class_exists('wpdev_bk_biz_s') ) { return false; } $booking_action = 'set_payment_status'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Payment status', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_ajx_booking__ui_click_show__set_payment_status( {{data['parsed_fields']['booking_id']}} );", 'icon' => array( 'icon_font' => 'wpbc_icn_sell', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Selectbox | Save | Close buttons for "Payment status" section * @return false|void */ function wpbc_for_booking_template_section__set_payment_status(){ if ( ! class_exists('wpdev_bk_biz_s') ) { return false; } $booking_action = 'set_payment_status'; $el_id = 'ui_btn_' . $booking_action . '{{data.parsed_fields.booking_id}}'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $select_box_options = get_payment_status_titles(); $select_box_options = array_flip( $select_box_options ); $params_select = array( 'id' => $el_id // HTML ID of element , 'name' => $el_id , 'label' => ''//__( 'Payment status', 'booking' ) // Label (optional) , 'style' => '' // CSS of select element , 'class' => '' // CSS Class of select element , 'multiple' => false , 'attr' => array( 'data-placeholder' => __( 'Change status', 'booking' ), 'ajx-selected-value' => '{{data.parsed_fields.pay_status}}' ) , 'disabled' => false , 'disabled_options' => array() // If some options disabled, then it has to list here , 'options' => $select_box_options //, 'value' => "{{data['parsed_fields']['pay_status']}}"//isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ] // Some Value from options array that selected by default //, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val(), 'in element:' , jQuery( this ) );" // JavaScript code //, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val(), 'in element:' , jQuery( this ) );" // JavaScript code ); $params_button_save = array( 'type' => 'button' , 'title' => __( 'Change status', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __( 'Save Changes', 'booking' ), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_save__set_payment_status( {{data['parsed_fields']['booking_id']}}, this, '{$booking_action}', '{$el_id}' );" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_check _circle_outline', 'position' => 'right', 'icon_img' => '' ), 'class' => 'wpbc_ui_button_primary', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_save' ) ); $params_button_cancel = array( 'type' => 'button' , 'title' => __( 'Cancel', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __('Close' ,'booking'), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_close__set_payment_status();" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_close _block', 'position' => 'right', 'icon_img' => '' ), 'class' => '', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_cancel' ) ); ?><div class="ui_element" style="flex:100%;"></div> <div id="ui__set_payment_status__section_in_booking_{{data['parsed_fields']['booking_id']}}" class="ui__set_payment_status__section_in_booking ui__under_actions_row__section_in_booking" > <div class="wpbc_ajx_toolbar wpbc_buttons_row wpbc_buttons_row_for_booking highlight_action_section"> <div class="ui_container ui_container_small"> <div class="ui_group"> <div class="ui_element"> <?php wpbc_flex_select($params_select); ?> </div> <div class="ui_element" > <?php wpbc_flex_button($params_button_save); ?> </div> <div class="ui_element"> <?php wpbc_flex_button($params_button_cancel); ?> </div> </div> </div> </div> <div class="clear"></div> </div><?php } /** * Show Edit booking Button */ function wpbc_for_booking_template__action_edit_booking(){ //FixIn: 9.2.3.4 // if ( ! class_exists('wpdev_bk_personal') ) { // return false; // } $booking_action = 'edit_booking'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $edit_booking_url = 'admin.php?page=' . wpbc_get_new_booking_url( false, false) . '&booking_type={{data.parsed_fields.resource_id}}&booking_hash={{data.parsed_fields.hash}}&parent_res=1' ; $edit_booking_url .= ( 'Off' !== get_bk_option( 'booking_is_resource_no_update__during_editing' ) ) ? '&resource_no_update=1' : ''; //FixIn: 9.4.2.3 $edit_booking_url .= '&booking_form={{data.parsed_fields.wpbc_custom_booking_form}}'; //FixIn: 9.4.3.12 $edit_booking_url .= '&is_show_payment_form=Off'; //FixIn: 9.9.0.38 $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Edit Booking', 'booking' ), 'position' => 'top' ), 'link' => $edit_booking_url,//'javascript:void(0)', 'action' => '',//"js_func( {{data['parsed_fields']['booking_id']}} );", 'icon' => array( 'icon_font' => 'wpbc_icn_draw', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element <# if ( '' == data['parsed_fields']['hash']) { #>disabled<# } #>"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Show Change booking resource for booking Button */ function wpbc_for_booking_template__action_change_resource(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'change_booking_resource'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Change Resource', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_ajx_booking__ui_click_show__change_resource( {{data['parsed_fields']['booking_id']}}, {{data['parsed_fields']['resource_id']}} );", 'icon' => array( 'icon_font' => 'wpbc_icn_shuffle', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Selectbox | Save | Close buttons for "Change booking resources" section * @return false|void */ function wpbc_for_booking_template_section__change_booking_resource(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'change_booking_resource'; $el_id = 'ui_btn_' . $booking_action; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } ?><div class="ui_element" style="flex:100%;"></div> <div id="ui__change_booking_resource__section_in_booking_{{data['parsed_fields']['booking_id']}}" class="ui__change_booking_resource__section_in_booking ui__under_actions_row__section_in_booking" ></div><?php } /** * Show Duplicate booking Button */ function wpbc_for_booking_template__action_duplicate_booking_to_other_resource(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'duplicate_booking_to_other_resource'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Duplicate Booking', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_ajx_booking__ui_click_show__duplicate_booking( {{data['parsed_fields']['booking_id']}}, {{data['parsed_fields']['resource_id']}} );", 'icon' => array( 'icon_font' => 'wpbc_icn_content_copy', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Selectbox | Save | Close buttons for "Duplicate booking" section * @return false|void */ function wpbc_for_booking_template_section__duplicate_booking_to_other_resource(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'duplicate_booking_to_other_resource'; $el_id = 'ui_btn_' . $booking_action; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } ?><div class="ui_element" style="flex:100%;"></div> <div id="ui__duplicate_booking_to_other_resource__section_in_booking_{{data['parsed_fields']['booking_id']}}" class="ui__duplicate_booking_to_other_resource__section_in_booking ui__under_actions_row__section_in_booking" ></div><?php } /** * Show Print booking Button */ function wpbc_for_booking_template__action_print(){ if ( ! class_exists('wpdev_bk_personal') ) { //return false; } $booking_action = 'set_print'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Print', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_print_dialog__show( {{data['parsed_fields']['booking_id']}} );", 'icon' => array( 'icon_font' => 'wpbc_icn_print', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Show Remark booking Button */ function wpbc_for_booking_template__action_remark(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'set_booking_note'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Edit Note', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_ajx_booking__ui_click__remark( jQuery( this ) );", 'icon' => array( 'icon_font' => 'wpbc_icn_mode_comment', 'position' => 'left', 'icon_img' => '' ), 'class' => "{$booking_action}_button", 'style' => '', 'mobile_show_text' => true, 'attr' => array( 'id' => "{$booking_action}_button{{data.parsed_fields.booking_id}}" ) ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } function wpbc_for_booking_template_section__action_remark_textarea(){ if ( ! class_exists('wpdev_bk_personal') ) { return false; } $booking_action = 'set_booking_note'; $el_id = 'ui_btn_' . $booking_action; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params_textarea = array( 'id' => "{$booking_action}_text_{{data.parsed_fields.booking_id}}" // HTML ID of element , 'name' => "{$booking_action}_text_{{data.parsed_fields.booking_id}}" // HTML ID of element , 'label' => '' , 'style' => 'height: 8em; width: 100%;' // CSS of select element , 'class' => "{$booking_action}_text" // CSS Class of select element , 'disabled' => false , 'attr' => array() // Any additional attributes, if this radio | checkbox element , 'rows' => '3' , 'cols' => '50' , 'placeholder' => '' , 'value' => '{{{data.parsed_fields.remark}}}' //FixIn: 9.4.4.1 , 'is_escape_value' => true //, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code //, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code ); $params_button_save = array( 'type' => 'button' , 'title' => __( 'Save', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __( 'Save Changes', 'booking' ), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data.parsed_fields.booking_id}}, 'remark' : jQuery( '#{$booking_action}_text_{{data.parsed_fields.booking_id}}' ).val(), 'ui_clicked_element_id': '{$el_id}' } ); wpbc_button_enable_loading_icon( this ); " , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_check _circle_outline', 'position' => 'right', 'icon_img' => '' ), 'class' => 'wpbc_ui_button_primary', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id ) ); $params_button_cancel = array( 'type' => 'button' , 'title' => __( 'Cancel', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __('Close' ,'booking'), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click__remark( jQuery( '#{$booking_action}_button{{data.parsed_fields.booking_id}}' ) );" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_close _block', 'position' => 'right', 'icon_img' => '' ), 'class' => '', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_cancel' ) ); //$user_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); //$is_expand_remarks = wpbc_ajx__user_request_option__is_expand_remarks( $user_id ); ?><div class="ui_remark_section is_expand_remarks_<?php //echo ($is_expand_remarks) ? 'on' : 'off'; ?>" style="<# if ( 'Off' === wpbc_ajx_booking_listing.search_get_param('ui_usr__is_expand_remarks') ) { #>display: none;<# } #>" ><?php wpbc_flex_textarea( $params_textarea ); ?><div class="ui_group"><?php ?><div class="ui_element" ><?php wpbc_flex_button($params_button_save); ?></div><?php ?><div class="ui_element"><?php wpbc_flex_button($params_button_cancel); ?></div><?php ?></div><?php ?></div><?php } /** * Show Locale booking Button */ function wpbc_for_booking_template__action_locale(){ $booking_action = 'set_booking_locale'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } ?><span class="ui_element_locale"><?php $params = array( 'type' => 'button', 'id' => "button_locale_for_booking{{data['parsed_fields']['booking_id']}}", 'title' => '', 'hint' => array( 'title' => __( 'Change Language', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "jQuery('#locale_for_booking{{data[\'parsed_fields\'][\'booking_id\']}}').toggle();jQuery(this).hide();", 'icon' => array( 'icon_font' => 'wpbc_icn_language', 'position' => 'left', 'icon_img' => '' ), 'class' => 'set_booking_locale_button', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php $el_id = "locale_for_booking{{data.parsed_fields.booking_id}}"; ?><# var selected_locale_value = ''; if ( ( 'undefined' !== typeof( data.parsed_fields.booking_options) ) && ( 'undefined' !== typeof( data.parsed_fields.booking_options.booking_meta_locale ) ) ){ var selected_locale_value = data.parsed_fields.booking_options.booking_meta_locale; } #><?php $availbale_locales_in_system = get_available_languages(); $select_box_options = array(); $select_box_options[''] = __( 'Default Locale', 'booking' ); $select_box_options['en_US'] = 'English (United States)'; foreach ( $availbale_locales_in_system as $locale ) { $select_box_options[$locale] = $locale; } $params_select = array( 'id' => $el_id // HTML ID of element , 'name' => $el_id , 'label' => '' // __( 'Next Days', 'booking' ) // Label (optional) , 'style' => 'display: none;' // CSS of select element , 'class' => 'set_booking_locale_selectbox' // CSS Class of select element //, 'multiple' => true , 'attr' => array( 'value_of_selected_option' => '{{selected_locale_value}}' ) // Any additional attributes, if this radio | checkbox element , 'disabled' => false , 'disabled_options' => array() // If some options disabled, then it has to list here , 'options' => $select_box_options //, 'value' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ] // Some Value from options array that selected by default //, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val(), 'in element:' , jQuery( this ) );" // JavaScript code , 'onchange' => "jQuery(this).hide(); var jButton = jQuery('#button_locale_for_booking{{data[\'parsed_fields\'][\'booking_id\']}}'); jButton.show(); wpbc_button_enable_loading_icon( jButton.get(0) ); " . " wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data[\'parsed_fields\'][\'booking_id\']}}, 'booking_meta_locale' : jQuery('#locale_for_booking{{data[\'parsed_fields\'][\'booking_id\']}} option:selected').val() } );" ); ?><div class="ui_element"><?php wpbc_flex_select( $params_select ); ?></div><?php ?></span><?php } /** * Show "Add to Google Calendar" booking Button */ function wpbc_for_booking_template__action_add_google_calendar(){ $booking_action = 'booking_add_google_calendar'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Add to Google Calendar', 'booking' ), 'position' => 'top' ), 'link' => "{{{data['parsed_fields']['google_calendar_link']}}}", // "{{{encodeURIComponent(data['parsed_fields']['google_calendar_link'])}}}", 'options' => array( 'link' => 'no_decode' ), //'link' => 'javascript:void(0)', //'action' => " wpbc_ajx_booking_ajax_action_request( { // 'booking_action' : '{$booking_action}', // 'booking_id' : {{data['parsed_fields']['booking_id']}} // } ); // ", 'icon' => array( 'icon_font' => 'wpbc_icn_event', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array('target'=>'_blank') ); ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php } /** * Show Trash booking Button */ function wpbc_for_booking_template__action_trash(){ $booking_action = 'move_booking_to_trash'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'hint' => array( 'title' => __( 'Reject - move to trash', 'booking' ), 'position' => 'top' ), 'title' => '', 'link' => 'javascript:void(0)', 'action' => "if ( wpbc_are_you_sure('" . esc_attr( __( 'Do you really want to do this ?', 'booking' ) ) . "') ) { wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); }", 'icon' => array( 'icon_font' => 'wpbc_icn_delete_outline', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '0' == data['parsed_fields']['trash']) { #><?php ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php ?><# } #><?php } /** * Show Restore from Trash booking Button */ function wpbc_for_booking_template__action_trash_restore(){ $booking_action = 'restore_booking_from_trash'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'hint' => array( 'title' => __( 'Restore', 'booking' ), 'position' => 'top' ), 'title' => '', 'link' => 'javascript:void(0)', 'action' => "if ( wpbc_are_you_sure('" . esc_attr( __( 'Do you really want to do this ?', 'booking' ) ) . "') ) { wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); }", 'icon' => array( 'icon_font' => 'wpbc_icn_rotate_left', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '1' == data['parsed_fields']['trash']) { #><?php ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php ?><# } #><?php } /** * Show Completely Delete booking Button */ function wpbc_for_booking_template__action_delete(){ $booking_action = 'delete_booking_completely'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'hint' => array( 'title' => __( 'Completely Delete', 'booking' ), 'position' => 'top' ), 'title' => '', 'link' => 'javascript:void(0)', 'action' => "if ( wpbc_are_you_sure('" . esc_attr( __( 'Do you really want to delete this booking ?', 'booking' ) ) . "') ) { wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); }", 'icon' => array( 'icon_font' => 'wpbc_icn_close', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '1' == data['parsed_fields']['trash']) { #><?php ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php ?><# } #><?php } /** * Show Approved booking Button */ function wpbc_for_booking_template__action_approved(){ $booking_action = 'set_booking_approved'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Approve', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); ", 'icon' => array( 'icon_font' => 'wpbc_icn_check_circle_outline', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '0' == data['approved']) { #><?php ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php ?><# } #><?php } /** * Show Pending booking Button */ function wpbc_for_booking_template__action_pending(){ $booking_action = 'set_booking_pending'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'Pending', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => "if ( wpbc_are_you_sure('" . esc_attr( __( 'Do you really want to set booking as pending ?', 'booking' ) ) . "') ) { wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); }", 'icon' => array( 'icon_font' => 'wpbc_icn_block', 'position' => 'left', 'icon_img' => '' ), 'class' => '', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '1' == data['approved']) { #><?php ?><div class="ui_element"><?php wpbc_flex_button( $params ); ?></div><?php ?><# } #><?php } /** * Show Read booking Button */ function wpbc_for_booking_template__action_read(){ $booking_action = 'set_booking_as_read'; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { return false; } $params = array( 'type' => 'button', 'title' => '', 'hint' => array( 'title' => __( 'New booking', 'booking' ), 'position' => 'top' ), 'link' => 'javascript:void(0)', 'action' => " wpbc_ajx_booking_ajax_action_request( { 'booking_action' : '{$booking_action}', 'booking_id' : {{data['parsed_fields']['booking_id']}} } ); wpbc_button_enable_loading_icon( this ); ", 'icon' => array( 'icon_font' => 'wpbc_icn_visibility', 'position' => 'left', 'icon_img' => '' ), 'class' => 'wpbc_is_new_button', 'style' => '', 'mobile_show_text' => true, 'attr' => array() ); ?><# if ( '1' == data.parsed_fields.is_new ) { #><?php wpbc_flex_button( $params ); ?><# } #><?php } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" == Hidden Templates for sub action sections == " > /** * Hidden Templates for - Booking Actions * * @param $page * * @return void */ function wpbc_for_booking_template__hidden_templates( $page ){ // page=wpbc&view_mode=vm_booking_listing if ( 'wpbc-ajx_booking' === $page ) { // it's from >> do_action( 'wpbc_hook_settings_page_footer', 'wpbc-ajx_booking' ); ?><div class="wpbc_hidden_templates"><?php wpbc_hidden_template__change_booking_resource(); wpbc_hidden_template__duplicate_booking_to_other_resource(); ?></div><?php wpbc_hidden_template__content_for_modal_payment_request(); wpbc_hidden_template__content_for_modal_import_google_calendar(); wpbc_hidden_template__content_for_modal_export_csv(); do_action( 'wpbc_hook_booking_template__hidden_templates' ); //FixIn: 9.2.3.6 } } if ( 'vm_booking_listing' == wpbc_ajx_booking_listing__get_default_view_mode() ) { //if ( strpos( $_SERVER['REQUEST_URI'], 'view_mode=vm_booking_listing' ) !== false ) { // Load only at AJX_Bookings Settings Page add_action( 'wpbc_hook_settings_page_footer', 'wpbc_for_booking_template__hidden_templates' ); } /** * Hidden template -- Change booking resources * * We need to have such hidden template for generating select box for booking resource only once, while we show Listing. * It's called each time from wpbc_ajx_define_templates__resource_manipulation() in wpbc_ajx_booking_show_listing() * So we renew booking resource list with each Ajax request for Booking Listing. * * @return void */ function wpbc_hidden_template__change_booking_resource(){ // Here will be composed template with real HTML defined in "booking_listing.js" file in function wpbc_ajx_booking_show_listing( ... ?><div id="wpbc_hidden_template__change_booking_resource"></div><?php // Template ?><script type="text/html" id="tmpl-wpbc_ajx_change_booking_resource"><?php if ( ! class_exists('wpdev_bk_personal') ) { echo '</script>'; return false; } /* ?><# console.log( ' == TEMPLATE PARAMS "wpbc_ajx_change_booking_resource" == ', data ); #><?php */ $booking_action = 'change_booking_resource'; $el_id = 'ui_btn_' . $booking_action; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { echo '</script>'; return false; } $params_button_save = array( 'type' => 'button' , 'title' => __( 'Change', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __( 'Save Changes', 'booking' ), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_save__change_resource( this, '{$booking_action}', '{$el_id}' );" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_check _circle_outline', 'position' => 'right', 'icon_img' => '' ), 'class' => 'wpbc_ui_button_primary', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id ) ); $params_button_cancel = array( 'type' => 'button' , 'title' => __( 'Cancel', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __('Close' ,'booking'), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_close__change_resource();" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_close _block', 'position' => 'right', 'icon_img' => '' ), 'class' => '', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_cancel' ) ); ?><div id="change_booking_resource__section" class="highlight_action_section"> <div class="wpbc_ajx_toolbar wpbc_buttons_row wpbc_buttons_row_for_booking"> <div class="ui_container ui_container_small"> <div class="ui_group"> <input type="hidden" value="" id="change_booking_resource__booking_id" /> <div class="ui_element"> <select id="change_booking_resource__resource_select" name="change_booking_resource__resource_select" class="wpbc_ui_control wpbc_ui_select change_booking_resource_selectbox"> <# <?php if (0) { ?><script type="text/javascript"><?php /* Hack for showing JavaScript syntax */ } ?> _.each( data.ajx_booking_resources, function ( p_resource, p_resource_id, p_data ){ #><option value="{{p_resource.booking_type_id}}" style="<# if( undefined != p_resource.parent ) { if( '0' == p_resource.parent ) { #>font-weight:600;<# } else { #>font-size:0.95em;padding-left:20px;<# } } #>" ><# if( undefined != p_resource.parent ) { if( '0' != p_resource.parent ) { #> <# } } #>{{p_resource.title}}</option><# }); <?php if (0) { ?></script><?php /* Hack for showing JavaScript syntax */ } ?> #> </select> </div> <div class="ui_element" > <?php wpbc_flex_button($params_button_save); ?> </div> <div class="ui_element"> <?php wpbc_flex_button($params_button_cancel); ?> </div> </div> </div> </div> <div class="clear"></div> </div> </script><?php } /** * Hidden template -- Duplicate booking to other resources * * We need to have such hidden template for generating select box for booking resource only once, while we show Listing. * It's called each time from wpbc_ajx_define_templates__resource_manipulation() in wpbc_ajx_booking_show_listing() * So we renew booking resource list with each Ajax request for Booking Listing. * * @return void */ function wpbc_hidden_template__duplicate_booking_to_other_resource(){ // Here will be composed template with real HTML defined in "booking_listing.js" file in function wpbc_ajx_booking_show_listing( ... ?><div id="wpbc_hidden_template__duplicate_booking_to_other_resource"></div><?php // Template ?><script type="text/html" id="tmpl-wpbc_ajx_duplicate_booking_to_other_resource"><?php if ( ! class_exists('wpdev_bk_personal') ) { echo '</script>'; return false; } /* ?><# console.log( ' == TEMPLATE PARAMS "wpbc_ajx_duplicate_booking_to_other_resource" == ', data ); #><?php /**/ $booking_action = 'duplicate_booking_to_other_resource'; $el_id = 'ui_btn_' . $booking_action; if ( ! wpbc_is_user_can( $booking_action, wpbc_get_current_user_id() ) ) { echo '</script>'; return false; } $params_button_save = array( 'type' => 'button' , 'title' => __( 'Duplicate Booking', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __( 'Save Changes', 'booking' ), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_save__duplicate_booking( this, '{$booking_action}', '{$el_id}' );" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_check _circle_outline', 'position' => 'right', 'icon_img' => '' ), 'class' => 'wpbc_ui_button_primary', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id ) ); $params_button_cancel = array( 'type' => 'button' , 'title' => __( 'Cancel', 'booking' ) . ' ', // Title of the button 'hint' => array( 'title' => __('Close' ,'booking'), 'position' => 'top' ), // Hint 'link' => 'javascript:void(0)', // Direct link or skip it 'action' => "wpbc_ajx_booking__ui_click_close__duplicate_booking();" , 'style' => '', // Any CSS class here 'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size). 'icon' => array( 'icon_font' => 'wpbc_icn_close _block', 'position' => 'right', 'icon_img' => '' ), 'class' => '', // '' | 'wpbc_ui_button_primary' 'attr' => array( 'id' => $el_id . '_cancel' ) ); ?><div id="duplicate_booking_to_other_resource__section" class="highlight_action_section"> <div class="wpbc_ajx_toolbar wpbc_buttons_row wpbc_buttons_row_for_booking"> <div class="ui_container ui_container_small"> <div class="ui_group"> <input type="hidden" value="" id="duplicate_booking_to_other_resource__booking_id" /> <div class="ui_element"> <select id="duplicate_booking_to_other_resource__resource_select" name="duplicate_booking_to_other_resource__resource_select" class="wpbc_ui_control wpbc_ui_select duplicate_booking_to_other_resource_selectbox"> <# <?php if (0) { ?><script><?php /* Hack for showing JavaScript syntax */ } ?> _.each( data.ajx_booking_resources, function ( p_resource, p_resource_id, p_data ){ #><option value="{{p_resource.booking_type_id}}" style="<# if( undefined != p_resource.parent ) { if( '0' == p_resource.parent ) { #>font-weight:600;<# } else { #>font-size:0.95em;padding-left:20px;<# } } #>" ><# if( undefined != p_resource.parent ) { if( '0' != p_resource.parent ) { #> <# } } #>{{p_resource.title}}</option><# }); <?php if (0) { ?></script><?php /* Hack for showing JavaScript syntax */ } ?> #> </select> </div> <div class="ui_element" > <?php wpbc_flex_button($params_button_save); ?> </div> <div class="ui_element"> <?php wpbc_flex_button($params_button_cancel); ?> </div> </div> </div> </div> <div class="clear"></div> </div> </script><?php } /** Payment Request Layout - Modal Window structure */ function wpbc_hidden_template__content_for_modal_payment_request() { if ( ! class_exists('wpdev_bk_biz_s') ) { return false; } ?><span class="wpdevelop"> <div id="wpbc_modal__payment_request__section" class="modal wpbc_popup_modal" tabindex="-1" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title"><?php _e('Send payment request to customer' ,'booking'); ?></h4> </div> <div class="modal-body"> <textarea id="wpbc_modal__payment_request__reason_of_action" name="wpbc_modal__payment_request__reason_of_action" style="width:100%;" cols="87" rows="5"></textarea> <label class="help-block"><?php printf(__('Type your %sreason for payment%s request' ,'booking'),'<b>',',</b>');?></label> <input type="hidden" id="wpbc_modal__payment_request__booking_id" value="" /> </div> <div class="modal-footer"> <a id="wpbc_modal__payment_request__button_send" class="button button-primary" onclick="javascript: wpbc_ajx_booking__ui_click__send_payment_request();" href="javascript:void(0);" ><?php _e('Send Request' ,'booking'); ?></a> <a href="javascript:void(0)" class="button button-secondary" data-dismiss="modal"><?php _e('Close' ,'booking'); ?></a> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </span><?php } /** Payment Request Loyout - Modal Window structure */ function wpbc_hidden_template__content_for_modal_import_google_calendar() { ?><span class="wpdevelop"><?php $booking_gcal_feed = get_bk_option( 'booking_gcal_feed'); $is_this_btn_disabled = false; if ( ( ! class_exists('wpdev_bk_personal') ) && ( $booking_gcal_feed == '' ) ) { $is_this_btn_disabled = true; $settigns_link = wpbc_get_settings_url() . "&tab=sync&subtab=gcal"; } else { $booking_gcal_events_from = get_bk_option( 'booking_gcal_events_from' ); $booking_gcal_events_from_offset = get_bk_option( 'booking_gcal_events_from_offset' ); $booking_gcal_events_from_offset_type = get_bk_option( 'booking_gcal_events_from_offset_type' ); $booking_gcal_events_until = get_bk_option( 'booking_gcal_events_until' ); $booking_gcal_events_until_offset = get_bk_option( 'booking_gcal_events_until_offset' ); $booking_gcal_events_until_offset_type = get_bk_option( 'booking_gcal_events_until_offset_type' ); $booking_gcal_events_max = get_bk_option( 'booking_gcal_events_max' ); // $booking_gcal_timezone = get_bk_option( 'booking_gcal_timezone'); } ?><div id="wpbc_modal__import_google_calendar__section" class="modal wpbc_popup_modal wpbc_modal__import_google_calendar__section" tabindex="-1" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title"><?php if ( $is_this_btn_disabled ) _e('Warning!' ,'booking'); else _e('Retrieve Google Calendar Events ' ,'booking'); ?></h4> </div> <div class="modal-body"> <?php if ($is_this_btn_disabled) { ?> <label class="help-block" style="display:block;"> <?php printf(__('Please configure settings for import Google Calendar events' ,'booking'),'<b>',',</b>'); ?> <a href="<?php echo $settigns_link; ?>"><?php _e('here' ,'booking');?></a> </label> <?php } else { ?> <table class="visibility_gcal_feeds_settings form-table0 settings-table0 table" > <tbody> <?php if ( function_exists('wpbc_gcal_settings_content_field_selection_booking_resources') ) wpbc_gcal_settings_content_field_selection_booking_resources(); else { ?><input type="hidden" name="wpbc_booking_resource" id="wpbc_booking_resource" value="" /><?php } wpbc_gcal_settings_content_field_from( $booking_gcal_events_from, $booking_gcal_events_from_offset, $booking_gcal_events_from_offset_type ); wpbc_gcal_settings_content_field_until( $booking_gcal_events_until, $booking_gcal_events_until_offset, $booking_gcal_events_until_offset_type ); wpbc_gcal_settings_content_field_max_feeds( $booking_gcal_events_max ); // wpbc_gcal_settings_content_field_timezone($booking_gcal_timezone); ?> </tbody> </table> <?php } ?> </div> <div class="modal-footer" style="text-align:center;"> <?php if ($is_this_btn_disabled) { ?> <a href="<?php echo $settigns_link; ?>" class="button button-primary" style="float:none;" > <?php _e('Configure' ,'booking'); ?> </a> <?php } else { ?> <a href="javascript:void(0)" class="button button-primary" style="float:none;" id="wpbc_modal__import_google_calendar__button_send" onclick="javascript:wpbc_ajx_booking__ui_click__import_google_calendar();jQuery('#wpbc_modal__import_google_calendar__section').wpbc_my_modal('hide');" ><?php _e('Import Google Calendar Events' ,'booking'); ?></a> <?php } ?> <a href="javascript:void(0)" class="button" style="float:none;" data-dismiss="modal"><?php _e('Close' ,'booking'); ?></a> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <?php ?></span><?php } /** Payment Request Layout - Modal Window structure */ function wpbc_hidden_template__content_for_modal_export_csv() { if ( ! class_exists('wpdev_bk_personal') ) { return false; } $user_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); $booking_csv_export_params = get_user_option( 'booking_csv_export_params', (int) $user_id ); $booking_csv_export_params = ( ! empty( $booking_csv_export_params ) ) ? $booking_csv_export_params : array(); $defaults= array( 'export_type' => 'csv_all', 'selected_id' => '', 'csv_export_separator' => 'semicolon', 'csv_export_skip_fields' => '' ); $export_params_arr = wp_parse_args( $booking_csv_export_params, $defaults ); ?><span class="wpdevelop"> <div id="wpbc_modal__export_csv__section" class="modal wpbc_popup_modal" tabindex="-1" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title"><?php _e('CSV Export' ,'booking'); ?></h4> </div> <div class="modal-body"> <table class="form-table"><tbody> <?php $default_options_values = wpbc_get_default_options(); $field_options = array( 'semicolon' => '; - ' . __( 'semicolon', 'booking' ) , 'comma' => ', - ' . __( 'comma', 'booking' ) ); $fields = array( 'type' => 'select' , 'value' => $export_params_arr['csv_export_separator'] //';' , 'title' => __('CSV data separator', 'booking') , 'description' => ''//sprintf(__('Select separator of data for export bookings to CSV.' ,'booking'),'<b>','</b>') , 'options' => $field_options , 'label' => '' , 'disabled' => false , 'disabled_options' => array() , 'multiple' => false , 'description_tag' => 'p' , 'tr_class' => '' , 'class' => '' , 'css' => '' , 'only_field' => false , 'attr' => array() //, 'value' => '' ); WPBC_Settings_API::field_select_row_static( 'wpbc_field_booking_csv_export_separator', $fields ); $field_options = array( 'csv_page' => __( 'Current page', 'booking' ) , 'csv_all' => __( 'All pages', 'booking' ) ); $fields = array( 'type' => 'select' , 'value' => $export_params_arr['export_type'] , 'title' => __('Export pages', 'booking') , 'description' => ''//sprintf(__('Select exporting current page or all pages.' ,'booking'),'<b>','</b>') , 'options' => $field_options , 'label' => '' , 'disabled' => false , 'disabled_options' => array() , 'multiple' => false , 'description_tag' => 'p' , 'tr_class' => '' , 'class' => '' , 'css' => '' , 'only_field' => false , 'attr' => array() //, 'value' => '' ); WPBC_Settings_API::field_select_row_static( 'wpbc_field_booking_csv_export_type', $fields ); ?> </tbody></table> <textarea id="wpbc_field_booking_csv_export_skip_fields" name="wpbc_field_booking_csv_export_skip_fields" style="width:100%;" cols="87" rows="2" placeholder="<?php echo 'trash,is_new,secondname'; ?>" ><?php echo esc_textarea( $export_params_arr['csv_export_skip_fields'] ); ?></textarea> <label class="help-block"><?php printf(__('Enter field names separated by commas to %sskip the export%s' ,'booking'),'<b>','</b>');?></label> <input type="hidden" id="wpbc_modal__export_csv__booking_id" value="" /> </div> <div class="modal-footer"> <a id="wpbc_modal__export_csv__button_send" class="button button-primary" onclick="javascript: wpbc_ajx_booking__ui_click__export_csv( { 'booking_action' : 'export_csv', 'ui_clicked_element_id' : 'wpbc_modal__export_csv__button_send', 'export_type' : jQuery('#wpbc_field_booking_csv_export_type option:selected').val(), 'csv_export_separator' : jQuery('#wpbc_field_booking_csv_export_separator option:selected').val(), 'csv_export_skip_fields': jQuery('#wpbc_field_booking_csv_export_skip_fields').val() } );" href="javascript:void(0);" ><?php _e('Export' ,'booking'); ?></a> <a href="javascript:void(0)" class="button button-secondary" data-dismiss="modal"><?php _e('Close' ,'booking'); ?></a> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> </span><?php } // </editor-fold> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Support functions //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Catch some errors, if such errors exist during our Ajx request */ class WPBC_AJAX_ERROR_CATCHING{ public $errors_arr; function __construct() { $this->errors_arr = array(); // Catch Error messages add_action( 'wp_error_added', array( $this, 'wpbc_wp_error_added' ), 10, 4 ); if ( ! defined( 'WPBC_AJAX_ERROR_CATCH' ) ) { define( 'WPBC_AJAX_ERROR_CATCH', true ); } // Check somewhere to not show error messages: if ( ( defined( 'WPBC_AJAX_ERROR_CATCH' ) ) && ( WPBC_AJAX_ERROR_CATCH ) ) { return false; } } /** * Catch Error messages * * @param $code * @param $message * @param $data * @param $this_link * * @return void */ function wpbc_wp_error_added( $code, $message, $data, $this_link ){ $this->errors_arr[] = array( 'code' => $code, 'message' => $message, 'data' => $data, 'this_link' => $this_link ) ; } /** * Get summary of all errors * @return string */ function get_error_messages(){ $error_message = array(); foreach ( $this->errors_arr as $error ) { $error_message[] = 'Error: ' . $error['code'] . '. ' . $error['message']; } $error_message = implode( '<br/>', $error_message ); if ( ! empty( $error_message ) ) { $error_message = '<div class="wpbc_ajx_errors">' .'<br/><strong>' . __( 'Some errors were encountered.', 'booking' ) . '</strong><br/>' . $error_message . '</div>'; } return $error_message; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Check what user can do //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Check permission of this user on specific actions, like approving or deleting of bookings * * @param string $action like 'set_pnding' * @param int $user_id like 1 * * @return bool */ function wpbc_is_user_can( $action, $user_id = 0 ){ if ( 0 == $user_id ) { $user_id = wpbc_get_current_user_id(); } $user = get_userdata( $user_id ); $user_roles = (array) ( empty( $user ) ? array() : $user->roles ); // Standard WordPress Roles: 'administrator' | 'editor' | 'author' | 'contributor' | 'subscriber' // Get here list of actions that user can do switch ( $action ) { case 'set_booking_pending': break; case 'set_booking_approved': break; case 'move_booking_to_trash': break; case 'restore_booking_from_trash': break; case 'delete_booking_completely': // if ( ! in_array( 'administrator', $user_roles ) ) { return false; } break; case 'booking_add_google_calendar': break; case 'set_booking_locale': break; case 'set_booking_as_read': break; case 'set_booking_as_unread': break; case 'empty_trash': break; case 'set_booking_note': break; case 'edit_booking': break; case 'change_booking_resource': break; case 'duplicate_booking_to_other_resource': break; case 'set_payment_status': break; case 'set_booking_cost': break; case 'send_payment_request': break; case 'import_google_calendar': break; case 'export_csv': break; default: // Default } return true; } bookings__page.php 0000666 00000027703 15166373417 0010255 0 ustar 00 <?php /* * @package: AJX_Bookings Page * @category: o Email Reminders * @description: Define AJX_Bookings in admin settings page. - Sending friendly email reminders based on custom ajx_booking. * Plugin URI: https://oplugins.com/plugins/email-reminders/#premium * Author URI: https://oplugins.com * Author: wpdevelop, oplugins * Version: 0.0.1 * @modified 2020-05-11 */ //FixIn: 9.2.1 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly /** Show Content * Update Content * Define Slug * Define where to show */ class WPBC_Page_AJX_Bookings extends WPBC_Page_Structure { public function __construct() { parent::__construct(); // Redefine TAGs Names, becasue 'tab' slug already used in the system for definition of active toolbar. $this->tags['tab'] = 'view_mode'; $this->tags['subtab'] = 'bottom_nav'; } public function in_page() { return 'wpbc'; } public function tabs() { $tabs = array(); $tabs[ 'vm_booking_listing' ] = array( 'title' => __( 'Booking Listing', 'booking' ) // Title of TAB , 'hint' => __( 'Booking Listing', 'booking' ) // Hint , 'page_title' => __( 'Booking Listing', 'booking' ) // Title of Page , 'link' => '' // Can be skiped, then generated link based on Page and Tab tags. Or can be extenral link , 'position' => '' // 'left' || 'right' || '' , 'css_classes' => '' // CSS class(es) , 'icon' => '' // Icon - link to the real PNG img , 'font_icon' => 'wpbc-bi-collection' // CSS definition of forn Icon //FixIn: 9.5.5.3 , 'header_font_icon' => 'wpbc-bi-collection' // CSS definition of forn Icon //FixIn: 9.5.5.3 , 'default' => false // Is this tab activated by default or not: true || false. , 'disabled' => false // Is this tab disabled: true || false. , 'hided' => true // Is this tab hided: true || false. , 'subtabs' => array() ); // $subtabs = array(); // $tabs[ 'items' ][ 'subtabs' ] = $subtabs; return $tabs; } public function content() { do_action( 'wpbc_hook_settings_page_header', 'page_booking_listing'); // Define Notices Section and show some static messages, if needed. if ( ! wpbc_is_mu_user_can_be_here( 'activated_user' ) ) { return false; } // Check if MU user activated, otherwise show Warning message. //?? if ( ! wpbc_set_default_resource_to__get() ) return false; // Define default booking resources for $_GET and check if booking resource belong to user. //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Get and escape request parameters //////////////////////////////////////////////////////////////////////////////////////////////////////////////// $user_request = new WPBC_AJX__REQUEST( array( 'db_option_name' => 'booking_listing_request_params', 'user_id' => wpbc_get_current_user_id(), 'request_rules_structure' => wpbc_ajx_get__request_params__names_default() ) ); $escaped_search_request_params = false; if ( empty( $_REQUEST['overwrite'] ) ) { $escaped_search_request_params = $user_request->get_sanitized__saved__user_request_params(); // Get Saved } if ( ( false === $escaped_search_request_params ) || ( ! empty( $_REQUEST['overwrite'] ) ) ){ // This request was not saved before, then get sanitized direct parameters, like: $_REQUEST['resource_id'] $request_prefix = false; $escaped_search_request_params = $user_request->get_sanitized__in_request__value_or_default( $request_prefix ); // Direct: $_REQUEST['resource_id'] } //////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Submit ///////////////////////////////////////////////////////////// $submit_form_name = 'wpbc_ajx_booking_form'; // Define form name ?><span class="wpdevelop"><?php // BS UI CSS Class wpbc_js_for_bookings_page(); // JavaScript functions wpbc_welcome_panel(); // Welcome Panel (links) wpbc_ajx_bookings_toolbar( $escaped_search_request_params ); ?></span><?php // BS UI CSS Class ?><div id="wpbc_log_screen" class="wpbc_log_screen"></div><?php // Content //////////////////////////////////////////////////////////// ?> <div class="clear" style="margin-bottom:10px;"></div> <span class="metabox-holder"> <form name="<?php echo $submit_form_name; ?>" id="<?php echo $submit_form_name; ?>" action="" method="post" > <?php // N o n c e field, and key for checking S u b m i t wp_nonce_field( 'wpbc_settings_page_' . $submit_form_name ); ?><input type="hidden" name="is_form_sbmitted_<?php echo $submit_form_name; ?>" id="is_form_sbmitted_<?php echo $submit_form_name; ?>" value="1" /><?php ///wpbc_ajx_booking_modify_container_show(); // Container for showing Edit ajx_booking and define Edit and Delete ajx_booking JavaScript vars. ?><div class="wpbc_ajx_under_toolbar_row"><?php wpbc_ajx__ui__booking_sorting( $escaped_search_request_params , wpbc_ajx_get__request_params__names_default( 'default' ) ); ?><div class="wpbc_ajx_booking_pagination"></div><?php // Pagination container at head // Is send Emails wpbc_ajx__ui__booking__no_toolbar__is_email_sending( $escaped_search_request_params, wpbc_ajx_get__request_params__names_default( 'default' ) ); //FixIn: 9.6.1.5 ?></div><?php wpbc_clear_div(); $is_test_sql_directly = false; if ( ! $is_test_sql_directly ) { $this->show_ajx_booking_listing_container_ajax( $escaped_search_request_params ); $this->show_pagination_container(); } else { $this->show_ajx_booking_listing_container_directly(); // Useful for direct showing of listing without the ajax request, its requirement JavaScript to show data in template!! } ?><div class="clear"></div><?php ?></form> </span> <?php do_action( 'wpbc_hook_settings_page_footer', 'wpbc-ajx_booking' ); wpbc_show_booking_footer(); // Show rating line } private function show_pagination_container(){ ?> <div class="wpbc_ajx_booking_pagination"></div> <?php wpbc_clear_div(); $wpbc_pagination = new WPBC_Pagination(); $wpbc_pagination->init( array( 'load_on_page' => 'wpbc-ajx_booking', 'container' => '.wpbc_ajx_booking_pagination', 'on_click' => 'wpbc_ajx_booking_pagination_click' // onclick = "javascript: wpbc_ajx_booking_pagination_click( page_num );" - need to define this function in JS file )); /** $wpbc_pagination->show( array( // Its showing with JavaScript on document ready 'page_active' => 3, 'pages_count' => 20 )); /**/ } private function show_ajx_booking_listing_container_ajax( $escaped_search_request_params ) { ?> <div class="wpbc_listing_container wpbc_selectable_table wpbc_ajx_booking_listing_container"> <?php // New Spinner Loader //FixIn: 10.0.0.25 ?> <div class="wpbc_spins_loading_container" > <div class="wpbc_booking_form_spin_loader" ><div class="wpbc_spins_loader_wrapper"><div class="wpbc_spins_loader_mini"></div></div></div> <span><?php _e('Loading','booking'); ?> ...</span> </div> </div> <script type="text/javascript"> jQuery( document ).ready( function (){ // Set Security - Nonce for Ajax - Listing wpbc_ajx_booking_listing.set_secure_param( 'nonce', '<?php echo wp_create_nonce( 'wpbc_ajx_booking_listing_ajx' . '_wpbcnonce' ) ?>' ); wpbc_ajx_booking_listing.set_secure_param( 'user_id', '<?php echo wpbc_get_current_user_id(); ?>' ); wpbc_ajx_booking_listing.set_secure_param( 'locale', '<?php echo get_user_locale(); ?>' ); // Set other parameters wpbc_ajx_booking_listing.set_other_param( 'listing_container', '.wpbc_ajx_booking_listing_container' ); wpbc_ajx_booking_listing.set_other_param( 'pagination_container', '.wpbc_ajx_booking_pagination' ); // Send Ajax request and show listing after this. wpbc_ajx_booking_send_search_request_with_params( <?php echo wp_json_encode( $escaped_search_request_params ); ?> ); } ); </script> <?php } private function show_ajx_booking_listing_container_directly(){ //TODO: We need to send Ajax request and then show the listing (its will make one same way of showing listing and pagination)! $my_ajx_booking = new WPBC_AJX_Bookings; //////////////////////////////////// // 0. Check Nonce if Ajax ( ! used now ) //////////////////////////////////// if ( 0 ){ $action_name = 'wpbc_search_field' . '_wpbcnonce'; // $_POST['element_id'] . '_wpbcnonce'; $nonce_post_key = 'nonce'; $result_check = check_ajax_referer( $action_name, $nonce_post_key ); } //////////////////////////////////// // 1. Direct Clean Params //////////////////////////////////// $request_params_ajx_booking = array( 'page_num' => array( 'validate' => 'd', 'default' => 1 ) , 'page_items_count' => array( 'validate' => 'd', 'default' => 10 ) , 'sort' => array( 'validate' => array( 'booking_id' ), 'default' => 'booking_id' ) , 'sort_type' => array( 'validate' => array( 'ASC', 'DESC'),'default' => 'DESC' ) , 'status' => array( 'validate' => 's', 'default' => '' ) , 'keyword' => array( 'validate' => 's', 'default' => '' ) , 'ru_create_date' => array( 'validate' => 'date', 'default' => '' ) ); $request_params_values = array( // Usually $request_params_values is $_REQUEST 'page_num' => 1, 'page_items_count' => 3, 'sort' => 'booking_id', 'sort_type' => 'DESC', 'status' => '', 'keyword' => '', 'ru_create_date' => '' ); $request_params = wpbc_sanitize_params_in_arr( $request_params_values, $request_params_ajx_booking ); //////////////////////////////////// // 2. Get items array from DB //////////////////////////////////// $items_arr = wpbc_ajx_get_booking_data_arr( $request_params ); debuge($items_arr); // Show Pagination - $total_num_of_items_in_all_pages = $sql_res[ [ 'count' ] ]; // $wpbc_pagination->show_pagination( // $request_params_values['page_num'], // ceil( $sql_res[ [ 'count' ] ] / $request_params_values['page_items_count'] ) // ); } } add_action('wpbc_menu_created', array( new WPBC_Page_AJX_Bookings() , '__construct') ); // Executed after creation of Menu bookings__listing.php 0000666 00000070336 15166373417 0011012 0 ustar 00 <?php /** * @version 1.0 * @description AJX_Bookings * @category AJX_Bookings Class * @author wpdevelop * * @web-site http://oplugins.com/ * @email info@oplugins.com * * @modified 2020-01-23 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly class WPBC_AJX_Bookings { /* Static Variables */ static $data_separator = array( 'r_separator' => '~' , 'f_separator' => '^' ); // <editor-fold defaultstate="collapsed" desc=" /// JS | CSS files | Tpl loading /// " > // JS | CSS =================================================================================================== /** * Define HOOKs for loading CSS and JavaScript files */ public function init_load_css_js_tpl() { // JS & CSS // Load only at AJX_Bookings Settings Page if ( 'vm_booking_listing' == wpbc_ajx_booking_listing__get_default_view_mode() ) { //if ( strpos( $_SERVER['REQUEST_URI'], 'view_mode=vm_booking_listing' ) !== false ) { add_action( 'wpbc_enqueue_js_files', array( $this, 'js_load_files' ), 50 ); add_action( 'wpbc_enqueue_css_files', array( $this, 'enqueue_css_files' ), 50 ); add_action( 'wpbc_hook_settings_page_footer', array( $this, 'hook__page_footer_tmpl' ) ); } } /** JSS */ public function js_load_files( $where_to_load ) { $in_footer = true; if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) { //wp_enqueue_script( 'wpbc-live_search', wpbc_plugin_url( '/_out/js/live_search.js' ), array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); wp_enqueue_script( 'wpbc-booking_ajx_toolbar_hooks' , trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__hooks.js' /* wpbc_plugin_url( '/_out/js/codemirror.js' ) */ , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); wp_enqueue_script( 'wpbc-booking_ajx_listing' , trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__listing.js' /* wpbc_plugin_url( '/_out/js/codemirror.js' ) */ , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); wp_enqueue_script( 'wpbc-booking_ajx_actions' , trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__actions.js' /* wpbc_plugin_url( '/_out/js/codemirror.js' ) */ , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); wp_enqueue_script( 'wpbc-general_ui_js_css' , wpbc_plugin_url( '/includes/_general_ui_js_css/_out/wpbc_main_ui_funcs.js' ) , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); /** wp_localize_script( 'wpbc_all', 'wpbc_live_request_obj' , array( 'ajx_booking' => '', 'reminders' => '' ) ); */ } } /** CSS */ public function enqueue_css_files( $where_to_load ) { if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) { //wp_enqueue_style( 'wpbc-ajx_booking-listing', wpbc_plugin_url( '/includes/listing_ajx_booking/o-ajx_booking-listing.css' ), array(), WP_BK_VERSION_NUM ); //wp_enqueue_style( 'wpbc-listing_ajx_booking', trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__listing.css' , array(), WP_BK_VERSION_NUM ); } } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" /// Templates /// " > // Templates =================================================================================================== /** * Templates at footer of page * * @param $page string */ public function hook__page_footer_tmpl( $page ){ // page=wpbc&view_mode=vm_booking_listing if ( 'wpbc-ajx_booking' === $page ) { // it's from >> do_action( 'wpbc_hook_settings_page_footer', 'wpbc-ajx_booking' ); $this->template__listing_header(); $this->template__listing_row(); $this->template__content_data(); } } private function template__listing_header() { // Header ?><script type="text/html" id="tmpl-wpbc_ajx_booking_list_header"> <div class="wpbc_listing_usual_row wpbc_list_header wpbc_selectable_head"> <div class="wpbc_listing_col wpbc_col_id check-column"><div class="content_text"><input type="checkbox" /></div></div> <div class="wpbc_listing_col wpbc_col_booking_labels wpbc_col_labels"><div class="content_text"><?php echo esc_js( __( 'Labels', 'booking' ) . ' / ' . __('Actions' ,'booking' ) ); ?></div></div> <div class="wpbc_listing_col wpbc_col_data"><div class="content_text"><?php echo esc_js( __( 'Booking Data', 'booking' ) ); ?></div></div> <div class="wpbc_listing_col wpbc_col_dates"><div class="content_text"><?php echo esc_js( __( 'Booking Dates', 'booking' ) ); ?> <span class="wpbc_listing_header_action_icon"> <a id="booking_dates_full" onclick="javascript:wpbc_ajx_click_on_dates_wide();" href="javascript:void(0)" title="<?php echo esc_attr( __('Show ALL dates of booking' ,'booking') ); ?>" style="<# if ( 'wide' === wpbc_ajx_booking_listing.search_get_param('ui_usr__dates_short_wide') ) { #>display: none;<# } #>" class="tooltip_top" ><i class="wpbc_icn_swap_horiz" style=" margin-top: 2px;"></i></a> <a id="booking_dates_small" onclick="javascript:wpbc_ajx_click_on_dates_short();" href="javascript:void(0)" title="<?php echo esc_attr( __('Show only check in/out dates' ,'booking') ); ?>" style="<# if ( 'short' === wpbc_ajx_booking_listing.search_get_param('ui_usr__dates_short_wide') ) { #>display: none;<# } #>" class="tooltip_top" ><i class="wpbc_icn_compare_arrows" style=" margin-top: 2px;"></i></a> </span> </div></div> </div> </script><?php } private function template__listing_row() { /** * data objet = { "booking_db": { "booking_id": "3", "trash": "0", "sync_gid": "", "is_new": "0", "status": "", "sort_date": "2022-02-03 12:00:01", "modification_date": "2022-03-14 17:48:23", "form": "selectbox-one^rangetime2^12:00 - 14:00~text^name2^Anthony~text^secondname2^Gomez~text^email2^Gomez.example@wpbookingcalendar.com~text^address2^144 Hitchcock Rd~text^city2^Jacksonville~text^postcode2^38374~text^country2^US~text^phone2^988-48-45~selectbox-one^visitors2^3~checkbox^children2[]^2~textarea^details2^", "hash": "993086af7a382f3956e6a0010932c856", "booking_type": "2", "remark": null, "cost": "58.00", "pay_status": "", "pay_request": "0" }, "id": "3", "approved": "0", "dates": [ "2022-02-03 12:00:01", "2022-02-03 14:00:02" ], "child_id": [ "", "" ], "short_dates": [ "2022-02-03 12:00:01", "-", "2022-02-03 14:00:02" ], "short_dates_child_id": [ "", "", "" ], "parsed_fields": { "rangetime": "12:00 PM - 2:00 PM", "name": "Anthony", "secondname": "Gomez", "email": "Gomez.example@wpbookingcalendar.com", "address": "144 Hitchcock Rd", "city": "Jacksonville", "postcode": "38374", "country": "US", "phone": "988-48-45", "visitors": "3", "children": "2", "details": "", "booking_id": "3", "trash": "0", "sync_gid": "", "is_new": "0", "status": "", "sort_date": "2022-02-03 12:00:01", "modification_date": "March 14, 2022 5:48 PM", "hash": "993086af7a382f3956e6a0010932c856", "booking_type": "2", "cost": "58.00", "pay_status": "", "pay_request": "0", "id": "3", "approved": "0" }, "templates": { "form_show": "<div class=\"standard-content-form\"> \r\n\t<strong>First Name</strong>:<span class=\"fieldvalue\">Anthony</span> \r\n\t<strong>Last Name</strong>:<span class=\"fieldvalue\">Gomez</span> \r\n\t<strong>Email</strong>:<span class=\"fieldvalue\">Gomez.example@wpbookingcalendar.com</span> \r\n\t<strong>Adults</strong>:<span class=\"fieldvalue\"> 3</span> \r\n\t<strong>Children</strong>:<span class=\"fieldvalue\"> 2</span> \r\n\t<strong>Details</strong>: <span class=\"fieldvalue\"> </span> \r\n</div>" }, "__search_request_keyword__": "" } */ // Rows ?><script type="text/html" id="tmpl-wpbc_ajx_booking_list_row"> <div id="row_id_{{{data.parsed_fields.booking_id}}}" class="wpbc_listing_usual_row wpbc_list_row wpbc_row"> <div class="wpbc_listing_col wpbc_col_id check-column"><div class="content_text"><input type="checkbox" /></div></div> <div class="wpbc_listing_col wpbc_col_booking_labels wpbc_col_labels"> <div class="content_text"> <?php wpbc_for_booking_template__action_read(); ?> <span class="wpbc_label wpbc_label_booking_id">{{data['parsed_fields']['booking_id']}}</span><?php /** * Check for errors in translation. * * Example * French translation of this code: * * if ( '<?php _e( 'Resource not exist', 'booking' ); ?>' == data.parsed_fields.resource_title ) { * is: * if ( 'La ressource n'existe pas' == data.parsed_fields.resource_title ) { * * it's generate JS error * * That's why we need to use * if ( '<?php echo esc_js(__( 'Resource not exist', 'booking' )); ?>' == data.parsed_fields.resource_title ) { * which is: * if ( 'La ressource n\'existe pas' == data.parsed_fields.resource_title ) { */ ?> <# if ( '<?php echo esc_js(__( 'Resource not exist', 'booking' )); ?>' == data.parsed_fields.resource_title ) { #><span class="wpbc_label wpbc_label_resource wpbc_label_deleted_resource">{{{data.parsed_fields.resource_title}}}</span><# } else if ( '' != data.parsed_fields.resource_title ) { #><span class="wpbc_label wpbc_label_resource">{{{data.parsed_fields.resource_title}}}</span><# } #><span class="wpbc_label wpbc_label_approved<# if ( '0' == data.approved ) { #> hidden_items <# } #>"><i style="color: #def5d4;" class="menu_icon icon-1x wpbc_icn_done_all"></i><?php echo esc_js(__( 'Approved', 'booking' )); ?></span><# #><span class="wpbc_label wpbc_label_pending<# if ( '1' == data.approved ) { #> hidden_items <# } #>"><i style="color: #f6efe8;" class="menu_icon icon-1x wpbc_icn_hourglass_empty"></i><?php echo esc_js(__( 'Pending', 'booking' )); ?></span><# if ( '' != data.templates.payment_label_template ) { #>{{{data.templates.payment_label_template}}}<# } if ( '' != data.parsed_fields.sync_gid ) { #><span class="wpbc_label wpbc_label_imported"><i class="menu_icon icon-1x wpbc_icn_cloud_download system_update_alt"></i><?php echo esc_js(__( 'Imported', 'booking' )); ?></span><# } #><span class="wpbc_label wpbc_label_trash<# if ( '1' != data.parsed_fields.trash ) { #> hidden_items <# } #>"><i style="color: #f6efe8;" class="menu_icon icon-1x wpbc_icn_delete_forever"></i><?php echo esc_js(__( 'In Trash', 'booking' )); ?></span><# #><?php $labels = get_bk_option( 'wpbc_ajx_booking_labels' ); $labels = explode( "\n",$labels ); $labels = array_map( 'trim',$labels ); // Check for Labels and colors foreach ($labels as $label) { if ( ( ! empty( $label ) ) && ( false !== strpos( ':', $label ) ) ) { list( $label, $color, $text_color ) = explode( ':', $label ); } else{ $color = $text_color = ''; } if ( ! empty( $label ) ) { ?><span class="wpbc_label" style="color:<?php echo $text_color; ?>;background-color:<?php echo $color; ?>;">{{{data.parsed_fields<?php echo $label; ?>}}}</span><?php } } // Predefined internal Labels ?><# if ( ( undefined != data._paid ) && ( -1 != data._paid.toLowerCase().indexOf( 'refund' ) ) ) { #><span class="wpbc_label booking_label__refund"><?php echo esc_js(__('Refund','booking')); ?></span><# } console.log( 'row listing', data ); // LISTING_ROWS #> </div> </div> <div class="wpbc_listing_col wpbc_col_data"> <div class="content_text"> <# <?php if (0) { ?><script type="text/javascript"><?php /* Hack for showing JavaScript syntax */ } ?> var booking_details = data.templates.form_show; var booking_keyword = data[ '__search_request_keyword__' ]; booking_details = wpbc_get_highlighted_search_keyword( booking_details, booking_keyword ); <?php if (0) { ?></script><?php } ?> #> {{{booking_details}}} <?php if ( 0 ) { ?> <div class="wpbc_next_booking_time"> <?php do_action( 'wpbca_show_cron_data_in_ajx_booking_listing' ); ?> <span><strong><?php echo esc_js(__( 'Source', 'booking' )); ?></strong>: <span class="fieldvalue"><strong>{{data['source']}}</strong></span></span> <span><strong><?php echo esc_js(__( 'Booking ID', 'booking' )); ?></strong>: <span class="fieldvalue"><strong>{{data['booking_id']}}</strong></span></span> <span class="wpbc_item_actions wpdevelop"> <a href="javascript:void();" style="margin:0;" onclick="javascript:wpbc_ajx_booking__modify__ajx_reset( wpbc_get_row_id_from_element( this ) );return false;" class="tooltip_top button-secondary button" title="<?php echo esc_js(__('Set last checked booking id to 0', 'booking' )); ?>" data-original-title="Reset" ><i class="-repeat"></i> Reset</a> </span> </div> <hr/> <?php } ?> <# if ( ( !true ) || ( '' == booking_details.trim() ) ) { #> <hr/> <# <?php if (0) { ?><script type="text/javascript"><?php /* Hack for showing JavaScript syntax */ } ?> // Content Data Template var my_content_data = wp.template( 'wpbc_content_data' ); _.each( data['parsed_fields'], function ( p_val, p_key, p_data ) { // Skip these fields if ( ! _.contains( [ '__search_request_keyword__' , 'booking_id', 'source' , 'create_date','edit_date', 'google_calendar_link' ] , p_key ) ){ #>{{{ my_content_data( {"key": p_key, "value": wpbc_decode_HTML_entities( p_val ), "keyword": data['__search_request_keyword__'] } ) }}}<# } }); <?php if (0) { ?></script><?php } ?> #> <# } #> </div> </div> <div class="wpbc_listing_col wpbc_col_dates wpbc_col_labels"> <div class="booking_dates_small booking_dates_expand_section" style="<# if ( 'short' !== wpbc_ajx_booking_listing.search_get_param('ui_usr__dates_short_wide') ) { #>display: none;<# } #>" ><div class="content_text">{{{data.templates.short_dates_content}}}</div></div> <div class="booking_dates_full booking_dates_expand_section" style="<# if ( 'wide' !== wpbc_ajx_booking_listing.search_get_param('ui_usr__dates_short_wide') ) { #>display: none;<# } #>" ><div class="content_text">{{{data.templates.wide_dates_content}}}</div></div> </div><?php $this->for_template__actions_buttons(); ?> </div> </script><?php } private function template__content_data(){ // Content Data ?><script type="text/html" id="tmpl-wpbc_content_data"> <strong>{{data.key}}</strong>:<span class="fieldvalue {{data.key}}<# if ( ( data.keyword != '' ) && ( undefined != data.value ) && ( -1 != data.value.toLowerCase().indexOf( data.keyword.trim().toLowerCase() ) ) ) { #> fieldsearchvalue<# } if ( ( undefined != data.value ) && ( -1 != data.value.toLowerCase().indexOf( 'refund' ) ) ) { #> _refund<# } #>">{{{data.value}}}</span> </script><?php } private function for_template__actions_buttons(){ ?> <div class="wpbc_item_actions wpdevelop"> <div class="wpbc_actions_buttons"> <div class="wpbc_ajx_toolbar wpbc_buttons_row wpbc_buttons_row_for_booking"> <div class="ui_container ui_container_small"> <div class="ui_group"><?php wpbc_for_booking_template__action_cost(); wpbc_for_booking_template__action_payment_request(); wpbc_for_booking_template__action_set_payment_status(); if ( class_exists( 'wpdev_bk_personal' ) ) { wpbc_flex_divider(); } wpbc_for_booking_template__action_edit_booking(); if ( ! class_exists( 'wpdev_bk_personal' ) ) { wpbc_flex_divider(); } wpbc_for_booking_template__action_change_resource(); wpbc_for_booking_template__action_duplicate_booking_to_other_resource(); wpbc_for_booking_template__action_print(); wpbc_for_booking_template__action_remark(); wpbc_for_booking_template__action_locale(); wpbc_for_booking_template__action_add_google_calendar(); wpbc_flex_divider(); wpbc_for_booking_template__action_trash(); wpbc_for_booking_template__action_trash_restore(); wpbc_for_booking_template__action_delete(); wpbc_for_booking_template__action_approved(); wpbc_for_booking_template__action_pending(); ?><div class="ui_element" style="flex:100%;"></div><?php // New line wpbc_for_booking_template_section__action_remark_textarea(); wpbc_for_booking_template_section__change_booking_resource(); wpbc_for_booking_template_section__duplicate_booking_to_other_resource(); wpbc_for_booking_template_section__set_payment_status(); ?></div> </div> </div> </div> <div class="wpbc_actions_sysinfo"> <span><?php echo esc_js(__( 'Booking ID', 'booking' )); ?>: <strong>{{data['parsed_fields']['booking_id']}}</strong></span> <span><?php echo esc_js(__( 'Edited', 'booking' )); ?>: <strong>{{data['parsed_fields']['modification_date']}}</strong></span> <span><?php echo esc_js(__( 'Created', 'booking' )); ?>: <strong>{{data['parsed_fields']['creation_date']}}</strong></span> </div> </div> <?php } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" /// A J A X /// " > // A J A X ===================================================================================================== /** * Define HOOKs for start loading Ajax */ public function define_ajax_hook(){ // Ajax Handlers. Note. "locale_for_ajax" rechecked in wpbc-ajax.php add_action( 'wp_ajax_' . 'WPBC_AJX_BOOKING_LISTING', array( $this, 'ajax_' . 'WPBC_AJX_BOOKING_LISTING' ) ); // Admin & Client (logged in usres) // Ajax Handlers for actions add_action( 'wp_ajax_' . 'WPBC_AJX_BOOKING_ACTIONS', 'wpbc_ajax_' . 'WPBC_AJX_BOOKING_ACTIONS' ); // add_action( 'wp_ajax_nopriv_' . 'WPBC_AJX_BOOKING_LISTING', array( $this, 'ajax_' . 'WPBC_AJX_BOOKING_LISTING' ) ); // Client (not logged in) } /** * Ajax - Get Listing Data and Response to JS script */ public function ajax_WPBC_AJX_BOOKING_LISTING() { if ( ! isset( $_POST['search_params'] ) || empty( $_POST['search_params'] ) ) { exit; } // Security ----------------------------------------------------------------------------------------------- // in Ajax Post: 'nonce': wpbc_ajx_booking_listing.get_secure_param( 'nonce' ), $action_name = 'wpbc_ajx_booking_listing_ajx' . '_wpbcnonce'; $nonce_post_key = 'nonce'; $result_check = check_ajax_referer( $action_name, $nonce_post_key ); $user_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); /** * SQL --------------------------------------------------------------------------- * * in Ajax Post: 'search_params': wpbc_ajx_booking_listing.search_get_all_params() * * Use prefix "search_params", if Ajax sent - * $_REQUEST['search_params']['page_num'], $_REQUEST['search_params']['page_items_count'],.. */ $user_request = new WPBC_AJX__REQUEST( array( 'db_option_name' => 'booking_listing_request_params', 'user_id' => $user_id, //FixIn: 9.4.3.2 'request_rules_structure' => wpbc_ajx_get__request_params__names_default() ) ); $request_prefix = 'search_params'; $request_params = $user_request->get_sanitized__in_request__value_or_default( $request_prefix ); // NOT Direct: $_REQUEST['search_params']['resource_id'] $data_arr = wpbc_ajx_get_booking_data_arr( $request_params ); $new_bookings_count = wpbc_db_get_number_new_bookings(); if ( 'make_reset' === $request_params['ui_reset'] ) { $is_reseted = wpbc_ajx__user_request_params__delete( $user_id ); $request_params['ui_reset'] = $is_reseted ? 'reset_done' : 'reset_error'; } else { $is_success_update = wpbc_ajx__user_request_params__save( $request_params, $user_id ); // - $request_params - serialized here automatically } //---------------------------------------------------------------------------------------------------------- // Send JSON. Its will make "wp_json_encode" - so pass only array, and This function call wp_die( '', '', array( 'response' => null, ) ) Pass JS OBJ: response_data in "jQuery.post( " function on success. wp_send_json( array( 'ajx_count' => $data_arr['count'], 'ajx_items' => $data_arr['data_arr'], 'ajx_booking_resources' => $data_arr['booking_resources'], 'ajx_search_params' => $_REQUEST['search_params'], 'ajx_cleaned_params' => $request_params, 'ajx_new_bookings_count'=> $new_bookings_count ) ); } // </editor-fold> } /** * Just for loading CSS and JavaScript files */ if ( true ) { $ajx_booking_loading = new WPBC_AJX_Bookings; $ajx_booking_loading->init_load_css_js_tpl(); $ajx_booking_loading->define_ajax_hook(); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // API Hooks //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Get booking data by booking_ID * * @param $booking_id int * * @return false | stdClass Object ( [booking_db] => stdClass Object ( [booking_id] => 130 [booking_options] => [trash] => 0 [sync_gid] => 15l1028ii1v95ctbpgcf2r2s2h_20171201 [is_new] => 0 [status] => [sort_date] => 2022-08-08 00:00:00 [modification_date] => 2022-07-24 11:04:32 [form] => text^name1^Jessica~text^secondname1^.... [hash] => 1d7dc4e06d95726bf9 [booking_type] => 1 [remark] => [cost] => 100.00 [pay_status] => Failed [pay_request] => 0 ) [id] => 130 [approved] => 0 [dates] => Array ( [0] => '2022-08-08 00:00:00' [1] => '2022-08-09 00:00:00' [2] => '2022-08-10 00:00:00' ) [child_id] => Array ( [0] => '' [1] => '' [2] => '' ) [short_dates] => Array ( [0] => '2022-08-08 00:00:00' [1] => '-' [2] => '2022-08-10 00:00:00' ) [short_dates_child_id] => Array ( [0] => '' [1] => '' [2] => '' ) [parsed_fields] => Array ( [name] => Jessica [secondname] => Simson ... [booking_id] => 130 [trash] => 0 [sync_gid] => 15l1028ii1v95ctbpgcf2r2s2h_20171201 [is_new] => 0 [status] => [sort_date] => 2022-08-08 00:00:00 [modification_date] => July 24, 2022 11:04 [hash] => 1d7dc4e06d95726bf9060a66235b7dc6 [booking_type] => 1 [remark] => [cost] => 100.00 [pay_status] => Failed [pay_request] => 0 [id] => 130 [approved] => 0 [booking_options] => [is_paid] => 0 [pay_print_status] => Failed [currency_symbol] => $ [resource_title] => Standard [resource_id] => 1 [resource_owner_user] => 1 [google_calendar_link] => https://calendar.google.com/calendar/r/eventedit?text=... ) [templates] => Array ( [form_show] => First Name:Jessica Last Name:Simson Email:simson@gmail.com Phone:724 895 34 88 Address:Oliver street 10 City:Manchester Post code:78998 Country:UK Adults: 2 Children: 0 Details: I want a room with a terrace [form_show_nohtml] => First Name:Jessica Last Name:Simson Email:simson@gmail.com Phone:724 895 34 88 Address:Oliver street 10 City:Manchester Post code:78998 Country:UK Adults: 2 Children: 0 Details: I want a room with a terrace [short_dates_content] => August 8, 2022 - August 10, 2022 [wide_dates_content] => August 8, 2022, August 9, 2022, August 10, 2022 [payment_label_template] => Payment Failed ) ) */ function wpbc_search_booking_by_id( $booking_id ) { $booking_id = intval( $booking_id ); if ( ! empty( $booking_id ) ) { $booking_data = wpbc_search_booking_by_keyword( 'id:' . $booking_id ); if ( ! empty( $booking_data['data_arr'] ) ) { return $booking_data['data_arr'][0]; } } return false; } /** * Search specific booking(s) by Keyword * * @param string $keyword 'email@serv.com' * @param array $search_params default array() array( 'source' => 'csv' ) * * @return array( [data_arr] => Array ( [0] => Array( [booking_id] => 2772 [product_name] => Personal [date_placed] => 2019-10-16 [order] => XXA3443ASDDA-232423-423423 [email] => email@serv.com [_license_key] => 74826576578436 [full_product_name] => Personal (single site) .... ) ) [count] => 1 * */ function wpbc_search_booking_by_keyword( $keyword , $search_params = array() ){ $ajx_booking_listing = new WPBC_AJX_Bookings; $request_params = array( 'page_num' => 1, 'page_items_count' => 99999, 'sort' => 'booking_id', 'sort_type' => 'DESC', 'keyword' => '' ); // Get Default Parameters $default_param_values = wpbc_ajx_get__request_params__names_default( 'default' ); $request_params = wp_parse_args( $request_params, $default_param_values ); // Get Search Parameters, if passed into function $request_params = wp_parse_args( $search_params, $request_params ); $request_params['keyword'] = wpbc_sanitize_text( $keyword ); $ajx_booking_arr = wpbc_ajx_get_booking_data_arr( $request_params ); return $ajx_booking_arr; } add_filter( 'wpbc_search_booking_by_keyword' , 'wpbc_search_booking_by_keyword' ,10, 2 ); /** * DevApi: apply_filters( 'wpbc_search_booking_by_keyword', ' d1ca3d0b476c ', array( 'source' => 'csv' ) ); */ bookings__sql.php 0000666 00000330754 15166373417 0010143 0 ustar 00 <?php /** * @version 1.0 * @description Bookings Listing SQL * @category Booking Listing * @author wpdevelop * * @web-site http://oplugins.com/ * @email info@oplugins.com * * @modified 2022-04-07 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // <editor-fold defaultstate="collapsed" desc=" D E F A U L T R E Q U E S T " > /** * Get params names for escaping and/or default value of such params * * @param string $structure_type 'validate_and_default' (default) | 'validate' | 'default' * * @return array * if $structure_type == '' array ( 'keyword' => array( 'validate' => 's', 'default' => '' ) * , 'wh_booking_date' => array( 'validate' => 'digit_or_date', 'default' => '3' ), ... * if $structure_type == 'validate' array ( 'keyword' => 's' * , 'wh_booking_date' => 'digit_or_date'), ... * if $structure_type == 'default' array ( 'keyword' => '' ) * , 'wh_booking_date' => '3' ), ... */ function wpbc_ajx_get__request_params__names_default( $structure_type = 'validate_and_default' ){ // Clean specific $_REQUEST params, if param is NOT set then return "default" $params_for_cleaning = array( // 'wh_booking_id' => array( 'validate' => 'digit_or_date', 'default' => '' ), // 'digit_or_csd' can check about 'digit_or_csd' in arrays, as well 'wh_booking_type' => array( 'validate' => 'digit_or_csd', 'default' => array( '0' ) ) // if ['0'] - All booking resources, ['-1'] - lost bookings in deleted resources , 'wh_approved' => array( 'validate' => 'digit_or_csd', 'default' => '' ) // '0' | '1' | '' , 'wh_booking_date' => array( 'validate' => 'array', 'default' => array( "3" ) ) // array( "0" ) - Current dates, | array( "3" ) - All dates // number | date 2016-07-20 , 'ui_wh_booking_date_radio' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '2' .... , 'ui_wh_booking_date_next' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '2' .... , 'ui_wh_booking_date_prior' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '2' .... , 'ui_wh_booking_date_checkin' => array( 'validate' => 'digit_or_date', 'default' => '' ) // number | date 2016-07-20 , 'ui_wh_booking_date_checkout' => array( 'validate' => 'digit_or_date', 'default' => '' ) // number | date 2016-07-20 , 'wh_what_bookings' => array( 'validate' => array( 'any', 'new', 'imported', 'in_plugin' ), 'default' => 'any' ) // '1' | '' , 'wh_modification_date' => array( 'validate' => 'array', 'default' => array( "3" ) ) // number | date 2016-07-20 , 'ui_wh_modification_date_radio' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '2' .... , 'ui_wh_modification_date_prior' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '2' .... , 'ui_wh_modification_date_checkin' => array( 'validate' => 'digit_or_date', 'default' => '' ) // number | date 2016-07-20 , 'ui_wh_modification_date_checkout' => array( 'validate' => 'digit_or_date', 'default' => '' ) // number | date 2016-07-20 , 'keyword' => array( 'validate' => 's', 'default' => '' ) //string , 'wh_pay_status' => array( 'validate' => 'array', 'default' => array( 'all' ) ) , 'ui_wh_pay_status_radio' => array( 'validate' => 's', 'default' => '' ) // string , 'ui_wh_pay_status_custom' => array( 'validate' => 's', 'default' => '' ) // string , 'wh_cost' => array( 'validate' => 'float_or_empty', 'default' => '' ) // '1' | '' , 'wh_cost2' => array( 'validate' => 'float_or_empty', 'default' => '' ) // '1' | '' , 'wh_sort' => array( 'validate' => array( 'booking_id__asc', 'booking_id__desc', 'dates__asc', 'dates__desc', 'resource__asc', 'resource__desc', 'cost__asc', 'cost__desc' ), 'default' => 'booking_id__desc' ) , 'wh_trash' => array( 'validate' => array( '0', 'trash', 'any' ), 'default' => 'any' ) , 'page_num' => array( 'validate' => 'd', 'default' => 1 ) // '1' | '' , 'page_items_count' => array( 'validate' => 'd', 'default' => 10 ) // '1' | '' , 'ui_usr__send_emails' => array( 'validate' => array( 'send', 'not_send' ), 'default' => 'send' ) , 'ui_usr__is_expand_remarks' => array( 'validate' => array( 'On', 'Off' ), 'default' => 'Off' ) , 'ui_usr__default_selected_toolbar' => array( 'validate' => array( 'filters', 'actions', 'options' ), 'default' => 'filters' ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////// , 'ui_reset' => array( 'validate' => 's', 'default' => '' ) // string , 'ui_usr__dates_short_wide' => array( 'validate' => array( 'short', 'wide' ), 'default' => 'short' ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////// , 'view_days_num' => array( 'validate' => 'd', 'default' => 30 ) // '1' | '' //FixIn: 8.9.2.1 , 'scroll_start_date' => array( 'validate' => 'digit_or_date', 'default' => '' ) // number | date 2016-07-20 , 'scroll_day' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '' , 'scroll_month' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '' , 'limit_hours' => array( 'validate' => 'digit_or_csd', 'default' => '' ) // , 'only_booked_resources' => array( 'validate' => 'd', 'default' => 0 ) // '1' | '' ); if ( 'validate_and_default' == $structure_type ) { return $params_for_cleaning; } $return_simple_arr = array(); foreach ( $params_for_cleaning as $key => $value ) { $return_simple_arr[ $key ] = $value[ $structure_type ]; } return $return_simple_arr; } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" S A V E U S E R R E Q U E S T " > /** * Save user filter request - saving user filters in toolbar * * @param array $params * @param integer $user_id * * @return bool|int */ function wpbc_ajx__user_request_params__save( $params, $user_id ) { // Reset some parameters, like selected page if ( isset( $params['page_num'] ) ) { $params['page_num'] = 1; $params['keyword'] = ''; } return update_user_option( (int) $user_id, 'booking_listing_request_params' , $params ); } /** * Delete saved user request - used for resetting user filters in toolbar * @param integer $user_id * * @return bool */ function wpbc_ajx__user_request_params__delete( $user_id ) { if ( empty( $user_id ) ) { $user_id = wpbc_get_current_user_id(); } return delete_user_option( (int) $user_id, 'booking_listing_request_params' ); } /** * Get saved user filter request - params for user filters in toolbar * * @param integer $user_id * * @return false|mixed */ function wpbc_ajx__user_request_params__get( $user_id ) { if ( empty( $user_id ) ) { $user_id = wpbc_get_current_user_id(); } // wpbc_ajx__user_request_params__delete($user_id); //For debugging. delete it. return get_user_option( 'booking_listing_request_params', (int) $user_id ); } /** * Get sanitized array of use request parameters that was saved before * * @param $user_id int * * @return array|false */ function wpbc_ajx__user_request_params__get_sanitized( $user_id ) { $request_params_values_arr = wpbc_ajx__user_request_params__get( $user_id ); // - $request_params_values_arr - unserialized here automatically if ( false !== $request_params_values_arr ) { $request_params_structure = wpbc_ajx_get__request_params__names_default(); /** * array( 'page_num' => array( 'validate' => 'd', 'default' => 1 ) * , 'page_items_count' => array( 'validate' => 'd', 'default' => 10 ) * , 'sort' => array( 'validate' => array( 'booking_id' ), 'default' => 'booking_id' ) * , 'sort_type' => array( 'validate' => array( 'ASC', 'DESC'),'default' => 'DESC' ) * , 'keyword' => array( 'validate' => 's', 'default' => '' ) * , 'create_date' => array( 'validate' => 'date', 'default' => '' ) * ) */ $escaped_request_params = wpbc_sanitize_params_in_arr( $request_params_values_arr, $request_params_structure ); // Escaping params here return $escaped_request_params; } else { return false; } } /** * Get user saved option from Request in Booking Listing * * @param $user_id int 1 * @param $option_name string 'ui_usr__send_emails' * * @return false|mixed */ function wpbc_ajx__user_request_params__get_option( $user_id, $option_name ){ // Get User saved option from request $escaped_request_params = wpbc_ajx__user_request_params__get_sanitized( $user_id ); if ( ( ! empty( $escaped_request_params ) ) && ( ! empty( $escaped_request_params[ $option_name ] ) ) ) { return $escaped_request_params[ $option_name ]; } // Get default option $default_param_values = wpbc_ajx_get__request_params__names_default( 'default' ); if ( ! empty( $default_param_values[ $option_name ] ) ) { return $default_param_values[ $option_name ]; } // There is no such option return false; } /** * Is send emails ? Check DB SAVED user defined option from Options toolbar. * @param $user_id int ID of user * * @return int 1 | 0 */ function wpbc_ajx__user_request_option__is_send_emails( $user_id ){ $is_send_emeils = wpbc_ajx__user_request_params__get_option( $user_id, 'ui_usr__send_emails' ); $is_send_emeils = ( 'send' == $is_send_emeils ) ? 1 : 0; return $is_send_emeils; } /** * Is expand remarks by default ? Check DB SAVED user defined option from Options toolbar. * * It's useful only, when we are checking during Ajax action requests, where need to check data in Database, * For templates, need to use JavaScript: * <# if ( 'Off' === wpbc_ajx_booking_listing.search_get_param('ui_usr__is_expand_remarks') ) { #>display: none;<# } #> * * * @param $user_id int ID of user * * @return int 1 | 0 */ function wpbc_ajx__user_request_option__is_expand_remarks( $user_id ){ $is_send_emeils = wpbc_ajx__user_request_params__get_option( $user_id, 'ui_usr__is_expand_remarks' ); $is_send_emeils = ( 'On' == $is_send_emeils ) ? 1 : 0; return $is_send_emeils; } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" S Q L " > /** * Get array of bookings and total number of items in all pages. * * @param array $request_params = Array( [wh_booking_id] => [wh_booking_type] => [booking_type] => [wh_approved] => [wh_booking_date] => [wh_booking_date2] => [wh_booking_datenext] => 0 [wh_booking_dateprior] => 0 [wh_booking_datefixeddates] => [wh_booking_date2fixeddates] => [wh_is_new] => 0 [wh_modification_date] => [wh_modification_date2] => [wh_modification_dateprior] => 0 [wh_modification_datefixeddates] => [wh_modification_date2fixeddates] => [wh_pay_statuscustom] => [wh_pay_status] => [wh_cost] => 0 [wh_cost2] => 0 [wh_sort] => [wh_trash] => [page_num] => 1 [page_items_count] => 10 [view_days_num] => 30 [scroll_start_date] => [scroll_day] => 0 [scroll_month] => 0 [limit_hours] => [only_booked_resources] => 0 ) * * @return array = Array( [count] => 14 [data_arr] => Array ( [0] => Array ( [ajx_booking_id] => 14 [last_check_booking_id] => 0 [status] => [last_run_date] => [booking] => Array ( [email_template] => super_new [conditions] => Array ( [0] => Array ( [if] => __system__|source [sign] => >= [value] => 1"0'0\0 ) ), ... ) [ru_create_date] => 2020-01-25 10:36:55 ... ), ... */ function wpbc_ajx_get_booking_data_arr( $request_params ){ // 1. Get booking resources (sql) $resources_arr = wpbc_ajx_get_all_booking_resources_arr(); /** * Array ( [0] => Array ( [booking_type_id] => 1 [title] => Standard [users] => 1 [import] => [export] => [cost] => 25 [default_form] => standard [prioritet] => 0 [parent] => 0 [visitors] => 2 ), ... */ $resources_arr_sorted = wpbc_ajx_get_sorted_booking_resources_arr( $resources_arr ); // 2. Get all bookings (sql) $bookings = wpbc_ajx_get__bookings_obj__sql( $request_params ); /** * Array ( [count] => 172, [bookings] => Array ( * [0] => stdClass Object ( [booking_id] => 175 [trash] => 0 [sync_gid] => [is_new] => 1 [status] => [sort_date] => 2022-04-19 12:00:01 [modification_date] => 2022-04-03 08:05:13 [form] => selectbox-one^rangetime5^12:00 - 14:00~text^name5^test data~ ... ~checkbox^term_and_condition5[]^I Accept terms [hash] => ae964965356f7c735139764eebe12a63 [booking_type] => 5 [remark] => [cost] => 50.00 [pay_status] => 164896951360.82 [pay_request] => 0 ), .... */ $bookings_obj = $bookings['bookings']; $bookings_count = $bookings['count']; // 3. Get booking dates (sql) $booking_dates_obj = wpbc_ajx_get__booking_dates_obj__sql( $bookings_obj ); /** * Array ( [0] => stdClass Object ( [booking_dates_id] => 333 [booking_id] => 165 [booking_date] => 2022-03-28 11:00:01 [approved] => 0 [type_id] => ) [1] => .... */ // 4. Include dates into bookings (Wide and Short dates view) $bookings_with_dates = wpbc_ajx_include_bookingdates_in_bookings( $bookings_obj, $booking_dates_obj ); /** Array ( [182] => stdClass Object ( [booking_db] => stdClass Object ( [booking_id] => 182 [trash] => 0 [sync_gid] => [is_new] => 1 [status] => [sort_date] => 2023-01-23 10:00:01 [modification_date] => 2022-04-18 12:23:30 [form] => selectbox-one^rangetime2^10:00 - 12:00~text^name2^rr~text^secondname2^hjk~email^email2^hyui@nbco.csdf~text^phone2^h~text^address2^khj~text^city2^e~text^postcode2^hj~selectbox-one^country2^HT~selectbox-one^visitors2^1~selectbox-one^children2^0~textarea^details2^djkh~checkbox^term_and_condition2[]^I Accept term and conditions [hash] => a1ae510d8fee961b7f8ae53101632151 [booking_type] => 2 [remark] => [cost] => 75.00 [pay_status] => 165028101080.84 [pay_request] => 0 ) [id] => 182 [approved] => 0 [dates] => Array ( [0] => 2023-01-23 10:00:01 [1] => 2023-01-25 00:00:00 [2] => 2023-01-27 12:00:02 ) [child_id] => Array ( [0] => [1] => [2] => ) [short_dates] => Array ( [0] => 2023-01-23 10:00:01 [1] => , [2] => 2023-01-25 00:00:00 [3] => , [4] => 2023-01-27 12:00:02 ) [short_dates_child_id] => Array ( [0] => [1] => [2] => [3] => [4] => ) ) [181] => stdClass Object ... */ // 4.5 remove some bookings, that does not fit to Dates conditions list( $bookings_with_dates, $bookings_count ) = wpbc_ajx_get__remove_bookings__where_dates_outside( $request_params, $bookings_with_dates, $bookings_count ); // 5. Parse forms $parsed_bookings = wpbc_ajx_parse_bookings( $bookings_with_dates, $resources_arr ); /** array( [188] => stdClass Object ( [booking_db] => stdClass Object ( [booking_id] => 188 [trash] => 0 [sync_gid] => [is_new] => 1 [status] => [sort_date] => 2023-03-05 10:00:01 [modification_date] => 2022-04-19 11:58:31 [form] => text^selected_short_dates_hint4^March 5, 2023~text^days_number_hint4^1~text^cost_hint4^&#36;95~selectbox-one^rangetime4^10:00 - 12:00~text^name4^test~email^email4^test@wpbookingcalendar.com~selectbox-one^my_select4^1~selectbox-multiple^multi_select4[]^0,1,2,3~checkbox^my_checkbx4[]^false~checkbox^my_multi_checkbx4[]^1~checkbox^my_multi_checkbx4[]^~checkbox^my_multi_checkbx4[]^3~checkbox^exclusive_multi_checkbx4^~checkbox^exclusive_multi_checkbx4^2~checkbox^exclusive_multi_checkbx4^~radio^my_radio4^2~selectbox-one^country4^GB~textarea^details4^s~checkbox^term_and_condition4[]^I Accept term and conditions [hash] => dd12c3a61f14aaca693f52d110d2723a [booking_type] => 4 [remark] => [cost] => 95.00 [pay_status] => 165036591118.88 [pay_request] => 0 ) [id] => 188 [approved] => 0 [dates] => Array ( [0] => 2023-03-05 10:00:01 [1] => 2023-03-05 12:00:02 ) [child_id] => Array([0] => [1] => ) [short_dates] => Array ( [0] => 2023-03-05 10:00:01 [1] => - [2] => 2023-03-05 12:00:02 ) [short_dates_child_id] => Array ( [0] => [1] => [2] => ) [form_data] => Array ( [selected_short_dates_hint] => March 5, 2023 [days_number_hint] => 1 [cost_hint] => &#36;95 [rangetime] => 10:00 AM - 12:00 PM [name] => test ... [term_and_condition] => I Accept term and conditions [booking_id] => 188 [trash] => 0 [sync_gid] => [is_new] => 1 [status] => [sort_date] => 2023-03-05 10:00:01 [modification_date] => 2022-04-19 11:58:31 [hash] => dd12c3a61f14aaca693f52d110d2723a [booking_type] => 4 [cost] => 95.00 [pay_status] => 165036591118.88 [pay_request] => 0 [id] => 188 [approved] => 0 [resource_title] => Apartment#3 [_form_show] => "<div class="payment-content-form"><strong>Times</strong>:<span class="fieldvalue">10:00 AM - 12:00 PM</span> ...." ) ... */ // Reset array keys for correct DESC sorting during sending Ajax request. $parsed_bookings = array_values( $parsed_bookings ); return array( 'booking_resources' => $resources_arr_sorted, //$resources_arr, 'data_arr' => $parsed_bookings, 'count' => $bookings_count ); } /** * R E S O U R C E S - Get SORTED booking resources as array * * @param $resources_arr array Array ( [1] => Array ( [booking_type_id] => 1 [title] => Standard [users] => 1 [import] => [export] => [cost] => 25 [default_form] => standard [prioritet] => 0 [parent] => 0 [visitors] => 2 ), ... * * @return array */ function wpbc_ajx_get_sorted_booking_resources_arr( $resources_arr ) { if ( ! empty( $resources_arr ) ) { $resources_arr_sorted = wpbc_ajx_arrange_booking_resources_arr( $resources_arr ); $resources_arr_sorted = $resources_arr_sorted['linear_resources']; foreach ( $resources_arr_sorted as $key_id => $resource ) { $resources_arr_sorted[ $key_id ]['title'] = wpbc_lang( $resources_arr_sorted[ $key_id ]['title'] ); } // Reset keys for having correct sorting (important for parent/child resources) after ajax response $resources_arr_sorted = array_values( $resources_arr_sorted ); } else { $resources_arr_sorted = $resources_arr; } return $resources_arr_sorted; } /** * R E S O U R C E S - Get all booking resources as array * * @return array Array ( [1] => Array ( [booking_type_id] => 1 [title] => Standard [users] => 1 [import] => [export] => [cost] => 25 [default_form] => standard [prioritet] => 0 [parent] => 0 [visitors] => 2 ), ... */ function wpbc_ajx_get_all_booking_resources_arr( ){ if ( ! class_exists( 'wpdev_bk_personal' ) ) { return array(); } $db_names = wpbc_get_db_names(); $sql = array(); $sql['select'] = "SELECT * FROM {$db_names['resources']} as bt"; $sql['where'] = " WHERE ( 1 = 1 )"; if ( class_exists( 'wpdev_bk_multiuser' ) ) { // MultiUser - only specific booking resources for specific Regular User in Admin panel. if ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) { $user_bk_id = intval( $_REQUEST['wpbc_ajx_user_id'] ); } else { $user_bk_id = wpbc_get_current_user_id(); } $is_user_super_admin = apply_bk_filter( 'is_user_super_admin', $user_bk_id ); if ( ! $is_user_super_admin ) { $sql['where'] .= 'AND users = ' . $user_bk_id . ' '; } } // Order depends from version //FixIn: 9.9.0.23 if ( class_exists( 'wpdev_bk_biz_l' ) ) { $sql['order'] = " ORDER BY parent, prioritet, title, booking_type_id"; } else { $sql['order'] = " ORDER BY title, booking_type_id"; } global $wpdb; $sql_prepared = //$wpdb->prepare( $sql['select'] . $sql['where'] . $sql['order']; // , $sql['sql_args'] // ); $resources = $wpdb->get_results( $sql_prepared ); $resources_arr = array(); foreach ( $resources as $resource ) { $resources_arr[ $resource->booking_type_id ] = get_object_vars( $resource ); } return $resources_arr; } /** * Get arranged / sorted booking resources arrays * * @param $resources_sql_arr array( ... * [4] => Array ( [booking_type_id] => 4 [title] => Apartment#3 [users] => 1 [import] => [export] => [cost] => 270 [default_form] => standard [prioritet] => 1 [parent] => 0 [visitors] => 1 ) [5] => Array ( [booking_type_id] => 5 [title] => Standard-1 [users] => 1 [import] => [export] => [cost] => 25 [default_form] => standard [prioritet] => 1 [parent] => 1 [visitors] => 1 ) ... */ function wpbc_ajx_arrange_booking_resources_arr( $all_resources ){ if ( count( $all_resources ) > 0 ) { $resources = array(); $child_resources = array(); $parent_single_resources = array(); foreach ( $all_resources as $single_resources ) { $single_resources = $single_resources ; $single_resources['id'] = $single_resources['booking_type_id']; // Child booking resource if ( ( ! empty( $single_resources[ 'parent' ] ) ) ){ // Child if ( ! isset( $child_resources[ $single_resources['parent'] ] ) ) $child_resources[ $single_resources['parent'] ] = array(); $child_resources[ $single_resources['parent'] ][ $single_resources['id'] ] = $single_resources; } else { // Parent or Single $parent_single_resources[ $single_resources['id'] ] = $single_resources; } // All resources $resources[ $single_resources['id'] ] = $single_resources; } $final_resource_array = array(); foreach ( $parent_single_resources as $key => $res) { // Calc Capacity if ( isset( $child_resources[$res['id']] ) ) $res['count'] = count( $child_resources[$res['id']] ) + 1; else $res['count'] = 1; // Fill the parent resource $final_resource_array[ $res['id'] ] = $res; // Fill all child resources (its already sorted) - for having linear array with child resourecs. if ( isset( $child_resources[ $res['id'] ] ) ) { foreach ( $child_resources[ $res['id'] ] as $child_obj ) { $child_obj['count'] = 1; $final_resource_array[ $child_obj['id'] ] = $child_obj; } } } return array( 'linear_resources' => $final_resource_array , 'single_or_parent' => $parent_single_resources , 'child' => $child_resources ); } else { return false; } } /** * S Q L - B O O K I N G S - Get array of "Bookings" objects from DB * based on request params * * @param array $request_params * * @return array of bookings sql objects */ function wpbc_ajx_get__bookings_obj__sql( $request_params ) { $defaults = wpbc_ajx_get__request_params__names_default( 'default' ); $params = wp_parse_args( $request_params, $defaults ); global $wpdb; $db_names = wpbc_get_db_names(); $sql_args = array(); $sql = array(); $sql['start_select'] = " SELECT * "; $sql['start_count'] = " SELECT COUNT(*) as count"; $sql['from'] = " FROM {$db_names['bookings']} as bk"; $sql['where'] = " WHERE ( 1 = 1 )"; //////////////////////////////////////////////////////////////////////////////////////////////////////////// // DATES //////////////////////////////////////////////////////////////////////////////////////////////////////////// $sql['where'] .= " AND ( EXISTS ( SELECT * FROM {$db_names['dates']} as dt WHERE bk.booking_id = dt.booking_id "; // W H E R E : Approved | Pending ---------------------------------------------------------------------- if ( $request_params['wh_approved'] !== '' ) { $sql['where'] .= " AND approved = {$request_params['wh_approved']} "; } // W H E R E : D A T E S -------------------------------------------------------------------------------- if (1){ if ( is_array( $request_params['wh_booking_date'] ) ) { $wh_booking_date = array_replace( array( '', '' ), $request_params['wh_booking_date'] ); // Always have minimum 2 values in arr } else { $wh_booking_date = array( '', '' ); } if ( count( $wh_booking_date ) > 2 ) { $removed_el = array_shift( $wh_booking_date ); // Remove an element off the beginning of array } } $sql['where'] .= wpbc_ajx__sql_where_for_dates( (string) $wh_booking_date[0], (string) $wh_booking_date[1] ); $sql['where'] .= " ) )"; //////////////////////////////////////////////////////////////////////////////////////////////////////////// // W H E R E : M o d i f i c a t i o n D A T E S -------------------------------------------------- if (1){ if ( is_array( $request_params['wh_modification_date'] ) ) { $wh_modification_date = array_replace( array( '', '' ), $request_params['wh_modification_date'] ); // Always have minimum 2 values in arr } else { $wh_modification_date = array( '', '' ); } if ( count( $wh_modification_date ) > 2 ) { $removed_el = array_shift( $wh_modification_date ); // Remove an element off the beginning of array } } $sql['where'] .= wpbc_ajx__sql_where_for_modification_date( (string) $wh_modification_date[0], (string) $wh_modification_date[1] ); // W H E R E : Resources ------------------------------------------------------------------------------ if ( class_exists( 'wpdev_bk_personal' ) ) { if ( ! empty( $request_params['wh_booking_type'] ) ) { $sql['where'] .= wpbc_ajx__sql_where_for_resources( $request_params['wh_booking_type'], $request_params['wh_approved'], (string) $wh_booking_date[0], (string) $wh_booking_date[1] ); } } // W H E R E : Payment Status ------------------------------------------------------------------------- if ( class_exists( 'wpdev_bk_biz_s' ) ) { if ( ! empty( $request_params['wh_pay_status'] ) ) { $sql_and_args = wpbc_ajx__sql_where_for_payment_status( $request_params['wh_pay_status'] ); $sql['where'] .= $sql_and_args[0]; if ( count( $sql_and_args[1] ) > 0 ) { foreach ( $sql_and_args[1] as $my_arg ) { $sql_args[] = $my_arg; } } } } // W H E R E : C o s t Min - Max ------------------------------------------------------------------- if ( class_exists( 'wpdev_bk_biz_s' ) ) { if ( ( isset( $request_params['wh_cost'] ) ) || ( isset( $request_params['wh_cost2'] ) ) ) { $wh_cost_min = ( isset( $request_params['wh_cost'] ) ) ? $request_params['wh_cost'] : ''; $wh_cost_max = ( isset( $request_params['wh_cost2'] ) ) ? $request_params['wh_cost2'] : ''; $sql_and_args = wpbc_ajx__sql_where_cost_min_max( $wh_cost_min, $wh_cost_max ); $sql['where'] .= $sql_and_args[0]; if ( count( $sql_and_args[1] ) > 0 ) { foreach ( $sql_and_args[1] as $my_arg ) { $sql_args[] = $my_arg; } } } } // W H E R E : Trash ----------------------------------------------------------------------------------- if ( isset( $request_params['wh_trash'] ) ) { if ( '0' === $request_params['wh_trash'] ) { // Existing $sql['where'] .= " AND bk.trash = 0 "; } if ( 'trash' === $request_params['wh_trash'] ) { // In trash $sql['where'] .= " AND bk.trash = 1 "; } //if ( 'any' === $request_params['wh_trash'] ) { } // Any } // W H E R E : All bookings | New bookings | Imported bookings | Plugin bookings if ( isset( $request_params['wh_what_bookings'] ) ) { if ( 'any' === $request_params['wh_what_bookings'] ) { //$sql['where'] .= " AND bk.is_new = 0 "; } if ( 'new' === $request_params['wh_what_bookings'] ) { $sql['where'] .= " AND bk.is_new = 1"; } if ( 'imported' === $request_params['wh_what_bookings'] ) { $sql['where'] .= " AND bk.sync_gid != '' "; } if ( 'in_plugin' === $request_params['wh_what_bookings'] ) { $sql['where'] .= " AND bk.sync_gid = '' "; } } // W H E R E : K E Y W O R D if ( ! empty( $params['keyword'] ) ) { $sql['where'] .= " AND ( "; /** * Relative configuration of LIKE sanitization * check at the bottom here https://code.tutsplus.com/articles/data-sanitization-and-validation-with-wordpress--wp-25536 * * So this is a correct way: * * $sql['where'] .= "( bk.form LIKE %s ) "; * $sql_args[] = '%' . $wpdb->esc_like( $params['keyword'] ) . '%'; * */ $sql['where'] .= "( bk.form LIKE %s ) "; $sql_args[] = '%' . $wpdb->esc_like( $params['keyword'] ) . '%'; if ( is_numeric( $params['keyword'] ) ) { $sql['where'] .= " OR ( bk.booking_id = %d ) "; $sql_args[] = intval( $params['keyword'] ); } $sql['where'] .= " OR ( bk.sync_gid LIKE %s ) "; $sql_args[] = '%' . $wpdb->esc_like( $params['keyword'] ) . '%'; if ( class_exists( 'wpdev_bk_personal' ) ) { $sql['where'] .= " OR ( bk.remark LIKE %s ) "; $sql_args[] = '%' . $wpdb->esc_like( $params['keyword'] ) . '%'; $sql['where'] .= " OR ( bk.hash LIKE %s ) "; $sql_args[] = '%' . $wpdb->esc_like( $params['keyword'] ) . '%'; } $sql['where'] .= " )"; // W H E R E : booking ID //FixIn: 9.4.3.9 $is_id = strpos( trim( strtolower( $params['keyword'] ) ) , 'id:' ); // Keyword, like 'id:200' OR 'id:100,105' if ( 0 === $is_id ){ $search_booking_id = substr( trim( $params['keyword'] ), 3 ); $search_booking_id_arr = explode( ',', $search_booking_id ); // Get array of booking ID: from 'id:200,201,15' we get [200,201,15] $sql_where_arr = array(); $sql_args = array(); // It's last WHERE in a list so all previous arguments ($sql_args) we are resetting foreach ( $search_booking_id_arr as $bk_id ) { $sql_where_arr[] = ' bk.booking_id = %d '; $sql_args[] = intval( $bk_id ); } $sql['where'] = " WHERE ( " . implode( ' OR ', $sql_where_arr ) . ") "; $sql['where'] = apply_bk_filter('update_where_sql_for_getting_bookings_in_multiuser', $sql['where'] ); // Add 'AND bk.booking_type IN ( $user_resources )' to the end of Where } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////// switch ( $params['wh_sort'] ) { case 'booking_id__asc': $order_by = 'booking_id ASC '; break; case 'booking_id__desc': $order_by = 'booking_id DESC '; break; case 'dates__asc': $order_by = 'sort_date ASC '; break; case 'dates__desc': $order_by = 'sort_date DESC '; break; case 'resource__asc': $order_by = 'booking_type ASC '; break; case 'resource__desc': $order_by = 'booking_type DESC '; break; case 'cost__asc': $order_by = 'cost ASC '; break; case 'cost__desc': $order_by = 'cost DESC '; break; default: $order_by = 'booking_id ASC '; } $sql['order'] = " ORDER BY bk." . $order_by; // $sql['order'] = " ORDER BY bk." . esc_sql( $params['sort'] ) . ( ( 'DESC' == $params['sort_type'] ) ? " DESC " : " ASC " ); $sql_args_count = $sql_args; // For SELECT COUNT(*) as count we do not need other parameters $sql['limit'] = " LIMIT %d, %d "; $sql_args[] = ( $params['page_num'] - 1 ) * $params['page_items_count']; $sql_args[] = $params['page_items_count']; /** * Good Practice: https://blog.ircmaxell.com/2017/10/disclosure-wordpress-wpdb-sql-injection-technical.html * fixed in WordPress 4.8.3 * $where = "WHERE foo = %s"; $args = [$_GET['data']]; $args[] = 1; $args[] = 2; $query = $wpdb->prepare("SELECT * FROM something $where LIMIT %d, %d", $args); * */ //////////////////////////////////////////////////////////////////////////////////////////////////////////// // SELECT at this specific PAGE ///////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////// $sql_prepared = $wpdb->prepare( $sql['start_select'] . $sql['from'] . $sql['where'] . $sql['order'] . $sql['limit'] , $sql_args ); $bookings_sql_obj = $wpdb->get_results($sql_prepared); //////////////////////////////////////////////////////////////////////////////////////////////////////////// // COUNT of items with this WHERE /////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////// $sql_for_listing_count = $sql['start_count'] . $sql['from'] . $sql['where']; if ( false === strpos( $sql_for_listing_count, '%' ) ) { $sql_prepared = $sql_for_listing_count; } else { $sql_prepared = $wpdb->prepare( $sql_for_listing_count , $sql_args_count ); } $bookings_count = $wpdb->get_results( $sql_prepared ); $bookings_count = ( ( count( $bookings_count ) > 0 ) ? $bookings_count[0]->count : 0 ); return array( 'count' => $bookings_count , 'bookings' => $bookings_sql_obj ); } // W H E R E C O N D I T I O N S /** * Get SQL W H E R E conditions for D a t e s of bookings * * @param string $wh_booking_date - Parameter from Booking Listing request (usually its number) * @param string $wh_booking_date2 - Parameter from Booking Listing request (usually its number) * @param string $pref - Optional. Prefix for table. * @return string - WHERE conditions for SQL */ function wpbc_ajx__sql_where_for_dates( $wh_booking_date, $wh_booking_date2, $pref = 'dt.' ) { $wh_booking_date = (string) $wh_booking_date; $wh_booking_date2 = (string) $wh_booking_date2; $sql_where= ''; if ($pref == 'dt.') { $and_pre = ' AND '; $and_suf = ''; } else { $and_pre = ''; $and_suf = ' AND '; } // Actual if ( ( ( $wh_booking_date === '' ) && ( $wh_booking_date2 === '' ) ) || ($wh_booking_date === '0') ) { $sql_where = $and_pre."( ".$pref."booking_date >= ( CURDATE() - INTERVAL '00:00:01' HOUR_SECOND ) ) ".$and_suf ; //FixIn: 8.5.2.14 } else if ($wh_booking_date === '1') { // Today //FixIn: 7.1.2.8 $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL '23:59:59' HOUR_SECOND ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() - INTERVAL '00:00:01' HOUR_SECOND ) ) ".$and_suf ; //FixIn: 8.4.7.21 } else if ($wh_booking_date === '2') { // Previous $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() - INTERVAL '00:00:01' HOUR_SECOND ) ) ".$and_suf ; //FixIn: 8.5.2.16 } else if ($wh_booking_date === '3') { // All $sql_where = ''; } else if ($wh_booking_date === '4') { // Next $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL ". $wh_booking_date2 . " DAY ) ) ".$and_suf ; // $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() - INTERVAL 1 DAY ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date > ( CURDATE() ) ) ".$and_suf ; //FixIn: 8.0.1.1 } else if ($wh_booking_date === '5') { // Prior $wh_booking_date2 = str_replace('-', '', $wh_booking_date2); $sql_where = $and_pre."( ".$pref."booking_date >= ( CURDATE() - INTERVAL ". $wh_booking_date2 . " DAY ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL 1 DAY ) ) ".$and_suf ; } else if ($wh_booking_date === '7') { // Check In date - Today/Tomorrow // $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL '23:59:59' HOUR_SECOND ) ) ".$and_suf ; // $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() ) ) ".$and_suf ; $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL '1 23:59:59' DAY_SECOND ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() + INTERVAL 1 DAY ) ) ".$and_suf ; } else if ($wh_booking_date === '8') { // Check Out date - Tomorrow $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL '1 23:59:59' DAY_SECOND ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() + INTERVAL 1 DAY ) ) ".$and_suf ; } else if ( ( $wh_booking_date === '9' ) || ( $wh_booking_date === '10' ) || ( $wh_booking_date === '11' ) ) { // Today check in/out $sql_where = $and_pre."( ".$pref."booking_date <= ( CURDATE() + INTERVAL 1 DAY ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."booking_date >= ( CURDATE() - INTERVAL 1 DAY ) ) ".$and_suf ; } else { // Fixed $wh_booking_date = wpbc_sanitize_date( $wh_booking_date ); $wh_booking_date2 = wpbc_sanitize_date( $wh_booking_date2 ); /* if ( $wh_booking_date !== '' ){ $sql_where .= $and_pre . "( " . $pref . "booking_date >= ( '" . $wh_booking_date . "' - INTERVAL '00:00:01' HOUR_SECOND ) ) " . $and_suf; } if ( $wh_booking_date2 !== '' ) { $sql_where .= $and_pre . "( " . $pref . "booking_date <= ( '" . $wh_booking_date2 . "' + INTERVAL '23:59:59' HOUR_SECOND ) ) " . $and_suf; } */ if ( $wh_booking_date !== '' ) { if ( strpos( $wh_booking_date, ':' ) === false ) { $sql_where .= $and_pre . "( " . $pref . "booking_date >= '" . $wh_booking_date . " 00:00:00' ) " . $and_suf; } else { $sql_where .= $and_pre . "( " . $pref . "booking_date >= '" . $wh_booking_date . "' ) " . $and_suf; } } if ( $wh_booking_date2 !== '' ) { if ( strpos( $wh_booking_date2, ':' ) === false ) { $sql_where .= $and_pre . "( " . $pref . "booking_date <= '" . $wh_booking_date2 . " 23:59:59' ) " . $and_suf; } else { $sql_where .= $and_pre . "( " . $pref . "booking_date <= '" . $wh_booking_date2 . "' ) " . $and_suf; } } } return $sql_where; } /** * Get SQL W H E R E conditions for M o d i f i c a t i o n D a t e of bookings * * @param string $wh_modification_date - Parameter from Booking Listing request (usually its number) * @param string $wh_modification_date2 - Parameter from Booking Listing request (usually its number) * @param string $pref - Optional. Prefix for table. * @return string - WHERE conditions for SQL */ function wpbc_ajx__sql_where_for_modification_date( $wh_modification_date, $wh_modification_date2, $pref = 'bk.' ) { $sql_where = ''; if ($pref == 'bk.') { $and_pre = ' AND '; $and_suf = ''; } else { $and_pre = ''; $and_suf = ' AND '; } if ($wh_modification_date === '1') { // Today $sql_where = $and_pre."( ".$pref."modification_date <= ( CURDATE() + INTERVAL '23:59:59' HOUR_SECOND ) ) ".$and_suf ; //FixIn: 8.4.7.22 $sql_where .= $and_pre."( ".$pref."modification_date >= ( CURDATE() - INTERVAL '00:00:01' HOUR_SECOND ) ) ".$and_suf ; //FixIn: 8.4.7.22 } else if ($wh_modification_date === '3') { // All $sql_where = ''; } else if ($wh_modification_date === '5') { // Prior $wh_modification_date2 = str_replace('-', '', $wh_modification_date2); $sql_where = $and_pre."( ".$pref."modification_date >= ( CURDATE() - INTERVAL ". $wh_modification_date2 . " DAY ) ) ".$and_suf ; $sql_where .= $and_pre."( ".$pref."modification_date <= ( CURDATE() + INTERVAL 1 DAY ) ) ".$and_suf ; } else { // Fixed $wh_modification_date = wpbc_sanitize_date( $wh_modification_date ); //FixIn: 9.4.4.1 $wh_modification_date2 = wpbc_sanitize_date( $wh_modification_date2 ); if ( $wh_modification_date !== '' ) $sql_where.= $and_pre."( ".$pref."modification_date >= ( '" . $wh_modification_date . "' - INTERVAL '00:00:01' HOUR_SECOND ) ) ".$and_suf; if ( $wh_modification_date2 !== '' ) $sql_where.= $and_pre."( ".$pref."modification_date <= ( '" . $wh_modification_date2 . "' + INTERVAL '23:59:59' HOUR_SECOND ) ) ".$and_suf; } return $sql_where; } /** * Get SQL W H E R E conditions for B o o k i n g R e s o u r c e s * * @param $wh_booking_type * @param $wh_approved * @param $wh_booking_date * @param $wh_booking_date2 * * @return string - SQL */ function wpbc_ajx__sql_where_for_resources( $wh_booking_type, $wh_approved, $wh_booking_date, $wh_booking_date2 ){ global $wpdb; if ( ! class_exists( 'wpdev_bk_personal' ) ) { return ''; } if ( is_array( $wh_booking_type ) ) { $wh_booking_type = implode( ',', $wh_booking_type ); } $sql_where = ''; if ( '0' === $wh_booking_type ) { // All booking resources // Get all booking resources of this user $resources_sql_arr = wpbc_ajx_get_all_booking_resources_arr(); $wh_booking_type = implode( ',', array_keys( $resources_sql_arr ) ); //$resources_arr = wpbc_ajx_arrange_booking_resources_arr( $resources_sql_arr ); } if ( '-1' === $wh_booking_type ) { // Lost booking resources $is_show_lost = true; if ( class_exists( 'wpdev_bk_multiuser' ) ) { // MultiUser - Only for super booking admin user $user_bk_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); $is_user_super_admin = apply_bk_filter( 'is_user_super_admin', $user_bk_id ); if ( ! $is_user_super_admin ) { $is_show_lost = false; // For regular user show all bookings from the booking resources that belong to this user. $sql_where .= " AND bk.booking_type IN ( SELECT DISTINCT booking_type_id FROM {$wpdb->prefix}bookingtypes WHERE users = " . $user_bk_id . " ) "; } } // "Lost" bookings in deleted booking resources if ( $is_show_lost ) { $sql_where .= " AND bk.booking_type NOT IN ( SELECT DISTINCT booking_type_id FROM {$wpdb->prefix}bookingtypes ) "; } } else if ( ! empty( $wh_booking_type ) ) { // P $sql_where .= " AND ( "; $sql_where .= " ( bk.booking_type IN ( " . $wh_booking_type . " ) ) "; // BL - Show bookings from child booking resources, if was selected only parent booking resource $is_show_bookings_for_child_resources = true; if ( $is_show_bookings_for_child_resources ) { $sql_where .= wpbc_ajx__sql_where_for_resources_bl( $wh_booking_type, $wh_approved, $wh_booking_date, $wh_booking_date2 ); } // P $sql_where .= " ) "; // MU - Check if searching bookings are belongs to specific user in Booking Calendar MultiUser version $sql_where = apply_bk_filter( 'update_where_sql_for_getting_bookings_in_multiuser', $sql_where ); } return $sql_where; } /** * Get SQL W H E R E conditions for B o o k i n g R e s o u r c e s BL - Capacity * * @param $wh_booking_type * @param $wh_approved * @param $wh_booking_date * @param $wh_booking_date2 * * @return string - SQL */ function wpbc_ajx__sql_where_for_resources_bl( $wh_booking_type, $wh_approved, $wh_booking_date, $wh_booking_date2 ){ if ( ! class_exists( 'wpdev_bk_biz_l' ) ) { return ''; } global $wpdb; $sql_where = ''; // BL // Childs in dif sub resources $sql_where.= " OR ( bk.booking_id IN ( SELECT DISTINCT booking_id FROM {$wpdb->prefix}bookingdates as dtt WHERE " ; if ($wh_approved !== '') $sql_where.= " dtt.approved = $wh_approved AND " ; $sql_where .= wpbc_ajx__sql_where_for_dates( $wh_booking_date, $wh_booking_date2, 'dtt.' ); $sql_where.= " ( dtt.type_id IN ( ". $wh_booking_type ." ) OR dtt.type_id IN ( SELECT booking_type_id FROM {$wpdb->prefix}bookingtypes as bt WHERE bt.parent IN ( ". $wh_booking_type ." ) ) ) ) ) " ; if ( ( isset($_REQUEST['view_mode']) ) && ( $_REQUEST['view_mode']== 'vm_calendar' ) ) { // Skip the bookings from the children resources, if we are in the Calendar view mode at the admin panel } else { // BL // Just children booking resources $sql_where .= " OR ( bk.booking_type IN ( SELECT booking_type_id FROM {$wpdb->prefix}bookingtypes as bt WHERE bt.parent IN ( " . $wh_booking_type . " ) ) )"; } return $sql_where; } /** * Get SQL W H E R E conditions for P a y m e n t S t a t u s * * @param $wh_pay_status [ 'any ' ] | ['group_ok'] | ['group_unknown' ] | ['group_pending'] | ['group_failed'] | [ 'user_entered', 'myCustom status' ] * * @return array [ string SQL, array ARGS ] */ function wpbc_ajx__sql_where_for_payment_status( $wh_pay_status_arr ){ // [ 'any ' ] | ['group_ok'] | ['group_unknown' ] | ['group_pending'] | ['group_failed'] | [ 'user_entered', 'myCustom status' ] $wh_pay_status_custom = ''; $wh_pay_status = ''; if ( ! empty( $wh_pay_status_arr ) ) { if ( count( $wh_pay_status_arr ) > 1 ) { $wh_pay_status_custom = $wh_pay_status_arr[1]; } $wh_pay_status = $wh_pay_status_arr[0]; } $sql_where = ''; $sql_args = array(); if ( ( '' != $wh_pay_status ) && ( 'all' != $wh_pay_status ) ) { $sql_where .= " AND ( "; // Check firstly if we are selected some goup of payment status if ( $wh_pay_status == 'group_ok' ) { // SUCCESS $payment_status = wpbc_get_payment_status_ok(); foreach ( $payment_status as $label ) { $sql_where .= " ( bk.pay_status = '" . $label . "' ) OR"; } $sql_where = substr( $sql_where, 0, - 2 ); } else if ( ( $wh_pay_status == 'group_unknown' ) || ( is_numeric( $wh_pay_status_custom ) ) ) { // UNKNOWN $payment_status = wpbc_get_payment_status_unknown(); foreach ( $payment_status as $label ) { $sql_where .= " ( bk.pay_status = '" . $label . "' ) OR"; } //$sql_where = substr($sql_where, 0, -2); $sql_where .= " ( bk.pay_status = '' ) OR ( bk.pay_status regexp '^[0-9]') "; } else if ( $wh_pay_status == 'group_pending' ) { // Pending $payment_status = wpbc_get_payment_status_pending(); foreach ( $payment_status as $label ) { $sql_where .= " ( bk.pay_status = '" . $label . "' ) OR"; } $sql_where = substr( $sql_where, 0, - 2 ); } else if ( $wh_pay_status == 'group_failed' ) { // Failed $payment_status = wpbc_get_payment_status_error(); foreach ( $payment_status as $label ) { $sql_where .= " ( bk.pay_status = '" . $label . "' ) OR"; } $sql_where = substr( $sql_where, 0, - 2 ); } else { // CUSTOM Payment Status $sql_where .= " bk.pay_status = %s "; // $wh_pay_status_custom = htmlspecialchars_decode( $wh_pay_status_custom ); // ? Convert special HTML entities back to characters: "< - >" to "< - >" $sql_args[] = $wh_pay_status_custom; } $sql_where .= " ) "; } return array( $sql_where, $sql_args ); } /** * Get SQL W H E R E conditions for C o s t Min - Max * * @param $wh_cost_min '' or number * @param $wh_cost_max '' or number * * @return array [ string SQL, array ARGS ] */ function wpbc_ajx__sql_where_cost_min_max( $wh_cost_min, $wh_cost_max ) { $sql_where = ''; $sql_args = array(); if ( $wh_cost_min !== '' ) { $sql_where .= " AND ( bk.cost >= %f ) "; $sql_args[] = $wh_cost_min; } if ( $wh_cost_max !== '' ) { $sql_where .= " AND ( bk.cost <= %f ) "; $sql_args[] = $wh_cost_max; } return array( $sql_where, $sql_args ); } /** * D A T E S - Get array of "Booking Dates" objects from DB * relative to specific bookings - array of Bookings objects from DB * * @param array of object $bookings_sql_obj * * @return array of booking dates sql objects */ function wpbc_ajx_get__booking_dates_obj__sql( $bookings_sql_obj ){ global $wpdb; $db_names = wpbc_get_db_names(); // Get list of booking ID from bookings obj /////////////////////////////////////////////////////////////// $booking_id_list = array(); foreach ( $bookings_sql_obj as $booking ) { $booking_id_list[] = intval( $booking->booking_id ); } $booking_id_list = array_unique( $booking_id_list ); // remove duplicates $booking_id_list = implode( ",", $booking_id_list ); //////////////////////////////////////////////////////////////////////////////////////////////////////////// if ( ! empty( $booking_id_list ) ) { // Get Dates for all our Bookings $sql = "SELECT * FROM {$db_names['dates']} as dt WHERE dt.booking_id in ( {$booking_id_list} ) "; if ( class_exists( 'wpdev_bk_biz_l' ) ) { $sql .= " ORDER BY booking_id, type_id, booking_date "; } else { $sql .= " ORDER BY booking_id, booking_date "; } $booking_dates_sql_obj = $wpdb->get_results( $sql ); } else { $booking_dates_sql_obj = array(); } return $booking_dates_sql_obj; } /** * S Q L - B O O K I N G S - Get array of "Bookings" objects from DB * based on request params * * @param array $request_params * @param array of object $bookings_sql_obj * * @return array of array( booking dates, $bookings_count) array( sql objects, int ) */ function wpbc_ajx_get__remove_bookings__where_dates_outside($request_params, $bookings_obj, $bookings_count){ $is_id = strpos( trim( strtolower( $request_params['keyword'] ) ) , 'id:' ); if ( false !== $is_id ) { return array( $bookings_obj, $bookings_count ); } // W H E R E : D A T E S -------------------------------------------------------------------------------- if (1){ if ( is_array( $request_params['wh_booking_date'] ) ) { $wh_booking_date_arr = array_replace( array( '', '' ), $request_params['wh_booking_date'] ); // Always have minimum 2 values in arr } else { $wh_booking_date_arr = array( '', '' ); } if ( count( $wh_booking_date_arr ) > 2 ) { $removed_el = array_shift( $wh_booking_date_arr ); // Remove an element off the beginning of array } } $wh_booking_date = (string) $wh_booking_date_arr[0]; $wh_booking_date2 =(string) $wh_booking_date_arr[1]; // Check In date - Tomorrow if ( $wh_booking_date === '7' ) { $today_mysql_format = date_i18n( 'Y-m-d', time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) + DAY_IN_SECONDS ); // Tommorow day with gmt offset foreach ( $bookings_obj as $bc_id => $bc_value ) { $check_in_date = $bc_value->short_dates[0]; $check_in_date = explode( ' ', $check_in_date ); $check_in_date = $check_in_date[0]; // 2014-02-25 if ( $today_mysql_format != $check_in_date ) { unset( $bookings_obj[ $bc_id ] ); $bookings_count--; } } } // Check Out date - Tomorrow if ( $wh_booking_date === '8' ) { $tomorrow_mysql_format = date_i18n( 'Y-m-d', time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) + DAY_IN_SECONDS ); // Tommorow day with gmt offset foreach ( $bookings_obj as $bc_id => $bc_value ) { if ( 1 == count( $bc_value->short_dates ) ) { $check_out_date = $bc_value->short_dates[0]; } else { $check_out_date = $bc_value->short_dates[2]; } $check_out_date = explode( ' ', $check_out_date ); $check_out_date = $check_out_date[0]; // 2014-02-25 if ( $tomorrow_mysql_format != $check_out_date ) { unset( $bookings_obj[ $bc_id ] ); $bookings_count --; } } } // Today == check in/out | Today = Check in | Today = Check out if ( ( $wh_booking_date === '9' ) || ( $wh_booking_date === '10' ) || ( $wh_booking_date === '11' ) ) { $today_mysql_format = date_i18n( 'Y-m-d', time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) + 0 * DAY_IN_SECONDS ); // Today day with gmt offset foreach ( $bookings_obj as $bc_id => $bc_value ) { $check_in_date = $bc_value->short_dates[0]; $check_in_date = explode( ' ', $check_in_date ); $check_in_date = $check_in_date[0]; // 2014-02-25 if ( count( $bc_value->short_dates ) == 1 ) { $check_out_date = $bc_value->short_dates[0]; } else { $check_out_date = $bc_value->short_dates[2]; } $check_out_date = explode( ' ', $check_out_date ); $check_out_date = $check_out_date[0]; // 2014-02-25 // Check In if ( $wh_booking_date === '10' ) { if ( $today_mysql_format != $check_in_date ) { unset( $bookings_obj[ $bc_id ] ); $bookings_count --; } } // Check out if ( $wh_booking_date === '11' ) { if ( $today_mysql_format != $check_out_date ) { unset( $bookings_obj[ $bc_id ] ); $bookings_count --; } } // Check In | Check out //FixIn: 9.6.3.12 if ( $wh_booking_date === '9' ) { if ( ( $today_mysql_format != $check_in_date ) && ( $today_mysql_format != $check_out_date ) ) { unset( $bookings_obj[ $bc_id ] ); $bookings_count --; } } } } return array( $bookings_obj, $bookings_count ); } /** * Get array of bookings with dates (wide and short dates view) * after inserting dates into the bookings * * @param $bookings_obj Array ( [0] => stdClass Object ( [booking_id] => 182 [trash] => 0 [sync_gid] => [is_new] => 1 [status] => [sort_date] => 2023-01-23 10:00:01 [modification_date] => 2022-04-18 12:23:30 [form] => selectbox-one^rangetime2^10:00 - 12:00~text^name2^rr~text^secondname2^hjk~email^email2^hyui@nbco.csdf~text^phone2^h~text^address2^khj~text^city2^e~text^postcode2^hj~selectbox-one^country2^HT~selectbox-one^visitors2^1~selectbox-one^children2^0~textarea^details2^djkh~checkbox^term_and_condition2[]^I Accept term and conditions [hash] => a1ae510d8fee961b7f8ae53101632151 [booking_type] => 2 [remark] => [cost] => 75.00 [pay_status] => 165028101080.84 [pay_request] => 0 ) [1] => stdClass Object, .... * @param $booking_dates_obj Array ( [0] => stdClass Object ( [booking_dates_id] => 294 [booking_id] => 147 [booking_date] => 2022-06-27 12:00:01 [approved] => 0 [type_id] => ) [1] => stdClass Object, ... * * @return array Array ( * [182] => stdClass Object ( * ... many other props .... * [id] => 182 * [approved] => 0 * [dates] => Array ( * [0] => 2023-01-23 10:00:01 * [1] => 2023-01-25 00:00:00 * [2] => 2023-01-27 12:00:02 * ) * [child_id] => Array ( * [0] => * [1] => * [2] => * ) * [short_dates] => Array ( * [0] => 2023-01-23 10:00:01 * [1] => , * [2] => 2023-01-25 00:00:00 * [3] => , * [4] => 2023-01-27 12:00:02 * ) * [short_dates_child_id] => Array ( * [0] => * [1] => * [2] => * [3] => * [4] => * ) * ) * [181] => stdClass Object ( * .... */ function wpbc_ajx_include_bookingdates_in_bookings( $bookings_obj, $booking_dates_obj ){ $bookings_arr = array(); foreach ( $bookings_obj as $booking ) { $bookings_arr[$booking->booking_id] = new StdClass; $bookings_arr[$booking->booking_id]->booking_db = $booking; $bookings_arr[$booking->booking_id]->id = $booking->booking_id; $bookings_arr[$booking->booking_id]->approved = 0; $bookings_arr[$booking->booking_id]->dates = array(); $bookings_arr[$booking->booking_id]->child_id = array(); /* $resource_id = (isset( $booking->booking_type )) ? $booking->booking_type : '1'; // booking Form parse can be here if ( ( isset( $booking->sync_gid ) ) && (!empty( $booking->sync_gid )) ) { $booking->form .= "~text^sync_gid{$booking->booking_type}^{$booking->sync_gid}"; } $cont = wpbc__legacy__get_form_content_arr( $booking->form , $resource_id , '' , array( 'booking_id' => $booking->booking_id , 'resource_title' => (isset( $booking_types[$booking->booking_type] )) ? $booking_types[$booking->booking_type] : '' ) ); $search = array( "'(<br[ ]?[/]?>)+'si", "'(<[/]?p[ ]?>)+'si" ); $replace = array( " ", " ", " " ); $cont['content'] = preg_replace( $search, $replace, $cont['content'] ); //debuge( htmlentities( $cont['content'] ) );die; $bookings_arr[$booking->booking_id]->form_show = $cont['content']; unset( $cont['content'] ); $bookings_arr[$booking->booking_id]->form_data = $cont; /**/ } // Wide dates in bookings foreach ( $booking_dates_obj as $date ) { $bookings_arr[ $date->booking_id ]->approved = $date->approved; $bookings_arr[ $date->booking_id ]->dates[] = $date->booking_date; $bookings_arr[ $date->booking_id ]->child_id[] = ( isset( $date->type_id ) ) ? $date->type_id : ''; } // Short dates foreach ( $bookings_arr as $booking_id => $booking ) { if ( count( $booking->dates ) == 0 ) { continue; } // If no dates, then skip $bookings_arr[ $booking_id ]->short_dates = array( $booking->dates[0] ); // First Day $bookings_arr[ $booking_id ]->short_dates_child_id = array( $bookings_arr[ $booking_id ]->child_id[0] ); $previous = array( 'date' => $booking->dates[0], 'date_index' => 0, 'separator' => false ); if ( count( $booking->dates ) == 1 ) { continue; } // if 1 date, then skip for ( $date_indx = 1; $date_indx < ( count( $booking->dates ) ); $date_indx ++ ) { // Start from 2nd day $date = $booking->dates[ $date_indx ]; // if ( wpbc_is_next_day( $date, $previous['date'] ) ) { $next_day_if__check_in__then__check_out = true; if ( wpbc_is_less_than_next_day( $date, $previous['date'], $next_day_if__check_in__then__check_out ) ) { if ( '-' != $previous['separator'] ) { $bookings_arr[ $booking_id ]->short_dates[] = '-'; $bookings_arr[ $booking_id ]->short_dates_child_id[] = ''; } $previous['separator'] = '-'; } else { if ( '-' == $previous['separator'] ) { $bookings_arr[ $booking_id ]->short_dates[] = $previous['date']; $bookings_arr[ $booking_id ]->short_dates_child_id[] = $bookings_arr[ $booking_id ]->child_id[ $previous['date_index'] ]; } $bookings_arr[ $booking_id ]->short_dates[] = ','; $bookings_arr[ $booking_id ]->short_dates_child_id[] = ''; $bookings_arr[ $booking_id ]->short_dates[] = $date; $bookings_arr[ $booking_id ]->short_dates_child_id[] = $bookings_arr[ $booking_id ]->child_id[ $date_indx ]; $previous['separator'] = ','; } $previous['date'] = $date; $previous['date_index'] = $date_indx; } // dates loop: $date_indx => $date if ( '-' == $previous['separator'] ) { $bookings_arr[ $booking_id ]->short_dates[] = $previous['date']; $bookings_arr[ $booking_id ]->short_dates_child_id[] = $bookings_arr[ $booking_id ]->child_id[ $previous['date_index'] ]; } } // bookings loop: $booking_id => $booking return $bookings_arr; } function wpbc_ajx_parse_bookings( $bookings_arr, $resources_arr ) { $user_id = ( isset( $_REQUEST['wpbc_ajx_user_id'] ) ) ? intval( $_REQUEST['wpbc_ajx_user_id'] ) : wpbc_get_current_user_id(); foreach ( $bookings_arr as $booking_id => $booking ) { // Booking resource ------------------------------------------------------------------------------------ $resource_id = ( isset( $booking->booking_db->booking_type ) ) ? $booking->booking_db->booking_type : '1'; $resource_title = ''; $resource_owner_user = $user_id; if ( class_exists( 'wpdev_bk_personal' ) ) { $resource_title = ( isset( $resources_arr[ $resource_id ] ) ) ? $resources_arr[ $resource_id ]['title'] : __( 'Resource not exist', 'booking' ); $resource_title = wpbc_lang( $resource_title ); } if ( class_exists( 'wpdev_bk_multiuser' ) ) { $resource_owner_user = ( isset( $resources_arr[ $resource_id ] ) ) ? $resources_arr[ $resource_id ]['users'] : $user_id; } // Parse form fields only from $booking->booking_db->form ------------------------------------------ $booking_data_arr = wpbc_parse_booking_data_fields( $booking->booking_db->form, array( 'resource_id' => $resource_id ) ); foreach ( $booking_data_arr as $booking_data_arr_key => $booking_data_arr_value ) { // Booking Listing escaping $booking_data_arr[$booking_data_arr_key] = wpbc_string__escape__then_convert__n_amp__html( $booking_data_arr_value ); } // Add system keys to data fields arr, like ( 'booking_id', 'trash', 'sync_gid'... --------------------- $booking_data_arr = wpbc_add_system_booking_data_fields( $booking_data_arr, array_merge( get_object_vars( $booking->booking_db ), array( 'id' => $booking->id, 'approved' => $booking->approved, 'wpbc_custom_booking_form' => '' //FixIn: 9.4.3.12 //FixIn: 9.4.4.9 ) ) , array( 'booking_id', 'trash', 'sync_gid', 'is_new', 'status', 'sort_date', 'modification_date', 'creation_date', 'hash', 'booking_type', 'remark', 'cost', 'pay_status', 'pay_request', 'id', 'approved', 'booking_options', 'wpbc_custom_booking_form', //FixIn: 9.4.3.12 ) ); // Set dates and times in correct format --------------------------------------------------------------- $booking_data_arr = wpbc_parse_booking_data_fields_formats( $booking_data_arr ); // Get SHORT / WIDE Dates showing data ----------------------------------------------------------------- $short_dates_content = wpbc_get_formated_dates__short( $booking->short_dates, (boolean) $booking->approved, $booking->short_dates_child_id, $resources_arr ); $wide_dates_content = wpbc_get_formated_dates__wide( $booking->dates, (boolean) $booking->approved, $booking->child_id, $resources_arr ); //------------------------------------------------------------------------------------------------------ // Payment Status //------------------------------------------------------------------------------------------------------ if ( 1 ) { $booking_data_arr['is_paid'] = 0; // 0 | 1 $booking_data_arr['pay_print_status'] = ''; // "Unknown" | "Stripe_v3:OK" // $booking_data_arr['pay_status'] // "165458416073.66" | "Stripe_v3:OK" | "PayPal:Ok" if ( class_exists( 'wpdev_bk_biz_s' ) ) { if ( wpbc_is_payment_status_ok( trim( $booking_data_arr['pay_status'] ) ) ) { $booking_data_arr['is_paid'] = 1; } $payment_status_titles = get_payment_status_titles(); $current_payment_status_title = array_search( $booking_data_arr['pay_status'], $payment_status_titles ); if ( $current_payment_status_title === false ) { $current_payment_status_title = $booking_data_arr['pay_status']; } if ( $booking_data_arr['is_paid'] ) { $booking_data_arr['pay_print_status'] = $booking_data_arr['pay_status']; if ( $current_payment_status_title == 'Completed' ) { $booking_data_arr['pay_print_status'] = $current_payment_status_title; } } else if ( ( is_numeric( $booking_data_arr['pay_status'] ) ) || ( $booking_data_arr['pay_status'] == '' ) ) { $booking_data_arr['pay_print_status'] = __( 'Unknown', 'booking' ); } else { $booking_data_arr['pay_print_status'] = $current_payment_status_title; } //////////////////////////////////////////////////////////////////////////////////////////////////// if ( $booking_data_arr['pay_print_status'] == 'Completed' ) { //FixIn: 8.4.7.11 $booking_data_arr['pay_print_status'] = __( 'Completed', 'booking' ); } $real_payment_css = empty( $booking_data_arr['pay_status'] ) ? $current_payment_status_title : $booking_data_arr['pay_status']; //FixIn: 8.7.7.13 $css_payment_label = 'wpbc_label_payment_status_' . wpbc_check_payment_status( $real_payment_css ); // 'success' | 'pending' | 'unknown' | 'error' //FixIn: 8.7.7.13 if ( $booking_data_arr['is_paid'] ) { $css_payment_label .= ' wpbc_label_payment_status_success'; } $payment_label_template = '<span class="wpbc_label wpbc_label_payment_status ' . $css_payment_label . '">' . '<span style="font-size:07px;padding: 0 1em 0 0;line-height: 2em;">' . __( 'Payment', 'booking' ) . '</span> ' . '<span>' . $booking_data_arr['pay_print_status'] . '</span> ' . '</span>'; } else { $payment_label_template = ''; } } //------------------------------------------------------------------------------------------------------ // Currency //------------------------------------------------------------------------------------------------------ if ( class_exists( 'wpdev_bk_biz_s' ) ) { $currency_symbol = wpbc_get_currency_symbol_for_user( $resource_id ); $booking_data_arr['currency_symbol'] = $currency_symbol; } //------------------------------------------------------------------------------------------------------ // Add some fields to [ 'parsed_fields' ] //------------------------------------------------------------------------------------------------------ $booking_data_arr['resource_title'] = $resource_title; $booking_data_arr['resource_id'] = $resource_id; $booking_data_arr['resource_owner_user'] = $resource_owner_user; //$booking_data_arr['short_dates_content'] = $short_dates_content; //$booking_data_arr['wide_dates_content'] = $wide_dates_content; //------------------------------------------------------------------------------------------------------ // Form Show - "Content of booking fields data" form //------------------------------------------------------------------------------------------------------ $custom_booking_form_name = ( ! empty( $booking_data_arr['wpbc_custom_booking_form'] ) ) ? $booking_data_arr['wpbc_custom_booking_form'] : ''; //FixIn: 9.4.3.12 $form_show_template = wpbc_get_content_booking_form_show( $resource_id , $custom_booking_form_name ); // <strong>First Name</strong>:<span class="fieldvalue">[name]</span> ... $parsed_form_show = wpbc_get_parsed_content_booking_form_show( $booking_data_arr, $form_show_template ); // <strong>First Name</strong>:<span class="fieldvalue">John</span> ... //------------------------------------------------------------------------------------------------------ // Google Calendar link //------------------------------------------------------------------------------------------------------ $booking_data_arr['google_calendar_link'] = wpbc_booking_do_action__get_google_calendar_link( array( 'form_data' => $booking_data_arr, 'form_show' => $parsed_form_show, //strip_tags( $parsed_form_show ), 'dates_short' => $booking->short_dates ) ); // ===================================================================================================== $bookings_arr[ $booking_id ]->parsed_fields = $booking_data_arr; // ===================================================================================================== $bookings_arr[ $booking_id ]->templates = array( 'form_show' => $parsed_form_show, 'form_show_nohtml' => strip_tags( $parsed_form_show ), 'short_dates_content' => $short_dates_content, 'wide_dates_content' => $wide_dates_content, 'payment_label_template' => $payment_label_template ); } return $bookings_arr; } /** * Get SHORT Dates showing data * * @param array $short_dates_arr - Array of dates * @param bool $is_approved - is dates approved or not * @param type $dates_type_id_arr * @param type $booking_resources_arr * * @return string */ function wpbc_get_formated_dates__short( $short_dates_arr, $is_approved = false, $dates_type_id_arr = array() , $booking_resources_arr = array() ){ $css_class_approved = ( $is_approved ) ? 'approved' : ''; $short_dates_content = ''; $date_number = 0; foreach ( $short_dates_arr as $dt ) { if ( $dt == '-' ) { $short_dates_content .= '<span class="date_tire"> - </span>'; } elseif ( $dt == ',' ) { $short_dates_content .= '<span class="date_tire">, </span>'; } else { list( $formatted_date, $formatted_time ) = wpbc_get_date_in_correct_format( $dt ); $short_dates_content .= '<a href="javascript:void(0)" onclick="javascript:wpbc_ajx_click_on_dates_toggle(this);" class="wpbc_label wpbc_label_booking_dates ' . $css_class_approved . '"><span>'; $short_dates_content .= $formatted_date; $short_dates_content .= '<sup class="field-booking-time">' . $formatted_time . '</sup>'; // BL if ( ( class_exists( 'wpdev_bk_biz_l' ) ) && ( ! empty( $dates_type_id_arr[ $date_number ] ) ) && ( isset( $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ] ) ) ){ $resource_title = ( isset( $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ] ) ) ? $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ]['title'] : __( 'Resource not exist', 'booking' ); $resource_title = wpbc_lang( $resource_title ); if ( strlen( $resource_title ) > 19 ) { $resource_title = substr( $resource_title, 0, 13 ) . '...' . substr( $resource_title, - 3 ); } $short_dates_content .= '<sup class="field-booking-time date_from_dif_type"> ' . $resource_title . '</sup>'; } $short_dates_content .= '</span></a>'; } $date_number++; } return $short_dates_content; } /** * Get Wide Dates showing data * * @param array $dates_arr - array of dates in sql string format * @param bool $is_approved - is approved (true) or pending (false) * @param array $dates_type_id_arr - array of $date->type_id from the dates SQL object * @param type $booking_resources_arr - array of booking resources objects * * @return string */ function wpbc_get_formated_dates__wide( $dates_arr, $is_approved = false, $dates_type_id_arr = array(), $booking_resources_arr = array() ){ $wide_dates_arr = array(); $css_class_approved = ( $is_approved ) ? 'approved' : ''; foreach ( $dates_arr as $date_number => $sql_booking_date ) { list( $formatted_date, $formatted_time ) = wpbc_get_date_in_correct_format( $sql_booking_date ); $wide_date = '<a href="javascript:void(0)" onclick="javascript:wpbc_ajx_click_on_dates_toggle(this);" class="wpbc_label wpbc_label_booking_dates ' . $css_class_approved . '"><span>'; $wide_date .= $formatted_date; $wide_date .= '<sup class="field-booking-time">' . $formatted_time . '</sup>'; // BL if ( ( class_exists( 'wpdev_bk_biz_l' ) ) && ( '' != $dates_type_id_arr[ $date_number ] ) && ( isset( $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ] ) ) ){ $resource_title = ( isset( $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ] ) ) ? $booking_resources_arr[ $dates_type_id_arr[ $date_number ] ]['title'] : __( 'Resource not exist', 'booking' ); $resource_title = wpbc_lang( $resource_title ); if ( strlen( $resource_title ) > 19 ) { $resource_title = substr( $resource_title, 0, 13 ) . '...' . substr( $resource_title, - 3 ); } $wide_date .= '<sup class="field-booking-time date_from_dif_type"> ' . $resource_title . '</sup>'; } $wide_date .= '</span></a>'; $wide_dates_arr[] = $wide_date; } $wide_dates_content = implode( '<span class="date_tire">, </span>' , $wide_dates_arr ); return $wide_dates_content; } /** * Parse booking "data field" and get array * * @param string $data - "id^2~booking_type^Standard~status^Approved~dates^2019-09-18 00:00:00 - 2019-09-20 00:00:00 , 2019-09-18 00:00:00 (Standard-1) - 2019-09-20 00:00:00 (Standard-1)~modification_date^2019-09-05 10:50:04~cost^100.00~pay_status^156766972609.7~selected_short_timedates_hint^09/18/2019 - 09/20/2019~nights_number_hint^2~cost_hint^$75.00~name^John test~secondname^Smith~email^user@beta.com~phone^~visitors^4~children^~details^~term_and_condition^~user^Support A~wpbc_other_action^~rangetime^~other_email^~visitorsselector^~visitors_fee^~visitors_fee_hint^~trash^~remark^Approved by:John Smith (user@beta.com) [2019-09-11 09:30] Declined by:John Smith (user@beta.com) [2019-09-11 09:30]" * @param array $attr - array( 'r_separator' => '~', 'f_separator' => '^' ) * * @return array - Array ( [id] => 2 [booking_type] => Standard [status] => Approved ... ) */ function wpbc_parse_booking_data_fields( $data , $attr = array() ){ $defaults = array( 'r_separator' => '~' , 'f_separator' => '^' , 'resource_id' => '1' , 'system_fields' => array( 'booking_id', 'trash', //'sync_gid', 'is_new', 'status', 'sort_date', 'modification_date', 'hash', 'booking_type', 'remark', 'cost', 'pay_status', 'pay_request', 'id', 'approved' ) ); $attr = wp_parse_args( $attr, $defaults ); $data_arr = array(); if ( ! empty( $data ) ) { $data = explode( $attr['r_separator'] , $data ); // ~ foreach ( $data as $data_rows ) { $data_rows = explode( $attr['f_separator'] , $data_rows ); // ^ $data_field = array( 'type' => $data_rows[0], 'name' => $data_rows[1], 'value' => $data_rows[2] ); // remove checkboxes suffix [] $data_field['name'] = str_replace( '[]', '', $data_field['name'] ); // remove booking resource ID suffix $data_field['name'] = substr( $data_field['name'], 0, - 1 * strlen( strval( $attr['resource_id'] ) ) ); // System fields - adjust fields with same name if ( in_array( $data_field['name'], $attr['system_fields'] ) ) { $data_field['name'] .= '_data'; } //Checkboxes if ( ( 'checkbox' == $data_field['type'] ) && ( empty( $data_field['value'] ) ) ) { continue; } if ( ( 'checkbox' == $data_field['type'] ) && ( ! is_array( $data_field['value'] ) ) ) { $data_field['value'] = str_replace( array( 'true', 'false' ), array( strtolower( __( 'Yes', 'booking' ) ), strtolower( __( 'No', 'booking' ) ) ), $data_field['value'] ); } // Several items with same name - multi checkboxes if ( ! isset( $data_arr[ $data_field['name'] ] ) ) { $data_arr[ $data_field['name'] ] = $data_field['value']; } else { if ( is_array( $data_arr[ $data_field['name'] ] ) ) { $data_arr[ $data_field['name'] ][] = $data_field['value']; } else { $data_arr[ $data_field['name'] ] = array( $data_arr[ $data_field['name'] ], $data_field['value'] ); } } } } foreach ( $data_arr as $key => $value ) { // Multi checkboxes: [9] => checkbox^my_multi_checkbx4[]^1 [10] => checkbox^my_multi_checkbx4[]^ [11] => checkbox^my_multi_checkbx4[]^3 if ( is_array( $value ) ) { $value = implode( ',', $value ); $data_arr[$key] = $value; } } return $data_arr; } /** * Add system fields to Booking fields array and get final array of fields * @param array $booking_data_arr Original array of form fields from DB Array ( [selected_short_dates_hint] => March 5, 2023 [days_number_hint] => 1 [cost_hint] => &#36;95 [rangetime] => 10:00 AM - 12:00 PM [name] => test [email] => test@wpbookingcalendar.com ... ) * @param array $booking_system_arr array of system fields from DB Array ( [booking_id] => 188 [trash] => 0 ... [cost] => 95.00 [pay_status] => 165036591118.88 [pay_request] => 0 [id] => 188 [approved] => 0 ) * @param array $system_keys_arr system fields keys that need to be added, like this: Array ( booking_id, trash, sync_gid, is_new, status , sort_date, modification_date, hash, booking_type , remark, cost, pay_status, pay_request, id, approved ) * @return array array of form fields with system fields */ function wpbc_add_system_booking_data_fields( $booking_data_arr, $booking_system_arr, $system_keys_arr ){ foreach ( $system_keys_arr as $key ) { if ( ( ! isset( $booking_system_arr[ $key ] ) ) || ( is_null( $booking_system_arr[ $key ] ) ) ) { $booking_system_arr[ $key ] = ''; //Some fields, like remark or booking_options can be null, so we define them as '' } if ( isset( $booking_system_arr[ $key ] ) ) { if ( ! isset( $booking_data_arr[ $key ] ) ) { $booking_data_arr[ $key ] = maybe_unserialize( $booking_system_arr[ $key ] ); } else { $booking_data_arr[ $key . '_system' ] = maybe_unserialize( $booking_system_arr[ $key ] ); } } } return $booking_data_arr; } /** * Parse booking form fields format - for example: time fields in specific format * @param $data_arr * * @return array */ function wpbc_parse_booking_data_fields_formats( $data_arr ){ foreach ( $data_arr as $key => $value ) { if ( 'rangetime' == $key ) { $data_arr[$key] = wpbc_time_slot_in_format( $value ); $data_arr[ $key . '_in_24_hour' ] = $value; //FixIn: 10.0.0.52 } if ( in_array( $key, array( 'starttime', 'endtime' ) ) ) { $data_arr[$key] = wpbc_time_in_format( $value ); $data_arr[ $key . '_in_24_hour' ] = $value; //FixIn: 10.0.0.52 } if ( in_array( $key, array( 'modification_date', 'creation_date' ) ) ) { //$data_arr[$key] = wpbc_get_dates_comma_string_localized( $value ); // This date $values in GMT date/Time format. So we need to switch to WordPress locale with TIME sum of actual GMT date/time value + shift of timezone from WordPress. $is_add_wp_timezone = true; $its_for_default_datetime_format = ''; $data_arr[ $key ] = wpbc_datetime_localized( $value, $its_for_default_datetime_format, $is_add_wp_timezone ); $data_arr[ $key . '_in_24_hour' ] = $value; //FixIn: 10.0.0.52 } if ( ( 'hash' === $key ) && ( empty( $value ) ) ) { //FixIn: 9.2.3.4 //FixIn: 9.4.3.10 // Update booking Hash if it was empty wpbc_hash__update_booking_hash( $data_arr['id'], $data_arr['booking_type'] ); // Get new booking hash $hash__arr = wpbc_hash__get_booking_hash__resource_id( $data_arr['id'] ); if ( ! empty( $hash__arr ) ) { $data_arr[ $key ] = $hash__arr[0]; } } } return $data_arr; } /** * Get pure "Content of booking fields data" with shortcodes inside. * it can depend on specific booking resource in Business Medium version or User in MultiUser version * * @param int $resource_id * @param sting $custom_booking_form_name - use this custom booking form, if possible * * @return string */ function wpbc_get_content_booking_form_show( $resource_id , $custom_booking_form_name = '' ){ //FixIn: 9.4.3.12 if ( $resource_id == -1 ) { if ( function_exists('get__default_type') ) $resource_id = get__default_type(); else $resource_id = 1; } if ( ! class_exists('wpdev_bk_personal') ) { $booking_form_show = wpbc_get_free_booking_show_form(); } else { $booking_form_show = get_bk_option( 'booking_form_show' ); $booking_form_show = wpbc_bf__replace_custom_html_shortcodes( $booking_form_show ); if ( class_exists('wpdev_bk_biz_m') ) { if ( ! empty( $custom_booking_form_name ) ) { //FixIn: 9.4.3.12 $booking_form_show = apply_bk_filter( 'wpdev_get_booking_form_content', $booking_form_show, $custom_booking_form_name ); $my_booking_form_name = $custom_booking_form_name; } else { // BM :: Get default Custom Form of Resource $my_booking_form_name = apply_bk_filter( 'wpbc_get_default_custom_form', 'standard', $resource_id ); if ( ( $my_booking_form_name != 'standard' ) && ( ! empty( $my_booking_form_name ) ) ) { $booking_form_show = apply_bk_filter( 'wpdev_get_booking_form_content', $booking_form_show, $my_booking_form_name ); } } //MU :: if resource of "Regular User" - then GET STANDARD user form ( if ( get_bk_option( 'booking_is_custom_forms_for_regular_users' ) !== 'On' ) ) $booking_form_show = apply_bk_filter( 'wpbc_multiuser_get_booking_form_show_of_regular_user', $booking_form_show, $resource_id, $my_booking_form_name ); //FixIn: 8.1.3.19 } } // Language $booking_form_show = wpbc_lang( $booking_form_show ); $search = array( "'(<br[ ]?[/]?>)+'si", "'(<[/]?p[ ]?>)+'si" ); $replace = array( " ", " ", " " ); $booking_form_show = preg_replace( $search, $replace, $booking_form_show ); return $booking_form_show; } /** * Get parsed "Content of booking fields data" - Shortcodes replaced by Values * * @param array $booking_data_arr * @param string $booking_form_show * * @return string */ function wpbc_get_parsed_content_booking_form_show( $booking_data_arr, $booking_form_show ){ foreach ( $booking_data_arr as $key_param => $value_param ) { if ( ( gettype ( $value_param ) != 'array' ) && ( gettype ( $value_param ) != 'object' ) ) { $booking_form_show = str_replace( '['. $key_param .']', $value_param ,$booking_form_show); } } // Remove all shortcodes, which have not replaced early. $booking_form_show = preg_replace ('/[\s]{0,}\[[a-zA-Z0-9.,-_]{0,}\][\s]{0,}/', '', $booking_form_show); $booking_form_show = str_replace( "&", '&', $booking_form_show ); return $booking_form_show; } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" F u n c t i o n s f o r C l e a n i ng s " > //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Escaping //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Escaping for inline JavaScript. * Based on WordPress esc_js() * plus removing \n in the code * and back converting escaped single quotes from \' to ' * * This function has to be used in the code marked with double quote symbols, not single. * Example: onclick="javascript:<?php echo wpbc_esc_js( $item_params['action'] ); ?>" * * @param $text * * @return string */ function wpbc_esc_js( $text ) { $text = str_replace( "\n", '', $text ); // removing \n in the code //$safe_text = esc_js( $text ); // js // This code get from esc_js() and modified for correct working with (' symbols) in translations $safe_text = wp_check_invalid_utf8( $text ); $safe_text = _wp_specialchars( $safe_text, ENT_COMPAT ); $safe_text = preg_replace( '/&#(x)?0*(?(1)27|39);?/i', "\'", stripslashes( $safe_text ) ); $safe_text = str_replace( "\r", '', $safe_text ); $safe_text = str_replace( "\n", '\\n', addslashes( $safe_text ) ); $safe_text = str_replace( "\'", "'", $safe_text ); // back converting escaped single quotes from \' to ' $safe_text = str_replace( "\\\'", "\'", $safe_text ); // back converting escaped single quotes from \' to ' return $safe_text; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // DB //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Check $value for injections. Basically can be used in Requests params checking. * * @param type $value * * @return type */ function wpbc_esc_clean_parameter( $value ) { $value = preg_replace( '/<[^>]*>/', '', $value ); // clean any tags $value = str_replace( '<', ' ', $value ); $value = str_replace( '>', ' ', $value ); $value = strip_tags( $value ); // Strip HTML and PHP tags from a string // Clean SQL injection $value = esc_sql( $value ); $value = esc_textarea( $value ); //FixIn: 7.1.1.2 return $value; } function wpbc_esc_sql_like( $value_trimmed ) { // check here https://code.tutsplus.com/articles/data-sanitization-and-validation-with-wordpress--wp-25536 global $wpdb; if ( method_exists( $wpdb ,'esc_like' ) ) return $wpdb->esc_like( $value_trimmed ); // Its require minimum WP 4.0.0 else return addcslashes( $value_trimmed, '_%\\' ); // Direct implementation from $wpdb->esc_like( } /** * Clean user string for using in SQL LIKE statement - append to LIKE sql * * @param string $value - to clean * * @return string - escaped * Exmaple: * $search_escaped_like_title = wpbc_esc_clean_like_string_for_append_in_sql_for_db( $input_var ); * * $where_sql = " WHERE title LIKE ". $search_escaped_like_title ." "; */ function wpbc_esc_clean_like_string_for_append_in_sql_for_db( $value ) { // check here https://code.tutsplus.com/articles/data-sanitization-and-validation-with-wordpress--wp-25536 global $wpdb; $value_trimmed = trim( stripslashes( $value ) ); $wild = '%'; $like = $wild . wpbc_esc_sql_like( $value_trimmed ) . $wild; $sql = $wpdb->prepare( "'%s'", $like ); return $sql; /* Help: * First half of escaping for LIKE special characters % and _ before preparing for MySQL. * Use this only before wpdb::prepare() or esc_sql(). Reversing the order is very bad for security. * * Example Prepared Statement: * * $wild = '%'; * $find = 'only 43% of planets'; * $like = $wild . wpbc_esc_sql_like( $find ) . $wild; * $sql = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_content LIKE '%s'", $like ); * * Example Escape Chain: * * $sql = esc_sql( wpbc_esc_sql_like( $input ) ); */ } /** * Clean string for using in SQL LIKE requests inside single quotes: WHERE title LIKE '%". $escaped_search_title ."%' * Replaced _ to \_ % to \% \ to \\ * * @param string $value - to clean * * @return string - escaped * Exmaple: * $search_escaped_like_title = wpbc_esc_clean_like_string_for_db( $input_var ); * * $where_sql = " WHERE title LIKE '%". $search_escaped_like_title ."%' "; * * Important! Use SINGLE quotes after in SQL query: LIKE '%".$data."%' */ function wpbc_esc_clean_like_string_for_db( $value ){ // check here https://code.tutsplus.com/articles/data-sanitization-and-validation-with-wordpress--wp-25536 global $wpdb; $value_trimmed = trim( stripslashes( $value ) ); $value_trimmed = wpbc_esc_sql_like( $value_trimmed ); $value = trim( $wpdb->prepare( "'%s'", $value_trimmed ) , "'" ); return $value; /* Help: * First half of escaping for LIKE special characters % and _ before preparing for MySQL. * Use this only before wpdb::prepare() or esc_sql(). Reversing the order is very bad for security. * * Example Prepared Statement: * * $wild = '%'; * $find = 'only 43% of planets'; * $like = $wild . wpbc_esc_sql_like( $find ) . $wild; * $sql = $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE post_content LIKE '%s'", $like ); * * Example Escape Chain: * * $sql = esc_sql( wpbc_esc_sql_like( $input ) ); */ } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" D B " > /*** * Get list of DB of this plugin * @return array */ function wpbc_get_db_names(){ global $wpdb; $db_names = array( 'bookings' => $wpdb->prefix . 'booking', 'dates' => $wpdb->prefix . 'bookingdates', 'resources' => $wpdb->prefix . 'bookingtypes', 'resources_meta' => $wpdb->prefix . 'booking_types_meta', 'seasons' => $wpdb->prefix . 'booking_seasons', 'coupons' => $wpdb->prefix . 'booking_coupons' ); return $db_names; } // </editor-fold> // <editor-fold defaultstate="collapsed" desc=" E r r o r s H a n d l i n g " > /** * PHP Fatal Error! Display expanded error info at Booking Listing page * * @param $message * @param $error * * @return mixed|string */ function wpbc_php_error_message( $message, $error ) { // Check to show this error, only from Booking Listing page, checking secure parameters from wpbc_ajx_booking_listing in ..{Booking Calendar Folder}/includes/page-bookings/_src/ajx_booking_listing.js if ( ! ( ! isset( $_POST['search_params'] ) || empty( $_POST['search_params'] ) ) ) { // Security ----------------------------------------------------------------------------------------------- // in Ajax Post: 'nonce': wpbc_ajx_booking_listing.get_secure_param( 'nonce' ), $action_name = 'wpbc_ajx_booking_listing_ajx' . '_wpbcnonce'; $nonce_post_key = 'nonce'; // $result_check = check_ajax_referer( $action_name, $nonce_post_key ); if ( isset( $_REQUEST[ $nonce_post_key ] ) ) { $nonce_request = $_REQUEST[ $nonce_post_key ]; $result_verify_nonce = wp_verify_nonce( $nonce_request, $action_name ); if ( false !== $result_verify_nonce ) { if ( ( ! empty( $error ) ) && ( ! empty( $error['message'] ) ) ) { $message .= '<br>' . $error['message']; } } } } return $message; } add_filter( 'wp_php_error_message', 'wpbc_php_error_message', 2 , 10 ); /** * Nonce Error! Error Handing for not passed nonce, in booking Listing page. * Probably nonce was expired (more than 24 hours) * * @param $action * @param $result - 1 Good ( 0-12 hours ago ) , 2 Good ( 12-24 hours ago ) , false - Error ( > 24 hours - nonce is invalid ) */ function wpbc_check_ajax_referer__for_booking_listing( $action, $result ){ if ( ( false === $result ) && ( 'wpbc_ajx_booking_listing_ajx' . '_wpbcnonce' === $action ) && ( wp_doing_ajax() ) ) { die( '<strong>Error!</strong> Probably nonce for this page has been expired. Please <a href="javascript:void(0)" onclick="javascript:location.reload();">reload the page</a>.' ); } } add_action( 'check_ajax_referer', 'wpbc_check_ajax_referer__for_booking_listing', 2, 10 ); // </editor-fold>