Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de9ba8db5b | ||
|
|
a18cd9d971 | ||
|
|
4ae4bea8e5 | ||
|
|
54e5c1b838 | ||
|
|
68a3d59a57 | ||
|
|
afc8adf737 | ||
|
|
02b085b4be | ||
|
|
765889f67f | ||
|
|
d980c4683d | ||
|
|
75b3e34696 | ||
|
|
10d3847c8d | ||
|
|
424d29a77c | ||
|
|
b6c6644acb | ||
|
|
1fa690cb2c | ||
|
|
ff2e30cd59 | ||
|
|
90ff96c581 | ||
|
|
1cdb1b9397 | ||
|
|
0832f72914 | ||
|
|
4f2e891e62 | ||
|
|
dd8e7d8e30 | ||
|
|
5102e87649 | ||
|
|
ed1d882091 | ||
|
|
26a8d29b38 | ||
|
|
c0a92fdf0f | ||
|
|
714c55485d | ||
|
|
c5ca99cd20 | ||
|
|
e9439c87d1 | ||
|
|
9093603494 | ||
|
|
dff5c711e1 | ||
|
|
e3e6d31c10 | ||
|
|
2e3f53ed8a | ||
|
|
5f27233b00 | ||
|
|
d8746de966 | ||
|
|
8737c67448 | ||
|
|
f1f639070d | ||
|
|
d015f63301 | ||
|
|
0e2cb366e6 | ||
|
|
bf13cf82ee | ||
|
|
94d04817c7 | ||
|
|
1971be3186 | ||
|
|
df9891e68b | ||
|
|
d19cfdc722 | ||
|
|
158a7f50d8 | ||
|
|
2ff4306cc6 | ||
|
|
2f9bb48342 | ||
|
|
69c839ef0f | ||
|
|
5353f75284 | ||
|
|
5ba1e37f04 | ||
|
|
4648b49711 | ||
|
|
cf3a4e9e95 | ||
|
|
fc4b095fa1 | ||
|
|
12eabe4930 | ||
|
|
3e04f1403f | ||
|
|
dd7bd68e72 | ||
|
|
ccf8a27713 | ||
|
|
94a8cc3eb6 | ||
|
|
63822016d5 | ||
|
|
84dd9f0766 | ||
|
|
5aa60540fa | ||
|
|
8aaafeddf6 | ||
|
|
8c49fbafb8 | ||
|
|
c2dbb74920 | ||
|
|
a16926a4de | ||
|
|
73a72af338 | ||
|
|
7cd161c576 | ||
|
|
426e4e2819 | ||
|
|
b90b15ac77 | ||
|
|
6da105bd64 | ||
|
|
f1152df518 | ||
|
|
c875121931 | ||
|
|
c7f1466751 | ||
|
|
045e1363a4 | ||
|
|
812dbc78e0 | ||
|
|
468bc6eb1c | ||
|
|
4c41828e73 | ||
|
|
1dc7e5640d | ||
|
|
e221783c20 | ||
|
|
548b992588 | ||
|
|
6cc2bfdd50 | ||
|
|
101d5995fa | ||
|
|
ecb6226599 | ||
|
|
50edf32875 | ||
|
|
68feb602ff | ||
|
|
7b4a11b99d | ||
|
|
3883924258 | ||
|
|
d6d6773fbb | ||
|
|
1cc2b141f9 | ||
|
|
28d1001d1b | ||
|
|
ab1d514eb4 | ||
|
|
a2bad15bfe | ||
|
|
b069485c53 | ||
|
|
67126bcbe1 | ||
|
|
81444b42b1 | ||
|
|
dad97445f8 | ||
|
|
05a88d12de | ||
|
|
ff4ac1d626 | ||
|
|
7a7af424ce | ||
|
|
ae75f5bf7a | ||
|
|
86f8c1a1c1 | ||
|
|
a5d959deb8 | ||
|
|
f5b7b3000c | ||
|
|
fff7e074ff | ||
|
|
c1adf30b05 | ||
|
|
a8292a51bd | ||
|
|
b28796dd28 | ||
|
|
8dd2fe58e6 | ||
|
|
1395a8f338 | ||
|
|
799aefada2 | ||
|
|
87bb2f1d8a | ||
|
|
6fe20b0a13 | ||
|
|
31705f32c9 | ||
|
|
8ba373a951 | ||
|
|
8067a20d32 | ||
|
|
e72b71ce12 | ||
|
|
596ad4baa6 | ||
|
|
1600f63dee | ||
|
|
fa9aa8da19 | ||
|
|
85e075a5c6 | ||
|
|
1e7d17fd68 | ||
|
|
6ccb8905a0 | ||
|
|
ebac40312f | ||
|
|
3c0cde3fe2 | ||
|
|
3cf0546711 | ||
|
|
120d8cf564 | ||
|
|
992d3d93f4 | ||
|
|
30e0b93ecf | ||
|
|
2581bdba9b | ||
|
|
d982361541 | ||
|
|
e82ebd7ada | ||
|
|
2d1af9a3b2 | ||
|
|
da29b6d0bb | ||
|
|
4493674762 | ||
|
|
2e0b99f65c | ||
|
|
cc5eb6e520 | ||
|
|
b855bbfb96 | ||
|
|
93753162be | ||
|
|
726863de44 | ||
|
|
69ec7348b8 | ||
|
|
d8521d4543 | ||
|
|
e6eab2d040 | ||
|
|
2ad151c0dd | ||
|
|
4c17f79783 | ||
|
|
e329192586 | ||
|
|
f96c3558e8 | ||
|
|
f2a1af5f46 | ||
|
|
aec86e4360 | ||
|
|
6a934c7a36 | ||
|
|
ccfe419bbd | ||
|
|
4b0969d244 | ||
|
|
a5e5531471 | ||
|
|
5a3c2b628d | ||
|
|
b5152b62e8 | ||
|
|
de59f07a66 | ||
|
|
32e024f52e | ||
|
|
ffc43056b4 | ||
|
|
6016db4a95 | ||
|
|
30f6f09372 | ||
|
|
d10a1667c7 | ||
|
|
d560892a80 | ||
|
|
4e11c1fc1f | ||
|
|
54c69dcf35 | ||
|
|
7ccf17b479 | ||
|
|
0e2dbb6145 | ||
|
|
83b85b5d66 | ||
|
|
f68ba794ec | ||
|
|
76c1bde119 | ||
|
|
312fc5daf3 | ||
|
|
080370323a | ||
|
|
c419e2751f | ||
|
|
6977e9d4b5 | ||
|
|
e3ed8a1af3 | ||
|
|
22aad37bfb | ||
|
|
f230dc3522 | ||
|
|
b60daff8f0 | ||
|
|
2fe40edfc5 | ||
|
|
58878593dc | ||
|
|
d72a3b5a73 | ||
|
|
47bee3d294 | ||
|
|
8182cac90d | ||
|
|
b4604fca67 | ||
|
|
7ad199ccd5 | ||
|
|
f0e176033f | ||
|
|
d33753014c | ||
|
|
3c55c4d60d | ||
|
|
c2922aaa13 | ||
|
|
120d42c431 | ||
|
|
863f6011ac | ||
|
|
067bcd2046 | ||
|
|
a1633aec96 | ||
|
|
f675c38441 | ||
|
|
cee88a0f6f | ||
|
|
cbde9c91d7 | ||
|
|
c17fef6778 | ||
|
|
73478d5961 | ||
|
|
846285549a | ||
|
|
27b1a5d8f8 | ||
|
|
2199ffd44d | ||
|
|
86fb983eac | ||
|
|
7d494115b3 | ||
|
|
17238808b5 | ||
|
|
a6d851e174 | ||
|
|
a1dbe22063 | ||
|
|
e6a3270936 | ||
|
|
0954beced9 | ||
|
|
9e14e803e5 | ||
|
|
250c9fc660 | ||
|
|
2534921446 | ||
|
|
2ec7390cd6 | ||
|
|
630e39de16 | ||
|
|
b1ac49a738 | ||
|
|
166727879a | ||
|
|
9773c13d5d | ||
|
|
764cb34957 | ||
|
|
18d4a60e03 | ||
|
|
e234b990ec | ||
|
|
1655e76d04 | ||
|
|
77ea93d50f | ||
|
|
83d7e1a586 | ||
|
|
6e89aff24f | ||
|
|
32924003b9 | ||
|
|
831219e2c2 | ||
|
|
e4a7c1b21d | ||
|
|
896444ce1a | ||
|
|
a844347c4c | ||
|
|
a870fe3777 | ||
|
|
05f1e718e1 | ||
|
|
e97b91cb88 | ||
|
|
4227356108 | ||
|
|
ae729f1525 | ||
|
|
2c61975b49 | ||
|
|
eb8bcb0a24 | ||
|
|
3574a09902 | ||
|
|
4d4064c40d | ||
|
|
92ded4b17a | ||
|
|
04f55c8b95 | ||
|
|
9c03cd85b6 | ||
|
|
d0eb0601ad | ||
|
|
e8abeb47e8 | ||
|
|
40508b05d0 | ||
|
|
31bf6e94ad | ||
|
|
f1a69ff7a4 | ||
|
|
6b67183ec5 | ||
|
|
ab5fb4815d | ||
|
|
2ce07e5ec9 | ||
|
|
826a497e84 | ||
|
|
5fdd38e1ce | ||
|
|
67353c508a | ||
|
|
e069c00ecd | ||
|
|
60387c8a95 | ||
|
|
4cc8284016 | ||
|
|
1ba5bb09fc | ||
|
|
953e301096 | ||
|
|
72bbc0b66b | ||
|
|
82cdd90edc | ||
|
|
1d0f0bf50b | ||
|
|
4366d20410 | ||
|
|
e4d47cc7fd | ||
|
|
3efa500b02 | ||
|
|
129da34249 | ||
|
|
54b1356ab1 | ||
|
|
061e73c014 | ||
|
|
7ae3d6b00d | ||
|
|
c028d34f78 | ||
|
|
53457e3b2f | ||
|
|
39c8182a2f | ||
|
|
038affe798 | ||
|
|
da963964a9 | ||
|
|
82078fc781 | ||
|
|
14f55f7519 | ||
|
|
97ee35e985 | ||
|
|
7e7d73d394 | ||
|
|
70d48e4d5a | ||
|
|
918663a7e2 | ||
|
|
2549172969 | ||
|
|
8399dafd4b | ||
|
|
30a0016d0b | ||
|
|
e14f25d10f | ||
|
|
bc5779fafb | ||
|
|
ccba200fbd | ||
|
|
e7caff2e63 | ||
|
|
ad2419026a | ||
|
|
3fb9c2c15f | ||
|
|
26f6edfd0b | ||
|
|
a45241f4bc | ||
|
|
0329cc9f9c | ||
|
|
c82c937fbb | ||
|
|
798951f4c6 | ||
|
|
a77a6ffafa | ||
|
|
d930b36d61 | ||
|
|
15b2e73e73 | ||
|
|
c8d41381c9 | ||
|
|
0e00f05014 | ||
|
|
6a01a868d1 | ||
|
|
aa7ffdf093 | ||
|
|
784f631896 | ||
|
|
2541664ae2 | ||
|
|
b2858b65ee | ||
|
|
cb29c398cc | ||
|
|
eccdd7d473 | ||
|
|
a4df23fe6d | ||
|
|
908d242e52 | ||
|
|
b7989d617f | ||
|
|
7524d29188 | ||
|
|
a82f61ae2a | ||
|
|
6025f10116 | ||
|
|
d7b209e93c | ||
|
|
37b72f36d6 | ||
|
|
333c1e1af4 | ||
|
|
c0a4d9776b | ||
|
|
4833ff388b | ||
|
|
64f02142b8 | ||
|
|
2b79194f72 | ||
|
|
6dd55f3256 | ||
|
|
5be739934b | ||
|
|
917b12c2c2 | ||
|
|
b0c2c9cea6 | ||
|
|
b1fc952c76 | ||
|
|
ac5d6a4be7 | ||
|
|
a4d3de3227 | ||
|
|
9834a0962e | ||
|
|
c03fec73b9 | ||
|
|
a7a8f45301 | ||
|
|
3c9f4e05fb | ||
|
|
6d7ac7a6be | ||
|
|
02d816154b | ||
|
|
733bca04c8 | ||
|
|
244a496490 | ||
|
|
c6f28c120c | ||
|
|
12ad5e9cb5 | ||
|
|
0bae2cf182 | ||
|
|
85762d4ed6 | ||
|
|
d7cf0ce39d | ||
|
|
a196c91ed5 | ||
|
|
a069ec6c93 | ||
|
|
2a4300b4b2 | ||
|
|
5048ac79d2 | ||
|
|
43cafe7753 | ||
|
|
c24f37421b | ||
|
|
0d9ecfda21 | ||
|
|
980e65361c | ||
|
|
c0fcd3a1ed | ||
|
|
da26d2d020 | ||
|
|
74a8e668e5 | ||
|
|
215ea45b1f | ||
|
|
f6a8b1bacf | ||
|
|
0abf00d793 | ||
|
|
8958f138f4 | ||
|
|
850145bf36 | ||
|
|
0b8ac2f8bb | ||
|
|
00495f4bdb | ||
|
|
4252ba73db | ||
|
|
177cffc9df | ||
|
|
8ce9da7684 | ||
|
|
33451baa46 | ||
|
|
af8494e18f | ||
|
|
e5fd02516f | ||
|
|
4acf2a5686 | ||
|
|
b0fd1e7486 | ||
|
|
ebc35a9c33 | ||
|
|
f7ac06d7d4 | ||
|
|
bf8efdf2ab | ||
|
|
87fdbc7882 | ||
|
|
78a6943ed8 | ||
|
|
0055690e54 | ||
|
|
632ca4c79a | ||
|
|
52f6b39edc | ||
|
|
fddd29388b | ||
|
|
ea9825be61 | ||
|
|
af6d060fa0 | ||
|
|
134e504134 | ||
|
|
2a70b016f6 | ||
|
|
c665cc0557 | ||
|
|
cfc85a327b | ||
|
|
a47002d71f | ||
|
|
6c867f02b4 | ||
|
|
108651c46d | ||
|
|
b95db6a4a7 | ||
|
|
b79a46b857 | ||
|
|
06ad4e534a | ||
|
|
d7b5c9a4bd | ||
|
|
81b39b59c3 | ||
|
|
4aeae4915a | ||
|
|
a4c3a4b5e9 | ||
|
|
c032ed6647 | ||
|
|
5b9b29fdfe | ||
|
|
9e8f75e8fa | ||
|
|
f50b4d419f | ||
|
|
58aaef8261 | ||
|
|
f9b82cfbfb | ||
|
|
80d47facff | ||
|
|
18749864c0 | ||
|
|
fc976f2bed | ||
|
|
fbe2021a38 | ||
|
|
b34f577fbd | ||
|
|
5ba5836ecb | ||
|
|
c1e1f64580 | ||
|
|
5ab91fa0ab | ||
|
|
5abc41cdb9 | ||
|
|
a90a38f096 | ||
|
|
68f8836cfb | ||
|
|
1e41f6a8ff | ||
|
|
875a326344 | ||
|
|
7f9664af0a | ||
|
|
8755c8ece7 | ||
|
|
66358414f2 | ||
|
|
bc68c4bc70 | ||
|
|
82279c376b | ||
|
|
8b096e770c | ||
|
|
6bf57bd4c6 | ||
|
|
ea55f3880e | ||
|
|
19e0ea60a7 | ||
|
|
7831d9dfb6 | ||
|
|
907db24187 | ||
|
|
5a424d5977 | ||
|
|
6c4353fffe | ||
|
|
fd1ec11ad1 | ||
|
|
9f89455b3c | ||
|
|
7d8e2e4fdd | ||
|
|
0aa4ae0b96 | ||
|
|
04620f2475 | ||
|
|
6cfb34ab22 | ||
|
|
e46af305a9 | ||
|
|
2fe00e5e96 | ||
|
|
2c7f9bd449 | ||
|
|
d1ee1eb4e1 | ||
|
|
f9dd7644cc | ||
|
|
3f94d86db4 | ||
|
|
9882234645 | ||
|
|
838f1a0678 | ||
|
|
c111b2beaf | ||
|
|
ebad7240cc | ||
|
|
8ed85a5fb4 | ||
|
|
3beaf71e16 | ||
|
|
38f1e838a5 | ||
|
|
0f4ec77ac0 | ||
|
|
28d079e83f | ||
|
|
5970f2a577 | ||
|
|
9dea1a40db | ||
|
|
dbe131633a | ||
|
|
277ce801e6 | ||
|
|
7e5e973d09 | ||
|
|
36fff814bf | ||
|
|
94cb7f7956 | ||
|
|
edbefc256b | ||
|
|
8af8e13686 | ||
|
|
3d2d3b9948 | ||
|
|
91f60763d8 | ||
|
|
54401165e8 | ||
|
|
b99efb8fc8 | ||
|
|
ad102421cb | ||
|
|
9be00683d9 | ||
|
|
e76f36a1be | ||
|
|
70b62a6c6a | ||
|
|
61b3fe4ebd | ||
|
|
30a93dbef7 | ||
|
|
b6956bd6fd | ||
|
|
7a4b7e23c5 | ||
|
|
b34a7610f5 | ||
|
|
cf680e43d8 | ||
|
|
3a311906bf | ||
|
|
d9789a636e | ||
|
|
cd8a9078d5 | ||
|
|
121d369ab8 | ||
|
|
1a0eb48b97 | ||
|
|
14e863930c | ||
|
|
6f5775381a | ||
|
|
ee9f85628d | ||
|
|
3000fc0b35 | ||
|
|
bab7fa1f39 | ||
|
|
0d19b01229 | ||
|
|
2b2d558c87 | ||
|
|
94f25f73fa | ||
|
|
5bd16c0e77 | ||
|
|
7bb40dd882 | ||
|
|
bb99c050b6 | ||
|
|
31cdf10011 | ||
|
|
02c29c137c | ||
|
|
e9afe3fdae | ||
|
|
ce9517885b | ||
|
|
6a41d655de | ||
|
|
9b8588df79 | ||
|
|
df97fa71a0 | ||
|
|
b9f1b4e170 | ||
|
|
d89acfd01d | ||
|
|
3ea7b8e03e | ||
|
|
59881232bf | ||
|
|
0575cdab18 | ||
|
|
7f6b5d1b58 | ||
|
|
f365e8abe1 | ||
|
|
b7edd3fa26 | ||
|
|
367a210996 | ||
|
|
c2a4a39ea0 | ||
|
|
e056323677 | ||
|
|
b8759e4acd | ||
|
|
e6a3df6f08 | ||
|
|
617dfbf0e2 | ||
|
|
e4c9bf5ba4 | ||
|
|
910091b6c6 | ||
|
|
92b8ce3a89 | ||
|
|
8a276fc073 | ||
|
|
baa2e890ba | ||
|
|
a9f4aee93f | ||
|
|
144926774d | ||
|
|
3ee82c38d5 | ||
|
|
c9e85d3159 | ||
|
|
d755a42530 | ||
|
|
674a7f3f57 | ||
|
|
f70df1fff2 | ||
|
|
2553e6464b | ||
|
|
746e04cf23 | ||
|
|
cecc163230 | ||
|
|
edef3b961a | ||
|
|
254583a135 | ||
|
|
435da08a02 | ||
|
|
945c060b67 | ||
|
|
83fd4bf68a | ||
|
|
f11c4531e9 | ||
|
|
f36c24e5d0 | ||
|
|
23a91b346d | ||
|
|
08b8d1e3e2 | ||
|
|
c2a2a11be3 | ||
|
|
54abbddbe5 | ||
|
|
c6425adffc | ||
|
|
20f658ffbb | ||
|
|
ed957cf6b3 | ||
|
|
8eb465d26f | ||
|
|
6ff06d4609 | ||
|
|
c817b1edb7 | ||
|
|
f7c6a52f6d | ||
|
|
ce03af265e | ||
|
|
5ba87d9933 | ||
|
|
db32bcfc06 | ||
|
|
11038348a3 | ||
|
|
3e343bdf66 | ||
|
|
e131563c8f | ||
|
|
0094cc9afe | ||
|
|
5fde923aa0 | ||
|
|
ac780beb2c | ||
|
|
4d4c781a8e | ||
|
|
85ace455da | ||
|
|
8e09983805 | ||
|
|
1e3a4f2657 | ||
|
|
0991adb756 | ||
|
|
0693fde962 | ||
|
|
c1008c87a7 | ||
|
|
7fb5f92200 | ||
|
|
02e4ec4584 | ||
|
|
50c8207fed | ||
|
|
3e707708ec | ||
|
|
6dbfa73461 | ||
|
|
727eeb74fe | ||
|
|
76ecc6efe8 | ||
|
|
ecc7690046 | ||
|
|
f4b0737178 | ||
|
|
e99c7a81db | ||
|
|
ce0a6dc3af | ||
|
|
1f5e3e0daa | ||
|
|
b69720836b | ||
|
|
468cca81d1 | ||
|
|
f3e428ea1e | ||
|
|
5c866ae133 | ||
|
|
2401620dc6 | ||
|
|
2457b96f7d | ||
|
|
9655c53a3b | ||
|
|
3b382c0642 | ||
|
|
a4ffdb0316 | ||
|
|
08fc272f1b | ||
|
|
c23f6c0161 | ||
|
|
c1eab8e3c7 | ||
|
|
fbe30c7ad6 | ||
|
|
acc3ede87d | ||
|
|
a79def43c5 | ||
|
|
b5592b8466 | ||
|
|
cb327e902f | ||
|
|
2a9e72da41 | ||
|
|
e724ef7291 | ||
|
|
dfc2c110d6 | ||
|
|
32235cfd9d | ||
|
|
6457eded48 | ||
|
|
5cc41e8455 | ||
|
|
cb51396c80 | ||
|
|
2a6e2c0450 | ||
|
|
e22b4ec085 | ||
|
|
71efd5c97f | ||
|
|
b4a83c1969 | ||
|
|
ee35ce9839 | ||
|
|
7a8a4fe71d | ||
|
|
2e36c0a662 | ||
|
|
71b403bbe1 | ||
|
|
c5d22ace25 | ||
|
|
81671abd01 | ||
|
|
da1b302a34 | ||
|
|
3f7068541f | ||
|
|
2fdc93b3fd | ||
|
|
907dcd829a | ||
|
|
b2ef314960 | ||
|
|
6af75013d4 | ||
|
|
fd381a9a93 | ||
|
|
e29ea66e41 | ||
|
|
d7e218350c | ||
|
|
569dfb5502 | ||
|
|
a14689f66b | ||
|
|
ee702ff641 | ||
|
|
1a142e5250 | ||
|
|
c9a4697473 | ||
|
|
4b38d93aa9 | ||
|
|
5d2851de36 | ||
|
|
f6e6a73b4d | ||
|
|
3674acc4f1 | ||
|
|
ab5365423b | ||
|
|
e5aedd5cb1 | ||
|
|
60ea7fde8a | ||
|
|
7db9a33cef | ||
|
|
88c95375f0 | ||
|
|
d2785543b4 | ||
|
|
9df86d771e | ||
|
|
714d64afb6 | ||
|
|
f3abd57925 | ||
|
|
e9023340dd | ||
|
|
43f4b2c5fb | ||
|
|
cd72e1c06b | ||
|
|
92210edc16 | ||
|
|
5111f026e6 | ||
|
|
6327e2a5dc | ||
|
|
604f007a30 | ||
|
|
38596ca77f | ||
|
|
c0a2a13efe | ||
|
|
35c2bac898 | ||
|
|
fb3f11a93f | ||
|
|
8629b0418d | ||
|
|
af4e5ae9de | ||
|
|
1f951556fc | ||
|
|
87446cfcb3 | ||
|
|
943e9994c8 | ||
|
|
bd57ac57a5 | ||
|
|
db3519a559 | ||
|
|
33e9d1e1d0 | ||
|
|
32d09cff7d | ||
|
|
976c9d0f9b | ||
|
|
b261465599 | ||
|
|
67a0d97f60 | ||
|
|
5ebd5632c4 | ||
|
|
141c9f8986 | ||
|
|
dbb6ab7fdf | ||
|
|
8cf09955fc | ||
|
|
19cde16194 | ||
|
|
6a7659b59e | ||
|
|
31349a62b6 | ||
|
|
d8995d15f7 | ||
|
|
2f822d4ee4 | ||
|
|
02cfe7a453 | ||
|
|
8ea57846fa | ||
|
|
f704fd7ea4 | ||
|
|
bb3167d5c4 | ||
|
|
235f196152 | ||
|
|
adbc9b1a22 | ||
|
|
cd445a2acd | ||
|
|
210ee5285c | ||
|
|
644250f3f3 | ||
|
|
34c633ebb9 | ||
|
|
c5da8c4a5a | ||
|
|
6aeb32bf3f | ||
|
|
531817f553 | ||
|
|
80d72627b0 | ||
|
|
37e45d81be | ||
|
|
7324ab1060 | ||
|
|
2c866ef2bb | ||
|
|
9ed1ecfcb4 | ||
|
|
e93cc1c920 | ||
|
|
d77231ae1a | ||
|
|
5bd41ba2f4 | ||
|
|
b29af7898a | ||
|
|
03e129618d | ||
|
|
f0ae5ffeef | ||
|
|
a80e634776 | ||
|
|
96612f11e1 | ||
|
|
c465c860ca | ||
|
|
db1d1d26fc | ||
|
|
6a2cbbe075 | ||
|
|
7d132fdbfa | ||
|
|
0b66b11ae0 | ||
|
|
8566183f0d | ||
|
|
f755f96cb1 | ||
|
|
341f599840 | ||
|
|
c1842b0155 | ||
|
|
8bbf5bcc1c | ||
|
|
1febdfd7a8 | ||
|
|
481174b1d2 | ||
|
|
724a15866c | ||
|
|
f1c56fe70c | ||
|
|
e016679e67 | ||
|
|
5073f57167 | ||
|
|
e8dede3910 | ||
|
|
47433e4b42 | ||
|
|
0618fd53dc | ||
|
|
799e0ee367 | ||
|
|
c29dfab48f | ||
|
|
44fc7a257b | ||
|
|
dc8fbb05ef | ||
|
|
41ee457cc7 | ||
|
|
b14facc9dc | ||
|
|
6e24064711 | ||
|
|
66d2401494 | ||
|
|
93d0220517 | ||
|
|
311867f730 | ||
|
|
b38cbf8ae5 | ||
|
|
ba186254fd | ||
|
|
517e5d117b | ||
|
|
20302f8312 | ||
|
|
b5ccb5448b | ||
|
|
7d3b6d12c0 | ||
|
|
fc2fb92d7b | ||
|
|
795b5bdf55 | ||
|
|
e2aec15879 | ||
|
|
3741c53e8b | ||
|
|
5b6d99a126 | ||
|
|
688bc53da9 | ||
|
|
b456c0feae | ||
|
|
69e068f80b | ||
|
|
d11f67ba2e | ||
|
|
921fa1ec08 | ||
|
|
0a4a9e3f47 | ||
|
|
5cf2074338 | ||
|
|
0bad4aa1c0 | ||
|
|
dfd0c5f758 | ||
|
|
0bf1f545c1 | ||
|
|
85d00b6aca | ||
|
|
b90672ae0e | ||
|
|
ccd04e73b1 | ||
|
|
5321ce17d4 | ||
|
|
9337c6d7aa | ||
|
|
3b0744dcd3 | ||
|
|
36e88a6a2d | ||
|
|
58902f97c4 | ||
|
|
e1ef69a0c4 | ||
|
|
46fa0f3cd0 | ||
|
|
1d3edaf62e | ||
|
|
adeb007cb0 | ||
|
|
45e6bcf26f | ||
|
|
5ba1a602fe | ||
|
|
7d4d645935 | ||
|
|
23f56520e2 | ||
|
|
ee8e184c10 | ||
|
|
db83fba992 | ||
|
|
c103b9e6f3 | ||
|
|
a757c437e2 | ||
|
|
49a07c4ea0 | ||
|
|
41a2f6803d | ||
|
|
d7e3d03c73 | ||
|
|
4c999721bb | ||
|
|
f5ad535387 | ||
|
|
f79ca0f232 | ||
|
|
8da71f60ed | ||
|
|
ecd4a337ff | ||
|
|
04d8d9b704 | ||
|
|
01bc89dd04 | ||
|
|
4d619286c3 | ||
|
|
22a3c1c4db | ||
|
|
b61dced93b | ||
|
|
346a049c18 | ||
|
|
bc65502fe9 | ||
|
|
aa1c155123 | ||
|
|
b2bfe11743 | ||
|
|
164944dd0c | ||
|
|
9356fdfaa8 | ||
|
|
27cd6e6e5b | ||
|
|
f74e8f7250 | ||
|
|
aa140eb846 | ||
|
|
54aa905699 | ||
|
|
2fc315c51e | ||
|
|
45244de78e | ||
|
|
99137d8fef | ||
|
|
0735847508 | ||
|
|
e8ea8c8da3 | ||
|
|
d50d618e01 | ||
|
|
02310f2319 | ||
|
|
f23f0d259c | ||
|
|
327369a761 | ||
|
|
c56498a529 | ||
|
|
16114cb3bd | ||
|
|
808ac0f0e6 | ||
|
|
b4b24aadfd | ||
|
|
cbe9c53262 | ||
|
|
4c2591af36 | ||
|
|
1b8069eec8 | ||
|
|
52a03dadbe | ||
|
|
4d9e6be394 | ||
|
|
cc91e49f7b | ||
|
|
605933c516 | ||
|
|
7ed4c7fac9 | ||
|
|
7224f97781 | ||
|
|
1a2f4251ed | ||
|
|
ab30d5981d | ||
|
|
458aecdf7b | ||
|
|
78bcc97591 | ||
|
|
029444f7be | ||
|
|
d3fdc11e56 | ||
|
|
b5dd51a579 | ||
|
|
1e13e8f8a3 | ||
|
|
c9b8d1a11a | ||
|
|
5932aefdb0 | ||
|
|
53e921dc7f | ||
|
|
0835753299 | ||
|
|
d701f840db | ||
|
|
08f7c21fc2 | ||
|
|
5dfdcb1d85 | ||
|
|
049b5d8039 | ||
|
|
3923dc9a33 | ||
|
|
b6d84674f6 | ||
|
|
9cb8f73738 | ||
|
|
cb1b15dbcc | ||
|
|
6020933f6d | ||
|
|
ae583aea1e | ||
|
|
8cd37c5c61 | ||
|
|
36427eb4b7 | ||
|
|
1e6f22ce59 | ||
|
|
8584d710c0 | ||
|
|
90440786b8 | ||
|
|
f97a26c6cb | ||
|
|
8d342c099e | ||
|
|
bed3d9982c | ||
|
|
588a1a7c9d | ||
|
|
e28acc8495 | ||
|
|
3ee5fa6d86 | ||
|
|
2717346e9d | ||
|
|
31d5e384e2 | ||
|
|
13cf64cf2e | ||
|
|
4bd82f7b01 | ||
|
|
efe7855776 | ||
|
|
dca1e67105 | ||
|
|
6695abda2f | ||
|
|
ae3601af92 | ||
|
|
b25ec93d14 | ||
|
|
bd557fbdb4 | ||
|
|
4b8485b087 | ||
|
|
89dd109a18 | ||
|
|
846c4500f7 | ||
|
|
445da5447d | ||
|
|
78afba5c29 | ||
|
|
46c6001c9d | ||
|
|
3b365d330a | ||
|
|
a9bdc255df | ||
|
|
4fb32fad37 | ||
|
|
b34d31f6a7 | ||
|
|
78d87038aa | ||
|
|
be27a72d86 | ||
|
|
aa86158caf | ||
|
|
de00ac1622 | ||
|
|
ed41272e81 | ||
|
|
7af0db9631 | ||
|
|
799ba3bc46 | ||
|
|
60f378839c | ||
|
|
72fa34a5cf | ||
|
|
e7521f0246 | ||
|
|
bb4dff1caa | ||
|
|
7312385dd6 | ||
|
|
8bd4f8b23c | ||
|
|
e80f294e80 | ||
|
|
b57e70ad30 | ||
|
|
9ac651afd5 | ||
|
|
00a8dee744 | ||
|
|
63270d9a4e | ||
|
|
f1242397be | ||
|
|
7957f8553c | ||
|
|
c4967cf252 | ||
|
|
af3da468ee | ||
|
|
a722af88e0 | ||
|
|
525117f3fd | ||
|
|
f35bf05726 | ||
|
|
01902c981c | ||
|
|
72489b0979 | ||
|
|
fa793a828b | ||
|
|
d2a1501e82 | ||
|
|
892c67bae5 | ||
|
|
fe35a8c782 | ||
|
|
b608efa5da | ||
|
|
8c0b7e45de | ||
|
|
3b7e42c280 | ||
|
|
c6199fa00d | ||
|
|
e3db3728f9 | ||
|
|
f3cd3a4e24 | ||
|
|
634d85c763 | ||
|
|
18e09702f3 | ||
|
|
4ee0fd5c54 | ||
|
|
a752574f66 | ||
|
|
f2d574fab5 | ||
|
|
2cf6a67a53 | ||
|
|
3857ab22d3 | ||
|
|
de8af9c9f1 | ||
|
|
cc12f9863e | ||
|
|
a5f671fa76 | ||
|
|
c6fe8397a7 | ||
|
|
d3154bd94f | ||
|
|
3639509a69 | ||
|
|
4c8349fbb5 | ||
|
|
fcf518353c | ||
|
|
e7c1835b19 | ||
|
|
5f12b870e6 | ||
|
|
9ef65f3f25 | ||
|
|
c6552d0b60 | ||
|
|
78fa0cb41b | ||
|
|
d98c8242af | ||
|
|
4ae4cc2169 | ||
|
|
9ac6bdbeaa | ||
|
|
8fc6f81f8d | ||
|
|
9a4363a6a5 | ||
|
|
50c42776e7 | ||
|
|
fb8b63cffa | ||
|
|
36e6d53374 | ||
|
|
9cc14af668 | ||
|
|
46f484461f | ||
|
|
7863d42834 | ||
|
|
743c206bc7 | ||
|
|
9691405fd4 | ||
|
|
12f9a05106 | ||
|
|
be8c7e3ee5 | ||
|
|
f3b6f58344 | ||
|
|
f65540dd19 | ||
|
|
6fb06a0564 | ||
|
|
acbd99f2ed | ||
|
|
541cb5244d | ||
|
|
9214b4a5da | ||
|
|
9cbff6835b | ||
|
|
8818f7b7e5 | ||
|
|
8fc0bc98f3 | ||
|
|
021048d95e | ||
|
|
aa46c9fb27 | ||
|
|
3fe9bfc719 | ||
|
|
4ca027de06 | ||
|
|
bc79530c52 | ||
|
|
aecc1adbaf | ||
|
|
582de7c18c | ||
|
|
f6a1fa94d3 | ||
|
|
51c3f8a378 | ||
|
|
05b40efddf | ||
|
|
7f379482a8 | ||
|
|
06eb66840a | ||
|
|
5dad177d3e | ||
|
|
5077a3d43f | ||
|
|
dae6437421 | ||
|
|
68c08ba9eb | ||
|
|
71b15b08eb | ||
|
|
afd6447581 | ||
|
|
e923fb045e | ||
|
|
5cb4415032 | ||
|
|
7b1a7fd20e | ||
|
|
38bda21f84 | ||
|
|
3997bebb76 | ||
|
|
9a4b3034ea | ||
|
|
f26a418a87 | ||
|
|
729e7ef6d5 | ||
|
|
09f0530d57 | ||
|
|
6ef722e7ea | ||
|
|
c7c112ee71 | ||
|
|
42682120ef | ||
|
|
6bb27c3b24 | ||
|
|
dd95b638e8 | ||
|
|
cb6fe2d32c | ||
|
|
a6bd17fa01 | ||
|
|
4ddc6294e1 | ||
|
|
916f079ecc | ||
|
|
426004e795 | ||
|
|
09f68b767c | ||
|
|
c3a7da959e | ||
|
|
5068b081c9 | ||
|
|
19054ea5f2 | ||
|
|
1ecc87ab26 | ||
|
|
b7e947b915 | ||
|
|
3eed685906 | ||
|
|
80a52d8c3c | ||
|
|
ec8f2368da | ||
|
|
b89592b84f | ||
|
|
2d5f24b4de | ||
|
|
a82579dc60 | ||
|
|
4d4113fccc | ||
|
|
1cc13235cf | ||
|
|
a1e11d9521 | ||
|
|
e72c78cd7f | ||
|
|
37e3424782 | ||
|
|
768ef23f29 | ||
|
|
64cf90313d | ||
|
|
ca7b488f4d | ||
|
|
bcab73a2f5 | ||
|
|
86a7dfeba5 | ||
|
|
84e4f6fee8 | ||
|
|
4d115fd895 | ||
|
|
3100f342c3 | ||
|
|
41d9638ce6 | ||
|
|
83eab8e5c5 | ||
|
|
8d2d10b15a | ||
|
|
eb30cf84b4 | ||
|
|
b5abe21889 | ||
|
|
0b4fe3148f | ||
|
|
e4c2841444 | ||
|
|
941e2ee411 | ||
|
|
8705232ea3 | ||
|
|
3c104111a0 | ||
|
|
02f7e386a4 | ||
|
|
a006bbed98 | ||
|
|
12b298abd6 | ||
|
|
0018ffb5bb | ||
|
|
6a939480c9 | ||
|
|
2221d27722 | ||
|
|
25af73bee8 | ||
|
|
5d8ae712b5 | ||
|
|
7bdec88efc | ||
|
|
52dbc4b6e7 | ||
|
|
5d1545dd2a | ||
|
|
bfb97db2a5 | ||
|
|
99165f3c82 | ||
|
|
3a8f88b703 | ||
|
|
1950db98ab | ||
|
|
4875dcede0 | ||
|
|
5c58ba44bc | ||
|
|
683cc32a3b | ||
|
|
55e1580363 | ||
|
|
e50144581b | ||
|
|
19e7535a5b | ||
|
|
414b954b92 | ||
|
|
9d8a776bd9 | ||
|
|
264866ab93 | ||
|
|
04cabd15eb | ||
|
|
85930d5564 | ||
|
|
b24a38e42d | ||
|
|
8cb15160ac | ||
|
|
011947daf2 | ||
|
|
0c79231eb9 | ||
|
|
251a01d7ac | ||
|
|
fd7ee9be7a | ||
|
|
6fa9594fef | ||
|
|
51527db42e | ||
|
|
8437058227 | ||
|
|
c885670079 | ||
|
|
1f33d7db0c | ||
|
|
9823909cfd | ||
|
|
e3a242ae56 | ||
|
|
967cfae906 | ||
|
|
2a36ba7d3c | ||
|
|
c73870c129 | ||
|
|
9de6eea4f0 | ||
|
|
fde5420caa | ||
|
|
dbe7b35e38 | ||
|
|
0e5af5accf | ||
|
|
dc1eff24e8 | ||
|
|
697c4b851f | ||
|
|
e0d0a98fdb | ||
|
|
9337df512f | ||
|
|
e1537e3ef6 | ||
|
|
8f67e4d9fe | ||
|
|
164426f88c | ||
|
|
022b78581f | ||
|
|
313de4c467 | ||
|
|
d2b947bedd | ||
|
|
bcaa1ad81d | ||
|
|
c8add75f7c | ||
|
|
99af60cfa3 | ||
|
|
559faf745a | ||
|
|
31a69933e0 | ||
|
|
8f9d9b057a | ||
|
|
765fcbe5da | ||
|
|
f18614588a | ||
|
|
61c2fd4c51 | ||
|
|
9a16993762 | ||
|
|
2adccca817 | ||
|
|
1c90e83ae1 | ||
|
|
091ffc65bd | ||
|
|
7320b911d6 | ||
|
|
452d3e0af6 | ||
|
|
5c10516850 | ||
|
|
a6a537b638 | ||
|
|
6824dbb59a | ||
|
|
43cfe73582 | ||
|
|
4a14538564 | ||
|
|
83799ee4c8 | ||
|
|
ec9d28df7a | ||
|
|
e9c3399d32 | ||
|
|
241613d5cf | ||
|
|
e29e972bf1 | ||
|
|
1c2c443d6d | ||
|
|
14db33addb | ||
|
|
adbc1eace3 | ||
|
|
4191b9f92e | ||
|
|
e422a93883 | ||
|
|
cf396c364b | ||
|
|
38f209a57d | ||
|
|
a9ff55017b | ||
|
|
3e49c0c7f9 | ||
|
|
f733f8c5d9 | ||
|
|
9388ad70b3 | ||
|
|
8ad850072a | ||
|
|
535c8ec92f | ||
|
|
ec075413b3 | ||
|
|
aa2beb7027 | ||
|
|
278c8ac541 | ||
|
|
93419222d3 | ||
|
|
80cf22c97c | ||
|
|
b43149f9d3 | ||
|
|
bc97db94e5 | ||
|
|
24d43d3924 | ||
|
|
3193d8a0cb | ||
|
|
2e06869ae3 | ||
|
|
e645c539a0 | ||
|
|
15b224917a | ||
|
|
67530cc3a5 | ||
|
|
bc6ec9a3d0 | ||
|
|
664a0d9adf | ||
|
|
cb9b2bb73d | ||
|
|
0b6a3930fc | ||
|
|
eeac9dbaf1 | ||
|
|
de1753aebe | ||
|
|
b23b5fa2f1 | ||
|
|
7a81263b34 | ||
|
|
936019736b | ||
|
|
3b163d66f9 | ||
|
|
a2f4c098e3 | ||
|
|
282387cc17 | ||
|
|
d09b992df5 | ||
|
|
5b4bf11250 | ||
|
|
1bb3328a0a | ||
|
|
a046070f8a | ||
|
|
b8a14c1dfa | ||
|
|
87014a0c5c | ||
|
|
f5583edec7 | ||
|
|
344a61d5a5 | ||
|
|
a50f7ce802 | ||
|
|
b6bfef3b65 | ||
|
|
7d7c853045 | ||
|
|
7d95cbad71 | ||
|
|
2fc1c05d6f | ||
|
|
2f51cee555 | ||
|
|
43f89063e0 | ||
|
|
edc67d6aa5 | ||
|
|
7a72955ec8 | ||
|
|
9bfb92cf74 | ||
|
|
fde7a4bc1f | ||
|
|
99ee16b438 | ||
|
|
7eaec845fc | ||
|
|
dea015592f | ||
|
|
8914eeeaf8 | ||
|
|
8a407bebbb | ||
|
|
b52c9d7fa3 | ||
|
|
15ce2ae731 | ||
|
|
2e296abd93 | ||
|
|
a6b62c89a2 | ||
|
|
45d6fa2047 | ||
|
|
7492d404c0 | ||
|
|
13cdf776f5 | ||
|
|
f65314bd94 | ||
|
|
53636a3453 | ||
|
|
23fb25fc17 | ||
|
|
b03949626e | ||
|
|
55408ece40 | ||
|
|
d0391b5f29 | ||
|
|
afc4e4536f | ||
|
|
83fe14288a | ||
|
|
5ce0ad1221 | ||
|
|
9593cf952d | ||
|
|
0e313d792a | ||
|
|
0dcb83a5a5 | ||
|
|
e377355ef1 | ||
|
|
55799985e9 | ||
|
|
ae7dba63b2 | ||
|
|
f1c33e30a2 | ||
|
|
2d769a83ce | ||
|
|
2065819ab9 | ||
|
|
36b0ad66cf | ||
|
|
eeef799bf7 | ||
|
|
1c9f0f6018 | ||
|
|
e61c402067 | ||
|
|
a09ad95cc0 | ||
|
|
a9ba11f35f | ||
|
|
4df8f09549 | ||
|
|
c197036c1f | ||
|
|
d9aa817221 | ||
|
|
c2f6a8fc22 | ||
|
|
d96fda1575 | ||
|
|
5242f3918e | ||
|
|
3128f8d336 | ||
|
|
19c3297538 | ||
|
|
f1c4018d8f | ||
|
|
e4a4b91dce | ||
|
|
50bf45770a | ||
|
|
1e84bc6f1d | ||
|
|
e9e1f9713f | ||
|
|
9c0d1000a1 | ||
|
|
fc974bf9d4 | ||
|
|
bcc013bdcf | ||
|
|
41a3385e99 | ||
|
|
99163201c6 | ||
|
|
0093e835f4 | ||
|
|
92a746de78 | ||
|
|
58dec25bbb | ||
|
|
021d3d4147 | ||
|
|
34977008e6 | ||
|
|
b7464f45ad | ||
|
|
f84de48e15 | ||
|
|
4ddd09df85 | ||
|
|
b52d3dd331 | ||
|
|
51ac32547f | ||
|
|
2e4aaf2f3b | ||
|
|
6c34162bb0 | ||
|
|
4ec7219318 | ||
|
|
cdef10dcef | ||
|
|
00ac8deba3 | ||
|
|
bcc275e244 | ||
|
|
899cd74b01 | ||
|
|
9595e64334 | ||
|
|
bc2108dd5a | ||
|
|
7bd358b53b | ||
|
|
e738eed8d7 | ||
|
|
dd43ca449e | ||
|
|
51a65f746b | ||
|
|
cb32063b68 | ||
|
|
f160a9091a | ||
|
|
6927401c1d | ||
|
|
384e4243bc | ||
|
|
95267cb88b | ||
|
|
e9d3de1859 | ||
|
|
038ebeb0f8 | ||
|
|
1099680118 | ||
|
|
c9455d27da | ||
|
|
f13edd77c9 | ||
|
|
cabbaa0acd | ||
|
|
6eec6985c2 | ||
|
|
052597513d | ||
|
|
04624beeaa | ||
|
|
3c3bfc2b8f | ||
|
|
2fbd3e66fa | ||
|
|
791457e0fe | ||
|
|
22519cd731 | ||
|
|
bf0eb143a6 | ||
|
|
08fe7ee42a | ||
|
|
848e0ae505 | ||
|
|
2e8c7a9acd | ||
|
|
f868b4bebb | ||
|
|
4b259031f3 | ||
|
|
1764aa3b3a | ||
|
|
b97d07df3d | ||
|
|
e34d535b61 | ||
|
|
e1d4956175 | ||
|
|
738bc9e968 | ||
|
|
15b2813abc | ||
|
|
c0fa8cefd1 | ||
|
|
50c98dab19 | ||
|
|
2421a655cf | ||
|
|
0c35a1fa24 | ||
|
|
17812bf744 | ||
|
|
463d81a27c | ||
|
|
c37c1fbb2c | ||
|
|
343de88d62 | ||
|
|
f368d7cb9d | ||
|
|
db07567e64 | ||
|
|
8a81b42e0c | ||
|
|
7952268226 | ||
|
|
2d13c3b4b4 | ||
|
|
ab37de4292 | ||
|
|
c45cb58dbc | ||
|
|
1a70218a74 | ||
|
|
1ec3ad24ef | ||
|
|
b0a2e0ce33 | ||
|
|
ddd1726bf1 | ||
|
|
ebb6a1c63a | ||
|
|
817bfebb71 | ||
|
|
94822deddc | ||
|
|
cc7e1a4b2f | ||
|
|
defd0bd38a | ||
|
|
80b4ca0841 | ||
|
|
f9c087e93a | ||
|
|
c9e0ea7566 | ||
|
|
5f69257625 | ||
|
|
acb22024a9 | ||
|
|
f12e63436a | ||
|
|
c7d457d373 | ||
|
|
08b6b901a9 | ||
|
|
f6df7c905b | ||
|
|
df9a0086d5 | ||
|
|
07176252c8 | ||
|
|
0541ec9947 | ||
|
|
abc9d205a5 | ||
|
|
31e24fa77b | ||
|
|
44976c8eb9 | ||
|
|
d61e6dd01d | ||
|
|
89b146a2c4 | ||
|
|
f32379d492 | ||
|
|
1872296417 | ||
|
|
bc1cfad1c2 | ||
|
|
7bd383b7cf | ||
|
|
aa66a87579 | ||
|
|
847df782b5 | ||
|
|
95d697a99a | ||
|
|
a7604e02c4 | ||
|
|
f15e41f8d9 | ||
|
|
920d7d4f07 | ||
|
|
5ac03ea3b9 | ||
|
|
ca51542b16 | ||
|
|
a770007e4d | ||
|
|
9624eeb11a | ||
|
|
7c7d329541 | ||
|
|
2c223a90e6 | ||
|
|
619e5c223c | ||
|
|
a320e22d19 | ||
|
|
3e62a88f97 | ||
|
|
fa5cee60d5 | ||
|
|
b0b305f4af | ||
|
|
98bd098999 | ||
|
|
12d37186a3 | ||
|
|
294d8ad651 | ||
|
|
efb8f08c74 | ||
|
|
08f2f09f52 | ||
|
|
347f9c1562 | ||
|
|
40c25713ac | ||
|
|
c4113e661d | ||
|
|
0463ecc23f | ||
|
|
496cdba896 | ||
|
|
da37d92265 | ||
|
|
ca8f21c2bc | ||
|
|
8a312b393f | ||
|
|
5baa2b884a | ||
|
|
15cb9221dc | ||
|
|
43b36716ae | ||
|
|
e926288f3e | ||
|
|
33df7f0d41 | ||
|
|
1c552404c0 | ||
|
|
cd6cb1f36c | ||
|
|
257343852f | ||
|
|
3cf14ad066 | ||
|
|
d404a7cdcb | ||
|
|
1d536974ab | ||
|
|
c9cd0307c6 | ||
|
|
2ec3b1d0f2 | ||
|
|
e4a17902fd | ||
|
|
752ccd8502 | ||
|
|
2e474b8dd6 | ||
|
|
f72db5731e | ||
|
|
17c6458f0b | ||
|
|
77d92f5c23 | ||
|
|
9f308f6aae | ||
|
|
ad149439ba | ||
|
|
520ed9204c | ||
|
|
b34c61f00d | ||
|
|
f87c10686f | ||
|
|
47c41077d5 | ||
|
|
2a6f46e820 | ||
|
|
3c0982974b | ||
|
|
eeac929ca6 | ||
|
|
b6f76f8885 | ||
|
|
26d41b11f3 | ||
|
|
013f47ada2 | ||
|
|
8b50062f86 | ||
|
|
2178764db1 | ||
|
|
57dd91955b | ||
|
|
bf74f24eb2 | ||
|
|
46700f351c | ||
|
|
9132316971 | ||
|
|
514a663b1d | ||
|
|
facdfd564f | ||
|
|
d6a46b86e2 | ||
|
|
771ecba016 | ||
|
|
b675b02604 | ||
|
|
8b30857701 | ||
|
|
2bdee0f848 | ||
|
|
80af2a0f8c | ||
|
|
9a11d40a6a | ||
|
|
91274eb7c1 | ||
|
|
9bc3eb1faf | ||
|
|
d3b1c4c053 | ||
|
|
a66d998810 | ||
|
|
96a1cf8bc5 | ||
|
|
29d16b90d9 | ||
|
|
28165a06f6 | ||
|
|
adaca820b5 | ||
|
|
26d976b684 | ||
|
|
e46cdb41fc | ||
|
|
2c6e901eb6 | ||
|
|
244b33600f | ||
|
|
cb0f0f195d | ||
|
|
4c44421169 | ||
|
|
702a75dd67 | ||
|
|
a502508d73 | ||
|
|
559d9b573c | ||
|
|
d7009ba6f3 | ||
|
|
6c6785442d | ||
|
|
372ba9104e | ||
|
|
963d43a336 | ||
|
|
546da0d579 | ||
|
|
85a8051e66 | ||
|
|
0cdaa1fd2d | ||
|
|
4261c92f61 | ||
|
|
7e7e9c17b7 | ||
|
|
d51ed5166c | ||
|
|
b3b295f721 | ||
|
|
bf16687aa6 | ||
|
|
4a61fe197c | ||
|
|
c99e22cec0 | ||
|
|
6c71fcdc3b | ||
|
|
1ad8cbda8a | ||
|
|
80ed9701e4 | ||
|
|
dda4b73f26 | ||
|
|
67c5ca876a | ||
|
|
a69ce967dc | ||
|
|
24130959c9 | ||
|
|
491f012828 | ||
|
|
4ed1743a71 | ||
|
|
7f669023f6 | ||
|
|
098bdf7156 | ||
|
|
d55e23081a | ||
|
|
58ebc6b7fd | ||
|
|
6965be7ba2 | ||
|
|
6030e21aad | ||
|
|
14bd0f1eaa | ||
|
|
12380f1274 | ||
|
|
b2251d9ea8 | ||
|
|
a8735faf63 | ||
|
|
5ea604d500 | ||
|
|
f9daab0dbe | ||
|
|
e1bd079043 | ||
|
|
eb434eaf3d | ||
|
|
22536144e7 | ||
|
|
d425dd635c | ||
|
|
025f321977 | ||
|
|
d6c4f4f98d | ||
|
|
9f109f203e | ||
|
|
ee269c66ad | ||
|
|
b5bf60cbce | ||
|
|
7d8a0f7b91 | ||
|
|
148b2c74af | ||
|
|
2d8473e34d | ||
|
|
ec341bda32 | ||
|
|
eb703318ce | ||
|
|
947571dcf3 | ||
|
|
2169008082 | ||
|
|
6ede63da73 | ||
|
|
59d7b90a41 | ||
|
|
744d4983e5 | ||
|
|
f0c280256e | ||
|
|
e679e91687 | ||
|
|
16fa0eb1e1 | ||
|
|
fb5261a24c | ||
|
|
c51012c131 | ||
|
|
1bb1129194 | ||
|
|
1d5746f2ad | ||
|
|
6a27505c1f | ||
|
|
5e462f6816 | ||
|
|
8e7805d105 | ||
|
|
07f50b56fc | ||
|
|
146cfe99fc | ||
|
|
4486f779ae | ||
|
|
6f7c354c19 | ||
|
|
3ab3b6ed27 | ||
|
|
c752fffe88 | ||
|
|
d5fcfc5220 | ||
|
|
3b40214552 | ||
|
|
c371b2266d | ||
|
|
6ddf735857 | ||
|
|
47b2db40fb | ||
|
|
c10dab1bea | ||
|
|
fe6f0cfb67 | ||
|
|
2d074b3886 | ||
|
|
151cd706b2 | ||
|
|
a2cbf6090c | ||
|
|
180b3e9aa0 | ||
|
|
a21aee9ca5 | ||
|
|
ace271e6bf | ||
|
|
7171188068 | ||
|
|
0f6f5d4059 | ||
|
|
760fb35f3a | ||
|
|
d08bd4aa6f | ||
|
|
3f8720c57e | ||
|
|
5da57d0e6b | ||
|
|
7a517cd5d6 | ||
|
|
460ec2444b | ||
|
|
fbab970c4b | ||
|
|
61c78397cc | ||
|
|
28fe25f56f | ||
|
|
aa01000991 | ||
|
|
85840f77ec | ||
|
|
6a344d1438 | ||
|
|
a2e6ba132d | ||
|
|
1822ff7295 | ||
|
|
e1fb2464c7 | ||
|
|
1c67cf8ef3 | ||
|
|
0ad6b58a9f | ||
|
|
955071e5f8 | ||
|
|
4231fc8aa4 | ||
|
|
64372b20d4 | ||
|
|
ef709c75eb | ||
|
|
bb5b2d0336 | ||
|
|
a5149bf17d | ||
|
|
abf9c3b769 | ||
|
|
92b6c975bd | ||
|
|
f6dc1ec7a8 | ||
|
|
b50980e880 | ||
|
|
206cff9d34 | ||
|
|
14fe0a4e03 | ||
|
|
ab26411136 | ||
|
|
cf1fddd832 | ||
|
|
ab2c38e882 | ||
|
|
f3c8c35f39 | ||
|
|
e50ce4f158 | ||
|
|
212d86b347 | ||
|
|
4a5312221c | ||
|
|
5277e4b17b | ||
|
|
ad5a5327d6 | ||
|
|
49fc96a22a | ||
|
|
d7deeb04e0 | ||
|
|
a941936907 | ||
|
|
808908717d | ||
|
|
6e80e62585 | ||
|
|
d2f2f1193c | ||
|
|
3dcef5a235 | ||
|
|
2541a70ab7 | ||
|
|
003a3ccd18 | ||
|
|
a45caca7ee | ||
|
|
6b7142565e | ||
|
|
fb8b3283ec | ||
|
|
e92e852145 | ||
|
|
c05d81cf29 | ||
|
|
43d018f11e | ||
|
|
f67669969e | ||
|
|
7698589c56 | ||
|
|
2e7f04b877 | ||
|
|
2be3d0511c | ||
|
|
081ad552a0 | ||
|
|
dadb15eb63 | ||
|
|
c306a8ae4f | ||
|
|
7bfc0bb91b | ||
|
|
8854b106d9 | ||
|
|
80acfb73f0 | ||
|
|
2137529555 | ||
|
|
01bcac7f0a | ||
|
|
5bbf616997 | ||
|
|
627ccfdb9c | ||
|
|
4a27575731 | ||
|
|
0aae98108b | ||
|
|
d432e749bb | ||
|
|
36f915ae20 | ||
|
|
7036efc269 | ||
|
|
d46988592d | ||
|
|
8d1e7cb4fb | ||
|
|
3e732b63b5 | ||
|
|
9249afe585 | ||
|
|
4f53a0a3f4 | ||
|
|
2ebbb01854 | ||
|
|
036e0f072c | ||
|
|
00b7a3dc87 | ||
|
|
88961b00ce | ||
|
|
1c61678ebc | ||
|
|
2d07809a88 | ||
|
|
111222720a | ||
|
|
30d133e4ff | ||
|
|
2c6931107f | ||
|
|
2e2983095b | ||
|
|
d4ad2cbe37 | ||
|
|
28e6de04c6 | ||
|
|
4210b25657 | ||
|
|
e93e829fb6 | ||
|
|
41b1abedc9 | ||
|
|
a1aa2b61f6 | ||
|
|
fa3d93dac2 | ||
|
|
b60a509ae6 | ||
|
|
526e250898 | ||
|
|
f820932e1f | ||
|
|
38d0d5ab7f | ||
|
|
582e1146d0 | ||
|
|
a689502c11 | ||
|
|
89c55c1704 | ||
|
|
f282d39646 | ||
|
|
393bd4900a | ||
|
|
07ee026220 | ||
|
|
c07c00659f | ||
|
|
c74c7cd726 | ||
|
|
cb3e4a55cd | ||
|
|
7c6335fb47 | ||
|
|
dbe8c45fa5 | ||
|
|
11dc677020 | ||
|
|
450682f810 | ||
|
|
5a670fa304 | ||
|
|
effc8231ac | ||
|
|
dcf57f6567 | ||
|
|
9e32d84dff | ||
|
|
6fd275c5af | ||
|
|
ad198c40e8 | ||
|
|
c36313ce5a | ||
|
|
9d6eda165a | ||
|
|
3816645aae | ||
|
|
d77bf259aa | ||
|
|
000c7376a0 | ||
|
|
23fb89c6e3 | ||
|
|
b42ef72337 | ||
|
|
19ad51dc91 | ||
|
|
cac8c45c51 | ||
|
|
c1bdc13a7a | ||
|
|
c357423681 | ||
|
|
d50ab5353d | ||
|
|
d000bb120b | ||
|
|
c128a86bf3 | ||
|
|
35a7ab09c1 | ||
|
|
5b13693601 | ||
|
|
848e9ff54f | ||
|
|
37b09e63bf | ||
|
|
fee3813b50 | ||
|
|
2a9f144e0d | ||
|
|
9e4b6c635a | ||
|
|
d0d8e3d2b7 | ||
|
|
223c271399 | ||
|
|
5fa4af1c9c | ||
|
|
b38aa084d9 | ||
|
|
6c88914bf0 | ||
|
|
a25042b2a4 | ||
|
|
cc1a955a7f | ||
|
|
0edefbe3f9 | ||
|
|
2bbbfe4553 | ||
|
|
24a0148ebc | ||
|
|
34f04e76ec | ||
|
|
f95cae2ee5 | ||
|
|
65c7ed8095 | ||
|
|
03260932ee | ||
|
|
372793cb7a | ||
|
|
b9961bf8be | ||
|
|
1a0364ee62 | ||
|
|
d2a0b54dfc | ||
|
|
6a3b81499a | ||
|
|
70560cd537 | ||
|
|
77680ff29f | ||
|
|
76c6970e4f | ||
|
|
5de52ec045 | ||
|
|
278fcebe02 | ||
|
|
ed2404ce57 | ||
|
|
fa7b2b4fe3 | ||
|
|
278da2459f | ||
|
|
204a3fd83c | ||
|
|
745802eaea | ||
|
|
cba59f0b70 | ||
|
|
0473e9f081 | ||
|
|
6a83623170 | ||
|
|
a1b226f8a3 | ||
|
|
f74603dcef | ||
|
|
9c2b3b1c46 | ||
|
|
d9dfdbf474 | ||
|
|
a442437201 | ||
|
|
f0bc1d5586 | ||
|
|
904baa3db2 | ||
|
|
73524bd7b4 | ||
|
|
6d4ddc7ee3 | ||
|
|
a451a124f6 | ||
|
|
fae4241fb7 | ||
|
|
f5e13b38cd | ||
|
|
207f458186 | ||
|
|
6d86f35b02 | ||
|
|
bc8ef2d4c6 | ||
|
|
994f0c5905 | ||
|
|
3ce235581e | ||
|
|
b23cbfea16 | ||
|
|
680990d6d2 | ||
|
|
b64e05b3c7 | ||
|
|
712082dc8f | ||
|
|
8252129dd0 | ||
|
|
65f5262476 | ||
|
|
0fbb63a64c | ||
|
|
f2a5866c52 | ||
|
|
e2f2780a51 | ||
|
|
6f5803bb3c | ||
|
|
1dbaf4b5d6 | ||
|
|
80643e9090 | ||
|
|
aac541afb9 | ||
|
|
8e2fabbfae | ||
|
|
51938f0a2b | ||
|
|
cfd8db6b9e | ||
|
|
1192b139bd | ||
|
|
3caba47f5e | ||
|
|
5b25a05bcc | ||
|
|
88824eb7b9 | ||
|
|
c39eb7f019 | ||
|
|
e0fce28cbe | ||
|
|
a9bdbc6394 | ||
|
|
b9c3c2d186 | ||
|
|
421cff3457 | ||
|
|
f2d63ee9be | ||
|
|
03dd38b040 | ||
|
|
a6d5486554 | ||
|
|
224dc0679a | ||
|
|
a253bea015 | ||
|
|
6500ba3270 | ||
|
|
617008f802 | ||
|
|
300aeca890 | ||
|
|
f5d54b0332 | ||
|
|
ca19758ef1 | ||
|
|
97a86865fb | ||
|
|
7bd9d5cca0 | ||
|
|
f6fd7d0f6e | ||
|
|
b18b19c703 | ||
|
|
0d529803d2 | ||
|
|
fb0b5839b0 | ||
|
|
1668ed095b | ||
|
|
ad3b75ab3c | ||
|
|
dfa4ba9e01 | ||
|
|
ee1923d558 | ||
|
|
c40457c1cf | ||
|
|
6b196d7b04 | ||
|
|
f2d073c8ba | ||
|
|
ad84629fa3 | ||
|
|
d5e3dbc115 | ||
|
|
4be2995c98 | ||
|
|
a43628a0eb | ||
|
|
09215c8b39 | ||
|
|
62f25b27a7 | ||
|
|
a3ea9ebee9 | ||
|
|
23fd497041 | ||
|
|
e969fff0a8 | ||
|
|
a1a70086ac | ||
|
|
c2fcdfc2c7 | ||
|
|
ff707fc932 | ||
|
|
fa6c798f06 | ||
|
|
a817c11590 | ||
|
|
d4da2fbd06 | ||
|
|
5b9661be59 | ||
|
|
6569f03fba | ||
|
|
a6051aa758 | ||
|
|
a31d0d9961 | ||
|
|
2a6e9fc94c | ||
|
|
8969f499be | ||
|
|
1c0d38097f | ||
|
|
3897bff774 | ||
|
|
37922ab699 | ||
|
|
0a1259b3a5 | ||
|
|
effebec8aa | ||
|
|
d9af5216e0 | ||
|
|
d29b3f1e63 | ||
|
|
34b31715dc | ||
|
|
f5bae01550 | ||
|
|
aed9ef05c1 | ||
|
|
5a6b84a924 | ||
|
|
7db2f889b1 | ||
|
|
7ea8bfd3c9 | ||
|
|
99c43b6d58 | ||
|
|
69d6b7a0b5 | ||
|
|
8dddaccde6 | ||
|
|
7753b5e04d | ||
|
|
c987dc857e | ||
|
|
b88c274e72 | ||
|
|
da73358a66 | ||
|
|
b98d72a1e6 | ||
|
|
a31fdfa004 | ||
|
|
d2c6f622a9 | ||
|
|
e85b238ac1 | ||
|
|
f603e4c565 | ||
|
|
b4de497107 | ||
|
|
e9a0e77b90 | ||
|
|
21eaa1962d | ||
|
|
210c8d89c6 | ||
|
|
e25a403bea | ||
|
|
485720dcbf | ||
|
|
4571c91fcd | ||
|
|
0495d3adb0 | ||
|
|
9bcb84097d | ||
|
|
5d332663d6 | ||
|
|
720b70acba | ||
|
|
0b2e174e97 | ||
|
|
eaf88fb55a | ||
|
|
949f1215b6 | ||
|
|
e402036ff7 | ||
|
|
07a482985a | ||
|
|
8e820d3f89 | ||
|
|
700a433ae5 | ||
|
|
fd46aefadd | ||
|
|
2fe494347d | ||
|
|
41d21074b5 | ||
|
|
04c3efa279 |
@@ -6,7 +6,7 @@ sirgle/
|
||||
test.php
|
||||
*.key
|
||||
*.sh
|
||||
cheditor*/
|
||||
cheditor5.*/
|
||||
ckeditor*/
|
||||
log/
|
||||
g5_tree/
|
||||
|
||||
@@ -2,4 +2,10 @@
|
||||
define('G5_IS_ADMIN', true);
|
||||
include_once ('../common.php');
|
||||
include_once(G5_ADMIN_PATH.'/admin.lib.php');
|
||||
|
||||
if( isset($token) ){
|
||||
$token = @htmlspecialchars(strip_tags($token), ENT_QUOTES);
|
||||
}
|
||||
|
||||
run_event('admin_common');
|
||||
?>
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$is_use_apache = (stripos($_SERVER['SERVER_SOFTWARE'], 'apache') !== false);
|
||||
|
||||
$is_use_nginx = (stripos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false);
|
||||
|
||||
$is_use_iis = !$is_use_apache && (stripos($_SERVER['SERVER_SOFTWARE'], 'microsoft-iis') !== false);
|
||||
|
||||
$is_write_file = false;
|
||||
$is_apache_need_rules = false;
|
||||
$is_apache_rewrite = false;
|
||||
|
||||
if( !($is_use_apache || $is_use_nginx || $is_use_iis) ){ // 셋다 아니면 다 출력시킨다.
|
||||
$is_use_apache = true;
|
||||
$is_use_nginx = true;
|
||||
}
|
||||
|
||||
if ( $is_use_nginx ){
|
||||
$is_write_file = false;
|
||||
}
|
||||
|
||||
if ( $is_use_apache ){
|
||||
$is_write_file = (is_writable(G5_PATH) || (file_exists(G5_PATH.'/.htaccess') && is_writable(G5_PATH.'/.htaccess'))) ? true : false;
|
||||
$is_apache_need_rules = check_need_rewrite_rules();
|
||||
$is_apache_rewrite = function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules());
|
||||
}
|
||||
|
||||
$get_path_url = parse_url( G5_URL );
|
||||
|
||||
$base_path = isset($get_path_url['path']) ? $get_path_url['path'].'/' : '/';
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal.css">', 11);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/remodal/remodal-default-theme.css">', 12);
|
||||
add_javascript('<script src="'.G5_JS_URL.'/remodal/remodal.js"></script>', 10);
|
||||
?>
|
||||
<section id="anc_cf_url">
|
||||
<h2 class="h2_frm">짧은 주소 설정</h2>
|
||||
<?php echo $pg_anchor ?>
|
||||
<div class="local_desc02 local_desc">
|
||||
<p>
|
||||
게시판과 컨텐츠 페이지에 짧은 URL 을 사용합니다. <a href="https://sir.kr/manual/g5/286" class="btn btn_03" target="_blank" style="margin-left:10px">설정 관련 메뉴얼 보기</a>
|
||||
<?php if( $is_use_apache && ! $is_use_nginx ){ ?>
|
||||
<?php if( ! $is_apache_rewrite ){ ?>
|
||||
<br><strong>Apache 서버인 경우 rewrite_module 이 비활성화 되어 있으면 짧은 주소를 사용할수 없습니다.</strong>
|
||||
<?php } else if( ! $is_write_file && $is_apache_need_rules ) { // apache인 경우 ?>
|
||||
<br><strong>짧은 주소 사용시 아래 Apache 설정 코드를 참고하여 설정해 주세요.</strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="server_config_views">
|
||||
<?php if ( $is_use_apache ){ ?>
|
||||
<button type="button" data-remodal-target="modal_apache" class="btn btn_03">Apache 설정 코드 보기</button>
|
||||
<?php } ?>
|
||||
<?php if ( $is_use_nginx ) { ?>
|
||||
<button type="button" data-remodal-target="modal_nginx" class="btn btn_03">Nginx 설정 코드 보기</button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<caption>짧은주소 설정</caption>
|
||||
<colgroup>
|
||||
<col class="grid_4">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<?php
|
||||
$short_url_arrs = array(
|
||||
'0'=>array('label'=>'사용안함', 'url'=>G5_URL.'/board.php?bo_table=free&wr_id=123'),
|
||||
'1'=>array('label'=>'숫자', 'url'=>G5_URL.'/free/123'),
|
||||
'2'=>array('label'=>'글 이름', 'url'=>G5_URL.'/free/안녕하세요/'),
|
||||
);
|
||||
foreach($short_url_arrs as $k=>$v){
|
||||
$checked = ((int) $config['cf_bbs_rewrite'] === (int) $k) ? 'checked' : '';
|
||||
?>
|
||||
<tr>
|
||||
<td><input name="cf_bbs_rewrite" id="cf_bbs_rewrite_<?php echo $k; ?>" type="radio" value="<?php echo $k; ?>" <?php echo $checked;?> ><label for="cf_bbs_rewrite_<?php echo $k; ?>" class="rules_label"><?php echo $v['label']; ?></label></td>
|
||||
<td><?php echo $v['url']; ?></td>
|
||||
</tr>
|
||||
<?php } //end foreach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="server_rewrite_info">
|
||||
<div class="is_rewrite remodal" data-remodal-id="modal_apache" role="dialog" aria-labelledby="modalApache" aria-describedby="modal1Desc">
|
||||
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
|
||||
<h4 class="copy_title">.htaccess 파일에 적용할 코드입니다.
|
||||
<?php if( ! $is_apache_rewrite ) { ?>
|
||||
<br><span class="info-warning">Apache 서버인 경우 rewrite_module 이 비활성화 되어 있으면 짧은 주소를 사용할수 없습니다.</span>
|
||||
<?php } else if ( ! $is_write_file && $is_apache_need_rules ) { ?>
|
||||
<br><span class="info-warning">자동으로 .htaccess 파일을 수정 할수 있는 권한이 없습니다.<br>.htaccess 파일이 없다면 생성 후에, 아래 코드가 없으면 코드를 복사하여 붙여넣기 해 주세요.</span>
|
||||
<?php } else if ( ! $is_apache_need_rules ){ ?>
|
||||
<br><span class="info-success">정상적으로 적용된 상태입니다.</span>
|
||||
<?php } ?>
|
||||
</h4>
|
||||
<textarea readonly="readonly" rows="10"><?php echo get_mod_rewrite_rules(true); ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="is_rewrite remodal" data-remodal-id="modal_nginx" role="dialog" aria-labelledby="modalNginx" aria-describedby="modal2Desc">
|
||||
|
||||
<button type="button" class="connect-close" data-remodal-action="close">
|
||||
<i class="fa fa-close"></i>
|
||||
<span class="txt">닫기</span>
|
||||
</button>
|
||||
<h4 class="copy_title">아래 코드를 복사하여 nginx 설정 파일에 적용해 주세요.</h4>
|
||||
<textarea readonly="readonly" rows="10"><?php echo get_nginx_conf_rules(true); ?></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,11 +1,25 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$begin_time = get_microtime();
|
||||
$g5_debug['php']['begin_time'] = $begin_time = get_microtime();
|
||||
|
||||
$files = glob(G5_ADMIN_PATH.'/css/admin_extend_*');
|
||||
if (is_array($files)) {
|
||||
foreach ((array) $files as $k=>$css_file) {
|
||||
|
||||
$fileinfo = pathinfo($css_file);
|
||||
$ext = $fileinfo['extension'];
|
||||
|
||||
if( $ext !== 'css' ) continue;
|
||||
|
||||
$css_file = str_replace(G5_ADMIN_PATH, G5_ADMIN_URL, $css_file);
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$css_file.'">', $k);
|
||||
}
|
||||
}
|
||||
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
function print_menu1($key, $no)
|
||||
function print_menu1($key, $no='')
|
||||
{
|
||||
global $menu;
|
||||
|
||||
@@ -14,11 +28,11 @@ function print_menu1($key, $no)
|
||||
return $str;
|
||||
}
|
||||
|
||||
function print_menu2($key, $no)
|
||||
function print_menu2($key, $no='')
|
||||
{
|
||||
global $menu, $auth_menu, $is_admin, $auth, $g5;
|
||||
global $menu, $auth_menu, $is_admin, $auth, $g5, $sub_menu;
|
||||
|
||||
$str .= "<ul class=\"gnb_2dul\">";
|
||||
$str .= "<ul>";
|
||||
for($i=1; $i<count($menu[$key]); $i++)
|
||||
{
|
||||
if ($is_admin != 'super' && (!array_key_exists($menu[$key][$i][0],$auth) || !strstr($auth[$menu[$key][$i][0]], 'r')))
|
||||
@@ -30,7 +44,13 @@ function print_menu2($key, $no)
|
||||
if ($menu[$key][$i][4] == 1) $gnb_grp_style = 'gnb_grp_style';
|
||||
else $gnb_grp_style = '';
|
||||
|
||||
$str .= '<li class="gnb_2dli"><a href="'.$menu[$key][$i][2].'" class="gnb_2da '.$gnb_grp_style.' '.$gnb_grp_div.'">'.$menu[$key][$i][1].'</a></li>';
|
||||
$current_class = '';
|
||||
|
||||
if ($menu[$key][$i][0] == $sub_menu){
|
||||
$current_class = ' on';
|
||||
}
|
||||
|
||||
$str .= '<li data-menu="'.$menu[$key][$i][0].'"><a href="'.$menu[$key][$i][2].'" class="gnb_2da '.$gnb_grp_style.' '.$gnb_grp_div.$current_class.'">'.$menu[$key][$i][1].'</a></li>';
|
||||
|
||||
$auth_menu[$menu[$key][$i][0]] = $menu[$key][$i][1];
|
||||
}
|
||||
@@ -38,6 +58,18 @@ function print_menu2($key, $no)
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
$adm_menu_cookie = array(
|
||||
'container' => '',
|
||||
'gnb' => '',
|
||||
'btn_gnb' => '',
|
||||
);
|
||||
|
||||
if( ! empty($_COOKIE['g5_admin_btn_gnb']) ){
|
||||
$adm_menu_cookie['container'] = 'container-small';
|
||||
$adm_menu_cookie['gnb'] = 'gnb_small';
|
||||
$adm_menu_cookie['btn_gnb'] = 'btn_gnb_open';
|
||||
}
|
||||
?>
|
||||
|
||||
<script>
|
||||
@@ -66,81 +98,102 @@ function imageview(id, w, h)
|
||||
<div id="to_content"><a href="#container">본문 바로가기</a></div>
|
||||
|
||||
<header id="hd">
|
||||
<div id="hd_wrap">
|
||||
<h1><?php echo $config['cf_title'] ?></h1>
|
||||
<h1><?php echo $config['cf_title'] ?></h1>
|
||||
<div id="hd_top">
|
||||
<button type="button" id="btn_gnb" class="btn_gnb_close <?php echo $adm_menu_cookie['btn_gnb'];?>">메뉴</button>
|
||||
<div id="logo"><a href="<?php echo correct_goto_url(G5_ADMIN_URL); ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.png" alt="<?php echo get_text($config['cf_title']); ?> 관리자"></a></div>
|
||||
|
||||
<div id="logo"><a href="<?php echo G5_ADMIN_URL ?>"><img src="<?php echo G5_ADMIN_URL ?>/img/logo.jpg" alt="<?php echo $config['cf_title'] ?> 관리자"></a></div>
|
||||
|
||||
<ul id="tnb">
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&mb_id=<?php echo $member['mb_id'] ?>">관리자정보</a></li>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>/config_form.php">기본환경</a></li>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>/service.php">부가서비스</a></li>
|
||||
<li><a href="<?php echo G5_URL ?>/">커뮤니티</a></li>
|
||||
<?php if(defined('G5_USE_SHOP')) { ?>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>/shop_admin/configform.php">쇼핑몰환경</a></li>
|
||||
<li><a href="<?php echo G5_SHOP_URL ?>/">쇼핑몰</a></li>
|
||||
<?php } ?>
|
||||
<li id="tnb_logout"><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
</ul>
|
||||
|
||||
<nav id="gnb">
|
||||
<h2>관리자 주메뉴</h2>
|
||||
<div id="tnb">
|
||||
<ul>
|
||||
<li class="tnb_li"><a href="<?php echo G5_URL ?>/" class="tnb_community" target="_blank" title="커뮤니티 바로가기">커뮤니티 바로가기</a></li>
|
||||
<li class="tnb_li"><a href="<?php echo G5_ADMIN_URL ?>/service.php" class="tnb_service">부가서비스</a></li>
|
||||
<li class="tnb_li"><button type="button" class="tnb_mb_btn">관리자<span class="./img/btn_gnb.png">메뉴열기</span></button>
|
||||
<ul class="tnb_mb_area">
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&mb_id=<?php echo $member['mb_id'] ?>">관리자정보</a></li>
|
||||
<li id="tnb_logout"><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<nav id="gnb" class="gnb_large <?php echo $adm_menu_cookie['gnb']; ?>">
|
||||
<h2>관리자 주메뉴</h2>
|
||||
<ul class="gnb_ul">
|
||||
<?php
|
||||
$gnb_str = "<ul id=\"gnb_1dul\">";
|
||||
$jj = 1;
|
||||
foreach($amenu as $key=>$value) {
|
||||
$href1 = $href2 = '';
|
||||
|
||||
if ($menu['menu'.$key][0][2]) {
|
||||
$href1 = '<a href="'.$menu['menu'.$key][0][2].'" class="gnb_1da">';
|
||||
$href2 = '</a>';
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
|
||||
$current_class = "";
|
||||
if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu'.$key][0][0], 0, 3)))
|
||||
$current_class = " gnb_1dli_air";
|
||||
$gnb_str .= '<li class="gnb_1dli'.$current_class.'">'.PHP_EOL;
|
||||
$gnb_str .= $href1 . $menu['menu'.$key][0][1] . $href2;
|
||||
$gnb_str .= print_menu1('menu'.$key, 1);
|
||||
$gnb_str .= "</li>";
|
||||
}
|
||||
$gnb_str .= "</ul>";
|
||||
echo $gnb_str;
|
||||
$current_class = " on";
|
||||
|
||||
$button_title = $menu['menu'.$key][0][1];
|
||||
?>
|
||||
</nav>
|
||||
<li class="gnb_li<?php echo $current_class;?>">
|
||||
<button type="button" class="btn_op menu-<?php echo $key; ?> menu-order-<?php echo $jj; ?>" title="<?php echo $button_title; ?>"><?php echo $button_title;?></button>
|
||||
<div class="gnb_oparea_wr">
|
||||
<div class="gnb_oparea">
|
||||
<h3><?php echo $menu['menu'.$key][0][1];?></h3>
|
||||
<?php echo print_menu1('menu'.$key, 1); ?>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
$jj++;
|
||||
} //end foreach
|
||||
?>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
|
||||
<?php if($sub_menu) { ?>
|
||||
<ul id="lnb">
|
||||
<?php
|
||||
$menu_key = substr($sub_menu, 0, 3);
|
||||
$nl = '';
|
||||
foreach($menu['menu'.$menu_key] as $key=>$value) {
|
||||
if($key > 0) {
|
||||
if ($is_admin != 'super' && (!array_key_exists($value[0],$auth) || !strstr($auth[$value[0]], 'r')))
|
||||
continue;
|
||||
var menu_cookie_key = 'g5_admin_btn_gnb';
|
||||
|
||||
if($value[3] == 'cf_service')
|
||||
$svc_class = ' class="lnb_svc"';
|
||||
else
|
||||
$svc_class = '';
|
||||
$(".tnb_mb_btn").click(function(){
|
||||
$(".tnb_mb_area").toggle();
|
||||
});
|
||||
|
||||
$("#btn_gnb").click(function(){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
try {
|
||||
if( ! $this.hasClass("btn_gnb_open") ){
|
||||
set_cookie(menu_cookie_key, 1, 60*60*24*365);
|
||||
} else {
|
||||
delete_cookie(menu_cookie_key);
|
||||
}
|
||||
}
|
||||
catch(err) {
|
||||
}
|
||||
|
||||
$("#container").toggleClass("container-small");
|
||||
$("#gnb").toggleClass("gnb_small");
|
||||
$this.toggleClass("btn_gnb_open");
|
||||
|
||||
});
|
||||
|
||||
$(".gnb_ul li .btn_op" ).click(function() {
|
||||
$(this).parent().addClass("on").siblings().removeClass("on");
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
echo $nl.'<li><a href="'.$value[2].'"'.$svc_class.'>'.$value[1].'</a></li>';
|
||||
$nl = PHP_EOL;
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<div id="wrapper">
|
||||
|
||||
<div id="container">
|
||||
<div id="text_size">
|
||||
<!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->
|
||||
<button onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_ADMIN_URL ?>/img/ts01.gif" alt="기본"></button>
|
||||
<button onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_ADMIN_URL ?>/img/ts02.gif" alt="크게"></button>
|
||||
<button onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_ADMIN_URL ?>/img/ts03.gif" alt="더크게"></button>
|
||||
</div>
|
||||
<h1><?php echo $g5['title'] ?></h1>
|
||||
<div id="container" class="<?php echo $adm_menu_cookie['container']; ?>">
|
||||
|
||||
<h1 id="container_title"><?php echo $g5['title'] ?></h1>
|
||||
<div class="container_wr">
|
||||
@@ -108,7 +108,7 @@ function get_ajax_token()
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(document).on("click", "form input:submit", function() {
|
||||
$(document).on("click", "form input:submit, form button:submit", function() {
|
||||
var f = this.form;
|
||||
var token = get_ajax_token();
|
||||
|
||||
|
||||
@@ -176,7 +176,7 @@ function get_theme_config_value($dir, $key='*')
|
||||
$tconfig = array();
|
||||
|
||||
$theme_config_file = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir.'/theme.config.php';
|
||||
if(is_file) {
|
||||
if(is_file($theme_config_file)) {
|
||||
include($theme_config_file);
|
||||
|
||||
if($key == '*') {
|
||||
@@ -355,6 +355,70 @@ function get_admin_token()
|
||||
return $token;
|
||||
}
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
function get_admin_captcha_by($type='get'){
|
||||
|
||||
$captcha_name = 'ss_admin_use_captcha';
|
||||
|
||||
if($type === 'remove'){
|
||||
set_session($captcha_name, '');
|
||||
}
|
||||
|
||||
return get_session($captcha_name);
|
||||
}
|
||||
|
||||
//input value 에서 xss 공격 filter 역할을 함 ( 반드시 input value='' 타입에만 사용할것 )
|
||||
function get_sanitize_input($s, $is_html=false){
|
||||
|
||||
if(!$is_html){
|
||||
$s = strip_tags($s);
|
||||
}
|
||||
|
||||
$s = htmlspecialchars($s, ENT_QUOTES, 'utf-8');
|
||||
|
||||
return $s;
|
||||
}
|
||||
|
||||
function check_log_folder($log_path){
|
||||
|
||||
if( is_writable($log_path) ){
|
||||
|
||||
// 아파치 서버인 경우 웹에서 해당 폴더 접근 막기
|
||||
$htaccess_file = $log_path.'/.htaccess';
|
||||
if ( !file_exists( $htaccess_file ) ) {
|
||||
if ( $handle = @fopen( $htaccess_file, 'w' ) ) {
|
||||
fwrite( $handle, 'Order deny,allow' . "\n" );
|
||||
fwrite( $handle, 'Deny from all' . "\n" );
|
||||
fclose( $handle );
|
||||
}
|
||||
}
|
||||
|
||||
// 아파치 서버인 경우 해당 디렉토리 파일 목록 안보이게 하기
|
||||
$index_file = $log_path . '/index.php';
|
||||
if ( !file_exists( $index_file ) ) {
|
||||
if ( $handle = @fopen( $index_file, 'w' ) ) {
|
||||
fwrite( $handle, '' );
|
||||
fclose( $handle );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// txt 파일과 log 파일을 조회하여 30일이 지난 파일은 삭제합니다.
|
||||
$txt_files = glob($log_path.'/*.txt');
|
||||
$log_files = glob($log_path.'/*.log');
|
||||
|
||||
$del_files = array_merge($txt_files, $log_files);
|
||||
|
||||
if( $del_files && is_array($del_files) ){
|
||||
foreach ($del_files as $del_file) {
|
||||
$filetime = filemtime($del_file);
|
||||
// 30일이 지난 파일을 삭제
|
||||
if($filetime && $filetime < (G5_SERVER_TIME - 2592000)) {
|
||||
@unlink($del_file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교
|
||||
function check_admin_token()
|
||||
@@ -382,22 +446,81 @@ function admin_referer_check($return=false)
|
||||
}
|
||||
|
||||
$p = @parse_url($referer);
|
||||
|
||||
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
|
||||
$msg = '';
|
||||
|
||||
if($host != $p['host']) {
|
||||
$msg = '올바른 방법으로 이용해 주십시오.';
|
||||
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg, G5_URL);
|
||||
}
|
||||
|
||||
if( $p['path'] && ! preg_match( '/\/'.preg_quote(G5_ADMIN_DIR).'\//i', $p['path'] ) ){
|
||||
$msg = '올바른 방법으로 이용해 주십시오';
|
||||
}
|
||||
|
||||
if( $msg ){
|
||||
if($return) {
|
||||
return $msg;
|
||||
} else {
|
||||
alert($msg, G5_URL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function admin_check_xss_params($params){
|
||||
|
||||
if( ! $params ) return;
|
||||
|
||||
foreach( $params as $key=>$value ){
|
||||
|
||||
if ( empty($value) ) continue;
|
||||
|
||||
if( is_array($value) ){
|
||||
admin_check_xss_params($value);
|
||||
} else if ( (preg_match('/<\s?[^\>]*\/?\s?>/i', $value) && (preg_match('/script.*?\/script/ius', $value) || preg_match('/[onload|onerror]=.*/ius', $value))) || preg_match('/^(?=.*token\()(?=.*xmlhttprequest\()(?=.*send\().*$/im', $value) || (preg_match('/[onload|onerror|focus]=.*/ius', $value) && preg_match('/(eval|expression|exec|prompt)(\s*)\((.*)\)/ius', $value)) ){
|
||||
alert('요청 쿼리에 잘못된 스크립트문장이 있습니다.\\nXSS 공격일수도 있습니다.', G5_URL);
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function admin_menu_find_by($call, $search_key){
|
||||
global $menu;
|
||||
|
||||
static $cache_menu = array();
|
||||
|
||||
if( empty($cache_menu) ){
|
||||
foreach( $menu as $k1=>$arr1 ){
|
||||
|
||||
if (empty($arr1) ) continue;
|
||||
foreach( $arr1 as $k2=>$arr2 ){
|
||||
if (empty($arr2) ) continue;
|
||||
|
||||
$menu_key = isset($arr2[3]) ? $arr2[3] : '';
|
||||
if (empty($menu_key) ) continue;
|
||||
|
||||
$cache_menu[$menu_key] = array(
|
||||
'sub_menu'=>$arr2[0],
|
||||
'title'=>$arr2[1],
|
||||
'link'=>$arr2[2],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( isset($cache_menu[$call]) && isset($cache_menu[$call][$search_key]) ){
|
||||
return$cache_menu[$call][$search_key];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
// 접근 권한 검사
|
||||
if (!$member['mb_id'])
|
||||
{
|
||||
alert('로그인 하십시오.', G5_BBS_URL.'/login.php?url=' . urlencode(G5_ADMIN_URL));
|
||||
alert('로그인 하십시오.', G5_BBS_URL.'/login.php?url=' . urlencode(correct_goto_url(G5_ADMIN_URL)));
|
||||
}
|
||||
else if ($is_admin != 'super')
|
||||
{
|
||||
@@ -416,7 +539,7 @@ else if ($is_admin != 'super')
|
||||
}
|
||||
|
||||
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
|
||||
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
|
||||
$admin_key = md5($member['mb_datetime'] . get_real_client_ip() . $_SERVER['HTTP_USER_AGENT']);
|
||||
if (get_session('ss_mb_key') !== $admin_key) {
|
||||
|
||||
session_destroy();
|
||||
@@ -435,15 +558,25 @@ unset($auth_menu);
|
||||
unset($menu);
|
||||
unset($amenu);
|
||||
$tmp = dir(G5_ADMIN_PATH);
|
||||
$menu_files = array();
|
||||
while ($entry = $tmp->read()) {
|
||||
if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m))
|
||||
continue; // 파일명이 menu 으로 시작하지 않으면 무시한다.
|
||||
|
||||
$amenu[$m[1]] = $entry;
|
||||
include_once(G5_ADMIN_PATH.'/'.$entry);
|
||||
$menu_files[] = G5_ADMIN_PATH.'/'.$entry;
|
||||
}
|
||||
@asort($menu_files);
|
||||
foreach($menu_files as $file){
|
||||
include_once($file);
|
||||
}
|
||||
@ksort($amenu);
|
||||
|
||||
$amenu = run_replace('admin_amenu', $amenu);
|
||||
if( isset($menu) && $menu ){
|
||||
$menu = run_replace('admin_menu', $menu);
|
||||
}
|
||||
|
||||
$arr_query = array();
|
||||
if (isset($sst)) $arr_query[] = 'sst='.$sst;
|
||||
if (isset($sod)) $arr_query[] = 'sod='.$sod;
|
||||
@@ -452,6 +585,12 @@ if (isset($stx)) $arr_query[] = 'stx='.$stx;
|
||||
if (isset($page)) $arr_query[] = 'page='.$page;
|
||||
$qstr = implode("&", $arr_query);
|
||||
|
||||
if ( isset($_REQUEST) && $_REQUEST ){
|
||||
if( admin_referer_check(true) ){
|
||||
admin_check_xss_params($_REQUEST);
|
||||
}
|
||||
}
|
||||
|
||||
// 관리자에서는 추가 스크립트는 사용하지 않는다.
|
||||
//$config['cf_add_script'] = '';
|
||||
?>
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
$menu['menu100'] = array (
|
||||
array('100000', '환경설정', G5_ADMIN_URL.'/config_form.php', 'config'),
|
||||
array('', '기본환경설정', G5_ADMIN_URL.'/config_form.php', 'cf_basic'),
|
||||
array('', '관리권한설정', G5_ADMIN_URL.'/auth_list.php', 'cf_auth'),
|
||||
array('', '테마설정', G5_ADMIN_URL.'/theme.php', 'cf_theme', 1),
|
||||
array('', '메뉴설정', G5_ADMIN_URL.'/menu_list.php', 'cf_menu', 1),
|
||||
array('100100', '기본환경설정', G5_ADMIN_URL.'/config_form.php', 'cf_basic'),
|
||||
array('100200', '관리권한설정', G5_ADMIN_URL.'/auth_list.php', 'cf_auth'),
|
||||
array('100280', '테마설정', G5_ADMIN_URL.'/theme.php', 'cf_theme', 1),
|
||||
array('100290', '메뉴설정', G5_ADMIN_URL.'/menu_list.php', 'cf_menu', 1),
|
||||
array('100300', '메일 테스트', G5_ADMIN_URL.'/sendmail_test.php', 'cf_mailtest'),
|
||||
array('100310', '팝업레이어관리', G5_ADMIN_URL.'/newwinlist.php', 'scf_poplayer'),
|
||||
array('100800', '세션파일 일괄삭제',G5_ADMIN_URL.'/session_file_delete.php', 'cf_session', 1),
|
||||
@@ -19,5 +19,6 @@ if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') &&
|
||||
$menu['menu100'][] = array('100520', '접속로그 변환', G5_ADMIN_URL.'/browscap_convert.php', 'cf_visit_cnvrt');
|
||||
}
|
||||
|
||||
$menu['menu100'][] = array('100410', 'DB업그레이드', G5_ADMIN_URL.'/dbupgrade.php', 'db_upgrade');
|
||||
$menu['menu100'][] = array('100400', '부가서비스', G5_ADMIN_URL.'/service.php', 'cf_service');
|
||||
?>
|
||||
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
$print_version = defined('G5_YOUNGCART_VER') ? 'YoungCart Version '.G5_YOUNGCART_VER : 'Version '.G5_GNUBOARD_VER;
|
||||
?>
|
||||
|
||||
<noscript>
|
||||
@@ -9,21 +11,43 @@ if (!defined('_GNUBOARD_')) exit;
|
||||
</p>
|
||||
</noscript>
|
||||
|
||||
</div>
|
||||
<footer id="ft">
|
||||
<p>
|
||||
Copyright © <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved. <?php echo $print_version; ?><br>
|
||||
<button type="button" class="scroll_top"><span class="top_img"></span><span class="top_txt">TOP</span></button>
|
||||
</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<footer id="ft">
|
||||
<p>
|
||||
Copyright © <?php echo $_SERVER['HTTP_HOST']; ?>. All rights reserved.<br>
|
||||
<a href="#">상단으로</a>
|
||||
</p>
|
||||
</footer>
|
||||
<script>
|
||||
$(".scroll_top").click(function(){
|
||||
$("body,html").animate({scrollTop:0},400);
|
||||
})
|
||||
</script>
|
||||
|
||||
<!-- <p>실행시간 : <?php echo get_microtime() - $begin_time; ?> -->
|
||||
|
||||
<script src="<?php echo G5_ADMIN_URL ?>/admin.js"></script>
|
||||
<script src="<?php echo G5_ADMIN_URL ?>/admin.js?ver=<?php echo G5_JS_VER; ?>"></script>
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.anchorScroll.js?ver=<?php echo G5_JS_VER; ?>"></script>
|
||||
<script>
|
||||
$(function(){
|
||||
|
||||
var admin_head_height = $("#hd_top").height() + $("#container_title").height() + 5;
|
||||
|
||||
$("a[href^='#']").anchorScroll({
|
||||
scrollSpeed: 0, // scroll speed
|
||||
offsetTop: admin_head_height, // offset for fixed top bars (defaults to 0)
|
||||
onScroll: function () {
|
||||
// callback on scroll start
|
||||
},
|
||||
scrollEnd: function () {
|
||||
// callback on scroll end
|
||||
}
|
||||
});
|
||||
|
||||
var hide_menu = false;
|
||||
var mouse_event = false;
|
||||
var oldX = oldY = 0;
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if( isset($_POST['admin_use_captcha']) ){
|
||||
set_session('ss_admin_use_captcha', true);
|
||||
}
|
||||
?>
|
||||
@@ -43,7 +43,7 @@ $sql = " select *
|
||||
limit {$from_record}, {$rows} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';
|
||||
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall btn_ov02">전체목록</a>';
|
||||
|
||||
$g5['title'] = "관리권한설정";
|
||||
include_once('./admin.head.php');
|
||||
@@ -53,7 +53,7 @@ $colspan = 5;
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php echo $listall ?>
|
||||
설정된 관리권한 <?php echo number_format($total_count) ?>건
|
||||
<span class="btn_ov01"><span class="ov_txt">설정된 관리권한</span><span class="ov_num"><?php echo number_format($total_count) ?>건</span></span>
|
||||
</div>
|
||||
|
||||
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
|
||||
@@ -141,7 +141,7 @@ $colspan = 5;
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="btn btn_02">
|
||||
</div>
|
||||
|
||||
<?php
|
||||
@@ -160,7 +160,7 @@ $pagelist = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_w
|
||||
echo $pagelist;
|
||||
?>
|
||||
|
||||
<form name="fauthlist2" id="fauthlist2" action="./auth_update.php" method="post" autocomplete="off">
|
||||
<form name="fauthlist2" id="fauthlist2" action="./auth_update.php" method="post" autocomplete="off" onsubmit="return fauth_add_submit(this);">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
@@ -218,18 +218,36 @@ echo $pagelist;
|
||||
<label for="d">d (삭제)</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="추가" class="btn_submit">
|
||||
<input type="submit" value="추가" class="btn_submit btn">
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function fauth_add_submit(f){
|
||||
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function fauthlist_submit(f)
|
||||
{
|
||||
if (!is_checked("chk[]")) {
|
||||
|
||||
@@ -9,18 +9,27 @@ if ($is_admin != 'super')
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$count = count($_POST['chk']);
|
||||
$count = (isset($_POST['chk']) && is_array($_POST['chk'])) ? count($_POST['chk']) : 0;
|
||||
|
||||
if (!$count)
|
||||
alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요.");
|
||||
|
||||
if ( (isset($_POST['mb_id']) && ! is_array($_POST['mb_id'])) || (isset($_POST['au_menu']) && ! is_array($_POST['au_menu'])) ){
|
||||
alert("잘못된 요청입니다.");
|
||||
}
|
||||
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
// 실제 번호를 넘김
|
||||
$k = $chk[$i];
|
||||
|
||||
$mb_id = preg_replace('/[^a-zA-Z0-9_]/', '', $_POST['mb_id'][$k]);
|
||||
$au_menu = preg_replace('/[^a-zA-Z0-9_]/', '', $_POST['au_menu'][$k]);
|
||||
|
||||
$sql = " delete from {$g5['auth_table']} where mb_id = '{$_POST['mb_id'][$k]}' and au_menu = '{$_POST['au_menu'][$k]}' ";
|
||||
$sql = " delete from {$g5['auth_table']} where mb_id = '".$mb_id."' and au_menu = '".$au_menu."' ";
|
||||
sql_query($sql);
|
||||
|
||||
run_event('adm_auth_delete_member', $mb_id, $au_menu);
|
||||
}
|
||||
|
||||
goto_url('./auth_list.php?'.$qstr);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$sub_menu = "100200";
|
||||
include_once('./_common.php');
|
||||
include_once(G5_LIB_PATH.'/mailer.lib.php');
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
@@ -11,6 +12,12 @@ if (!$mb['mb_id'])
|
||||
|
||||
check_admin_token();
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
|
||||
$sql = " insert into {$g5['auth_table']}
|
||||
set mb_id = '{$_POST['mb_id']}',
|
||||
au_menu = '{$_POST['au_menu']}',
|
||||
@@ -26,5 +33,17 @@ if (!$result) {
|
||||
|
||||
//sql_query(" OPTIMIZE TABLE `$g5['auth_table']` ");
|
||||
|
||||
// 세션을 체크하여 하루에 한번만 메일알림이 가게 합니다.
|
||||
if( str_replace('-', '', G5_TIME_YMD) !== get_session('adm_auth_update') ){
|
||||
$site_url = preg_replace('/^www\./', '', strtolower($_SERVER['SERVER_NAME']));
|
||||
$to_email = 'gnuboard@'.$site_url;
|
||||
|
||||
mailer($config['cf_admin_email_name'], $to_email, $config['cf_admin_email'], '['.$config['cf_title'].'] 관리권한설정 알림', '<p><b>['.$config['cf_title'].'] 관리권한설정 변경 안내</b></p><p style="padding-top:1em">회원 아이디 '.$mb['mb_id'].' 에 관리권한이 추가 되었습니다.</p><p style="padding-top:1em">'.G5_TIME_YMDHIS.'</p><p style="padding-top:1em"><a href="'.G5_URL.'" target="_blank">'.$config['cf_title'].'</a></p>', 1);
|
||||
|
||||
set_session('adm_auth_update', str_replace('-', '', G5_TIME_YMD));
|
||||
}
|
||||
|
||||
run_event('adm_auth_update', $mb);
|
||||
|
||||
goto_url('./auth_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -8,7 +8,7 @@ $g5['title'] = '게시판 복사';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_ADMIN_URL ?>/admin.js"></script>
|
||||
<script src="<?php echo G5_ADMIN_URL ?>/admin.js?ver=<?php echo G5_JS_VER; ?>"></script>
|
||||
|
||||
<div class="new_win">
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
@@ -16,39 +16,39 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
<form name="fboardcopy" id="fboardcopy" action="./board_copy_update.php" onsubmit="return fboardcopy_check(this);" method="post">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>" id="bo_table">
|
||||
<input type="hidden" name="token" value="">
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $g5['title']; ?></caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="col">원본 테이블명</th>
|
||||
<td><?php echo $bo_table ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col"><label for="target_table">복사 테이블명<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="target_table" id="target_table" required class="required alnum_ frm_input" maxlength="20">영문자, 숫자, _ 만 가능 (공백없이)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col"><label for="target_subject">게시판 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="target_subject" value="[복사본] <?php echo $board['bo_subject'] ?>" id="target_subject" required class="required frm_input" maxlength="120"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col">복사 유형</th>
|
||||
<td>
|
||||
<input type="radio" name="copy_case" value="schema_only" id="copy_case" checked>
|
||||
<label for="copy_case">구조만</label>
|
||||
<input type="radio" name="copy_case" value="schema_data_both" id="copy_case2">
|
||||
<label for="copy_case2">구조와 데이터</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class=" new_win_con">
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $g5['title']; ?></caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="col">원본 테이블명</th>
|
||||
<td><?php echo $bo_table ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col"><label for="target_table">복사 테이블명<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="target_table" id="target_table" required class="required alnum_ frm_input" maxlength="20">영문자, 숫자, _ 만 가능 (공백없이)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col"><label for="target_subject">게시판 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="target_subject" value="[복사본] <?php echo get_sanitize_input($board['bo_subject']); ?>" id="target_subject" required class="required frm_input" maxlength="120"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col">복사 유형</th>
|
||||
<td>
|
||||
<input type="radio" name="copy_case" value="schema_only" id="copy_case" checked>
|
||||
<label for="copy_case">구조만</label>
|
||||
<input type="radio" name="copy_case" value="schema_data_both" id="copy_case2">
|
||||
<label for="copy_case2">구조와 데이터</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" class="btn_submit" value="복사">
|
||||
<input type="button" class="btn_cancel" value="창닫기" onclick="window.close();">
|
||||
<div class="win_btn ">
|
||||
<input type="submit" class="btn_submit btn" value="복사">
|
||||
<input type="button" class="btn_close btn" value="창닫기" onclick="window.close();">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@@ -58,6 +58,19 @@ include_once(G5_PATH.'/head.sub.php');
|
||||
<script>
|
||||
function fboardcopy_check(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.target_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (f.bo_table.value == f.target_table.value) {
|
||||
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
|
||||
return false;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
$sub_menu = '300100';
|
||||
include_once('./_common.php');
|
||||
|
||||
check_demo();
|
||||
|
||||
auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
@@ -9,10 +11,17 @@ check_admin_token();
|
||||
$target_table = trim($_POST['target_table']);
|
||||
$target_subject = trim($_POST['target_subject']);
|
||||
|
||||
$target_subject = strip_tags(clean_xss_attributes($target_subject));
|
||||
|
||||
if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
|
||||
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
|
||||
}
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($target_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' ");
|
||||
if ($row['cnt'])
|
||||
alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.');
|
||||
@@ -36,43 +45,43 @@ $sql = " insert into {$g5['board_table']}
|
||||
bo_subject = '$target_subject',
|
||||
bo_device = '{$board['bo_device']}',
|
||||
bo_admin = '{$board['bo_admin']}',
|
||||
bo_list_level = '{$board[bo_list_level]}',
|
||||
bo_read_level = '{$board[bo_read_level]}',
|
||||
bo_write_level = '{$board[bo_write_level]}',
|
||||
bo_reply_level = '{$board[bo_reply_level]}',
|
||||
bo_comment_level = '{$board[bo_comment_level]}',
|
||||
bo_upload_level = '{$board[bo_upload_level]}',
|
||||
bo_download_level = '{$board[bo_download_level]}',
|
||||
bo_html_level = '{$board[bo_html_level]}',
|
||||
bo_link_level = '{$board[bo_link_level]}',
|
||||
bo_count_modify = '{$board[bo_count_modify]}',
|
||||
bo_count_delete = '{$board[bo_count_delete]}',
|
||||
bo_read_point = '{$board[bo_read_point]}',
|
||||
bo_write_point = '{$board[bo_write_point]}',
|
||||
bo_comment_point = '{$board[bo_comment_point]}',
|
||||
bo_download_point = '{$board[bo_download_point]}',
|
||||
bo_use_category = '{$board[bo_use_category]}',
|
||||
bo_list_level = '{$board['bo_list_level']}',
|
||||
bo_read_level = '{$board['bo_read_level']}',
|
||||
bo_write_level = '{$board['bo_write_level']}',
|
||||
bo_reply_level = '{$board['bo_reply_level']}',
|
||||
bo_comment_level = '{$board['bo_comment_level']}',
|
||||
bo_upload_level = '{$board['bo_upload_level']}',
|
||||
bo_download_level = '{$board['bo_download_level']}',
|
||||
bo_html_level = '{$board['bo_html_level']}',
|
||||
bo_link_level = '{$board['bo_link_level']}',
|
||||
bo_count_modify = '{$board['bo_count_modify']}',
|
||||
bo_count_delete = '{$board['bo_count_delete']}',
|
||||
bo_read_point = '{$board['bo_read_point']}',
|
||||
bo_write_point = '{$board['bo_write_point']}',
|
||||
bo_comment_point = '{$board['bo_comment_point']}',
|
||||
bo_download_point = '{$board['bo_download_point']}',
|
||||
bo_use_category = '{$board['bo_use_category']}',
|
||||
bo_category_list = '{$board['bo_category_list']}',
|
||||
bo_use_sideview = '{$board[bo_use_sideview]}',
|
||||
bo_use_file_content = '{$board[bo_use_file_content]}',
|
||||
bo_use_secret = '{$board[bo_use_secret]}',
|
||||
bo_use_dhtml_editor = '{$board[bo_use_dhtml_editor]}',
|
||||
bo_use_rss_view = '{$board[bo_use_rss_view]}',
|
||||
bo_use_good = '{$board[bo_use_good]}',
|
||||
bo_use_nogood = '{$board[bo_use_nogood]}',
|
||||
bo_use_name = '{$board[bo_use_name]}',
|
||||
bo_use_signature = '{$board[bo_use_signature]}',
|
||||
bo_use_ip_view = '{$board[bo_use_ip_view]}',
|
||||
bo_use_sideview = '{$board['bo_use_sideview']}',
|
||||
bo_use_file_content = '{$board['bo_use_file_content']}',
|
||||
bo_use_secret = '{$board['bo_use_secret']}',
|
||||
bo_use_dhtml_editor = '{$board['bo_use_dhtml_editor']}',
|
||||
bo_use_rss_view = '{$board['bo_use_rss_view']}',
|
||||
bo_use_good = '{$board['bo_use_good']}',
|
||||
bo_use_nogood = '{$board['bo_use_nogood']}',
|
||||
bo_use_name = '{$board['bo_use_name']}',
|
||||
bo_use_signature = '{$board['bo_use_signature']}',
|
||||
bo_use_ip_view = '{$board['bo_use_ip_view']}',
|
||||
bo_use_list_view = '{$board['bo_use_list_view']}',
|
||||
bo_use_list_content = '{$board[bo_use_list_content]}',
|
||||
bo_table_width = '{$board[bo_table_width]}',
|
||||
bo_subject_len = '{$board[bo_subject_len]}',
|
||||
bo_mobile_subject_len = '{$board[bo_mobile_subject_len]}',
|
||||
bo_page_rows = '{$board[bo_page_rows]}',
|
||||
bo_mobile_page_rows = '{$board[bo_mobile_page_rows]}',
|
||||
bo_new = '{$board[bo_new]}',
|
||||
bo_hot = '{$board[bo_hot]}',
|
||||
bo_image_width = '{$board[bo_image_width]}',
|
||||
bo_use_list_content = '{$board['bo_use_list_content']}',
|
||||
bo_table_width = '{$board['bo_table_width']}',
|
||||
bo_subject_len = '{$board['bo_subject_len']}',
|
||||
bo_mobile_subject_len = '{$board['bo_mobile_subject_len']}',
|
||||
bo_page_rows = '{$board['bo_page_rows']}',
|
||||
bo_mobile_page_rows = '{$board['bo_mobile_page_rows']}',
|
||||
bo_new = '{$board['bo_new']}',
|
||||
bo_hot = '{$board['bo_hot']}',
|
||||
bo_image_width = '{$board['bo_image_width']}',
|
||||
bo_skin = '{$board['bo_skin']}',
|
||||
bo_mobile_skin = '{$board['bo_mobile_skin']}',
|
||||
bo_include_head = '{$board['bo_include_head']}',
|
||||
@@ -82,20 +91,21 @@ $sql = " insert into {$g5['board_table']}
|
||||
bo_mobile_content_head = '".addslashes($board['bo_mobile_content_head'])."',
|
||||
bo_mobile_content_tail = '".addslashes($board['bo_mobile_content_tail'])."',
|
||||
bo_insert_content = '".addslashes($board['bo_insert_content'])."',
|
||||
bo_gallery_cols = '{$board[bo_gallery_cols]}',
|
||||
bo_gallery_width = '{$board[bo_gallery_width]}',
|
||||
bo_gallery_height = '{$board[bo_gallery_height]}',
|
||||
bo_mobile_gallery_width = '{$board[bo_mobile_gallery_width]}',
|
||||
bo_mobile_gallery_height = '{$board[bo_mobile_gallery_height]}',
|
||||
bo_upload_size = '{$board[bo_upload_size]}',
|
||||
bo_reply_order = '{$board[bo_reply_order]}',
|
||||
bo_use_search = '{$board[bo_use_search]}',
|
||||
bo_order = '{$board[bo_order]}',
|
||||
bo_gallery_cols = '{$board['bo_gallery_cols']}',
|
||||
bo_gallery_width = '{$board['bo_gallery_width']}',
|
||||
bo_gallery_height = '{$board['bo_gallery_height']}',
|
||||
bo_mobile_gallery_width = '{$board['bo_mobile_gallery_width']}',
|
||||
bo_mobile_gallery_height = '{$board['bo_mobile_gallery_height']}',
|
||||
bo_upload_size = '{$board['bo_upload_size']}',
|
||||
bo_reply_order = '{$board['bo_reply_order']}',
|
||||
bo_use_search = '{$board['bo_use_search']}',
|
||||
bo_order = '{$board['bo_order']}',
|
||||
bo_notice = '{$board['bo_notice']}',
|
||||
bo_upload_count = '{$board[bo_upload_count]}',
|
||||
bo_use_email = '{$board[bo_use_email]}',
|
||||
bo_use_cert = '{$board[bo_use_cert]}',
|
||||
bo_use_sns = '{$board[bo_use_sns]}',
|
||||
bo_upload_count = '{$board['bo_upload_count']}',
|
||||
bo_use_email = '{$board['bo_use_email']}',
|
||||
bo_use_cert = '{$board['bo_use_cert']}',
|
||||
bo_use_sns = '{$board['bo_use_sns']}',
|
||||
bo_use_captcha = '{$board['bo_use_captcha']}',
|
||||
bo_sort_field = '{$board['bo_sort_field']}',
|
||||
bo_1_subj = '".addslashes($board['bo_1_subj'])."',
|
||||
bo_2_subj = '".addslashes($board['bo_2_subj'])."',
|
||||
@@ -157,6 +167,8 @@ if ($copy_case == 'schema_data_both') {
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
|
||||
run_event('admin_board_copy_file', $bo_table, $target_table);
|
||||
|
||||
// 글복사
|
||||
$sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table ";
|
||||
@@ -178,6 +190,9 @@ if ($copy_case == 'schema_data_both') {
|
||||
|
||||
if (count($file_copy)) {
|
||||
for ($i=0; $i<count($file_copy); $i++) {
|
||||
|
||||
$file_copy[$i] = run_replace('admin_copy_update_file', $file_copy[$i], $file_copy[$i]['bf_file'], $bo_table, $target_table);
|
||||
|
||||
$sql = " insert into {$g5['board_file_table']}
|
||||
set bo_table = '$target_table',
|
||||
wr_id = '{$file_copy[$i]['wr_id']}',
|
||||
@@ -186,11 +201,15 @@ if (count($file_copy)) {
|
||||
bf_file = '{$file_copy[$i]['bf_file']}',
|
||||
bf_download = '{$file_copy[$i]['bf_download']}',
|
||||
bf_content = '".addslashes($file_copy[$i]['bf_content'])."',
|
||||
bf_fileurl = '".addslashes($file_copy[$i]['bf_fileurl'])."',
|
||||
bf_thumburl = '".addslashes($file_copy[$i]['bf_thumburl'])."',
|
||||
bf_storage = '".addslashes($file_copy[$i]['bf_storage'])."',
|
||||
bf_filesize = '{$file_copy[$i]['bf_filesize']}',
|
||||
bf_width = '{$file_copy[$i]['bf_width']}',
|
||||
bf_height = '{$file_copy[$i]['bf_height']}',
|
||||
bf_type = '{$file_copy[$i]['bf_type']}',
|
||||
bf_datetime = '{$file_copy[$i]['bf_datetime']}' ";
|
||||
|
||||
sql_query($sql, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,9 @@ sql_query(" delete from {$g5['board_file_table']} where bo_table = '{$tmp_bo_tab
|
||||
// 게시판 테이블 DROP
|
||||
sql_query(" drop table {$g5['write_prefix']}{$tmp_bo_table} ", FALSE);
|
||||
|
||||
// 좋아요 테이블에서 기록 삭제
|
||||
sql_query(" delete from {$g5['board_good_table']} where bo_table = '{$tmp_bo_table}' ");
|
||||
|
||||
delete_cache_latest($tmp_bo_table);
|
||||
|
||||
// 게시판 폴더 전체 삭제
|
||||
|
||||
@@ -76,8 +76,19 @@ if (!isset($board['bo_mobile_subject'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_mobile_subject` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bo_subject` ", false);
|
||||
}
|
||||
|
||||
if (!isset($board['bo_use_captcha'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_use_captcha` TINYINT NOT NULL DEFAULT '0' AFTER `bo_use_sns` ", false);
|
||||
}
|
||||
|
||||
if (!isset($board['bo_select_editor'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_table']}` ADD `bo_select_editor` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bo_use_dhtml_editor` ", false);
|
||||
}
|
||||
|
||||
run_event('adm_board_form_before', $board, $w);
|
||||
|
||||
$required = "";
|
||||
$readonly = "";
|
||||
$sound_only = "";
|
||||
if ($w == '') {
|
||||
|
||||
$html_title .= ' 생성';
|
||||
@@ -94,8 +105,8 @@ if ($w == '') {
|
||||
$board['bo_download_point'] = $config['cf_download_point'];
|
||||
|
||||
$board['bo_gallery_cols'] = 4;
|
||||
$board['bo_gallery_width'] = 174;
|
||||
$board['bo_gallery_height'] = 124;
|
||||
$board['bo_gallery_width'] = 202;
|
||||
$board['bo_gallery_height'] = 150;
|
||||
$board['bo_mobile_gallery_width'] = 125;
|
||||
$board['bo_mobile_gallery_height'] = 100;
|
||||
$board['bo_table_width'] = 100;
|
||||
@@ -150,13 +161,6 @@ $pg_anchor = '<ul class="anchor">
|
||||
<li><a href="#anc_bo_extra">여분필드</a></li>
|
||||
</ul>';
|
||||
|
||||
$frm_submit = '<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./board_list.php?'.$qstr.'">목록</a>'.PHP_EOL;
|
||||
if ($w == 'u') $frm_submit .= '<a href="./board_copy.php?bo_table='.$bo_table.'" id="board_copy" target="win_board_copy">게시판복사</a>
|
||||
<a href="'.G5_BBS_URL.'/board.php?bo_table='.$board['bo_table'].'" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="./board_thumbnail_delete.php?bo_table='.$board['bo_table'].'&'.$qstr.'" onclick="return delete_confirm2(\'게시판 썸네일 파일을 삭제하시겠습니까?\');">게시판 썸네일 삭제</a>'.PHP_EOL;
|
||||
$frm_submit .= '</div>';
|
||||
?>
|
||||
|
||||
<form name="fboardform" id="fboardform" action="./board_form_update.php" onsubmit="return fboardform_submit(this)" method="post" enctype="multipart/form-data">
|
||||
@@ -188,8 +192,8 @@ $frm_submit .= '</div>';
|
||||
<?php if ($w == '') { ?>
|
||||
영문자, 숫자, _ 만 가능 (공백없이 20자 이내)
|
||||
<?php } else { ?>
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $board['bo_table'] ?>" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="./board_list.php" class="btn_frmline">목록으로</a>
|
||||
<a href="<?php echo get_pretty_url($board['bo_table']) ?>" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="./board_list.php?<?php echo $qstr;?>" class="btn_frmline">목록으로</a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -197,7 +201,7 @@ $frm_submit .= '</div>';
|
||||
<th scope="row"><label for="gr_id">그룹<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="2">
|
||||
<?php echo get_group_select('gr_id', $board['gr_id'], 'required'); ?>
|
||||
<?php if ($w=='u') { ?><a href="javascript:document.location.href='./board_list.php?sfl=a.gr_id&stx='+document.fboardform.gr_id.value;" class="btn_frmline">동일그룹 게시판목록</a><?php } ?></td>
|
||||
<?php if ($w=='u') { ?><a href="javascript:document.location.href='./board_list.php?sfl=a.gr_id&stx='+document.fboardform.gr_id.value;" class="btn_frmline">동일그룹 게시판목록</a><?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -233,7 +237,7 @@ $frm_submit .= '</div>';
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_category_list">분류</label></th>
|
||||
<td>
|
||||
<?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])') ?>
|
||||
<?php echo help('분류와 분류 사이는 | 로 구분하세요. (예: 질문|답변) 첫자로 #은 입력하지 마세요. (예: #질문|#답변 [X])'."\n".'분류명에 일부 특수문자 ()/ 는 사용할수 없습니다.'); ?>
|
||||
<input type="text" name="bo_category_list" value="<?php echo get_text($board['bo_category_list']) ?>" id="bo_category_list" class="frm_input" size="70">
|
||||
<input type="checkbox" name="bo_use_category" value="1" id="bo_use_category" <?php echo $board['bo_use_category']?'checked':''; ?>>
|
||||
<label for="bo_use_category">사용</label>
|
||||
@@ -259,7 +263,7 @@ $frm_submit .= '</div>';
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
|
||||
<section id="anc_bo_auth">
|
||||
<h2 class="h2_frm">게시판 권한 설정</h2>
|
||||
@@ -400,7 +404,7 @@ $frm_submit .= '</div>';
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
|
||||
<section id="anc_bo_function">
|
||||
<h2 class="h2_frm">게시판 기능 설정</h2>
|
||||
@@ -484,6 +488,27 @@ $frm_submit .= '</div>';
|
||||
<label for="chk_all_use_dhtml_editor">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_select_editor">게시판 에디터 선택</label></th>
|
||||
<td>
|
||||
<?php echo help('게시판에 사용할 에디터를 설정합니다. 스킨에 따라 적용되지 않을 수 있습니다.') ?>
|
||||
<select name="bo_select_editor" id="bo_select_editor">
|
||||
<?php
|
||||
$arr = get_skin_dir('', G5_EDITOR_PATH);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">기본환경설정의 에디터 사용</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($board['bo_select_editor'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_select_editor" value="1" id="chk_grp_select_editor">
|
||||
<label for="chk_grp_select_editor">그룹적용</label>
|
||||
<input type="checkbox" name="chk_all_select_editor" value="1" id="chk_all_select_editor">
|
||||
<label for="chk_all_select_editor">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_use_rss_view">RSS 보이기 사용</label></th>
|
||||
<td>
|
||||
@@ -771,12 +796,25 @@ $frm_submit .= '</div>';
|
||||
<label for="chk_all_order">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_use_captcha">캡챠 사용</label></th>
|
||||
<td>
|
||||
<?php echo help("체크하면 글 작성시 캡챠를 무조건 사용합니다.( 회원 + 비회원 모두 )<br>미 체크하면 비회원에게만 캡챠를 사용합니다.") ?>
|
||||
<input type="checkbox" name="bo_use_captcha" value="1" <?php echo $board['bo_use_captcha']?'checked':''; ?> id="bo_use_captcha">
|
||||
사용
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_use_captcha" value="1" id="chk_grp_use_captcha">
|
||||
<label for="chk_grp_use_captcha">그룹적용</label>
|
||||
<input type="checkbox" name="chk_all_use_captcha" value="1" id="chk_all_use_captcha">
|
||||
<label for="chk_all_use_captcha">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_bo_design">
|
||||
<h2 class="h2_frm">게시판 디자인/양식</h2>
|
||||
@@ -815,6 +853,7 @@ $frm_submit .= '</div>';
|
||||
<label for="chk_all_mobile_skin">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($is_admin === 'super'){ // 슈퍼관리자인 경우에만 수정 가능 ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_include_head">상단 파일 경로</label></th>
|
||||
<td>
|
||||
@@ -839,10 +878,26 @@ $frm_submit .= '</div>';
|
||||
<label for="chk_all_include_tail">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_content_head">상단 내용</label></th>
|
||||
<td>
|
||||
<?php echo editor_html("bo_content_head", get_text($board['bo_content_head'], 0)); ?>
|
||||
<?php echo editor_html("bo_content_head", get_text(html_purifier($board['bo_content_head']), 0)); ?>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_content_head" value="1" id="chk_grp_content_head">
|
||||
@@ -854,7 +909,7 @@ $frm_submit .= '</div>';
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_content_tail">하단 내용</label></th>
|
||||
<td>
|
||||
<?php echo editor_html("bo_content_tail", get_text($board['bo_content_tail'], 0)); ?>
|
||||
<?php echo editor_html("bo_content_tail", get_text(html_purifier($board['bo_content_tail']), 0)); ?>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_content_tail" value="1" id="chk_grp_content_tail">
|
||||
@@ -866,7 +921,7 @@ $frm_submit .= '</div>';
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_mobile_content_head">모바일 상단 내용</label></th>
|
||||
<td>
|
||||
<?php echo editor_html("bo_mobile_content_head", get_text($board['bo_mobile_content_head'], 0)); ?>
|
||||
<?php echo editor_html("bo_mobile_content_head", get_text(html_purifier($board['bo_mobile_content_head']), 0)); ?>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_mobile_content_head" value="1" id="chk_grp_mobile_content_head">
|
||||
@@ -878,7 +933,7 @@ $frm_submit .= '</div>';
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_mobile_content_tail">모바일 하단 내용</label></th>
|
||||
<td>
|
||||
<?php echo editor_html("bo_mobile_content_tail", get_text($board['bo_mobile_content_tail'], 0)); ?>
|
||||
<?php echo editor_html("bo_mobile_content_tail", get_text(html_purifier($board['bo_mobile_content_tail']), 0)); ?>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_mobile_content_tail" value="1" id="chk_grp_mobile_content_tail">
|
||||
@@ -887,10 +942,11 @@ $frm_submit .= '</div>';
|
||||
<label for="chk_all_mobile_content_tail">전체적용</label>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } //end if $is_admin === 'super' ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="bo_insert_content">글쓰기 기본 내용</label></th>
|
||||
<td>
|
||||
<textarea id="bo_insert_content" name="bo_insert_content" rows="5"><?php echo $board['bo_insert_content'] ?></textarea>
|
||||
<textarea id="bo_insert_content" name="bo_insert_content" rows="5"><?php echo html_purifier($board['bo_insert_content']); ?></textarea>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_insert_content" value="1" id="chk_grp_insert_content">
|
||||
@@ -953,7 +1009,7 @@ $frm_submit .= '</div>';
|
||||
<th scope="row"><label for="bo_gallery_cols">갤러리 이미지 수<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<?php echo help('갤러리 형식의 게시판 목록에서 이미지를 한줄에 몇장씩 보여 줄 것인지를 설정하는 값') ?>
|
||||
<input type="text" name="bo_gallery_cols" value="<?php echo $board['bo_gallery_cols'] ?>" id="bo_gallery_cols" required class="required numeric frm_input" size="4">
|
||||
<?php echo get_member_level_select('bo_gallery_cols', 1, 10, $board['bo_gallery_cols']); ?>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_gallery_cols" value="1" id="chk_grp_gallery_cols">
|
||||
@@ -1086,25 +1142,23 @@ $frm_submit .= '</div>';
|
||||
<td>
|
||||
<?php echo help('리스트에서 기본으로 정렬에 사용할 필드를 선택합니다. "기본"으로 사용하지 않으시는 경우 속도가 느려질 수 있습니다.') ?>
|
||||
<select id="bo_sort_field" name="bo_sort_field">
|
||||
<option value="" <?php echo get_selected($board['bo_sort_field'], ""); ?>>wr_num, wr_reply : 기본</option>
|
||||
<option value="wr_datetime asc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime asc"); ?>>wr_datetime asc : 날짜 이전것 부터</option>
|
||||
<option value="wr_datetime desc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime desc"); ?>>wr_datetime desc : 날짜 최근것 부터</option>
|
||||
<option value="wr_hit asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit asc, wr_num, wr_reply"); ?>>wr_hit asc : 조회수 낮은것 부터</option>
|
||||
<option value="wr_hit desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_hit desc, wr_num, wr_reply"); ?>>wr_hit desc : 조회수 높은것 부터</option>
|
||||
<option value="wr_last asc" <?php echo get_selected($board['bo_sort_field'], "wr_last asc"); ?>>wr_last asc : 최근글 이전것 부터</option>
|
||||
<option value="wr_last desc" <?php echo get_selected($board['bo_sort_field'], "wr_last desc"); ?>>wr_last desc : 최근글 최근것 부터</option>
|
||||
<option value="wr_comment asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment asc, wr_num, wr_reply"); ?>>wr_comment asc : 댓글수 낮은것 부터</option>
|
||||
<option value="wr_comment desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_comment desc, wr_num, wr_reply"); ?>>wr_comment desc : 댓글수 높은것 부터</option>
|
||||
<option value="wr_good asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good asc, wr_num, wr_reply"); ?>>wr_good asc : 추천수 낮은것 부터</option>
|
||||
<option value="wr_good desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_good desc, wr_num, wr_reply"); ?>>wr_good desc : 추천수 높은것 부터</option>
|
||||
<option value="wr_nogood asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood asc, wr_num, wr_reply"); ?>>wr_nogood asc : 비추천수 낮은것 부터</option>
|
||||
<option value="wr_nogood desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_nogood desc, wr_num, wr_reply"); ?>>wr_nogood desc : 비추천수 높은것 부터</option>
|
||||
<option value="wr_subject asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject asc, wr_num, wr_reply"); ?>>wr_subject asc : 제목 오름차순</option>
|
||||
<option value="wr_subject desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_subject desc, wr_num, wr_reply"); ?>>wr_subject desc : 제목 내림차순</option>
|
||||
<option value="wr_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name asc, wr_num, wr_reply"); ?>>wr_name asc : 글쓴이 오름차순</option>
|
||||
<option value="wr_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_name desc, wr_num, wr_reply"); ?>>wr_name desc : 글쓴이 내림차순</option>
|
||||
<option value="ca_name asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name asc, wr_num, wr_reply"); ?>>ca_name asc : 분류명 오름차순</option>
|
||||
<option value="ca_name desc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "ca_name desc, wr_num, wr_reply"); ?>>ca_name desc : 분류명 내림차순</option>
|
||||
<?php foreach( get_board_sort_fields($board) as $v ){
|
||||
|
||||
$option_value = $order_by_str = $v[0];
|
||||
if( $v[0] === 'wr_num, wr_reply' ){
|
||||
$selected = (! $board['bo_sort_field']) ? 'selected="selected"' : '';
|
||||
$option_value = '';
|
||||
} else {
|
||||
$selected = ($board['bo_sort_field'] === $v[0]) ? 'selected="selected"' : '';
|
||||
}
|
||||
|
||||
if( $order_by_str !== 'wr_num, wr_reply' ){
|
||||
$tmp = explode(',', $v[0]);
|
||||
$order_by_str = $tmp[0];
|
||||
}
|
||||
|
||||
echo '<option value="'.$option_value.'" '.$selected.' >'.$order_by_str.' : '.$v[1].'</option>';
|
||||
} //end foreach ?>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
@@ -1116,9 +1170,10 @@ $frm_submit .= '</div>';
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<button type="button" class="get_theme_galc btn btn_02" >테마 이미지설정 가져오기</button>
|
||||
|
||||
</section>
|
||||
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_galc">테마 이미지설정 가져오기</button></div>', $frm_submit); ?>
|
||||
|
||||
<section id="anc_bo_point">
|
||||
<h2 class="h2_frm">게시판 포인트 설정</h2>
|
||||
@@ -1193,8 +1248,6 @@ $frm_submit .= '</div>';
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_bo_extra">
|
||||
<h2 class="h2_frm">게시판 여분필드 설정</h2>
|
||||
<?php echo $pg_anchor ?>
|
||||
@@ -1215,7 +1268,7 @@ $frm_submit .= '</div>';
|
||||
<label for="bo_<?php echo $i ?>_subj">여분필드 <?php echo $i ?> 제목</label>
|
||||
<input type="text" name="bo_<?php echo $i ?>_subj" id="bo_<?php echo $i ?>_subj" value="<?php echo get_text($board['bo_'.$i.'_subj']) ?>" class="frm_input">
|
||||
<label for="bo_<?php echo $i ?>">여분필드 <?php echo $i ?> 값</label>
|
||||
<input type="text" name="bo_<?php echo $i ?>" value="<?php echo get_text($board['bo_'.$i]) ?>" id="bo_<?php echo $i ?>" class="frm_input">
|
||||
<input type="text" name="bo_<?php echo $i ?>" value="<?php echo get_text($board['bo_'.$i]) ?>" id="bo_<?php echo $i ?>" class="frm_input extra-value-input">
|
||||
</td>
|
||||
<td class="td_grpset">
|
||||
<input type="checkbox" name="chk_grp_<?php echo $i ?>" value="1" id="chk_grp_<?php echo $i ?>">
|
||||
@@ -1230,7 +1283,15 @@ $frm_submit .= '</div>';
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<div class="btn_fixed_top">
|
||||
<?php if( $bo_table && $w ){ ?>
|
||||
<a href="./board_copy.php?bo_table=<?php echo $board['bo_table']; ?>" id="board_copy" target="win_board_copy" class=" btn_02 btn">게시판복사</a>
|
||||
<a href="<?php echo get_pretty_url($board['bo_table']); ?>" class=" btn_02 btn">게시판 바로가기</a>
|
||||
<a href="./board_thumbnail_delete.php?bo_table=<?php echo $board['bo_table'].'&'.$qstr;?>" onclick="return delete_confirm2('게시판 썸네일 파일을 삭제하시겠습니까?');" class="btn_02 btn">게시판 썸네일 삭제</a>
|
||||
<?php } ?>
|
||||
<input type="submit" value="확인" class="btn_submi btn btn_01" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -1291,8 +1352,67 @@ function set_point(f) {
|
||||
}
|
||||
}
|
||||
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var bo_include_head = "<?php echo $board['bo_include_head']; ?>";
|
||||
var bo_include_tail = "<?php echo $board['bo_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#bo_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#bo_include_tail").val());
|
||||
|
||||
if(bo_include_head !== head || bo_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#bo_include_head, #bo_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function fboardform_submit(f)
|
||||
{
|
||||
<?php
|
||||
if(!$w){
|
||||
$js_array = get_bo_table_banned_word();
|
||||
echo "var banned_array = ". json_encode($js_array) . ";\n";
|
||||
}
|
||||
?>
|
||||
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if( (typeof banned_array != 'undefined') && jQuery.inArray(f.bo_table.value, banned_array) !== -1 ){
|
||||
alert("입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php echo get_editor_js("bo_content_head"); ?>
|
||||
<?php echo get_editor_js("bo_content_tail"); ?>
|
||||
<?php echo get_editor_js("bo_mobile_content_head"); ?>
|
||||
@@ -1310,6 +1430,10 @@ function fboardform_submit(f)
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo isset($captcha_js) ? $captcha_js : ''; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -9,32 +9,62 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
if (!$_POST['gr_id']) { alert('그룹 ID는 반드시 선택하세요.'); }
|
||||
$gr_id = isset($_POST['gr_id']) ? preg_replace('/[^a-z0-9_]/i', '', $_POST['gr_id']) : '';
|
||||
$bo_admin = isset($_POST['bo_admin']) ? preg_replace('/[^a-z0-9_\, \|\#]/i', '', $_POST['bo_admin']) : '';
|
||||
|
||||
if (!$gr_id) { alert('그룹 ID는 반드시 선택하세요.'); }
|
||||
if (!$bo_table) { alert('게시판 TABLE명은 반드시 입력하세요.'); }
|
||||
if (!preg_match("/^([A-Za-z0-9_]{1,20})$/", $bo_table)) { alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); }
|
||||
if (!$_POST['bo_subject']) { alert('게시판 제목을 입력하세요.'); }
|
||||
|
||||
$_POST['bo_include_head'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_head'], 0, 255));
|
||||
$_POST['bo_include_tail'] = preg_replace("#[\\\]+$#", "", substr($_POST['bo_include_tail'], 0, 255));
|
||||
// 게시판명이 금지된 단어로 되어 있으면
|
||||
if ( $w == '' && in_array($bo_table, get_bo_table_banned_word()) ){
|
||||
alert('입력한 게시판 TABLE명을 사용할수 없습니다. 다른 이름으로 입력해 주세요.');
|
||||
}
|
||||
|
||||
if ($file = $_POST['bo_include_head']) {
|
||||
$purl = parse_url($file);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('상단 파일 경로가 php, html 파일이 아닙니다.');
|
||||
$bo_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_head, 0, 255));
|
||||
$bo_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($bo_include_tail, 0, 255));
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if ($board && ($board['bo_include_head'] !== $bo_include_head || $board['bo_include_tail'] !== $bo_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($file = $bo_include_head) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_head'] = $file;
|
||||
}
|
||||
|
||||
if ($file = $_POST['bo_include_tail']) {
|
||||
$purl = parse_url($file);
|
||||
$file = $purl['path'];
|
||||
if (!preg_match("/\.(php|htm['l']?)$/i", $file)) {
|
||||
alert('하단 파일 경로가 php, html 파일이 아닙니다.');
|
||||
if ($file = $bo_include_tail) {
|
||||
$file_ext = pathinfo($file, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $file) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
$_POST['bo_include_tail'] = $file;
|
||||
}
|
||||
|
||||
if(!is_include_path_check($bo_include_head, 1)) {
|
||||
alert('상단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
if(!is_include_path_check($bo_include_tail, 1)) {
|
||||
alert('하단 파일 경로에 포함시킬수 없는 문자열이 있습니다.');
|
||||
}
|
||||
|
||||
if( function_exists('filter_input_include_path') ){
|
||||
$bo_include_head = filter_input_include_path($bo_include_head);
|
||||
$bo_include_tail = filter_input_include_path($bo_include_tail);
|
||||
}
|
||||
|
||||
$board_path = G5_DATA_PATH.'/file/'.$bo_table;
|
||||
|
||||
// 게시판 디렉토리 생성
|
||||
@@ -51,13 +81,18 @@ $f = @fopen($file, 'w');
|
||||
// 분류에 & 나 = 는 사용이 불가하므로 2바이트로 바꾼다.
|
||||
$src_char = array('&', '=');
|
||||
$dst_char = array('&', '〓');
|
||||
$bo_category_list = str_replace($src_char, $dst_char, $bo_category_list);
|
||||
$bo_category_list = isset($_POST['bo_category_list']) ? str_replace($src_char, $dst_char, $_POST['bo_category_list']) : '';
|
||||
//https://github.com/gnuboard/gnuboard5/commit/f5f4925d4eb28ba1af728e1065fc2bdd9ce1da58 에 따른 조치
|
||||
$str_bo_category_list = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", "", $bo_category_list);
|
||||
|
||||
$sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
$_POST['bo_subject'] = strip_tags(clean_xss_attributes($_POST['bo_subject']));
|
||||
$_POST['bo_mobile_subject'] = strip_tags(clean_xss_attributes($_POST['bo_mobile_subject']));
|
||||
|
||||
$sql_common = " gr_id = '{$gr_id}',
|
||||
bo_subject = '{$_POST['bo_subject']}',
|
||||
bo_mobile_subject = '{$_POST['bo_mobile_subject']}',
|
||||
bo_device = '{$_POST['bo_device']}',
|
||||
bo_admin = '{$_POST['bo_admin']}',
|
||||
bo_admin = '{$bo_admin}',
|
||||
bo_list_level = '{$_POST['bo_list_level']}',
|
||||
bo_read_level = '{$_POST['bo_read_level']}',
|
||||
bo_write_level = '{$_POST['bo_write_level']}',
|
||||
@@ -74,11 +109,12 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
bo_comment_point = '{$_POST['bo_comment_point']}',
|
||||
bo_download_point = '{$_POST['bo_download_point']}',
|
||||
bo_use_category = '{$_POST['bo_use_category']}',
|
||||
bo_category_list = '{$_POST['bo_category_list']}',
|
||||
bo_category_list = '{$str_bo_category_list}',
|
||||
bo_use_sideview = '{$_POST['bo_use_sideview']}',
|
||||
bo_use_file_content = '{$_POST['bo_use_file_content']}',
|
||||
bo_use_secret = '{$_POST['bo_use_secret']}',
|
||||
bo_use_dhtml_editor = '{$_POST['bo_use_dhtml_editor']}',
|
||||
bo_select_editor = '{$_POST['bo_select_editor']}',
|
||||
bo_use_rss_view = '{$_POST['bo_use_rss_view']}',
|
||||
bo_use_good = '{$_POST['bo_use_good']}',
|
||||
bo_use_nogood = '{$_POST['bo_use_nogood']}',
|
||||
@@ -91,6 +127,7 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
bo_use_email = '{$_POST['bo_use_email']}',
|
||||
bo_use_cert = '{$_POST['bo_use_cert']}',
|
||||
bo_use_sns = '{$_POST['bo_use_sns']}',
|
||||
bo_use_captcha = '{$_POST['bo_use_captcha']}',
|
||||
bo_table_width = '{$_POST['bo_table_width']}',
|
||||
bo_subject_len = '{$_POST['bo_subject_len']}',
|
||||
bo_mobile_subject_len = '{$_POST['bo_mobile_subject_len']}',
|
||||
@@ -101,13 +138,20 @@ $sql_common = " gr_id = '{$_POST['gr_id']}',
|
||||
bo_image_width = '{$_POST['bo_image_width']}',
|
||||
bo_skin = '{$_POST['bo_skin']}',
|
||||
bo_mobile_skin = '{$_POST['bo_mobile_skin']}',
|
||||
bo_include_head = '{$_POST['bo_include_head']}',
|
||||
bo_include_tail = '{$_POST['bo_include_tail']}',
|
||||
";
|
||||
|
||||
// 최고 관리자인 경우에만 수정가능
|
||||
if ($is_admin === 'super'){
|
||||
$sql_common .= " bo_include_head = '".$bo_include_head."',
|
||||
bo_include_tail = '".$bo_include_tail."',
|
||||
bo_content_head = '{$_POST['bo_content_head']}',
|
||||
bo_content_tail = '{$_POST['bo_content_tail']}',
|
||||
bo_mobile_content_head = '{$_POST['bo_mobile_content_head']}',
|
||||
bo_mobile_content_tail = '{$_POST['bo_mobile_content_tail']}',
|
||||
bo_insert_content = '{$_POST['bo_insert_content']}',
|
||||
";
|
||||
}
|
||||
|
||||
$sql_common .= " bo_insert_content = '{$_POST['bo_insert_content']}',
|
||||
bo_gallery_cols = '{$_POST['bo_gallery_cols']}',
|
||||
bo_gallery_width = '{$_POST['bo_gallery_width']}',
|
||||
bo_gallery_height = '{$_POST['bo_gallery_height']}',
|
||||
@@ -159,7 +203,9 @@ if ($w == '') {
|
||||
|
||||
// 게시판 테이블 생성
|
||||
$file = file('./sql_write.sql');
|
||||
$sql = implode($file, "\n");
|
||||
$file = get_db_create_replace($file);
|
||||
|
||||
$sql = implode("\n", $file);
|
||||
|
||||
$create_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
@@ -249,13 +295,14 @@ if (is_checked('chk_grp_write_point')) $grp_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_grp_comment_point')) $grp_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_grp_download_point')) $grp_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_grp_category_list')) {
|
||||
$grp_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$grp_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$grp_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_grp_use_sideview')) $grp_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
if (is_checked('chk_grp_use_file_content')) $grp_fields .= " , bo_use_file_content = '{$bo_use_file_content}' ";
|
||||
if (is_checked('chk_grp_use_secret')) $grp_fields .= " , bo_use_secret = '{$bo_use_secret}' ";
|
||||
if (is_checked('chk_grp_use_dhtml_editor')) $grp_fields .= " , bo_use_dhtml_editor = '{$bo_use_dhtml_editor}' ";
|
||||
if (is_checked('chk_grp_select_editor')) $grp_fields .= " , bo_select_editor = '{$bo_select_editor}' ";
|
||||
if (is_checked('chk_grp_use_rss_view')) $grp_fields .= " , bo_use_rss_view = '{$bo_use_rss_view}' ";
|
||||
if (is_checked('chk_grp_use_good')) $grp_fields .= " , bo_use_good = '{$bo_use_good}' ";
|
||||
if (is_checked('chk_grp_use_nogood')) $grp_fields .= " , bo_use_nogood = '{$bo_use_nogood}' ";
|
||||
@@ -268,6 +315,7 @@ if (is_checked('chk_grp_use_list_content')) $grp_fields .= " , bo_use_list_c
|
||||
if (is_checked('chk_grp_use_email')) $grp_fields .= " , bo_use_email = '{$bo_use_email}' ";
|
||||
if (is_checked('chk_grp_use_cert')) $grp_fields .= " , bo_use_cert = '{$bo_use_cert}' ";
|
||||
if (is_checked('chk_grp_use_sns')) $grp_fields .= " , bo_use_sns = '{$bo_use_sns}' ";
|
||||
if (is_checked('chk_grp_use_captcha')) $grp_fields .= " , bo_use_captcha = '{$bo_use_captcha}' ";
|
||||
if (is_checked('chk_grp_skin')) $grp_fields .= " , bo_skin = '{$bo_skin}' ";
|
||||
if (is_checked('chk_grp_mobile_skin')) $grp_fields .= " , bo_mobile_skin = '{$bo_mobile_skin}' ";
|
||||
if (is_checked('chk_grp_gallery_cols')) $grp_fields .= " , bo_gallery_cols = '{$bo_gallery_cols}' ";
|
||||
@@ -291,12 +339,17 @@ if (is_checked('chk_grp_comment_min')) $grp_fields .= " , bo_comment_mi
|
||||
if (is_checked('chk_grp_comment_max')) $grp_fields .= " , bo_comment_max = '{$bo_comment_max}' ";
|
||||
if (is_checked('chk_grp_upload_count')) $grp_fields .= " , bo_upload_count = '{$bo_upload_count}' ";
|
||||
if (is_checked('chk_grp_upload_size')) $grp_fields .= " , bo_upload_size = '{$bo_upload_size}' ";
|
||||
if (is_checked('chk_grp_include_head')) $grp_fields .= " , bo_include_head = '{$bo_include_head}' ";
|
||||
if (is_checked('chk_grp_include_tail')) $grp_fields .= " , bo_include_tail = '{$bo_include_tail}' ";
|
||||
if (is_checked('chk_grp_content_head')) $grp_fields .= " , bo_content_head = '{$bo_content_head}' ";
|
||||
if (is_checked('chk_grp_content_tail')) $grp_fields .= " , bo_content_tail = '{$bo_content_tail}' ";
|
||||
if (is_checked('chk_grp_mobile_content_head')) $grp_fields .= " , bo_mobile_content_head = '{$bo_mobile_content_head}' ";
|
||||
if (is_checked('chk_grp_mobile_content_tail')) $grp_fields .= " , bo_mobile_content_tail = '{$bo_mobile_content_tail}' ";
|
||||
|
||||
//최고관리자만 수정가능
|
||||
if ($is_admin === 'super'){
|
||||
if (is_checked('chk_grp_include_head')) $grp_fields .= " , bo_include_head = '{$bo_include_head}' ";
|
||||
if (is_checked('chk_grp_include_tail')) $grp_fields .= " , bo_include_tail = '{$bo_include_tail}' ";
|
||||
if (is_checked('chk_grp_content_head')) $grp_fields .= " , bo_content_head = '{$bo_content_head}' ";
|
||||
if (is_checked('chk_grp_content_tail')) $grp_fields .= " , bo_content_tail = '{$bo_content_tail}' ";
|
||||
if (is_checked('chk_grp_mobile_content_head')) $grp_fields .= " , bo_mobile_content_head = '{$bo_mobile_content_head}' ";
|
||||
if (is_checked('chk_grp_mobile_content_tail')) $grp_fields .= " , bo_mobile_content_tail = '{$bo_mobile_content_tail}' ";
|
||||
}
|
||||
|
||||
if (is_checked('chk_grp_insert_content')) $grp_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
||||
if (is_checked('chk_grp_use_search')) $grp_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
||||
if (is_checked('chk_grp_order')) $grp_fields .= " , bo_order = '{$bo_order}' ";
|
||||
@@ -332,13 +385,14 @@ if (is_checked('chk_all_write_point')) $all_fields .= " , bo_write_poin
|
||||
if (is_checked('chk_all_comment_point')) $all_fields .= " , bo_comment_point = '{$bo_comment_point}' ";
|
||||
if (is_checked('chk_all_download_point')) $all_fields .= " , bo_download_point = '{$bo_download_point}' ";
|
||||
if (is_checked('chk_all_category_list')) {
|
||||
$all_fields .= " , bo_category_list = '{$bo_category_list}' ";
|
||||
$all_fields .= " , bo_category_list = '{$str_bo_category_list}' ";
|
||||
$all_fields .= " , bo_use_category = '{$bo_use_category}' ";
|
||||
}
|
||||
if (is_checked('chk_all_use_sideview')) $all_fields .= " , bo_use_sideview = '{$bo_use_sideview}' ";
|
||||
if (is_checked('chk_all_use_file_content')) $all_fields .= " , bo_use_file_content = '{$bo_use_file_content}' ";
|
||||
if (is_checked('chk_all_use_secret')) $all_fields .= " , bo_use_secret = '{$bo_use_secret}' ";
|
||||
if (is_checked('chk_all_use_dhtml_editor')) $all_fields .= " , bo_use_dhtml_editor = '{$bo_use_dhtml_editor}' ";
|
||||
if (is_checked('chk_all_select_editor')) $all_fields .= " , bo_select_editor = '{$bo_select_editor}' ";
|
||||
if (is_checked('chk_all_use_rss_view')) $all_fields .= " , bo_use_rss_view = '{$bo_use_rss_view}' ";
|
||||
if (is_checked('chk_all_use_good')) $all_fields .= " , bo_use_good = '{$bo_use_good}' ";
|
||||
if (is_checked('chk_all_use_nogood')) $all_fields .= " , bo_use_nogood = '{$bo_use_nogood}' ";
|
||||
@@ -351,6 +405,7 @@ if (is_checked('chk_all_use_list_content')) $all_fields .= " , bo_use_list_c
|
||||
if (is_checked('chk_all_use_email')) $all_fields .= " , bo_use_email = '{$bo_use_email}' ";
|
||||
if (is_checked('chk_all_use_cert')) $all_fields .= " , bo_use_cert = '{$bo_use_cert}' ";
|
||||
if (is_checked('chk_all_use_sns')) $all_fields .= " , bo_use_sns = '{$bo_use_sns}' ";
|
||||
if (is_checked('chk_all_use_captcha')) $all_fields .= " , bo_use_captcha = '{$bo_use_captcha}' ";
|
||||
if (is_checked('chk_all_skin')) $all_fields .= " , bo_skin = '{$bo_skin}' ";
|
||||
if (is_checked('chk_all_mobile_skin')) $all_fields .= " , bo_mobile_skin = '{$bo_mobile_skin}' ";
|
||||
if (is_checked('chk_all_gallery_cols')) $all_fields .= " , bo_gallery_cols = '{$bo_gallery_cols}' ";
|
||||
@@ -374,12 +429,17 @@ if (is_checked('chk_all_comment_min')) $all_fields .= " , bo_comment_mi
|
||||
if (is_checked('chk_all_comment_max')) $all_fields .= " , bo_comment_max = '{$bo_comment_max}' ";
|
||||
if (is_checked('chk_all_upload_count')) $all_fields .= " , bo_upload_count = '{$bo_upload_count}' ";
|
||||
if (is_checked('chk_all_upload_size')) $all_fields .= " , bo_upload_size = '{$bo_upload_size}' ";
|
||||
if (is_checked('chk_all_include_head')) $all_fields .= " , bo_include_head = '{$bo_include_head}' ";
|
||||
if (is_checked('chk_all_include_tail')) $all_fields .= " , bo_include_tail = '{$bo_include_tail}' ";
|
||||
if (is_checked('chk_all_content_head')) $all_fields .= " , bo_content_head = '{$bo_content_head}' ";
|
||||
if (is_checked('chk_all_content_tail')) $all_fields .= " , bo_content_tail = '{$bo_content_tail}' ";
|
||||
if (is_checked('chk_all_mobile_content_head')) $all_fields .= " , bo_mobile_content_head = '{$bo_mobile_content_head}' ";
|
||||
if (is_checked('chk_all_mobile_content_tail')) $all_fields .= " , bo_mobile_content_tail = '{$bo_mobile_content_tail}' ";
|
||||
|
||||
//최고관리자만 수정가능
|
||||
if ($is_admin === 'super'){
|
||||
if (is_checked('chk_all_include_head')) $all_fields .= " , bo_include_head = '{$bo_include_head}' ";
|
||||
if (is_checked('chk_all_include_tail')) $all_fields .= " , bo_include_tail = '{$bo_include_tail}' ";
|
||||
if (is_checked('chk_all_content_head')) $all_fields .= " , bo_content_head = '{$bo_content_head}' ";
|
||||
if (is_checked('chk_all_content_tail')) $all_fields .= " , bo_content_tail = '{$bo_content_tail}' ";
|
||||
if (is_checked('chk_all_mobile_content_head')) $all_fields .= " , bo_mobile_content_head = '{$bo_mobile_content_head}' ";
|
||||
if (is_checked('chk_all_mobile_content_tail')) $all_fields .= " , bo_mobile_content_tail = '{$bo_mobile_content_tail}' ";
|
||||
}
|
||||
|
||||
if (is_checked('chk_all_insert_content')) $all_fields .= " , bo_insert_content = '{$bo_insert_content}' ";
|
||||
if (is_checked('chk_all_use_search')) $all_fields .= " , bo_use_search = '{$bo_use_search}' ";
|
||||
if (is_checked('chk_all_order')) $all_fields .= " , bo_order = '{$bo_order}' ";
|
||||
@@ -396,5 +456,10 @@ if ($all_fields) {
|
||||
|
||||
delete_cache_latest($bo_table);
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
run_event('admin_board_form_update', $bo_table, $w);
|
||||
|
||||
goto_url("./board_form.php?w=u&bo_table={$bo_table}&{$qstr}");
|
||||
?>
|
||||
|
||||
@@ -56,14 +56,14 @@ $colspan = 15;
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php echo $listall ?>
|
||||
생성된 게시판수 <?php echo number_format($total_count) ?>개
|
||||
<span class="btn_ov01"><span class="ov_txt">생성된 게시판수</span><span class="ov_num"> <?php echo number_format($total_count) ?>개</span></span>
|
||||
</div>
|
||||
|
||||
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
|
||||
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<option value="bo_table"<?php echo get_selected($_GET['sfl'], "bo_subject", true); ?>>TABLE</option>
|
||||
<option value="bo_table"<?php echo get_selected($_GET['sfl'], "bo_table", true); ?>>TABLE</option>
|
||||
<option value="bo_subject"<?php echo get_selected($_GET['sfl'], "bo_subject"); ?>>제목</option>
|
||||
<option value="a.gr_id"<?php echo get_selected($_GET['sfl'], "a.gr_id"); ?>>그룹ID</option>
|
||||
</select>
|
||||
@@ -73,11 +73,7 @@ $colspan = 15;
|
||||
|
||||
</form>
|
||||
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./board_form.php" id="bo_add">게시판 추가</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
@@ -99,7 +95,7 @@ $colspan = 15;
|
||||
<th scope="col"><?php echo subject_sort_link('a.gr_id') ?>그룹</a></th>
|
||||
<th scope="col"><?php echo subject_sort_link('bo_table') ?>TABLE</a></th>
|
||||
<th scope="col"><?php echo subject_sort_link('bo_skin', '', 'desc') ?>스킨</a></th>
|
||||
<th scope="col"><?php echo subject_sort_link('bo_mobile_skin', '', 'desc') ?>모바일<br>스킨</span></a></th>
|
||||
<th scope="col"><?php echo subject_sort_link('bo_mobile_skin', '', 'desc') ?>모바일<br>스킨</a></th>
|
||||
<th scope="col"><?php echo subject_sort_link('bo_subject') ?>제목</a></th>
|
||||
<th scope="col">읽기P<span class="sound_only">포인트</span></th>
|
||||
<th scope="col">쓰기P<span class="sound_only">포인트</span></th>
|
||||
@@ -115,8 +111,8 @@ $colspan = 15;
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$one_update = '<a href="./board_form.php?w=u&bo_table='.$row['bo_table'].'&'.$qstr.'">수정</a>';
|
||||
$one_copy = '<a href="./board_copy.php?bo_table='.$row['bo_table'].'" class="board_copy" target="win_board_copy">복사</a>';
|
||||
$one_update = '<a href="./board_form.php?w=u&bo_table='.$row['bo_table'].'&'.$qstr.'" class="btn btn_03">수정</a>';
|
||||
$one_copy = '<a href="./board_copy.php?bo_table='.$row['bo_table'].'" class="board_copy btn btn_02" target="win_board_copy">복사</a>';
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
?>
|
||||
@@ -135,7 +131,7 @@ $colspan = 15;
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" name="board_table[<?php echo $i ?>]" value="<?php echo $row['bo_table'] ?>">
|
||||
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo $row['bo_table'] ?></a>
|
||||
<a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo $row['bo_table'] ?></a>
|
||||
</td>
|
||||
<td>
|
||||
<label for="bo_skin_<?php echo $i; ?>" class="sound_only">스킨</label>
|
||||
@@ -147,35 +143,35 @@ $colspan = 15;
|
||||
</td>
|
||||
<td>
|
||||
<label for="bo_subject_<?php echo $i; ?>" class="sound_only">게시판 제목<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>" id="bo_subject_<?php echo $i ?>" required class="required frm_input bo_subject full_input" size="10">
|
||||
<input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>" id="bo_subject_<?php echo $i ?>" required class="required tbl_input bo_subject full_input" size="10">
|
||||
</td>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_read_point_<?php echo $i; ?>" class="sound_only">읽기 포인트</label>
|
||||
<input type="text" name="bo_read_point[<?php echo $i ?>]" value="<?php echo $row['bo_read_point'] ?>" id="bo_read_point_<?php echo $i; ?>" class="frm_input" size="2">
|
||||
<input type="text" name="bo_read_point[<?php echo $i ?>]" value="<?php echo $row['bo_read_point'] ?>" id="bo_read_point_<?php echo $i; ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_write_point_<?php echo $i; ?>" class="sound_only">쓰기 포인트</label>
|
||||
<input type="text" name="bo_write_point[<?php echo $i ?>]" value="<?php echo $row['bo_write_point'] ?>" id="bo_write_point_<?php echo $i; ?>" class="frm_input" size="2">
|
||||
<input type="text" name="bo_write_point[<?php echo $i ?>]" value="<?php echo $row['bo_write_point'] ?>" id="bo_write_point_<?php echo $i; ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_comment_point_<?php echo $i; ?>" class="sound_only">댓글 포인트</label>
|
||||
<input type="text" name="bo_comment_point[<?php echo $i ?>]" value="<?php echo $row['bo_comment_point'] ?>" id="bo_comment_point_<?php echo $i; ?>" class="frm_input" size="2">
|
||||
<input type="text" name="bo_comment_point[<?php echo $i ?>]" value="<?php echo $row['bo_comment_point'] ?>" id="bo_comment_point_<?php echo $i; ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_download_point_<?php echo $i; ?>" class="sound_only">다운 포인트</label>
|
||||
<input type="text" name="bo_download_point[<?php echo $i ?>]" value="<?php echo $row['bo_download_point'] ?>" id="bo_download_point_<?php echo $i; ?>" class="frm_input" size="2">
|
||||
<label for="bo_download_point_<?php echo $i; ?>" class="sound_only">다운<br>포인트</label>
|
||||
<input type="text" name="bo_download_point[<?php echo $i ?>]" value="<?php echo $row['bo_download_point'] ?>" id="bo_download_point_<?php echo $i; ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_chk">
|
||||
<label for="bo_use_sns_<?php echo $i; ?>" class="sound_only">SNS 사용</label>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_use_sns_<?php echo $i; ?>" class="sound_only">SNS<br>사용</label>
|
||||
<input type="checkbox" name="bo_use_sns[<?php echo $i ?>]" value="1" id="bo_use_sns_<?php echo $i ?>" <?php echo $row['bo_use_sns']?"checked":"" ?>>
|
||||
</td>
|
||||
<td class="td_chk">
|
||||
<label for="bo_use_search_<?php echo $i; ?>" class="sound_only">검색 사용</label>
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_use_search_<?php echo $i; ?>" class="sound_only">검색<br>사용</label>
|
||||
<input type="checkbox" name="bo_use_search[<?php echo $i ?>]" value="1" id="bo_use_search_<?php echo $i ?>" <?php echo $row['bo_use_search']?"checked":"" ?>>
|
||||
</td>
|
||||
<td class="td_chk">
|
||||
<label for="bo_order_<?php echo $i; ?>" class="sound_only">출력 순서</label>
|
||||
<input type="text" name="bo_order[<?php echo $i ?>]" value="<?php echo $row['bo_order'] ?>" id="bo_order_<?php echo $i ?>" class="frm_input" size="2">
|
||||
<td class="td_numsmall">
|
||||
<label for="bo_order_<?php echo $i; ?>" class="sound_only">출력<br>순서</label>
|
||||
<input type="text" name="bo_order[<?php echo $i ?>]" value="<?php echo $row['bo_order'] ?>" id="bo_order_<?php echo $i ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_mngsmall">
|
||||
<label for="bo_device_<?php echo $i; ?>" class="sound_only">접속기기</label>
|
||||
@@ -185,7 +181,7 @@ $colspan = 15;
|
||||
<option value="mobile"<?php echo get_selected($row['bo_device'], 'mobile'); ?>>모바일</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_mngsmall">
|
||||
<td class="td_mng td_mng_m">
|
||||
<?php echo $one_update ?>
|
||||
<?php echo $one_copy ?>
|
||||
</td>
|
||||
@@ -199,10 +195,13 @@ $colspan = 15;
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value">
|
||||
<div class="btn_fixed_top">
|
||||
<input type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value" class="btn_02 btn">
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="btn_02 btn">
|
||||
<?php } ?>
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<a href="./board_form.php" id="bo_add" class="btn_01 btn">게시판 추가</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -8,6 +8,12 @@ if (!count($_POST['chk'])) {
|
||||
alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요.");
|
||||
}
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$act_button = isset($_POST['act_button']) ? strip_tags($_POST['act_button']) : '';
|
||||
$chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? $_POST['chk'] : array();
|
||||
$board_table = (isset($_POST['board_table']) && is_array($_POST['board_table'])) ? $_POST['board_table'] : array();
|
||||
|
||||
if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
auth_check($auth[$sub_menu], 'w');
|
||||
@@ -19,7 +25,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
if ($is_admin != 'super') {
|
||||
$sql = " select count(*) as cnt from {$g5['board_table']} a, {$g5['group_table']} b
|
||||
where a.gr_id = '{$_POST['gr_id'][$k]}'
|
||||
where a.gr_id = '".sql_real_escape_string($_POST['gr_id'][$k])."'
|
||||
and a.gr_id = b.gr_id
|
||||
and b.gr_admin = '{$member['mb_id']}' ";
|
||||
$row = sql_fetch($sql);
|
||||
@@ -27,20 +33,23 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.');
|
||||
}
|
||||
|
||||
$p_bo_subject = is_array($_POST['bo_subject']) ? strip_tags(clean_xss_attributes($_POST['bo_subject'][$k])) : '';
|
||||
|
||||
$sql = " update {$g5['board_table']}
|
||||
set gr_id = '{$_POST['gr_id'][$k]}',
|
||||
bo_subject = '{$_POST['bo_subject'][$k]}',
|
||||
bo_device = '{$_POST['bo_device'][$k]}',
|
||||
bo_skin = '{$_POST['bo_skin'][$k]}',
|
||||
bo_mobile_skin = '{$_POST['bo_mobile_skin'][$k]}',
|
||||
bo_read_point = '{$_POST['bo_read_point'][$k]}',
|
||||
bo_write_point = '{$_POST['bo_write_point'][$k]}',
|
||||
bo_comment_point = '{$_POST['bo_comment_point'][$k]}',
|
||||
bo_download_point = '{$_POST['bo_download_point'][$k]}',
|
||||
bo_use_search = '{$_POST['bo_use_search'][$k]}',
|
||||
bo_use_sns = '{$_POST['bo_use_sns'][$k]}',
|
||||
bo_order = '{$_POST['bo_order'][$k]}'
|
||||
where bo_table = '{$_POST['board_table'][$k]}' ";
|
||||
set gr_id = '".sql_real_escape_string(strip_tags($_POST['gr_id'][$k]))."',
|
||||
bo_subject = '".$p_bo_subject."',
|
||||
bo_device = '".sql_real_escape_string(strip_tags($_POST['bo_device'][$k]))."',
|
||||
bo_skin = '".sql_real_escape_string(strip_tags($_POST['bo_skin'][$k]))."',
|
||||
bo_mobile_skin = '".sql_real_escape_string(strip_tags($_POST['bo_mobile_skin'][$k]))."',
|
||||
bo_read_point = '".sql_real_escape_string(strip_tags($_POST['bo_read_point'][$k]))."',
|
||||
bo_write_point = '".sql_real_escape_string(strip_tags($_POST['bo_write_point'][$k]))."',
|
||||
bo_comment_point = '".sql_real_escape_string(strip_tags($_POST['bo_comment_point'][$k]))."',
|
||||
bo_download_point = '".sql_real_escape_string(strip_tags($_POST['bo_download_point'][$k]))."',
|
||||
bo_use_search = '".sql_real_escape_string(strip_tags($_POST['bo_use_search'][$k]))."',
|
||||
bo_use_sns = '".sql_real_escape_string(strip_tags($_POST['bo_use_sns'][$k]))."',
|
||||
bo_order = '".sql_real_escape_string(strip_tags($_POST['bo_order'][$k]))."'
|
||||
where bo_table = '".sql_real_escape_string($_POST['board_table'][$k])."' ";
|
||||
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
@@ -51,8 +60,6 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
auth_check($auth[$sub_menu], 'd');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
// _BOARD_DELETE_ 상수를 선언해야 board_delete.inc.php 가 정상 작동함
|
||||
define('_BOARD_DELETE_', true);
|
||||
|
||||
@@ -62,11 +69,16 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
// include 전에 $bo_table 값을 반드시 넘겨야 함
|
||||
$tmp_bo_table = trim($_POST['board_table'][$k]);
|
||||
include ('./board_delete.inc.php');
|
||||
|
||||
if( preg_match("/^[A-Za-z0-9_]+$/", $tmp_bo_table) ){
|
||||
include ('./board_delete.inc.php');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
run_event('admin_board_list_update', $act_button, $chk, $board_table, $qstr);
|
||||
|
||||
goto_url('./board_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -12,7 +12,7 @@ $sound_only = '';
|
||||
if ($w == '') {
|
||||
$gr_id_attr = 'required';
|
||||
$sound_only = '<strong class="sound_only"> 필수</strong>';
|
||||
$gr['gr_use_access'] = 0;
|
||||
$gr = array('gr_use_access' => 0);
|
||||
$html_title .= ' 생성';
|
||||
} else if ($w == 'u') {
|
||||
$gr_id_attr = 'readonly';
|
||||
@@ -117,7 +117,7 @@ include_once('./admin.head.php');
|
||||
<label for="gr_<?php echo $i ?>_subj">여분필드 <?php echo $i ?> 제목</label>
|
||||
<input type="text" name="gr_<?php echo $i ?>_subj" value="<?php echo get_text($group['gr_'.$i.'_subj']) ?>" id="gr_<?php echo $i ?>_subj" class="frm_input">
|
||||
<label for="gr_<?php echo $i ?>">여분필드 <?php echo $i ?> 내용</label>
|
||||
<input type="text" name="gr_<?php echo $i ?>" value="<?php echo $gr['gr_'.$i] ?>" id="gr_<?php echo $i ?>" class="frm_input">
|
||||
<input type="text" name="gr_<?php echo $i ?>" value="<?php echo get_sanitize_input($gr['gr_'.$i]); ?>" id="gr_<?php echo $i ?>" class="frm_input">
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
@@ -125,9 +125,9 @@ include_once('./admin.head.php');
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" class="btn_submit" accesskey="s" value="확인">
|
||||
<a href="./boardgroup_list.php?<?php echo $qstr ?>">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./boardgroup_list.php?<?php echo $qstr ?>" class="btn btn_02">목록</a>
|
||||
<input type="submit" class="btn_submit btn" accesskey="s" value="확인">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -16,7 +16,9 @@ if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
|
||||
|
||||
if (!$gr_subject) alert('그룹 제목을 입력하세요.');
|
||||
|
||||
$sql_common = " gr_subject = '{$_POST['gr_subject']}',
|
||||
$gr_subject = isset($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'])) : '';
|
||||
|
||||
$sql_common = " gr_subject = '{$gr_subject}',
|
||||
gr_device = '{$_POST['gr_device']}',
|
||||
gr_admin = '{$_POST['gr_admin']}',
|
||||
gr_1_subj = '{$_POST['gr_1_subj']}',
|
||||
@@ -67,5 +69,7 @@ if ($w == '') {
|
||||
alert('제대로 된 값이 넘어오지 않았습니다.');
|
||||
}
|
||||
|
||||
run_event('admin_boardgroup_form_update', $gr_id, $w);
|
||||
|
||||
goto_url('./boardgroup_form.php?w=u&gr_id='.$gr_id.'&'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -60,7 +60,7 @@ $colspan = 10;
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php echo $listall ?>
|
||||
전체그룹 <?php echo number_format($total_count) ?>개
|
||||
<span class="btn_ov01"><span class="ov_txt">전체그룹</span><span class="ov_num"> <?php echo number_format($total_count) ?>개</span></span>
|
||||
</div>
|
||||
|
||||
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
|
||||
@@ -71,16 +71,10 @@ $colspan = 10;
|
||||
<option value="gr_admin"<?php echo get_selected($_GET['sfl'], "gr_admin"); ?>>그룹관리자</option>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" value="<?php echo $stx ?>" required class="required frm_input">
|
||||
<input type="text" name="stx" id="stx" value="<?php echo $stx ?>" required class="required frm_input">
|
||||
<input type="submit" value="검색" class="btn_submit">
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<div class="btn_add01 btn_add sort_with">
|
||||
<a href="./boardgroup_form.php" id="bo_gr_add">게시판그룹 추가</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<form name="fboardgrouplist" id="fboardgrouplist" action="./boardgroup_list_update.php" onsubmit="return fboardgrouplist_submit(this);" method="post">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
@@ -122,7 +116,7 @@ $colspan = 10;
|
||||
$sql2 = " select count(*) as cnt from {$g5['board_table']} where gr_id = '{$row['gr_id']}' ";
|
||||
$row2 = sql_fetch($sql2);
|
||||
|
||||
$s_upd = '<a href="./boardgroup_form.php?'.$qstr.'&w=u&gr_id='.$row['gr_id'].'">수정</a>';
|
||||
$s_upd = '<a href="./boardgroup_form.php?'.$qstr.'&w=u&gr_id='.$row['gr_id'].'" class="btn_03 btn">수정</a>';
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
?>
|
||||
@@ -130,31 +124,31 @@ $colspan = 10;
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_chk">
|
||||
<input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>">
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($row['gr_subject']); ?> 그룹</label>
|
||||
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
|
||||
</td>
|
||||
<td class="td_grid"><a href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_left"><a href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td>
|
||||
<td class="td_input">
|
||||
<label for="gr_subject_<?php echo $i; ?>" class="sound_only">그룹제목</label>
|
||||
<input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="frm_input">
|
||||
<input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="tbl_input">
|
||||
</td>
|
||||
<td class="td_mng td_input">
|
||||
<?php if ($is_admin == 'super'){ ?>
|
||||
<label for="gr_admin_<?php echo $i; ?>" class="sound_only">그룹관리자</label>
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>" id="gr_admin_<?php echo $i ?>" class="frm_input" size="10" maxlength="20">
|
||||
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>" id="gr_admin_<?php echo $i ?>" class="tbl_input" size="10" maxlength="20">
|
||||
<?php }else{ ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
|
||||
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo get_sanitize_input($row['gr_admin']); ?>"><?php echo get_text($row['gr_admin']); ?>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td class="td_numsmall"><a href="./board_list.php?sfl=a.gr_id&stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td>
|
||||
<td class="td_chk">
|
||||
<td class="td_num"><a href="./board_list.php?sfl=a.gr_id&stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td>
|
||||
<td class="td_numsmall">
|
||||
<label for="gr_use_access_<?php echo $i; ?>" class="sound_only">접근회원 사용</label>
|
||||
<input type="checkbox" name="gr_use_access[<?php echo $i ?>]" <?php echo $row['gr_use_access']?'checked':'' ?> value="1" id="gr_use_access_<?php echo $i ?>">
|
||||
</td>
|
||||
<td class="td_numsmall"><a href="./boardgroupmember_list.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row1['cnt'] ?></a></td>
|
||||
<td class="td_chk">
|
||||
<td class="td_num"><a href="./boardgroupmember_list.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row1['cnt'] ?></a></td>
|
||||
<td class="td_numsmall">
|
||||
<label for="gr_order_<?php echo $i; ?>" class="sound_only">메인메뉴 출력순서</label>
|
||||
<input type="text" name="gr_order[<?php echo $i ?>]" value="<?php echo $row['gr_order'] ?>" id="gr_order_<?php echo $i ?>" class="frm_input" size="2">
|
||||
<input type="text" name="gr_order[<?php echo $i ?>]" value="<?php echo $row['gr_order'] ?>" id="gr_order_<?php echo $i ?>" class="tbl_input" size="2">
|
||||
</td>
|
||||
<td class="td_mng">
|
||||
<label for="gr_device_<?php echo $i; ?>" class="sound_only">접속기기</label>
|
||||
@@ -164,7 +158,7 @@ $colspan = 10;
|
||||
<option value="mobile"<?php echo get_selected($row['gr_device'], 'mobile'); ?>>모바일</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="td_mngsmall"><?php echo $s_upd ?></td>
|
||||
<td class="td_mng td_mng_s"><?php echo $s_upd ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
@@ -175,10 +169,10 @@ $colspan = 10;
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" name="act_button" onclick="document.pressed=this.value" value="선택수정">
|
||||
<input type="submit" name="act_button" onclick="document.pressed=this.value" value="선택삭제">
|
||||
<a href="./boardgroup_form.php">게시판그룹 추가</a>
|
||||
<div class="btn_fixed_top">
|
||||
<input type="submit" name="act_button" onclick="document.pressed=this.value" value="선택수정" class="btn btn_02">
|
||||
<input type="submit" name="act_button" onclick="document.pressed=this.value" value="선택삭제" class="btn btn_02">
|
||||
<a href="./boardgroup_form.php" class="btn btn_01">게시판그룹 추가</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -10,28 +10,34 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$count = count($_POST['chk']);
|
||||
$post_chk = isset($_POST['chk']) ? (array) $_POST['chk'] : array();
|
||||
$post_group_id = isset($_POST['group_id']) ? (array) $_POST['group_id'] : array();
|
||||
$act_button = isset($_POST['act_button']) ? $_POST['act_button'] : '';
|
||||
|
||||
$count = count($post_chk);
|
||||
|
||||
if(!$count)
|
||||
alert($_POST['act_button'].'할 게시판그룹을 1개이상 선택해 주세요.');
|
||||
alert($act_button.'할 게시판그룹을 1개이상 선택해 주세요.');
|
||||
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$k = $_POST['chk'][$i];
|
||||
$gr_id = $_POST['group_id'][$k];
|
||||
$k = $post_chk[$i];
|
||||
$gr_id = preg_replace('/[^a-z0-9_]/i', '', $post_group_id[$k]);
|
||||
$gr_subject = is_array($_POST['gr_subject']) ? strip_tags(clean_xss_attributes($_POST['gr_subject'][$k])) : '';
|
||||
$gr_admin = is_array($_POST['gr_admin']) ? strip_tags(clean_xss_attributes($_POST['gr_admin'][$k])) : '';
|
||||
|
||||
if($_POST['act_button'] == '선택수정') {
|
||||
if($act_button == '선택수정') {
|
||||
$sql = " update {$g5['group_table']}
|
||||
set gr_subject = '{$_POST['gr_subject'][$k]}',
|
||||
gr_device = '{$_POST['gr_device'][$k]}',
|
||||
gr_admin = '{$_POST['gr_admin'][$k]}',
|
||||
gr_use_access = '{$_POST['gr_use_access'][$k]}',
|
||||
gr_order = '{$_POST['gr_order'][$k]}'
|
||||
set gr_subject = '{$gr_subject}',
|
||||
gr_device = '".sql_real_escape_string($_POST['gr_device'][$k])."',
|
||||
gr_admin = '".sql_real_escape_string($_POST['gr_admin'][$k])."',
|
||||
gr_use_access = '".sql_real_escape_string($_POST['gr_use_access'][$k])."',
|
||||
gr_order = '".sql_real_escape_string($_POST['gr_order'][$k])."'
|
||||
where gr_id = '{$gr_id}' ";
|
||||
if ($is_admin != 'super')
|
||||
$sql .= " and gr_admin = '{$_POST['gr_admin'][$k]}' ";
|
||||
$sql .= " and gr_admin = '{$gr_admin}' ";
|
||||
sql_query($sql);
|
||||
} else if($_POST['act_button'] == '선택삭제') {
|
||||
} else if($act_button == '선택삭제') {
|
||||
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where gr_id = '$gr_id' ");
|
||||
if ($row['cnt'])
|
||||
alert("이 그룹에 속한 게시판이 존재하여 게시판 그룹을 삭제할 수 없습니다.\\n\\n이 그룹에 속한 게시판을 먼저 삭제하여 주십시오.", './board_list.php?sfl=gr_id&stx='.$gr_id);
|
||||
@@ -44,5 +50,7 @@ for ($i=0; $i<$count; $i++)
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_boardgroup_list_update', $act_button, $chk, $post_group_id, $qstr);
|
||||
|
||||
goto_url('./boardgroup_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -17,8 +17,13 @@ $colspan = 4;
|
||||
<form name="fboardgroupmember_form" id="fboardgroupmember_form" action="./boardgroupmember_update.php" onsubmit="return boardgroupmember_form_check(this)" method="post">
|
||||
<input type="hidden" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id">
|
||||
<input type="hidden" name="token" value="" id="token">
|
||||
<div class="local_ov01 local_ov">
|
||||
<span class="btn_ov01"><span class="ov_txt"> 아이디</span><span class="ov_num"><?php echo $mb['mb_id'] ?></span></span>
|
||||
<span class="btn_ov01"><span class="ov_txt"> 이름</span><span class="ov_num"><?php echo get_text($mb['mb_name']); ?></span></span>
|
||||
<span class="btn_ov01"><span class="ov_txt"> 닉네임</span><span class="ov_num"><?php echo $mb['mb_nick'] ?></span></span>
|
||||
</div>
|
||||
<div class="local_cmd01 local_cmd">
|
||||
<p>아이디 <b><?php echo $mb['mb_id'] ?></b>, 이름 <b><?php echo get_text($mb['mb_name']); ?></b>, 닉네임 <b><?php echo $mb['mb_nick'] ?></b></p>
|
||||
|
||||
<label for="gr_id">그룹지정</label>
|
||||
<select name="gr_id" id="gr_id">
|
||||
<option value="">접근가능 그룹을 선택하세요.</option>
|
||||
@@ -36,7 +41,7 @@ $colspan = 4;
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<input type="submit" value="선택" class="btn_submit" accesskey="s">
|
||||
<input type="submit" value="선택" class="btn_submit btn" accesskey="s">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -96,7 +101,7 @@ $colspan = 4;
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" name="" value="선택삭제">
|
||||
<input type="submit" name="" value="선택삭제" class="btn btn_02">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ else if ($w == 'd' || $w == 'ld')
|
||||
check_admin_token();
|
||||
|
||||
for($i=0; $i<$count; $i++) {
|
||||
$gm_id = $_POST['chk'][$i];
|
||||
$gm_id = (int) $_POST['chk'][$i];
|
||||
$sql = " select * from {$g5['group_member_table']} where gm_id = '$gm_id' ";
|
||||
$gm = sql_fetch($sql);
|
||||
if (!$gm['gm_id']) {
|
||||
|
||||
@@ -3,7 +3,7 @@ $sub_menu = "100510";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
alert('사용할 수 없는 기능입니다.', correct_goto_url(G5_ADMIN_URL));
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
@@ -3,7 +3,7 @@ $sub_menu = "100520";
|
||||
include_once('./_common.php');
|
||||
|
||||
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
|
||||
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
|
||||
alert('사용할 수 없는 기능입니다.', correct_goto_url(G5_ADMIN_URL));
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
@@ -5,6 +5,13 @@ include_once('./_common.php');
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.', G5_URL);
|
||||
|
||||
@include_once('./safe_check.php');
|
||||
if(function_exists('social_log_file_delete')){
|
||||
social_log_file_delete();
|
||||
}
|
||||
|
||||
run_event('adm_cache_file_delete_before');
|
||||
|
||||
$g5['title'] = '캐시파일 일괄삭제';
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
@@ -23,9 +30,12 @@ if (!$dir=@opendir(G5_DATA_PATH.'/cache')) {
|
||||
}
|
||||
|
||||
$cnt=0;
|
||||
echo '<ul>'.PHP_EOL;
|
||||
echo '<ul class="session_del">'.PHP_EOL;
|
||||
|
||||
$files = glob(G5_DATA_PATH.'/cache/latest-*');
|
||||
$content_files = glob(G5_DATA_PATH.'/cache/content-*');
|
||||
|
||||
$files = array_merge($files, $content_files);
|
||||
if (is_array($files)) {
|
||||
foreach ($files as $cache_file) {
|
||||
$cnt++;
|
||||
@@ -39,6 +49,8 @@ if (is_array($files)) {
|
||||
}
|
||||
}
|
||||
|
||||
run_event('adm_cache_file_delete');
|
||||
|
||||
echo '<li>완료됨</li></ul>'.PHP_EOL;
|
||||
echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL;
|
||||
?>
|
||||
|
||||
@@ -23,7 +23,7 @@ if (!$dir=@opendir(G5_DATA_PATH.'/cache')) {
|
||||
}
|
||||
|
||||
$cnt=0;
|
||||
echo '<ul>'.PHP_EOL;
|
||||
echo '<ul class="session_del">'.PHP_EOL;
|
||||
|
||||
$files = glob(G5_DATA_PATH.'/cache/?captcha-*');
|
||||
if (is_array($files)) {
|
||||
|
||||
@@ -192,6 +192,92 @@ if(!sql_query(" select vi_browser from {$g5['visit_table']} limit 1 ")) {
|
||||
ADD `vi_device` varchar(255) NOT NULL DEFAULT '' AFTER `vi_os` ", true);
|
||||
}
|
||||
|
||||
//소셜 로그인 관련 필드 및 구글 리챕챠 필드 추가
|
||||
if(!isset($config['cf_social_login_use'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_googl_shorturl_apikey`,
|
||||
ADD `cf_google_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_twitter_secret`,
|
||||
ADD `cf_google_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_clientid`,
|
||||
ADD `cf_naver_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_secret`,
|
||||
ADD `cf_naver_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_clientid`,
|
||||
ADD `cf_kakao_rest_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_secret`,
|
||||
ADD `cf_social_servicelist` varchar(255) NOT NULL DEFAULT '' AFTER `cf_social_login_use`,
|
||||
ADD `cf_payco_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_social_servicelist`,
|
||||
ADD `cf_payco_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_payco_clientid`,
|
||||
ADD `cf_captcha` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_js_apikey`,
|
||||
ADD `cf_recaptcha_site_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_captcha`,
|
||||
ADD `cf_recaptcha_secret_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_recaptcha_site_key`
|
||||
", true);
|
||||
}
|
||||
|
||||
//소셜 로그인 관련 필드 카카오 클라이언트 시크릿 추가
|
||||
if(!isset($config['cf_kakao_client_secret'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_kakao_client_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_rest_key`
|
||||
", true);
|
||||
}
|
||||
|
||||
// 회원 이미지 관련 필드 추가
|
||||
if(!isset($config['cf_member_img_size'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_member_img_size` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_icon_height`,
|
||||
ADD `cf_member_img_width` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_size`,
|
||||
ADD `cf_member_img_height` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_width`
|
||||
", true);
|
||||
|
||||
$sql = " update {$g5['config_table']} set cf_member_img_size = 50000, cf_member_img_width = 60, cf_member_img_height = 60 ";
|
||||
sql_query($sql, false);
|
||||
|
||||
$config['cf_member_img_size'] = 50000;
|
||||
$config['cf_member_img_width'] = 60;
|
||||
$config['cf_member_img_height'] = 60;
|
||||
}
|
||||
|
||||
// 소셜 로그인 관리 테이블 없을 경우 생성
|
||||
if(!sql_query(" DESC {$g5['social_profile_table']} ", false)) {
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['social_profile_table']}` (
|
||||
`mp_no` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`mb_id` varchar(255) NOT NULL DEFAULT '',
|
||||
`provider` varchar(50) NOT NULL DEFAULT '',
|
||||
`object_sha` varchar(45) NOT NULL DEFAULT '',
|
||||
`identifier` varchar(255) NOT NULL DEFAULT '',
|
||||
`profileurl` varchar(255) NOT NULL DEFAULT '',
|
||||
`photourl` varchar(255) NOT NULL DEFAULT '',
|
||||
`displayname` varchar(150) NOT NULL DEFAULT '',
|
||||
`description` varchar(255) NOT NULL DEFAULT '',
|
||||
`mp_register_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`mp_latest_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
UNIQUE KEY `mp_no` (`mp_no`),
|
||||
KEY `mb_id` (`mb_id`),
|
||||
KEY `provider` (`provider`)
|
||||
) ", true);
|
||||
}
|
||||
|
||||
// 짧은 URL 주소를 사용 여부 필드 추가
|
||||
if (!isset($config['cf_bbs_rewrite'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
|
||||
}
|
||||
|
||||
// 읽지 않은 메모 수 칼럼 추가
|
||||
if(!isset($member['mb_memo_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_memo_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_call`", true);
|
||||
}
|
||||
|
||||
// 스크랩 읽은 수 추가
|
||||
if(!isset($member['mb_scrap_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
|
||||
}
|
||||
|
||||
// 아이코드 토큰키 추가
|
||||
if( ! isset($config['cf_icode_token_key']) ){
|
||||
$sql = "ALTER TABLE `{$g5['config_table']}`
|
||||
ADD COLUMN `cf_icode_token_key` VARCHAR(100) NOT NULL DEFAULT '' AFTER `cf_icode_server_port`; ";
|
||||
sql_query($sql, false);
|
||||
}
|
||||
|
||||
if(!$config['cf_faq_skin']) $config['cf_faq_skin'] = "basic";
|
||||
if(!$config['cf_mobile_faq_skin']) $config['cf_mobile_faq_skin'] = "basic";
|
||||
|
||||
@@ -203,6 +289,7 @@ $pg_anchor = '<ul class="anchor">
|
||||
<li><a href="#anc_cf_board">게시판기본</a></li>
|
||||
<li><a href="#anc_cf_join">회원가입</a></li>
|
||||
<li><a href="#anc_cf_cert">본인확인</a></li>
|
||||
<li><a href="#anc_cf_url">짧은주소</a></li>
|
||||
<li><a href="#anc_cf_mail">기본메일환경</a></li>
|
||||
<li><a href="#anc_cf_article_mail">글작성메일</a></li>
|
||||
<li><a href="#anc_cf_join_mail">가입메일</a></li>
|
||||
@@ -213,10 +300,6 @@ $pg_anchor = '<ul class="anchor">
|
||||
<li><a href="#anc_cf_extra">여분필드</a></li>
|
||||
</ul>';
|
||||
|
||||
$frm_submit = '<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="'.G5_URL.'/">메인으로</a>
|
||||
</div>';
|
||||
|
||||
if (!$config['cf_icode_server_ip']) $config['cf_icode_server_ip'] = '211.172.232.124';
|
||||
if (!$config['cf_icode_server_port']) $config['cf_icode_server_port'] = '7295';
|
||||
@@ -245,7 +328,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_title">홈페이지 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo $config['cf_title'] ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
<td colspan="3"><input type="text" name="cf_title" value="<?php echo get_sanitize_input($config['cf_title']); ?>" id="cf_title" required class="required frm_input" size="40"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_admin">최고관리자<strong class="sound_only">필수</strong></label></th>
|
||||
@@ -403,12 +486,23 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_captcha">캡챠 선택<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('사용할 캡챠를 선택합니다.<br>1) Kcaptcha 는 그누보드5의 기본캡챠입니다. ( 문자입력 )<br>2) reCAPTCHA V2 는 구글에서 서비스하는 원클릭 형식의 간편한 캡챠입니다. ( 모바일 친화적 UI )<br>3) Invisible reCAPTCHA 는 구글에서 서비스하는 안보이는 형식의 캡챠입니다. ( 간혹 퀴즈를 풀어야 합니다. )<br>') ?>
|
||||
<select name="cf_captcha" id="cf_captcha" required class="required">
|
||||
<option value="kcaptcha" <?php echo get_selected($config['cf_captcha'], 'kcaptcha') ; ?>>Kcaptcha</option>
|
||||
<option value="recaptcha" <?php echo get_selected($config['cf_captcha'], 'recaptcha') ; ?>>reCAPTCHA V2</option>
|
||||
<option value="recaptcha_inv" <?php echo get_selected($config['cf_captcha'], 'recaptcha_inv') ; ?>>Invisible reCAPTCHA</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="kcaptcha_mp3">
|
||||
<th scope="row"><label for="cf_captcha_mp3">음성캡챠 선택<strong class="sound_only">필수</strong></label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help(G5_CAPTCHA_URL.'/mp3 밑의 음성 폴더를 선택합니다.') ?>
|
||||
<?php echo help('kcaptcha 사용시 '.str_replace(array('recaptcha_inv', 'recaptcha'), 'kcaptcha', G5_CAPTCHA_URL).'/mp3 밑의 음성 폴더를 선택합니다.') ?>
|
||||
<select name="cf_captcha_mp3" id="cf_captcha_mp3" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('mp3', G5_CAPTCHA_PATH);
|
||||
$arr = get_skin_dir('mp3', str_replace(array('recaptcha_inv', 'recaptcha'), 'kcaptcha', G5_CAPTCHA_PATH));
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_captcha_mp3'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
@@ -417,6 +511,19 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_recaptcha_site_key">구글 reCAPTCHA Site key</label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('reCAPTCHA V2와 Invisible reCAPTCHA 캡챠의 sitekey 와 secret 키는 동일하지 않고, 서로 발급받는 키가 다릅니다.') ?>
|
||||
<input type="text" name="cf_recaptcha_site_key" value="<?php echo $config['cf_recaptcha_site_key']; ?>" id="cf_recaptcha_site_key" class="frm_input" size="52"> <a href="https://www.google.com/recaptcha/admin" target="_blank" class="btn_frmline">reCAPTCHA 등록하기</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_recaptcha_secret_key">구글 reCAPTCHA Secret key</label></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="cf_recaptcha_secret_key" value="<?php echo $config['cf_recaptcha_secret_key']; ?>" id="cf_recaptcha_secret_key" class="frm_input" size="52">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_use_copy_log">복사, 이동시 로그</label></th>
|
||||
<td colspan="3">
|
||||
@@ -476,8 +583,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_confc" data-type="conf_skin">테마 스킨설정 가져오기</button></div>', $frm_submit); ?>
|
||||
<button type="button" class="get_theme_confc btn_02 btn" data-type="conf_skin" >테마 스킨설정 가져오기</button>
|
||||
|
||||
<section id="anc_cf_board">
|
||||
<h2 class="h2_frm">게시판 기본 설정</h2>
|
||||
@@ -559,8 +665,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_join">
|
||||
<h2 class="h2_frm">회원가입 설정</h2>
|
||||
<?php echo $pg_anchor ?>
|
||||
@@ -644,7 +748,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<option value="2"<?php echo get_selected($config['cf_use_member_icon'], '2') ?>>아이콘+이름 표시
|
||||
</select>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_icon_level">아이콘 업로드 권한</label></th>
|
||||
<th scope="row"><label for="cf_icon_level">회원 아이콘, 이미지 업로드 권한</label></th>
|
||||
<td><?php echo get_member_level_select('cf_icon_level', 1, 9, $config['cf_icon_level']) ?> 이상</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -659,6 +763,18 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
픽셀 이하
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_member_img_size">회원이미지 용량</label></th>
|
||||
<td><input type="text" name="cf_member_img_size" value="<?php echo $config['cf_member_img_size'] ?>" id="cf_member_img_size" class="frm_input" size="10"> 바이트 이하</td>
|
||||
<th scope="row">회원이미지 사이즈</th>
|
||||
<td>
|
||||
<label for="cf_member_img_width">가로</label>
|
||||
<input type="text" name="cf_member_img_width" value="<?php echo $config['cf_member_img_width'] ?>" id="cf_member_img_width" class="frm_input" size="2">
|
||||
<label for="cf_member_img_height">세로</label>
|
||||
<input type="text" name="cf_member_img_height" value="<?php echo $config['cf_member_img_height'] ?>" id="cf_member_img_height" class="frm_input" size="2">
|
||||
픽셀 이하
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_use_recommend">추천인제도 사용</label></th>
|
||||
<td><input type="checkbox" name="cf_use_recommend" value="1" id="cf_use_recommend" <?php echo $config['cf_use_recommend']?'checked':''; ?>> 사용</td>
|
||||
@@ -688,9 +804,9 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<button type="button" class="get_theme_confc btn btn_02" data-type="conf_member">테마 회원스킨설정 가져오기</button>
|
||||
</section>
|
||||
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_confc" data-type="conf_member">테마 회원스킨설정 가져오기</button></div>', $frm_submit); ?>
|
||||
|
||||
<section id="anc_cf_cert">
|
||||
<h2 class="h2_frm">본인확인 설정</h2>
|
||||
@@ -791,7 +907,9 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
<?php
|
||||
include_once('_rewrite_config_form.php');
|
||||
?>
|
||||
|
||||
<section id="anc_cf_mail">
|
||||
<h2 class="h2_frm">기본 메일 환경 설정</h2>
|
||||
@@ -815,7 +933,8 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_use_email_certify">메일인증 사용</label></th>
|
||||
<td>
|
||||
<?php echo help('메일에 배달된 인증 주소를 클릭하여야 회원으로 인정합니다.'); ?>
|
||||
<?php $tmp = !(defined('G5_SOCIAL_CERTIFY_MAIL') && G5_SOCIAL_CERTIFY_MAIL) ? '<br>( SNS를 이용한 소셜로그인 한 회원은 회원메일인증을 하지 않습니다. 일반회원에게만 해당됩니다. )' : ''; ?>
|
||||
<?php echo help('메일에 배달된 인증 주소를 클릭하여야 회원으로 인정합니다.'.$tmp); ?>
|
||||
<input type="checkbox" name="cf_use_email_certify" value="1" id="cf_use_email_certify" <?php echo $config['cf_use_email_certify']?'checked':''; ?>> 사용
|
||||
</td>
|
||||
</tr>
|
||||
@@ -830,7 +949,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_article_mail">
|
||||
<h2 class="h2_frm">게시판 글 작성 시 메일 설정</h2>
|
||||
@@ -884,7 +1002,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_join_mail">
|
||||
<h2 class="h2_frm">회원가입 시 메일 설정</h2>
|
||||
@@ -917,7 +1034,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_vote_mail">
|
||||
<h2 class="h2_frm">투표 기타의견 작성 시 메일 설정</h2>
|
||||
@@ -943,7 +1059,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_sns">
|
||||
<h2 class="h2_frm">소셜네트워크서비스(SNS : Social Network Service)</h2>
|
||||
@@ -959,34 +1074,136 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_social_login_use">소셜로그인설정</label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('소셜로그인을 사용합니다. <a href="https://sir.kr/manual/g5/276" class="btn btn_03" target="_blank" style="margin-left:10px" >설정 관련 메뉴얼 보기</a> ') ?>
|
||||
<input type="checkbox" name="cf_social_login_use" value="1" id="cf_social_login_use" <?php echo (!empty($config['cf_social_login_use']))?'checked':''; ?>> 사용
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_social_servicelist">소셜로그인설정</label></th>
|
||||
<td colspan="3" class="social_config_explain">
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_naver" value="naver" <?php echo option_array_checked('naver', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_naver">네이버 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>네이버 CallbackURL</h3>
|
||||
<p><?php echo get_social_callbackurl('naver'); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_kakao" value="kakao" <?php echo option_array_checked('kakao', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_kakao">카카오 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>카카오 로그인 Redirect URI</h3>
|
||||
<p><?php echo get_social_callbackurl('kakao', true); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_facebook" value="facebook" <?php echo option_array_checked('facebook', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_facebook">페이스북 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>페이스북 유효한 OAuth 리디렉션 URI</h3>
|
||||
<p><?php echo get_social_callbackurl('facebook'); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_google" value="google" <?php echo option_array_checked('google', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_google">구글 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>구글 승인된 리디렉션 URI</h3>
|
||||
<p><?php echo get_social_callbackurl('google'); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_twitter" value="twitter" <?php echo option_array_checked('twitter', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_twitter">트위터 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>트위터 CallbackURL</h3>
|
||||
<p><?php echo get_social_callbackurl('twitter'); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="explain_box">
|
||||
<input type="checkbox" name="cf_social_servicelist[]" id="check_social_payco" value="payco" <?php echo option_array_checked('payco', $config['cf_social_servicelist']); ?> >
|
||||
<label for="check_social_payco">페이코 로그인을 사용합니다</label>
|
||||
<div>
|
||||
<h3>페이코 CallbackURL</h3>
|
||||
<p><?php echo get_social_callbackurl('payco', false, true); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_naver_clientid">네이버 Client ID</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_naver_clientid" value="<?php echo $config['cf_naver_clientid'] ?>" id="cf_naver_clientid" class="frm_input" size="40"> <a href="https://developers.naver.com/apps/#/register" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_naver_secret">네이버 Client Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_naver_secret" value="<?php echo $config['cf_naver_secret'] ?>" id="cf_naver_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_facebook_appid">페이스북 앱 ID</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_facebook_appid" value="<?php echo $config['cf_facebook_appid'] ?>" id="cf_facebook_appid" class="frm_input"> <a href="https://developers.facebook.com/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
<input type="text" name="cf_facebook_appid" value="<?php echo $config['cf_facebook_appid'] ?>" id="cf_facebook_appid" class="frm_input" size="40"> <a href="https://developers.facebook.com/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_facebook_secret">페이스북 앱 Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_facebook_secret" value="<?php echo $config['cf_facebook_secret'] ?>" id="cf_facebook_secret" class="frm_input" size="35">
|
||||
<input type="text" name="cf_facebook_secret" value="<?php echo $config['cf_facebook_secret'] ?>" id="cf_facebook_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_twitter_key">트위터 컨슈머 Key</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_twitter_key" value="<?php echo $config['cf_twitter_key'] ?>" id="cf_twitter_key" class="frm_input"> <a href="https://dev.twitter.com/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
<input type="text" name="cf_twitter_key" value="<?php echo $config['cf_twitter_key'] ?>" id="cf_twitter_key" class="frm_input" size="40"> <a href="https://developer.twitter.com/en/apps" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_twitter_secret">트위터 컨슈머 Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_twitter_secret" value="<?php echo $config['cf_twitter_secret'] ?>" id="cf_twitter_secret" class="frm_input" size="35">
|
||||
<input type="text" name="cf_twitter_secret" value="<?php echo $config['cf_twitter_secret'] ?>" id="cf_twitter_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_google_clientid">구글 Client ID</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_google_clientid" value="<?php echo $config['cf_google_clientid'] ?>" id="cf_google_clientid" class="frm_input" size="40"> <a href="https://console.developers.google.com" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_google_secret">구글 Client Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_google_secret" value="<?php echo $config['cf_google_secret'] ?>" id="cf_google_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_googl_shorturl_apikey">구글 짧은주소 API Key</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_googl_shorturl_apikey" value="<?php echo $config['cf_googl_shorturl_apikey'] ?>" id="cf_googl_shorturl_apikey" class="frm_input"> <a href="http://code.google.com/apis/console/" target="_blank" class="btn_frmline">API Key 등록하기</a>
|
||||
<td colspan="3">
|
||||
<input type="text" name="cf_googl_shorturl_apikey" value="<?php echo $config['cf_googl_shorturl_apikey'] ?>" id="cf_googl_shorturl_apikey" class="frm_input" size="40"> <a href="http://code.google.com/apis/console/" target="_blank" class="btn_frmline">API Key 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_kakao_js_apikey">카카오 Javascript API Key</label></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_kakao_rest_key">카카오 REST API 키</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_kakao_js_apikey" value="<?php echo $config['cf_kakao_js_apikey'] ?>" id="cf_kakao_js_apikey" class="frm_input"> <a href="http://developers.kakao.com/" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
<input type="text" name="cf_kakao_rest_key" value="<?php echo $config['cf_kakao_rest_key'] ?>" id="cf_kakao_rest_key" class="frm_input" size="40"> <a href="https://developers.kakao.com/product/kakaoLogin" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_kakao_client_secret">카카오 Client Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_kakao_client_secret" value="<?php echo $config['cf_kakao_client_secret'] ?>" id="cf_kakao_client_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_kakao_js_apikey">카카오 JavaScript 키</label></th>
|
||||
<td colspan="3">
|
||||
<input type="text" name="cf_kakao_js_apikey" value="<?php echo $config['cf_kakao_js_apikey'] ?>" id="cf_kakao_js_apikey" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_payco_clientid">페이코 Client ID</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_payco_clientid" value="<?php echo $config['cf_payco_clientid']; ?>" id="cf_payco_clientid" class="frm_input" size="40"> <a href="https://developers.payco.com/guide" target="_blank" class="btn_frmline">앱 등록하기</a>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_payco_secret">페이코 Secret</label></th>
|
||||
<td>
|
||||
<input type="text" name="cf_payco_secret" value="<?php echo $config['cf_payco_secret']; ?>" id="cf_payco_secret" class="frm_input" size="45">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -994,7 +1211,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_lay">
|
||||
<h2 class="h2_frm">레이아웃 추가설정</h2>
|
||||
@@ -1023,7 +1239,6 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_sms">
|
||||
<h2 class="h2_frm">SMS</h2>
|
||||
@@ -1049,29 +1264,29 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_sms_type">SMS 전송유형</label></th>
|
||||
<td>
|
||||
<?php echo help("전송유형을 SMS로 선택하시면 최대 80바이트까지 전송하실 수 있으며<br>LMS로 선택하시면 90바이트 이하는 SMS로, 그 이상은 1500바이트까지 LMS로 전송됩니다.<br>요금은 건당 SMS는 16원, LMS는 48원입니다."); ?>
|
||||
<?php echo help("전송유형을 SMS로 선택하시면 최대 80바이트까지 전송하실 수 있으며<br>LMS로 선택하시면 90바이트 이하는 SMS로, 그 이상은 ".G5_ICODE_LMS_MAX_LENGTH."바이트까지 LMS로 전송됩니다.<br>요금은 건당 SMS는 16원, LMS는 48원입니다."); ?>
|
||||
<select id="cf_sms_type" name="cf_sms_type">
|
||||
<option value="" <?php echo get_selected($config['cf_sms_type'], ''); ?>>SMS</option>
|
||||
<option value="LMS" <?php echo get_selected($config['cf_sms_type'], 'LMS'); ?>>LMS</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_icode_id">아이코드 회원아이디</label></th>
|
||||
<tr class="icode_old_version">
|
||||
<th scope="row"><label for="cf_icode_id">아이코드 회원아이디<br>(구버전)</label></th>
|
||||
<td>
|
||||
<?php echo help("아이코드에서 사용하시는 회원아이디를 입력합니다."); ?>
|
||||
<input type="text" name="cf_icode_id" value="<?php echo $config['cf_icode_id']; ?>" id="cf_icode_id" class="frm_input" size="20">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_icode_pw">아이코드 비밀번호</label></th>
|
||||
<tr class="icode_old_version">
|
||||
<th scope="row"><label for="cf_icode_pw">아이코드 비밀번호<br>(구버전)</label></th>
|
||||
<td>
|
||||
<?php echo help("아이코드에서 사용하시는 비밀번호를 입력합니다."); ?>
|
||||
<input type="password" name="cf_icode_pw" value="<?php echo $config['cf_icode_pw']; ?>" id="cf_icode_pw" class="frm_input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">요금제</th>
|
||||
<tr class="icode_old_version <?php if(!(isset($userinfo['payment']) && $userinfo['payment'])){ echo 'cf_tr_hide'; } ?>">
|
||||
<th scope="row">요금제<br>(구버전)</th>
|
||||
<td>
|
||||
<input type="hidden" name="cf_icode_server_ip" value="<?php echo $config['cf_icode_server_ip']; ?>">
|
||||
<?php
|
||||
@@ -1088,27 +1303,36 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($userinfo['payment'] == 'A') { ?>
|
||||
<tr class="icode_old_version">
|
||||
<th scope="row">충전 잔액<br>(구버전)</th>
|
||||
<td>
|
||||
<?php echo number_format($userinfo['coin']); ?> 원.
|
||||
<a href="http://www.icodekorea.com/smsbiz/credit_card_amt.php?icode_id=<?php echo $config['cf_icode_id']; ?>&icode_passwd=<?php echo $config['cf_icode_pw']; ?>" target="_blank" class="btn_frmline">충전하기</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="icode_json_version">
|
||||
<th scope="row"><label for="cf_icode_token_key">아이코드 토큰키<br>(JSON버전)</label></th>
|
||||
<td>
|
||||
<?php echo help("아이코드 JSON 버전의 경우 아이코드 토큰키를 입력시 실행됩니다.<br>SMS 전송유형을 LMS로 설정시 90바이트 이내는 SMS, 90 ~ 2000 바이트는 LMS 그 이상은 절삭 되어 LMS로 발송됩니다."); ?>
|
||||
<input type="text" name="cf_icode_token_key" value="<?php echo $config['cf_icode_token_key']; ?>" id="cf_icode_token_key" class="frm_input" size="40">
|
||||
<?php echo help("아이코드 사이트 -> 토큰키관리 메뉴에서 생성한 토큰키를 입력합니다."); ?>
|
||||
<br>
|
||||
서버아이피 : <?php echo $_SERVER['SERVER_ADDR']; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">아이코드 SMS 신청<br>회원가입</th>
|
||||
<td>
|
||||
<a href="http://icodekorea.com/res/join_company_fix_a.php?sellid=sir2" target="_blank" class="btn_frmline">아이코드 회원가입</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($userinfo['payment'] == 'A') { ?>
|
||||
<tr>
|
||||
<th scope="row">충전 잔액</th>
|
||||
<td colspan="3">
|
||||
<?php echo number_format($userinfo['coin']); ?> 원.
|
||||
<a href="http://www.icodekorea.com/smsbiz/credit_card_amt.php?icode_id=<?php echo $config['cf_icode_id']; ?>&icode_passwd=<?php echo $config['cf_icode_pw']; ?>" target="_blank" class="btn_frmline" onclick="window.open(this.href,'icode_payment', 'scrollbars=1,resizable=1'); return false;">충전하기</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
|
||||
<section id="anc_cf_extra">
|
||||
<h2 class="h2_frm">여분필드 기본 설정</h2>
|
||||
@@ -1132,7 +1356,7 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<label for="cf_<?php echo $i ?>_subj">여분필드<?php echo $i ?> 제목</label>
|
||||
<input type="text" name="cf_<?php echo $i ?>_subj" value="<?php echo get_text($config['cf_'.$i.'_subj']) ?>" id="cf_<?php echo $i ?>_subj" class="frm_input" size="30">
|
||||
<label for="cf_<?php echo $i ?>">여분필드<?php echo $i ?> 값</label>
|
||||
<input type="text" name="cf_<?php echo $i ?>" value="<?php echo $config['cf_'.$i] ?>" id="cf_<?php echo $i ?>" class="frm_input" size="30">
|
||||
<input type="text" name="cf_<?php echo $i ?>" value="<?php echo get_sanitize_input($config['cf_'.$i]); ?>" id="cf_<?php echo $i ?>" class="frm_input extra-value-input" size="30">
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
@@ -1141,7 +1365,9 @@ if ($config['cf_sms_use'] && $config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
<div class="btn_fixed_top btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit btn" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -1161,6 +1387,13 @@ $(function(){
|
||||
break;
|
||||
}
|
||||
});
|
||||
$("#cf_captcha").on("change", function(){
|
||||
if ($(this).val() == 'recaptcha' || $(this).val() == 'recaptcha_inv') {
|
||||
$("[class^='kcaptcha_']").hide();
|
||||
} else {
|
||||
$("[class^='kcaptcha_']").show();
|
||||
}
|
||||
}).trigger("change");
|
||||
|
||||
$(".get_theme_confc").on("click", function() {
|
||||
var type = $(this).data("type");
|
||||
@@ -1201,6 +1434,26 @@ $(function(){
|
||||
|
||||
function fconfigform_submit(f)
|
||||
{
|
||||
var current_user_ip = "<?php echo $_SERVER['REMOTE_ADDR']; ?>";
|
||||
var cf_intercept_ip_val = f.cf_intercept_ip.value;
|
||||
|
||||
if( cf_intercept_ip_val && current_user_ip ){
|
||||
var cf_intercept_ips = cf_intercept_ip_val.split("\n");
|
||||
|
||||
for(var i=0; i < cf_intercept_ips.length; i++){
|
||||
if ( cf_intercept_ips[i].trim() ) {
|
||||
cf_intercept_ips[i] = cf_intercept_ips[i].replace(".", "\.");
|
||||
cf_intercept_ips[i] = cf_intercept_ips[i].replace("+", "[0-9\.]+");
|
||||
|
||||
var re = new RegExp(cf_intercept_ips[i]);
|
||||
if ( re.test(current_user_ip) ){
|
||||
alert("현재 접속 IP : "+ current_user_ip +" 가 차단될수 있기 때문에, 다른 IP를 입력해 주세요.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
f.action = "./config_form_update.php";
|
||||
return true;
|
||||
}
|
||||
@@ -1225,14 +1478,22 @@ if($config['cf_cert_use']) {
|
||||
}
|
||||
|
||||
echo module_exec_check($exe, 'okname');
|
||||
|
||||
if(is_dir(G5_OKNAME_PATH.'/log') && is_writable(G5_OKNAME_PATH.'/log') && function_exists('check_log_folder') ) {
|
||||
check_log_folder(G5_OKNAME_PATH.'/log');
|
||||
}
|
||||
}
|
||||
|
||||
// kcp일 때
|
||||
if($config['cf_cert_hp'] == 'kcp') {
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli';
|
||||
else
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_x64';
|
||||
if(strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
|
||||
if(PHP_INT_MAX == 2147483647) // 32-bit
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli';
|
||||
else
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_x64';
|
||||
} else {
|
||||
$exe = G5_KCPCERT_PATH . '/bin/ct_cli_exe.exe';
|
||||
}
|
||||
|
||||
echo module_exec_check($exe, 'ct_cli');
|
||||
}
|
||||
@@ -1242,16 +1503,29 @@ if($config['cf_cert_use']) {
|
||||
$log_path = G5_LGXPAY_PATH.'/lgdacom/log';
|
||||
|
||||
if(!is_dir($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_LGXPAY_PATH).'/lgdacom 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
} else {
|
||||
if(!is_writable($log_path)) {
|
||||
|
||||
if( is_writable(G5_LGXPAY_PATH.'/lgdacom/') ){
|
||||
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
|
||||
@mkdir($log_path, G5_DIR_PERMISSION);
|
||||
@chmod($log_path, G5_DIR_PERMISSION);
|
||||
}
|
||||
|
||||
if(!is_dir($log_path)){
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '', G5_LGXPAY_PATH).'/lgdacom 폴더 안에 log 폴더를 생성하신 후 쓰기권한을 부여해 주십시오.\n> mkdir log\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
if(is_dir($log_path) && is_writable($log_path)) {
|
||||
if( function_exists('check_log_folder') ){
|
||||
check_log_folder($log_path);
|
||||
}
|
||||
} else if (is_dir($log_path)) {
|
||||
echo '<script>'.PHP_EOL;
|
||||
echo 'alert("'.str_replace(G5_PATH.'/', '',$log_path).' 폴더에 쓰기권한을 부여해 주십시오.\n> chmod 707 log");'.PHP_EOL;
|
||||
echo '</script>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,38 @@ if(!$_POST['cf_cert_use']) {
|
||||
$_POST['cf_cert_hp'] = '';
|
||||
}
|
||||
|
||||
$cf_social_servicelist = !empty($_POST['cf_social_servicelist']) ? implode(',', $_POST['cf_social_servicelist']) : '';
|
||||
|
||||
$_POST['cf_title'] = strip_tags(clean_xss_attributes($_POST['cf_title']));
|
||||
|
||||
$check_keys = array('cf_lg_mid', 'cf_lg_mert_key', 'cf_cert_kcb_cd', 'cf_cert_kcp_cd', 'cf_editor', 'cf_recaptcha_site_key', 'cf_recaptcha_secret_key', 'cf_naver_clientid', 'cf_naver_secret', 'cf_facebook_appid', 'cf_facebook_secret', 'cf_twitter_key', 'cf_twitter_secret', 'cf_google_clientid', 'cf_google_secret', 'cf_googl_shorturl_apikey', 'cf_kakao_rest_key', 'cf_kakao_client_secret', 'cf_kakao_js_apikey', 'cf_payco_clientid', 'cf_payco_secret');
|
||||
|
||||
foreach( $check_keys as $key ){
|
||||
if ( isset($_POST[$key]) && $_POST[$key] ){
|
||||
$_POST[$key] = preg_replace('/[^a-z0-9_\-\.]/i', '', $_POST[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
$_POST['cf_icode_server_port'] = isset($_POST['cf_icode_server_port']) ? preg_replace('/[^0-9]/', '', $_POST['cf_icode_server_port']) : '7295';
|
||||
|
||||
if(isset($_POST['cf_intercept_ip']) && $_POST['cf_intercept_ip']){
|
||||
|
||||
$pattern = explode("\n", trim($_POST['cf_intercept_ip']));
|
||||
for ($i=0; $i<count($pattern); $i++) {
|
||||
$pattern[$i] = trim($pattern[$i]);
|
||||
if (empty($pattern[$i]))
|
||||
continue;
|
||||
|
||||
$pattern[$i] = str_replace(".", "\.", $pattern[$i]);
|
||||
$pattern[$i] = str_replace("+", "[0-9\.]+", $pattern[$i]);
|
||||
$pat = "/^{$pattern[$i]}$/";
|
||||
|
||||
if( preg_match($pat, $_SERVER['REMOTE_ADDR']) ){
|
||||
alert("현재 접속 IP : ".$_SERVER['REMOTE_ADDR']." 가 차단될수 있기 때문에, 다른 IP를 입력해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sql = " update {$g5['config_table']}
|
||||
set cf_title = '{$_POST['cf_title']}',
|
||||
cf_admin = '{$_POST['cf_admin']}',
|
||||
@@ -57,6 +89,7 @@ $sql = " update {$g5['config_table']}
|
||||
cf_add_meta = '{$_POST['cf_add_meta']}',
|
||||
cf_syndi_token = '{$_POST['cf_syndi_token']}',
|
||||
cf_syndi_except = '{$_POST['cf_syndi_except']}',
|
||||
cf_bbs_rewrite = '{$_POST['cf_bbs_rewrite']}',
|
||||
cf_member_skin = '{$_POST['cf_member_skin']}',
|
||||
cf_use_homepage = '{$_POST['cf_use_homepage']}',
|
||||
cf_req_homepage = '{$_POST['cf_req_homepage']}',
|
||||
@@ -96,6 +129,9 @@ $sql = " update {$g5['config_table']}
|
||||
cf_member_icon_size = '{$_POST['cf_member_icon_size']}',
|
||||
cf_member_icon_width = '{$_POST['cf_member_icon_width']}',
|
||||
cf_member_icon_height = '{$_POST['cf_member_icon_height']}',
|
||||
cf_member_img_size = '{$_POST['cf_member_img_size']}',
|
||||
cf_member_img_width = '{$_POST['cf_member_img_width']}',
|
||||
cf_member_img_height = '{$_POST['cf_member_img_height']}',
|
||||
cf_login_minutes = '{$_POST['cf_login_minutes']}',
|
||||
cf_image_extension = '{$_POST['cf_image_extension']}',
|
||||
cf_flash_extension = '{$_POST['cf_flash_extension']}',
|
||||
@@ -127,6 +163,7 @@ $sql = " update {$g5['config_table']}
|
||||
cf_sms_type = '{$_POST['cf_sms_type']}',
|
||||
cf_icode_id = '{$_POST['cf_icode_id']}',
|
||||
cf_icode_pw = '{$_POST['cf_icode_pw']}',
|
||||
cf_icode_token_key = '{$_POST['cf_icode_token_key']}',
|
||||
cf_icode_server_ip = '{$_POST['cf_icode_server_ip']}',
|
||||
cf_icode_server_port = '{$_POST['cf_icode_server_port']}',
|
||||
cf_googl_shorturl_apikey = '{$_POST['cf_googl_shorturl_apikey']}',
|
||||
@@ -135,6 +172,19 @@ $sql = " update {$g5['config_table']}
|
||||
cf_facebook_secret = '{$_POST['cf_facebook_secret']}',
|
||||
cf_twitter_key = '{$_POST['cf_twitter_key']}',
|
||||
cf_twitter_secret = '{$_POST['cf_twitter_secret']}',
|
||||
cf_social_login_use = '{$_POST['cf_social_login_use']}',
|
||||
cf_naver_clientid = '{$_POST['cf_naver_clientid']}',
|
||||
cf_naver_secret = '{$_POST['cf_naver_secret']}',
|
||||
cf_google_clientid = '{$_POST['cf_google_clientid']}',
|
||||
cf_google_secret = '{$_POST['cf_google_secret']}',
|
||||
cf_kakao_rest_key = '{$_POST['cf_kakao_rest_key']}',
|
||||
cf_kakao_client_secret = '{$_POST['cf_kakao_client_secret']}',
|
||||
cf_social_servicelist = '{$cf_social_servicelist}',
|
||||
cf_captcha = '{$_POST['cf_captcha']}',
|
||||
cf_recaptcha_site_key = '{$_POST['cf_recaptcha_site_key']}',
|
||||
cf_recaptcha_secret_key = '{$_POST['cf_recaptcha_secret_key']}',
|
||||
cf_payco_clientid = '{$_POST['cf_payco_clientid']}',
|
||||
cf_payco_secret = '{$_POST['cf_payco_secret']}',
|
||||
cf_1_subj = '{$_POST['cf_1_subj']}',
|
||||
cf_2_subj = '{$_POST['cf_2_subj']}',
|
||||
cf_3_subj = '{$_POST['cf_3_subj']}',
|
||||
@@ -159,5 +209,13 @@ sql_query($sql);
|
||||
|
||||
//sql_query(" OPTIMIZE TABLE `$g5[config_table]` ");
|
||||
|
||||
if( isset($_POST['cf_bbs_rewrite']) ){
|
||||
g5_delete_all_cache();
|
||||
}
|
||||
|
||||
run_event('admin_config_form_update');
|
||||
|
||||
update_rewrite_rules();
|
||||
|
||||
goto_url('./config_form.php', false);
|
||||
?>
|
||||
@@ -35,6 +35,7 @@ if(!sql_query(" select co_skin from {$g5['content_table']} limit 1 ", false)) {
|
||||
|
||||
$html_title = "내용";
|
||||
$g5['title'] = $html_title.' 관리';
|
||||
$readonly = '';
|
||||
|
||||
if ($w == "u")
|
||||
{
|
||||
@@ -49,9 +50,11 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$co['co_html'] = 2;
|
||||
$co['co_skin'] = 'basic';
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
$co = array(
|
||||
'co_html' => 2,
|
||||
'co_skin' => 'basic',
|
||||
'co_mobile_skin' => 'basic'
|
||||
);
|
||||
}
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
@@ -75,7 +78,7 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<td>
|
||||
<?php echo help('20자 이내의 영문자, 숫자, _ 만 가능합니다.'); ?>
|
||||
<input type="text" value="<?php echo $co['co_id']; ?>" name="co_id" id ="co_id" required <?php echo $readonly; ?> class="required <?php echo $readonly; ?> frm_input" size="20" maxlength="20">
|
||||
<?php if ($w == 'u') { ?><a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $co_id; ?>" class="btn_frmline">내용확인</a><?php } ?>
|
||||
<?php if ($w == 'u') { ?><a href="<?php echo get_pretty_url('content', $co_id); ?>" class="btn_frmline">내용확인</a><?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,11 +87,11 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td><?php echo editor_html('co_content', get_text($co['co_content'], 0)); ?></td>
|
||||
<td><?php echo editor_html('co_content', get_text(html_purifier($co['co_content']), 0)); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">모바일 내용</th>
|
||||
<td><?php echo editor_html('co_mobile_content', get_text($co['co_mobile_content'], 0)); ?></td>
|
||||
<td><?php echo editor_html('co_mobile_content', get_text(html_purifier($co['co_mobile_content']), 0)); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_skin">스킨 디렉토리<strong class="sound_only">필수</strong></label></th>
|
||||
@@ -102,16 +105,18 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<?php echo get_mobile_skin_select('content', 'co_mobile_skin', 'co_mobile_skin', $co['co_mobile_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<th scope="row"><label for="co_tag_filter_use">태그 필터링 사용</label></th>
|
||||
<td>
|
||||
<?php echo help("내용에서 iframe 등의 태그를 사용하려면 사용안함으로 선택해 주십시오."); ?>
|
||||
<select name="co_tag_filter_use" id="co_tag_filter_use">
|
||||
<option value="1"<?php echo get_selected(1, $co['co_tag_filter_use']); ?>>사용함</option>
|
||||
<option value="0"<?php echo get_selected(0, $co['co_tag_filter_use']); ?>>사용안함</option>
|
||||
<option value="1"<?php echo get_selected($co['co_tag_filter_use'], 1); ?>>사용함</option>
|
||||
<option value="0"<?php echo get_selected($co['co_tag_filter_use'], 0); ?>>사용안함</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<th scope="row"><label for="co_include_head">상단 파일 경로</label></th>
|
||||
<td>
|
||||
@@ -126,6 +131,22 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<input type="text" name="co_include_tail" value="<?php echo $co['co_include_tail']; ?>" id="co_include_tail" class="frm_input" size="60">
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="admin_captcha_box" style="display:none;">
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php
|
||||
echo help("파일 경로를 입력 또는 수정시 캡챠를 반드시 입력해야 합니다.");
|
||||
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
$captcha_html = captcha_html();
|
||||
$captcha_js = chk_captcha_js();
|
||||
echo $captcha_html;
|
||||
?>
|
||||
<script>
|
||||
jQuery("#captcha_key").removeAttr("required").removeClass("required");
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="co_himg">상단이미지</label></th>
|
||||
<td>
|
||||
@@ -178,14 +199,63 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./contentlist.php">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./contentlist.php" class="btn btn_02">목록</a>
|
||||
<input type="submit" value="확인" class="btn btn_submit" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<?php
|
||||
// [KVE-2018-2089] 취약점 으로 인해 파일 경로 수정시에만 자동등록방지 코드 사용
|
||||
?>
|
||||
<script>
|
||||
var captcha_chk = false;
|
||||
|
||||
function use_captcha_check(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_admin_url+"/ajax.use_captcha.php",
|
||||
data: { admin_use_captcha: "1" },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function frm_check_file(){
|
||||
var co_include_head = "<?php echo $co['co_include_head']; ?>";
|
||||
var co_include_tail = "<?php echo $co['co_include_tail']; ?>";
|
||||
var head = jQuery.trim(jQuery("#co_include_head").val());
|
||||
var tail = jQuery.trim(jQuery("#co_include_tail").val());
|
||||
|
||||
if(co_include_head !== head || co_include_tail !== tail){
|
||||
// 캡챠를 사용합니다.
|
||||
jQuery("#admin_captcha_box").show();
|
||||
captcha_chk = true;
|
||||
|
||||
use_captcha_check();
|
||||
|
||||
return false;
|
||||
} else {
|
||||
jQuery("#admin_captcha_box").hide();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
jQuery(function($){
|
||||
if( window.self !== window.top ){ // frame 또는 iframe을 사용할 경우 체크
|
||||
$("#co_include_head, #co_include_tail").on("change paste keyup", function(e) {
|
||||
frm_check_file();
|
||||
});
|
||||
|
||||
use_captcha_check();
|
||||
}
|
||||
});
|
||||
|
||||
function frmcontentform_check(f)
|
||||
{
|
||||
errmsg = "";
|
||||
@@ -204,6 +274,11 @@ function frmcontentform_check(f)
|
||||
errfld.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if( captcha_chk ) {
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -12,12 +12,72 @@ else
|
||||
|
||||
check_admin_token();
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$co_row = sql_fetch($sql);
|
||||
}
|
||||
|
||||
$co_id = preg_replace('/[^a-z0-9_]/i', '', $co_id);
|
||||
$co_subject = strip_tags(clean_xss_attributes($co_subject));
|
||||
$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255));
|
||||
$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255));
|
||||
$co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1;
|
||||
|
||||
// 관리자가 자동등록방지를 사용해야 할 경우
|
||||
if (($co_row['co_include_head'] !== $co_include_head || $co_row['co_include_tail'] !== $co_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){
|
||||
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
|
||||
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
}
|
||||
|
||||
@mkdir(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
@chmod(G5_DATA_PATH."/content", G5_DIR_PERMISSION);
|
||||
|
||||
if ($co_himg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_h");
|
||||
if ($co_timg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_t");
|
||||
|
||||
$error_msg = '';
|
||||
|
||||
if( $co_include_head ){
|
||||
|
||||
$file_ext = pathinfo($co_include_head, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_head) ) {
|
||||
alert('상단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $co_include_tail ){
|
||||
|
||||
$file_ext = pathinfo($co_include_tail, PATHINFO_EXTENSION);
|
||||
|
||||
if( ! $file_ext || ! in_array($file_ext, array('php', 'htm', 'html')) || ! preg_match('/^.*\.(php|htm|html)$/i', $co_include_tail) ) {
|
||||
alert('하단 파일 경로의 확장자는 php, htm, html 만 허용합니다.');
|
||||
}
|
||||
}
|
||||
|
||||
if( $co_include_head && ! is_include_path_check($co_include_head, 1) ){
|
||||
$co_include_head = '';
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 상단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
if( $co_include_tail && ! is_include_path_check($co_include_tail, 1) ){
|
||||
$co_include_tail = '';
|
||||
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
|
||||
}
|
||||
|
||||
if( function_exists('filter_input_include_path') ){
|
||||
$co_include_head = filter_input_include_path($co_include_head);
|
||||
$co_include_tail = filter_input_include_path($co_include_tail);
|
||||
}
|
||||
|
||||
$co_seo_title = exist_seo_title_recursive('content', generate_seo_title($co_subject), $g5['content_table'], $co_id);
|
||||
|
||||
$sql_common = " co_include_head = '$co_include_head',
|
||||
co_include_tail = '$co_include_tail',
|
||||
co_html = '$co_html',
|
||||
@@ -25,16 +85,13 @@ $sql_common = " co_include_head = '$co_include_head',
|
||||
co_subject = '$co_subject',
|
||||
co_content = '$co_content',
|
||||
co_mobile_content = '$co_mobile_content',
|
||||
co_seo_title = '$co_seo_title',
|
||||
co_skin = '$co_skin',
|
||||
co_mobile_skin = '$co_mobile_skin' ";
|
||||
|
||||
if ($w == "")
|
||||
{
|
||||
//if(eregi("[^a-z0-9_]", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
|
||||
|
||||
$sql = " select co_id from {$g5['content_table']} where co_id = '$co_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
$row = $co_row;
|
||||
if ($row['co_id'])
|
||||
alert("이미 같은 ID로 등록된 내용이 있습니다.");
|
||||
|
||||
@@ -59,6 +116,11 @@ else if ($w == "d")
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
if(function_exists('get_admin_captcha_by'))
|
||||
get_admin_captcha_by('remove');
|
||||
|
||||
g5_delete_cache_by_prefix('content-'.$co_id.'-');
|
||||
|
||||
if ($w == "" || $w == "u")
|
||||
{
|
||||
if ($_FILES['co_himg']['name'])
|
||||
@@ -74,7 +136,11 @@ if ($w == "" || $w == "u")
|
||||
@chmod($dest_path, G5_FILE_PERMISSION);
|
||||
}
|
||||
|
||||
goto_url("./contentform.php?w=u&co_id=$co_id");
|
||||
if( $error_msg ){
|
||||
alert($error_msg, "./contentform.php?w=u&co_id=$co_id");
|
||||
} else {
|
||||
goto_url("./contentform.php?w=u&co_id=$co_id");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -51,11 +51,11 @@ $result = sql_query($sql);
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php if ($page > 1) {?><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>">처음으로</a><?php } ?>
|
||||
<span>전체 내용 <?php echo $total_count; ?>건</span>
|
||||
<span class="btn_ov01"><span class="ov_txt">전체 내용</span><span class="ov_num"> <?php echo $total_count; ?>건</span></span>
|
||||
</div>
|
||||
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./contentform.php">내용 추가</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./contentform.php" class="btn btn_01">내용 추가</a>
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
@@ -74,11 +74,11 @@ $result = sql_query($sql);
|
||||
?>
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_id"><?php echo $row['co_id']; ?></td>
|
||||
<td><?php echo htmlspecialchars2($row['co_subject']); ?></td>
|
||||
<td class="td_mng">
|
||||
<a href="./contentform.php?w=u&co_id=<?php echo $row['co_id']; ?>"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>수정</a>
|
||||
<a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $row['co_id']; ?>"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a>
|
||||
<a href="./contentformupdate.php?w=d&co_id=<?php echo $row['co_id']; ?>" onclick="return delete_confirm(this);"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>삭제</a>
|
||||
<td class="td_left"><?php echo htmlspecialchars2($row['co_subject']); ?></td>
|
||||
<td class="td_mng td_mng_l">
|
||||
<a href="./contentform.php?w=u&co_id=<?php echo $row['co_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>수정</a>
|
||||
<a href="<?php echo get_pretty_url('content', $row['co_id']); ?>" class="btn btn_02"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a>
|
||||
<a href="./contentformupdate.php?w=d&co_id=<?php echo $row['co_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>삭제</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
@charset "utf-8";
|
||||
#preview_item{height:50px}
|
||||
#preview_item ul{margin:0;padding:0;top:0;width:100%;border-bottom:1px solid #eee; margin:0 auto;text-align:center;background:#333;position:fixed;top:0;z-index:999999;width:100%;}
|
||||
#preview_item ul li{list-style:none;display:inline-block;height:50px;line-height:50px;padding:0 3px;*display:inline; zoom:1;}
|
||||
#preview_item ul li a{color:#555;padding:0 8px;height:24px;line-height:24px;background:#f2f2f2;border-radius:3px;display:inline-block;vertical-align:middle;border:1px solid #dcdcdc;}
|
||||
#preview_item ul li a:hover{background:#ccc;text-decoration:none;border:1px solid #ccc;}
|
||||
#preview_item ul{margin:0;padding:0;top:0;width:100%;margin:0 auto;text-align:center;background:#000;position:fixed;top:0;z-index:999999}
|
||||
#preview_item ul li{list-style:none;display:inline-block;height:50px;line-height:50px;padding:0 2px;*display:inline; zoom:1;}
|
||||
#preview_item ul li a{color:#ccc;padding:0 8px;height:32px;line-height:30px;background:none;font-weight:bold;border-radius:5px;display:inline-block;vertical-align:middle;border:1px solid #aaa;}
|
||||
#preview_item ul li a:hover{background:#fff;text-decoration:none;border:1px solid #ccc;color:#333}
|
||||
#preview_item ul li button{color:#fff;padding:0 8px;background:#FF5191;border-radius:3px;height:26px;line-height:24px;vertical-align:middle;border:none}
|
||||
#preview_item ul li button:hover{background:#e40d5c;color:#fff;text-decoration:none;}
|
||||
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
$sub_menu = '100410';
|
||||
include_once('./_common.php');
|
||||
|
||||
auth_check($auth[$sub_menu], 'r');
|
||||
|
||||
$g5['title'] = 'DB 업그레이드';
|
||||
include_once('./admin.head.php');
|
||||
|
||||
$is_check = false;
|
||||
|
||||
//소셜 로그인 관련 필드 및 구글 리챕챠 필드 추가
|
||||
if(!isset($config['cf_social_login_use'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_social_login_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_googl_shorturl_apikey`,
|
||||
ADD `cf_google_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_twitter_secret`,
|
||||
ADD `cf_google_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_clientid`,
|
||||
ADD `cf_naver_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_google_secret`,
|
||||
ADD `cf_naver_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_clientid`,
|
||||
ADD `cf_kakao_rest_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_naver_secret`,
|
||||
ADD `cf_social_servicelist` varchar(255) NOT NULL DEFAULT '' AFTER `cf_social_login_use`,
|
||||
ADD `cf_payco_clientid` varchar(100) NOT NULL DEFAULT '' AFTER `cf_social_servicelist`,
|
||||
ADD `cf_payco_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_payco_clientid`,
|
||||
ADD `cf_captcha` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_js_apikey`,
|
||||
ADD `cf_recaptcha_site_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_captcha`,
|
||||
ADD `cf_recaptcha_secret_key` varchar(100) NOT NULL DEFAULT '' AFTER `cf_recaptcha_site_key`
|
||||
", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
//소셜 로그인 관련 필드 카카오 클라이언트 시크릿 추가
|
||||
if(!isset($config['cf_kakao_client_secret'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_kakao_client_secret` varchar(100) NOT NULL DEFAULT '' AFTER `cf_kakao_rest_key`
|
||||
", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 회원 이미지 관련 필드 추가
|
||||
if(!isset($config['cf_member_img_size'])) {
|
||||
sql_query("ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_member_img_size` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_icon_height`,
|
||||
ADD `cf_member_img_width` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_size`,
|
||||
ADD `cf_member_img_height` int(11) NOT NULL DEFAULT '0' AFTER `cf_member_img_width`
|
||||
", true);
|
||||
|
||||
$sql = " update {$g5['config_table']} set cf_member_img_size = 50000, cf_member_img_width = 60, cf_member_img_height = 60 ";
|
||||
sql_query($sql, false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 소셜 로그인 관리 테이블 없을 경우 생성
|
||||
if( isset($g5['social_profile_table']) && !sql_query(" DESC {$g5['social_profile_table']} ", false)) {
|
||||
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['social_profile_table']}` (
|
||||
`mp_no` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`mb_id` varchar(255) NOT NULL DEFAULT '',
|
||||
`provider` varchar(50) NOT NULL DEFAULT '',
|
||||
`object_sha` varchar(45) NOT NULL DEFAULT '',
|
||||
`identifier` varchar(255) NOT NULL DEFAULT '',
|
||||
`profileurl` varchar(255) NOT NULL DEFAULT '',
|
||||
`photourl` varchar(255) NOT NULL DEFAULT '',
|
||||
`displayname` varchar(150) NOT NULL DEFAULT '',
|
||||
`description` varchar(255) NOT NULL DEFAULT '',
|
||||
`mp_register_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`mp_latest_day` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
UNIQUE KEY `mp_no` (`mp_no`),
|
||||
KEY `mb_id` (`mb_id`),
|
||||
KEY `provider` (`provider`)
|
||||
) ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 게시판 짧은 주소
|
||||
$sql = " select bo_table from {$g5['board_table']} ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
$write_table = $g5['write_prefix'] . $row['bo_table']; // 게시판 테이블 전체이름
|
||||
|
||||
$sql = " SHOW COLUMNS FROM {$write_table} LIKE 'wr_seo_title' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$write_table}`
|
||||
ADD `wr_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `wr_content`,
|
||||
ADD INDEX `wr_seo_title` (`wr_seo_title`);
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 내용 관리 짧은 주소
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['content_table']}` LIKE 'co_seo_title' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$g5['content_table']}`
|
||||
ADD `co_seo_title` varchar(200) NOT NULL DEFAULT '' AFTER `co_content`,
|
||||
ADD INDEX `co_seo_title` (`co_seo_title`);
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$sql = "select * from {$g5['content_table']} limit 100 ";
|
||||
$result = sql_query($sql);
|
||||
|
||||
while ($row = sql_fetch_array($result)) {
|
||||
|
||||
if( ! $row['co_seo_title']){
|
||||
|
||||
$co_seo_title = exist_seo_title_recursive('content', generate_seo_title($row['co_subject']), $g5['content_table'], $row['co_id']);
|
||||
|
||||
$sql = " update {$g5['content_table']}
|
||||
set co_seo_title = '$co_seo_title'
|
||||
where co_id = '{$row['co_id']}' ";
|
||||
sql_query($sql);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 메모 테이블
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['memo_table']}` LIKE 'me_send_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ){
|
||||
sql_query("ALTER TABLE `{$g5['memo_table']}`
|
||||
ADD `me_send_id` INT(11) NOT NULL DEFAULT '0',
|
||||
ADD `me_type` ENUM('send','recv') NOT NULL DEFAULT 'recv',
|
||||
ADD `me_send_ip` VARCHAR(100) NOT NULL DEFAULT '',
|
||||
CHANGE COLUMN `me_id` `me_id` INT(11) NOT NULL AUTO_INCREMENT;
|
||||
", false);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 읽지 않은 메모 수 칼럼
|
||||
if(!isset($member['mb_memo_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_memo_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_call`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 스크랩 읽은 수 추가
|
||||
if(!isset($member['mb_scrap_cnt'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['member_table']}`
|
||||
ADD `mb_scrap_cnt` int(11) NOT NULL DEFAULT '0' AFTER `mb_memo_cnt`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 짧은 URL 주소를 사용 여부 필드 추가
|
||||
if (!isset($config['cf_bbs_rewrite'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_bbs_rewrite` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_link_target` ", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
// 파일테이블에 추가 칼럼
|
||||
|
||||
$sql = " SHOW COLUMNS FROM `{$g5['board_file_table']}` LIKE 'bf_fileurl' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if( !$row ) {
|
||||
sql_query(" ALTER TABLE `{$g5['board_file_table']}`
|
||||
ADD COLUMN `bf_fileurl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_content`,
|
||||
ADD COLUMN `bf_thumburl` VARCHAR(255) NOT NULL DEFAULT '' AFTER `bf_fileurl`,
|
||||
ADD COLUMN `bf_storage` VARCHAR(50) NOT NULL DEFAULT '' AFTER `bf_thumburl`", true);
|
||||
|
||||
$is_check = true;
|
||||
}
|
||||
|
||||
$is_check = run_replace('admin_dbupgrade', $is_check);
|
||||
|
||||
$db_upgrade_msg = $is_check ? 'DB 업그레이드가 완료되었습니다.' : '더 이상 업그레이드 할 내용이 없습니다.<br>현재 DB 업그레이드가 완료된 상태입니다.';
|
||||
?>
|
||||
|
||||
<div class="local_desc01 local_desc">
|
||||
<p>
|
||||
<?php echo $db_upgrade_msg; ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include_once ('./admin.tail.php');
|
||||
?>
|
||||
@@ -5,6 +5,9 @@ include_once(G5_EDITOR_LIB);
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
$fa_id = isset($fa_id) ? (int) $fa_id : 0;
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
$fm = sql_fetch($sql);
|
||||
|
||||
@@ -51,19 +54,19 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">질문</th>
|
||||
<td><?php echo editor_html('fa_subject', get_text($fa['fa_subject'], 0)); ?></td>
|
||||
<td><?php echo editor_html('fa_subject', get_text(html_purifier($fa['fa_subject']), 0)); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">답변</th>
|
||||
<td><?php echo editor_html('fa_content', get_text($fa['fa_content'], 0)); ?></td>
|
||||
<td><?php echo editor_html('fa_content', get_text(html_purifier($fa['fa_content']), 0)); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./faqlist.php?fm_id=<?php echo $fm_id; ?>">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<input type="submit" value="확인" class="btn_submit btn" accesskey="s">
|
||||
<a href="./faqlist.php?fm_id=<?php echo $fm_id; ?>" class="btn btn_02">목록</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -5,7 +5,7 @@ include_once('./_common.php');
|
||||
if ($w == "u" || $w == "d")
|
||||
check_demo();
|
||||
|
||||
if ($W == 'd')
|
||||
if ($w == 'd')
|
||||
auth_check($auth[$sub_menu], "d");
|
||||
else
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
@@ -5,7 +5,13 @@ include_once('./_common.php');
|
||||
auth_check($auth[$sub_menu], "r");
|
||||
|
||||
$g5['title'] = 'FAQ 상세관리';
|
||||
if ($fm_subject) $g5['title'] .= ' : '.$fm_subject;
|
||||
if ($fm_subject){
|
||||
$fm_subject = clean_xss_tags(strip_tags($fm_subject));
|
||||
$g5['title'] .= ' : '.$fm_subject;
|
||||
}
|
||||
|
||||
$fm_id = (int) $fm_id;
|
||||
|
||||
include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
|
||||
$sql = " select * from {$g5['faq_master_table']} where fm_id = '$fm_id' ";
|
||||
@@ -16,14 +22,14 @@ $sql_common = " from {$g5['faq_table']} where fm_id = '$fm_id' ";
|
||||
// 테이블의 전체 레코드수만 얻음
|
||||
$sql = " select count(*) as cnt " . $sql_common;
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row[cnt];
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$sql = "select * $sql_common order by fa_order , fa_id ";
|
||||
$result = sql_query($sql);
|
||||
?>
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
등록된 FAQ 상세내용 <?php echo $total_count; ?>건
|
||||
<span class="btn_ov01"><span class="ov_txt"> 등록된 FAQ 상세내용</span><span class="ov_num"> <?php echo $total_count; ?>건</span></span>
|
||||
</div>
|
||||
|
||||
<div class="local_desc01 local_desc">
|
||||
@@ -33,8 +39,9 @@ $result = sql_query($sql);
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./faqform.php?fm_id=<?php echo $fm['fm_id']; ?>">FAQ 상세내용 추가</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./faqmasterlist.php" class="btn btn_02">FAQ 관리</a>
|
||||
<a href="./faqform.php?fm_id=<?php echo $fm['fm_id']; ?>" class="btn btn_01">FAQ 상세내용 추가</a>
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
@@ -53,7 +60,7 @@ $result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
{
|
||||
$row1 = sql_fetch(" select COUNT(*) as cnt from {$g5['faq_table']} where fm_id = '{$row['fm_id']}' ");
|
||||
$cnt = $row1[cnt];
|
||||
$cnt = $row1['cnt'];
|
||||
|
||||
$s_mod = icon("수정", "");
|
||||
$s_del = icon("삭제", "");
|
||||
@@ -61,15 +68,17 @@ $result = sql_query($sql);
|
||||
$num = $i + 1;
|
||||
|
||||
$bg = 'bg'.($i%2);
|
||||
|
||||
$fa_subject = conv_content($row['fa_subject'], 1);
|
||||
?>
|
||||
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_num"><?php echo $num; ?></td>
|
||||
<td><?php echo stripslashes($row['fa_subject']); ?></td>
|
||||
<td class="td_left"><?php echo $fa_subject; ?></td>
|
||||
<td class="td_num"><?php echo $row['fa_order']; ?></td>
|
||||
<td class="td_mngsmall">
|
||||
<a href="./faqform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>"><span class="sound_only"><?php echo stripslashes($row['fa_subject']); ?> </span>수정</a>
|
||||
<a href="./faqformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" onclick="return delete_confirm(this);"><span class="sound_only"><?php echo stripslashes($row['fa_subject']); ?> </span>삭제</a>
|
||||
<td class="td_mng td_mng_m">
|
||||
<a href="./faqform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo $fa_subject; ?> </span>수정</a>
|
||||
<a href="./faqformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>&fa_id=<?php echo $row['fa_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo $fa_subject; ?> </span>삭제</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -85,10 +94,6 @@ $result = sql_query($sql);
|
||||
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<a href="./faqmasterlist.php">FAQ 관리</a>
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
include_once (G5_ADMIN_PATH.'/admin.tail.php');
|
||||
|
||||
@@ -7,6 +7,8 @@ auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$html_title = 'FAQ';
|
||||
|
||||
$fm_id = preg_replace('/[^0-9]/', '', $fm_id);
|
||||
|
||||
if ($w == "u")
|
||||
{
|
||||
$html_title .= ' 수정';
|
||||
@@ -19,6 +21,7 @@ if ($w == "u")
|
||||
else
|
||||
{
|
||||
$html_title .= ' 입력';
|
||||
$fm = array();
|
||||
}
|
||||
|
||||
$g5['title'] = $html_title.' 관리';
|
||||
@@ -114,34 +117,34 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<tr>
|
||||
<th scope="row">상단 내용</th>
|
||||
<td>
|
||||
<?php echo editor_html('fm_head_html', get_text($fm['fm_head_html'], 0)); ?>
|
||||
<?php echo editor_html('fm_head_html', get_text(html_purifier($fm['fm_head_html']), 0)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">하단 내용</th>
|
||||
<td>
|
||||
<?php echo editor_html('fm_tail_html', get_text($fm['fm_tail_html'], 0)); ?>
|
||||
<?php echo editor_html('fm_tail_html', get_text(html_purifier($fm['fm_tail_html']), 0)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">모바일상단 내용</th>
|
||||
<td>
|
||||
<?php echo editor_html('fm_mobile_head_html', get_text($fm['fm_mobile_head_html'], 0)); ?>
|
||||
<?php echo editor_html('fm_mobile_head_html', get_text(html_purifier($fm['fm_mobile_head_html']), 0)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">모바일하단 내용</th>
|
||||
<td>
|
||||
<?php echo editor_html('fm_mobile_tail_html', get_text($fm['fm_mobile_tail_html'], 0)); ?>
|
||||
<?php echo editor_html('fm_mobile_tail_html', get_text(html_purifier($fm['fm_mobile_tail_html']), 0)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./faqmasterlist.php">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./faqmasterlist.php" class="btn btn_02">목록</a>
|
||||
<input type="submit" value="확인" class="btn_submit btn" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -18,6 +18,8 @@ check_admin_token();
|
||||
if ($fm_himg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_h");
|
||||
if ($fm_timg_del) @unlink(G5_DATA_PATH."/faq/{$fm_id}_t");
|
||||
|
||||
$fm_subject = strip_tags(clean_xss_attributes($fm_subject));
|
||||
|
||||
$sql_common = " set fm_subject = '$fm_subject',
|
||||
fm_head_html = '$fm_head_html',
|
||||
fm_tail_html = '$fm_tail_html',
|
||||
|
||||
@@ -65,7 +65,7 @@ $result = sql_query($sql);
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php if ($page > 1) {?><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>">처음으로</a><?php } ?>
|
||||
<span>전체 FAQ <?php echo $total_count; ?>건</span>
|
||||
<span class="btn_ov01"><span class="ov_txt"> 전체 FAQ </span><span class="ov_num"> <?php echo $total_count; ?>건</span></span>
|
||||
</div>
|
||||
|
||||
<div class="local_desc01 local_desc">
|
||||
@@ -76,8 +76,8 @@ $result = sql_query($sql);
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./faqmasterform.php">FAQ추가</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./faqmasterform.php" class="btn_01 btn">FAQ추가</a>
|
||||
</div>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
@@ -101,13 +101,13 @@ $result = sql_query($sql);
|
||||
?>
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td class="td_num"><?php echo $row['fm_id']; ?></td>
|
||||
<td><a href="./faqlist.php?fm_id=<?php echo $row['fm_id']; ?>&fm_subject=<?php echo $row['fm_subject']; ?>"><?php echo stripslashes($row['fm_subject']); ?></a></td>
|
||||
<td class="td_left"><a href="./faqlist.php?fm_id=<?php echo $row['fm_id']; ?>&fm_subject=<?php echo $row['fm_subject']; ?>"><?php echo stripslashes($row['fm_subject']); ?></a></td>
|
||||
<td class="td_num"><?php echo $cnt; ?></td>
|
||||
<td class="td_num"><?php echo $row['fm_order']?></td>
|
||||
<td class="td_mng">
|
||||
<a href="./faqmasterform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>수정</a>
|
||||
<a href="<?php echo G5_BBS_URL; ?>/faq.php?fm_id=<?php echo $row['fm_id']; ?>"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>보기</a>
|
||||
<a href="./faqmasterformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>" onclick="return delete_confirm(this);"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>삭제</a>
|
||||
<td class="td_mng td_mng_l">
|
||||
<a href="./faqmasterform.php?w=u&fm_id=<?php echo $row['fm_id']; ?>" class="btn btn_03"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>수정</a>
|
||||
<a href="<?php echo G5_BBS_URL; ?>/faq.php?fm_id=<?php echo $row['fm_id']; ?>" class="btn btn_02"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>보기</a>
|
||||
<a href="./faqmasterformupdate.php?w=d&fm_id=<?php echo $row['fm_id']; ?>" onclick="return delete_confirm(this);" class="btn btn_02"><span class="sound_only"><?php echo stripslashes($row['fm_subject']); ?> </span>삭제</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 957 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1012 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 962 B |
|
After Width: | Height: | Size: 972 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 75 B |
|
After Width: | Height: | Size: 51 B |
@@ -1,6 +1,12 @@
|
||||
<?php
|
||||
$sub_menu = '100000';
|
||||
include_once('./_common.php');
|
||||
|
||||
@include_once('./safe_check.php');
|
||||
if(function_exists('social_log_file_delete')){
|
||||
social_log_file_delete(86400); //소셜로그인 디버그 파일 24시간 지난것은 삭제
|
||||
}
|
||||
|
||||
$g5['title'] = '관리자메인';
|
||||
include_once ('./admin.head.php');
|
||||
|
||||
@@ -206,8 +212,8 @@ $colspan = 5;
|
||||
|
||||
<tr>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/new.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo cut_str($row['gr_subject'],10) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo cut_str($row['bo_subject'],20) ?></a></td>
|
||||
<td><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>&wr_id=<?php echo $row2['wr_id'] ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_category"><a href="<?php echo get_pretty_url($row['bo_table']) ?>"><?php echo cut_str($row['bo_subject'],20) ?></a></td>
|
||||
<td><a href="<?php echo get_pretty_url($row['bo_table'], $row2['wr_id']); ?><?php echo $comment_link ?>"><?php echo $comment ?><?php echo conv_subject($row2['wr_subject'], 100) ?></a></td>
|
||||
<td class="td_mbname"><div><?php echo $name ?></div></td>
|
||||
<td class="td_datetime"><?php echo $datetime ?></td>
|
||||
</tr>
|
||||
@@ -277,7 +283,7 @@ $colspan = 7;
|
||||
$link1 = $link2 = "";
|
||||
if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table'])
|
||||
{
|
||||
$link1 = '<a href="'.G5_BBS_URL.'/board.php?bo_table='.$row['po_rel_table'].'&wr_id='.$row['po_rel_id'].'" target="_blank">';
|
||||
$link1 = '<a href="'.get_pretty_url($row['po_rel_table'], $row['po_rel_id']).'" target="_blank">';
|
||||
$link2 = '</a>';
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -10,6 +10,8 @@ $html_title = '회원메일';
|
||||
if ($w == 'u') {
|
||||
$html_title .= '수정';
|
||||
$readonly = ' readonly';
|
||||
|
||||
$ma_id = (int) $ma_id;
|
||||
|
||||
$sql = " select * from {$g5['mail_table']} where ma_id = '{$ma_id}' ";
|
||||
$ma = sql_fetch($sql);
|
||||
@@ -23,7 +25,7 @@ $g5['title'] = $html_title;
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
|
||||
<p>메일 내용에 {이름} , {닉네임} , {회원아이디} , {이메일} 처럼 내용에 삽입하면 해당 내용에 맞게 변환하여 메일을 발송합니다.</p>
|
||||
<div class="local_desc"><p>메일 내용에 {이름} , {닉네임} , {회원아이디} , {이메일} 처럼 내용에 삽입하면 해당 내용에 맞게 변환하여 메일을 발송합니다.</p></div>
|
||||
|
||||
<form name="fmailform" id="fmailform" action="./mail_update.php" onsubmit="return fmailform_check(this);" method="post">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>" id="w">
|
||||
@@ -40,18 +42,18 @@ include_once('./admin.head.php');
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_subject">메일 제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo $ma['ma_subject'] ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
<td><input type="text" name="ma_subject" value="<?php echo get_sanitize_input($ma['ma_subject']); ?>" id="ma_subject" required class="required frm_input" size="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="ma_content">메일 내용<strong class="sound_only">필수</strong></label></th>
|
||||
<td><?php echo editor_html("ma_content", get_text($ma['ma_content'], 0)); ?></td>
|
||||
<td><?php echo editor_html("ma_content", get_text(html_purifier($ma['ma_content']), 0)); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" class="btn_submit" accesskey="s" value="확인">
|
||||
<div class="btn_fixed_top ">
|
||||
<input type="submit" class="btn_submit btn" accesskey="s" value="확인">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -30,9 +30,6 @@ $colspan = 7;
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./mail_form.php" id="mail_add">메일내용추가</a>
|
||||
</div>
|
||||
|
||||
<form name="fmaillist" id="fmaillist" action="./mail_delete.php" method="post">
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
@@ -52,7 +49,7 @@ $colspan = 7;
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$s_vie = '<a href="./mail_preview.php?ma_id='.$row['ma_id'].'" target="_blank">미리보기</a>';
|
||||
$s_vie = '<a href="./mail_preview.php?ma_id='.$row['ma_id'].'" target="_blank" class="btn btn_03">미리보기</a>';
|
||||
|
||||
$num = number_format($total_count - ($page - 1) * $config['cf_page_rows'] - $i);
|
||||
|
||||
@@ -64,12 +61,12 @@ $colspan = 7;
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['ma_subject']; ?> 메일</label>
|
||||
<input type="checkbox" id="chk_<?php echo $i ?>" name="chk[]" value="<?php echo $row['ma_id'] ?>">
|
||||
</td>
|
||||
<td class="td_num"><?php echo $num ?></td>
|
||||
<td><a href="./mail_form.php?w=u&ma_id=<?php echo $row['ma_id'] ?>"><?php echo $row['ma_subject'] ?></a></td>
|
||||
<td class="td_num_c"><?php echo $num ?></td>
|
||||
<td class="td_left"><a href="./mail_form.php?w=u&ma_id=<?php echo $row['ma_id'] ?>"><?php echo $row['ma_subject'] ?></a></td>
|
||||
<td class="td_datetime"><?php echo $row['ma_time'] ?></td>
|
||||
<td class="td_test"><a href="./mail_test.php?ma_id=<?php echo $row['ma_id'] ?>">테스트</a></td>
|
||||
<td class="td_send"><a href="./mail_select_form.php?ma_id=<?php echo $row['ma_id'] ?>">보내기</a></td>
|
||||
<td class="td_mngsmall"><?php echo $s_vie ?></td>
|
||||
<td class="td_mng"><?php echo $s_vie ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
@@ -80,9 +77,9 @@ $colspan = 7;
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" value="선택삭제">
|
||||
<div class="btn_fixed_top">
|
||||
<input type="submit" value="선택삭제" class="btn btn_02">
|
||||
<a href="./mail_form.php" id="mail_add" class="btn btn_01">메일내용추가</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ include_once('./admin.head.php');
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<textarea name="ma_list" style="display:none"><?=$ma_list?></textarea>
|
||||
<textarea name="ma_list" style="display:none"><?php echo $ma_list?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
|
||||
@@ -9,11 +9,13 @@ auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$ma_id = isset($_POST['ma_id']) ? (int) $_POST['ma_id'] : 0;
|
||||
$ma_subject = isset($_POST['ma_subject']) ? strip_tags(clean_xss_attributes($_POST['ma_subject'])) : '';
|
||||
|
||||
if ($w == '')
|
||||
{
|
||||
$sql = " insert {$g5['mail_table']}
|
||||
set ma_id = '{$_POST['ma_id']}',
|
||||
ma_subject = '{$_POST['ma_subject']}',
|
||||
set ma_subject = '{$ma_subject}',
|
||||
ma_content = '{$_POST['ma_content']}',
|
||||
ma_time = '".G5_TIME_YMDHIS."',
|
||||
ma_ip = '{$_SERVER['REMOTE_ADDR']}' ";
|
||||
@@ -22,16 +24,16 @@ if ($w == '')
|
||||
else if ($w == 'u')
|
||||
{
|
||||
$sql = " update {$g5['mail_table']}
|
||||
set ma_subject = '{$_POST['ma_subject']}',
|
||||
set ma_subject = '{$ma_subject}',
|
||||
ma_content = '{$_POST['ma_content']}',
|
||||
ma_time = '".G5_TIME_YMDHIS."',
|
||||
ma_ip = '{$_SERVER['REMOTE_ADDR']}'
|
||||
where ma_id = '{$_POST['ma_id']}' ";
|
||||
where ma_id = '{$ma_id}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
else if ($w == 'd')
|
||||
{
|
||||
$sql = " delete from {$g5['mail_table']} where ma_id = '{$_POST['ma_id']}' ";
|
||||
$sql = " delete from {$g5['mail_table']} where ma_id = '{$ma_id}' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?
|
||||
<?php
|
||||
$sub_menu = "200100";
|
||||
include_once("./_common.php");
|
||||
|
||||
|
||||
@@ -162,17 +162,17 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_id">아이디<?php echo $sound_only ?></label></th>
|
||||
<td>
|
||||
<input type="text" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id" <?php echo $required_mb_id ?> class="frm_input <?php echo $required_mb_id_class ?>" size="15" minlength="3" maxlength="20">
|
||||
<?php if ($w=='u'){ ?><a href="./boardgroupmember_form.php?mb_id=<?php echo $mb['mb_id'] ?>">접근가능그룹보기</a><?php } ?>
|
||||
<input type="text" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id" <?php echo $required_mb_id ?> class="frm_input <?php echo $required_mb_id_class ?>" size="15" maxlength="20">
|
||||
<?php if ($w=='u'){ ?><a href="./boardgroupmember_form.php?mb_id=<?php echo $mb['mb_id'] ?>" class="btn_frmline">접근가능그룹보기</a><?php } ?>
|
||||
</td>
|
||||
<th scope="row"><label for="mb_password">비밀번호<?php echo $sound_only ?></label></th>
|
||||
<td><input type="password" name="mb_password" id="mb_password" <?php echo $required_mb_password ?> class="frm_input <?php echo $required_mb_password ?>" size="15" maxlength="20"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_name">이름(실명)<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="mb_name" value="<?php echo $mb['mb_name'] ?>" id="mb_name" required class="required frm_input" size="15" minlength="2" maxlength="20"></td>
|
||||
<td><input type="text" name="mb_name" value="<?php echo $mb['mb_name'] ?>" id="mb_name" required class="required frm_input" size="15" maxlength="20"></td>
|
||||
<th scope="row"><label for="mb_nick">닉네임<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="mb_nick" value="<?php echo $mb['mb_nick'] ?>" id="mb_nick" required class="required frm_input" size="15" minlength="2" maxlength="20"></td>
|
||||
<td><input type="text" name="mb_nick" value="<?php echo $mb['mb_nick'] ?>" id="mb_nick" required class="required frm_input" size="15" maxlength="20"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_level">회원 권한</label></th>
|
||||
@@ -209,7 +209,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<input type="radio" name="mb_certify" value="" id="mb_certify_no" <?php echo $mb_certify_no; ?>>
|
||||
<label for="mb_certify_no">아니오</label>
|
||||
</td>
|
||||
<th scope="row"><label for="mb_adult">성인인증</label></th>
|
||||
<th scope="row">성인인증</th>
|
||||
<td>
|
||||
<input type="radio" name="mb_adult" value="1" id="mb_adult_yes" <?php echo $mb_adult_yes; ?>>
|
||||
<label for="mb_adult_yes">예</label>
|
||||
@@ -240,15 +240,31 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
<input type="file" name="mb_icon" id="mb_icon">
|
||||
<?php
|
||||
$mb_dir = substr($mb['mb_id'],0,2);
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
$icon_file = G5_DATA_PATH.'/member/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
$icon_url = G5_DATA_URL.'/member/'.$mb_dir.'/'.$mb['mb_id'].'.gif';
|
||||
echo '<img src="'.$icon_url.'" alt="">';
|
||||
$icon_url = str_replace(G5_DATA_PATH, G5_DATA_URL, $icon_file);
|
||||
$icon_filemtile = (defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME) ? '?'.filemtime($icon_file) : '';
|
||||
echo '<img src="'.$icon_url.$icon_filemtile.'" alt="">';
|
||||
echo '<input type="checkbox" id="del_mb_icon" name="del_mb_icon" value="1">삭제';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_img">회원이미지</label></th>
|
||||
<td colspan="3">
|
||||
<?php echo help('이미지 크기는 <strong>넓이 '.$config['cf_member_img_width'].'픽셀 높이 '.$config['cf_member_img_height'].'픽셀</strong>로 해주세요.') ?>
|
||||
<input type="file" name="mb_img" id="mb_img">
|
||||
<?php
|
||||
$mb_dir = substr($mb['mb_id'],0,2);
|
||||
$icon_file = G5_DATA_PATH.'/member_image/'.$mb_dir.'/'.get_mb_icon_name($mb['mb_id']).'.gif';
|
||||
if (file_exists($icon_file)) {
|
||||
echo get_member_profile_img($mb['mb_id']);
|
||||
echo '<input type="checkbox" id="del_mb_img" name="del_mb_img" value="1">삭제';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">메일 수신</th>
|
||||
<td>
|
||||
@@ -266,7 +282,7 @@ add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_open">정보 공개</label></th>
|
||||
<th scope="row">정보 공개</th>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="mb_open" value="1" id="mb_open_yes" <?php echo $mb_open_yes; ?>>
|
||||
<label for="mb_open_yes">예</label>
|
||||
@@ -339,6 +355,96 @@ this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }">
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
//소셜계정이 있다면
|
||||
if(function_exists('social_login_link_account') && $mb['mb_id'] ){
|
||||
if( $my_social_accounts = social_login_link_account($mb['mb_id'], false, 'get_data') ){ ?>
|
||||
|
||||
<tr>
|
||||
<th>소셜계정목록</th>
|
||||
<td colspan="3">
|
||||
<ul class="social_link_box">
|
||||
<li class="social_login_container">
|
||||
<h4>연결된 소셜 계정 목록</h4>
|
||||
<?php foreach($my_social_accounts as $account){ //반복문
|
||||
if( empty($account) ) continue;
|
||||
|
||||
$provider = strtolower($account['provider']);
|
||||
$provider_name = social_get_provider_service_name($provider);
|
||||
?>
|
||||
<div class="account_provider" data-mpno="social_<?php echo $account['mp_no'];?>" >
|
||||
<div class="sns-wrap-32 sns-wrap-over">
|
||||
<span class="sns-icon sns-<?php echo $provider; ?>" title="<?php echo $provider_name; ?>">
|
||||
<span class="ico"></span>
|
||||
<span class="txt"><?php echo $provider_name; ?></span>
|
||||
</span>
|
||||
|
||||
<span class="provider_name"><?php echo $provider_name; //서비스이름?> ( <?php echo $account['displayname']; ?> )</span>
|
||||
<span class="account_hidden" style="display:none"><?php echo $account['mb_id']; ?></span>
|
||||
</div>
|
||||
<div class="btn_info"><a href="<?php echo G5_SOCIAL_LOGIN_URL.'/unlink.php?mp_no='.$account['mp_no'] ?>" class="social_unlink" data-provider="<?php echo $account['mp_no'];?>" >연동해제</a> <span class="sound_only"><?php echo substr($account['mp_register_day'], 2, 14); ?></span></div>
|
||||
</div>
|
||||
<?php } //end foreach ?>
|
||||
</li>
|
||||
</ul>
|
||||
<script>
|
||||
jQuery(function($){
|
||||
$(".account_provider").on("click", ".social_unlink", function(e){
|
||||
e.preventDefault();
|
||||
|
||||
if (!confirm('정말 이 계정 연결을 삭제하시겠습니까?')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var ajax_url = "<?php echo G5_SOCIAL_LOGIN_URL.'/unlink.php' ?>";
|
||||
var mb_id = '',
|
||||
mp_no = $(this).attr("data-provider"),
|
||||
$mp_el = $(this).parents(".account_provider");
|
||||
|
||||
mb_id = $mp_el.find(".account_hidden").text();
|
||||
|
||||
if( ! mp_no ){
|
||||
alert('잘못된 요청! mp_no 값이 없습니다.');
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: ajax_url,
|
||||
type: 'POST',
|
||||
data: {
|
||||
'mp_no': mp_no,
|
||||
'mb_id': mb_id
|
||||
},
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
success: function(data, textStatus) {
|
||||
if (data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
} else {
|
||||
alert("연결이 해제 되었습니다.");
|
||||
$mp_el.fadeOut("normal", function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
} //end if
|
||||
} //end if
|
||||
|
||||
run_event('admin_member_form_add', $mb, $w, 'table');
|
||||
?>
|
||||
|
||||
<?php for ($i=1; $i<=10; $i++) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="mb_<?php echo $i ?>">여분 필드 <?php echo $i ?></label></th>
|
||||
@@ -350,24 +456,30 @@ this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }">
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey='s'>
|
||||
<a href="./member_list.php?<?php echo $qstr ?>">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./member_list.php?<?php echo $qstr ?>" class="btn btn_02">목록</a>
|
||||
<input type="submit" value="확인" class="btn_submit btn" accesskey='s'>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function fmember_submit(f)
|
||||
{
|
||||
if (!f.mb_icon.value.match(/\.gif$/i) && f.mb_icon.value) {
|
||||
alert('아이콘은 gif 파일만 가능합니다.');
|
||||
if (!f.mb_icon.value.match(/\.(gif|jpe?g|png)$/i) && f.mb_icon.value) {
|
||||
alert('아이콘은 이미지 파일만 가능합니다.');
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!f.mb_img.value.match(/\.(gif|jpe?g|png)$/i) && f.mb_img.value) {
|
||||
alert('회원이미지는 이미지 파일만 가능합니다.');
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
run_event('admin_member_form_after', $mb, $w);
|
||||
|
||||
include_once('./admin.tail.php');
|
||||
?>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
$sub_menu = "200100";
|
||||
include_once("./_common.php");
|
||||
include_once(G5_LIB_PATH."/register.lib.php");
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
if ($w == 'u')
|
||||
check_demo();
|
||||
@@ -32,9 +33,14 @@ if($_POST['mb_certify_case'] && $_POST['mb_certify']) {
|
||||
$mb_zip1 = substr($_POST['mb_zip'], 0, 3);
|
||||
$mb_zip2 = substr($_POST['mb_zip'], 3);
|
||||
|
||||
$mb_email = isset($_POST['mb_email']) ? get_email_address(trim($_POST['mb_email'])) : '';
|
||||
$mb_nick = isset($_POST['mb_nick']) ? trim(strip_tags($_POST['mb_nick'])) : '';
|
||||
|
||||
if ($msg = valid_mb_nick($mb_nick)) alert($msg, "", true, true);
|
||||
|
||||
$sql_common = " mb_name = '{$_POST['mb_name']}',
|
||||
mb_nick = '{$_POST['mb_nick']}',
|
||||
mb_email = '{$_POST['mb_email']}',
|
||||
mb_nick = '{$mb_nick}',
|
||||
mb_email = '{$mb_email}',
|
||||
mb_homepage = '{$_POST['mb_homepage']}',
|
||||
mb_tel = '{$_POST['mb_tel']}',
|
||||
mb_hp = '{$mb_hp}',
|
||||
@@ -73,13 +79,13 @@ if ($w == '')
|
||||
alert('이미 존재하는 회원아이디입니다.\\nID : '.$mb['mb_id'].'\\n이름 : '.$mb['mb_name'].'\\n닉네임 : '.$mb['mb_nick'].'\\n메일 : '.$mb['mb_email']);
|
||||
|
||||
// 닉네임중복체크
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' ";
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id'])
|
||||
alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
|
||||
|
||||
// 이메일중복체크
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' ";
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id'])
|
||||
alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
|
||||
@@ -95,52 +101,25 @@ else if ($w == 'u')
|
||||
if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
|
||||
alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
|
||||
|
||||
if ($is_admin !== 'super' && is_admin($mb['mb_id']) === 'super' ) {
|
||||
alert('최고관리자의 비밀번호를 수정할수 없습니다.');
|
||||
}
|
||||
|
||||
if ($_POST['mb_id'] == $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])
|
||||
alert($mb['mb_id'].' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');
|
||||
|
||||
// 닉네임중복체크
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' and mb_id <> '$mb_id' ";
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' and mb_id <> '$mb_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id'])
|
||||
alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
|
||||
|
||||
// 이메일중복체크
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' and mb_id <> '$mb_id' ";
|
||||
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' and mb_id <> '$mb_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['mb_id'])
|
||||
alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
|
||||
|
||||
$mb_dir = substr($mb_id,0,2);
|
||||
|
||||
// 회원 아이콘 삭제
|
||||
if ($del_mb_icon)
|
||||
@unlink(G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_id.'.gif');
|
||||
|
||||
// 아이콘 업로드
|
||||
if (is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
|
||||
if (!preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
|
||||
alert($_FILES['mb_icon']['name'] . '은(는) gif 파일이 아닙니다.');
|
||||
}
|
||||
|
||||
if (preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
|
||||
@mkdir(G5_DATA_PATH.'/member/'.$mb_dir, G5_DIR_PERMISSION);
|
||||
@chmod(G5_DATA_PATH.'/member/'.$mb_dir, G5_DIR_PERMISSION);
|
||||
|
||||
$dest_path = G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_id.'.gif';
|
||||
|
||||
move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
|
||||
chmod($dest_path, G5_FILE_PERMISSION);
|
||||
|
||||
if (file_exists($dest_path)) {
|
||||
$size = getimagesize($dest_path);
|
||||
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
|
||||
if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
|
||||
@unlink($dest_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($mb_password)
|
||||
$sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";
|
||||
else
|
||||
@@ -161,5 +140,103 @@ else if ($w == 'u')
|
||||
else
|
||||
alert('제대로 된 값이 넘어오지 않았습니다.');
|
||||
|
||||
if( $w == '' || $w == 'u' ){
|
||||
|
||||
$mb_dir = substr($mb_id,0,2);
|
||||
$mb_icon_img = get_mb_icon_name($mb_id).'.gif';
|
||||
|
||||
// 회원 아이콘 삭제
|
||||
if ($del_mb_icon)
|
||||
@unlink(G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_icon_img);
|
||||
|
||||
$image_regex = "/(\.(gif|jpe?g|png))$/i";
|
||||
|
||||
// 아이콘 업로드
|
||||
if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
|
||||
if (!preg_match($image_regex, $_FILES['mb_icon']['name'])) {
|
||||
alert($_FILES['mb_icon']['name'] . '은(는) 이미지 파일이 아닙니다.');
|
||||
}
|
||||
|
||||
if (preg_match($image_regex, $_FILES['mb_icon']['name'])) {
|
||||
$mb_icon_dir = G5_DATA_PATH.'/member/'.$mb_dir;
|
||||
@mkdir($mb_icon_dir, G5_DIR_PERMISSION);
|
||||
@chmod($mb_icon_dir, G5_DIR_PERMISSION);
|
||||
|
||||
$dest_path = $mb_icon_dir.'/'.$mb_icon_img;
|
||||
|
||||
move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
|
||||
chmod($dest_path, G5_FILE_PERMISSION);
|
||||
|
||||
if (file_exists($dest_path)) {
|
||||
$size = @getimagesize($dest_path);
|
||||
if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
|
||||
$thumb = null;
|
||||
if($size[2] === 2 || $size[2] === 3) {
|
||||
//jpg 또는 png 파일 적용
|
||||
$thumb = thumbnail($mb_icon_img, $mb_icon_dir, $mb_icon_dir, $config['cf_member_icon_width'], $config['cf_member_icon_height'], true, true);
|
||||
if($thumb) {
|
||||
@unlink($dest_path);
|
||||
rename($mb_icon_dir.'/'.$thumb, $dest_path);
|
||||
}
|
||||
}
|
||||
if( !$thumb ){
|
||||
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
|
||||
@unlink($dest_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$mb_img_dir = G5_DATA_PATH.'/member_image/';
|
||||
if( !is_dir($mb_img_dir) ){
|
||||
@mkdir($mb_img_dir, G5_DIR_PERMISSION);
|
||||
@chmod($mb_img_dir, G5_DIR_PERMISSION);
|
||||
}
|
||||
$mb_img_dir .= substr($mb_id,0,2);
|
||||
|
||||
// 회원 이미지 삭제
|
||||
if ($del_mb_img)
|
||||
@unlink($mb_img_dir.'/'.$mb_icon_img);
|
||||
|
||||
// 아이콘 업로드
|
||||
if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
|
||||
if (!preg_match($image_regex, $_FILES['mb_img']['name'])) {
|
||||
alert($_FILES['mb_img']['name'] . '은(는) 이미지 파일이 아닙니다.');
|
||||
}
|
||||
|
||||
if (preg_match($image_regex, $_FILES['mb_img']['name'])) {
|
||||
@mkdir($mb_img_dir, G5_DIR_PERMISSION);
|
||||
@chmod($mb_img_dir, G5_DIR_PERMISSION);
|
||||
|
||||
$dest_path = $mb_img_dir.'/'.$mb_icon_img;
|
||||
|
||||
move_uploaded_file($_FILES['mb_img']['tmp_name'], $dest_path);
|
||||
chmod($dest_path, G5_FILE_PERMISSION);
|
||||
|
||||
if (file_exists($dest_path)) {
|
||||
$size = @getimagesize($dest_path);
|
||||
if ($size[0] > $config['cf_member_img_width'] || $size[1] > $config['cf_member_img_height']) {
|
||||
$thumb = null;
|
||||
if($size[2] === 2 || $size[2] === 3) {
|
||||
//jpg 또는 png 파일 적용
|
||||
$thumb = thumbnail($mb_icon_img, $mb_img_dir, $mb_img_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);
|
||||
if($thumb) {
|
||||
@unlink($dest_path);
|
||||
rename($mb_img_dir.'/'.$thumb, $dest_path);
|
||||
}
|
||||
}
|
||||
if( !$thumb ){
|
||||
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
|
||||
@unlink($dest_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run_event('admin_member_form_update', $w, $mb_id);
|
||||
|
||||
goto_url('./member_form.php?'.$qstr.'&w=u&mb_id='.$mb_id, false);
|
||||
?>
|
||||
@@ -69,9 +69,9 @@ $colspan = 16;
|
||||
|
||||
<div class="local_ov01 local_ov">
|
||||
<?php echo $listall ?>
|
||||
총회원수 <?php echo number_format($total_count) ?>명 중,
|
||||
<a href="?sst=mb_intercept_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>">차단 <?php echo number_format($intercept_count) ?></a>명,
|
||||
<a href="?sst=mb_leave_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>">탈퇴 <?php echo number_format($leave_count) ?></a>명
|
||||
<span class="btn_ov01"><span class="ov_txt">총회원수 </span><span class="ov_num"> <?php echo number_format($total_count) ?>명 </span></span>
|
||||
<a href="?sst=mb_intercept_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01" data-tooltip-text="차단된 순으로 정렬합니다.
전체 데이터를 출력합니다."> <span class="ov_txt">차단 </span><span class="ov_num"><?php echo number_format($intercept_count) ?>명</span></a>
|
||||
<a href="?sst=mb_leave_date&sod=desc&sfl=<?php echo $sfl ?>&stx=<?php echo $stx ?>" class="btn_ov01" data-tooltip-text="탈퇴된 순으로 정렬합니다.
전체 데이터를 출력합니다."> <span class="ov_txt">탈퇴 </span><span class="ov_num"><?php echo number_format($leave_count) ?>명</span></a>
|
||||
</div>
|
||||
|
||||
<form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get">
|
||||
@@ -102,11 +102,6 @@ $colspan = 16;
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<div class="btn_add01 btn_add">
|
||||
<a href="./member_form.php" id="member_add">회원추가</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<form name="fmemberlist" id="fmemberlist" action="./member_list_update.php" onsubmit="return fmemberlist_submit(this);" method="post">
|
||||
<input type="hidden" name="sst" value="<?php echo $sst ?>">
|
||||
@@ -116,35 +111,36 @@ $colspan = 16;
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="token" value="">
|
||||
|
||||
<div class="tbl_head02 tbl_wrap">
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $g5['title']; ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" rowspan="2" id="mb_list_chk">
|
||||
<th scope="col" id="mb_list_chk" rowspan="2" >
|
||||
<label for="chkall" class="sound_only">회원 전체</label>
|
||||
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
|
||||
</th>
|
||||
<th scope="col" rowspan="2" id="mb_list_id"><?php echo subject_sort_link('mb_id') ?>아이디</a></th>
|
||||
<th scope="col" id="mb_list_name"><?php echo subject_sort_link('mb_name') ?>이름</a></th>
|
||||
<th scope="col" colspan="6" id="mb_list_cert"><?php echo subject_sort_link('mb_certify', '', 'desc') ?>본인확인</a></th>
|
||||
<th scope="col" id="mb_list_id" colspan="2"><?php echo subject_sort_link('mb_id') ?>아이디</a></th>
|
||||
<th scope="col" rowspan="2" id="mb_list_cert"><?php echo subject_sort_link('mb_certify', '', 'desc') ?>본인확인</a></th>
|
||||
<th scope="col" id="mb_list_mailc"><?php echo subject_sort_link('mb_email_certify', '', 'desc') ?>메일인증</a></th>
|
||||
<th scope="col" id="mb_list_open"><?php echo subject_sort_link('mb_open', '', 'desc') ?>정보공개</a></th>
|
||||
<th scope="col" id="mb_list_mailr"><?php echo subject_sort_link('mb_mailling', '', 'desc') ?>메일수신</a></th>
|
||||
<th scope="col" id="mb_list_auth">상태</th>
|
||||
<th scope="col" id="mb_list_mobile">휴대폰</th>
|
||||
<th scope="col" id="mb_list_auth">상태/<?php echo subject_sort_link('mb_level', '', 'desc') ?>권한</a></th>
|
||||
<th scope="col" id="mb_list_lastcall"><?php echo subject_sort_link('mb_today_login', '', 'desc') ?>최종접속</a></th>
|
||||
<th scope="col" rowspan="2" id="mb_list_grp">접근<br>그룹</th>
|
||||
<th scope="col" id="mb_list_grp">접근그룹</th>
|
||||
<th scope="col" rowspan="2" id="mb_list_mng">관리</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="col" id="mb_list_name"><?php echo subject_sort_link('mb_name') ?>이름</a></th>
|
||||
<th scope="col" id="mb_list_nick"><?php echo subject_sort_link('mb_nick') ?>닉네임</a></th>
|
||||
<th scope="col" id="mb_list_mailc"><?php echo subject_sort_link('mb_email_certify', '', 'desc') ?>메일<br>인증</a></th>
|
||||
<th scope="col" id="mb_list_open"><?php echo subject_sort_link('mb_open', '', 'desc') ?>정보<br>공개</a></th>
|
||||
<th scope="col" id="mb_list_mailr"><?php echo subject_sort_link('mb_mailling', '', 'desc') ?>메일<br>수신</a></th>
|
||||
<th scope="col" id="mb_list_sms"><?php echo subject_sort_link('mb_sms', '', 'desc') ?>SMS<br>수신</a></th>
|
||||
<th scope="col" id="mb_list_adultc"><?php echo subject_sort_link('mb_adult', '', 'desc') ?>성인<br>인증</a></th>
|
||||
<th scope="col" id="mb_list_deny"><?php echo subject_sort_link('mb_intercept_date', '', 'desc') ?>접근<br>차단</a></th>
|
||||
<th scope="col" id="mb_list_sms"><?php echo subject_sort_link('mb_sms', '', 'desc') ?>SMS수신</a></th>
|
||||
<th scope="col" id="mb_list_adultc"><?php echo subject_sort_link('mb_adult', '', 'desc') ?>성인인증</a></th>
|
||||
<th scope="col" id="mb_list_auth"><?php echo subject_sort_link('mb_intercept_date', '', 'desc') ?>접근차단</a></th>
|
||||
<th scope="col" id="mb_list_deny"><?php echo subject_sort_link('mb_level', '', 'desc') ?>권한</a></th>
|
||||
<th scope="col" id="mb_list_tel">전화번호</th>
|
||||
<th scope="col" id="mb_list_point"><?php echo subject_sort_link('mb_point', '', 'desc') ?> 포인트</a></th>
|
||||
<th scope="col" id="mb_list_join"><?php echo subject_sort_link('mb_datetime', '', 'desc') ?>가입일</a></th>
|
||||
<th scope="col" id="mb_list_point"><?php echo subject_sort_link('mb_point', '', 'desc') ?> 포인트</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -160,9 +156,9 @@ $colspan = 16;
|
||||
if ($is_admin == 'group') {
|
||||
$s_mod = '';
|
||||
} else {
|
||||
$s_mod = '<a href="./member_form.php?'.$qstr.'&w=u&mb_id='.$row['mb_id'].'">수정</a>';
|
||||
$s_mod = '<a href="./member_form.php?'.$qstr.'&w=u&mb_id='.$row['mb_id'].'" class="btn btn_03">수정</a>';
|
||||
}
|
||||
$s_grp = '<a href="./boardgroupmember_form.php?mb_id='.$row['mb_id'].'">그룹</a>';
|
||||
$s_grp = '<a href="./boardgroupmember_form.php?mb_id='.$row['mb_id'].'" class="btn btn_02">그룹</a>';
|
||||
|
||||
$leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME);
|
||||
$intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME);
|
||||
@@ -215,54 +211,81 @@ $colspan = 16;
|
||||
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo get_text($row['mb_name']); ?> <?php echo get_text($row['mb_nick']); ?>님</label>
|
||||
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
|
||||
</td>
|
||||
<td headers="mb_list_id" rowspan="2" class="td_name sv_use"><?php echo $mb_id ?></td>
|
||||
<td headers="mb_list_name" class="td_mbname"><?php echo get_text($row['mb_name']); ?></td>
|
||||
<td headers="mb_list_cert" colspan="6" class="td_mbcert">
|
||||
<td headers="mb_list_id" colspan="2" class="td_name sv_use">
|
||||
<?php echo $mb_id ?>
|
||||
<?php
|
||||
//소셜계정이 있다면
|
||||
if(function_exists('social_login_link_account')){
|
||||
if( $my_social_accounts = social_login_link_account($row['mb_id'], false, 'get_data') ){
|
||||
|
||||
echo '<div class="member_social_provider sns-wrap-over sns-wrap-32">';
|
||||
foreach( (array) $my_social_accounts as $account){ //반복문
|
||||
if( empty($account) || empty($account['provider']) ) continue;
|
||||
|
||||
$provider = strtolower($account['provider']);
|
||||
$provider_name = social_get_provider_service_name($provider);
|
||||
|
||||
echo '<span class="sns-icon sns-'.$provider.'" title="'.$provider_name.'">';
|
||||
echo '<span class="ico"></span>';
|
||||
echo '<span class="txt">'.$provider_name.'</span>';
|
||||
echo '</span>';
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td headers="mb_list_cert" rowspan="2" class="td_mbcert">
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="ipin" id="mb_certify_ipin_<?php echo $i; ?>" <?php echo $row['mb_certify']=='ipin'?'checked':''; ?>>
|
||||
<label for="mb_certify_ipin_<?php echo $i; ?>">아이핀</label>
|
||||
<label for="mb_certify_ipin_<?php echo $i; ?>">아이핀</label><br>
|
||||
<input type="radio" name="mb_certify[<?php echo $i; ?>]" value="hp" id="mb_certify_hp_<?php echo $i; ?>" <?php echo $row['mb_certify']=='hp'?'checked':''; ?>>
|
||||
<label for="mb_certify_hp_<?php echo $i; ?>">휴대폰</label>
|
||||
</td>
|
||||
<td headers="mb_list_mobile" class="td_tel"><?php echo get_text($row['mb_hp']); ?></td>
|
||||
<td headers="mb_list_mailc"><?php echo preg_match('/[1-9]/', $row['mb_email_certify'])?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>'; ?></td>
|
||||
<td headers="mb_list_open">
|
||||
<label for="mb_open_<?php echo $i; ?>" class="sound_only">정보공개</label>
|
||||
<input type="checkbox" name="mb_open[<?php echo $i; ?>]" <?php echo $row['mb_open']?'checked':''; ?> value="1" id="mb_open_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_mailr">
|
||||
<label for="mb_mailling_<?php echo $i; ?>" class="sound_only">메일수신</label>
|
||||
<input type="checkbox" name="mb_mailling[<?php echo $i; ?>]" <?php echo $row['mb_mailling']?'checked':''; ?> value="1" id="mb_mailling_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_auth" class="td_mbstat">
|
||||
<?php
|
||||
if ($leave_msg || $intercept_msg) echo $leave_msg.' '.$intercept_msg;
|
||||
else echo "정상";
|
||||
?>
|
||||
<?php echo get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?>
|
||||
</td>
|
||||
<td headers="mb_list_mobile" class="td_tel"><?php echo get_text($row['mb_hp']); ?></td>
|
||||
<td headers="mb_list_lastcall" class="td_date"><?php echo substr($row['mb_today_login'],2,8); ?></td>
|
||||
<td headers="mb_list_grp" rowspan="2" class="td_numsmall"><?php echo $group ?></td>
|
||||
<td headers="mb_list_mng" rowspan="2" class="td_mngsmall"><?php echo $s_mod ?> <?php echo $s_grp ?></td>
|
||||
<td headers="mb_list_grp" class="td_numsmall"><?php echo $group ?></td>
|
||||
<td headers="mb_list_mng" rowspan="2" class="td_mng td_mng_s"><?php echo $s_mod ?><?php echo $s_grp ?></td>
|
||||
</tr>
|
||||
<tr class="<?php echo $bg; ?>">
|
||||
<td headers="mb_list_name" class="td_mbname"><?php echo get_text($row['mb_name']); ?></td>
|
||||
<td headers="mb_list_nick" class="td_name sv_use"><div><?php echo $mb_nick ?></div></td>
|
||||
<td headers="mb_list_mailc" class="td_chk"><?php echo preg_match('/[1-9]/', $row['mb_email_certify'])?'<span class="txt_true">Yes</span>':'<span class="txt_false">No</span>'; ?></td>
|
||||
<td headers="mb_list_open" class="td_chk">
|
||||
<label for="mb_open_<?php echo $i; ?>" class="sound_only">정보공개</label>
|
||||
<input type="checkbox" name="mb_open[<?php echo $i; ?>]" <?php echo $row['mb_open']?'checked':''; ?> value="1" id="mb_open_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_mailr" class="td_chk">
|
||||
<label for="mb_mailling_<?php echo $i; ?>" class="sound_only">메일수신</label>
|
||||
<input type="checkbox" name="mb_mailling[<?php echo $i; ?>]" <?php echo $row['mb_mailling']?'checked':''; ?> value="1" id="mb_mailling_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_sms" class="td_chk">
|
||||
|
||||
<td headers="mb_list_sms">
|
||||
<label for="mb_sms_<?php echo $i; ?>" class="sound_only">SMS수신</label>
|
||||
<input type="checkbox" name="mb_sms[<?php echo $i; ?>]" <?php echo $row['mb_sms']?'checked':''; ?> value="1" id="mb_sms_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_adultc" class="td_chk">
|
||||
<td headers="mb_list_adultc">
|
||||
<label for="mb_adult_<?php echo $i; ?>" class="sound_only">성인인증</label>
|
||||
<input type="checkbox" name="mb_adult[<?php echo $i; ?>]" <?php echo $row['mb_adult']?'checked':''; ?> value="1" id="mb_adult_<?php echo $i; ?>">
|
||||
</td>
|
||||
<td headers="mb_list_deny" class="td_chk">
|
||||
<td headers="mb_list_deny">
|
||||
<?php if(empty($row['mb_leave_date'])){ ?>
|
||||
<input type="checkbox" name="mb_intercept_date[<?php echo $i; ?>]" <?php echo $row['mb_intercept_date']?'checked':''; ?> value="<?php echo $intercept_date ?>" id="mb_intercept_date_<?php echo $i ?>" title="<?php echo $intercept_title ?>">
|
||||
<label for="mb_intercept_date_<?php echo $i; ?>" class="sound_only">접근차단</label>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td headers="mb_list_auth" class="td_mbstat">
|
||||
<?php echo get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?>
|
||||
</td>
|
||||
<td headers="mb_list_tel" class="td_tel"><?php echo get_text($row['mb_tel']); ?></td>
|
||||
<td headers="mb_list_point" class="td_num"><a href="point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo number_format($row['mb_point']) ?></a></td>
|
||||
<td headers="mb_list_join" class="td_date"><?php echo substr($row['mb_datetime'],2,8); ?></td>
|
||||
<td headers="mb_list_point" class="td_num"><a href="point_list.php?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo number_format($row['mb_point']) ?></a></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
@@ -274,11 +297,16 @@ $colspan = 16;
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_list01 btn_list">
|
||||
<input type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value">
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value">
|
||||
<div class="btn_fixed_top">
|
||||
<input type="submit" name="act_button" value="선택수정" onclick="document.pressed=this.value" class="btn btn_02">
|
||||
<input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="btn btn_02">
|
||||
<?php if ($is_admin == 'super') { ?>
|
||||
<a href="./member_form.php" id="member_add" class="btn btn_01">회원추가</a>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, '?'.$qstr.'&page='); ?>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?
|
||||
<?php
|
||||
$sub_menu = "200100";
|
||||
include_once("./_common.php");
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ if (!count($_POST['chk'])) {
|
||||
|
||||
auth_check($auth[$sub_menu], 'w');
|
||||
|
||||
check_admin_token();
|
||||
|
||||
$mb_datas = array();
|
||||
|
||||
if ($_POST['act_button'] == "선택수정") {
|
||||
|
||||
for ($i=0; $i<count($_POST['chk']); $i++)
|
||||
@@ -17,7 +21,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
|
||||
$mb = get_member($_POST['mb_id'][$k]);
|
||||
$mb_datas[] = $mb = get_member($_POST['mb_id'][$k]);
|
||||
|
||||
if (!$mb['mb_id']) {
|
||||
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n';
|
||||
@@ -27,19 +31,19 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
$msg .= $mb['mb_id'].' : 로그인 중인 관리자는 수정 할 수 없습니다.\\n';
|
||||
} else {
|
||||
if($_POST['mb_certify'][$k])
|
||||
$mb_adult = $_POST['mb_adult'][$k];
|
||||
$mb_adult = (int) $_POST['mb_adult'][$k];
|
||||
else
|
||||
$mb_adult = 0;
|
||||
|
||||
$sql = " update {$g5['member_table']}
|
||||
set mb_level = '{$_POST['mb_level'][$k]}',
|
||||
mb_intercept_date = '{$_POST['mb_intercept_date'][$k]}',
|
||||
mb_mailling = '{$_POST['mb_mailling'][$k]}',
|
||||
mb_sms = '{$_POST['mb_sms'][$k]}',
|
||||
mb_open = '{$_POST['mb_open'][$k]}',
|
||||
mb_certify = '{$_POST['mb_certify'][$k]}',
|
||||
set mb_level = '".sql_real_escape_string($_POST['mb_level'][$k])."',
|
||||
mb_intercept_date = '".sql_real_escape_string($_POST['mb_intercept_date'][$k])."',
|
||||
mb_mailling = '".sql_real_escape_string($_POST['mb_mailling'][$k])."',
|
||||
mb_sms = '".sql_real_escape_string($_POST['mb_sms'][$k])."',
|
||||
mb_open = '".sql_real_escape_string($_POST['mb_open'][$k])."',
|
||||
mb_certify = '".sql_real_escape_string($_POST['mb_certify'][$k])."',
|
||||
mb_adult = '{$mb_adult}'
|
||||
where mb_id = '{$_POST['mb_id'][$k]}' ";
|
||||
where mb_id = '".sql_real_escape_string($_POST['mb_id'][$k])."' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
}
|
||||
@@ -51,7 +55,7 @@ if ($_POST['act_button'] == "선택수정") {
|
||||
// 실제 번호를 넘김
|
||||
$k = $_POST['chk'][$i];
|
||||
|
||||
$mb = get_member($_POST['mb_id'][$k]);
|
||||
$mb_datas[] = $mb = get_member($_POST['mb_id'][$k]);
|
||||
|
||||
if (!$mb['mb_id']) {
|
||||
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n';
|
||||
@@ -72,5 +76,7 @@ if ($msg)
|
||||
//echo '<script> alert("'.$msg.'"); </script>';
|
||||
alert($msg);
|
||||
|
||||
run_event('admin_member_list_update', $_POST['act_button'], $mb_datas);
|
||||
|
||||
goto_url('./member_list.php?'.$qstr);
|
||||
?>
|
||||
|
||||
@@ -8,6 +8,8 @@ if ($is_admin != 'super')
|
||||
$g5['title'] = '메뉴 추가';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
|
||||
$code = isset($code) ? preg_replace('/[^0-9a-zA-Z]/', '', strip_tags($code)) : '';
|
||||
|
||||
// 코드
|
||||
if($new == 'new' || !$code) {
|
||||
$code = base_convert(substr($code,0, 2), 36, 10);
|
||||
@@ -19,7 +21,7 @@ if($new == 'new' || !$code) {
|
||||
<div id="menu_frm" class="new_win">
|
||||
<h1><?php echo $g5['title']; ?></h1>
|
||||
|
||||
<form name="fmenuform" id="fmenuform">
|
||||
<form name="fmenuform" id="fmenuform" class="new_win_con">
|
||||
|
||||
<div class="new_win_desc">
|
||||
<label for="me_type">대상선택</label>
|
||||
@@ -43,13 +45,57 @@ $(function() {
|
||||
"./menu_form_search.php"
|
||||
);
|
||||
|
||||
$("#me_type").on("change", function() {
|
||||
var type = $(this).val();
|
||||
function link_checks_all_chage(){
|
||||
|
||||
var $links = $(opener.document).find("#menulist input[name='me_link[]']"),
|
||||
$o_link = $(".td_mngsmall input[name='link[]']"),
|
||||
hrefs = [],
|
||||
menu_exist = false;
|
||||
|
||||
if( $links.length ){
|
||||
$links.each(function( index ) {
|
||||
hrefs.push( $(this).val() );
|
||||
});
|
||||
|
||||
$o_link.each(function( index ) {
|
||||
if( $.inArray( $(this).val(), hrefs ) != -1 ){
|
||||
$(this).closest("tr").find("td:eq( 0 )").addClass("exist_menu_link");
|
||||
menu_exist = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if( menu_exist ){
|
||||
$(".menu_exists_tip").show();
|
||||
} else {
|
||||
$(".menu_exists_tip").hide();
|
||||
}
|
||||
}
|
||||
|
||||
function menu_result_change( type ){
|
||||
|
||||
var dfd = new $.Deferred();
|
||||
|
||||
$("#menu_result").empty().load(
|
||||
"./menu_form_search.php",
|
||||
{ type : type }
|
||||
{ type : type },
|
||||
function(){
|
||||
dfd.resolve('Finished');
|
||||
}
|
||||
);
|
||||
|
||||
return dfd.promise();
|
||||
}
|
||||
|
||||
$("#me_type").on("change", function() {
|
||||
var type = $(this).val();
|
||||
|
||||
var promise = menu_result_change( type );
|
||||
|
||||
promise.done(function(message) {
|
||||
link_checks_all_chage(type);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(document).on("click", "#add_manual", function() {
|
||||
@@ -113,11 +159,11 @@ function add_menu_list(name, link, code)
|
||||
list += "<option value=\"0\">사용안함</option>";
|
||||
list += "</select>";
|
||||
list += "</td>";
|
||||
list += "<td class=\"td_mngsmall\">";
|
||||
list += "<td class=\"td_mng\">";
|
||||
<?php if($new == 'new') { ?>
|
||||
list += "<button type=\"button\" class=\"btn_add_submenu\">추가</button>";
|
||||
list += "<button type=\"button\" class=\"btn_add_submenu btn_03\">추가</button>\n";
|
||||
<?php } ?>
|
||||
list += "<button type=\"button\" class=\"btn_del_menu\">삭제</button>";
|
||||
list += "<button type=\"button\" class=\"btn_del_menu btn_02\">삭제</button>";
|
||||
list += "</td>";
|
||||
list += "</tr>";
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ switch($type) {
|
||||
order by gr_order, gr_id ";
|
||||
break;
|
||||
case 'board':
|
||||
$sql = " select bo_table as id, bo_subject as subject
|
||||
$sql = " select bo_table as id, bo_subject as subject, gr_id
|
||||
from {$g5['board_table']}
|
||||
order by bo_order, bo_table ";
|
||||
break;
|
||||
@@ -32,13 +32,18 @@ if($sql) {
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if($i == 0) {
|
||||
|
||||
$bbs_subject_title = ($type == 'board') ? '게시판제목' : '제목';
|
||||
?>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col"><?php echo $bbs_subject_title; ?></th>
|
||||
<?php if($type == 'board'){ ?>
|
||||
<th scope="col">게시판 그룹</th>
|
||||
<?php } ?>
|
||||
<th scope="col">선택</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -50,10 +55,10 @@ if($sql) {
|
||||
$link = G5_BBS_URL.'/group.php?gr_id='.$row['id'];
|
||||
break;
|
||||
case 'board':
|
||||
$link = G5_BBS_URL.'/board.php?bo_table='.$row['id'];
|
||||
$link = get_pretty_url($row['id']);
|
||||
break;
|
||||
case 'content':
|
||||
$link = G5_BBS_URL.'/content.php?co_id='.$row['id'];
|
||||
$link = get_pretty_url(G5_CONTENT_DIR, $row['id']);
|
||||
break;
|
||||
default:
|
||||
$link = '';
|
||||
@@ -63,10 +68,16 @@ if($sql) {
|
||||
|
||||
<tr>
|
||||
<td><?php echo $row['subject']; ?></td>
|
||||
<?php
|
||||
if($type == 'board'){
|
||||
$group = get_call_func_cache('get_group', array($row['gr_id']));
|
||||
?>
|
||||
<td><?php echo $group['gr_subject']; ?></td>
|
||||
<?php } ?>
|
||||
<td class="td_mngsmall">
|
||||
<input type="hidden" name="subject[]" value="<?php echo preg_replace('/[\'\"]/', '', $row['subject']); ?>">
|
||||
<input type="hidden" name="link[]" value="<?php echo $link; ?>">
|
||||
<button type="button" class="add_select"><span class="sound_only"><?php echo $row['subject']; ?> </span>선택</button>
|
||||
<button type="button" class="add_select btn btn_03"><span class="sound_only"><?php echo $row['subject']; ?> </span>선택</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -76,8 +87,12 @@ if($sql) {
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="local_desc01 menu_exists_tip" style="display:none">
|
||||
<p>* <strong>빨간색</strong>의 제목은 이미 메뉴에 연결되어 경우 표시됩니다.</p>
|
||||
</div>
|
||||
|
||||
<div class="btn_win02 btn_win">
|
||||
<button type="button" class="btn_cancel" onclick="window.close();">창닫기</button>
|
||||
<button type="button" class="btn_02 btn" onclick="window.close();">창닫기</button>
|
||||
</div>
|
||||
|
||||
<?php } else { ?>
|
||||
@@ -105,7 +120,7 @@ if($sql) {
|
||||
</div>
|
||||
|
||||
<div class="btn_win02 btn_win">
|
||||
<button type="button" id="add_manual" class="btn_submit">추가</button>
|
||||
<button type="button" class="btn_cancel" onclick="window.close();">창닫기</button>
|
||||
<button type="button" id="add_manual" class="btn_submit btn">추가</button>
|
||||
<button type="button" class="btn_02 btn" onclick="window.close();">창닫기</button>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@@ -40,9 +40,7 @@ $colspan = 7;
|
||||
<form name="fmenulist" id="fmenulist" method="post" action="./menu_list_update.php" onsubmit="return fmenulist_submit(this);">
|
||||
<input type="hidden" name="token" value="">
|
||||
|
||||
<div class="btn_add01 btn_add">
|
||||
<button type="button" onclick="return add_menu();">메뉴추가<span class="sound_only"> 새창</span></button>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="menulist" class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
@@ -78,11 +76,11 @@ $colspan = 7;
|
||||
<td class="td_category<?php echo $sub_menu_class; ?>">
|
||||
<input type="hidden" name="code[]" value="<?php echo substr($row['me_code'], 0, 2) ?>">
|
||||
<label for="me_name_<?php echo $i; ?>" class="sound_only"><?php echo $sub_menu_info; ?> 메뉴<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="me_name[]" value="<?php echo $me_name; ?>" id="me_name_<?php echo $i; ?>" required class="required frm_input full_input">
|
||||
<input type="text" name="me_name[]" value="<?php echo get_sanitize_input($me_name); ?>" id="me_name_<?php echo $i; ?>" required class="required tbl_input full_input">
|
||||
</td>
|
||||
<td>
|
||||
<label for="me_link_<?php echo $i; ?>" class="sound_only">링크<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>" required class="required frm_input full_input">
|
||||
<input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>" required class="required tbl_input full_input">
|
||||
</td>
|
||||
<td class="td_mng">
|
||||
<label for="me_target_<?php echo $i; ?>" class="sound_only">새창</label>
|
||||
@@ -93,7 +91,7 @@ $colspan = 7;
|
||||
</td>
|
||||
<td class="td_num">
|
||||
<label for="me_order_<?php echo $i; ?>" class="sound_only">순서</label>
|
||||
<input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>" class="frm_input" size="5">
|
||||
<input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>" class="tbl_input" size="5">
|
||||
</td>
|
||||
<td class="td_mng">
|
||||
<label for="me_use_<?php echo $i; ?>" class="sound_only">PC사용</label>
|
||||
@@ -111,9 +109,9 @@ $colspan = 7;
|
||||
</td>
|
||||
<td class="td_mng">
|
||||
<?php if(strlen($row['me_code']) == 2) { ?>
|
||||
<button type="button" class="btn_add_submenu">추가</button>
|
||||
<button type="button" class="btn_add_submenu btn_03 ">추가</button>
|
||||
<?php } ?>
|
||||
<button type="button" class="btn_del_menu">삭제</button>
|
||||
<button type="button" class="btn_del_menu btn_02">삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
@@ -126,8 +124,9 @@ $colspan = 7;
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" name="act_button" value="확인" class="btn_submit">
|
||||
<div class="btn_fixed_top">
|
||||
<button type="button" onclick="return add_menu();" class="btn btn_02">메뉴추가<span class="sound_only"> 새창</span></button>
|
||||
<input type="submit" name="act_button" value="확인" class="btn_submit btn ">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
@@ -197,6 +196,20 @@ function base_convert(number, frombase, tobase) {
|
||||
|
||||
function fmenulist_submit(f)
|
||||
{
|
||||
|
||||
var me_links = document.getElementsByName('me_link[]');
|
||||
var reg = /^javascript/;
|
||||
|
||||
for (i=0; i<me_links.length; i++){
|
||||
|
||||
if( reg.test(me_links[i].value) ){
|
||||
|
||||
alert('링크에 자바스크립트문을 입력할수 없습니다.');
|
||||
me_links[i].focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -20,11 +20,13 @@ $count = count($_POST['code']);
|
||||
for ($i=0; $i<$count; $i++)
|
||||
{
|
||||
$_POST = array_map_deep('trim', $_POST);
|
||||
|
||||
$_POST['me_link'][$i] = is_array($_POST['me_link']) ? clean_xss_tags(clean_xss_attributes($_POST['me_link'][$i], 1)) : '';
|
||||
|
||||
$code = $_POST['code'][$i];
|
||||
$me_name = $_POST['me_name'][$i];
|
||||
$me_link = $_POST['me_link'][$i];
|
||||
|
||||
$code = is_array($_POST['code']) ? strip_tags($_POST['code'][$i]) : '';
|
||||
$me_name = is_array($_POST['me_name']) ? strip_tags($_POST['me_name'][$i]) : '';
|
||||
$me_link = (preg_match('/^javascript/i', $_POST['me_link'][$i]) || preg_match('/script:/i', $_POST['me_link'][$i])) ? G5_URL : strip_tags(clean_xss_attributes($_POST['me_link'][$i]));
|
||||
|
||||
if(!$code || !$me_name || !$me_link)
|
||||
continue;
|
||||
|
||||
@@ -56,15 +58,17 @@ for ($i=0; $i<$count; $i++)
|
||||
|
||||
// 메뉴 등록
|
||||
$sql = " insert into {$g5['menu_table']}
|
||||
set me_code = '$me_code',
|
||||
me_name = '$me_name',
|
||||
me_link = '$me_link',
|
||||
me_target = '{$_POST['me_target'][$i]}',
|
||||
me_order = '{$_POST['me_order'][$i]}',
|
||||
me_use = '{$_POST['me_use'][$i]}',
|
||||
me_mobile_use = '{$_POST['me_mobile_use'][$i]}' ";
|
||||
set me_code = '".$me_code."',
|
||||
me_name = '".$me_name."',
|
||||
me_link = '".$me_link."',
|
||||
me_target = '".sql_real_escape_string(strip_tags($_POST['me_target'][$i]))."',
|
||||
me_order = '".sql_real_escape_string(strip_tags($_POST['me_order'][$i]))."',
|
||||
me_use = '".sql_real_escape_string(strip_tags($_POST['me_use'][$i]))."',
|
||||
me_mobile_use = '".sql_real_escape_string(strip_tags($_POST['me_mobile_use'][$i]))."' ";
|
||||
sql_query($sql);
|
||||
}
|
||||
|
||||
run_event('admin_menu_list_update');
|
||||
|
||||
goto_url('./menu_list.php');
|
||||
?>
|
||||
|
||||
@@ -5,6 +5,8 @@ include_once(G5_EDITOR_LIB);
|
||||
|
||||
auth_check($auth[$sub_menu], "w");
|
||||
|
||||
$nw_id = preg_replace('/[^0-9]/', '', $nw_id);
|
||||
|
||||
$html_title = "팝업레이어";
|
||||
if ($w == "u")
|
||||
{
|
||||
@@ -107,20 +109,20 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
|
||||
<tr>
|
||||
<th scope="row"><label for="nw_subject">팝업 제목<strong class="sound_only"> 필수</strong></label></th>
|
||||
<td>
|
||||
<input type="text" name="nw_subject" value="<?php echo stripslashes($nw['nw_subject']) ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
<input type="text" name="nw_subject" value="<?php echo get_sanitize_input($nw['nw_subject']); ?>" id="nw_subject" required class="frm_input required" size="80">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="nw_content">내용</label></th>
|
||||
<td><?php echo editor_html('nw_content', get_text($nw['nw_content'], 0)); ?></td>
|
||||
<td><?php echo editor_html('nw_content', get_text(html_purifier($nw['nw_content']), 0)); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./newwinlist.php">목록</a>
|
||||
<div class="btn_fixed_top">
|
||||
<a href="./newwinlist.php" class=" btn btn_02">목록</a>
|
||||
<input type="submit" value="확인" class="btn_submit btn" accesskey="s">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||