Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2445c79805 | ||
|
|
63be2dee47 | ||
|
|
5bfef1be32 | ||
|
|
8253526f23 | ||
|
|
db19548e2c | ||
|
|
10af31f042 | ||
|
|
e7c6e17590 | ||
|
|
a277ac182b | ||
|
|
0eee613a95 | ||
|
|
b76fa38e09 | ||
|
|
c0f5c8a358 | ||
|
|
71dd82afe8 | ||
|
|
ea5425a528 | ||
|
|
d4ba13eee3 | ||
|
|
16831880dd | ||
|
|
f79fc98ba6 | ||
|
|
0483c75dd7 | ||
|
|
3a4dcacd56 | ||
|
|
5f6f09674e | ||
|
|
c785027c5c | ||
|
|
d2659cea5f | ||
|
|
a9b966b159 | ||
|
|
f2c23e21c5 | ||
|
|
53b973e2d3 | ||
|
|
b7a570cba2 | ||
|
|
c77b79f0d2 | ||
|
|
ef6678d8b0 | ||
|
|
21609fa9c4 | ||
|
|
accc083702 | ||
|
|
9e677f3871 | ||
|
|
55290eac30 | ||
|
|
d480502d33 | ||
|
|
c1cda16be0 | ||
|
|
8ca9df9f34 | ||
|
|
406b67b081 | ||
|
|
2c9fecf3ef | ||
|
|
6bc78b67bd | ||
|
|
5bbc46e070 | ||
|
|
6a9ceda361 | ||
|
|
ab2d5fd58f | ||
|
|
7018413777 | ||
|
|
77385616a4 | ||
|
|
c809f27bf5 | ||
|
|
493e778124 | ||
|
|
7373af50b9 | ||
|
|
309f053510 | ||
|
|
d976cf8a27 | ||
|
|
5d60a62a38 | ||
|
|
a3f7dbccea | ||
|
|
0c4cce3339 | ||
|
|
58ccbc4d3d | ||
|
|
c6cabc2087 | ||
|
|
ef1f2722fc | ||
|
|
6b4a7ee03b | ||
|
|
7745a2051d | ||
|
|
eabd5e9acc | ||
|
|
d7dcbf98ff | ||
|
|
ff4c73f3d3 | ||
|
|
dbf044b418 | ||
|
|
7a514e2492 | ||
|
|
a73e533287 | ||
|
|
0f175ac4c6 | ||
|
|
be15f1c698 | ||
|
|
a315da6041 | ||
|
|
3f43f218ac | ||
|
|
5c8ad646af | ||
|
|
77f5fddd90 | ||
|
|
eab8b1ede5 | ||
|
|
2ab0896523 | ||
|
|
639fe920df | ||
|
|
7577c84eca | ||
|
|
22c4ec2d4a | ||
|
|
8ac85881a9 | ||
|
|
724804efc6 | ||
|
|
ca57ef17fc | ||
|
|
480f015fb0 | ||
|
|
d90e087f20 | ||
|
|
3916cc0562 | ||
|
|
cb54e56417 | ||
|
|
6aa606f2fa | ||
|
|
53d13a11ce | ||
|
|
9ba2b4142d | ||
|
|
f5161a5b99 | ||
|
|
f9d5d190d5 | ||
|
|
eead9639a2 | ||
|
|
5044d5d3b4 | ||
|
|
44eed2c1df | ||
|
|
e83b182e4d | ||
|
|
888a76eda0 | ||
|
|
668364e583 | ||
|
|
35c7a2d1b6 | ||
|
|
79803178cd | ||
|
|
419ee8d8ff | ||
|
|
328b3c9409 | ||
|
|
f097508e87 | ||
|
|
e6791ee8ec | ||
|
|
cfbeba3de1 | ||
|
|
bbc7f5a734 | ||
|
|
e8726f03f3 | ||
|
|
de95c6d698 | ||
|
|
86b57447d8 | ||
|
|
c9d1efc6e7 | ||
|
|
dd1eeaddfa | ||
|
|
7f098db3de | ||
|
|
6468cbbfbd | ||
|
|
a30d61e842 | ||
|
|
e0029fdc87 | ||
|
|
712e2c32a0 | ||
|
|
f28e15b567 | ||
|
|
128e33661f | ||
|
|
3916561c62 | ||
|
|
00638d074a | ||
|
|
ca51b2d83a | ||
|
|
1a879f97a2 | ||
|
|
89d18cb7c5 | ||
|
|
4e14249707 | ||
|
|
41f2c08da8 | ||
|
|
4fca7bcfcf | ||
|
|
232725329a | ||
|
|
88247851f4 | ||
|
|
6efaec6642 | ||
|
|
b9e31e39e2 | ||
|
|
e2cd8ed391 | ||
|
|
8a1641fbfa | ||
|
|
936f069ac3 | ||
|
|
89faad730e | ||
|
|
798ab3e183 | ||
|
|
5508aa4533 | ||
|
|
81b7ebbab6 | ||
|
|
2d06e33e10 | ||
|
|
d8cc820572 | ||
|
|
d0ca46cfde | ||
|
|
513124161e | ||
|
|
7cfd8c7f79 | ||
|
|
c32ce5e795 | ||
|
|
d9c1530651 | ||
|
|
305eb071a9 | ||
|
|
10dab69c63 | ||
|
|
60ed594996 | ||
|
|
e60ddb3ee1 | ||
|
|
26b0992285 | ||
|
|
63f3ac807c | ||
|
|
ed1c33eac0 | ||
|
|
e7b7fd0bcc | ||
|
|
79d2b04721 | ||
|
|
5a8ab2d29c | ||
|
|
ed527ac394 | ||
|
|
bf09f48196 | ||
|
|
2a5af15aef | ||
|
|
1f8fe35e25 | ||
|
|
5979273a64 | ||
|
|
ef8c9e3968 | ||
|
|
baa9fdb660 | ||
|
|
35a860bb38 | ||
|
|
286939dc2c | ||
|
|
dd5b1dbdd8 | ||
|
|
fb8d3a038d | ||
|
|
ea5a25a671 | ||
|
|
d21fc4ab1d | ||
|
|
3ae3974866 | ||
|
|
71ffc3087e | ||
|
|
8f406489d4 | ||
|
|
a08d270968 | ||
|
|
48f13e4b82 | ||
|
|
51060f0e4b | ||
|
|
c583109046 | ||
|
|
cf05b693f1 | ||
|
|
d248c1ab0d | ||
|
|
34623fca94 | ||
|
|
975bdd5897 | ||
|
|
1b3380c2ca | ||
|
|
bb707b4a03 | ||
|
|
acb3b6ac85 | ||
|
|
80f6985f5f | ||
|
|
5e3a9c0579 | ||
|
|
b30d62d483 | ||
|
|
0ea1fdbd19 | ||
|
|
f068586f74 | ||
|
|
463f462e24 | ||
|
|
e0c4e3c58e | ||
|
|
5aa3ef38ba | ||
|
|
827277f6a3 | ||
|
|
46389341db | ||
|
|
a58f05a295 | ||
|
|
c0b0a0fe92 | ||
|
|
e9f471dd6f | ||
|
|
7917c5dddb | ||
|
|
de4541a3d9 | ||
|
|
77a496baa7 | ||
|
|
86e863de09 | ||
|
|
c2cfd217c2 | ||
|
|
f2366a61b0 | ||
|
|
9959393dee | ||
|
|
16facf98f1 | ||
|
|
bc8ce8832a | ||
|
|
20bcf960ef | ||
|
|
5cecd3e995 | ||
|
|
d7ead25ea4 | ||
|
|
75c0c375d1 | ||
|
|
5db4913292 | ||
|
|
a6a53b1d0d | ||
|
|
81a0c0e120 | ||
|
|
0dae71a644 | ||
|
|
f8eedaa3ea | ||
|
|
ce2d97a7e7 | ||
|
|
2cb570eaca | ||
|
|
c8c4352957 | ||
|
|
a311db4555 | ||
|
|
05c515b2da | ||
|
|
c1acf2b0fe | ||
|
|
803a2407eb | ||
|
|
a87945d1fb | ||
|
|
30793e68df | ||
|
|
9c666bf7a9 | ||
|
|
eff1dd7c34 | ||
|
|
e79a33ebb0 | ||
|
|
cb0adfdeaf | ||
|
|
6b135c343c | ||
|
|
6c92db524b | ||
|
|
b8dfd1c041 | ||
|
|
54d6347c1d | ||
|
|
4ea6e90600 | ||
|
|
4c7628a247 | ||
|
|
6c7334155a | ||
|
|
480e3ea974 | ||
|
|
1f639a5bc6 | ||
|
|
ccf3b07c3a | ||
|
|
d8508f2b72 | ||
|
|
5e13961ec8 | ||
|
|
80b1139371 | ||
|
|
635b41765c | ||
|
|
4b03686aa2 | ||
|
|
bfb0d8d639 | ||
|
|
93d4a0211d | ||
|
|
cd31bc69ef | ||
|
|
4a7b84d6de | ||
|
|
3142714c11 | ||
|
|
7ea10416a9 | ||
|
|
3e427db0f1 | ||
|
|
9f7b18d294 | ||
|
|
9af0e351b8 | ||
|
|
5c6aa2340d | ||
|
|
4424ec48cf | ||
|
|
61be34581e | ||
|
|
731978356d | ||
|
|
d5223ad1ab | ||
|
|
7cfdfab198 | ||
|
|
eb70e51ac1 | ||
|
|
1d48e7c7ae | ||
|
|
d6fc9fc8c3 | ||
|
|
8ada0976fe | ||
|
|
389ff5e9a4 | ||
|
|
5179e0228c | ||
|
|
2268526314 | ||
|
|
db4bc0eafe | ||
|
|
6edaf79df1 | ||
|
|
79cead3b59 | ||
|
|
db1b12b85c | ||
|
|
9360b7675a | ||
|
|
9c82fd17fe | ||
|
|
3a4665e473 | ||
|
|
b34f4648ee | ||
|
|
0de786d2ea | ||
|
|
ec7aafa1ff | ||
|
|
30c219716d | ||
|
|
5dd47cb89b | ||
|
|
abe856bd3f | ||
|
|
6ecb009466 | ||
|
|
3b4b2383a8 | ||
|
|
4ddd46c4a2 | ||
|
|
69ec2469b4 | ||
|
|
5789af801a | ||
|
|
7171b6302b | ||
|
|
51d4818b1e | ||
|
|
1c2875e7fc | ||
|
|
5048a88310 | ||
|
|
aef37f4362 | ||
|
|
d04641041b | ||
|
|
67b2ccea86 | ||
|
|
5ff9ca3c99 | ||
|
|
fe55df8b2f | ||
|
|
457f605898 | ||
|
|
0f2625133f | ||
|
|
fa34dbdf6f | ||
|
|
050913b0b4 | ||
|
|
a47e47d42c | ||
|
|
43d994b59a | ||
|
|
e8204d46ce | ||
|
|
fece659cfb | ||
|
|
695265b299 | ||
|
|
b652ed0b33 | ||
|
|
9a641552e4 | ||
|
|
3d18aeb5bc | ||
|
|
b545afce50 | ||
|
|
8fca98c0c9 | ||
|
|
0a98c71dfe | ||
|
|
ed75f39094 | ||
|
|
456245f23a | ||
|
|
b4529c9338 | ||
|
|
0ca7a8ab8a | ||
|
|
02f2209e8f | ||
|
|
fb72d02912 | ||
|
|
665fb25fc1 | ||
|
|
742c3c7156 | ||
|
|
637dbbba0d | ||
|
|
f2a3bc4626 | ||
|
|
e8ffa44544 | ||
|
|
bc09287666 | ||
|
|
392d9055fe | ||
|
|
0ee833d7ae | ||
|
|
3074bc00d7 | ||
|
|
cb6fb590c4 | ||
|
|
a7270b2cd2 | ||
|
|
0d925af065 | ||
|
|
7c7991e8ae | ||
|
|
54461b6ea4 | ||
|
|
6a17497fbd | ||
|
|
84f18aa4b6 | ||
|
|
73ab38563f | ||
|
|
1f2b40e4d4 | ||
|
|
1d920c5935 | ||
|
|
037a1e9c0c | ||
|
|
87e324d4d9 | ||
|
|
d1e9b489e3 | ||
|
|
34f1d538d1 | ||
|
|
fb8d2a2e01 | ||
|
|
837db5183e | ||
|
|
a556877a17 | ||
|
|
bcbd6dc4db | ||
|
|
41f7ad8d75 | ||
|
|
258d4b28da | ||
|
|
31e900c422 | ||
|
|
7b1a76871a | ||
|
|
c6f3e7672f | ||
|
|
540c31903c | ||
|
|
3e5262d7a3 | ||
|
|
2b36ffef45 | ||
|
|
4c25d2275c | ||
|
|
6c66fcdfc3 | ||
|
|
aaa972d767 | ||
|
|
45c8538426 | ||
|
|
95702724a9 | ||
|
|
98c4d3853c | ||
|
|
7c91143f39 | ||
|
|
56e6f57568 | ||
|
|
ccab456679 | ||
|
|
5af000ca43 | ||
|
|
354c8f04ae | ||
|
|
3fbd336b45 | ||
|
|
3c0b86a322 | ||
|
|
fca4b69d5a | ||
|
|
ce62072761 | ||
|
|
93dd7a8478 | ||
|
|
02fb84a312 | ||
|
|
f3e68989e5 | ||
|
|
468050a9ce | ||
|
|
f37a602da3 | ||
|
|
2979691d7e | ||
|
|
72920a0432 | ||
|
|
e81075ef04 | ||
|
|
df1a99d877 | ||
|
|
10e825dc9f | ||
|
|
07ba7933fb | ||
|
|
3059eac0fd | ||
|
|
aa33aa6d4f | ||
|
|
0a1cdeeaa3 | ||
|
|
e4bef47b7e | ||
|
|
f551f994b5 | ||
|
|
4b7a3af691 | ||
|
|
6f88a80118 | ||
|
|
e03715ee46 | ||
|
|
aafe6d8863 | ||
|
|
47005483cd | ||
|
|
378075955a | ||
|
|
2059797904 | ||
|
|
8c711242a9 | ||
|
|
481894c89b | ||
|
|
ba53275322 | ||
|
|
cfe2b4c1bd | ||
|
|
60e83f8324 | ||
|
|
ceac040d82 | ||
|
|
89d400c81a | ||
|
|
4cf7bca399 | ||
|
|
761441622e | ||
|
|
1b814abf0b | ||
|
|
62a2147e33 | ||
|
|
246dff9c87 | ||
|
|
50494beb27 | ||
|
|
ce3b3ebfd8 | ||
|
|
213090c32e | ||
|
|
adb8668197 | ||
|
|
0023677003 | ||
|
|
0b19a37ad4 | ||
|
|
9f34ae5d28 | ||
|
|
6f07b5cf08 | ||
|
|
0f39431157 | ||
|
|
bc1a470e64 | ||
|
|
09e24f5684 | ||
|
|
2f27ea4c8a | ||
|
|
d09aba70b7 | ||
|
|
69b0a80684 | ||
|
|
48f0c56a9e | ||
|
|
83833a3693 | ||
|
|
18429d52d4 | ||
|
|
58cc90083b | ||
|
|
2772161144 | ||
|
|
0e95259b14 | ||
|
|
3d9f38f1e3 | ||
|
|
ba3accd834 | ||
|
|
0786e40ebd | ||
|
|
8a56393159 | ||
|
|
5ca8a6ecfa | ||
|
|
5c82edc4be | ||
|
|
093c04bc24 | ||
|
|
131dd46a38 | ||
|
|
6b1b4fdfbb | ||
|
|
e4ad779b37 | ||
|
|
65d817624e | ||
|
|
66501189c4 | ||
|
|
4303898bb8 | ||
|
|
7d76a9d3ed | ||
|
|
1cc42f341b | ||
|
|
0b41ee0a29 | ||
|
|
66b6c4d04f | ||
|
|
6502843d6c | ||
|
|
5ecfe72e19 | ||
|
|
f28cdefffe | ||
|
|
40494f2cf1 | ||
|
|
f2664c112b | ||
|
|
41d91df355 | ||
|
|
965671dd93 | ||
|
|
c8d08e4b2c | ||
|
|
2897a9b484 | ||
|
|
d190e59d83 | ||
|
|
0bb25e8773 | ||
|
|
37e1903cb1 | ||
|
|
b402846d43 | ||
|
|
c1a6dd385a | ||
|
|
ccbef236d3 | ||
|
|
d7b9e8b2e0 | ||
|
|
deaf77d3d0 | ||
|
|
5c738f97ed | ||
|
|
c9f7f7ab08 | ||
|
|
746977d5d0 | ||
|
|
acb09bfe71 | ||
|
|
e2a1203b43 | ||
|
|
124036cea6 | ||
|
|
2ac1d82826 | ||
|
|
fa4e0c1948 | ||
|
|
735427ead0 | ||
|
|
4fa99a7e1b | ||
|
|
2f963a205a | ||
|
|
1f03f7e7c3 | ||
|
|
31689fb6ba | ||
|
|
cf7ebbd314 | ||
|
|
40a953aed5 | ||
|
|
c4d999ada7 | ||
|
|
fff6b4e155 | ||
|
|
380e08d89f | ||
|
|
96c8199092 | ||
|
|
54870cf067 | ||
|
|
8654447aac | ||
|
|
28a690cbba | ||
|
|
52d1a48c0b | ||
|
|
f45333db5e | ||
|
|
c920e45934 | ||
|
|
dd86ef4591 | ||
|
|
b9fb00f042 | ||
|
|
355d9fd995 | ||
|
|
b68c13c4f2 | ||
|
|
f2803291ab | ||
|
|
54df034c77 | ||
|
|
7317b8bc18 | ||
|
|
2f030a6dd6 | ||
|
|
ef0dec32ee | ||
|
|
e7f5850c31 | ||
|
|
d1d81e03d1 | ||
|
|
c65d6565df | ||
|
|
a2d40ecf4a | ||
|
|
7291c828c0 | ||
|
|
01caa625bd | ||
|
|
6cad6f45fe | ||
|
|
a6936ac8d7 | ||
|
|
eb9ae00d24 | ||
|
|
b8c8321757 | ||
|
|
41235bed5d | ||
|
|
7367eb1c45 | ||
|
|
f9d90c38ef | ||
|
|
275d9b1c25 | ||
|
|
663c24b31f | ||
|
|
beb501354d | ||
|
|
ba165239c3 | ||
|
|
e64ef5de84 | ||
|
|
c6bbbe081d | ||
|
|
66dcefc844 | ||
|
|
93d580e74e | ||
|
|
9eb35b55c6 | ||
|
|
d2e052dfa3 | ||
|
|
ddd889c42c | ||
|
|
70da3909a9 | ||
|
|
c398b55f3c | ||
|
|
317c42b384 | ||
|
|
a95903ceff | ||
|
|
98c386622a | ||
|
|
398f54cced | ||
|
|
c337ff2f67 | ||
|
|
d9f6f7956e | ||
|
|
30e2432fc3 | ||
|
|
8238f27dfa | ||
|
|
b00d8f2ebd | ||
|
|
98168c61b3 | ||
|
|
6627797cc6 | ||
|
|
30e54c3d0e | ||
|
|
ee3764f5f5 | ||
|
|
a86e4cf64b | ||
|
|
78ea405e40 | ||
|
|
f99583dc99 | ||
|
|
b9e5ddce94 | ||
|
|
1d28f22577 | ||
|
|
90235660db | ||
|
|
8e12aea3ff | ||
|
|
280ff18526 | ||
|
|
9e88b03438 | ||
|
|
14213ea3cd | ||
|
|
5352a507b2 | ||
|
|
3b382199fc | ||
|
|
67dea49a9b | ||
|
|
8bdca87bf9 | ||
|
|
8085e96fdd | ||
|
|
86b40695e6 | ||
|
|
676f98659a | ||
|
|
2fbf8bc2e2 | ||
|
|
bf233f7552 | ||
|
|
2c3e577c4e | ||
|
|
7270de6775 | ||
|
|
e45f3a7d03 | ||
|
|
742e2e8003 | ||
|
|
4cdec6c393 | ||
|
|
a2d273bdc9 | ||
|
|
a163fbef7f | ||
|
|
ec226ede65 | ||
|
|
771fcbec6a | ||
|
|
ae62669fe8 | ||
|
|
4823795c50 | ||
|
|
a80442399d | ||
|
|
913b308892 | ||
|
|
21837d0869 | ||
|
|
5706fcfb7d | ||
|
|
5bc3b55400 | ||
|
|
ffbe2844e4 | ||
|
|
7776b35cab | ||
|
|
c39794c086 | ||
|
|
6aaa50364b | ||
|
|
d0778550ab | ||
|
|
8cba6ac16a | ||
|
|
0516007130 | ||
|
|
af9df325f0 | ||
|
|
4dd69db652 | ||
|
|
316d466795 | ||
|
|
3fb5b99af3 | ||
|
|
1764504ea3 | ||
|
|
fab0495a39 | ||
|
|
166eafe4ee | ||
|
|
9d6181ede1 | ||
|
|
67ecd514a4 | ||
|
|
52f4b79fdf | ||
|
|
5e74a34d3e | ||
|
|
288be33eac | ||
|
|
451a759cca | ||
|
|
a9052705a8 | ||
|
|
5490e74f04 | ||
|
|
ab5768998b | ||
|
|
b71ae96d66 | ||
|
|
e3528ac82f | ||
|
|
bad5a3c0ef | ||
|
|
bb49e6dec7 | ||
|
|
2d24ba659f | ||
|
|
29ce47251a | ||
|
|
d02a84e87e | ||
|
|
c5d008ec47 | ||
|
|
798be5fd5c | ||
|
|
ab6bb54eae | ||
|
|
ae24d18adb | ||
|
|
dcfb49d927 | ||
|
|
d82ab51d58 | ||
|
|
5166001956 | ||
|
|
aa46fc9668 | ||
|
|
beea13ff4b | ||
|
|
766d0b3ad5 | ||
|
|
64e279d859 | ||
|
|
a3f6a8e8ab | ||
|
|
330853c98d | ||
|
|
776e16b58b | ||
|
|
70b1f23a49 | ||
|
|
5e4493b49a | ||
|
|
dec24e09cf | ||
|
|
95445d8f8a | ||
|
|
683a844a08 | ||
|
|
a75eb5b74e | ||
|
|
5dfb844c7e | ||
|
|
20f991a205 | ||
|
|
3c1c339498 | ||
|
|
5974028c4d | ||
|
|
a534b8f812 | ||
|
|
cb2fbf1a32 | ||
|
|
a1392652ae | ||
|
|
69af23b60a | ||
|
|
063b3d37a6 | ||
|
|
ebf9b4b75d | ||
|
|
45fd06c195 | ||
|
|
7db3675e71 | ||
|
|
a19661199e | ||
|
|
953196ec78 | ||
|
|
d5be6e3e08 | ||
|
|
551b79d8c2 | ||
|
|
95a22f228c | ||
|
|
a242b9a20e | ||
|
|
19e91b2de0 | ||
|
|
eac92293fc | ||
|
|
a1397e41aa | ||
|
|
13fccb998e | ||
|
|
1e54220230 | ||
|
|
6b2000bb39 | ||
|
|
5f3fbdb089 | ||
|
|
63e888c9b1 | ||
|
|
e97e702c2e | ||
|
|
657c35f876 | ||
|
|
bc79250f96 | ||
|
|
dd7846e995 | ||
|
|
8a5483d508 | ||
|
|
805053e921 | ||
|
|
170a32a1bd | ||
|
|
5262d424b4 | ||
|
|
9c3c1045ac | ||
|
|
2d1a3f5da9 | ||
|
|
088260bbc6 | ||
|
|
18ebbbc555 | ||
|
|
80b70a8765 | ||
|
|
d3d4cce8b5 | ||
|
|
76bfcd4fa8 | ||
|
|
7cbe383a8a | ||
|
|
0488ebf071 | ||
|
|
1cfab53472 | ||
|
|
084c7a2626 | ||
|
|
161836a233 | ||
|
|
c86ac7d20f | ||
|
|
20cceec090 | ||
|
|
62c6ba362d | ||
|
|
5ed31881e6 | ||
|
|
647c51fe0f | ||
|
|
a2d3ac9e70 | ||
|
|
20f74f6645 | ||
|
|
0bb1ed6f18 | ||
|
|
2102a852cb | ||
|
|
0cfb80b7bf | ||
|
|
4297ea9e40 | ||
|
|
0ce36e93bd | ||
|
|
18bd5f4246 | ||
|
|
2e7bcd9038 | ||
|
|
bfef0c28bc | ||
|
|
b447065651 | ||
|
|
f540f87e77 | ||
|
|
6ebe3454af | ||
|
|
7e00500870 | ||
|
|
bc37dd1df7 | ||
|
|
77aca09f53 | ||
|
|
23fb1194ee | ||
|
|
6253b757ec | ||
|
|
9122342fb9 | ||
|
|
fb42a32089 | ||
|
|
5c7f4c43ae | ||
|
|
3da256cc29 | ||
|
|
717c576cba | ||
|
|
ddb4011b5d | ||
|
|
48207b9300 | ||
|
|
388afe6fb4 | ||
|
|
99b459766a | ||
|
|
230fc5ba53 | ||
|
|
9c266b7b1c | ||
|
|
603599d666 | ||
|
|
b3cd29ac95 | ||
|
|
a4beab86c2 | ||
|
|
3a84e0d064 | ||
|
|
31f1eb2d28 | ||
|
|
d73c0c6f0c | ||
|
|
36409cf066 | ||
|
|
556e1059f9 | ||
|
|
131a6cb6c3 | ||
|
|
598943eb1b | ||
|
|
bf746393b8 | ||
|
|
70b6997436 | ||
|
|
b26c6a04c0 | ||
|
|
4f262a03e4 | ||
|
|
a0ca3dc3f6 | ||
|
|
f58736277f | ||
|
|
473cae169e | ||
|
|
4b956385bd | ||
|
|
481494a885 | ||
|
|
243604d6c1 | ||
|
|
dc97c71e0b | ||
|
|
e6b4832b5d | ||
|
|
00ac67e8ac | ||
|
|
953b609b32 | ||
|
|
a5875be39b | ||
|
|
0f45de8384 | ||
|
|
d119200287 | ||
|
|
b9fa0bea6e | ||
|
|
3a28180700 | ||
|
|
5b6f456d5c | ||
|
|
fb1ae6ea88 | ||
|
|
50582a0e8b | ||
|
|
8fe3d0258a | ||
|
|
f2537b20de | ||
|
|
31d6850e6e | ||
|
|
31468d5425 | ||
|
|
688b839315 | ||
|
|
fa4c9046fc | ||
|
|
c7560f9113 | ||
|
|
f7e3966310 | ||
|
|
7359237da4 | ||
|
|
d617203c05 | ||
|
|
910526ba44 | ||
|
|
c1842703d7 | ||
|
|
2f9d2e2bc2 | ||
|
|
20d7e005a0 | ||
|
|
0ce5a88e49 | ||
|
|
4af10fb485 | ||
|
|
f872113e99 | ||
|
|
f33fefd188 | ||
|
|
8c2f4f9dc9 | ||
|
|
3b6e7c5c28 | ||
|
|
595c11a9a7 | ||
|
|
1ab7b57885 | ||
|
|
07130e6022 | ||
|
|
2cc2f7eb23 | ||
|
|
c798ac49b9 | ||
|
|
a8796edbd3 | ||
|
|
a4ead74cb2 | ||
|
|
0beb00c5e5 | ||
|
|
3d43690303 | ||
|
|
938c819e9a | ||
|
|
889ced68ed | ||
|
|
de97384424 | ||
|
|
f6ffc20a23 | ||
|
|
c0ec82051f | ||
|
|
91273522c0 | ||
|
|
20a475466d | ||
|
|
10b6a4ff6e | ||
|
|
2a4e59d6e2 | ||
|
|
c016ea7c52 | ||
|
|
00bece9c9c | ||
|
|
44ed61c14e | ||
|
|
002b7ae534 | ||
|
|
63000bdd22 | ||
|
|
20fd52b32d | ||
|
|
7a3064d37b | ||
|
|
7fea0a41c6 | ||
|
|
e701540d7f | ||
|
|
5187ebbf52 | ||
|
|
df26c511b5 | ||
|
|
0e650da34a | ||
|
|
2c382da773 | ||
|
|
e709ee5db8 | ||
|
|
d550415b65 | ||
|
|
9ec144e8f6 | ||
|
|
9458307612 | ||
|
|
915c5fcd8e | ||
|
|
0df1293139 | ||
|
|
9bcd18c42e | ||
|
|
1c853107b7 | ||
|
|
3f21e28ef7 | ||
|
|
61244fcef9 | ||
|
|
03c930ce7d | ||
|
|
f57c4967f2 | ||
|
|
49f40d56b0 | ||
|
|
190fcabbac | ||
|
|
8bccf449ad | ||
|
|
f7dc1a588b | ||
|
|
0eb91c6301 | ||
|
|
0fa4d88ea9 | ||
|
|
18e355b701 | ||
|
|
1cb877503d | ||
|
|
b65e691255 | ||
|
|
a4ee43f12b | ||
|
|
f71c61a55b | ||
|
|
418130f4cd | ||
|
|
1566aa0243 | ||
|
|
ab546f66f0 | ||
|
|
fc021dae54 | ||
|
|
58a7b3afe1 | ||
|
|
72f41df5d2 | ||
|
|
8fd6b91cf7 | ||
|
|
cf2ace32d1 | ||
|
|
05c4f721f2 | ||
|
|
b2096cc274 | ||
|
|
067df49914 | ||
|
|
6961298e53 | ||
|
|
3e6523002c | ||
|
|
c26add7b04 | ||
|
|
12d50fec03 | ||
|
|
a43bbc9f23 | ||
|
|
2bec3b253c | ||
|
|
a69f256168 | ||
|
|
d7fb88eed6 | ||
|
|
bfd79f479e | ||
|
|
7ec3fcc78e | ||
|
|
858a09b429 | ||
|
|
da7fcafb27 | ||
|
|
7f7d8b2099 | ||
|
|
b5fb2e9cf4 | ||
|
|
d9ffdf9df8 | ||
|
|
f919187b91 | ||
|
|
d5ead5b74f | ||
|
|
ec1be2c887 | ||
|
|
af0c470923 | ||
|
|
78ce7d20e3 | ||
|
|
932ce9bf51 | ||
|
|
3d602b49bf | ||
|
|
33b7d228f9 | ||
|
|
95a8fd5495 | ||
|
|
87bc416fc7 | ||
|
|
8c21eec168 | ||
|
|
7ef3f0d5c5 | ||
|
|
e90e508005 | ||
|
|
816daed570 | ||
|
|
3626266763 | ||
|
|
6c117a628c | ||
|
|
d3225dfb41 | ||
|
|
bd7e7540d8 | ||
|
|
48088748df | ||
|
|
7a5eecc3e1 | ||
|
|
51d7dede55 | ||
|
|
bcad77ec06 | ||
|
|
9b79d12521 | ||
|
|
4b33461c70 | ||
|
|
bc3a8fefd8 | ||
|
|
db97400b43 | ||
|
|
3ad4032239 | ||
|
|
1d0fb7151d | ||
|
|
0c9099c868 | ||
|
|
c87cbaa0a6 | ||
|
|
5a94bf434a | ||
|
|
d567f3218a | ||
|
|
5d97c4ebea | ||
|
|
c3be464774 | ||
|
|
0d1e10a2ce | ||
|
|
723a7bbfba | ||
|
|
6a100ed2c1 | ||
|
|
5a6cd7fb46 | ||
|
|
871c99a67a | ||
|
|
7bdde2ac8a | ||
|
|
3564282acb | ||
|
|
13e24dbcb4 | ||
|
|
0026e9cb15 | ||
|
|
156795d7e9 | ||
|
|
e41d73b5bd | ||
|
|
655cd1700c | ||
|
|
9fb455d38a | ||
|
|
879a1e1c61 | ||
|
|
e614092690 | ||
|
|
4ebe51d978 | ||
|
|
10a29e584f | ||
|
|
a88982940b | ||
|
|
b92a95cc07 | ||
|
|
bffca5e163 | ||
|
|
b56919a343 | ||
|
|
b797bab7e0 | ||
|
|
a03d2cee63 | ||
|
|
67fef4b73d | ||
|
|
253a953dfe | ||
|
|
be7154284e | ||
|
|
02f90842fe | ||
|
|
0b17a289c8 | ||
|
|
c2298efaf0 |
@@ -15,6 +15,7 @@ d_log/*.txt
|
|||||||
d_log/*.zip
|
d_log/*.zip
|
||||||
sess_*
|
sess_*
|
||||||
*/logs/*.txt
|
*/logs/*.txt
|
||||||
|
*/logs/*/*.txt
|
||||||
err.txt
|
err.txt
|
||||||
che/.htaccess
|
che/.htaccess
|
||||||
kwe/.htaccess
|
kwe/.htaccess
|
||||||
@@ -30,6 +31,7 @@ d_pic/*.png
|
|||||||
|
|
||||||
d_setting/*.php
|
d_setting/*.php
|
||||||
*/d_setting/*.php
|
*/d_setting/*.php
|
||||||
|
*/d_setting/templates/*.php
|
||||||
|
|
||||||
**/old/*
|
**/old/*
|
||||||
test.php
|
test.php
|
||||||
@@ -37,6 +39,10 @@ test.php
|
|||||||
/che
|
/che
|
||||||
/kwe
|
/kwe
|
||||||
/pwe
|
/pwe
|
||||||
|
/nya
|
||||||
|
/pya
|
||||||
/twe
|
/twe
|
||||||
|
|
||||||
phpinfo.php
|
phpinfo.php
|
||||||
|
vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/*
|
||||||
|
*.sqlite3
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ return [
|
|||||||
'hwe/func_npc.php',
|
'hwe/func_npc.php',
|
||||||
'hwe/func_process_chief.php',
|
'hwe/func_process_chief.php',
|
||||||
'hwe/func_process_personnel.php',
|
'hwe/func_process_personnel.php',
|
||||||
'hwe/func_process_trick.php',
|
'hwe/func_process_sabotage.php',
|
||||||
'hwe/func_process.php',
|
'hwe/func_process.php',
|
||||||
'hwe/func_string.php',
|
'hwe/func_string.php',
|
||||||
'hwe/func_template.php',
|
'hwe/func_template.php',
|
||||||
|
|||||||
@@ -5,11 +5,13 @@
|
|||||||
"**/.hg": true,
|
"**/.hg": true,
|
||||||
"**/CVS": true,
|
"**/CVS": true,
|
||||||
"**/.DS_Store": true,
|
"**/.DS_Store": true,
|
||||||
"**/logs/*.txt": true,
|
"**/logs/**/*.txt": true,
|
||||||
"**/session/sess*":true,
|
"**/session/sess*":true,
|
||||||
"/che":true,
|
"/che":true,
|
||||||
"/kwe":true,
|
"/kwe":true,
|
||||||
"/pwe":true,
|
"/pwe":true,
|
||||||
|
"/nya":true,
|
||||||
|
"/pya":true,
|
||||||
"/twe":true,
|
"/twe":true,
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -19,6 +21,8 @@
|
|||||||
"/che":true,
|
"/che":true,
|
||||||
"/kwe":true,
|
"/kwe":true,
|
||||||
"/pwe":true,
|
"/pwe":true,
|
||||||
|
"/nya":true,
|
||||||
|
"/pya":true,
|
||||||
"/twe":true,
|
"/twe":true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Hide_D, 62che
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# 삼국지 모의전투 HiDCHe
|
||||||
|
|
||||||
|
삼국지 모의전투 유기체서버를 기반으로 더욱 더 진화한 서버입니다.
|
||||||
|
|
||||||
|
|
||||||
|
## 요구사항
|
||||||
|
|
||||||
|
* Apache2
|
||||||
|
* <code>mpm_event</code> 권장
|
||||||
|
* PHP 7.2 이상
|
||||||
|
* <code>php-fpm</code> 권장
|
||||||
|
* php에서 curl을 실행가능해야 합니다.
|
||||||
|
* MySQL 5.6 이상, 또는 MariaDB 10.0 이상
|
||||||
|
* <code>git</code>
|
||||||
|
* <code>curl</code>
|
||||||
|
|
||||||
|
Linux는 Ubuntu 16.04, Windows는 Windows 10에서 XAMPP를 사용한 환경에서 테스트되었습니다.
|
||||||
|
|
||||||
|
Docker를 이용한 설치는 계획중입니다.
|
||||||
|
|
||||||
|
## 설치
|
||||||
|
|
||||||
|
본 게임은 <code>git</code>을 이용한 업그레이드 시스템을 구현하였으므로, <code>git</code>이 필요합니다.
|
||||||
|
또한 웹 서비스 데몬을 운영중인 사용자(일반적으로 <code>www-data</code>, <code>apache</code>)에게 디렉토리 권한이 주어져야합니다.
|
||||||
|
|
||||||
|
### 다운로드
|
||||||
|
|
||||||
|
웹 데몬 user가 <code>www-data</code>인 경우 다음과 같이 입력하여 최신 배포버전과 이미지 파일을 얻을 수 있습니다.
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo -u www-data git clone ssh://git@storage.hided.net:2525/devsam/core.git
|
||||||
|
git clone ssh://git@storage.hided.net:2525/devsam/image.git
|
||||||
|
```
|
||||||
|
|
||||||
|
> 이미지는 git hook을 이용한 업데이트 기능을 제공하지만 아직 범용성 있는 설계가 되어있진 않습니다.
|
||||||
|
|
||||||
|
### 설치
|
||||||
|
|
||||||
|
이후 해당 경로를 웹 브라우저를 통해 접근하여 설치를 진행할 수 있습니다.
|
||||||
|
|
||||||
|
Database 수는 로그인 관리 서버 1개, 내부 서버 7개로, 총 8개의 Database가 필요합니다. 내부 설정을 고쳐서 서버 수를 늘리거나 줄일 경우 그에 맞는 Database 수가 필요합니다. 또한 Database마다 관리할 별도의 계정을 만드는 것을 추천합니다.
|
||||||
|
|
||||||
|
설치 이후에는 서버관리 페이지에서 **업데이트** 명령을 통해 원 클릭 업데이트가 가능합니다.
|
||||||
|
|
||||||
|
|
||||||
|
## 카카오로그인 연동
|
||||||
|
|
||||||
|
현재 카카오로그인 API KEY를 입력하는 작업이 설치과정에 추가되어있지 않습니다.
|
||||||
|
|
||||||
|
<code>f_install/templates/KakaoKey.orig.php</code> 를 <code>d_setting/KakaoKey.php</code>로 복사한 후 API 키를 입력하여야 합니다.
|
||||||
|
|
||||||
|
|
||||||
|
## 라이선스
|
||||||
|
|
||||||
|
본 게임을 수정하거나 재배포할 경우 다음 중 하나의 라이선스를 선택하여 적용할 수 있습니다.
|
||||||
|
|
||||||
|
* MIT License
|
||||||
|
* GPL 2.0 또는 이후
|
||||||
|
|
||||||
|
만약 별도의 라이선스를 적용하고자 할 경우 Hide_D에게 문의하여 주십시오.
|
||||||
@@ -16,7 +16,11 @@
|
|||||||
"firephp/firephp-core": "^0.4.0",
|
"firephp/firephp-core": "^0.4.0",
|
||||||
"vlucas/valitron": "^1.4",
|
"vlucas/valitron": "^1.4",
|
||||||
"php-extended/php-tail": "^2.1",
|
"php-extended/php-tail": "^2.1",
|
||||||
"pguardiario/phpuri": "^1.0"
|
"pguardiario/phpuri": "^1.0",
|
||||||
|
"symfony/lock": "^4.1",
|
||||||
|
"ezyang/htmlpurifier": "^4.10",
|
||||||
|
"xemlock/htmlpurifier-html5": "^0.1.7",
|
||||||
|
"catfan/medoo": "^1.5"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "1753c2c2ad9fe40ecc5c6ae541dd2e78",
|
"content-hash": "3fceaf3c2925068c7e757ab12036e29e",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "brandonwamboldt/utilphp",
|
"name": "brandonwamboldt/utilphp",
|
||||||
@@ -52,6 +52,112 @@
|
|||||||
],
|
],
|
||||||
"time": "2015-02-02T17:56:14+00:00"
|
"time": "2015-02-02T17:56:14+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "catfan/medoo",
|
||||||
|
"version": "v1.5.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/catfan/Medoo.git",
|
||||||
|
"reference": "8d90cba0e8ff176028847527d0ea76fe41a06ecf"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/catfan/Medoo/zipball/8d90cba0e8ff176028847527d0ea76fe41a06ecf",
|
||||||
|
"reference": "8d90cba0e8ff176028847527d0ea76fe41a06ecf",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"php": ">=5.4"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-pdo_dblib": "For MSSQL or Sybase database on Linux/UNIX platform",
|
||||||
|
"ext-pdo_mysql": "For MySQL or MariaDB database",
|
||||||
|
"ext-pdo_oci": "For Oracle database",
|
||||||
|
"ext-pdo_oci8": "For Oracle version 8 database",
|
||||||
|
"ext-pdo_pqsql": "For PostgreSQL database",
|
||||||
|
"ext-pdo_sqlite": "For SQLite database",
|
||||||
|
"ext-pdo_sqlsrv": "For MSSQL database"
|
||||||
|
},
|
||||||
|
"type": "framework",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Medoo\\": "/src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Angel Lai",
|
||||||
|
"email": "angel@catfan.me"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The lightest PHP database framework to accelerate development",
|
||||||
|
"homepage": "https://medoo.in",
|
||||||
|
"keywords": [
|
||||||
|
"database",
|
||||||
|
"lightweight",
|
||||||
|
"mariadb",
|
||||||
|
"mssql",
|
||||||
|
"mysql",
|
||||||
|
"oracle",
|
||||||
|
"php framework",
|
||||||
|
"postgresql",
|
||||||
|
"sql",
|
||||||
|
"sqlite"
|
||||||
|
],
|
||||||
|
"time": "2018-06-14T18:59:08+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ezyang/htmlpurifier",
|
||||||
|
"version": "v4.10.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/ezyang/htmlpurifier.git",
|
||||||
|
"reference": "d85d39da4576a6934b72480be6978fb10c860021"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
|
||||||
|
"reference": "d85d39da4576a6934b72480be6978fb10c860021",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"simpletest/simpletest": "^1.1"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"HTMLPurifier": "library/"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"library/HTMLPurifier.composer.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Edward Z. Yang",
|
||||||
|
"email": "admin@htmlpurifier.org",
|
||||||
|
"homepage": "http://ezyang.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Standards compliant HTML filter written in PHP",
|
||||||
|
"homepage": "http://htmlpurifier.org/",
|
||||||
|
"keywords": [
|
||||||
|
"html"
|
||||||
|
],
|
||||||
|
"time": "2018-02-23T01:58:20+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "firephp/firephp-core",
|
"name": "firephp/firephp-core",
|
||||||
"version": "v0.4.0",
|
"version": "v0.4.0",
|
||||||
@@ -90,16 +196,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/guzzle",
|
"name": "guzzlehttp/guzzle",
|
||||||
"version": "6.3.2",
|
"version": "6.3.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/guzzle/guzzle.git",
|
"url": "https://github.com/guzzle/guzzle.git",
|
||||||
"reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90"
|
"reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/68d0ea14d5a3f42a20e87632a5f84931e2709c90",
|
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
|
||||||
"reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90",
|
"reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -109,7 +215,7 @@
|
|||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4",
|
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
|
||||||
"psr/log": "^1.0"
|
"psr/log": "^1.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
@@ -151,7 +257,7 @@
|
|||||||
"rest",
|
"rest",
|
||||||
"web service"
|
"web service"
|
||||||
],
|
],
|
||||||
"time": "2018-03-26T16:33:04+00:00"
|
"time": "2018-04-22T15:46:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/promises",
|
"name": "guzzlehttp/promises",
|
||||||
@@ -271,16 +377,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leafo/scssphp",
|
"name": "leafo/scssphp",
|
||||||
"version": "v0.7.5",
|
"version": "v0.7.7",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/leafo/scssphp.git",
|
"url": "https://github.com/leafo/scssphp.git",
|
||||||
"reference": "8b538d828bbb75276974605c4a1a435e939da74e"
|
"reference": "1d656f8c02a3a69404bba6b28ec4e06edddf0f49"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/leafo/scssphp/zipball/8b538d828bbb75276974605c4a1a435e939da74e",
|
"url": "https://api.github.com/repos/leafo/scssphp/zipball/1d656f8c02a3a69404bba6b28ec4e06edddf0f49",
|
||||||
"reference": "8b538d828bbb75276974605c4a1a435e939da74e",
|
"reference": "1d656f8c02a3a69404bba6b28ec4e06edddf0f49",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -319,7 +425,7 @@
|
|||||||
"scss",
|
"scss",
|
||||||
"stylesheet"
|
"stylesheet"
|
||||||
],
|
],
|
||||||
"time": "2018-02-09T02:04:21+00:00"
|
"time": "2018-07-22T01:22:08+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/plates",
|
"name": "league/plates",
|
||||||
@@ -480,16 +586,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-extended/php-system",
|
"name": "php-extended/php-system",
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-extended/php-system.git",
|
"url": "https://gitlab.com/php-extended/php-system.git",
|
||||||
"reference": "66727d5dc0a665916bd7e08bcfb9820e7be1d20c"
|
"reference": "9e6b3c2009ef56dc123efc43900e40cdf217ace0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-extended/php-system/zipball/66727d5dc0a665916bd7e08bcfb9820e7be1d20c",
|
"url": "https://gitlab.com/api/v4/projects/php-extended%2Fphp-system/repository/archive.zip?sha=9e6b3c2009ef56dc123efc43900e40cdf217ace0",
|
||||||
"reference": "66727d5dc0a665916bd7e08bcfb9820e7be1d20c",
|
"reference": "9e6b3c2009ef56dc123efc43900e40cdf217ace0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
@@ -505,31 +611,31 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Anastaszor",
|
"name": "Anastaszor",
|
||||||
"role": "developer"
|
"role": "Developer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A generic way to find informations about the running system",
|
"description": "A generic way to find informations about the running system",
|
||||||
"homepage": "https://github.com/php-extended/php-system",
|
"homepage": "https://gitlab.com/php-extended/php-system",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"operating system",
|
"operating system",
|
||||||
"os",
|
"os",
|
||||||
"php",
|
"php",
|
||||||
"system"
|
"system"
|
||||||
],
|
],
|
||||||
"time": "2017-01-14T11:56:24+00:00"
|
"time": "2018-06-07T06:03:27+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-extended/php-tail",
|
"name": "php-extended/php-tail",
|
||||||
"version": "2.1.1",
|
"version": "2.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-extended/php-tail.git",
|
"url": "https://gitlab.com/php-extended/php-tail.git",
|
||||||
"reference": "eabf7bee64f8c30fe9b9e1176562fdb903c54ae7"
|
"reference": "19fbd3a79ccc071954f28296b2c44754335304a0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-extended/php-tail/zipball/eabf7bee64f8c30fe9b9e1176562fdb903c54ae7",
|
"url": "https://gitlab.com/api/v4/projects/php-extended%2Fphp-tail/repository/archive.zip?sha=19fbd3a79ccc071954f28296b2c44754335304a0",
|
||||||
"reference": "eabf7bee64f8c30fe9b9e1176562fdb903c54ae7",
|
"reference": "19fbd3a79ccc071954f28296b2c44754335304a0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -548,11 +654,11 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Anastaszor",
|
"name": "Anastaszor",
|
||||||
"role": "developer"
|
"role": "Developer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A smart way to tail files depending of the environment",
|
"description": "A smart way to tail files depending of the environment",
|
||||||
"homepage": "https://github.com/php-extended/php-tail",
|
"homepage": "https://gitlab.com/php-extended/php-tail",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"cheat",
|
"cheat",
|
||||||
"mighty",
|
"mighty",
|
||||||
@@ -560,7 +666,7 @@
|
|||||||
"php",
|
"php",
|
||||||
"tail"
|
"tail"
|
||||||
],
|
],
|
||||||
"time": "2017-07-25T13:52:42+00:00"
|
"time": "2018-06-07T06:04:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/http-message",
|
"name": "psr/http-message",
|
||||||
@@ -703,34 +809,98 @@
|
|||||||
"time": "2014-06-16T22:40:22+00:00"
|
"time": "2014-06-16T22:40:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vlucas/valitron",
|
"name": "symfony/lock",
|
||||||
"version": "v1.4.2",
|
"version": "v4.1.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/vlucas/valitron.git",
|
"url": "https://github.com/symfony/lock.git",
|
||||||
"reference": "87775d76268beda2afa085bdd6e44b17e98907c6"
|
"reference": "d508b5dd92272cb74300396ecaadde969d0f7976"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/vlucas/valitron/zipball/87775d76268beda2afa085bdd6e44b17e98907c6",
|
"url": "https://api.github.com/repos/symfony/lock/zipball/d508b5dd92272cb74300396ecaadde969d0f7976",
|
||||||
"reference": "87775d76268beda2afa085bdd6e44b17e98907c6",
|
"reference": "d508b5dd92272cb74300396ecaadde969d0f7976",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^7.1.3",
|
||||||
|
"psr/log": "~1.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"predis/predis": "~1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "4.1-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Component\\Lock\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jérémy Derussé",
|
||||||
|
"email": "jeremy@derusse.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony Lock Component",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"cas",
|
||||||
|
"flock",
|
||||||
|
"locking",
|
||||||
|
"mutex",
|
||||||
|
"redlock",
|
||||||
|
"semaphore"
|
||||||
|
],
|
||||||
|
"time": "2018-06-21T11:15:46+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vlucas/valitron",
|
||||||
|
"version": "v1.4.3",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/vlucas/valitron.git",
|
||||||
|
"reference": "3c5463315bfa23b17f8949b100a960d035234e43"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/vlucas/valitron/zipball/3c5463315bfa23b17f8949b100a960d035234e43",
|
||||||
|
"reference": "3c5463315bfa23b17f8949b100a960d035234e43",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.2"
|
"php": ">=5.3.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~4.0"
|
"phpunit/phpunit": "^4.8.35 || ^5.5 || ^6.5"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-mbstring": "It can support the multiple bytes string length."
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-0": {
|
"psr-4": {
|
||||||
"Valitron": "src/"
|
"Valitron\\": "src/Valitron"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
"BSD"
|
"BSD-3-Clause"
|
||||||
],
|
],
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
@@ -746,7 +916,47 @@
|
|||||||
"validation",
|
"validation",
|
||||||
"validator"
|
"validator"
|
||||||
],
|
],
|
||||||
"time": "2017-10-30T23:15:06+00:00"
|
"time": "2018-05-06T10:45:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "xemlock/htmlpurifier-html5",
|
||||||
|
"version": "v0.1.7",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/xemlock/htmlpurifier-html5.git",
|
||||||
|
"reference": "b4b35e51ec75e0207c23035f7d9a354bdcdac359"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/xemlock/htmlpurifier-html5/zipball/b4b35e51ec75e0207c23035f7d9a354bdcdac359",
|
||||||
|
"reference": "b4b35e51ec75e0207c23035f7d9a354bdcdac359",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ezyang/htmlpurifier": "^4.7",
|
||||||
|
"php": ">=5.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "4.7.*|5.7.*"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"library/HTMLPurifier/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "xemlock",
|
||||||
|
"email": "xemlock@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "HTML Purifier definitions for HTML5 elements",
|
||||||
|
"time": "2018-06-07T14:30:17+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [],
|
"packages-dev": [],
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
|
|
||||||
* { margin: 0px; padding: 0px; }
|
body {
|
||||||
body { color:white; background-color:black; border-width:1; border-color:gray; }
|
color:white; background-color:black; font-family: '맑은 고딕';
|
||||||
table {
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
border: solid 1px; border-spacing: 0px; border-collapse: separate; border-top-color: gray; border-left-color: gray; border-right-color: black; border-bottom-color: black;
|
border: solid 1px; border-spacing: 0px; border-collapse: separate; border-top-color: gray; border-left-color: gray; border-right-color: black; border-bottom-color: black;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: '맑은 고딕'; line-height: 110%;
|
font-family: '맑은 고딕';
|
||||||
}
|
}
|
||||||
th, td {
|
th, td {
|
||||||
border: solid 1px; border-spacing: 0px; border-collapse: separate; border-top-color: gray; border-left-color: gray; border-right-color: black; border-bottom-color: black;
|
border: solid 1px; border-spacing: 0px; border-collapse: separate; border-top-color: gray; border-left-color: gray; border-right-color: black; border-bottom-color: black;
|
||||||
@@ -16,21 +18,15 @@ th, td {
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: '맑은 고딕'; line-height: 110%;
|
font-family: '맑은 고딕';
|
||||||
}
|
}
|
||||||
|
|
||||||
a.just_link {
|
a.just_link {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
|
||||||
margin:0px;
|
|
||||||
padding: 0px;
|
|
||||||
word-break: break-all;
|
|
||||||
font-family: '맑은 고딕';
|
|
||||||
}
|
|
||||||
|
|
||||||
.with_border{
|
.with_border{
|
||||||
|
margin:0;
|
||||||
border: solid 1px;
|
border: solid 1px;
|
||||||
border-spacing: 0px;
|
border-spacing: 0px;
|
||||||
border-collapse: separate;
|
border-collapse: separate;
|
||||||
@@ -45,6 +41,8 @@ div {
|
|||||||
line-height:50px;
|
line-height:50px;
|
||||||
font-size: 30px; font-weight: bold;
|
font-size: 30px; font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
color:white;
|
||||||
|
padding:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.legacy_layout div {
|
.legacy_layout div {
|
||||||
@@ -53,20 +51,9 @@ div {
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: '맑은 고딕'; line-height: 110%;
|
font-family: '맑은 고딕';;
|
||||||
}
|
}
|
||||||
|
|
||||||
font { font-family: '맑은 고딕'; line-height: 110%; }
|
|
||||||
/*
|
|
||||||
input {
|
|
||||||
width: 100px; height: 18px;
|
|
||||||
background-color: black; color: white;
|
|
||||||
font-family: '맑은 고딕';
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 110%;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
.obj_fill{
|
.obj_fill{
|
||||||
display:block;
|
display:block;
|
||||||
width:100%;
|
width:100%;
|
||||||
@@ -74,31 +61,24 @@ input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
button.with_skin {
|
button.with_skin {
|
||||||
|
padding:0 4px;
|
||||||
background-color: black; color: white;
|
background-color: black; color: white;
|
||||||
font-family: '맑은 고딕';
|
font-family: '맑은 고딕';
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 110%;
|
}
|
||||||
|
|
||||||
|
button.with_skin:disabled {
|
||||||
|
background-color:#333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
input.with_skin {
|
input.with_skin {
|
||||||
background-color: black; color: white;
|
background-color: black; color: white;
|
||||||
font-family: '맑은 고딕';
|
font-family: '맑은 고딕';
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 110%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
input.with_skin:disabled {
|
||||||
width: 100px; height: 18px;
|
background-color: #333333;
|
||||||
background-color: black; color: white;
|
|
||||||
font-family: '맑은 고딕';
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 110%;
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
width: 100px; height: 20px;
|
|
||||||
background-color: black; color: white;
|
|
||||||
font-family: '맑은 고딕';
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.font0 { font-size: 10px; }
|
.font0 { font-size: 10px; }
|
||||||
@@ -106,4 +86,82 @@ button {
|
|||||||
.font2 { font-size: 15px; }
|
.font2 { font-size: 15px; }
|
||||||
.font3 { font-size: 20px; }
|
.font3 { font-size: 20px; }
|
||||||
.font4 { font-size: 30px; }
|
.font4 { font-size: 30px; }
|
||||||
.font5 { font-size: 50px; }
|
.font5 { font-size: 50px; }
|
||||||
|
|
||||||
|
caption.section_title {
|
||||||
|
caption-side:top;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.samButton{
|
||||||
|
float:left;
|
||||||
|
display:block;
|
||||||
|
padding:0;
|
||||||
|
margin:0;
|
||||||
|
text-decoration: none;
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.samButton.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samButtonOuter{
|
||||||
|
display: table;
|
||||||
|
border: outset 2px white;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-weight:bold;
|
||||||
|
padding: 1px 6px;
|
||||||
|
width:125px;
|
||||||
|
height:30px;
|
||||||
|
background-color:#000000;
|
||||||
|
color:#ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samButtonOuter:active{
|
||||||
|
border: inset 2px white;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.samButtonInner{
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samToolbarButton > .samButtonOuter{
|
||||||
|
width:125px;
|
||||||
|
height:30px;
|
||||||
|
background-color:#225500;
|
||||||
|
color:white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samToolbarButton2 > .samButtonOuter{
|
||||||
|
width:125px;
|
||||||
|
height:30px;
|
||||||
|
background-color:#225500;
|
||||||
|
color:magenta;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samCommandButton > .samButtonOuter{
|
||||||
|
width:111px;
|
||||||
|
height:30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samCommandButton.disabled > .samButtonOuter{
|
||||||
|
background-color:transparent !important;
|
||||||
|
color:gray !important;
|
||||||
|
border-color:transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.samCommandButton.disabled > .samButtonOuter > .samButtonInner::before{
|
||||||
|
content:'【'
|
||||||
|
}
|
||||||
|
|
||||||
|
.samCommandButton.disabled > .samButtonOuter > .samButtonInner::after{
|
||||||
|
content:'】'
|
||||||
|
}
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
|
|
||||||
|
body{
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
#server_notice {
|
#server_notice {
|
||||||
margin:10px 0;
|
margin:10px 0;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -55,77 +59,6 @@
|
|||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Legacy*/
|
|
||||||
|
|
||||||
|
|
||||||
#Entrance_00 {
|
|
||||||
width: 800px;
|
|
||||||
position: absolute; top: 50px; left: 50%;
|
|
||||||
margin-left: -400px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_0004 {
|
|
||||||
width: 52px; height: 52px;
|
|
||||||
position: absolute; top: 0px; left: -62px;
|
|
||||||
border: 1px solid white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_0005 {
|
|
||||||
width: 160px; height: 600px;
|
|
||||||
position: absolute; top: 62px; left: -170px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_0006 {
|
|
||||||
width: 160px; height: 600px;
|
|
||||||
position: absolute; top: 62px; left: 810px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Entrance_0000 {
|
|
||||||
width: 800px; height: 134px;
|
|
||||||
position: absolute; top: 0px; left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000000 {
|
|
||||||
width: 798px; height: 50px;
|
|
||||||
position: absolute; top: 0px; left: 0px;
|
|
||||||
font-size: 30px; font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000001 {
|
|
||||||
width: 798px; height: 20px;
|
|
||||||
position: absolute; top: 52px; left: 0px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_00000000 {
|
|
||||||
width: 98px; height: 20px;
|
|
||||||
position: absolute; top: 0px; left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_00000001 {
|
|
||||||
width: 398px; height: 20px;
|
|
||||||
position: absolute; top: 0px; left: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_00000002 {
|
|
||||||
width: 178px; height: 20px;
|
|
||||||
position: absolute; top: 0px; left: 500px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_00000003 {
|
|
||||||
width: 118px; height: 20px;
|
|
||||||
position: absolute; top: 0px; left: 680px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000002 {
|
|
||||||
width: 798px; height: 64px;
|
|
||||||
position: absolute; top: 74px; left: 0px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Entrance_ServerList {
|
.Entrance_ServerList {
|
||||||
width: 800px; height: 64px;
|
width: 800px; height: 64px;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -195,27 +128,14 @@
|
|||||||
color: magenta; font-size: 15px; font-weight: bold;
|
color: magenta; font-size: 15px; font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Entrance_Nya {
|
||||||
|
color: #e67e22; font-size: 15px; font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Entrance_Pya {
|
||||||
|
color: #9b59b6; font-size: 15px; font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
.Entrance_Hwe {
|
.Entrance_Hwe {
|
||||||
color: red; font-size: 15px; font-weight: bold;
|
color: red; font-size: 15px; font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#Entrance_0001 {
|
|
||||||
width: 800px; height: 130px;
|
|
||||||
position: absolute; top: 154px; left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000100 {
|
|
||||||
width: 798px; height: 50px;
|
|
||||||
position: absolute; top: 0px; left: 0px;
|
|
||||||
font-size: 30px; font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000101 {
|
|
||||||
width: 200px; height: 50px;
|
|
||||||
position: absolute; top: 65px; left: 150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Entrance_000102 {
|
|
||||||
width: 200px; height: 50px;
|
|
||||||
position: absolute; top: 65px; left: 450px;
|
|
||||||
}
|
|
||||||
@@ -62,8 +62,21 @@ input::-webkit-input-placeholder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.col-form-label{
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
.terms{
|
.terms{
|
||||||
max-height: 200px; overflow: auto;
|
max-height: 200px; overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terms pre{
|
||||||
|
width:100%;
|
||||||
|
white-space: pre-wrap; /* Since CSS 2.1 */
|
||||||
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||||
|
white-space: -pre-wrap; /* Opera 4-6 */
|
||||||
|
white-space: -o-pre-wrap; /* Opera 7 */
|
||||||
|
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
.vertical-center {
|
.vertical-center {
|
||||||
@@ -72,4 +85,43 @@ input::-webkit-input-placeholder {
|
|||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full-content {
|
||||||
|
position:fixed;
|
||||||
|
left:0;
|
||||||
|
top:0;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
z-index:800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#btn_kakao_login{
|
||||||
|
cursor: pointer;
|
||||||
|
height:46px;
|
||||||
|
width:116px;
|
||||||
|
background-color: transparent;
|
||||||
|
color:transparent;
|
||||||
|
border:0;
|
||||||
|
background-size: 100%; /* To fill the dimensions of container (button), or */
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom center;
|
||||||
|
margin-top:5px;
|
||||||
|
background-image:url('../oauth_kakao/kakao_login_join.png');
|
||||||
|
}
|
||||||
|
|
||||||
|
#btn_kakao_login:hover {
|
||||||
|
background-image:url('../oauth_kakao/kakao_login_join_ov.png');
|
||||||
|
}
|
||||||
|
|
||||||
|
#bottom_box{
|
||||||
|
position:fixed;
|
||||||
|
bottom:0;
|
||||||
|
width:100%;
|
||||||
|
left:0;
|
||||||
|
}
|
||||||
|
#bottom_box .container{
|
||||||
|
text-align:center;
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
|
|
||||||
#user_info_container{
|
#user_info_container{
|
||||||
width:500px;
|
width:550px;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
left:50%;
|
left:50%;
|
||||||
margin-left:-250px;
|
margin-left:-250px;
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
right: 6px;
|
right: 6px;
|
||||||
margin:6px;
|
margin:6px;
|
||||||
height:40px;
|
height:40px;
|
||||||
|
line-height:40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#btn_delete_me{
|
#btn_delete_me{
|
||||||
@@ -37,15 +38,15 @@
|
|||||||
|
|
||||||
#image_upload_filename{
|
#image_upload_filename{
|
||||||
position:absolute;
|
position:absolute;
|
||||||
height:16px;
|
height:20px;
|
||||||
left:10px;
|
left:10px;
|
||||||
width:130px;
|
width:130px;
|
||||||
top:16px;
|
top:12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#image_upload_fake_btn{
|
#image_upload_fake_btn{
|
||||||
top:16px;
|
top:12px;
|
||||||
height:20px;
|
height:22px;
|
||||||
right:10px;
|
right:10px;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
}
|
}
|
||||||
@@ -53,8 +54,7 @@
|
|||||||
#image_upload{
|
#image_upload{
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
top:16px;
|
top:12px;
|
||||||
height:22px;
|
|
||||||
left:0;
|
left:0;
|
||||||
height:20px;
|
height:20px;
|
||||||
width:100%;
|
width:100%;
|
||||||
@@ -70,7 +70,6 @@
|
|||||||
bottom:0;
|
bottom:0;
|
||||||
left:0;
|
left:0;
|
||||||
width:50%;
|
width:50%;
|
||||||
height:20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#btn_remove_icon{
|
#btn_remove_icon{
|
||||||
@@ -78,171 +77,10 @@
|
|||||||
bottom:0;
|
bottom:0;
|
||||||
right:0;
|
right:0;
|
||||||
width:50%;
|
width:50%;
|
||||||
height:20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#EntranceManage_00 {
|
#third_use_disallow{
|
||||||
width: 500px; height: 409px;
|
display:none;
|
||||||
z-index: 2;
|
margin-left:10px;
|
||||||
}
|
width:40px;
|
||||||
|
}
|
||||||
#EntranceManage_0000 {
|
|
||||||
width: 498px; height: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0001 {
|
|
||||||
width: 100px; height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0002 {
|
|
||||||
width: 498px; height: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0003 {
|
|
||||||
width: 98px; height: 84px;
|
|
||||||
line-height: 84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0004 {
|
|
||||||
width: 148px; height: 84px;
|
|
||||||
line-height: 84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0005 {
|
|
||||||
width: 98px; height: 84px;
|
|
||||||
line-height: 84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0006 {
|
|
||||||
width: 148px; height: 84px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_000600 {
|
|
||||||
width: 80px; height: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_000601 {
|
|
||||||
width: 80px; height: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_000602 {
|
|
||||||
width: 80px; height: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_000603 {
|
|
||||||
width: 144px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0007 {
|
|
||||||
width: 98px; height: 64px;
|
|
||||||
line-height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0008 {
|
|
||||||
width: 148px; height: 64px;
|
|
||||||
line-height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0009 {
|
|
||||||
width: 98px; height: 64px;
|
|
||||||
line-height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0010 {
|
|
||||||
width: 148px; height: 64px;
|
|
||||||
line-height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0011 {
|
|
||||||
width: 98px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0012 {
|
|
||||||
width: 148px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0013 {
|
|
||||||
width: 248px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0014 {
|
|
||||||
width: 98px; height: 64px;
|
|
||||||
line-height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0015 {
|
|
||||||
width: 148px; height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001500 {
|
|
||||||
width: 64px; height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001501 {
|
|
||||||
width: 64px; height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0016 {
|
|
||||||
width: 248px; height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001600 {
|
|
||||||
width: 100px; height: 16px;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001601 {
|
|
||||||
width: 70px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001602 {
|
|
||||||
width: 85px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_001603 {
|
|
||||||
width: 85px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0017 {
|
|
||||||
width: 98px; height: 100px;
|
|
||||||
line-height: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0018 {
|
|
||||||
width: 398px; height: 100px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0019 {
|
|
||||||
width: 149px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_0020 {
|
|
||||||
width: 500px; height: 20px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_002000 {
|
|
||||||
width: 500px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#EntranceManage_00200000 {
|
|
||||||
width: 498px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.EntranceManage_Sequence {
|
|
||||||
width: 48px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.EntranceManage_Date {
|
|
||||||
width: 148px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.EntranceManage_Amount {
|
|
||||||
width: 148px; height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.EntranceManage_Cumul {
|
|
||||||
width: 148px; height: 20px;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
//download.js v3.0, by dandavis; 2008-2014. [CCBY2] see http://danml.com/download.html for tests/usage
|
||||||
|
// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime
|
||||||
|
// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs
|
||||||
|
// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support
|
||||||
|
|
||||||
|
// data can be a string, Blob, File, or dataURL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function download(data, strFileName, strMimeType) {
|
||||||
|
|
||||||
|
var self = window, // this script is only for browsers anyway...
|
||||||
|
u = "application/octet-stream", // this default mime also triggers iframe downloads
|
||||||
|
m = strMimeType || u,
|
||||||
|
x = data,
|
||||||
|
D = document,
|
||||||
|
a = D.createElement("a"),
|
||||||
|
z = function(a){return String(a);},
|
||||||
|
|
||||||
|
|
||||||
|
B = self.Blob || self.MozBlob || self.WebKitBlob || z,
|
||||||
|
BB = self.MSBlobBuilder || self.WebKitBlobBuilder || self.BlobBuilder,
|
||||||
|
fn = strFileName || "download",
|
||||||
|
blob,
|
||||||
|
b,
|
||||||
|
ua,
|
||||||
|
fr;
|
||||||
|
|
||||||
|
//if(typeof B.bind === 'function' ){ B=B.bind(self); }
|
||||||
|
|
||||||
|
if(String(this)==="true"){ //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback
|
||||||
|
x=[x, m];
|
||||||
|
m=x[0];
|
||||||
|
x=x[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//go ahead and download dataURLs right away
|
||||||
|
if(String(x).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/)){
|
||||||
|
return navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:
|
||||||
|
navigator.msSaveBlob(d2b(x), fn) :
|
||||||
|
saver(x) ; // everyone else can save dataURLs un-processed
|
||||||
|
}//end if dataURL passed?
|
||||||
|
|
||||||
|
try{
|
||||||
|
|
||||||
|
blob = x instanceof B ?
|
||||||
|
x :
|
||||||
|
new B([x], {type: m}) ;
|
||||||
|
}catch(y){
|
||||||
|
if(BB){
|
||||||
|
b = new BB();
|
||||||
|
b.append([x]);
|
||||||
|
blob = b.getBlob(m); // the blob
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function d2b(u) {
|
||||||
|
var p= u.split(/[:;,]/),
|
||||||
|
t= p[1],
|
||||||
|
dec= p[2] == "base64" ? atob : decodeURIComponent,
|
||||||
|
bin= dec(p.pop()),
|
||||||
|
mx= bin.length,
|
||||||
|
i= 0,
|
||||||
|
uia= new Uint8Array(mx);
|
||||||
|
|
||||||
|
for(i;i<mx;++i) uia[i]= bin.charCodeAt(i);
|
||||||
|
|
||||||
|
return new B([uia], {type: t});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saver(url, winMode){
|
||||||
|
|
||||||
|
|
||||||
|
if ('download' in a) { //html5 A[download]
|
||||||
|
a.href = url;
|
||||||
|
a.setAttribute("download", fn);
|
||||||
|
a.innerHTML = "downloading...";
|
||||||
|
D.body.appendChild(a);
|
||||||
|
setTimeout(function() {
|
||||||
|
a.click();
|
||||||
|
D.body.removeChild(a);
|
||||||
|
if(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(a.href);}, 250 );}
|
||||||
|
}, 66);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//do iframe dataURL download (old ch+FF):
|
||||||
|
var f = D.createElement("iframe");
|
||||||
|
D.body.appendChild(f);
|
||||||
|
if(!winMode){ // force a mime that will download:
|
||||||
|
url="data:"+url.replace(/^data:([\w\/\-\+]+)/, u);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
f.src = url;
|
||||||
|
setTimeout(function(){ D.body.removeChild(f); }, 333);
|
||||||
|
|
||||||
|
}//end saver
|
||||||
|
|
||||||
|
|
||||||
|
if (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)
|
||||||
|
return navigator.msSaveBlob(blob, fn);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(self.URL){ // simple fast and modern way using Blob and URL:
|
||||||
|
saver(self.URL.createObjectURL(blob), true);
|
||||||
|
}else{
|
||||||
|
// handle non-Blob()+non-URL browsers:
|
||||||
|
if(typeof blob === "string" || blob.constructor===z ){
|
||||||
|
try{
|
||||||
|
return saver( "data:" + m + ";base64," + self.btoa(blob) );
|
||||||
|
}catch(y){
|
||||||
|
return saver( "data:" + m + "," + encodeURIComponent(blob) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blob but not URL:
|
||||||
|
fr=new FileReader();
|
||||||
|
fr.onload=function(e){
|
||||||
|
saver(this.result);
|
||||||
|
};
|
||||||
|
fr.readAsDataURL(blob);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} /* end download() */
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 341 B |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 386 B |
|
After Width: | Height: | Size: 346 B |
|
After Width: | Height: | Size: 396 B |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
@@ -0,0 +1,155 @@
|
|||||||
|
(function($) {
|
||||||
|
$.extend($.summernote.lang, {
|
||||||
|
'ko-KR': {
|
||||||
|
font: {
|
||||||
|
bold: '굵게',
|
||||||
|
italic: '기울임꼴',
|
||||||
|
underline: '밑줄',
|
||||||
|
clear: '글자 효과 없애기',
|
||||||
|
height: '줄간격',
|
||||||
|
name: '글꼴',
|
||||||
|
superscript: '위 첨자',
|
||||||
|
subscript: '아래 첨자',
|
||||||
|
strikethrough: '취소선',
|
||||||
|
size: '글자 크기'
|
||||||
|
},
|
||||||
|
image: {
|
||||||
|
image: '사진',
|
||||||
|
insert: '사진 추가',
|
||||||
|
resizeFull: '100% 크기로 변경',
|
||||||
|
resizeHalf: '50% 크기로 변경',
|
||||||
|
resizeQuarter: '25% 크기로 변경',
|
||||||
|
floatLeft: '왼쪽 정렬',
|
||||||
|
floatRight: '오른쪽 정렬',
|
||||||
|
floatNone: '정렬하지 않음',
|
||||||
|
shapeRounded: '스타일: 둥근 모서리',
|
||||||
|
shapeCircle: '스타일: 원형',
|
||||||
|
shapeThumbnail: '스타일: 액자',
|
||||||
|
shapeNone: '스타일: 없음',
|
||||||
|
dragImageHere: '텍스트 혹은 사진을 이곳으로 끌어오세요',
|
||||||
|
dropImage: '텍스트 혹은 사진을 내려놓으세요',
|
||||||
|
selectFromFiles: '파일 선택',
|
||||||
|
maximumFileSize: 'Maximum file size',
|
||||||
|
maximumFileSizeError: 'Maximum file size exceeded.',
|
||||||
|
url: '사진 URL',
|
||||||
|
remove: '사진 삭제',
|
||||||
|
original: 'Original'
|
||||||
|
},
|
||||||
|
video: {
|
||||||
|
video: '동영상',
|
||||||
|
videoLink: '동영상 링크',
|
||||||
|
insert: '동영상 추가',
|
||||||
|
url: '동영상 URL',
|
||||||
|
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)'
|
||||||
|
},
|
||||||
|
link: {
|
||||||
|
link: '링크',
|
||||||
|
insert: '링크 추가',
|
||||||
|
unlink: '링크 삭제',
|
||||||
|
edit: '수정',
|
||||||
|
textToDisplay: '링크에 표시할 내용',
|
||||||
|
url: '이동할 URL',
|
||||||
|
openInNewWindow: '새창으로 열기'
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
table: '테이블',
|
||||||
|
addRowAbove: 'Add row above',
|
||||||
|
addRowBelow: 'Add row below',
|
||||||
|
addColLeft: 'Add column left',
|
||||||
|
addColRight: 'Add column right',
|
||||||
|
delRow: 'Delete row',
|
||||||
|
delCol: 'Delete column',
|
||||||
|
delTable: 'Delete table'
|
||||||
|
},
|
||||||
|
hr: {
|
||||||
|
insert: '구분선 추가'
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
style: '스타일',
|
||||||
|
p: '본문',
|
||||||
|
blockquote: '인용구',
|
||||||
|
pre: '코드',
|
||||||
|
h1: '제목 1',
|
||||||
|
h2: '제목 2',
|
||||||
|
h3: '제목 3',
|
||||||
|
h4: '제목 4',
|
||||||
|
h5: '제목 5',
|
||||||
|
h6: '제목 6'
|
||||||
|
},
|
||||||
|
lists: {
|
||||||
|
unordered: '글머리 기호',
|
||||||
|
ordered: '번호 매기기'
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
help: '도움말',
|
||||||
|
fullscreen: '전체 화면',
|
||||||
|
codeview: '코드 보기'
|
||||||
|
},
|
||||||
|
paragraph: {
|
||||||
|
paragraph: '문단 정렬',
|
||||||
|
outdent: '내어쓰기',
|
||||||
|
indent: '들여쓰기',
|
||||||
|
left: '왼쪽 정렬',
|
||||||
|
center: '가운데 정렬',
|
||||||
|
right: '오른쪽 정렬',
|
||||||
|
justify: '양쪽 정렬'
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
recent: '마지막으로 사용한 색',
|
||||||
|
more: '다른 색 선택',
|
||||||
|
background: '배경색',
|
||||||
|
foreground: '글자색',
|
||||||
|
transparent: '투명',
|
||||||
|
setTransparent: '투명',
|
||||||
|
reset: '취소',
|
||||||
|
resetToDefault: '기본 값으로 변경'
|
||||||
|
},
|
||||||
|
shortcut: {
|
||||||
|
shortcuts: '키보드 단축키',
|
||||||
|
close: '닫기',
|
||||||
|
textFormatting: '글자 스타일 적용',
|
||||||
|
action: '기능',
|
||||||
|
paragraphFormatting: '문단 스타일 적용',
|
||||||
|
documentStyle: '문서 스타일 적용',
|
||||||
|
extraKeys: 'Extra keys'
|
||||||
|
},
|
||||||
|
help: {
|
||||||
|
'insertParagraph': 'Insert Paragraph',
|
||||||
|
'undo': 'Undoes the last command',
|
||||||
|
'redo': 'Redoes the last command',
|
||||||
|
'tab': 'Tab',
|
||||||
|
'untab': 'Untab',
|
||||||
|
'bold': 'Set a bold style',
|
||||||
|
'italic': 'Set a italic style',
|
||||||
|
'underline': 'Set a underline style',
|
||||||
|
'strikethrough': 'Set a strikethrough style',
|
||||||
|
'removeFormat': 'Clean a style',
|
||||||
|
'justifyLeft': 'Set left align',
|
||||||
|
'justifyCenter': 'Set center align',
|
||||||
|
'justifyRight': 'Set right align',
|
||||||
|
'justifyFull': 'Set full align',
|
||||||
|
'insertUnorderedList': 'Toggle unordered list',
|
||||||
|
'insertOrderedList': 'Toggle ordered list',
|
||||||
|
'outdent': 'Outdent on current paragraph',
|
||||||
|
'indent': 'Indent on current paragraph',
|
||||||
|
'formatPara': 'Change current block\'s format as a paragraph(P tag)',
|
||||||
|
'formatH1': 'Change current block\'s format as H1',
|
||||||
|
'formatH2': 'Change current block\'s format as H2',
|
||||||
|
'formatH3': 'Change current block\'s format as H3',
|
||||||
|
'formatH4': 'Change current block\'s format as H4',
|
||||||
|
'formatH5': 'Change current block\'s format as H5',
|
||||||
|
'formatH6': 'Change current block\'s format as H6',
|
||||||
|
'insertHorizontalRule': 'Insert horizontal rule',
|
||||||
|
'linkDialog.show': 'Show Link Dialog'
|
||||||
|
},
|
||||||
|
history: {
|
||||||
|
undo: '실행 취소',
|
||||||
|
redo: '다시 실행'
|
||||||
|
},
|
||||||
|
specialChar: {
|
||||||
|
specialChar: '특수문자',
|
||||||
|
select: '특수문자를 선택하세요'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})(jQuery);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
.ext-databasic {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
min-height: 50px;
|
||||||
|
background-color: cyan;
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ext-databasic p {
|
||||||
|
color: white;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,292 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
// pull in some summernote core functions
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
var dom = $.summernote.dom;
|
||||||
|
|
||||||
|
// define the popover plugin
|
||||||
|
var DataBasicPlugin = function(context) {
|
||||||
|
var self = this;
|
||||||
|
var options = context.options;
|
||||||
|
var lang = options.langInfo;
|
||||||
|
|
||||||
|
self.icon = '<i class="fa fa-object-group"/>';
|
||||||
|
|
||||||
|
// add context menu button for dialog
|
||||||
|
context.memo('button.databasic', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: self.icon,
|
||||||
|
tooltip: lang.databasic.insert,
|
||||||
|
click: context.createInvokeHandler('databasic.showDialog')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// add popover edit button
|
||||||
|
context.memo('button.databasicDialog', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: self.icon,
|
||||||
|
tooltip: lang.databasic.edit,
|
||||||
|
click: context.createInvokeHandler('databasic.showDialog')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// add popover size buttons
|
||||||
|
context.memo('button.databasicSize100', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">100%</span>',
|
||||||
|
tooltip: lang.image.resizeFull,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '1')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
context.memo('button.databasicSize50', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">50%</span>',
|
||||||
|
tooltip: lang.image.resizeHalf,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '0.5')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
context.memo('button.databasicSize25', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">25%</span>',
|
||||||
|
tooltip: lang.image.resizeQuarter,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '0.25')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
self.events = {
|
||||||
|
'summernote.init': function(we, e) {
|
||||||
|
// update existing containers
|
||||||
|
$('data.ext-databasic', e.editable).each(function() { self.setContent($(this)); });
|
||||||
|
// TODO: make this an undo snapshot...
|
||||||
|
},
|
||||||
|
'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function() {
|
||||||
|
self.update();
|
||||||
|
},
|
||||||
|
'summernote.dialog.shown': function() {
|
||||||
|
self.hidePopover();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.initialize = function() {
|
||||||
|
// create dialog markup
|
||||||
|
var $container = options.dialogsInBody ? $(document.body) : context.layoutInfo.editor;
|
||||||
|
|
||||||
|
var body = '<div class="form-group row-fluid">' +
|
||||||
|
'<label>' + lang.databasic.testLabel + '</label>' +
|
||||||
|
'<input class="ext-databasic-test form-control" type="text" />' +
|
||||||
|
'</div>';
|
||||||
|
var footer = '<button href="#" class="btn btn-primary ext-databasic-save">' + lang.databasic.insert + '</button>';
|
||||||
|
|
||||||
|
self.$dialog = ui.dialog({
|
||||||
|
title: lang.databasic.name,
|
||||||
|
fade: options.dialogsFade,
|
||||||
|
body: body,
|
||||||
|
footer: footer
|
||||||
|
}).render().appendTo($container);
|
||||||
|
|
||||||
|
// create popover
|
||||||
|
self.$popover = ui.popover({
|
||||||
|
className: 'ext-databasic-popover'
|
||||||
|
}).render().appendTo('body');
|
||||||
|
var $content = self.$popover.find('.popover-content');
|
||||||
|
|
||||||
|
context.invoke('buttons.build', $content, options.popover.databasic);
|
||||||
|
};
|
||||||
|
|
||||||
|
self.destroy = function() {
|
||||||
|
self.$popover.remove();
|
||||||
|
self.$popover = null;
|
||||||
|
self.$dialog.remove();
|
||||||
|
self.$dialog = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.update = function() {
|
||||||
|
// Prevent focusing on editable when invoke('code') is executed
|
||||||
|
if (!context.invoke('editor.hasFocus')) {
|
||||||
|
self.hidePopover();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rng = context.invoke('editor.createRange');
|
||||||
|
var visible = false;
|
||||||
|
|
||||||
|
if (rng.isOnData()) {
|
||||||
|
var $data = $(rng.sc).closest('data.ext-databasic');
|
||||||
|
|
||||||
|
if ($data.length) {
|
||||||
|
var pos = dom.posFromPlaceholder($data[0]);
|
||||||
|
|
||||||
|
self.$popover.css({
|
||||||
|
display: 'block',
|
||||||
|
left: pos.left,
|
||||||
|
top: pos.top
|
||||||
|
});
|
||||||
|
|
||||||
|
// save editor target to let size buttons resize the container
|
||||||
|
context.invoke('editor.saveTarget', $data[0]);
|
||||||
|
|
||||||
|
visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// hide if not visible
|
||||||
|
if (!visible) {
|
||||||
|
self.hidePopover();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.hidePopover = function() {
|
||||||
|
self.$popover.hide();
|
||||||
|
};
|
||||||
|
|
||||||
|
// define plugin dialog
|
||||||
|
self.getInfo = function() {
|
||||||
|
var rng = context.invoke('editor.createRange');
|
||||||
|
|
||||||
|
if (rng.isOnData()) {
|
||||||
|
var $data = $(rng.sc).closest('data.ext-databasic');
|
||||||
|
|
||||||
|
if ($data.length) {
|
||||||
|
// Get the first node on range(for edit).
|
||||||
|
return {
|
||||||
|
node: $data,
|
||||||
|
test: $data.attr('data-test')
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
|
||||||
|
self.setContent = function($node) {
|
||||||
|
$node.html('<p contenteditable="false">' + self.icon + ' ' + lang.databasic.name + ': ' +
|
||||||
|
$node.attr('data-test') + '</p>');
|
||||||
|
};
|
||||||
|
|
||||||
|
self.updateNode = function(info) {
|
||||||
|
self.setContent(info.node
|
||||||
|
.attr('data-test', info.test));
|
||||||
|
};
|
||||||
|
|
||||||
|
self.createNode = function(info) {
|
||||||
|
var $node = $('<data class="ext-databasic"></data>');
|
||||||
|
|
||||||
|
if ($node) {
|
||||||
|
// save node to info structure
|
||||||
|
info.node = $node;
|
||||||
|
// insert node into editor dom
|
||||||
|
context.invoke('editor.insertNode', $node[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $node;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.showDialog = function() {
|
||||||
|
var info = self.getInfo();
|
||||||
|
var newNode = !info.node;
|
||||||
|
context.invoke('editor.saveRange');
|
||||||
|
|
||||||
|
self
|
||||||
|
.openDialog(info)
|
||||||
|
.then(function(dialogInfo) {
|
||||||
|
// [workaround] hide dialog before restore range for IE range focus
|
||||||
|
ui.hideDialog(self.$dialog);
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
|
||||||
|
// insert a new node
|
||||||
|
if (newNode) {
|
||||||
|
self.createNode(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
// update info with dialog info
|
||||||
|
$.extend(info, dialogInfo);
|
||||||
|
|
||||||
|
self.updateNode(info);
|
||||||
|
})
|
||||||
|
.fail(function() {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
self.openDialog = function(info) {
|
||||||
|
return $.Deferred(function(deferred) {
|
||||||
|
var $inpTest = self.$dialog.find('.ext-databasic-test');
|
||||||
|
var $saveBtn = self.$dialog.find('.ext-databasic-save');
|
||||||
|
var onKeyup = function(event) {
|
||||||
|
if (event.keyCode === 13) {
|
||||||
|
$saveBtn.trigger('click');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ui.onDialogShown(self.$dialog, function() {
|
||||||
|
context.triggerEvent('dialog.shown');
|
||||||
|
|
||||||
|
$inpTest.val(info.test).on('input', function() {
|
||||||
|
ui.toggleBtn($saveBtn, $inpTest.val());
|
||||||
|
}).trigger('focus').on('keyup', onKeyup);
|
||||||
|
|
||||||
|
$saveBtn
|
||||||
|
.text(info.node ? lang.databasic.edit : lang.databasic.insert)
|
||||||
|
.click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
deferred.resolve({ test: $inpTest.val() });
|
||||||
|
});
|
||||||
|
|
||||||
|
// init save button
|
||||||
|
ui.toggleBtn($saveBtn, $inpTest.val());
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.onDialogHidden(self.$dialog, function() {
|
||||||
|
$inpTest.off('input keyup');
|
||||||
|
$saveBtn.off('click');
|
||||||
|
|
||||||
|
if (deferred.state() === 'pending') {
|
||||||
|
deferred.reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.showDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Extends summernote
|
||||||
|
$.extend(true, $.summernote, {
|
||||||
|
plugins: {
|
||||||
|
databasic: DataBasicPlugin
|
||||||
|
},
|
||||||
|
|
||||||
|
options: {
|
||||||
|
popover: {
|
||||||
|
databasic: [
|
||||||
|
['databasic', ['databasicDialog', 'databasicSize100', 'databasicSize50', 'databasicSize25']]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// add localization texts
|
||||||
|
lang: {
|
||||||
|
'en-US': {
|
||||||
|
databasic: {
|
||||||
|
name: 'Basic Data Container',
|
||||||
|
insert: 'insert basic data container',
|
||||||
|
edit: 'edit basic data container',
|
||||||
|
testLabel: 'test input'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}));
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
// Extends plugins for adding hello.
|
||||||
|
// - plugin is external module for customizing.
|
||||||
|
$.extend($.summernote.plugins, {
|
||||||
|
/**
|
||||||
|
* @param {Object} context - context object has status of editor.
|
||||||
|
*/
|
||||||
|
'hello': function(context) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// ui has renders to build ui elements.
|
||||||
|
// - you can create a button with `ui.button`
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
|
||||||
|
// add hello button
|
||||||
|
context.memo('button.hello', function() {
|
||||||
|
// create button
|
||||||
|
var button = ui.button({
|
||||||
|
contents: '<i class="fa fa-child"/> Hello',
|
||||||
|
tooltip: 'hello',
|
||||||
|
click: function() {
|
||||||
|
self.$panel.show();
|
||||||
|
self.$panel.hide(500);
|
||||||
|
// invoke insertText method with 'hello' on editor module.
|
||||||
|
context.invoke('editor.insertText', 'hello');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// create jQuery object from button instance.
|
||||||
|
var $hello = button.render();
|
||||||
|
return $hello;
|
||||||
|
});
|
||||||
|
|
||||||
|
// This events will be attached when editor is initialized.
|
||||||
|
this.events = {
|
||||||
|
// This will be called after modules are initialized.
|
||||||
|
'summernote.init': function(we, e) {
|
||||||
|
console.log('summernote initialized', we, e);
|
||||||
|
},
|
||||||
|
// This will be called when user releases a key on editable.
|
||||||
|
'summernote.keyup': function(we, e) {
|
||||||
|
console.log('summernote keyup', we, e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// This method will be called when editor is initialized by $('..').summernote();
|
||||||
|
// You can create elements for plugin
|
||||||
|
this.initialize = function() {
|
||||||
|
this.$panel = $('<div class="hello-panel"/>').css({
|
||||||
|
position: 'absolute',
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
left: '50%',
|
||||||
|
top: '50%',
|
||||||
|
background: 'red'
|
||||||
|
}).hide();
|
||||||
|
|
||||||
|
this.$panel.appendTo('body');
|
||||||
|
};
|
||||||
|
|
||||||
|
// This methods will be called when editor is destroyed by $('..').summernote('destroy');
|
||||||
|
// You should remove elements on `initialize`.
|
||||||
|
this.destroy = function() {
|
||||||
|
this.$panel.remove();
|
||||||
|
this.$panel = null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}));
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
$.extend($.summernote.plugins, {
|
||||||
|
'specialchars': function(context) {
|
||||||
|
var self = this;
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
|
||||||
|
var $editor = context.layoutInfo.editor;
|
||||||
|
var options = context.options;
|
||||||
|
var lang = options.langInfo;
|
||||||
|
|
||||||
|
var KEY = {
|
||||||
|
UP: 38,
|
||||||
|
DOWN: 40,
|
||||||
|
LEFT: 37,
|
||||||
|
RIGHT: 39,
|
||||||
|
ENTER: 13
|
||||||
|
};
|
||||||
|
var COLUMN_LENGTH = 15;
|
||||||
|
var COLUMN_WIDTH = 35;
|
||||||
|
|
||||||
|
var currentColumn = 0;
|
||||||
|
var currentRow = 0;
|
||||||
|
var totalColumn = 0;
|
||||||
|
var totalRow = 0;
|
||||||
|
|
||||||
|
// special characters data set
|
||||||
|
var specialCharDataSet = [
|
||||||
|
'"', '&', '<', '>', '¡', '¢',
|
||||||
|
'£', '¤', '¥', '¦', '§',
|
||||||
|
'¨', '©', 'ª', '«', '¬',
|
||||||
|
'®', '¯', '°', '±', '²',
|
||||||
|
'³', '´', 'µ', '¶', '·',
|
||||||
|
'¸', '¹', 'º', '»', '¼',
|
||||||
|
'½', '¾', '¿', '×', '÷',
|
||||||
|
'ƒ', 'ˆ', '˜', '–', '—',
|
||||||
|
'‘', '’', '‚', '“', '”',
|
||||||
|
'„', '†', '‡', '•', '…',
|
||||||
|
'‰', '′', '″', '‹', '›',
|
||||||
|
'‾', '⁄', '€', 'ℑ', '℘',
|
||||||
|
'ℜ', '™', 'ℵ', '←', '↑',
|
||||||
|
'→', '↓', '↔', '↵', '⇐',
|
||||||
|
'⇑', '⇒', '⇓', '⇔', '∀',
|
||||||
|
'∂', '∃', '∅', '∇', '∈',
|
||||||
|
'∉', '∋', '∏', '∑', '−',
|
||||||
|
'∗', '√', '∝', '∞', '∠',
|
||||||
|
'∧', '∨', '∩', '∪', '∫',
|
||||||
|
'∴', '∼', '≅', '≈', '≠',
|
||||||
|
'≡', '≤', '≥', '⊂', '⊃',
|
||||||
|
'⊄', '⊆', '⊇', '⊕', '⊗',
|
||||||
|
'⊥', '⋅', '⌈', '⌉', '⌊',
|
||||||
|
'⌋', '◊', '♠', '♣', '♥',
|
||||||
|
'♦'
|
||||||
|
];
|
||||||
|
|
||||||
|
context.memo('button.specialchars', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<i class="fa fa-font fa-flip-vertical">',
|
||||||
|
tooltip: lang.specialChar.specialChar,
|
||||||
|
click: function() {
|
||||||
|
self.show();
|
||||||
|
}
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make Special Characters Table
|
||||||
|
*
|
||||||
|
* @member plugin.specialChar
|
||||||
|
* @private
|
||||||
|
* @return {jQuery}
|
||||||
|
*/
|
||||||
|
this.makeSpecialCharSetTable = function() {
|
||||||
|
var $table = $('<table/>');
|
||||||
|
$.each(specialCharDataSet, function(idx, text) {
|
||||||
|
var $td = $('<td/>').addClass('note-specialchar-node');
|
||||||
|
var $tr = (idx % COLUMN_LENGTH === 0) ? $('<tr/>') : $table.find('tr').last();
|
||||||
|
|
||||||
|
var $button = ui.button({
|
||||||
|
callback: function($node) {
|
||||||
|
$node.html(text);
|
||||||
|
$node.attr('title', text);
|
||||||
|
$node.attr('data-value', encodeURIComponent(text));
|
||||||
|
$node.css({
|
||||||
|
width: COLUMN_WIDTH,
|
||||||
|
'margin-right': '2px',
|
||||||
|
'margin-bottom': '2px'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).render();
|
||||||
|
|
||||||
|
$td.append($button);
|
||||||
|
|
||||||
|
$tr.append($td);
|
||||||
|
if (idx % COLUMN_LENGTH === 0) {
|
||||||
|
$table.append($tr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
totalRow = $table.find('tr').length;
|
||||||
|
totalColumn = COLUMN_LENGTH;
|
||||||
|
|
||||||
|
return $table;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.initialize = function() {
|
||||||
|
var $container = options.dialogsInBody ? $(document.body) : $editor;
|
||||||
|
|
||||||
|
var body = '<div class="form-group row-fluid">' + this.makeSpecialCharSetTable()[0].outerHTML + '</div>';
|
||||||
|
|
||||||
|
this.$dialog = ui.dialog({
|
||||||
|
title: lang.specialChar.select,
|
||||||
|
body: body
|
||||||
|
}).render().appendTo($container);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.show = function() {
|
||||||
|
var text = context.invoke('editor.getSelectedText');
|
||||||
|
context.invoke('editor.saveRange');
|
||||||
|
this.showSpecialCharDialog(text).then(function(selectChar) {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
|
||||||
|
// build node
|
||||||
|
var $node = $('<span></span>').html(selectChar)[0];
|
||||||
|
|
||||||
|
if ($node) {
|
||||||
|
// insert video node
|
||||||
|
context.invoke('editor.insertNode', $node);
|
||||||
|
}
|
||||||
|
}).fail(function() {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show image dialog
|
||||||
|
*
|
||||||
|
* @param {jQuery} $dialog
|
||||||
|
* @return {Promise}
|
||||||
|
*/
|
||||||
|
this.showSpecialCharDialog = function(text) {
|
||||||
|
return $.Deferred(function(deferred) {
|
||||||
|
var $specialCharDialog = self.$dialog;
|
||||||
|
var $specialCharNode = $specialCharDialog.find('.note-specialchar-node');
|
||||||
|
var $selectedNode = null;
|
||||||
|
var ARROW_KEYS = [KEY.UP, KEY.DOWN, KEY.LEFT, KEY.RIGHT];
|
||||||
|
var ENTER_KEY = KEY.ENTER;
|
||||||
|
|
||||||
|
function addActiveClass($target) {
|
||||||
|
if (!$target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$target.find('button').addClass('active');
|
||||||
|
$selectedNode = $target;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeActiveClass($target) {
|
||||||
|
$target.find('button').removeClass('active');
|
||||||
|
$selectedNode = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// find next node
|
||||||
|
function findNextNode(row, column) {
|
||||||
|
var findNode = null;
|
||||||
|
$.each($specialCharNode, function(idx, $node) {
|
||||||
|
var findRow = Math.ceil((idx + 1) / COLUMN_LENGTH);
|
||||||
|
var findColumn = ((idx + 1) % COLUMN_LENGTH === 0) ? COLUMN_LENGTH : (idx + 1) % COLUMN_LENGTH;
|
||||||
|
if (findRow === row && findColumn === column) {
|
||||||
|
findNode = $node;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return $(findNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
function arrowKeyHandler(keyCode) {
|
||||||
|
// left, right, up, down key
|
||||||
|
var $nextNode;
|
||||||
|
var lastRowColumnLength = $specialCharNode.length % totalColumn;
|
||||||
|
|
||||||
|
if (KEY.LEFT === keyCode) {
|
||||||
|
if (currentColumn > 1) {
|
||||||
|
currentColumn = currentColumn - 1;
|
||||||
|
} else if (currentRow === 1 && currentColumn === 1) {
|
||||||
|
currentColumn = lastRowColumnLength;
|
||||||
|
currentRow = totalRow;
|
||||||
|
} else {
|
||||||
|
currentColumn = totalColumn;
|
||||||
|
currentRow = currentRow - 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.RIGHT === keyCode) {
|
||||||
|
if (currentRow === totalRow && lastRowColumnLength === currentColumn) {
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentColumn < totalColumn) {
|
||||||
|
currentColumn = currentColumn + 1;
|
||||||
|
} else {
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = currentRow + 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.UP === keyCode) {
|
||||||
|
if (currentRow === 1 && lastRowColumnLength < currentColumn) {
|
||||||
|
currentRow = totalRow - 1;
|
||||||
|
} else {
|
||||||
|
currentRow = currentRow - 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.DOWN === keyCode) {
|
||||||
|
currentRow = currentRow + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentRow === totalRow && currentColumn > lastRowColumnLength) {
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentRow > totalRow) {
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentRow < 1) {
|
||||||
|
currentRow = totalRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
$nextNode = findNextNode(currentRow, currentColumn);
|
||||||
|
|
||||||
|
if ($nextNode) {
|
||||||
|
removeActiveClass($selectedNode);
|
||||||
|
addActiveClass($nextNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function enterKeyHandler() {
|
||||||
|
if (!$selectedNode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
deferred.resolve(decodeURIComponent($selectedNode.find('button').attr('data-value')));
|
||||||
|
$specialCharDialog.modal('hide');
|
||||||
|
}
|
||||||
|
|
||||||
|
function keyDownEventHandler(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var keyCode = event.keyCode;
|
||||||
|
if (keyCode === undefined || keyCode === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// check arrowKeys match
|
||||||
|
if (ARROW_KEYS.indexOf(keyCode) > -1) {
|
||||||
|
if ($selectedNode === null) {
|
||||||
|
addActiveClass($specialCharNode.eq(0));
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
arrowKeyHandler(keyCode);
|
||||||
|
} else if (keyCode === ENTER_KEY) {
|
||||||
|
enterKeyHandler();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove class
|
||||||
|
removeActiveClass($specialCharNode);
|
||||||
|
|
||||||
|
// find selected node
|
||||||
|
if (text) {
|
||||||
|
for (var i = 0; i < $specialCharNode.length; i++) {
|
||||||
|
var $checkNode = $($specialCharNode[i]);
|
||||||
|
if ($checkNode.text() === text) {
|
||||||
|
addActiveClass($checkNode);
|
||||||
|
currentRow = Math.ceil((i + 1) / COLUMN_LENGTH);
|
||||||
|
currentColumn = (i + 1) % COLUMN_LENGTH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ui.onDialogShown(self.$dialog, function() {
|
||||||
|
$(document).on('keydown', keyDownEventHandler);
|
||||||
|
|
||||||
|
self.$dialog.find('button').tooltip();
|
||||||
|
|
||||||
|
$specialCharNode.on('click', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
deferred.resolve(decodeURIComponent($(event.currentTarget).find('button').attr('data-value')));
|
||||||
|
ui.hideDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.onDialogHidden(self.$dialog, function() {
|
||||||
|
$specialCharNode.off('click');
|
||||||
|
|
||||||
|
self.$dialog.find('button').tooltip('destroy');
|
||||||
|
|
||||||
|
$(document).off('keydown', keyDownEventHandler);
|
||||||
|
|
||||||
|
if (deferred.state() === 'pending') {
|
||||||
|
deferred.reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.showDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}));
|
||||||
@@ -2,11 +2,15 @@
|
|||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
define('ROOT', realpath(__dir__.'/..'));
|
define('ROOT', realpath(__dir__.'/..'));
|
||||||
|
setlocale(LC_ALL, 'ko_KR.UTF-8');
|
||||||
|
date_default_timezone_set('Asia/Seoul');
|
||||||
mb_internal_encoding("UTF-8");
|
mb_internal_encoding("UTF-8");
|
||||||
mb_http_output('UTF-8');
|
mb_http_output('UTF-8');
|
||||||
mb_regex_encoding('UTF-8');
|
mb_regex_encoding('UTF-8');
|
||||||
|
|
||||||
|
ini_set("session.cache_expire", 10080); // minutes
|
||||||
|
ini_set("session.gc_maxlifetime", 604800); // seconds
|
||||||
|
|
||||||
function getFriendlyErrorType($type)
|
function getFriendlyErrorType($type)
|
||||||
{
|
{
|
||||||
switch($type)
|
switch($type)
|
||||||
@@ -45,40 +49,87 @@ function getFriendlyErrorType($type)
|
|||||||
return "{$type}";
|
return "{$type}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getExceptionTraceAsString($exception) {
|
||||||
|
//https://gist.github.com/abtris/1437966
|
||||||
|
$rtn = "";
|
||||||
|
$count = 0;
|
||||||
|
$rtn = [];
|
||||||
|
foreach ($exception->getTrace() as $frame) {
|
||||||
|
$args = "";
|
||||||
|
if (isset($frame['args'])) {
|
||||||
|
$args = array();
|
||||||
|
foreach ($frame['args'] as $arg) {
|
||||||
|
if (is_string($arg)) {
|
||||||
|
$args[] = "'" . $arg . "'";
|
||||||
|
} elseif (is_array($arg)) {
|
||||||
|
$args[] = "Array";
|
||||||
|
} elseif (is_null($arg)) {
|
||||||
|
$args[] = 'NULL';
|
||||||
|
} elseif (is_bool($arg)) {
|
||||||
|
$args[] = ($arg) ? "true" : "false";
|
||||||
|
} elseif (is_object($arg)) {
|
||||||
|
$args[] = get_class($arg);
|
||||||
|
} elseif (is_resource($arg)) {
|
||||||
|
$args[] = get_resource_type($arg);
|
||||||
|
} else {
|
||||||
|
$args[] = $arg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$args = join(", ", $args);
|
||||||
|
}
|
||||||
|
$rtn[] = sprintf( "#%s %s:%s %s(%s)",
|
||||||
|
$count,
|
||||||
|
isset($frame['file']) ? $frame['file'] : 'unknown file',
|
||||||
|
isset($frame['line']) ? $frame['line'] : 'unknown line',
|
||||||
|
(isset($frame['class'])) ? $frame['class'].$frame['type'].$frame['function'] : $frame['function'],
|
||||||
|
$args );
|
||||||
|
$count++;
|
||||||
|
}
|
||||||
|
return $rtn;
|
||||||
|
}
|
||||||
|
|
||||||
|
function logError(string $err, string $errstr, array $trace){
|
||||||
|
$fdb = FileDB::db(ROOT.'/d_log/err_log.sqlite3', ROOT.'/f_install/sql/err_log.sql');
|
||||||
|
$date = date("Ymd_His");
|
||||||
|
|
||||||
|
$trace = array_map(function(string $text){
|
||||||
|
return str_replace(ROOT, '{ROOT}', $text);
|
||||||
|
}, $trace);
|
||||||
|
|
||||||
|
$fdb->insert('err_log', [
|
||||||
|
'date'=>$date,
|
||||||
|
'err'=>$err,
|
||||||
|
'errstr'=>$errstr,
|
||||||
|
'trace'=>Json::encode($trace)
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
function logErrorByCustomHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext){
|
function logErrorByCustomHandler(int $errno, string $errstr, string $errfile, int $errline, array $errcontext){
|
||||||
if (!(error_reporting() & $errno)) {
|
if (!(error_reporting() & $errno)) {
|
||||||
// This error code is not included in error_reporting, so let it fall
|
// This error code is not included in error_reporting, so let it fall
|
||||||
// through to the standard PHP error handler
|
// through to the standard PHP error handler
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$date = date("Ymd_His");
|
|
||||||
$e = new \Exception();
|
$e = new \Exception();
|
||||||
|
|
||||||
$data = Json::encode([
|
logError(
|
||||||
'date'=>$date,
|
getFriendlyErrorType($errno),
|
||||||
'err'=>getFriendlyErrorType($errno),
|
$errstr,
|
||||||
'errstr'=>$errstr,
|
getExceptionTraceAsString($e)
|
||||||
'trace'=>explode("\n", $e->getTraceAsString())
|
);
|
||||||
], Json::PRETTY);
|
|
||||||
|
|
||||||
file_put_contents(ROOT.'/d_log/err_log.txt',"$data\n", FILE_APPEND);
|
|
||||||
}
|
}
|
||||||
set_error_handler("\sammo\logErrorByCustomHandler");
|
set_error_handler("\sammo\logErrorByCustomHandler");
|
||||||
|
|
||||||
|
|
||||||
function logExceptionByCustomHandler(\Throwable $e){
|
function logExceptionByCustomHandler(\Throwable $e){
|
||||||
|
logError(
|
||||||
$date = date("Ymd_His");
|
get_class($e),
|
||||||
|
$e->getMessage(),
|
||||||
$data = Json::encode([
|
getExceptionTraceAsString($e)
|
||||||
'date'=>$date,
|
);
|
||||||
'err'=>get_class($e),
|
|
||||||
'errstr'=>$e->getMessage(),
|
echo $e->getTraceAsString();
|
||||||
'trace'=>explode("\n", $e->getTraceAsString())
|
|
||||||
], Json::PRETTY);
|
|
||||||
|
|
||||||
file_put_contents(ROOT.'/d_log/err_log.txt',"$data\n", FILE_APPEND);
|
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
set_exception_handler('\\sammo\\logExceptionByCustomHandler');
|
set_exception_handler('\\sammo\\logExceptionByCustomHandler');
|
||||||
@@ -8,15 +8,17 @@ require(__dir__.'/../vendor/autoload.php');
|
|||||||
<html lang="ko">
|
<html lang="ko">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>설치</title>
|
<title>설치</title>
|
||||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<script src="../e_lib/bootstrap.bundle.min.js"></script>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<script src="../e_lib/jquery.validate.min.js"></script>
|
<?=WebUtil::printJS('../e_lib/jquery.validate.min.js')?>
|
||||||
<script src="../e_lib/sha512.min.js"></script>
|
<?=WebUtil::printJS('../e_lib/sha512.min.js')?>
|
||||||
<script src="../js/install.js"></script>
|
<?=WebUtil::printJS('../js/common.js')?>
|
||||||
<link type="text/css" rel="stylesheet" href="../e_lib/bootstrap.min.css">
|
<?=WebUtil::printJS('../js/install.js')?>
|
||||||
<link type="text/css" rel="stylesheet" href="../css/install.css">
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../css/install.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ $rootDB->error_handler = function($params){
|
|||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from MEMBER');
|
$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from member');
|
||||||
if($memberCnt == 0){
|
if($memberCnt == 0){
|
||||||
Json::die([
|
Json::die([
|
||||||
'step'=>'admin',
|
'step'=>'admin',
|
||||||
|
|||||||
@@ -216,6 +216,13 @@ $result = Util::generateFileUsingSimpleTemplate(
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$result = Util::generateFileUsingSimpleTemplate(
|
||||||
|
__dir__.'/templates/menu.orig.js',
|
||||||
|
ROOT.'/d_shared/menu.js',
|
||||||
|
[],
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
if ($result !== true) {
|
if ($result !== true) {
|
||||||
Json::die([
|
Json::die([
|
||||||
'result'=>false,
|
'result'=>false,
|
||||||
|
|||||||
@@ -25,9 +25,11 @@ CREATE TABLE `member` (
|
|||||||
`EMAIL` VARCHAR(64) NULL DEFAULT NULL,
|
`EMAIL` VARCHAR(64) NULL DEFAULT NULL,
|
||||||
`PW` CHAR(128) NOT NULL,
|
`PW` CHAR(128) NOT NULL,
|
||||||
`salt` CHAR(16) NOT NULL,
|
`salt` CHAR(16) NOT NULL,
|
||||||
|
`third_use` INT(1) NOT NULL DEFAULT '0',
|
||||||
`NAME` VARCHAR(64) NOT NULL,
|
`NAME` VARCHAR(64) NOT NULL,
|
||||||
`PICTURE` VARCHAR(64) NULL DEFAULT 'default.jpg',
|
`PICTURE` VARCHAR(64) NULL DEFAULT 'default.jpg',
|
||||||
`IMGSVR` INT(1) NULL DEFAULT '0',
|
`IMGSVR` INT(1) NULL DEFAULT '0',
|
||||||
|
`acl` text NOT NULL DEFAULT '{}' COMMENT 'json',
|
||||||
`GRADE` INT(1) NULL DEFAULT '1',
|
`GRADE` INT(1) NULL DEFAULT '1',
|
||||||
`REG_NUM` INT(3) NULL DEFAULT '0',
|
`REG_NUM` INT(3) NULL DEFAULT '0',
|
||||||
`REG_DATE` DATETIME NOT NULL,
|
`REG_DATE` DATETIME NOT NULL,
|
||||||
@@ -53,4 +55,18 @@ CREATE TABLE `member_log` (
|
|||||||
INDEX `action` (`member_no`, `action_type`, `date`),
|
INDEX `action` (`member_no`, `action_type`, `date`),
|
||||||
INDEX `member` (`member_no`, `date`)
|
INDEX `member` (`member_no`, `date`)
|
||||||
)
|
)
|
||||||
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
###################
|
||||||
|
# KV storage
|
||||||
|
###################
|
||||||
|
CREATE TABLE if not exists `storage` (
|
||||||
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`namespace` VARCHAR(40) NOT NULL,
|
||||||
|
`key` VARCHAR(40) NOT NULL,
|
||||||
|
`value` TEXT NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE INDEX `key` (`namespace`, `key`)
|
||||||
|
)
|
||||||
|
COLLATE='utf8mb4_general_ci'
|
||||||
|
ENGINE=MyISAM
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CREATE TABLE IF NOT EXISTS `err_log` (
|
||||||
|
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
`date` TEXT NOT NULL,
|
||||||
|
`err` TEXT NOT NULL,
|
||||||
|
`errstr` TEXT NOT NULL,
|
||||||
|
`trace` TEXT NOT NULL
|
||||||
|
);
|
||||||
|
CREATE INDEX IF NOT EXISTS `date` ON `err_log` (
|
||||||
|
`date` DESC
|
||||||
|
);
|
||||||
@@ -29,6 +29,8 @@ class RootDB
|
|||||||
if (self::$uDB === null) {
|
if (self::$uDB === null) {
|
||||||
self::$uDB = new \MeekroDB(self::$host, self::$user, self::$password, self::$dbName, self::$port, self::$encoding);
|
self::$uDB = new \MeekroDB(self::$host, self::$user, self::$password, self::$dbName, self::$port, self::$encoding);
|
||||||
self::$uDB->connect_options[MYSQLI_OPT_INT_AND_FLOAT_NATIVE] = true;
|
self::$uDB->connect_options[MYSQLI_OPT_INT_AND_FLOAT_NATIVE] = true;
|
||||||
|
|
||||||
|
self::$uDB->error_handler= function(){};
|
||||||
self::$uDB->throw_exception_on_error = true;
|
self::$uDB->throw_exception_on_error = true;
|
||||||
self::$uDB->throw_exception_on_nonsql_error = true;
|
self::$uDB->throw_exception_on_nonsql_error = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,18 +11,24 @@ class ServConfig
|
|||||||
public static $sharedIconPath = '_tK_sharedIconPath_';
|
public static $sharedIconPath = '_tK_sharedIconPath_';
|
||||||
public static $gameImagePath = "_tK_gameImagePath_";
|
public static $gameImagePath = "_tK_gameImagePath_";
|
||||||
|
|
||||||
public static function getSharedIconPath() : string
|
public static function getSharedIconPath(string $filepath='') : string
|
||||||
{
|
{
|
||||||
|
if($filepath){
|
||||||
|
return static::$sharedIconPath."/{$filepath}";
|
||||||
|
}
|
||||||
return static::$sharedIconPath;
|
return static::$sharedIconPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getUserIconPath() : string
|
public static function getUserIconPath(string $filepath='') : string
|
||||||
{
|
{
|
||||||
return AppConf::getUserIconPathWeb();
|
return AppConf::getUserIconPathWeb($filepath);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getGameImagePath() : string
|
public static function getGameImagePath(string $filepath='') : string
|
||||||
{
|
{
|
||||||
|
if($filepath){
|
||||||
|
return static::$gameImagePath."/{$filepath}";
|
||||||
|
}
|
||||||
return static::$gameImagePath;
|
return static::$gameImagePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,18 +41,86 @@
|
|||||||
url('_tK_gameImagePath_/winter.gif') no-repeat right;
|
url('_tK_gameImagePath_/winter.gif') no-repeat right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_spring .map_body{
|
/*체 지도*/
|
||||||
background: url('_tK_gameImagePath_/map1.jpg') no-repeat;
|
.map_theme_che.map_spring .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/bg_spring.jpg') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_summer .map_body{
|
.map_theme_che.map_summer .map_bglayer1{
|
||||||
background: url('_tK_gameImagePath_/map2.jpg') no-repeat;
|
background: url('_tK_gameImagePath_/map/che/bg_summer.jpg') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_fall .map_body{
|
.map_theme_che.map_fall .map_bglayer1{
|
||||||
background: url('_tK_gameImagePath_/map3.jpg') no-repeat;
|
background: url('_tK_gameImagePath_/map/che/bg_fall.jpg') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_winter .map_body{
|
.map_theme_che.map_winter .map_bglayer1{
|
||||||
background: url('_tK_gameImagePath_/map4.jpg') no-repeat;
|
background: url('_tK_gameImagePath_/map/che/bg_winter.jpg') no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_che .map_bgroad{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/che_road.png') no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*미니체 지도*/
|
||||||
|
.map_theme_miniche.map_spring .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/bg_spring.jpg') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_miniche.map_summer .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/bg_summer.jpg') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_miniche.map_fall .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/bg_fall.jpg') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_miniche.map_winter .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/bg_winter.jpg') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_miniche .map_bgroad{
|
||||||
|
background: url('_tK_gameImagePath_/map/che/miniche_road.png') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*루드라사움 지도*/
|
||||||
|
.map_theme_ludo_rathowm .map_bglayer1{
|
||||||
|
background: url('_tK_gameImagePath_/map/ludo_rathowm/back.jpg') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_ludo_rathowm .map_bgroad{
|
||||||
|
background: url('_tK_gameImagePath_/map/ludo_rathowm/road.png') no-repeat;
|
||||||
|
background-size: 700px 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_ludo_rathowm.map_detail.map_spring .map_title_text{
|
||||||
|
background:
|
||||||
|
url('_tK_gameImagePath_/spring.gif') no-repeat right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_ludo_rathowm.map_detail.map_summer .map_title_text{
|
||||||
|
background:
|
||||||
|
url('_tK_gameImagePath_/summer.gif') no-repeat right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_ludo_rathowm.map_detail.map_fall .map_title_text{
|
||||||
|
background:
|
||||||
|
url('_tK_gameImagePath_/fall.gif') no-repeat right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.map_theme_ludo_rathowm.map_detail.map_winter .map_title_text{
|
||||||
|
background:
|
||||||
|
url('_tK_gameImagePath_/winter.gif') no-repeat right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.world_map.map_theme_ludo_rathowm .map_title .map_title_text::before {
|
||||||
|
color:white;
|
||||||
|
content:'LP';
|
||||||
|
margin-right:1ch;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
window.sammo_menu = [
|
||||||
|
['/bbs/board', '삼모게시판', '_blank'],
|
||||||
|
['/bbs/tip', '팁/강좌', '_blank'],
|
||||||
|
['/bbs/news', '삼국 일보', '_blank'],
|
||||||
|
['/bbs/history2', '개인 열전', '_blank'],
|
||||||
|
['/bbs/history3', '국가 열전', '_blank'],
|
||||||
|
['/bbs/patch', '패치 내역', '_blank']
|
||||||
|
];
|
||||||
@@ -5,15 +5,17 @@ include "lib.php";
|
|||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 4) {
|
||||||
?><!DOCTYPE html>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
@@ -25,11 +27,10 @@ if($session->userGrade < 5) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
$query = "select turntime,tnmt_time from game";
|
[$turntime, $tnmt_time] = $gameStor->getValuesAsArray(['turntime','tnmt_time']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select plock from plock";
|
$query = "select plock from plock";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
@@ -39,14 +40,16 @@ $plock = MYDB_fetch_array($result);
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>삼국지 모의전투 HiDCHe</title>
|
<title>삼국지 모의전투 HiDCHe</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form action=_119_b.php method=post>
|
<form action=_119_b.php method=post>
|
||||||
시간조정 : <input type=text size=3 name=minute><input type=submit name=btn value='분당김'><input type=submit name=btn value='분지연'> 최종갱신 : <?=$admin['turntime']?><br>
|
시간조정 : <input type=text size=3 name=minute><input type=submit name=btn value='분당김'><input type=submit name=btn value='분지연'> 최종갱신 : <?=$turntime?><br>
|
||||||
시간조정 : <input type=text size=3 name=minute2><input type=submit name=btn value='토너분당김'><input type=submit name=btn value='토너분지연'> 토너먼트 : <?=$admin['tnmt_time']?><br>
|
시간조정 : <input type=text size=3 name=minute2><input type=submit name=btn value='토너분당김'><input type=submit name=btn value='토너분지연'> 토너먼트 : <?=$tnmt_time?><br>
|
||||||
봉급지급 : <input type=submit name=btn value='금지급'><input type=submit name=btn value='쌀지급'><br>
|
봉급지급 : <input type=submit name=btn value='금지급'><input type=submit name=btn value='쌀지급'><br>
|
||||||
락 풀 기 : <input type=submit name=btn value='락걸기'><input type=submit name=btn value='락풀기'> 현재 : <?=$plock['plock']>0?"동결중":"가동중"?><br>
|
락 풀 기 : <input type=submit name=btn value='락걸기'><input type=submit name=btn value='락풀기'> 현재 : <?=$plock['plock']>0?"동결중":"가동중"?><br>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ include "func.php";
|
|||||||
|
|
||||||
|
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
if($session->userGrade < 5){
|
if($session->userGrade < 4){
|
||||||
header('location:_119.php');
|
header('location:_119.php');
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
@@ -24,33 +24,54 @@ $btn = Util::getReq('btn');
|
|||||||
$minute = Util::getReq('minute', 'int');
|
$minute = Util::getReq('minute', 'int');
|
||||||
$minute2 = Util::getReq('minute2', 'int');
|
$minute2 = Util::getReq('minute2', 'int');
|
||||||
|
|
||||||
$db = DB::db();
|
extractMissingPostToGlobals();
|
||||||
$connect=$db->get();
|
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
switch($btn) {
|
switch($btn) {
|
||||||
case "분당김":
|
case "분당김":
|
||||||
$query = "update game set turntime=DATE_SUB(turntime, INTERVAL $minute MINUTE),starttime=DATE_SUB(starttime, INTERVAL $minute MINUTE),tnmt_time=DATE_SUB(tnmt_time, INTERVAL $minute MINUTE)";
|
$gameStor->cacheValues(['turntime', 'starttime', 'tnmt_time']);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$turntime = (new \DateTimeImmutable($gameStor->turntime))->sub(new \DateInterval("PT{$minute}M"));
|
||||||
$query = "update general set turntime=DATE_SUB(turntime, INTERVAL $minute MINUTE)";
|
$starttime = (new \DateTimeImmutable($gameStor->starttime))->sub(new \DateInterval("PT{$minute}M"));
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->sub(new \DateInterval("PT{$minute}M"));
|
||||||
$query = "update auction set expire=DATE_SUB(expire, INTERVAL $minute MINUTE)";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$gameStor->turntime = $turntime->format('Y-m-d H:i:s');
|
||||||
|
$gameStor->starttime = $starttime->format('Y-m-d H:i:s');
|
||||||
|
$gameStor->tnmt_time = $tnmt_time->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
$db->update('general', [
|
||||||
|
'turntime'=>$db->sqleval('DATE_ADD(turntime, INTERVAL %i MINUTE)', $minute)
|
||||||
|
], true);
|
||||||
|
$db->update('auction', [
|
||||||
|
'expire'=>$db->sqleval('DATE_ADD(expire, INTERVAL %i MINUTE)', $minute)
|
||||||
|
], true);
|
||||||
break;
|
break;
|
||||||
case "분지연":
|
case "분지연":
|
||||||
$query = "update game set turntime=DATE_ADD(turntime, INTERVAL $minute MINUTE),starttime=DATE_ADD(starttime, INTERVAL $minute MINUTE),tnmt_time=DATE_ADD(tnmt_time, INTERVAL $minute MINUTE)";
|
$gameStor->cacheValues(['turntime', 'starttime', 'tnmt_time']);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$turntime = (new \DateTimeImmutable($gameStor->turntime))->add(new \DateInterval("PT{$minute}M"));
|
||||||
$query = "update general set turntime=DATE_ADD(turntime, INTERVAL $minute MINUTE)";
|
$starttime = (new \DateTimeImmutable($gameStor->starttime))->add(new \DateInterval("PT{$minute}M"));
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->add(new \DateInterval("PT{$minute}M"));
|
||||||
$query = "update auction set expire=DATE_ADD(expire, INTERVAL $minute MINUTE)";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$gameStor->turntime = $turntime->format('Y-m-d H:i:s');
|
||||||
|
$gameStor->starttime = $starttime->format('Y-m-d H:i:s');
|
||||||
|
$gameStor->tnmt_time = $tnmt_time->format('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
$db->update('general', [
|
||||||
|
'turntime'=>$db->sqleval('DATE_ADD(turntime, INTERVAL %i MINUTE)', $minute)
|
||||||
|
], true);
|
||||||
|
$db->update('auction', [
|
||||||
|
'expire'=>$db->sqleval('DATE_ADD(expire, INTERVAL %i MINUTE)', $minute)
|
||||||
|
], true);
|
||||||
break;
|
break;
|
||||||
case "토너분당김":
|
case "토너분당김":
|
||||||
$query = "update game set tnmt_time=DATE_SUB(tnmt_time, INTERVAL $minute2 MINUTE)";
|
$tnmt_time = new \DateTime($gameStor->tnmt_time);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$tnmt_time->sub(new \DateInterval("PT{$minute2}M"));
|
||||||
|
$gameStor->tnmt_time = $tnmt_time->format('Y-m-d H:i:s');
|
||||||
break;
|
break;
|
||||||
case "토너분지연":
|
case "토너분지연":
|
||||||
$query = "update game set tnmt_time=DATE_ADD(tnmt_time, INTERVAL $minute2 MINUTE)";
|
$tnmt_time = new \DateTimeImmutable($gameStor->tnmt_time);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$tnmt_time->add(new \DateInterval("PT{$minute2}M"));
|
||||||
|
$gameStor->tnmt_time = $tnmt_time->format('Y-m-d H:i:s');
|
||||||
break;
|
break;
|
||||||
case "금지급":
|
case "금지급":
|
||||||
processGoldIncome();
|
processGoldIncome();
|
||||||
@@ -59,12 +80,10 @@ case "쌀지급":
|
|||||||
processRiceIncome();
|
processRiceIncome();
|
||||||
break;
|
break;
|
||||||
case "락걸기":
|
case "락걸기":
|
||||||
$query = "update plock set plock=1";
|
$db->update('plock', ['plock'=>1], true);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
break;
|
break;
|
||||||
case "락풀기":
|
case "락풀기":
|
||||||
$query = "update plock set plock=0";
|
$db->update('plock', ['plock'=>0], true);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,22 +7,23 @@ include "func.php";
|
|||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,16 +36,18 @@ $admin = getAdmin();
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>게임관리</title>
|
<title>게임관리</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class="tb_layout bg0">
|
||||||
<tr><td>게 임 관 리<br><?=backButton()?></td></tr>
|
<tr><td>게 임 관 리<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<form name=form1 method=post action=_admin1_submit.php>
|
<form name=form1 method=post action=_admin1_submit.php>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class="tb_layout bg0">
|
||||||
<tr><td width=110 align=right>운영자메세지</td>
|
<tr><td width=110 align=right>운영자메세지</td>
|
||||||
<td colspan=3><input type=textarea size=90 style=color:white;background-color:black; name=msg value='<?=$admin['msg']?>'><input type=submit name=btn value=변경></td></td>
|
<td colspan=3><input type=textarea size=90 style=color:white;background-color:black; name=msg value='<?=$admin['msg']?>'><input type=submit name=btn value=변경></td></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -81,7 +84,7 @@ $admin = getAdmin();
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ if (!$v->validate()) {
|
|||||||
Error($v->errorStr());
|
Error($v->errorStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$msg = Util::getReq('msg');
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$log = Util::getReq('log');
|
$log = Util::getReq('log');
|
||||||
$starttime = Util::getReq('starttime', 'string', (new \DateTime())->format('Y-m-d H:i:s'));
|
$starttime = Util::getReq('starttime', 'string', (new \DateTime())->format('Y-m-d H:i:s'));
|
||||||
@@ -29,16 +30,17 @@ $maxgeneral = Util::getReq('maxgeneral', 'int', GameConst::$defaultMaxGeneral);
|
|||||||
$maxnation = Util::getReq('maxnation', 'int', GameConst::$defaultMaxNation);
|
$maxnation = Util::getReq('maxnation', 'int', GameConst::$defaultMaxNation);
|
||||||
$startyear = Util::getReq('startyear', 'int', GameConst::$defaultStartYear);
|
$startyear = Util::getReq('startyear', 'int', GameConst::$defaultStartYear);
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
$admin = getAdmin();
|
$admin = getAdmin();
|
||||||
|
|
||||||
switch ($btn) {
|
switch ($btn) {
|
||||||
case "변경":
|
case "변경":
|
||||||
$msg = addslashes(SQ2DQ($msg));
|
$gameStor->msg = $msg;
|
||||||
$query = "update game set msg='$msg'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
break;
|
break;
|
||||||
case "로그쓰기":
|
case "로그쓰기":
|
||||||
$lognum = $admin['historyindex'] + 1;
|
$lognum = $admin['historyindex'] + 1;
|
||||||
@@ -48,20 +50,16 @@ switch ($btn) {
|
|||||||
pushWorldHistory(["<R>★</><S>{$log}</>"]);
|
pushWorldHistory(["<R>★</><S>{$log}</>"]);
|
||||||
break;
|
break;
|
||||||
case "변경1":
|
case "변경1":
|
||||||
$query = "update game set starttime='$starttime'";
|
$gameStor->starttime = (new \DateTime($starttime))->format('Y-m-d H:i:s');
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
break;
|
break;
|
||||||
case "변경2":
|
case "변경2":
|
||||||
$query = "update game set maxgeneral='$maxgeneral'";
|
$gameStor->maxgeneral = $maxgeneral;
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
break;
|
break;
|
||||||
case "변경3":
|
case "변경3":
|
||||||
$query = "update game set maxnation='$maxnation'";
|
$gameStor->maxnation = $maxnation;
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
break;
|
break;
|
||||||
case "변경4":
|
case "변경4":
|
||||||
$query = "update game set startyear='$startyear'";
|
$gameStor->startyear = $startyear;
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
break;
|
break;
|
||||||
case "1분턴":
|
case "1분턴":
|
||||||
case "2분턴":
|
case "2분턴":
|
||||||
@@ -85,8 +83,8 @@ switch ($btn) {
|
|||||||
$turn = ($admin['year'] - $admin['startyear']) * 12 + $admin['month'] - 1;
|
$turn = ($admin['year'] - $admin['startyear']) * 12 + $admin['month'] - 1;
|
||||||
$starttime = date("Y-m-d H:i:s", strtotime($admin['turntime']) - $turn * $unit);
|
$starttime = date("Y-m-d H:i:s", strtotime($admin['turntime']) - $turn * $unit);
|
||||||
$starttime = cutTurn($starttime, $turnterm);
|
$starttime = cutTurn($starttime, $turnterm);
|
||||||
$query = "update game set turnterm='$turnterm',starttime='$starttime'";
|
$gameStor->turnterm = $turnterm;
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$gameStor->starttime = $starttime;
|
||||||
// 턴시간이 길어지는 경우 랜덤턴 배정
|
// 턴시간이 길어지는 경우 랜덤턴 배정
|
||||||
if ($turnterm < $admin['turnterm']) {
|
if ($turnterm < $admin['turnterm']) {
|
||||||
$query = "select no from general";
|
$query = "select no from general";
|
||||||
|
|||||||
@@ -7,66 +7,61 @@ include "func.php";
|
|||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>회원관리</title>
|
<title>회원관리</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>회 원 관 리<br><?=backButton()?></td></tr>
|
<tr><td>회 원 관 리<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<form name=form1 method=post action=_admin2_submit.php>
|
<form name=form1 method=post action=_admin2_submit.php>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=80 align=center>접속제한</td>
|
<td width=80 align=center>접속제한</td>
|
||||||
<td width=713 align=center><input type=submit name=btn value='전체 접속허용'><input type=submit name=btn value='전체 접속제한'></td>
|
<td width=713 align=center><input type=submit name=btn value='전체 접속허용'><input type=submit name=btn value='전체 접속제한'></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=80 align=center rowspan=12>회원선택<br><br><font color=cyan>NPC</font><br><font color=skyblue>NPC유저</font><br><font color=red>접속제한</font><br><b style=background-color:red;>블럭회원</b></td>
|
<td width=80 align=center rowspan=12>회원선택<br><br><font color=cyan>NPC</font><br><font color=skyblue>NPC유저</font><br><font color=red>접속제한</font><br><b style=background-color:red;>블럭회원</b></td>
|
||||||
<td width=105 rowspan=12>
|
<td width=105 rowspan=12>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<select name=genlist[] size=20 multiple style=color:white;background-color:black;font-size:13>";
|
<select name=genlist[] size=20 multiple style='color:white;background-color:black;font-size:13px'>";
|
||||||
|
$generalList = $db->query('SELECT `no`, `name`, npc, `block` FROM general ORDER BY npc, binary(`name`)');
|
||||||
|
|
||||||
$query = "select no,name,npc,block from general order by npc,binary(name)";
|
foreach($generalList as $general){
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$gencount = MYDB_num_rows($result);
|
|
||||||
|
|
||||||
for($i=0; $i < $gencount; $i++) {
|
|
||||||
$general = MYDB_fetch_array($result);
|
|
||||||
$style = "style=;";
|
$style = "style=;";
|
||||||
if($general['block'] > 0) { $style .= "background-color:red;"; }
|
if($general['block'] > 0) { $style .= "background-color:red;"; }
|
||||||
if($general['npc'] >= 2) { $style .= "color:cyan;"; }
|
if($general['npc'] >= 2) { $style .= "color:cyan;"; }
|
||||||
@@ -81,7 +76,7 @@ echo "
|
|||||||
</td>
|
</td>
|
||||||
<td width=100 align=center>아이템 지급</td>
|
<td width=100 align=center>아이템 지급</td>
|
||||||
<td width=504>
|
<td width=504>
|
||||||
<select name=weap size=1 style=color:white;background-color:black;font-size:13>";
|
<select name=weap size=1 style='color:white;background-color:black;font-size:13px'>";
|
||||||
for($i=0; $i < 27; $i++) {
|
for($i=0; $i < 27; $i++) {
|
||||||
echo "
|
echo "
|
||||||
<option value={$i}>{$i}</option>";
|
<option value={$i}>{$i}</option>";
|
||||||
@@ -131,7 +126,7 @@ for($i=0; $i < 27; $i++) {
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ include "func.php";
|
|||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$weap = Util::getReq('weap', 'int');
|
$weap = Util::getReq('weap', 'int');
|
||||||
|
$genlist = Util::getReq('genlist', 'array_int');
|
||||||
|
$msg = Util::getReq('msg', 'string');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireLogin()->loginGame()->setReadOnly();
|
$session = Session::requireLogin()->loginGame()->setReadOnly();
|
||||||
@@ -17,288 +21,332 @@ if($session->userGrade < 5) {
|
|||||||
$generalID = $session->generalID;
|
$generalID = $session->generalID;
|
||||||
if(!$generalID){
|
if(!$generalID){
|
||||||
header('location:_admin2.php');
|
header('location:_admin2.php');
|
||||||
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
|
$src = MessageTarget::buildQuick($session->generalID);
|
||||||
|
|
||||||
switch($btn) {
|
switch($btn) {
|
||||||
case "전체 접속허용":
|
case "전체 접속허용":
|
||||||
$query = "update general set con=0";
|
$db->update('general', [
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
'con'=>0
|
||||||
|
], true);
|
||||||
break;
|
break;
|
||||||
case "전체 접속제한":
|
case "전체 접속제한":
|
||||||
$query = "update general set con=1000";
|
$db->update('general', [
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
'con'=>1000
|
||||||
|
], true);
|
||||||
break;
|
break;
|
||||||
case "블럭 해제":
|
case "블럭 해제":
|
||||||
|
$db->update('general', [
|
||||||
|
'block'=>0
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
DB::db()->query('update general set block=0 where no IN %li', $genlist);
|
DB::db()->query('update general set block=0 where no IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "1단계 블럭":
|
case "1단계 블럭":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$db = DB::db();
|
$db->update('general', [
|
||||||
$db->query('update general set block=1,killturn=24 where no IN %li',$genlist);
|
'block'=>1,
|
||||||
//FIXME: subquery로 하는게 더 빠를 듯.
|
'killturn'=>24
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
], '`no` IN %li', $genlist);
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where no IN %ls', $date, $uid);
|
$uid = $db->queryFirstColumn('SELECT `owner` FROM general WHERE `no` IN %li', $genlist);
|
||||||
|
RootDB::db()->update('member',[
|
||||||
|
'block_num'=>$db->sqleval('block_num+1'),
|
||||||
|
'block_date'=>$date
|
||||||
|
], 'id IN %li', $uid);
|
||||||
break;
|
break;
|
||||||
case "2단계 블럭":
|
case "2단계 블럭":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$db = DB::db();
|
$db->update('general', [
|
||||||
$db->query('update general set gold=0,rice=0,block=2,killturn=24 where no IN %li',$genlist);
|
'gold'=>0,
|
||||||
|
'rice'=>0,
|
||||||
|
'block'=>2,
|
||||||
|
'killturn'=>24
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
RootDB::db()->update('member',[
|
||||||
|
'block_num'=>$db->sqleval('block_num+1'),
|
||||||
|
'block_date'=>$date
|
||||||
|
], 'id IN %li', $uid);
|
||||||
break;
|
break;
|
||||||
case "3단계 블럭":
|
case "3단계 블럭":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$db = DB::db();
|
$db->update('general', [
|
||||||
$db->query('update general set gold=0,rice=0,block=3,killturn=24 where no IN %li',$genlist);
|
'gold'=>0,
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
'rice'=>0,
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
'block'=>3,
|
||||||
|
'killturn'=>24
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
$uid = $db->queryFirstColumn('SELECT `owner` from general where no IN %li', $genlist);
|
||||||
|
RootDB::db()->update('member',[
|
||||||
|
'block_num'=>$db->sqleval('block_num+1'),
|
||||||
|
'block_date'=>$date
|
||||||
|
], 'id IN %li', $uid);
|
||||||
break;
|
break;
|
||||||
case "무한삭턴":
|
case "무한삭턴":
|
||||||
DB::db()->query('update general set killturn=8000 where no IN %li',$genlist);
|
$db->update('general', [
|
||||||
|
'killturn'=>8000
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "강제 사망":
|
case "강제 사망":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
DB::db()->query('update general set turn0=0,killturn=0,turntime=%s where no IN %li',$date, $genlist);
|
$db->update('general', [
|
||||||
|
'turn0'=>EncodeCommand(0, 0, 0, 0),
|
||||||
|
'killturn'=>0,
|
||||||
|
'turntime'=>$date,
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "특기 부여":
|
case "특기 부여":
|
||||||
$admin = DB::db()->queryFirstRow('select `year`, `month` from `game` where `no`=1');
|
[$year, $month] = $gameStor->getValuesAsArray(['year', 'month']);
|
||||||
|
$text = "특기 부여!";
|
||||||
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
foreach($db->query("SELECT `no`,leader,power,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($general['no']), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
$msg = "특기 부여!";
|
$msg->send(true);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "select no,leader,power,intel from general where no='$genlist[$i]'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$general = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$special2 = getSpecial2($general['leader'], $general['power'], $general['intel']);
|
$specialWar = SpecialityConst::pickSpecialWar($general);
|
||||||
|
$db->update('general', [
|
||||||
$query = "update general set specage2=age,special2='$special2' where no='{$general['no']}'";
|
'specage2'=>$db->sqleval('age'),
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
'special2'=>$specialWar
|
||||||
|
], 'no=%i', $general['no']);
|
||||||
$log[0] = "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】(을)를 익혔습니다!";
|
$specialWarName = SpecialityConst::WAR[$specialWar][0];
|
||||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득");
|
$josaUl = JosaUtil::pick($specialWarName, '을');
|
||||||
pushGenLog($general, $log);
|
pushGeneralHistory($general, "<C>●</>{$year}년 {$month}월:특기 【<b><C>{$specialWarName}</></b>】{$josaUl} 습득");
|
||||||
|
pushGenLog($general, ["<C>●</>특기 【<b><L>{$specialWarName}</></b>】{$josaUl} 익혔습니다!"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "경험치1000":
|
case "경험치1000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = $btn." 지급!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
foreach($genlist as $generalID){
|
||||||
$msg = $btn." 지급!";
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg->send(true);
|
||||||
}
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set experience=experience+1000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'experience'=>$db->sqleval('experience+1000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "공헌치1000":
|
case "공헌치1000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = $btn." 지급!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
foreach($genlist as $generalID){
|
||||||
$msg = $btn." 지급!";
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg->send(true);
|
||||||
}
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dedication=dedication+1000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dedication'=>$db->sqleval('dedication+1000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "보숙10000":
|
case "보숙10000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = "보병숙련도+10000 지급!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
foreach($genlist as $generalID){
|
||||||
$msg = "보병숙련도+10000 지급!";
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg->send(true);
|
||||||
}
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dex0=dex0+10000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dex0'=>$db->sqleval('dex0+10000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "궁숙10000":
|
case "궁숙10000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = "궁병숙련도+10000 지급!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
foreach($genlist as $generalID){
|
||||||
$msg = "궁병숙련도+10000 지급!";
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg->send(true);
|
||||||
}
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dex10=dex10+10000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dex10'=>$db->sqleval('dex10+10000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "기숙10000":
|
case "기숙10000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$src = MessageTarget::buildQuick($session->generalID);
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$text = "기병숙련도+10000 지급!";
|
||||||
$msg = "기병숙련도+10000 지급!";
|
foreach($genlist as $generalID){
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
}
|
$msg->send(true);
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dex20=dex20+10000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dex20'=>$db->sqleval('dex20+10000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "귀숙10000":
|
case "귀숙10000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$src = MessageTarget::buildQuick($session->generalID);
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$text = "귀병숙련도+10000 지급!";
|
||||||
$msg = "귀병숙련도+10000 지급!";
|
foreach($genlist as $generalID){
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
}
|
$msg->send(true);
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dex30=dex30+10000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dex30'=>$db->sqleval('dex30+10000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "차숙10000":
|
case "차숙10000":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$src = MessageTarget::buildQuick($session->generalID);
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$text = "차병숙련도+10000 지급!";
|
||||||
$msg = "차병숙련도+10000 지급!";
|
foreach($genlist as $generalID){
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
}
|
$msg->send(true);
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
|
||||||
$query = "update general set dex40=dex40+10000 where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
|
$db->update('general',[
|
||||||
|
'dex40'=>$db->sqleval('dex40+10000')
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "접속 허용":
|
case "접속 허용":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general',[
|
||||||
$query = "update general set con=0 where no='$genlist[$i]'";
|
'con'=>0
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
], '`no` IN %li', $genlist);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "접속 제한":
|
case "접속 제한":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general',[
|
||||||
$query = "update general set con=1000 where no='$genlist[$i]'";
|
'con'=>1000
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
], '`no` IN %li', $genlist);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "메세지 전달":
|
case "메세지 전달":
|
||||||
//TODO:새 갠메 시스템으로 변경
|
$text = $msg;
|
||||||
$date = date('Y-m-d H:i:s');
|
foreach($genlist as $generalID){
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$msg->send(true);
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "무기지급":
|
case "무기지급":
|
||||||
$date = date('Y-m-d H:i:s');
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
if($weap == 0) {
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
$text = "무기 회수!";
|
||||||
if($weap == 0) { $msg = "무기 회수!"; }
|
|
||||||
else { $msg = getWeapName($weap)." 지급!"; }
|
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
}
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
else {
|
||||||
if($weap == 0) {
|
$text = getWeapName($weap)." 지급!";
|
||||||
$query = "update general set weap='0' where no='$genlist[$i]'";
|
}
|
||||||
} else {
|
|
||||||
$query = "update general set weap='$weap' where no='$genlist[$i]' and weap<'$weap'";
|
foreach($genlist as $generalID){
|
||||||
}
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$msg->send(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($weap == 0){
|
||||||
|
$db->update('general', [
|
||||||
|
'weap'=>0
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$db->update('general', [
|
||||||
|
'weap'=>$weap
|
||||||
|
], '`no` IN %li AND weap < %i', $genlist, $weap);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "책지급":
|
case "책지급":
|
||||||
$date = date('Y-m-d H:i:s');
|
if($weap == 0) {
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = "책 회수!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
|
||||||
if($weap == 0) { $msg = "서적 회수!"; }
|
|
||||||
else { $msg = getBookName($weap)." 지급!"; }
|
|
||||||
// 상대에게 발송
|
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
}
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
else {
|
||||||
if($weap == 0) {
|
$text = getBookName($weap)." 지급!";
|
||||||
$query = "update general set book='0' where no='$genlist[$i]'";
|
}
|
||||||
} else {
|
|
||||||
$query = "update general set book='$weap' where no='$genlist[$i]' and book<'$weap'";
|
foreach($genlist as $generalID){
|
||||||
}
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$msg->send(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($weap == 0){
|
||||||
|
$db->update('general', [
|
||||||
|
'book'=>0
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$db->update('general', [
|
||||||
|
'book'=>$weap
|
||||||
|
], '`no` IN %li AND book < %i', $genlist, $weap);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "말지급":
|
case "말지급":
|
||||||
$date = date('Y-m-d H:i:s');
|
if($weap == 0) {
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = "말 회수!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
|
||||||
if($weap == 0) { $msg = "말 회수!"; }
|
|
||||||
else { $msg = getHorseName($weap)." 지급!"; }
|
|
||||||
// 상대에게 발송
|
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
}
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
else {
|
||||||
if($weap == 0) {
|
$text = getHorseName($weap)." 지급!";
|
||||||
$query = "update general set horse='0' where no='$genlist[$i]'";
|
}
|
||||||
} else {
|
|
||||||
$query = "update general set horse='$weap' where no='$genlist[$i]' and horse<'$weap'";
|
foreach($genlist as $generalID){
|
||||||
}
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$msg->send(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($weap == 0){
|
||||||
|
$db->update('general', [
|
||||||
|
'horse'=>0
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$db->update('general', [
|
||||||
|
'horse'=>$weap
|
||||||
|
], '`no` IN %li AND horse < %i', $genlist, $weap);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "도구지급":
|
case "도구지급":
|
||||||
$date = date('Y-m-d H:i:s');
|
if($weap == 0) {
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$text = "특수도구 회수!";
|
||||||
$you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]);
|
|
||||||
if($weap == 0) { $msg = "특수도구 회수!"; }
|
|
||||||
else { $msg = getItemName($weap)." 지급!"; }
|
|
||||||
// 상대에게 발송
|
|
||||||
sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg);
|
|
||||||
}
|
}
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
else {
|
||||||
if($weap == 0) {
|
$text = getItemName($weap)." 지급!";
|
||||||
$query = "update general set item='0' where no='$genlist[$i]'";
|
}
|
||||||
} else {
|
|
||||||
$query = "update general set item='$weap' where no='$genlist[$i]' and item<'$weap'";
|
foreach($genlist as $generalID){
|
||||||
}
|
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$msg->send(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($weap == 0){
|
||||||
|
$db->update('general', [
|
||||||
|
'item'=>0
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$db->update('general', [
|
||||||
|
'item'=>$weap
|
||||||
|
], '`no` IN %li AND item < %i', $genlist, $weap);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "NPC해제":
|
case "NPC해제":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general', [
|
||||||
$query = "update general set npc=1 where no='$genlist[$i]'";
|
'npc'=>1
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
], '`no` IN %li', $genlist);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "하야입력":
|
case "하야입력":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general', [
|
||||||
$query = "update general set turn0='00000000000045' where no='$genlist[$i]'";
|
'turn0'=>EncodeCommand(0, 0, 0, 45)
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
], '`no` IN %li', $genlist);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "방랑해산":
|
case "방랑해산":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general', [
|
||||||
$query = "update general set turn0='00000000000047',turn1='00000000000056' where no='$genlist[$i]'";
|
'turn0'=>EncodeCommand(0, 0, 0, 47),
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
'turn1'=>EncodeCommand(0, 0, 0, 56)
|
||||||
}
|
], '`no` IN %li', $genlist);
|
||||||
break;
|
break;
|
||||||
case "NPC설정":
|
case "NPC설정":
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
$db->update('general', [
|
||||||
$query = "update general set npc=2 where no='$genlist[$i]'";
|
'npc'=>2
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
], '`no` IN %li', $genlist);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case "00턴":
|
case "00턴":
|
||||||
$query = "select turnterm from game limit 1";
|
$turnterm = $gameStor->turnterm;
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
foreach($genlist as $generalID){
|
||||||
$turntime = getRandTurn($admin['turnterm']);
|
$turntime = getRandTurn($turnterm);
|
||||||
$cutTurn = cutTurn($turntime, $admin['turnterm']);
|
$cutTurn = cutTurn($turntime, $turnterm);
|
||||||
$query = "update general set turntime='$cutTurn' where no='$genlist[$i]'";
|
$db->update('general', [
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
'turntime'=>$curTurn
|
||||||
|
], '`no` IN %li', $genlist);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "랜덤턴":
|
case "랜덤턴":
|
||||||
$query = "select turnterm from game limit 1";
|
foreach($genlist as $generalID){
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$turntime = getRandTurn($turnterm);
|
||||||
$admin = MYDB_fetch_array($result);
|
$db->update('general', [
|
||||||
|
'turntime'=>$turntime
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
], '`no` IN %li', $genlist);
|
||||||
$turntime = getRandTurn($admin['turnterm']);
|
|
||||||
$query = "update general set turntime='$turntime' where no='$genlist[$i]'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,65 +7,62 @@ include "func.php";
|
|||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
$conlimit = $gameStor->conlimit;
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>멀티관리</title>
|
<title>멀티관리</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>멀 티 관 리<br><?=backButton()?></td></tr>
|
<tr><td>멀 티 관 리<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<form name=form1 method=post action=_admin4_submit.php>
|
<form name=form1 method=post action=_admin4_submit.php>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=80 align=center rowspan=3>회원선택<br><br><font color=cyan>NPC</font><br><font color=skyblue>NPC유저</font><br><font color=red>접속제한</font><br><b style=background-color:red;>블럭회원</b></td>
|
<td width=80 align=center rowspan=3>회원선택<br><br><font color=cyan>NPC</font><br><font color=skyblue>NPC유저</font><br><font color=red>접속제한</font><br><b style=background-color:red;>블럭회원</b></td>
|
||||||
<td width=105 rowspan=3>
|
<td width=105 rowspan=3>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<select name=genlist[] size=20 multiple style=color:white;background-color:black;font-size:13>";
|
<select name=genlist[] size=20 multiple style='color:white;background-color:black;font-size:13px'>";
|
||||||
|
|
||||||
$query = "select no,name,npc,block from general where ip!='' order by npc,ip";
|
foreach($db->query('SELECT no,name,npc,block,con from general where ip!=\'\' order by npc,ip') as $general){
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$gencount = MYDB_num_rows($result);
|
|
||||||
|
|
||||||
for($i=0; $i < $gencount; $i++) {
|
|
||||||
$general = MYDB_fetch_array($result);
|
|
||||||
$style = "style=;";
|
$style = "style=;";
|
||||||
if($general['block'] > 0) { $style .= "background-color:red;"; }
|
if($general['block'] > 0) { $style .= "background-color:red;"; }
|
||||||
if($general['npc'] >= 2) { $style .= "color:cyan;"; }
|
if($general['npc'] >= 2) { $style .= "color:cyan;"; }
|
||||||
elseif($general['npc'] == 1) { $style .= "color:skyblue;"; }
|
elseif($general['npc'] == 1) { $style .= "color:skyblue;"; }
|
||||||
if($general['con'] > $admin['conlimit']) { $style .= "color:red;"; }
|
if($general['con'] > $conlimit) { $style .= "color:red;"; }
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<option value={$general['no']} $style>{$general['name']}</option>";
|
<option value={$general['no']} $style>{$general['name']}</option>";
|
||||||
@@ -90,7 +87,7 @@ echo "
|
|||||||
<td><input type=textarea size=60 maxlength=255 name=msg style=background-color:black;color:white;><input type=submit name=btn value='메세지 전달'></td>
|
<td><input type=textarea size=60 maxlength=255 name=msg style=background-color:black;color:white;><input type=submit name=btn value='메세지 전달'></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center width=100>장수명</td>
|
<td align=center width=100>장수명</td>
|
||||||
<td align=center width=180>최근로그인</td>
|
<td align=center width=180>최근로그인</td>
|
||||||
@@ -137,7 +134,7 @@ echo "
|
|||||||
//NOTE: password의 md5 해시가 같은지 확인하는 방식으로는 앞으로 잡아낼 수 없다. 폐기
|
//NOTE: password의 md5 해시가 같은지 확인하는 방식으로는 앞으로 잡아낼 수 없다. 폐기
|
||||||
?>
|
?>
|
||||||
</form>
|
</form>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -12,10 +12,12 @@ if($session->userGrade < 5) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$genlist = Util::getReq('genlist', 'int');
|
$genlist = Util::getReq('genlist', 'array_int');
|
||||||
|
$msg = Util::getReq('msg','string', '메시지');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
|
||||||
|
|
||||||
//NOTE: 왜 기능이 admin2와 admin4가 같이 있는가?
|
//NOTE: 왜 기능이 admin2와 admin4가 같이 있는가?
|
||||||
//NOTE: 왜 블럭 시 admin4에선 금쌀을 없애지 않는가?
|
//NOTE: 왜 블럭 시 admin4에선 금쌀을 없애지 않는가?
|
||||||
@@ -29,33 +31,46 @@ switch($btn) {
|
|||||||
$db->query('update general set block=1,killturn=24 where no IN %li',$genlist);
|
$db->query('update general set block=1,killturn=24 where no IN %li',$genlist);
|
||||||
//FIXME: subquery로 하는게 더 빠를 듯.
|
//FIXME: subquery로 하는게 더 빠를 듯.
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
||||||
break;
|
break;
|
||||||
case "2단계 블럭":
|
case "2단계 블럭":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$db->query('update general set block=2,killturn=24 where no IN %li',$genlist);
|
$db->query('update general set block=2,killturn=24 where no IN %li',$genlist);
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
||||||
break;
|
break;
|
||||||
case "3단계 블럭":
|
case "3단계 블럭":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$db->query('update general set block=3,killturn=24 where no IN %li',$genlist);
|
$db->query('update general set block=3,killturn=24 where no IN %li',$genlist);
|
||||||
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
$uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist);
|
||||||
RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid);
|
||||||
break;
|
break;
|
||||||
case "무한삭턴":
|
case "무한삭턴":
|
||||||
DB::db()->query('update general set killturn=8000 where no IN %li',$genlist);
|
DB::db()->query('update general set killturn=8000 where no IN %li',$genlist);
|
||||||
break;
|
break;
|
||||||
case "강제 사망":
|
case "강제 사망":
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
DB::db()->query('update general set turn0=0,killturn=0,turntime=%s where no IN %li',$date, $genlist);
|
DB::db()->query('update general set turn0=%s,killturn=0,turntime=%s where no IN %li',EncodeCommand(0, 0, 0, 0),$date, $genlist);
|
||||||
break;
|
break;
|
||||||
case "메세지 전달":
|
case "메세지 전달":
|
||||||
//TODO:새 갠메 시스템으로 변경
|
//TODO:새 갠메 시스템으로 변경
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
|
$src = MessageTarget::buildQuick($session->generalID);
|
||||||
for($i=0; $i < count($genlist); $i++) {
|
for($i=0; $i < count($genlist); $i++) {
|
||||||
|
$msgObj = new Message(
|
||||||
|
Message::MSGTYPE_PRIVATE,
|
||||||
|
$src,
|
||||||
|
MessageTarget::buildQuick($genlist[$i]),
|
||||||
|
$msg,
|
||||||
|
new DateTime(),
|
||||||
|
new \DateTime('9999-12-31'),
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
if($msgObj){
|
||||||
|
$msgObj->send(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,57 +7,60 @@ include "func.php";
|
|||||||
$type = Util::getReq('type', 'int', 0);
|
$type = Util::getReq('type', 'int', 0);
|
||||||
$type2 = Util::getReq('type2', 'int', 0);
|
$type2 = Util::getReq('type2', 'int', 0);
|
||||||
|
|
||||||
|
if($type < 0 || $type > 17){
|
||||||
|
$type = 0;
|
||||||
|
}
|
||||||
|
if($type2 < 0 || $type2 > 6){
|
||||||
|
$type2 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
if($type == 0) {
|
|
||||||
$type = 0;
|
|
||||||
}
|
|
||||||
if($type2 == 0) {
|
|
||||||
$type2 = 0;
|
|
||||||
}
|
|
||||||
$sel = [];
|
$sel = [];
|
||||||
$sel2 = [];
|
$sel2 = [];
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
$sel2[$type2] = "selected";
|
$sel2[$type2] = "selected";
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>일제정보</title>
|
<title>일제정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>일 제 정 보<br><?=closeButton()?></td></tr>
|
<tr><td>일 제 정 보<br><?=closeButton()?></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form name=form1 method=post>정렬순서 :
|
<form name=form1 method=post>정렬순서 :
|
||||||
@@ -112,7 +115,7 @@ for($i=1; $i <= $count; $i++) {
|
|||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table align=center width=1600 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px; id=bg0>
|
<table align=center width=1600 class="tb_layout bg0">
|
||||||
<tr id=bg1>
|
<tr id=bg1>
|
||||||
<td align=center>국명</td>
|
<td align=center>국명</td>
|
||||||
<td align=center>접률</td>
|
<td align=center>접률</td>
|
||||||
@@ -155,7 +158,7 @@ SELECT
|
|||||||
A.chemi,
|
A.chemi,
|
||||||
A.color,
|
A.color,
|
||||||
A.tech,
|
A.tech,
|
||||||
A.tricklimit,
|
A.sabotagelimit,
|
||||||
A.gold,
|
A.gold,
|
||||||
A.rice,
|
A.rice,
|
||||||
COUNT(B.nation) AS gennum,
|
COUNT(B.nation) AS gennum,
|
||||||
@@ -230,7 +233,7 @@ for($i=0; $i < $nationCount; $i++) {
|
|||||||
<td align=center> {$gen['cnt']} </td>
|
<td align=center> {$gen['cnt']} </td>
|
||||||
<td align=center> {$city['cnt']} </td>
|
<td align=center> {$city['cnt']} </td>
|
||||||
<td align=center> {$nation['tech']} </td>
|
<td align=center> {$nation['tech']} </td>
|
||||||
<td align=center> {$nation['tricklimit']} </td>
|
<td align=center> {$nation['sabotagelimit']} </td>
|
||||||
<td align=center> {$nation['gold']} </td>
|
<td align=center> {$nation['gold']} </td>
|
||||||
<td align=center> {$nation['rice']} </td>
|
<td align=center> {$nation['rice']} </td>
|
||||||
<td align=center> {$gen['avgg']} </td>
|
<td align=center> {$gen['avgg']} </td>
|
||||||
@@ -259,11 +262,11 @@ for($i=0; $i < $nationCount; $i++) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=getTrickLogRecent(20)?></td></tr>
|
<tr><td><?=getSabotageLogRecent(20)?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table align=center width=1760 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px; id=bg0>
|
<table align=center width=1760 class="tb_layout bg0">
|
||||||
<tr id=bg1>
|
<tr id=bg1>
|
||||||
<td width=30 align=center>년</td>
|
<td width=30 align=center>년</td>
|
||||||
<td width=30 align=center>월</td>
|
<td width=30 align=center>월</td>
|
||||||
@@ -314,7 +317,7 @@ for($i=0; $i < $count; $i++) {
|
|||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ include "func.php";
|
|||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$nation = Util::getReq('nation', 'int');
|
$nation = Util::getReq('nation', 'int');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|||||||
@@ -4,37 +4,39 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$type = Util::getReq('type', 'int');
|
$type = Util::getReq('type', 'int', 0);
|
||||||
|
if($type < 0 || $type > 4){
|
||||||
|
$type = 0;
|
||||||
|
}
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
if($type == 0) {
|
|
||||||
$type = 0;
|
|
||||||
}
|
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -42,12 +44,14 @@ $sel[$type] = "selected";
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>접속정보</title>
|
<title>접속정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>접 속 정 보<br><?=closeButton()?></td></tr>
|
<tr><td>접 속 정 보<br><?=closeButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=post>정렬순서 :
|
||||||
<select name=type size=1>
|
<select name=type size=1>
|
||||||
@@ -60,7 +64,7 @@ $sel[$type] = "selected";
|
|||||||
<input type=submit value='정렬하기'></form>
|
<input type=submit value='정렬하기'></form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center class='tb_layout bg0'>
|
||||||
<tr id=bg1>
|
<tr id=bg1>
|
||||||
<td align=center width=120>장수명</td>
|
<td align=center width=120>장수명</td>
|
||||||
<td align=center width=50>접속률</td>
|
<td align=center width=50>접속률</td>
|
||||||
@@ -99,7 +103,7 @@ for($i=0; $i < $gencount; $i++) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -6,28 +6,35 @@ include "func.php";
|
|||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$gen = Util::getReq('gen', 'int', 0);
|
$gen = Util::getReq('gen', 'int', 0);
|
||||||
$type = Util::getReq('type', 'int');
|
$type = Util::getReq('type', 'int', 0);
|
||||||
|
|
||||||
|
if($type < 0 || $type > 3){
|
||||||
|
$type = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if($session->userGrade < 5) {
|
if($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,21 +45,20 @@ if($btn == '정렬하기') {
|
|||||||
$gen = 0;
|
$gen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($type == 0) {
|
|
||||||
$type = 0;
|
|
||||||
}
|
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>로그정보</title>
|
<title>로그정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>로 그 정 보<br><?=closeButton()?></td></tr>
|
<tr><td>로 그 정 보<br><?=closeButton()?></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form name=form1 method=post>
|
<form name=form1 method=post>
|
||||||
@@ -96,7 +102,7 @@ for($i=0; $i < $gencount; $i++) {
|
|||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table width=1000 align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=1000 align=center class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=50% align=center id=bg1><font color=skyblue size=3>장 수 정 보</font></td>
|
<td width=50% align=center id=bg1><font color=skyblue size=3>장 수 정 보</font></td>
|
||||||
<td width=50% align=center id=bg1><font color=orange size=3>-</font></td>
|
<td width=50% align=center id=bg1><font color=orange size=3>-</font></td>
|
||||||
@@ -133,7 +139,7 @@ for($i=0; $i < $gencount; $i++) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -6,28 +6,31 @@ include "func.php";
|
|||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$gen = Util::getReq('gen', 'int', 0);
|
$gen = Util::getReq('gen', 'int', 0);
|
||||||
$type = Util::getReq('type', 'int');
|
$type = 0;
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
|
|
||||||
if ($session->userGrade < 5) {
|
if ($session->userGrade < 5) {
|
||||||
echo "<!DOCTYPE html>
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>관리메뉴</title>
|
<title>관리메뉴</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
관리자가 아닙니다.<br>
|
관리자가 아닙니다.<br>
|
||||||
";
|
<?=banner()?>
|
||||||
echo banner();
|
|
||||||
echo "
|
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>
|
||||||
|
<?php
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,21 +41,20 @@ if ($btn == '정렬하기') {
|
|||||||
$gen = 0;
|
$gen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 0) {
|
|
||||||
$type = 0;
|
|
||||||
}
|
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>외교정보</title>
|
<title>외교정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>외 교 정 보<br><?=closeButton()?></td></tr>
|
<tr><td>외 교 정 보<br><?=closeButton()?></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form name=form1 method=post>
|
<form name=form1 method=post>
|
||||||
@@ -64,11 +66,11 @@ $sel[$type] = "selected";
|
|||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table width=1000 align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=1000 align=center class='tb_layout bg0'>
|
||||||
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
|
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=100 align=center id=bg1>국 가 명</td>
|
<td width=130 align=center id=bg1>국 가 명</td>
|
||||||
<td width=100 align=center id=bg1>국 가 명</td>
|
<td width=130 align=center id=bg1>국 가 명</td>
|
||||||
<td width=80 align=center id=bg1>상 태</td>
|
<td width=80 align=center id=bg1>상 태</td>
|
||||||
<td width=60 align=center id=bg1>기 간</td>
|
<td width=60 align=center id=bg1>기 간</td>
|
||||||
<td align=center id=bg1>비 고</td>
|
<td align=center id=bg1>비 고</td>
|
||||||
@@ -82,9 +84,9 @@ foreach (getAllNationStaticInfo() as $nation) {
|
|||||||
$nationColor[$nation['nation']] = $nation['color'];
|
$nationColor[$nation['nation']] = $nation['color'];
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($type) {
|
|
||||||
case 0: $query = "select * from diplomacy where me < you order by state desc"; break;
|
$query = "select * from diplomacy where me < you order by state desc";
|
||||||
}
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$dipcount = MYDB_num_rows($result);
|
$dipcount = MYDB_num_rows($result);
|
||||||
for ($i=0; $i < $dipcount; $i++) {
|
for ($i=0; $i < $dipcount; $i++) {
|
||||||
@@ -156,7 +158,7 @@ for ($i=0; $i < $dipcount; $i++) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,1657 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace sammo;
|
|
||||||
|
|
||||||
include "lib.php";
|
|
||||||
include "func.php";
|
|
||||||
|
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
|
||||||
$userID = Session::getUserID();
|
|
||||||
|
|
||||||
//로그인 검사
|
|
||||||
|
|
||||||
$isgen = Util::getReq('isgen');
|
|
||||||
|
|
||||||
$leader1 = Util::getReq('leader1', 'int', 0);
|
|
||||||
$power1 = Util::getReq('power1', 'int', 0);
|
|
||||||
$intel1 = Util::getReq('intel1', 'int', 0);
|
|
||||||
$type1 = Util::getReq('type1', 'int', 0);
|
|
||||||
$crew1 = Util::getReq('crew1', 'int', 0);
|
|
||||||
$train1 = Util::getReq('train1', 'int', 0);
|
|
||||||
$atmos1 = Util::getReq('atmos1', 'int', 0);
|
|
||||||
$level1 = Util::getReq('level1', 'int', 0);
|
|
||||||
$explevel1 = Util::getReq('explevel1', 'int', 0);
|
|
||||||
$tech1 = Util::getReq('tech1', 'int', 0);
|
|
||||||
|
|
||||||
$dex10 = Util::getReq('dex10', 'int', 0);
|
|
||||||
$dex110 = Util::getReq('dex110', 'int', 0);
|
|
||||||
$dex120 = Util::getReq('dex120', 'int', 0);
|
|
||||||
$dex130 = Util::getReq('dex130', 'int', 0);
|
|
||||||
$dex140 = Util::getReq('dex140', 'int', 0);
|
|
||||||
|
|
||||||
$dx10 = array_fill(0, 20, '');
|
|
||||||
$dx110 = array_fill(0, 20, '');
|
|
||||||
$dx120 = array_fill(0, 20, '');
|
|
||||||
$dx130 = array_fill(0, 20, '');
|
|
||||||
$dx140 = array_fill(0, 20, '');
|
|
||||||
|
|
||||||
$leader2 = Util::getReq('leader2', 'int', 0);
|
|
||||||
$power2 = Util::getReq('power2', 'int', 0);
|
|
||||||
$intel2 = Util::getReq('intel2', 'int', 0);
|
|
||||||
$type2 = Util::getReq('type2', 'int', 0);
|
|
||||||
$crew2 = Util::getReq('crew2', 'int', 0);
|
|
||||||
$train2 = Util::getReq('train2', 'int', 0);
|
|
||||||
$atmos2 = Util::getReq('atmos2', 'int', 0);
|
|
||||||
$level2 = Util::getReq('level2', 'int', 0);
|
|
||||||
$explevel2 = Util::getReq('explevel2', 'int', 0);
|
|
||||||
$tech2 = Util::getReq('tech2', 'int', 0);
|
|
||||||
|
|
||||||
$dex20 = Util::getReq('dex20', 'int', 0);
|
|
||||||
$dex210 = Util::getReq('dex210', 'int', 0);
|
|
||||||
$dex220 = Util::getReq('dex220', 'int', 0);
|
|
||||||
$dex230 = Util::getReq('dex230', 'int', 0);
|
|
||||||
$dex240 = Util::getReq('dex240', 'int', 0);
|
|
||||||
|
|
||||||
$dx20 = array_fill(0, 20, '');
|
|
||||||
$dx210 = array_fill(0, 20, '');
|
|
||||||
$dx220 = array_fill(0, 20, '');
|
|
||||||
$dx230 = array_fill(0, 20, '');
|
|
||||||
$dx240 = array_fill(0, 20, '');
|
|
||||||
|
|
||||||
$def = Util::getReq('def', 'int', 0);
|
|
||||||
$wall = Util::getReq('wall', 'int', 0);
|
|
||||||
$atmos3 = Util::getReq('atmos3', 'int', 0);
|
|
||||||
$train3 = Util::getReq('train3', 'int', 0);
|
|
||||||
|
|
||||||
$sellevel1 = array_fill(0, 13, '');
|
|
||||||
$sel1 = array_fill(0,44, '');
|
|
||||||
$tch1 = array_fill(0,11, '');
|
|
||||||
|
|
||||||
$sellevel2 = array_fill(0, 13, '');
|
|
||||||
$sel2 = array_fill(0,44, '');
|
|
||||||
$tch2 = array_fill(0,11, '');
|
|
||||||
|
|
||||||
$dec = 0;
|
|
||||||
$rice = 0;
|
|
||||||
|
|
||||||
$db = DB::db();
|
|
||||||
$connect=$db->get();
|
|
||||||
increaseRefresh("시뮬", 2);
|
|
||||||
|
|
||||||
$query = "select no,tournament,con,turntime from general where owner='{$userID}'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select * from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$game = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $game['conlimit']);
|
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
|
||||||
|
|
||||||
if($session->userGrade < 3) {
|
|
||||||
echo "특별회원이 아닙니다.";
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
$mydeathnumSum = 0;
|
|
||||||
$mykillnumSum = 0;
|
|
||||||
$expSum = 0;
|
|
||||||
$ricingSum = 0;
|
|
||||||
$expSum2 = 0;
|
|
||||||
$ricingSum2 = 0;
|
|
||||||
|
|
||||||
if($isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
$simulCount = 1000;
|
|
||||||
} else {
|
|
||||||
$simulCount = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$general = [
|
|
||||||
'no'=>1
|
|
||||||
];
|
|
||||||
$oppose = [
|
|
||||||
'no'=>2
|
|
||||||
];
|
|
||||||
$city = [
|
|
||||||
'gen1'=>0,
|
|
||||||
'gen2'=>0,
|
|
||||||
'gen3'=>0,
|
|
||||||
];
|
|
||||||
|
|
||||||
if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
$msg2 = "";
|
|
||||||
for($i=0; $i < $simulCount; $i++) {
|
|
||||||
$general['leader'] = $leader1;
|
|
||||||
$general['power'] = $power1;
|
|
||||||
$general['intel'] = $intel1;
|
|
||||||
$general['crewtype'] = $type1;
|
|
||||||
$general['crew'] = $crew1;
|
|
||||||
$general['train'] = $train1;
|
|
||||||
$general['atmos'] = $atmos1;
|
|
||||||
$general['level'] = $level1;
|
|
||||||
$general['explevel'] = $explevel1;
|
|
||||||
$general['dex0'] = $dex10;
|
|
||||||
$general['dex10'] = $dex110;
|
|
||||||
$general['dex20'] = $dex120;
|
|
||||||
$general['dex30'] = $dex130;
|
|
||||||
$general['dex40'] = $dex140;
|
|
||||||
|
|
||||||
$general['injury'] = 0;
|
|
||||||
$general['horse'] = 0;
|
|
||||||
$general['weap'] = 0;
|
|
||||||
$general['book'] = 0;
|
|
||||||
|
|
||||||
$oppose['leader'] = $leader2;
|
|
||||||
$oppose['power'] = $power2;
|
|
||||||
$oppose['intel'] = $intel2;
|
|
||||||
$oppose['crewtype'] = $type2;
|
|
||||||
$oppose['crew'] = $crew2;
|
|
||||||
$oppose['train'] = $train2;
|
|
||||||
$oppose['atmos'] = $atmos2;
|
|
||||||
$oppose['level'] = $level2;
|
|
||||||
$oppose['explevel'] = $explevel2;
|
|
||||||
$oppose['dex0'] = $dex20;
|
|
||||||
$oppose['dex10'] = $dex210;
|
|
||||||
$oppose['dex20'] = $dex220;
|
|
||||||
$oppose['dex30'] = $dex230;
|
|
||||||
$oppose['dex40'] = $dex240;
|
|
||||||
|
|
||||||
$oppose['injury'] = 0;
|
|
||||||
$oppose['horse'] = 0;
|
|
||||||
$oppose['weap'] = 0;
|
|
||||||
$oppose['book'] = 0;
|
|
||||||
|
|
||||||
$city['def'] = $def;
|
|
||||||
$city['wall'] = $wall;
|
|
||||||
$city['agri'] = 0;
|
|
||||||
$city['comm'] = 0;
|
|
||||||
$city['secu'] = 0;
|
|
||||||
|
|
||||||
if($isgen == "장수공격" || $isgen == "장수평균") {
|
|
||||||
$opposecount = 1;
|
|
||||||
} else {
|
|
||||||
$opposecount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$warphase = getRate($game, $general['crewtype'], "spd"); //병종간 페이즈 수 얻기
|
|
||||||
|
|
||||||
// 우선 스케일링
|
|
||||||
$city['def'] *= 10;
|
|
||||||
$city['wall'] *= 10;
|
|
||||||
|
|
||||||
$msg = "";
|
|
||||||
$msg .= "<C>●</>1월:공격장수가 <R>공격</>합니다.<br>";
|
|
||||||
|
|
||||||
$exp = 0; //병사 소진 시킨 만큼
|
|
||||||
$opexp = 0;
|
|
||||||
$exp2 = 1; //능력경험치
|
|
||||||
$phase = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
// 장수가 없어서 도시 공격
|
|
||||||
if($opposecount == 0) {
|
|
||||||
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 성을 <M>공격</>합니다.<br>";
|
|
||||||
|
|
||||||
$mykillnum = 0; $mydeathnum = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
$phase++;
|
|
||||||
$myAtt = getAtt($general, $tech1, 0);
|
|
||||||
$myDef = getDef($general, $tech1);
|
|
||||||
$cityAtt = getCityAtt($city);
|
|
||||||
$cityDef = getCityDef($city);
|
|
||||||
|
|
||||||
// 감소할 병사 수
|
|
||||||
$cityCrew = GameConst::$armperphase + $myAtt - $cityDef;
|
|
||||||
$myCrew = GameConst::$armperphase + $cityAtt - $myDef;
|
|
||||||
$cityweight = $myAtt - $cityDef;
|
|
||||||
$myweight = $cityAtt - $myDef;
|
|
||||||
|
|
||||||
//훈련 사기따라
|
|
||||||
$myCrew = getCrew($myCrew, $atmos3, $general['train']);
|
|
||||||
$cityCrew = getCrew($cityCrew, $general['atmos'], $train3);
|
|
||||||
//숙련도 따라
|
|
||||||
$genDexAtt = getGenDex($general, $general['crewtype']);
|
|
||||||
$genDexDef = getGenDex($general, 40);
|
|
||||||
$cityCrew *= getDexLog($genDexAtt, ($train3-60)*7200);
|
|
||||||
$myCrew *= getDexLog(($atmos3-60)*7200, $genDexDef);
|
|
||||||
|
|
||||||
$avoid = 1;
|
|
||||||
// 병종간 특성
|
|
||||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $general['intel'] + getBookEff($general['book']);
|
|
||||||
if($general['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($general['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100; // 0~99
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 3;
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>급습</>을 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 3;
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>급습</>을 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.2;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.4;
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.6;
|
|
||||||
$myCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} elseif($general['crewtype'] == 40) { // 정란
|
|
||||||
$cityCrew = $cityCrew * 1.5;
|
|
||||||
} elseif($general['crewtype'] == 41) { // 충차
|
|
||||||
$cityCrew = $cityCrew * 2.0;
|
|
||||||
} elseif($general['crewtype'] == 42) { // 벽력거
|
|
||||||
$cityCrew = $cityCrew * 1.5;
|
|
||||||
}
|
|
||||||
//군주, 참모, 장군 공격 보정 5%
|
|
||||||
if($general['level'] == 12 || $general['level'] == 11 || $general['level'] == 10 || $general['level'] == 8 || $general['level'] == 6) {
|
|
||||||
$cityCrew = $cityCrew * 1.05;
|
|
||||||
}
|
|
||||||
//레벨 보정
|
|
||||||
$cityCrew = $cityCrew * (100 + $general['explevel']/6)/100;
|
|
||||||
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($general['leader'], $general['power'], $general['intel']);
|
|
||||||
if($ratio >= $rd && $avoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
|
||||||
$cityCrew = CriticalScore2($cityCrew);
|
|
||||||
$avoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($game, $general['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $avoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>회피</>했다!</><br>";
|
|
||||||
$myCrew /= 10; // 10%만 소모
|
|
||||||
$avoid = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//랜타추가
|
|
||||||
$cityCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
|
|
||||||
$general['crew'] -= Util::round($myCrew);
|
|
||||||
$city['def'] -= Util::round($cityCrew);
|
|
||||||
$city['wall'] -= Util::round($cityCrew);
|
|
||||||
|
|
||||||
$tempMyCrew = $myCrew; $tempCityCrew = $cityCrew;
|
|
||||||
$tempGeneralCrew = $general['crew']; $tempCityDef = $city['def'];
|
|
||||||
|
|
||||||
if($city['wall'] <= 0) { $city['wall'] = 0; }
|
|
||||||
|
|
||||||
if($city['def'] < 0) {
|
|
||||||
$offset = Util::round($tempCityDef*$tempMyCrew/$tempCityCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$cityCrew += $tempCityDef;
|
|
||||||
$city['def'] = 0;
|
|
||||||
}
|
|
||||||
if($general['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempCityCrew/$tempMyCrew);
|
|
||||||
$cityCrew += $offset;
|
|
||||||
$city['def'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$exp += $cityCrew;
|
|
||||||
$opexp += $myCrew;
|
|
||||||
$general['crew'] = Util::round($general['crew']);
|
|
||||||
$cityCrew = Util::round($cityCrew);
|
|
||||||
$myCrew = Util::round($myCrew);
|
|
||||||
$myAtt = round($myAtt, 2);
|
|
||||||
$myDef = round($myDef, 2);
|
|
||||||
$cityAtt = round($cityAtt, 2);
|
|
||||||
$cityDef = round($cityDef, 2);
|
|
||||||
$msg .= "<C>●</> $phase : <Y1>【공격장수】</> <C>{$general['crew']} (-$myCrew)</> VS <C>{$city['def']} (-$cityCrew)</> <Y1>【성벽】</><br>";
|
|
||||||
|
|
||||||
$mykillnum += $cityCrew; $mydeathnum += $myCrew;
|
|
||||||
|
|
||||||
if($city['def'] <= 0) { break; }
|
|
||||||
if($general['crew'] <= 0) { break; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// 도시쌀 소모 계산
|
|
||||||
$opexp = Util::round($opexp / 50);
|
|
||||||
$rice = Util::round($opexp * 4 * getCrewtypeRice(0, 0) * ($train3/100 - 0.2));
|
|
||||||
|
|
||||||
//원래대로 스케일링
|
|
||||||
$city['def'] = Util::round($city['def'] / 10);
|
|
||||||
$city['wall'] = Util::round($city['wall'] / 10);
|
|
||||||
//내정 감소
|
|
||||||
$dec = Util::round($cityCrew / 10);
|
|
||||||
$city['agri'] -= $dec;
|
|
||||||
$city['comm'] -= $dec;
|
|
||||||
$city['secu'] -= $dec;
|
|
||||||
if($city['agri'] < 0) { $city['agri'] = 0; }
|
|
||||||
if($city['comm'] < 0) { $city['comm'] = 0; }
|
|
||||||
if($city['secu'] < 0) { $city['secu'] = 0; }
|
|
||||||
$msg .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</><br>";
|
|
||||||
$msg .= "<R>★</>【성벽】내정 감소량 : $dec 【성벽】쌀 소모 : $rice<br>";
|
|
||||||
|
|
||||||
// $msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</> ";
|
|
||||||
// $msg2 .= "<R>★</>【성벽】내정 감소량 : $dec 【성벽】쌀 소모 : $rice<br>";
|
|
||||||
|
|
||||||
if($city['def'] == 0 || $general['crew'] == 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// 장수 대결
|
|
||||||
} else {
|
|
||||||
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 <Y>수비장수</>의 ".GameUnitConst::byID($oppose['crewtype'])->name."(을)를 공격합니다.<br>";
|
|
||||||
|
|
||||||
$mykillnum = 0; $mydeathnum = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
$phase++;
|
|
||||||
|
|
||||||
$myAtt = getAtt($general, $tech1, 0);
|
|
||||||
$myDef = getDef($general, $tech1);
|
|
||||||
$opAtt = getAtt($oppose, $tech2, 0);
|
|
||||||
$opDef = getDef($oppose, $tech2);
|
|
||||||
// 감소할 병사 수
|
|
||||||
$myCrew = GameConst::$armperphase + $opAtt - $myDef;
|
|
||||||
$opCrew = GameConst::$armperphase + $myAtt - $opDef;
|
|
||||||
//훈련 사기따라
|
|
||||||
$myCrew = getCrew($myCrew, $oppose['atmos'], $general['train']);
|
|
||||||
$opCrew = getCrew($opCrew, $general['atmos'], $oppose['train']);
|
|
||||||
//숙련도 따라
|
|
||||||
$genDexAtt = getGenDex($general, $general['crewtype']);
|
|
||||||
$genDexDef = getGenDex($general, $oppose['crewtype']);
|
|
||||||
$oppDexAtt = getGenDex($oppose, $oppose['crewtype']);
|
|
||||||
$oppDexDef = getGenDex($oppose, $general['crewtype']);
|
|
||||||
$opCrew *= getDexLog($genDexAtt, $oppDexDef);
|
|
||||||
$myCrew *= getDexLog($oppDexAtt, $genDexDef);
|
|
||||||
|
|
||||||
$myAvoid = 1;
|
|
||||||
$opAvoid = 1;
|
|
||||||
// 병종간 특성
|
|
||||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $general['intel'] + getBookEff($general['book']);
|
|
||||||
if($general['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($general['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100;
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.8;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 2.0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.1;
|
|
||||||
$myCrew *= 1.1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.2;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.3;
|
|
||||||
$myCrew *= 1.3;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.4;
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.5;
|
|
||||||
$myCrew *= 1.5;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 상대 장수 병종간 특성
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $oppose['intel'] + getBookEff($oppose['book']);
|
|
||||||
if($oppose['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($oppose['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($oppose['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($oppose['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100;
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.8;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>에 당했다!<br>";
|
|
||||||
$myCrew *= 2.0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 간파했다!<br>";
|
|
||||||
$myCrew /= 1.1;
|
|
||||||
$opCrew *= 1.1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.2;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.3;
|
|
||||||
$opCrew *= 1.3;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 간파했다!<br>";
|
|
||||||
$myCrew /= 1.4;
|
|
||||||
$opCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.5;
|
|
||||||
$opCrew *= 1.5;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if($oppose['crewtype'] == 43) { // 목우
|
|
||||||
$r = 0;
|
|
||||||
$r += $oppose['atmos'];
|
|
||||||
$r += $oppose['train'];
|
|
||||||
$ratio = rand() % 400; // 최대 50% 저지
|
|
||||||
if($ratio < $r && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><R>저지</>당했다!</><br>";
|
|
||||||
$opAvoid = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// my 입장 상성
|
|
||||||
// 보병계열 > 궁병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 0 && intdiv($oppose['crewtype'], 10) == 1) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 궁병계열 > 기병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 1 && intdiv($oppose['crewtype'], 10) == 2) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 기병계열 > 보병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 2 && intdiv($oppose['crewtype'], 10) == 0) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 차병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 4) {
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
// op 입장 상성
|
|
||||||
// 보병계열 > 궁병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 0 && intdiv($general['crewtype'], 10) == 1) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 궁병계열 > 기병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 1 && intdiv($general['crewtype'], 10) == 2) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 기병계열 > 보병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 2 && intdiv($general['crewtype'], 10) == 0) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 차병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 4) {
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
//군주, 참모, 장군 공격 보정 5%
|
|
||||||
if($general['level'] == 12 || $general['level'] == 11 || $general['level'] == 10 || $general['level'] == 8 || $general['level'] == 6) {
|
|
||||||
$opCrew = $opCrew * 1.05;
|
|
||||||
}
|
|
||||||
//상대장수 관직 보정
|
|
||||||
//군주, 참모, 모사 방어 보정 5%
|
|
||||||
if($oppose['level'] == 12 || $oppose['level'] == 11 || $oppose['level'] == 9 || $oppose['level'] == 7 || $oppose['level'] == 5) {
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 4 && $oppose['no'] == $city['gen1']) { // 태수 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 3 && $oppose['no'] == $city['gen2']) { // 군사 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 2 && $oppose['no'] == $city['gen3']) { // 시중 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
}
|
|
||||||
|
|
||||||
//레벨 보정
|
|
||||||
$myCrew = $myCrew * ((100 - $general['explevel']/3)/100);
|
|
||||||
$opCrew = $opCrew / ((100 - $general['explevel']/3)/100);
|
|
||||||
$myCrew = $myCrew / ((100 - $oppose['explevel']/3)/100);
|
|
||||||
$opCrew = $opCrew * ((100 - $oppose['explevel']/3)/100);
|
|
||||||
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($general['leader'], $general['power'], $general['intel']);
|
|
||||||
if($ratio >= $rd && $myAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
|
||||||
$opCrew = CriticalScore2($opCrew);
|
|
||||||
$myAvoid = 0;
|
|
||||||
}
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($oppose['leader'], $oppose['power'], $oppose['intel']);
|
|
||||||
if($ratio >= $rd && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</>상대의 <R>필살</>공격!</><br>";
|
|
||||||
$myCrew = CriticalScore2($myCrew);
|
|
||||||
$opAvoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($game, $general['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $myAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>회피</>했다!</><br>";
|
|
||||||
$myCrew /= 10; // 10%만 소모
|
|
||||||
$myAvoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($game, $oppose['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</>상대가 <R>회피</>했다!</><br>";
|
|
||||||
$opCrew /= 10; // 10%만 소모
|
|
||||||
$opAvoid = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//랜타추가
|
|
||||||
$opCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
|
|
||||||
$general['crew'] -= Util::round($myCrew);
|
|
||||||
$oppose['crew'] -= Util::round($opCrew);
|
|
||||||
$tempMyCrew = $myCrew; $tempOpCrew = $opCrew;
|
|
||||||
$tempGeneralCrew = $general['crew']; $tempOpposeCrew = $oppose['crew'];
|
|
||||||
if($general['crew'] <= 0 && $oppose['crew'] <= 0) {
|
|
||||||
$r1 = $tempGeneralCrew / $tempMyCrew;
|
|
||||||
$r2 = $tempOpposeCrew / $tempOpCrew;
|
|
||||||
|
|
||||||
if($r1 > $r2) {
|
|
||||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$opCrew += $tempOpposeCrew;
|
|
||||||
$oppose['crew'] = 0;
|
|
||||||
} else {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
|
||||||
$opCrew += $offset;
|
|
||||||
$oppose['crew'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
} elseif($general['crew'] * $oppose['crew'] <= 0) {
|
|
||||||
if($oppose['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$opCrew += $tempOpposeCrew;
|
|
||||||
$oppose['crew'] = 0;
|
|
||||||
}
|
|
||||||
if($general['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
|
||||||
$opCrew += $offset;
|
|
||||||
$oppose['crew'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$exp += $opCrew;
|
|
||||||
$opexp += $myCrew;
|
|
||||||
$general['crew'] = Util::round($general['crew']);
|
|
||||||
$oppose['crew'] = Util::round($oppose['crew']);
|
|
||||||
$myCrew = Util::round($myCrew);
|
|
||||||
$opCrew = Util::round($opCrew);
|
|
||||||
$myAtt = round($myAtt, 2);
|
|
||||||
$myDef = round($myDef, 2);
|
|
||||||
$opAtt = round($opAtt, 2);
|
|
||||||
$opDef = round($opDef, 2);
|
|
||||||
$msg .= "<C>●</> $phase : <Y1>【공격장수】</> <C>{$general['crew']} (-$myCrew)</> VS <C>{$oppose['crew']} (-$opCrew)</> <Y1>【수비장수】</><br>";
|
|
||||||
|
|
||||||
$mykillnum += $opCrew; $mydeathnum += $myCrew;
|
|
||||||
|
|
||||||
if($oppose['crew'] <= 0) { break; }
|
|
||||||
if($general['crew'] <= 0) { break; }
|
|
||||||
}
|
|
||||||
|
|
||||||
$msg .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</><br>";
|
|
||||||
// $msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</> ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 공헌, 명성 상승
|
|
||||||
$exp = Util::round($exp / 50);
|
|
||||||
$ricing = ($exp * 5 * getCrewtypeRice($general['crewtype'], $tech1));
|
|
||||||
$msg .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricing<br>";
|
|
||||||
// $msg2 .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricing<br>";
|
|
||||||
|
|
||||||
$msg = ConvertLog($msg, 1);
|
|
||||||
|
|
||||||
$mydeathnumSum += $mydeathnum;
|
|
||||||
$mykillnumSum += $mykillnum;
|
|
||||||
$expSum += $exp;
|
|
||||||
$ricingSum += $ricing;
|
|
||||||
$expSum2 += $dec;
|
|
||||||
$ricingSum2 += $rice;
|
|
||||||
}
|
|
||||||
|
|
||||||
$mydeathnumSum /= $simulCount;
|
|
||||||
$mykillnumSum /= $simulCount;
|
|
||||||
$expSum /= $simulCount;
|
|
||||||
$ricingSum /= $simulCount;
|
|
||||||
$expSum2 /= $simulCount;
|
|
||||||
$ricingSum2 /= $simulCount;
|
|
||||||
if($isgen == "성벽평균") {
|
|
||||||
$msg2 .= "{$simulCount}회 평균<br>";
|
|
||||||
$msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnumSum</> vs <C>-$mykillnumSum</> ";
|
|
||||||
$msg2 .= "<R>★</>【성벽】내정 감소량 : $expSum2 【성벽】쌀 소모 : $ricingSum2<br>";
|
|
||||||
$msg2 .= "★ 【공격장수】공헌 상승 : $expSum 쌀 소비 : {$expSum}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricingSum<br>";
|
|
||||||
} elseif($isgen == "장수평균") {
|
|
||||||
$msg2 .= "{$simulCount}회 평균<br>";
|
|
||||||
$msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnumSum</> vs <C>-$mykillnumSum</> ";
|
|
||||||
$msg2 .= "★ 【공격장수】공헌 상승 : $expSum 쌀 소비 : {$expSum}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricingSum<br>";
|
|
||||||
}
|
|
||||||
|
|
||||||
$msg2 = ConvertLog($msg2, 1);
|
|
||||||
} else {
|
|
||||||
$leader1 = 70;
|
|
||||||
$power1 = 70;
|
|
||||||
$intel1 = 10;
|
|
||||||
$type1 = 0;
|
|
||||||
$crew1 = 7000;
|
|
||||||
$train1 = 100;
|
|
||||||
$atmos1 = 100;
|
|
||||||
$level1 = 1;
|
|
||||||
$explevel1 = 20;
|
|
||||||
|
|
||||||
$leader2 = 70;
|
|
||||||
$power2 = 70;
|
|
||||||
$intel2 = 10;
|
|
||||||
$type2 = 0;
|
|
||||||
$crew2 = 7000;
|
|
||||||
$train2 = 100;
|
|
||||||
$atmos2 = 100;
|
|
||||||
$level2 = 1;
|
|
||||||
$explevel2 = 20;
|
|
||||||
|
|
||||||
$def = 7000;
|
|
||||||
$wall = 7000;
|
|
||||||
$train3 = $game['city_rate'];
|
|
||||||
$atmos3 = $game['city_rate'];
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($level1) {
|
|
||||||
case 12: $sellevel1[12] = "selected"; break;
|
|
||||||
case 11: $sellevel1[11] = "selected"; break;
|
|
||||||
case 10: $sellevel1[10] = "selected"; break;
|
|
||||||
case 9: $sellevel1[9] = "selected"; break;
|
|
||||||
case 8: $sellevel1[8] = "selected"; break;
|
|
||||||
case 7: $sellevel1[7] = "selected"; break;
|
|
||||||
case 6: $sellevel1[6] = "selected"; break;
|
|
||||||
case 5: $sellevel1[5] = "selected"; break;
|
|
||||||
case 1: $sellevel1[1] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($level2) {
|
|
||||||
case 12: $sellevel2[12] = "selected"; break;
|
|
||||||
case 11: $sellevel2[11] = "selected"; break;
|
|
||||||
case 10: $sellevel2[10] = "selected"; break;
|
|
||||||
case 9: $sellevel2[9] = "selected"; break;
|
|
||||||
case 8: $sellevel2[8] = "selected"; break;
|
|
||||||
case 7: $sellevel2[7] = "selected"; break;
|
|
||||||
case 6: $sellevel2[6] = "selected"; break;
|
|
||||||
case 5: $sellevel2[5] = "selected"; break;
|
|
||||||
case 1: $sellevel2[1] = "selected"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($type1) {
|
|
||||||
case 0: $sel1[0] = "selected"; break;
|
|
||||||
case 1: $sel1[1] = "selected"; break;
|
|
||||||
case 2: $sel1[2] = "selected"; break;
|
|
||||||
case 3: $sel1[3] = "selected"; break;
|
|
||||||
case 4: $sel1[4] = "selected"; break;
|
|
||||||
case 5: $sel1[5] = "selected"; break;
|
|
||||||
case 10: $sel1[10] = "selected"; break;
|
|
||||||
case 11: $sel1[11] = "selected"; break;
|
|
||||||
case 12: $sel1[12] = "selected"; break;
|
|
||||||
case 13: $sel1[13] = "selected"; break;
|
|
||||||
case 14: $sel1[14] = "selected"; break;
|
|
||||||
case 20: $sel1[20] = "selected"; break;
|
|
||||||
case 21: $sel1[21] = "selected"; break;
|
|
||||||
case 22: $sel1[22] = "selected"; break;
|
|
||||||
case 23: $sel1[23] = "selected"; break;
|
|
||||||
case 24: $sel1[24] = "selected"; break;
|
|
||||||
case 25: $sel1[25] = "selected"; break;
|
|
||||||
case 26: $sel1[26] = "selected"; break;
|
|
||||||
case 27: $sel1[27] = "selected"; break;
|
|
||||||
case 30: $sel1[30] = "selected"; break;
|
|
||||||
case 31: $sel1[31] = "selected"; break;
|
|
||||||
case 32: $sel1[32] = "selected"; break;
|
|
||||||
case 33: $sel1[33] = "selected"; break;
|
|
||||||
case 34: $sel1[34] = "selected"; break;
|
|
||||||
case 35: $sel1[35] = "selected"; break;
|
|
||||||
case 36: $sel1[36] = "selected"; break;
|
|
||||||
case 37: $sel1[37] = "selected"; break;
|
|
||||||
case 38: $sel1[38] = "selected"; break;
|
|
||||||
case 40: $sel1[40] = "selected"; break;
|
|
||||||
case 41: $sel1[41] = "selected"; break;
|
|
||||||
case 42: $sel1[42] = "selected"; break;
|
|
||||||
case 43: $sel1[43] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($type2) {
|
|
||||||
case 0: $sel2[0] = "selected"; break;
|
|
||||||
case 1: $sel2[1] = "selected"; break;
|
|
||||||
case 2: $sel2[2] = "selected"; break;
|
|
||||||
case 3: $sel2[3] = "selected"; break;
|
|
||||||
case 4: $sel2[4] = "selected"; break;
|
|
||||||
case 5: $sel2[5] = "selected"; break;
|
|
||||||
case 10: $sel2[10] = "selected"; break;
|
|
||||||
case 11: $sel2[11] = "selected"; break;
|
|
||||||
case 12: $sel2[12] = "selected"; break;
|
|
||||||
case 13: $sel2[13] = "selected"; break;
|
|
||||||
case 14: $sel2[14] = "selected"; break;
|
|
||||||
case 20: $sel2[20] = "selected"; break;
|
|
||||||
case 21: $sel2[21] = "selected"; break;
|
|
||||||
case 22: $sel2[22] = "selected"; break;
|
|
||||||
case 23: $sel2[23] = "selected"; break;
|
|
||||||
case 24: $sel2[24] = "selected"; break;
|
|
||||||
case 25: $sel2[25] = "selected"; break;
|
|
||||||
case 26: $sel2[26] = "selected"; break;
|
|
||||||
case 27: $sel2[27] = "selected"; break;
|
|
||||||
case 30: $sel2[30] = "selected"; break;
|
|
||||||
case 31: $sel2[31] = "selected"; break;
|
|
||||||
case 32: $sel2[32] = "selected"; break;
|
|
||||||
case 33: $sel2[33] = "selected"; break;
|
|
||||||
case 34: $sel2[34] = "selected"; break;
|
|
||||||
case 35: $sel2[35] = "selected"; break;
|
|
||||||
case 36: $sel2[36] = "selected"; break;
|
|
||||||
case 37: $sel2[37] = "selected"; break;
|
|
||||||
case 38: $sel2[38] = "selected"; break;
|
|
||||||
case 40: $sel2[40] = "selected"; break;
|
|
||||||
case 41: $sel2[41] = "selected"; break;
|
|
||||||
case 42: $sel2[42] = "selected"; break;
|
|
||||||
case 43: $sel2[43] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($tech1) {
|
|
||||||
case 0: $tch1[0] = "selected"; break;
|
|
||||||
case 1000: $tch1[1] = "selected"; break;
|
|
||||||
case 2000: $tch1[2] = "selected"; break;
|
|
||||||
case 3000: $tch1[3] = "selected"; break;
|
|
||||||
case 4000: $tch1[4] = "selected"; break;
|
|
||||||
case 5000: $tch1[5] = "selected"; break;
|
|
||||||
case 6000: $tch1[6] = "selected"; break;
|
|
||||||
case 7000: $tch1[7] = "selected"; break;
|
|
||||||
case 8000: $tch1[8] = "selected"; break;
|
|
||||||
case 9000: $tch1[9] = "selected"; break;
|
|
||||||
case 10000: $tch1[10] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($tech2) {
|
|
||||||
case 0: $tch2[0] = "selected"; break;
|
|
||||||
case 1000: $tch2[1] = "selected"; break;
|
|
||||||
case 2000: $tch2[2] = "selected"; break;
|
|
||||||
case 3000: $tch2[3] = "selected"; break;
|
|
||||||
case 4000: $tch2[4] = "selected"; break;
|
|
||||||
case 5000: $tch2[5] = "selected"; break;
|
|
||||||
case 6000: $tch2[6] = "selected"; break;
|
|
||||||
case 7000: $tch2[7] = "selected"; break;
|
|
||||||
case 8000: $tch2[8] = "selected"; break;
|
|
||||||
case 9000: $tch2[9] = "selected"; break;
|
|
||||||
case 10000: $tch2[10] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex10) {
|
|
||||||
case 0: $dx10[0] = "selected"; break;
|
|
||||||
case 2500: $dx10[1] = "selected"; break;
|
|
||||||
case 7500: $dx10[2] = "selected"; break;
|
|
||||||
case 15000: $dx10[3] = "selected"; break;
|
|
||||||
case 25000: $dx10[4] = "selected"; break;
|
|
||||||
case 37500: $dx10[5] = "selected"; break;
|
|
||||||
case 52500: $dx10[6] = "selected"; break;
|
|
||||||
case 70000: $dx10[7] = "selected"; break;
|
|
||||||
case 90000: $dx10[8] = "selected"; break;
|
|
||||||
case 112500: $dx10[9] = "selected"; break;
|
|
||||||
case 137500: $dx10[10] = "selected"; break;
|
|
||||||
case 165000: $dx10[11] = "selected"; break;
|
|
||||||
case 195000: $dx10[12] = "selected"; break;
|
|
||||||
case 227500: $dx10[13] = "selected"; break;
|
|
||||||
case 262500: $dx10[14] = "selected"; break;
|
|
||||||
case 300000: $dx10[15] = "selected"; break;
|
|
||||||
case 340000: $dx10[16] = "selected"; break;
|
|
||||||
case 382500: $dx10[17] = "selected"; break;
|
|
||||||
case 427500: $dx10[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex110) {
|
|
||||||
case 0: $dx110[0] = "selected"; break;
|
|
||||||
case 2500: $dx110[1] = "selected"; break;
|
|
||||||
case 7500: $dx110[2] = "selected"; break;
|
|
||||||
case 15000: $dx110[3] = "selected"; break;
|
|
||||||
case 25000: $dx110[4] = "selected"; break;
|
|
||||||
case 37500: $dx110[5] = "selected"; break;
|
|
||||||
case 52500: $dx110[6] = "selected"; break;
|
|
||||||
case 70000: $dx110[7] = "selected"; break;
|
|
||||||
case 90000: $dx110[8] = "selected"; break;
|
|
||||||
case 112500: $dx110[9] = "selected"; break;
|
|
||||||
case 137500: $dx110[10] = "selected"; break;
|
|
||||||
case 165000: $dx110[11] = "selected"; break;
|
|
||||||
case 195000: $dx110[12] = "selected"; break;
|
|
||||||
case 227500: $dx110[13] = "selected"; break;
|
|
||||||
case 262500: $dx110[14] = "selected"; break;
|
|
||||||
case 300000: $dx110[15] = "selected"; break;
|
|
||||||
case 340000: $dx110[16] = "selected"; break;
|
|
||||||
case 382500: $dx110[17] = "selected"; break;
|
|
||||||
case 427500: $dx110[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex120) {
|
|
||||||
case 0: $dx120[0] = "selected"; break;
|
|
||||||
case 2500: $dx120[1] = "selected"; break;
|
|
||||||
case 7500: $dx120[2] = "selected"; break;
|
|
||||||
case 15000: $dx120[3] = "selected"; break;
|
|
||||||
case 25000: $dx120[4] = "selected"; break;
|
|
||||||
case 37500: $dx120[5] = "selected"; break;
|
|
||||||
case 52500: $dx120[6] = "selected"; break;
|
|
||||||
case 70000: $dx120[7] = "selected"; break;
|
|
||||||
case 90000: $dx120[8] = "selected"; break;
|
|
||||||
case 112500: $dx120[9] = "selected"; break;
|
|
||||||
case 137500: $dx120[10] = "selected"; break;
|
|
||||||
case 165000: $dx120[11] = "selected"; break;
|
|
||||||
case 195000: $dx120[12] = "selected"; break;
|
|
||||||
case 227500: $dx120[13] = "selected"; break;
|
|
||||||
case 262500: $dx120[14] = "selected"; break;
|
|
||||||
case 300000: $dx120[15] = "selected"; break;
|
|
||||||
case 340000: $dx120[16] = "selected"; break;
|
|
||||||
case 382500: $dx120[17] = "selected"; break;
|
|
||||||
case 427500: $dx120[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex130) {
|
|
||||||
case 0: $dx130[0] = "selected"; break;
|
|
||||||
case 2500: $dx130[1] = "selected"; break;
|
|
||||||
case 7500: $dx130[2] = "selected"; break;
|
|
||||||
case 15000: $dx130[3] = "selected"; break;
|
|
||||||
case 25000: $dx130[4] = "selected"; break;
|
|
||||||
case 37500: $dx130[5] = "selected"; break;
|
|
||||||
case 52500: $dx130[6] = "selected"; break;
|
|
||||||
case 70000: $dx130[7] = "selected"; break;
|
|
||||||
case 90000: $dx130[8] = "selected"; break;
|
|
||||||
case 112500: $dx130[9] = "selected"; break;
|
|
||||||
case 137500: $dx130[10] = "selected"; break;
|
|
||||||
case 165000: $dx130[11] = "selected"; break;
|
|
||||||
case 195000: $dx130[12] = "selected"; break;
|
|
||||||
case 227500: $dx130[13] = "selected"; break;
|
|
||||||
case 262500: $dx130[14] = "selected"; break;
|
|
||||||
case 300000: $dx130[15] = "selected"; break;
|
|
||||||
case 340000: $dx130[16] = "selected"; break;
|
|
||||||
case 382500: $dx130[17] = "selected"; break;
|
|
||||||
case 427500: $dx130[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex140) {
|
|
||||||
case 0: $dx140[0] = "selected"; break;
|
|
||||||
case 2500: $dx140[1] = "selected"; break;
|
|
||||||
case 7500: $dx140[2] = "selected"; break;
|
|
||||||
case 15000: $dx140[3] = "selected"; break;
|
|
||||||
case 25000: $dx140[4] = "selected"; break;
|
|
||||||
case 37500: $dx140[5] = "selected"; break;
|
|
||||||
case 52500: $dx140[6] = "selected"; break;
|
|
||||||
case 70000: $dx140[7] = "selected"; break;
|
|
||||||
case 90000: $dx140[8] = "selected"; break;
|
|
||||||
case 112500: $dx140[9] = "selected"; break;
|
|
||||||
case 137500: $dx140[10] = "selected"; break;
|
|
||||||
case 165000: $dx140[11] = "selected"; break;
|
|
||||||
case 195000: $dx140[12] = "selected"; break;
|
|
||||||
case 227500: $dx140[13] = "selected"; break;
|
|
||||||
case 262500: $dx140[14] = "selected"; break;
|
|
||||||
case 300000: $dx140[15] = "selected"; break;
|
|
||||||
case 340000: $dx140[16] = "selected"; break;
|
|
||||||
case 382500: $dx140[17] = "selected"; break;
|
|
||||||
case 427500: $dx140[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex20) {
|
|
||||||
case 0: $dx20[0] = "selected"; break;
|
|
||||||
case 2500: $dx20[1] = "selected"; break;
|
|
||||||
case 7500: $dx20[2] = "selected"; break;
|
|
||||||
case 15000: $dx20[3] = "selected"; break;
|
|
||||||
case 25000: $dx20[4] = "selected"; break;
|
|
||||||
case 37500: $dx20[5] = "selected"; break;
|
|
||||||
case 52500: $dx20[6] = "selected"; break;
|
|
||||||
case 70000: $dx20[7] = "selected"; break;
|
|
||||||
case 90000: $dx20[8] = "selected"; break;
|
|
||||||
case 112500: $dx20[9] = "selected"; break;
|
|
||||||
case 137500: $dx20[10] = "selected"; break;
|
|
||||||
case 165000: $dx20[11] = "selected"; break;
|
|
||||||
case 195000: $dx20[12] = "selected"; break;
|
|
||||||
case 227500: $dx20[13] = "selected"; break;
|
|
||||||
case 262500: $dx20[14] = "selected"; break;
|
|
||||||
case 300000: $dx20[15] = "selected"; break;
|
|
||||||
case 340000: $dx20[16] = "selected"; break;
|
|
||||||
case 382500: $dx20[17] = "selected"; break;
|
|
||||||
case 427500: $dx20[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex210) {
|
|
||||||
case 0: $dx210[0] = "selected"; break;
|
|
||||||
case 2500: $dx210[1] = "selected"; break;
|
|
||||||
case 7500: $dx210[2] = "selected"; break;
|
|
||||||
case 15000: $dx210[3] = "selected"; break;
|
|
||||||
case 25000: $dx210[4] = "selected"; break;
|
|
||||||
case 37500: $dx210[5] = "selected"; break;
|
|
||||||
case 52500: $dx210[6] = "selected"; break;
|
|
||||||
case 70000: $dx210[7] = "selected"; break;
|
|
||||||
case 90000: $dx210[8] = "selected"; break;
|
|
||||||
case 112500: $dx210[9] = "selected"; break;
|
|
||||||
case 137500: $dx210[10] = "selected"; break;
|
|
||||||
case 165000: $dx210[11] = "selected"; break;
|
|
||||||
case 195000: $dx210[12] = "selected"; break;
|
|
||||||
case 227500: $dx210[13] = "selected"; break;
|
|
||||||
case 262500: $dx210[14] = "selected"; break;
|
|
||||||
case 300000: $dx210[15] = "selected"; break;
|
|
||||||
case 340000: $dx210[16] = "selected"; break;
|
|
||||||
case 382500: $dx210[17] = "selected"; break;
|
|
||||||
case 427500: $dx210[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex220) {
|
|
||||||
case 0: $dx220[0] = "selected"; break;
|
|
||||||
case 2500: $dx220[1] = "selected"; break;
|
|
||||||
case 7500: $dx220[2] = "selected"; break;
|
|
||||||
case 15000: $dx220[3] = "selected"; break;
|
|
||||||
case 25000: $dx220[4] = "selected"; break;
|
|
||||||
case 37500: $dx220[5] = "selected"; break;
|
|
||||||
case 52500: $dx220[6] = "selected"; break;
|
|
||||||
case 70000: $dx220[7] = "selected"; break;
|
|
||||||
case 90000: $dx220[8] = "selected"; break;
|
|
||||||
case 112500: $dx220[9] = "selected"; break;
|
|
||||||
case 137500: $dx220[10] = "selected"; break;
|
|
||||||
case 165000: $dx220[11] = "selected"; break;
|
|
||||||
case 195000: $dx220[12] = "selected"; break;
|
|
||||||
case 227500: $dx220[13] = "selected"; break;
|
|
||||||
case 262500: $dx220[14] = "selected"; break;
|
|
||||||
case 300000: $dx220[15] = "selected"; break;
|
|
||||||
case 340000: $dx220[16] = "selected"; break;
|
|
||||||
case 382500: $dx220[17] = "selected"; break;
|
|
||||||
case 427500: $dx220[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex230) {
|
|
||||||
case 0: $dx230[0] = "selected"; break;
|
|
||||||
case 2500: $dx230[1] = "selected"; break;
|
|
||||||
case 7500: $dx230[2] = "selected"; break;
|
|
||||||
case 15000: $dx230[3] = "selected"; break;
|
|
||||||
case 25000: $dx230[4] = "selected"; break;
|
|
||||||
case 37500: $dx230[5] = "selected"; break;
|
|
||||||
case 52500: $dx230[6] = "selected"; break;
|
|
||||||
case 70000: $dx230[7] = "selected"; break;
|
|
||||||
case 90000: $dx230[8] = "selected"; break;
|
|
||||||
case 112500: $dx230[9] = "selected"; break;
|
|
||||||
case 137500: $dx230[10] = "selected"; break;
|
|
||||||
case 165000: $dx230[11] = "selected"; break;
|
|
||||||
case 195000: $dx230[12] = "selected"; break;
|
|
||||||
case 227500: $dx230[13] = "selected"; break;
|
|
||||||
case 262500: $dx230[14] = "selected"; break;
|
|
||||||
case 300000: $dx230[15] = "selected"; break;
|
|
||||||
case 340000: $dx230[16] = "selected"; break;
|
|
||||||
case 382500: $dx230[17] = "selected"; break;
|
|
||||||
case 427500: $dx230[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex240) {
|
|
||||||
case 0: $dx240[0] = "selected"; break;
|
|
||||||
case 2500: $dx240[1] = "selected"; break;
|
|
||||||
case 7500: $dx240[2] = "selected"; break;
|
|
||||||
case 15000: $dx240[3] = "selected"; break;
|
|
||||||
case 25000: $dx240[4] = "selected"; break;
|
|
||||||
case 37500: $dx240[5] = "selected"; break;
|
|
||||||
case 52500: $dx240[6] = "selected"; break;
|
|
||||||
case 70000: $dx240[7] = "selected"; break;
|
|
||||||
case 90000: $dx240[8] = "selected"; break;
|
|
||||||
case 112500: $dx240[9] = "selected"; break;
|
|
||||||
case 137500: $dx240[10] = "selected"; break;
|
|
||||||
case 165000: $dx240[11] = "selected"; break;
|
|
||||||
case 195000: $dx240[12] = "selected"; break;
|
|
||||||
case 227500: $dx240[13] = "selected"; break;
|
|
||||||
case 262500: $dx240[14] = "selected"; break;
|
|
||||||
case 300000: $dx240[15] = "selected"; break;
|
|
||||||
case 340000: $dx240[16] = "selected"; break;
|
|
||||||
case 382500: $dx240[17] = "selected"; break;
|
|
||||||
case 427500: $dx240[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
|
||||||
<title>전투시뮬레이션</title>
|
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
|
||||||
<style type="text/css">
|
|
||||||
select { background-color:black;color:white; }
|
|
||||||
input { background-color:black;color:white; }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<form method=post action=_simul.php>
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr id=bg1>
|
|
||||||
<td>공격장수</td>
|
|
||||||
<td>상대장수</td>
|
|
||||||
<td>상대성벽</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>관직
|
|
||||||
<select name=level1 size=1>
|
|
||||||
<option <?=$sellevel1[1]?> value=1>일반</option>
|
|
||||||
<option <?=$sellevel1[5]?> value=5>제3모사</option>
|
|
||||||
<option <?=$sellevel1[6]?> value=6>제3장군</option>
|
|
||||||
<option <?=$sellevel1[7]?> value=7>제2모사</option>
|
|
||||||
<option <?=$sellevel1[8]?> value=8>제2장군</option>
|
|
||||||
<option <?=$sellevel1[9]?> value=9>제1모사</option>
|
|
||||||
<option <?=$sellevel1[10]?> value=10>제1장군</option>
|
|
||||||
<option <?=$sellevel1[11]?> value=11>참모</option>
|
|
||||||
<option <?=$sellevel1[12]?> value=12>군주</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>관직
|
|
||||||
<select name=level2 size=1>
|
|
||||||
<option <?=$sellevel2[1]?> value=1>일반</option>
|
|
||||||
<option <?=$sellevel2[5]?> value=5>제3모사</option>
|
|
||||||
<option <?=$sellevel2[6]?> value=6>제3장군</option>
|
|
||||||
<option <?=$sellevel2[7]?> value=7>제2모사</option>
|
|
||||||
<option <?=$sellevel2[8]?> value=8>제2장군</option>
|
|
||||||
<option <?=$sellevel2[9]?> value=9>제1모사</option>
|
|
||||||
<option <?=$sellevel2[10]?> value=10>제1장군</option>
|
|
||||||
<option <?=$sellevel2[11]?> value=11>참모</option>
|
|
||||||
<option <?=$sellevel2[12]?> value=12>군주</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
<tr>
|
|
||||||
<td>Lv <input size=2 maxlength=2 name=explevel1 value=<?=$explevel1?>></td>
|
|
||||||
<td>Lv <input size=2 maxlength=2 name=explevel2 value=<?=$explevel2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>통솔 <input size=3 maxlength=3 name=leader1 value=<?=$leader1?>></td>
|
|
||||||
<td>통솔 <input size=3 maxlength=3 name=leader2 value=<?=$leader2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>무력 <input size=3 maxlength=3 name=power1 value=<?=$power1?>></td>
|
|
||||||
<td>무력 <input size=3 maxlength=3 name=power2 value=<?=$power2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>지력 <input size=3 maxlength=3 name=intel1 value=<?=$intel1?>></td>
|
|
||||||
<td>지력 <input size=3 maxlength=3 name=intel2 value=<?=$intel2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>병종
|
|
||||||
<select name=type1 size=1>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[0]?> value=0>보병</option>
|
|
||||||
<option <?=$sel1[1]?> value=1>청주병</option>
|
|
||||||
<option <?=$sel1[2]?> value=2>수병</option>
|
|
||||||
<option <?=$sel1[3]?> value=3>자객병</option>
|
|
||||||
<option <?=$sel1[4]?> value=4>근위병</option>
|
|
||||||
<option <?=$sel1[5]?> value=5>등갑병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[10]?> value=10>궁병</option>
|
|
||||||
<option <?=$sel1[11]?> value=11>궁기병</option>
|
|
||||||
<option <?=$sel1[12]?> value=12>연노병</option>
|
|
||||||
<option <?=$sel1[13]?> value=13>강궁병</option>
|
|
||||||
<option <?=$sel1[14]?> value=14>석궁병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[20]?> value=20>기병</option>
|
|
||||||
<option <?=$sel1[21]?> value=21>백마병</option>
|
|
||||||
<option <?=$sel1[22]?> value=22>중장기병</option>
|
|
||||||
<option <?=$sel1[23]?> value=23>돌격기병</option>
|
|
||||||
<option <?=$sel1[24]?> value=24>철기병</option>
|
|
||||||
<option <?=$sel1[25]?> value=25>수렵기병</option>
|
|
||||||
<option <?=$sel1[26]?> value=26>맹수병</option>
|
|
||||||
<option <?=$sel1[27]?> value=27>호표기병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[30]?> value=30>귀병</option>
|
|
||||||
<option <?=$sel1[31]?> value=31>신귀병</option>
|
|
||||||
<option <?=$sel1[32]?> value=32>백귀병</option>
|
|
||||||
<option <?=$sel1[33]?> value=33>흑귀병</option>
|
|
||||||
<option <?=$sel1[34]?> value=34>악귀병</option>
|
|
||||||
<option <?=$sel1[35]?> value=35>남귀병</option>
|
|
||||||
<option <?=$sel1[36]?> value=36>황귀병</option>
|
|
||||||
<option <?=$sel1[37]?> value=37>천귀병</option>
|
|
||||||
<option <?=$sel1[38]?> value=38>마귀병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[40]?> value=40>정란</option>
|
|
||||||
<option <?=$sel1[41]?> value=41>충차</option>
|
|
||||||
<option <?=$sel1[42]?> value=42>벽력거</option>
|
|
||||||
<option <?=$sel1[43]?> value=43>목우</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>병종
|
|
||||||
<select name=type2 size=1>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[0]?> value=0>보병</option>
|
|
||||||
<option <?=$sel2[1]?> value=1>청주병</option>
|
|
||||||
<option <?=$sel2[2]?> value=2>수병</option>
|
|
||||||
<option <?=$sel2[3]?> value=3>자객병</option>
|
|
||||||
<option <?=$sel2[4]?> value=4>근위병</option>
|
|
||||||
<option <?=$sel2[5]?> value=5>등갑병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[10]?> value=10>궁병</option>
|
|
||||||
<option <?=$sel2[11]?> value=11>궁기병</option>
|
|
||||||
<option <?=$sel2[12]?> value=12>연노병</option>
|
|
||||||
<option <?=$sel2[13]?> value=13>강궁병</option>
|
|
||||||
<option <?=$sel2[14]?> value=14>석궁병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[20]?> value=20>기병</option>
|
|
||||||
<option <?=$sel2[21]?> value=21>백마병</option>
|
|
||||||
<option <?=$sel2[22]?> value=22>중장기병</option>
|
|
||||||
<option <?=$sel2[23]?> value=23>돌격기병</option>
|
|
||||||
<option <?=$sel2[24]?> value=24>철기병</option>
|
|
||||||
<option <?=$sel2[25]?> value=25>수렵기병</option>
|
|
||||||
<option <?=$sel2[26]?> value=26>맹수병</option>
|
|
||||||
<option <?=$sel2[27]?> value=27>호표기병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[30]?> value=30>귀병</option>
|
|
||||||
<option <?=$sel2[31]?> value=31>신귀병</option>
|
|
||||||
<option <?=$sel2[32]?> value=32>백귀병</option>
|
|
||||||
<option <?=$sel2[33]?> value=33>흑귀병</option>
|
|
||||||
<option <?=$sel2[34]?> value=34>악귀병</option>
|
|
||||||
<option <?=$sel2[35]?> value=35>남귀병</option>
|
|
||||||
<option <?=$sel2[36]?> value=36>황귀병</option>
|
|
||||||
<option <?=$sel2[37]?> value=37>천귀병</option>
|
|
||||||
<option <?=$sel2[38]?> value=38>마귀병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[40]?> value=40>정란</option>
|
|
||||||
<option <?=$sel2[41]?> value=41>충차</option>
|
|
||||||
<option <?=$sel2[42]?> value=42>벽력거</option>
|
|
||||||
<option <?=$sel2[43]?> value=43>목우</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>성벽 <input size=4 maxlength=4 name=wall value=<?=$wall?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>병력 <input size=5 maxlength=5 name=crew1 value=<?=$crew1?>></td>
|
|
||||||
<td>병력 <input size=5 maxlength=5 name=crew2 value=<?=$crew2?>></td>
|
|
||||||
<td>수비 <input size=4 maxlength=4 name=def value=<?=$def?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train1 value=<?=$train1?>></td>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train2 value=<?=$train2?>></td>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train3 value=<?=$train3?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos1 value=<?=$atmos1?>></td>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos2 value=<?=$atmos2?>></td>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos3 value=<?=$atmos3?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>기술
|
|
||||||
<select name=tech1 size=1>
|
|
||||||
<option <?=$tch1[0]?> value=0>0등급</option>
|
|
||||||
<option <?=$tch1[1]?> value=1000>1등급</option>
|
|
||||||
<option <?=$tch1[2]?> value=2000>2등급</option>
|
|
||||||
<option <?=$tch1[3]?> value=3000>3등급</option>
|
|
||||||
<option <?=$tch1[4]?> value=4000>4등급</option>
|
|
||||||
<option <?=$tch1[5]?> value=5000>5등급</option>
|
|
||||||
<option <?=$tch1[6]?> value=6000>6등급</option>
|
|
||||||
<option <?=$tch1[7]?> value=7000>7등급</option>
|
|
||||||
<option <?=$tch1[8]?> value=8000>8등급</option>
|
|
||||||
<option <?=$tch1[9]?> value=9000>9등급</option>
|
|
||||||
<option <?=$tch1[10]?> value=10000>10등급</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>기술
|
|
||||||
<select name=tech2 size=1>
|
|
||||||
<option <?=$tch2[0]?> value=0>0등급</option>
|
|
||||||
<option <?=$tch2[1]?> value=1000>1등급</option>
|
|
||||||
<option <?=$tch2[2]?> value=2000>2등급</option>
|
|
||||||
<option <?=$tch2[3]?> value=3000>3등급</option>
|
|
||||||
<option <?=$tch2[4]?> value=4000>4등급</option>
|
|
||||||
<option <?=$tch2[5]?> value=5000>5등급</option>
|
|
||||||
<option <?=$tch2[6]?> value=6000>6등급</option>
|
|
||||||
<option <?=$tch2[7]?> value=7000>7등급</option>
|
|
||||||
<option <?=$tch2[8]?> value=8000>8등급</option>
|
|
||||||
<option <?=$tch2[9]?> value=9000>9등급</option>
|
|
||||||
<option <?=$tch2[10]?> value=10000>10등급</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>보
|
|
||||||
<select name=dex10 size=1>
|
|
||||||
<option <?=$dx10[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx10[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx10[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx10[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx10[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx10[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx10[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx10[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx10[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx10[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx10[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx10[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx10[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx10[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx10[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx10[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx10[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx10[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx10[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
궁
|
|
||||||
<select name=dex110 size=1>
|
|
||||||
<option <?=$dx110[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx110[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx110[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx110[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx110[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx110[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx110[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx110[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx110[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx110[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx110[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx110[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx110[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx110[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx110[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx110[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx110[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx110[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx110[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
기
|
|
||||||
<select name=dex120 size=1>
|
|
||||||
<option <?=$dx120[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx120[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx120[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx120[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx120[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx120[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx120[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx120[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx120[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx120[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx120[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx120[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx120[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx120[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx120[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx120[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx120[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx120[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx120[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
귀
|
|
||||||
<select name=dex130 size=1>
|
|
||||||
<option <?=$dx130[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx130[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx130[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx130[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx130[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx130[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx130[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx130[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx130[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx130[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx130[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx130[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx130[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx130[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx130[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx130[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx130[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx130[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx130[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
차
|
|
||||||
<select name=dex140 size=1>
|
|
||||||
<option <?=$dx140[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx140[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx140[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx140[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx140[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx140[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx140[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx140[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx140[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx140[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx140[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx140[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx140[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx140[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx140[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx140[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx140[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx140[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx140[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>보
|
|
||||||
<select name=dex20 size=1>
|
|
||||||
<option <?=$dx20[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx20[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx20[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx20[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx20[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx20[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx20[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx20[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx20[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx20[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx20[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx20[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx20[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx20[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx20[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx20[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx20[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx20[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx20[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
궁
|
|
||||||
<select name=dex210 size=1>
|
|
||||||
<option <?=$dx210[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx210[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx210[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx210[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx210[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx210[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx210[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx210[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx210[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx210[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx210[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx210[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx210[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx210[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx210[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx210[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx210[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx210[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx210[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
기
|
|
||||||
<select name=dex220 size=1>
|
|
||||||
<option <?=$dx220[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx220[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx220[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx220[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx220[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx220[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx220[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx220[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx220[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx220[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx220[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx220[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx220[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx220[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx220[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx220[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx220[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx220[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx220[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
귀
|
|
||||||
<select name=dex230 size=1>
|
|
||||||
<option <?=$dx230[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx230[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx230[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx230[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx230[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx230[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx230[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx230[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx230[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx230[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx230[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx230[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx230[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx230[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx230[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx230[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx230[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx230[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx230[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
차
|
|
||||||
<select name=dex240 size=1>
|
|
||||||
<option <?=$dx240[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx240[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx240[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx240[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx240[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx240[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx240[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx240[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx240[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx240[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx240[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx240[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx240[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx240[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx240[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx240[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx240[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx240[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx240[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>-</td>
|
|
||||||
<td>
|
|
||||||
<input type=submit name=isgen value=장수공격>
|
|
||||||
<?='<input type=submit name=isgen value=장수평균>'?>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type=submit name=isgen value=성벽공격>
|
|
||||||
<?='<input type=submit name=isgen value=성벽평균>'?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan=3>
|
|
||||||
<?php
|
|
||||||
if($isgen == "장수공격" || $isgen == "성벽공격") {
|
|
||||||
echo $msg;
|
|
||||||
} elseif($isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
echo $msg2;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td></tr>
|
|
||||||
</table>
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr id=bg1>
|
|
||||||
<td align=right></td>
|
|
||||||
<td align=center>공격</td>
|
|
||||||
<td align=center>방어</td>
|
|
||||||
<td align=center>기동</td>
|
|
||||||
<td align=center>회피</td>
|
|
||||||
<td align=center>가격</td>
|
|
||||||
<td align=center>군량</td>
|
|
||||||
<td width=500 align=center>-</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
for($i=0; $i <= 5; $i++) {
|
|
||||||
printSimul($game, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=10; $i <= 14; $i++) {
|
|
||||||
printSimul($game, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=20; $i <= 27; $i++) {
|
|
||||||
printSimul($game, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=30; $i <= 38; $i++) {
|
|
||||||
printSimul($game, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=40; $i <= 43; $i++) {
|
|
||||||
printSimul($game, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
?>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</body>
|
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</html>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function printSimul($game, $i) {
|
|
||||||
$att = $game["att{$i}"];
|
|
||||||
$def = $game["def{$i}"];
|
|
||||||
$spd = $game["spd{$i}"];
|
|
||||||
$avd = $game["avd{$i}"];
|
|
||||||
$cst = $game["cst{$i}"];
|
|
||||||
$ric = $game["ric{$i}"];
|
|
||||||
echo "
|
|
||||||
<tr>
|
|
||||||
<td align=right>".GameUnitConst::byId($i)->name."</td>
|
|
||||||
<td align=center>$att</td>
|
|
||||||
<td align=center>$def</td>
|
|
||||||
<td align=center>$spd</td>
|
|
||||||
<td align=center>$avd</td>
|
|
||||||
<td align=center>$cst</td>
|
|
||||||
<td align=center>$ric</td>
|
|
||||||
<td align=center>-</td>
|
|
||||||
</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6,45 +6,41 @@ include "func.php";
|
|||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
|
||||||
increaseRefresh("명장일람", 2);
|
increaseRefresh("명장일람", 1);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select con,turntime from general where owner='{$userID}'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
|
||||||
if ($con >= 2) {
|
|
||||||
printLimitMsg($me['turntime']);
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>명장일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1136" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 명장일람</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/hallOfFame.css')?>
|
||||||
|
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1100 class='tb_layout bg0'>
|
||||||
<tr><td>명 장 일 람<br><?=closeButton()?></td></tr>
|
<tr><td>명 장 일 람<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1100 class='tb_layout bg0'>
|
||||||
<form name=form1 action=a_bestGeneral.php method=post>
|
<form name=form1 action=a_bestGeneral.php method=post>
|
||||||
<tr><td align=center>
|
<tr><td align=center>
|
||||||
<input type=submit name=btn value='유저 보기'>
|
<input type=submit name=btn value='유저 보기'>
|
||||||
@@ -52,296 +48,226 @@ if ($con >= 2) {
|
|||||||
</td></tr>
|
</td></tr>
|
||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<div style="margin:auto;width=1000px;">
|
||||||
<?php
|
<?php
|
||||||
if (isset($btn) && $btn == "NPC 보기") {
|
|
||||||
$sel = "npc>=2";
|
|
||||||
} else {
|
|
||||||
$sel = "npc<2";
|
|
||||||
}
|
|
||||||
|
|
||||||
$nationName = [];
|
|
||||||
$nationColor = [];
|
$nationName = [0=>'재야'];
|
||||||
|
$nationColor = [0=>'#000000'];
|
||||||
foreach (getAllNationStaticInfo() as $nation) {
|
foreach (getAllNationStaticInfo() as $nation) {
|
||||||
$nationName[$nation['nation']] = $nation['name'];
|
$nationName[$nation['nation']] = $nation['name'];
|
||||||
$nationColor[$nation['nation']] = $nation['color'];
|
$nationColor[$nation['nation']] = $nation['color'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$type = array(
|
$types = [
|
||||||
"명 성",
|
["명 성", "int", function($v){$v['value'] = $v['experience']; return $v; }],
|
||||||
"계 급",
|
["계 급", "int", function($v){$v['value'] = $v['dedication']; return $v; }],
|
||||||
"계 략 성 공",
|
["계 략 성 공", "int", function($v){
|
||||||
"전 투 횟 수",
|
$v['value'] = $v['firenum'];
|
||||||
"승 리",
|
$v['nationName'] = '???';
|
||||||
"승 률",
|
$v['pictureFullPath'] = GetImageURL(0)."/default.jpg";
|
||||||
"사 살",
|
$v['name'] = '???';
|
||||||
"살 상 률",
|
$v['owner_name'] = null;
|
||||||
"보 병 숙 련 도",
|
$v['bgColor'] = GameConst::$basecolor4;
|
||||||
"궁 병 숙 련 도",
|
$v['fgColor'] = newColor($v['bgColor']);
|
||||||
"기 병 숙 련 도",
|
return $v;
|
||||||
"귀 병 숙 련 도",
|
}],
|
||||||
"차 병 숙 련 도",
|
["전 투 횟 수", "int", function($v){$v['value'] = $v['warnum']; return $v; }],
|
||||||
"전 력 전 승 률",
|
["승 리", "int", function($v){$v['value'] = $v['killnum']; return $v; }],
|
||||||
"통 솔 전 승 률",
|
["승 률", "percent", function($v){
|
||||||
"일 기 토 승 률",
|
if($v['warnum'] < 10){
|
||||||
"설 전 승 률",
|
$v['value'] = 0;
|
||||||
"베 팅 투 자 액",
|
}
|
||||||
"베 팅 당 첨",
|
else{
|
||||||
"베 팅 수 익 금",
|
$v['value'] = $v['killnum'] / max(1, $v['warnum']);
|
||||||
"베 팅 수 익 률"
|
}
|
||||||
);
|
return $v;
|
||||||
|
}],
|
||||||
|
["사 살", "int", function($v){$v['value'] = $v['killcrew']; return $v; }],
|
||||||
|
["살 상 률", "percent", function($v){
|
||||||
|
if($v['warnum'] < 10){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['killcrew'] / max(1, $v['deathcrew']);
|
||||||
|
}
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
["보 병 숙 련 도", "int", function($v){$v['value'] = $v['dex0']; return $v; }],
|
||||||
|
["궁 병 숙 련 도", "int", function($v){$v['value'] = $v['dex10']; return $v; }],
|
||||||
|
["기 병 숙 련 도", "int", function($v){$v['value'] = $v['dex20']; return $v; }],
|
||||||
|
["귀 병 숙 련 도", "int", function($v){$v['value'] = $v['dex30']; return $v; }],
|
||||||
|
["차 병 숙 련 도", "int", function($v){$v['value'] = $v['dex40']; return $v; }],
|
||||||
|
["전 력 전 승 률", "percent", function($v){
|
||||||
|
$totalCnt = $v['ttw']+$v['ttd']+$v['ttl'];
|
||||||
|
if($totalCnt < 50){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['ttw']/max(1, $totalCnt);
|
||||||
|
}
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
["통 솔 전 승 률", "percent", function($v){
|
||||||
|
$totalCnt = $v['tlw']+$v['tld']+$v['tll'];
|
||||||
|
if($totalCnt < 50){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['tlw']/max(1, $totalCnt);
|
||||||
|
}
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
["일 기 토 승 률", "percent", function($v){
|
||||||
|
$totalCnt = $v['tpw']+$v['tpd']+$v['tpl'];
|
||||||
|
if($totalCnt < 50){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['tpw']/max(1, $totalCnt);
|
||||||
|
}
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
["설 전 승 률", "percent", function($v){
|
||||||
|
$totalCnt = $v['tiw']+$v['tid']+$v['til'];
|
||||||
|
if($totalCnt < 50){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['tiw']/max(1, $totalCnt);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
["베 팅 투 자 액", "int", function($v){$v['value'] = $v['betgold']; return $v; }],
|
||||||
|
["베 팅 당 첨", "int", function($v){$v['value'] = $v['betwin']; return $v; }],
|
||||||
|
["베 팅 수 익 금", "int", function($v){$v['value'] = $v['betwingold']; return $v; }],
|
||||||
|
["베 팅 수 익 률", "percent", function($v){
|
||||||
|
if($v['betgold'] < 1000){
|
||||||
|
$v['value'] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$v['value'] = $v['betwingold']/max(1, $v['betgold']);
|
||||||
|
}
|
||||||
|
return $v;
|
||||||
|
}],
|
||||||
|
];
|
||||||
|
|
||||||
|
$generals = array_map(function($general) use($nationColor, $nationName) {
|
||||||
for ($i=0; $i < 21; $i++) {
|
$general['bgColor'] = $nationColor[$general['nation']]??GameConst::$basecolor4;
|
||||||
$name = [];
|
$general['fgColor'] = newColor($general['bgColor']);
|
||||||
$data = [];
|
$general['nationName'] = $nationName[$general['nation']];
|
||||||
$color = [];
|
|
||||||
$pic = [];
|
if(key_exists('picture', $general)){
|
||||||
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
switch ($i) {
|
$general['pictureFullPath'] = "$imageTemp/{$general['picture']}";
|
||||||
case 0: $query = "select nation,no,name,picture,imgsvr,experience as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 1: $query = "select nation,no,name,picture,imgsvr,dedication as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 2: $query = "select nation,no,name,picture,imgsvr,firenum as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 3: $query = "select nation,no,name,picture,imgsvr,warnum as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 4: $query = "select nation,no,name,picture,imgsvr,killnum as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 5: $query = "select nation,no,name,picture,imgsvr,killnum/warnum*10000 as data from general where warnum>=10 and $sel order by data desc limit 0,10"; break;
|
|
||||||
case 6: $query = "select nation,no,name,picture,imgsvr,killcrew as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 7: $query = "select nation,no,name,picture,imgsvr,killcrew/deathcrew*10000 as data from general where warnum>=10 and $sel order by data desc limit 0,10"; break;
|
|
||||||
case 8: $query = "select nation,no,name,picture,imgsvr,dex0 as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 9: $query = "select nation,no,name,picture,imgsvr,dex10 as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 10: $query = "select nation,no,name,picture,imgsvr,dex20 as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 11: $query = "select nation,no,name,picture,imgsvr,dex30 as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 12: $query = "select nation,no,name,picture,imgsvr,dex40 as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 13: $query = "select nation,no,name,picture,imgsvr,ttw/(ttw+ttd+ttl)*10000 as data from general where $sel and (ttw+ttd+ttl)>=50 order by data desc limit 0,10"; break;
|
|
||||||
case 14: $query = "select nation,no,name,picture,imgsvr,tlw/(tlw+tld+tll)*10000 as data from general where $sel and (tlw+tld+tll)>=50 order by data desc limit 0,10"; break;
|
|
||||||
case 15: $query = "select nation,no,name,picture,imgsvr,tpw/(tpw+tpd+tpl)*10000 as data from general where $sel and (tpw+tpd+tpl)>=50 order by data desc limit 0,10"; break;
|
|
||||||
case 16: $query = "select nation,no,name,picture,imgsvr,tiw/(tiw+tid+til)*10000 as data from general where $sel and (tiw+tid+til)>=50 order by data desc limit 0,10"; break;
|
|
||||||
case 17: $query = "select nation,no,name,picture,imgsvr,betgold as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 18: $query = "select nation,no,name,picture,imgsvr,betwin as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 19: $query = "select nation,no,name,picture,imgsvr,betwingold as data from general where $sel order by data desc limit 0,10"; break;
|
|
||||||
case 20: $query = "select nation,no,name,picture,imgsvr,betwingold/betgold*10000 as data from general where $sel and betgold >= 1000 order by data desc limit 0,10"; break;
|
|
||||||
}
|
}
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
else{
|
||||||
|
$general['pictureFullPath'] = GetImageURL(0)."/default.jpg";
|
||||||
echo "
|
|
||||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
|
||||||
<tr align=center id=bg2><td>1위</td><td>2위</td><td>3위</td><td>4위</td><td>5위</td><td>6위</td><td>7위</td><td>8위</td><td>9위</td><td>10위</td></tr>
|
|
||||||
<tr>";
|
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
|
||||||
$gen = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
if ($i != 2) {
|
|
||||||
if (isset($gen)) {
|
|
||||||
$name[$k] = $gen['name'];
|
|
||||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
|
||||||
$data[$k] = $gen['data'];
|
|
||||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
|
||||||
$pic[$k] = $gen['picture'];
|
|
||||||
} else {
|
|
||||||
$name[$k] = "-";
|
|
||||||
$nation[$k] = "-";
|
|
||||||
$data[$k] = "-";
|
|
||||||
$color[$k] = GameConst::$basecolor4;
|
|
||||||
$pic[$k] = "";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$name[$k] = "???";
|
|
||||||
$nation[$k] = "???";
|
|
||||||
$data[$k] = $gen['data'];
|
|
||||||
$color[$k] = GameConst::$basecolor4;
|
|
||||||
$gen['imgsvr'] = 0;
|
|
||||||
$pic[$k] = "9999.jpg";
|
|
||||||
}
|
|
||||||
if ($color[$k] == "") {
|
|
||||||
$color[$k] = GameConst::$basecolor4;
|
|
||||||
}
|
|
||||||
if ($nation[$k] == "") {
|
|
||||||
$nation[$k] = " ";
|
|
||||||
}
|
|
||||||
if ($pic[$k] == "") {
|
|
||||||
echo "<td align=center> </td>";
|
|
||||||
} else {
|
|
||||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
|
||||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "</tr><tr>";
|
return $general;
|
||||||
|
}, $db->query(
|
||||||
|
"SELECT nation,no,name,name2 as owner_name, picture, imgsvr,
|
||||||
|
experience, dedication, firenum, warnum, killnum, killcrew, deathcrew,
|
||||||
|
dex0, dex10, dex20, dex30, dex40,
|
||||||
|
ttw, ttd, ttl, tlw, tld, tll, tpw, tpd, tpl, tiw, tid, til,
|
||||||
|
betgold, betwin, betwingold,
|
||||||
|
horse, weap, book, item
|
||||||
|
FROM general WHERE %l", $btn == "NPC 보기"?"npc>=2":"npc<2"));
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
$templates = new \League\Plates\Engine('templates');
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
foreach($types as $idx=>[$typeName, $typeValue, $typeFunc]){
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
$validCnt = 0;
|
||||||
}
|
$typeGenerals = array_map(function($general) use($typeValue, $typeFunc, &$validCnt){
|
||||||
|
$general = ($typeFunc)($general);
|
||||||
|
$value = $general['value'];
|
||||||
|
|
||||||
echo "</tr><tr>";
|
if($value > 0){
|
||||||
|
$validCnt+=1;
|
||||||
for ($k=0; $k < 10; $k++) {
|
|
||||||
if($data[$k] === '-'){
|
|
||||||
//do Nothing
|
|
||||||
}
|
}
|
||||||
else if ($i == 5 || $i == 7 || $i == 20) {
|
|
||||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
if($typeValue == 'percent'){
|
||||||
|
$general['printValue'] = number_format($value*100, 2).'%';
|
||||||
}
|
}
|
||||||
else if ($i >= 13 && $i <= 16) {
|
else {
|
||||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
$general['printValue'] = number_format($value);
|
||||||
}
|
}
|
||||||
echo "<td align=center>{$data[$k]}</td>";
|
return $general;
|
||||||
}
|
}, $generals);
|
||||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
|
||||||
|
usort($typeGenerals, function($lhs, $rhs){
|
||||||
|
//내림차순
|
||||||
|
return -($lhs['value'] <=> $rhs['value']);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
echo $templates->render('hallOfFrame', [
|
||||||
|
'typeName'=>$typeName,
|
||||||
|
'generals'=>array_slice($typeGenerals, 0, min(10, $validCnt))
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
|
||||||
</table>
|
|
||||||
<br>
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
";
|
|
||||||
|
|
||||||
$type = array(
|
|
||||||
"명 마",
|
|
||||||
"명 검",
|
|
||||||
"명 서",
|
|
||||||
"도 구"
|
|
||||||
);
|
|
||||||
|
|
||||||
$call = array(
|
|
||||||
"horse",
|
|
||||||
"weap",
|
|
||||||
"book",
|
|
||||||
"item"
|
|
||||||
);
|
|
||||||
|
|
||||||
$func = array(
|
|
||||||
"\\sammo\\getHorseName",
|
|
||||||
"\\sammo\\getWeapName",
|
|
||||||
"\\sammo\\getBookName",
|
|
||||||
"\\sammo\\getItemName"
|
|
||||||
);
|
|
||||||
|
|
||||||
for ($i=0; $i < 4; $i++) {
|
|
||||||
$name = [];
|
|
||||||
$data = [];
|
|
||||||
$color = [];
|
|
||||||
$pic = [];
|
|
||||||
|
|
||||||
echo "
|
|
||||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
|
||||||
<tr align=center id=bg2>";
|
|
||||||
for ($k=26; $k > 16; $k--) {
|
|
||||||
$str = $func[$i]($k);
|
|
||||||
echo "<td>".$str."</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=26; $k > 16; $k--) {
|
|
||||||
$query = "select nation,no,name,picture,imgsvr from general where {$call[$i]}={$k}";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$gen = MYDB_fetch_array($result);
|
|
||||||
if (isset($gen)) {
|
|
||||||
$name[$k] = $gen['name'];
|
|
||||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
|
||||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
|
||||||
$pic[$k] = $gen['picture'];
|
|
||||||
} else {
|
|
||||||
$name[$k] = "미발견";
|
|
||||||
$nation[$k] = "-";
|
|
||||||
$color[$k] = "";
|
|
||||||
$pic[$k] = "";
|
|
||||||
}
|
|
||||||
if ($color[$k] == "") {
|
|
||||||
$color[$k] = GameConst::$basecolor4;
|
|
||||||
}
|
|
||||||
if ($nation[$k] == "") {
|
|
||||||
$nation[$k] = " ";
|
|
||||||
}
|
|
||||||
if ($pic[$k] == "") {
|
|
||||||
echo "<td align=center> </td>";
|
|
||||||
} else {
|
|
||||||
$imageTemp = GetImageURL($gen['imgsvr']??0);
|
|
||||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=26; $k > 16; $k--) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=26; $k > 16; $k--) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
echo "
|
|
||||||
<tr align=center id=bg2>";
|
|
||||||
for ($k=16; $k > 6; $k--) {
|
|
||||||
$str = $func[$i]($k);
|
|
||||||
echo "<td>".$str."</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=16; $k > 6; $k--) {
|
|
||||||
$query = "select nation,no,name,picture,imgsvr from general where {$call[$i]}={$k}";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$gen = MYDB_fetch_array($result);
|
|
||||||
if (isset($gen)) {
|
|
||||||
$name[$k] = $gen['name'];
|
|
||||||
$nation[$k] = $gen['nation'] == 0 ? "재야" : $nationName[$gen['nation']];
|
|
||||||
$color[$k] = $gen['nation'] == 0 ? "#FFFFFF" : $nationColor[$gen['nation']];
|
|
||||||
$pic[$k] = $gen['picture'];
|
|
||||||
} else {
|
|
||||||
$name[$k] = "미발견";
|
|
||||||
$nation[$k] = "-";
|
|
||||||
$color[$k] = "";
|
|
||||||
$pic[$k] = "";
|
|
||||||
}
|
|
||||||
if ($color[$k] == "") {
|
|
||||||
$color[$k] = GameConst::$basecolor4;
|
|
||||||
}
|
|
||||||
if ($nation[$k] == "") {
|
|
||||||
$nation[$k] = " ";
|
|
||||||
}
|
|
||||||
if ($pic[$k] == "") {
|
|
||||||
echo "<td align=center> </td>";
|
|
||||||
} else {
|
|
||||||
$imageTemp = GetImageURL($gen['imgsvr']??0);
|
|
||||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=16; $k > 6; $k--) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=16; $k > 6; $k--) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</table>
|
</div>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<div style="margin:auto;width=1000px;margin-top:5px;">
|
||||||
|
<?php
|
||||||
|
//유니크 아이템 소유자
|
||||||
|
$itemTypes = [
|
||||||
|
["명 마", 'horse', function($v){return getHorseName($v);}, 7, 26, []],
|
||||||
|
["명 검", 'weap', function($v){return getWeapName($v);}, 7, 26, []],
|
||||||
|
["명 서", 'book', function($v){return getBookName($v);}, 7, 26, []],
|
||||||
|
["도 구", 'item', function($v){return displayItemInfo($v);}, 7, 26, []],
|
||||||
|
];
|
||||||
|
|
||||||
|
$simpleItemTypes = array_map(function($itemType){return $itemType[1];}, $itemTypes);
|
||||||
|
|
||||||
|
foreach($generals as $general){
|
||||||
|
foreach($itemTypes as $itemIdx=>[,$itemType, $itemFunc,,,]){
|
||||||
|
$itemCode = $general[$itemType];
|
||||||
|
if($itemCode <= 6){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$itemName = ($itemFunc)($itemCode);
|
||||||
|
$general['rankName'] = $itemName;
|
||||||
|
$general['value'] = $itemCode;
|
||||||
|
$itemTypes[$itemIdx][5][$itemCode] = $general;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($itemTypes as [$itemNameType, $itemType, $itemFunc, $itemMinCode, $itemMaxCode, $itemOwners]){
|
||||||
|
$itemRanker = [];
|
||||||
|
for($itemCode = $itemMaxCode; $itemCode >= $itemMinCode; $itemCode--){
|
||||||
|
if(!key_exists($itemCode, $itemOwners)){
|
||||||
|
$emptyCard = [
|
||||||
|
'rankName' => ($itemFunc)($itemCode),
|
||||||
|
'pictureFullPath' => GetImageURL(0)."/default.jpg",
|
||||||
|
'value'=>$itemCode,
|
||||||
|
'name'=>'미발견',
|
||||||
|
'bgColor'=>GameConst::$basecolor4,
|
||||||
|
'fgColor'=>newColor(GameConst::$basecolor4),
|
||||||
|
];
|
||||||
|
$itemRanker[$itemCode] = $emptyCard;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$general = $itemOwners[$itemCode];
|
||||||
|
$itemRanker[$itemCode] = $general;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $templates->render('hallOfFrame', [
|
||||||
|
'typeName'=>$itemNameType,
|
||||||
|
'generals'=>$itemRanker
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<table align=center width=1100 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -4,202 +4,116 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$select = Util::getReq('select', 'int', 0);
|
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
|
||||||
|
|
||||||
increaseRefresh("왕조일람", 2);
|
increaseRefresh("왕조일람", 1);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>왕조일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style="font-size:13px;word-break:break-all;color:white;background-color:black" id=bg0>
|
<table align=center width=1000 class="tb_layout bg0">
|
||||||
<tr><td>역 대 왕 조<br>
|
<tr><td>역 대 왕 조<br>
|
||||||
<input type=button value='창 닫기' onclick=window.close()><br>
|
<button onclick=window.close()>창 닫기</button><br>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if ($select == 0) {
|
$showCurrentNation = true;
|
||||||
$query = "select * from emperior order by no desc";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$empcount = MYDB_num_rows($result);
|
|
||||||
|
|
||||||
for ($i=0; $i < $empcount; $i++) {
|
$emperiors = $db->query('SELECT * FROM emperior ORDER BY `no` DESC');
|
||||||
$emperior = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
echo "
|
if($emperiors){
|
||||||
<form action=a_emperior.php method=post>
|
$serverID = $emperior[0]['server_id']??($emperior[0]['serverID']??null);
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style='font-size:13px;word-break:break-all;color:white;' id=bg0>
|
if($serverID == UniqueConst::$serverID){
|
||||||
|
$showCurrentNation = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($showCurrentNation) {
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
[$year, $month] = $gameStor->getValuesAsArray(['year', 'month']);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table align=center width=1000 style="margin-top:10px;" class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor=skyblue align=center colspan=8>
|
<td style="background-color:#333333;" align=center colspan=8>
|
||||||
<font size=5>{$emperior['phase']}</font>
|
<font size=5>현재 (<?=$year?>年 <?=$month?>月)</font>
|
||||||
<input type=submit value='자세히'>
|
<a href="a_history.php"><button>역사 보기</button></a>
|
||||||
<input type=hidden name=select value='{$emperior['no']}'>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td align=center style=color:".newColor($emperior['color'])."; bgcolor={$emperior['color']} colspan=8>
|
|
||||||
<font size=5>{$emperior['name']} ({$emperior['year']}年 {$emperior['month']}月)</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center width=123>국 력</td>
|
|
||||||
<td align=center width=123>{$emperior['power']}</td>
|
|
||||||
<td id=bg1 align=center width=123>장 수</td>
|
|
||||||
<td align=center width=123>{$emperior['gennum']}</td>
|
|
||||||
<td id=bg1 align=center width=123>속 령</td>
|
|
||||||
<td align=center width=123>{$emperior['citynum']}</td>
|
|
||||||
<td id=bg1 align=center width=123>성 향</td>
|
|
||||||
<td align=center width=123>{$emperior['type']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 width=123 align=center>황 제</td>
|
|
||||||
<td width=123 align=center>{$emperior['l12name']}</td>
|
|
||||||
<td id=bg1 width=123 align=center>승 상</td>
|
|
||||||
<td width=123 align=center>{$emperior['l11name']}</td>
|
|
||||||
<td id=bg1 width=123 align=center>위 장 군</td>
|
|
||||||
<td width=123 align=center>{$emperior['l10name']}</td>
|
|
||||||
<td id=bg1 width=123 align=center>사 공</td>
|
|
||||||
<td width=123 align=center>{$emperior['l9name']}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</form>";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$query = "select * from emperior where no='$select'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$emperior = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
echo "
|
<?php
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style='font-size:13px;word-break:break-all;color:white;' id=bg0>
|
}
|
||||||
|
|
||||||
|
foreach($emperiors as $emperior){
|
||||||
|
$serverID = $emperior['server_id']??($emperior['serverID']??null);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table align=center width=1000 style="margin-top:10px;" class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor=skyblue align=center colspan=6>
|
<td bgcolor=skyblue align=center colspan=8>
|
||||||
<font size=5>{$emperior['phase']}</font>
|
<font size=5><?=$emperior['phase']?></font>
|
||||||
<input type=submit value='전체보기'>
|
|
||||||
<input type=hidden name=select value='0'>
|
<a href="a_emperior_detail.php?select=<?=$emperior['no']?>"><button>자세히</button></a>
|
||||||
|
|
||||||
|
<?php if($emperior['server_id']): ?>
|
||||||
|
<a href="a_history.php?serverID=<?=$emperior['server_id']?>"><button>역사 보기</button></a>
|
||||||
|
<?php endif ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td id=bg1 width=98 align=center>국 가 수<br>(최종 / 최대)</td>
|
<td align=center style=color:".newColor($emperior['color'])."; bgcolor=<?=$emperior['color']?> colspan=8>
|
||||||
<td align=center width=398 colspan=2>{$emperior['nation_count']}</td>
|
<font size=5><?=$emperior['name']?> (<?=$emperior['year']?>年 <?=$emperior['month']?>月)</font>
|
||||||
<td id=bg1 width=98 align=center>장 수 수<br>(최종 / 최대)</td>
|
|
||||||
<td align=center width=398 colspan=2>{$emperior['gen_count']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>등 장 국 가</td>
|
|
||||||
<td colspan=5>{$emperior['nation_name']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>국가별 성향</td>
|
|
||||||
<td colspan=5>{$emperior['nation_hist']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>장 수 성 격</td>
|
|
||||||
<td colspan=5>{$emperior['personal_hist']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>장 수 특 기</td>
|
|
||||||
<td colspan=5>{$emperior['special_hist']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=center style=color:".newColor($emperior['color'])."; bgcolor={$emperior['color']} colspan=6>
|
|
||||||
<font size=5>{$emperior['name']} ({$emperior['year']}年 {$emperior['month']}月)</font>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td id=bg1 width=98 align=center>국 력</td>
|
<td id=bg1 align=center width=80>국 력</td>
|
||||||
<td align=center width=398 colspan=2>{$emperior['power']}</td>
|
<td align=center width=170><?=$emperior['power']?></td>
|
||||||
<td id=bg1 width=98 align=center>성 향</td>
|
<td id=bg1 align=center width=80>장 수</td>
|
||||||
<td align=center width=398 colspan=2>{$emperior['type']}</td>
|
<td align=center width=170><?=$emperior['gennum']?></td>
|
||||||
</tr>
|
<td id=bg1 align=center width=80>속 령</td>
|
||||||
<tr>
|
<td align=center width=170><?=$emperior['citynum']?></td>
|
||||||
<td id=bg1 width=98 align=center>장 수</td>
|
<td id=bg1 align=center width=80>성 향</td>
|
||||||
<td align=center width=398 colspan=2>{$emperior['gennum']}</td>
|
<td align=center width=170><?=$emperior['type']?></td>
|
||||||
<td id=bg1 width=98 align=center>속 령</td>
|
|
||||||
<td align=center width=398 colspan=2>{$emperior['citynum']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>총 인 구</td>
|
|
||||||
<td align=center colspan=2>{$emperior['pop']}</td>
|
|
||||||
<td id=bg1 align=center>인 구 율</td>
|
|
||||||
<td align=center colspan=2>{$emperior['poprate']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>국 고</td>
|
|
||||||
<td align=center colspan=2>{$emperior['gold']}</td>
|
|
||||||
<td id=bg1 align=center>병 량</td>
|
|
||||||
<td align=center colspan=2>{$emperior['rice']}</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td id=bg1 align=center>황 제</td>
|
<td id=bg1 align=center>황 제</td>
|
||||||
<td width=64> </td>
|
<td align=center><?=$emperior['l12name']?></td>
|
||||||
<td width=332>{$emperior['l12name']}</td>
|
|
||||||
<td id=bg1 align=center>승 상</td>
|
<td id=bg1 align=center>승 상</td>
|
||||||
<td width=64> </td>
|
<td align=center><?=$emperior['l11name']?></td>
|
||||||
<td width=332>{$emperior['l11name']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>위 장 군</td>
|
<td id=bg1 align=center>위 장 군</td>
|
||||||
<td width=64> </td>
|
<td align=center><?=$emperior['l10name']?></td>
|
||||||
<td width=332>{$emperior['l10name']}</td>
|
|
||||||
<td id=bg1 align=center>사 공</td>
|
<td id=bg1 align=center>사 공</td>
|
||||||
<td width=64> </td>
|
<td align=center><?=$emperior['l9name']?></td>
|
||||||
<td width=332>{$emperior['l9name']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>표 기 장 군</td>
|
|
||||||
<td width=64> </td>
|
|
||||||
<td width=332>{$emperior['l8name']}</td>
|
|
||||||
<td id=bg1 align=center>태 위</td>
|
|
||||||
<td width=64> </td>
|
|
||||||
<td width=332>{$emperior['l7name']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>거 기 장 군</td>
|
|
||||||
<td width=64> </td>
|
|
||||||
<td width=332>{$emperior['l6name']}</td>
|
|
||||||
<td id=bg1 align=center>사 도</td>
|
|
||||||
<td width=64> </td>
|
|
||||||
<td width=332>{$emperior['l5name']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>오 호 장 군</td>
|
|
||||||
<td colspan=5>{$emperior['tiger']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>건 안 칠 자</td>
|
|
||||||
<td colspan=5>{$emperior['eagle']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>장 수 들<br>(공헌도 순서)</td>
|
|
||||||
<td colspan=5>{$emperior['gen']}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td id=bg1 align=center>역 사 기 록</td>
|
|
||||||
<td colspan=5>".ConvertLog($emperior['history'], 1)."</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
";
|
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all;color:white; id=bg0>
|
<table style="margin-top:10px;" align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
@@ -6,6 +6,8 @@ include "func.php";
|
|||||||
|
|
||||||
$select = Util::getReq('select', 'int', 0);
|
$select = Util::getReq('select', 'int', 0);
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
@@ -15,15 +17,21 @@ increaseRefresh("왕조일람", 2);
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>왕조일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>역 대 왕 조<br>
|
<tr><td>역 대 왕 조<br>
|
||||||
<input type=button value='창 닫기' onclick=window.close()><br>
|
<input type=button value='창 닫기' onclick=window.close()><br>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@@ -41,7 +49,7 @@ if ($select == 0) {
|
|||||||
|
|
||||||
echo "
|
echo "
|
||||||
<form action=a_emperior2.php method=post>
|
<form action=a_emperior2.php method=post>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor=skyblue align=center colspan=8>
|
<td bgcolor=skyblue align=center colspan=8>
|
||||||
<font size=5>{$emperior['phase']}</font>
|
<font size=5>{$emperior['phase']}</font>
|
||||||
@@ -55,24 +63,24 @@ if ($select == 0) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td id=bg1 align=center width=123>국 력</td>
|
<td id=bg1 align=center width=80>국 력</td>
|
||||||
<td align=center width=123>{$emperior['power']}</td>
|
<td align=center width=170>{$emperior['power']}</td>
|
||||||
<td id=bg1 align=center width=123>장 수</td>
|
<td id=bg1 align=center width=80>장 수</td>
|
||||||
<td align=center width=123>{$emperior['gennum']}</td>
|
<td align=center width=170>{$emperior['gennum']}</td>
|
||||||
<td id=bg1 align=center width=123>속 령</td>
|
<td id=bg1 align=center width=80>속 령</td>
|
||||||
<td align=center width=123>{$emperior['citynum']}</td>
|
<td align=center width=170>{$emperior['citynum']}</td>
|
||||||
<td id=bg1 align=center width=123>성 향</td>
|
<td id=bg1 align=center width=80>성 향</td>
|
||||||
<td align=center width=123>{$emperior['type']}</td>
|
<td align=center width=170>{$emperior['type']}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td id=bg1 width=123 align=center>황 제</td>
|
<td id=bg1 align=center>황 제</td>
|
||||||
<td width=123 align=center>{$emperior['l12name']}</td>
|
<td align=center>{$emperior['l12name']}</td>
|
||||||
<td id=bg1 width=123 align=center>승 상</td>
|
<td id=bg1 align=center>승 상</td>
|
||||||
<td width=123 align=center>{$emperior['l11name']}</td>
|
<td align=center>{$emperior['l11name']}</td>
|
||||||
<td id=bg1 width=123 align=center>위 장 군</td>
|
<td id=bg1 align=center>위 장 군</td>
|
||||||
<td width=123 align=center>{$emperior['l10name']}</td>
|
<td align=center>{$emperior['l10name']}</td>
|
||||||
<td id=bg1 width=123 align=center>사 공</td>
|
<td id=bg1 align=center>사 공</td>
|
||||||
<td width=123 align=center>{$emperior['l9name']}</td>
|
<td align=center>{$emperior['l9name']}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</form>";
|
</form>";
|
||||||
@@ -84,7 +92,7 @@ if ($select == 0) {
|
|||||||
|
|
||||||
echo "
|
echo "
|
||||||
<form action=a_emperior2.php method=post>
|
<form action=a_emperior2.php method=post>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor=skyblue align=center colspan=6>
|
<td bgcolor=skyblue align=center colspan=6>
|
||||||
<font size=5>{$emperior['phase']}</font>
|
<font size=5>{$emperior['phase']}</font>
|
||||||
@@ -196,11 +204,10 @@ if ($select == 0) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,214 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo;
|
||||||
|
|
||||||
|
include "lib.php";
|
||||||
|
include "func.php";
|
||||||
|
|
||||||
|
$select = Util::getReq('select', 'int', 0);
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
|
||||||
|
$templates = new \League\Plates\Engine('templates');
|
||||||
|
$templates->registerFunction('ConvertLog', '\sammo\ConvertLog');
|
||||||
|
$templates->registerFunction('newColor', '\sammo\newColor');
|
||||||
|
increaseRefresh("왕조일람", 1);
|
||||||
|
|
||||||
|
$emperior = $db->queryFirstRow('SELECT * FROM emperior WHERE `no`=%i',$select);
|
||||||
|
$serverID = $emperior['server_id']??($emperior['serverID']??null);
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<table align=center width=1000 class="tb_layout bg0">
|
||||||
|
<tr><td>역 대 왕 조<br>
|
||||||
|
<button onclick=window.close()>창 닫기</button>
|
||||||
|
<div style="float:right;"><a href="a_emperior.php"><button>전체보기</button></a><div>
|
||||||
|
</td></tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if($emperior):
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor=skyblue align=center colspan=6>
|
||||||
|
<font size=5><?=$emperior['phase']?></font>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 width=98 align=center>국 가 수<br>(최종 / 최대)</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['nation_count']?></td>
|
||||||
|
<td id=bg1 width=98 align=center>장 수 수<br>(최종 / 최대)</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['gen_count']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>등 장 국 가</td>
|
||||||
|
<td colspan=5><?=$emperior['nation_name']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>국가별 성향</td>
|
||||||
|
<td colspan=5><?=$emperior['nation_hist']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>장 수 성 격</td>
|
||||||
|
<td colspan=5><?=$emperior['personal_hist']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>장 수 특 기</td>
|
||||||
|
<td colspan=5><?=$emperior['special_hist']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=center style=color:<?=newColor($emperior['color'])?>; bgcolor=<?=$emperior['color']?> colspan=6>
|
||||||
|
<font size=5><?=$emperior['name']?> (<?=$emperior['year']?>年 <?=$emperior['month']?>月)</font>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 width=98 align=center>국 력</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['power']?></td>
|
||||||
|
<td id=bg1 width=98 align=center>성 향</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['type']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 width=98 align=center>장 수</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['gennum']?></td>
|
||||||
|
<td id=bg1 width=98 align=center>속 령</td>
|
||||||
|
<td align=center width=398 colspan=2><?=$emperior['citynum']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>총 인 구</td>
|
||||||
|
<td align=center colspan=2><?=$emperior['pop']?></td>
|
||||||
|
<td id=bg1 align=center>인 구 율</td>
|
||||||
|
<td align=center colspan=2><?=$emperior['poprate']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>국 고</td>
|
||||||
|
<td align=center colspan=2><?=$emperior['gold']?></td>
|
||||||
|
<td id=bg1 align=center>병 량</td>
|
||||||
|
<td align=center colspan=2><?=$emperior['rice']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>황 제</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l12name']?></td>
|
||||||
|
<td id=bg1 align=center>승 상</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l11name']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>위 장 군</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l10name']?></td>
|
||||||
|
<td id=bg1 align=center>사 공</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l9name']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>표 기 장 군</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l8name']?></td>
|
||||||
|
<td id=bg1 align=center>태 위</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l7name']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>거 기 장 군</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l6name']?></td>
|
||||||
|
<td id=bg1 align=center>사 도</td>
|
||||||
|
<td width=64> </td>
|
||||||
|
<td width=332><?=$emperior['l5name']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>오 호 장 군</td>
|
||||||
|
<td colspan=5><?=$emperior['tiger']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>건 안 칠 자</td>
|
||||||
|
<td colspan=5><?=$emperior['eagle']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>장 수 들<br>(공헌도 순서)</td>
|
||||||
|
<td colspan=5><?=$emperior['gen']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td id=bg1 align=center>역 사 기 록</td>
|
||||||
|
<td colspan=5><?=ConvertLog($emperior['history'], 1)?></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
endif;
|
||||||
|
|
||||||
|
$showServers = $emperior;
|
||||||
|
|
||||||
|
if(!$serverID){
|
||||||
|
$serverID = UniqueConst::$serverID;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($showServers){
|
||||||
|
$nations = $db->query('SELECT * FROM ng_old_nations WHERE server_id=%s ORDER BY date DESC', $serverID);
|
||||||
|
foreach($nations as $nation){
|
||||||
|
if(!$nation['nation']??null){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$nation += Json::decode($nation['data']);
|
||||||
|
|
||||||
|
$nation['typeName'] = getNationType($nation['type']);
|
||||||
|
$nation['levelName'] = getNationLevel($nation['level']);
|
||||||
|
if($nation['generals']){
|
||||||
|
$generals = $db->query('SELECT `general_no`, `name`, `last_yearmonth` FROM ng_old_generals WHERE server_id=%s AND general_no IN %li', $serverID, $nation['generals']);
|
||||||
|
|
||||||
|
if(count($generals) != $nation['generals'] && $serverID == UniqueConst::$serverID){
|
||||||
|
$liveGenerals = $nation['generals'];
|
||||||
|
foreach($generals as $general){
|
||||||
|
if(in_array($general['general_no'], $nation['generals'])){
|
||||||
|
unset($nation['generals'][$general['general_no']]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$liveGenerals = $db->query('SELECT `no`as`general_no`, `name` FROM general WHERE no IN %li', $liveGenerals);
|
||||||
|
$nation['generalsFull'] = array_merge($liveGenerals, $generals);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$nation['generalsFull'] = $generals;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$nation['generalsFull'] = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(key_exists('aux', $nation) && !is_array($nation['aux'])){
|
||||||
|
$nation += Json::decode($nation['aux']);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $templates->render('oldNation', $nation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
|
<tr><td><?=banner()?></td></tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -3,27 +3,32 @@ namespace sammo;
|
|||||||
|
|
||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
|
$type = Util::getReq('type', 'int', 9);
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("장수일람", 2);
|
increaseRefresh("장수일람", 2);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select con,turntime from general where owner='{$userID}'";
|
$query = "select con,turntime from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
if ($con >= 2) {
|
||||||
|
printLimitMsg($me['turntime']);
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
if(!isset($type) || $type == 0) {
|
if ($type <= 0 || $type > 15) {
|
||||||
$type = 9;
|
$type = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,16 +37,22 @@ if(!isset($type) || $type == 0) {
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>장수일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 장수일람</title>
|
||||||
<script type="text/javascript" src="../e_lib/jquery-3.2.1.min.js"></script>
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>장 수 일 람<br><?=closeButton()?></td></tr>
|
<tr><td>장 수 일 람<br><?=closeButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=post>정렬순서 :
|
||||||
<select id='viewType' name='type' size=1>
|
<select id='viewType' name='type' size=1>
|
||||||
@@ -68,104 +79,119 @@ if(!isset($type) || $type == 0) {
|
|||||||
$nationname = [];
|
$nationname = [];
|
||||||
$nationlevel = [];
|
$nationlevel = [];
|
||||||
$nationname[0] = "-";
|
$nationname[0] = "-";
|
||||||
foreach(getAllNationStaticInfo() as $nation){
|
foreach (getAllNationStaticInfo() as $nation) {
|
||||||
$nationname[$nation['nation']] = $nation['name'];
|
$nationname[$nation['nation']] = $nation['name'];
|
||||||
$nationlevel[$nation['nation']] = $nation['level'];
|
$nationlevel[$nation['nation']] = $nation['level'];
|
||||||
}
|
}
|
||||||
|
|
||||||
switch($type) {
|
switch ($type) { //FIXME: $query 처리 조심.
|
||||||
case 1: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by nation"; break;
|
case 1: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by nation"; break;
|
||||||
case 2: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by leader desc"; break;
|
case 2: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by leader desc"; break;
|
||||||
case 3: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by power desc"; break;
|
case 3: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by power desc"; break;
|
||||||
case 4: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by intel desc"; break;
|
case 4: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by intel desc"; break;
|
||||||
case 5: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by experience desc"; break;
|
case 5: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by experience desc"; break;
|
||||||
case 6: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by dedication desc"; break;
|
case 6: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by dedication desc"; break;
|
||||||
case 7: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by level desc"; break;
|
case 7: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by level desc"; break;
|
||||||
case 8: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by killturn"; break;
|
case 8: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by killturn"; break;
|
||||||
case 9: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by connect desc"; break;
|
default:
|
||||||
case 10: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by experience desc"; break;
|
case 9: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by connect desc"; break;
|
||||||
case 11: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by personal"; break;
|
case 10: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by experience desc"; break;
|
||||||
case 12: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special desc"; break;
|
case 11: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by personal"; break;
|
||||||
case 13: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special2 desc"; break;
|
case 12: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special desc"; break;
|
||||||
case 14: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by age desc"; break;
|
case 13: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by special2 desc"; break;
|
||||||
case 15: $query = "select picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by npc desc"; break;
|
case 14: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by age desc"; break;
|
||||||
|
case 15: $query = "select no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by npc desc"; break;
|
||||||
}
|
}
|
||||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$gencount = MYDB_num_rows($genresult);
|
$gencount = MYDB_num_rows($genresult);
|
||||||
|
|
||||||
echo"
|
echo"
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=64 align=center id=bg1>얼 굴</td>
|
<td width=64 align=center id=bg1>얼 굴</td>
|
||||||
<td width=100 align=center id=bg1>이 름</td>
|
<td width=140 align=center id=bg1>이 름</td>
|
||||||
<td width=50 align=center id=bg1>연령</td>
|
<td width=45 align=center id=bg1>연령</td>
|
||||||
<td width=50 align=center id=bg1>성격</td>
|
<td width=45 align=center id=bg1>성격</td>
|
||||||
<td width=90 align=center id=bg1>특기</td>
|
<td width=80 align=center id=bg1>특기</td>
|
||||||
<td width=50 align=center id=bg1>레 벨</td>
|
<td width=45 align=center id=bg1>레 벨</td>
|
||||||
<td width=100 align=center id=bg1>국 가</td>
|
<td width=140 align=center id=bg1>국 가</td>
|
||||||
<td width=60 align=center id=bg1>명 성</td>
|
<td width=55 align=center id=bg1>명 성</td>
|
||||||
<td width=60 align=center id=bg1>계 급</td>
|
<td width=55 align=center id=bg1>계 급</td>
|
||||||
<td width=80 align=center id=bg1>관 직</td>
|
<td width=75 align=center id=bg1>관 직</td>
|
||||||
<td width=45 align=center id=bg1>통솔</td>
|
<td width=45 align=center id=bg1>통솔</td>
|
||||||
<td width=45 align=center id=bg1>무력</td>
|
<td width=45 align=center id=bg1>무력</td>
|
||||||
<td width=45 align=center id=bg1>지력</td>
|
<td width=45 align=center id=bg1>지력</td>
|
||||||
<td width=45 align=center id=bg1>삭턴</td>
|
<td width=45 align=center id=bg1>삭턴</td>
|
||||||
<td width=84 align=center id=bg1>벌점</td>
|
<td width=70 align=center id=bg1>벌점</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
for($j=0; $j < $gencount; $j++) {
|
for ($j=0; $j < $gencount; $j++) {
|
||||||
$general = MYDB_fetch_array($genresult);
|
$general = MYDB_fetch_array($genresult);
|
||||||
$nation = $nationname[$general['nation']];
|
$nation = $nationname[$general['nation']];
|
||||||
|
|
||||||
if($general['level'] == 12) {
|
if ($general['level'] == 12) {
|
||||||
$lbonus = $nationlevel[$general['nation']] * 2;
|
$lbonus = $nationlevel[$general['nation']] * 2;
|
||||||
} elseif($general['level'] >= 5) {
|
} elseif ($general['level'] >= 5) {
|
||||||
$lbonus = $nationlevel[$general['nation']];
|
$lbonus = $nationlevel[$general['nation']];
|
||||||
} else {
|
} else {
|
||||||
$lbonus = 0;
|
$lbonus = 0;
|
||||||
}
|
}
|
||||||
if($lbonus > 0) {
|
if ($lbonus > 0) {
|
||||||
$lbonus = "<font color=cyan>+{$lbonus}</font>";
|
$lbonusText = "<font color=cyan>+{$lbonus}</font>";
|
||||||
} else {
|
} else {
|
||||||
$lbonus = "";
|
$lbonusText = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($general['injury'] > 0) {
|
if ($general['injury'] > 0) {
|
||||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
$leader = "<font color=red>{$leader}</font>{$lbonusText}";
|
||||||
$power = "<font color=red>{$power}</font>";
|
$power = "<font color=red>{$power}</font>";
|
||||||
$intel = "<font color=red>{$intel}</font>";
|
$intel = "<font color=red>{$intel}</font>";
|
||||||
} else {
|
} else {
|
||||||
$leader = "{$general['leader']}{$lbonus}";
|
$leader = "{$general['leader']}{$lbonusText}";
|
||||||
$power = "{$general['power']}";
|
$power = "{$general['power']}";
|
||||||
$intel = "{$general['intel']}";
|
$intel = "{$general['intel']}";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($general['npc'] >= 2) { $name = "<font color=cyan>{$general['name']}</font>"; }
|
if ($general['npc'] >= 2) {
|
||||||
elseif($general['npc'] == 1) { $name = "<font color=skyblue>{$general['name']}</font>"; }
|
$name = "<font color=cyan>{$general['name']}</font>";
|
||||||
else { $name = "{$general['name']}"; }
|
} elseif ($general['npc'] == 1) {
|
||||||
|
$name = "<font color=skyblue>{$general['name']}</font>";
|
||||||
|
} else {
|
||||||
|
$name = "{$general['name']}";
|
||||||
|
}
|
||||||
|
|
||||||
$general['connect'] = Util::round($general['connect'] / 10) * 10;
|
$general['connect'] = Util::round($general['connect'] / 10) * 10;
|
||||||
|
|
||||||
$imageTemp = GetImageURL($general['imgsvr']);
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr data-general-id='{$general['no']}'
|
||||||
<td align=center><img src={$imageTemp}/{$general['picture']}></img></td>
|
data-general-wounded='{$general['injury']}'
|
||||||
|
data-general-leadership='{$general['leader']}'
|
||||||
|
data-general-leadership-bonus='{$lbonus}'
|
||||||
|
data-general-power='{$general['power']}'
|
||||||
|
data-general-intel='{$general['intel']}'
|
||||||
|
data-is-npc='".($general['npc']>=2?'true':'false')."'
|
||||||
|
>
|
||||||
|
<td align=center><img class='generalIcon' width='64' height='64' src='{$imageTemp}/{$general['picture']}'></img></td>
|
||||||
<td align=center>$name</td>
|
<td align=center>$name</td>
|
||||||
<td align=center>{$general['age']}세</td>
|
<td align=center>{$general['age']}세</td>
|
||||||
<td align=center>".getGenChar($general['personal'])."</td>
|
<td align=center>".displayCharInfo($general['personal'])."</td>
|
||||||
<td align=center>".getGenSpecial($general['special'])." / ".getGenSpecial($general['special2'])."</td>
|
<td align=center>".displaySpecialInfo($general['special'])." / ".displaySpecialInfo($general['special2'])."</td>
|
||||||
<td align=center>Lv ".getExpLevel($general['experience'])."</td>
|
<td align=center>Lv ".getExpLevel($general['experience'])."</td>
|
||||||
<td align=center>{$nation}</td>
|
<td align=center>{$nation}</td>
|
||||||
<td align=center>".getHonor($general['experience'])."</td>
|
<td align=center>".getHonor($general['experience'])."</td>
|
||||||
<td align=center>".getDed($general['dedication'])."</td>
|
<td align=center>".getDed($general['dedication'])."</td>
|
||||||
<td align=center>"; echo getLevel($general['level']); echo "</td>
|
<td align=center>";
|
||||||
|
echo getLevel($general['level']);
|
||||||
|
echo "</td>
|
||||||
<td align=center>$leader</td>
|
<td align=center>$leader</td>
|
||||||
<td align=center>$power</td>
|
<td align=center>$power</td>
|
||||||
<td align=center>$intel</td>
|
<td align=center>$intel</td>
|
||||||
<td align=center>{$general['killturn']}</td>
|
<td align=center>{$general['killturn']}</td>
|
||||||
<td align=center>{$general['connect']}"; echo "<br>【".getConnect($general['connect'])."】</td>
|
<td align=center>{$general['connect']}";
|
||||||
|
echo "<br>【".getConnect($general['connect'])."】</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
@@ -174,11 +200,10 @@ echo "
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#viewType").val("<?=$type?>").attr("selected", "selected");
|
$("#viewType").val("<?=$type?>").attr("selected", "selected");
|
||||||
|
|||||||
@@ -4,121 +4,145 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
|
$session = Session::getInstance()->setReadOnly();
|
||||||
|
$scenarioIdx = Util::getReq('scenarioIdx', 'int', null);
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
|
||||||
|
increaseRefresh("명예의전당", 1);
|
||||||
|
|
||||||
|
$scenarioList= [];
|
||||||
|
foreach($db->query('SELECT scenario_name as name, count(scenario) as cnt, scenario from ng_games group by scenario order by scenario asc') as $scenarioInfo){
|
||||||
|
$scenarioList[$scenarioInfo['scenario']] = $scenarioInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if($scenarioIdx !== null || key_exists($scenarioIdx, $scenarioList)){
|
||||||
|
$searchScenarioName = $scenarioList[$scenarioIdx]['name'];
|
||||||
|
$searchFilter = $db->sqleval('scenario = %i', $scenarioIdx);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$searchScenarioName = '* 모두 *';
|
||||||
|
$searchFilter = $db->sqleval(true);
|
||||||
|
}
|
||||||
|
|
||||||
increaseRefresh("명예의전당", 2);
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>명예의 전당</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1136" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 명예의 전당</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/hallOfFame.css')?>
|
||||||
|
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery.redirect.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJs('js/hallOfFame.js')?>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=Font-size:13;word-break:break-all; id=bg0>
|
<table align=center width=1100 class='tb_layout bg0'>
|
||||||
<tr><td>명 예 의 전 당<br><?=closeButton()?></td></tr>
|
<tr><td>명 예 의 전 당<br><?=closeButton()?></td></tr>
|
||||||
|
<tr><td>
|
||||||
|
시나리오 검색 : <select id="by_scenario" name="by_scenario">
|
||||||
|
<option value="" <?=$scenarioIdx?"selected='selected'":''?>>* 종합 *</option>
|
||||||
|
<?php foreach($scenarioList as $info): ?>
|
||||||
|
<option
|
||||||
|
value="<?=$info['scenario']?>"
|
||||||
|
<?=($info['scenario']===$scenarioIdx)?"selected='selected'":''?>
|
||||||
|
><?=$info['name']?>(<?=$info['cnt']?>회)</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<div style="margin:auto;width=1100px;">
|
||||||
<?php
|
<?php
|
||||||
$type = array(
|
$types = [
|
||||||
"명 성",
|
["명 성", 'int'],
|
||||||
"계 급",
|
["계 급", 'int'],
|
||||||
"계 략 성 공",
|
["계 략 성 공", 'int'],
|
||||||
"전 투 횟 수",
|
["전 투 횟 수", 'int'],
|
||||||
"승 리",
|
["승 리", 'int'],
|
||||||
"승 률",
|
["승 률", 'percent'],
|
||||||
"사 살",
|
["사 살", 'int'],
|
||||||
"살 상 률",
|
["살 상 률", 'percent'],
|
||||||
"보 병 숙 련 도",
|
["보 병 숙 련 도", 'int'],
|
||||||
"궁 병 숙 련 도",
|
["궁 병 숙 련 도", 'int'],
|
||||||
"기 병 숙 련 도",
|
["기 병 숙 련 도", 'int'],
|
||||||
"귀 병 숙 련 도",
|
["귀 병 숙 련 도", 'int'],
|
||||||
"차 병 숙 련 도",
|
["차 병 숙 련 도", 'int'],
|
||||||
"전 력 전 승 률",
|
["전 력 전 승 률", 'percent'],
|
||||||
"통 솔 전 승 률",
|
["통 솔 전 승 률", 'percent'],
|
||||||
"일 기 토 승 률",
|
["일 기 토 승 률", 'percent'],
|
||||||
"설 전 승 률",
|
["설 전 승 률", 'percent'],
|
||||||
"베 팅 투 자 액",
|
["베 팅 투 자 액", 'int'],
|
||||||
"베 팅 당 첨",
|
["베 팅 당 첨", 'int'],
|
||||||
"베 팅 수 익 금",
|
["베 팅 수 익 금", 'int'],
|
||||||
"베 팅 수 익 률"
|
["베 팅 수 익 률", 'percent'],
|
||||||
);
|
];
|
||||||
for ($i=0; $i < 21; $i++) {
|
|
||||||
$name = [];
|
|
||||||
$nation = [];
|
|
||||||
$data = [];
|
|
||||||
$color = [];
|
|
||||||
$pic = [];
|
|
||||||
|
|
||||||
$query = "select * from hall where type={$i} order by rank";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
|
|
||||||
echo "
|
$templates = new \League\Plates\Engine('templates');
|
||||||
<tr><td align=center colspan=10 id=bg1><font size=4>$type[$i]</font></td></tr>
|
|
||||||
<tr align=center id=bg2><td>1위</td><td>2위</td><td>3위</td><td>4위</td><td>5위</td><td>6위</td><td>7위</td><td>8위</td><td>9위</td><td>10위</td></tr>
|
|
||||||
<tr>";
|
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
foreach($types as $idx=>[$typeName, $typeValue]) {
|
||||||
$gen = MYDB_fetch_array($result);
|
$hallResult = $db->query('SELECT * FROM ng_hall WHERE `type`=%i AND %? ORDER BY `value` DESC LIMIT 10', $idx, $searchFilter);
|
||||||
$name[$k] = $gen['name'];
|
|
||||||
$nation[$k] = $gen['nation'];
|
$hallResult = array_map(function($general)use($typeValue){
|
||||||
$data[$k] = $gen['data'];
|
$aux = Json::decode($general['aux']);
|
||||||
$color[$k] = $gen['color'];
|
$general += $aux;
|
||||||
$pic[$k] = $gen['picture'];
|
if(!key_exists('bgColor', $general)){
|
||||||
if ($color[$k] == "") {
|
if(!key_exists('color', $general)){
|
||||||
$color[$k] = GameConst::$basecolor4;
|
$general['bgColor'] = GameConst::$basecolor4;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$general['bgColor'] = $general['color'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($nation[$k] == "") {
|
|
||||||
$nation[$k] = " ";
|
if(!key_exists('fgColor', $general)){
|
||||||
|
$general['fgColor'] = newColor($general['bgColor']);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if($pic[$k] == "") {
|
|
||||||
echo "<td align=center> </td>";
|
|
||||||
} else {
|
|
||||||
$imageTemp = GetImageURL($gen['imgsvr']);
|
|
||||||
echo "<td align=center><img src={$imageTemp}/{$pic[$k]}></img></td>";
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
// echo "</tr><tr>";
|
if(key_exists('picture', $general)){
|
||||||
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
for ($k=0; $k < 10; $k++) {
|
$general['pictureFullPath'] = "$imageTemp/{$general['picture']}";
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
|
||||||
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</tr><tr>";
|
|
||||||
|
|
||||||
for ($k=0; $k < 10; $k++) {
|
|
||||||
if ($i == 5 || $i == 7 || $i == 20) {
|
|
||||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
|
||||||
}
|
}
|
||||||
if ($i >= 13 && $i <= 16) {
|
else{
|
||||||
$data[$k] = intdiv($data[$k], 100).".".($data[$k]%100)." %";
|
$general['pictureFullPath'] = GetImageURL(0)."/default.jpg";
|
||||||
}
|
}
|
||||||
echo "<td align=center>{$data[$k]}</td>";
|
|
||||||
}
|
if(!key_exists('printValue', $general)){
|
||||||
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
|
$value = $general['value'];
|
||||||
|
if($typeValue == 'percent'){
|
||||||
|
$general['printValue'] = number_format($value*100, 2).'%';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$general['printValue'] = number_format($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $general;
|
||||||
|
}, $hallResult);
|
||||||
|
|
||||||
|
echo $templates->render('hallOfFrame', [
|
||||||
|
'typeName'=>$typeName,
|
||||||
|
'generals'=>$hallResult
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</div>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=Font-size:13;word-break:break-all; id=bg0>
|
<table align=center width=1100 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -4,48 +4,67 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$yearmonth = Util::getReq('yearmonth');
|
$yearmonth = Util::getReq('yearmonth', 'int');
|
||||||
|
$serverID = Util::getReq('serverID', 'string', null);
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
|
||||||
increaseRefresh("연감", 5);
|
if(!$serverID){
|
||||||
|
$serverID = UniqueConst::$serverID;
|
||||||
|
}
|
||||||
|
|
||||||
$query = "select startyear,year,month,conlimit from game limit 1";
|
if($serverID === UniqueConst::$serverID){
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
increaseRefresh("연감", 1);
|
||||||
$admin = MYDB_fetch_array($result);
|
}
|
||||||
|
|
||||||
$query = "select map,con,turntime from general where owner='{$userID}'";
|
$admin = $gameStor->getValues(['startyear','year','month','map_theme']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$me = $db->queryFirstRow('SELECT con, turntime FROM general WHERE owner = %i', $userID);
|
||||||
|
|
||||||
|
$con = checkLimit($me['con']);
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "select year,month from history order by no limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$history = MYDB_fetch_array($result);
|
|
||||||
$s = ($history['year']*12) + $history['month'];
|
|
||||||
|
|
||||||
$query = "select year,month from history order by no desc limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
[$s_year, $s_month] = $db->queryFirstList('SELECT year, month FROM history WHERE server_id = %s ORDER BY year ASC, month ASC LIMIT 1', $serverID);
|
||||||
$history = MYDB_fetch_array($result);
|
$s = $s_year * 12 + $s_month;
|
||||||
$e = ($history['year']*12) + $history['month'];
|
|
||||||
|
if($s_year === null){
|
||||||
|
echo '인자 에러';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
[$e_year, $e_month] = $db->queryFirstList('SELECT year, month FROM history WHERE server_id = %s ORDER BY year DESC, month DESC LIMIT 1', $serverID);
|
||||||
|
$e = $e_year * 12 + $e_month;
|
||||||
|
|
||||||
|
if($serverID !== UniqueConst::$serverID){
|
||||||
|
$mapTheme = $db->queryFirstField('SELECT map FROM ng_games WHERE server_id=%s', $serverID)?:'che';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$mapTheme = $admin['map_theme']??'che';
|
||||||
|
}
|
||||||
|
|
||||||
//FIXME: $yearmonth가 올바르지 않을 경우에 처리가 필요.
|
//FIXME: $yearmonth가 올바르지 않을 경우에 처리가 필요.
|
||||||
if (!$yearmonth) {
|
if($serverID !== UniqueConst::$serverID && !$yearmonth){
|
||||||
|
$year = $s_year;
|
||||||
|
$month = $s_month;
|
||||||
|
}
|
||||||
|
else if (!$yearmonth) {
|
||||||
$year = $admin['year'];
|
$year = $admin['year'];
|
||||||
$month = $admin['month'] - 1;
|
$month = $admin['month'] - 1;
|
||||||
} else {
|
} else {
|
||||||
$year = substr($yearmonth, 0, 3) - 0;
|
$year = intdiv($yearmonth, 100);
|
||||||
$month = substr($yearmonth, 3, 2) - 0;
|
$month = $yearmonth % 100;
|
||||||
|
|
||||||
if ($btn == "◀◀ 이전달") {
|
if ($btn == "◀◀ 이전달") {
|
||||||
$month -= 1;
|
$month -= 1;
|
||||||
@@ -74,22 +93,26 @@ if ($month <= 0) {
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>연감</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
<meta name="viewport" content="width=1024" />
|
||||||
<script src="../d_shared/common_path.js"></script>
|
<title><?=UniqueConst::$serverName?>: 연감</title>
|
||||||
<script src="js/common.js"></script>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<script src="js/base_map.js"></script>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<script src="js/map.js"></script>
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS("js/map/theme_{$mapTheme}.js")?>
|
||||||
|
<?=WebUtil::printJS('js/map.js')?>
|
||||||
|
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<link href="css/map.css" rel="stylesheet">
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/map.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>연 감<br><?=closeButton()?></td></tr>
|
<tr><td>연 감<br><?=closeButton()?></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form name=form1 method=post>
|
<form name=form1 method=post>
|
||||||
@@ -97,24 +120,19 @@ if ($month <= 0) {
|
|||||||
<input type=submit name=btn value="◀◀ 이전달">
|
<input type=submit name=btn value="◀◀ 이전달">
|
||||||
<select name=yearmonth size=1>
|
<select name=yearmonth size=1>
|
||||||
<?php
|
<?php
|
||||||
$query = "select year,month from history";
|
$dates = $db->queryAllLists('SELECT year, month FROM history WHERE server_id = %s ORDER BY year ASC, month ASC', $serverID);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
foreach($dates as [$hYear, $hMonth]){
|
||||||
$histCount = MYDB_num_rows($result);
|
$value = "".$hYear.StringUtil::padStringAlignRight($hMonth, 2, "0");
|
||||||
for ($i=0; $i < $histCount; $i++) {
|
if ($hYear == $year && $hMonth == $month) {
|
||||||
$history = MYDB_fetch_array($result);
|
|
||||||
$value = "".$history['year'].StringUtil::padStringAlignRight($history['month'], 2, "0");
|
|
||||||
if ($history['year'] == $year && $history['month'] == $month) {
|
|
||||||
echo "
|
echo "
|
||||||
<option selected value={$value}>{$history['year']}년 {$history['month']}월</option>";
|
<option selected value={$value}>{$hYear}년 {$hMonth}월</option>";
|
||||||
} else {
|
} else {
|
||||||
echo "
|
echo "
|
||||||
<option value={$value}>{$history['year']}년 {$history['month']}월</option>";
|
<option value={$value}>{$hYear}년 {$hMonth}월</option>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "select log,genlog,nation,power,gen,city from history where year='$year' and month='$month'";
|
$history = $db->queryFirstRow('SELECT log,genlog,nation,power,gen,city FROM history WHERE server_id = %s AND year = %i AND month = %i', $serverID, $year, $month);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$history = MYDB_fetch_array($result);
|
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
<input type=submit name=btn value='조회하기'>
|
<input type=submit name=btn value='조회하기'>
|
||||||
@@ -122,16 +140,16 @@ $history = MYDB_fetch_array($result);
|
|||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 height=520 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 height=520 class='tb_layout bg0'>
|
||||||
<tr><td colspan=5 align=center id=bg1>중 원 지 도</td></tr>
|
<tr><td colspan=5 align=center id=bg1>중 원 지 도</td></tr>
|
||||||
<tr height=520>
|
<tr height=520>
|
||||||
<td width=698>
|
<td width=698>
|
||||||
<?=getMapHtml();?>
|
<?=getMapHtml($mapTheme);?>
|
||||||
|
|
||||||
<td width=98 valign=top><?=$history['nation']?></td>
|
<td width=139 valign=top><div style='background-color:#cccccc;color:black;text-align:center'>국명</div><?=$history['nation']?></td>
|
||||||
<td width=78 valign=top><?=$history['power']?></td>
|
<td width=70 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>국력</div><?=$history['power']?></td>
|
||||||
<td width=58 valign=top><?=$history['gen']?></td>
|
<td width=43 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>장수</div><?=$history['gen']?></td>
|
||||||
<td width=58 valign=top><?=$history['city']?></td>
|
<td width=40 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>속령</div><?=$history['city']?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td colspan=5 align=center id=bg1>중 원 정 세</td></tr>
|
<tr><td colspan=5 align=center id=bg1>중 원 정 세</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -146,17 +164,21 @@ $history = MYDB_fetch_array($result);
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<script>
|
<script>
|
||||||
|
window.serverNick = '<?=DB::prefix()?>';
|
||||||
|
window.serverID = '<?=UniqueConst::$serverID?>';
|
||||||
reloadWorldMap({
|
reloadWorldMap({
|
||||||
targetJson:'j_map_history.php?year=<?=$year?>&month=<?=$month?>',
|
targetJson:'j_map_history.php?year=<?=$year?>&month=<?=$month?>&serverID=<?=$serverID?>',
|
||||||
showMe:false,
|
showMe:false,
|
||||||
neutralView:true
|
neutralView:true,
|
||||||
|
useCachedMap:false,
|
||||||
|
year:<?=$year?>,
|
||||||
|
month:<?=$month?>,
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -8,34 +8,38 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("세력일람", 2);
|
increaseRefresh("세력일람", 2);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select con,turntime from general where owner='{$userID}'";
|
$query = "select con,turntime from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>세력일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 세력일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/ext.kingdoms.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>세 력 일 람<br><?=closeButton()?></td></tr>
|
<tr><td>세 력 일 람<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php
|
<?php
|
||||||
@@ -127,19 +131,19 @@ for($i=1; $i <= $count; $i++) {
|
|||||||
else { $l5 = $level5['name']; }
|
else { $l5 = $level5['name']; }
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
<table align=center width=1000 class='tb_layout bg2'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 {$nation['name']} 】</td>
|
<td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 {$nation['name']} 】</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=123 align=center id=bg1>성 향</td>
|
<td width=80 align=center id=bg1>성 향</td>
|
||||||
<td width=123 align=center><font color=yellow>".getNationType($nation['type'])."</font></td>
|
<td width=170 align=center><font color=yellow>".getNationType($nation['type'])."</font></td>
|
||||||
<td width=123 align=center id=bg1>작 위</td>
|
<td width=80 align=center id=bg1>작 위</td>
|
||||||
<td width=123 align=center>".getNationLevel($nation['level'])."</td>
|
<td width=170 align=center>".getNationLevel($nation['level'])."</td>
|
||||||
<td width=123 align=center id=bg1>국 력</td>
|
<td width=80 align=center id=bg1>국 력</td>
|
||||||
<td width=123 align=center>{$nation['power']}</td>
|
<td width=170 align=center>{$nation['power']}</td>
|
||||||
<td width=123 align=center id=bg1>장수 / 속령</td>
|
<td width=80 align=center id=bg1>장수 / 속령</td>
|
||||||
<td width=123 align=center>{$gencount} / {$citycount}</td>
|
<td width=170 align=center>{$gencount} / {$citycount}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center id=bg1>".getLevel(12, $nation['level'])."</td>
|
<td align=center id=bg1>".getLevel(12, $nation['level'])."</td>
|
||||||
@@ -209,7 +213,7 @@ $cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect
|
|||||||
$citycount = MYDB_num_rows($cityresult);
|
$citycount = MYDB_num_rows($cityresult);
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
<table align=center width=1000 class='tb_layout bg2'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=5 align=center>【 재 야 】</td>
|
<td colspan=5 align=center>【 재 야 】</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -244,11 +248,10 @@ echo"
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -6,14 +6,17 @@ include "func.php";
|
|||||||
|
|
||||||
$type = Util::getReq('type', 'int', 1);
|
$type = Util::getReq('type', 'int', 1);
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
|
if($type <= 0 || $type > 8){
|
||||||
|
$type = 1;
|
||||||
|
}
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("빙의일람", 2);
|
increaseRefresh("빙의일람", 2);
|
||||||
|
|
||||||
if($type == 0) {
|
|
||||||
$type = 1;
|
|
||||||
}
|
|
||||||
$sel = [];
|
$sel = [];
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
|
|
||||||
@@ -22,15 +25,21 @@ $sel[$type] = "selected";
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>빙의일람</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 빙의일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>빙 의 일 람<br><?=closeButton()?></td></tr>
|
<tr><td>빙 의 일 람<br><?=closeButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=post>정렬순서 :
|
||||||
<select name=type size=1>
|
<select name=type size=1>
|
||||||
@@ -49,11 +58,12 @@ $sel[$type] = "selected";
|
|||||||
<?php
|
<?php
|
||||||
$nationname = [];
|
$nationname = [];
|
||||||
$nationname[0] = "-";
|
$nationname[0] = "-";
|
||||||
foreach(getAllNationStaticInfo() as $nation){
|
foreach (getAllNationStaticInfo() as $nation) {
|
||||||
$nationname[$nation['nation']] = $nation['name'];
|
$nationname[$nation['nation']] = $nation['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
switch($type) {
|
switch ($type) {//FIXME: $query 처리 부실
|
||||||
|
default:
|
||||||
case 1: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by binary(name)"; break;
|
case 1: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by binary(name)"; break;
|
||||||
case 2: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by nation"; break;
|
case 2: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by nation"; break;
|
||||||
case 3: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by sum desc"; break;
|
case 3: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by sum desc"; break;
|
||||||
@@ -63,11 +73,11 @@ switch($type) {
|
|||||||
case 7: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by experience"; break;
|
case 7: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by experience"; break;
|
||||||
case 8: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by dedication"; break;
|
case 8: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by dedication"; break;
|
||||||
}
|
}
|
||||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$gencount = MYDB_num_rows($genresult);
|
$gencount = MYDB_num_rows($genresult);
|
||||||
|
|
||||||
echo"
|
echo"
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=102 align=center id=bg1>희생된 장수</td>
|
<td width=102 align=center id=bg1>희생된 장수</td>
|
||||||
<td width=102 align=center id=bg1>악령 이름</td>
|
<td width=102 align=center id=bg1>악령 이름</td>
|
||||||
@@ -82,13 +92,17 @@ echo"
|
|||||||
<td width=78 align=center id=bg1>명성</td>
|
<td width=78 align=center id=bg1>명성</td>
|
||||||
<td width=78 align=center id=bg1>계급</td>
|
<td width=78 align=center id=bg1>계급</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
for($j=0; $j < $gencount; $j++) {
|
for ($j=0; $j < $gencount; $j++) {
|
||||||
$general = MYDB_fetch_array($genresult);
|
$general = MYDB_fetch_array($genresult);
|
||||||
$nation = $nationname[$general['nation']];
|
$nation = $nationname[$general['nation']];
|
||||||
|
|
||||||
if($general['npc'] >= 2) { $name = "<font color=cyan>{$general['name']}</font>"; }
|
if ($general['npc'] >= 2) {
|
||||||
elseif($general['npc'] == 1) { $name = "<font color=skyblue>{$general['name']}</font>"; }
|
$name = "<font color=cyan>{$general['name']}</font>";
|
||||||
else { $name = "{$general['name']}"; }
|
} elseif ($general['npc'] == 1) {
|
||||||
|
$name = "<font color=skyblue>{$general['name']}</font>";
|
||||||
|
} else {
|
||||||
|
$name = "{$general['name']}";
|
||||||
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
@@ -96,8 +110,8 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
<td align=center>{$general['name2']}</td>
|
<td align=center>{$general['name2']}</td>
|
||||||
<td align=center>Lv {$general['explevel']}</td>
|
<td align=center>Lv {$general['explevel']}</td>
|
||||||
<td align=center>{$nation}</td>
|
<td align=center>{$nation}</td>
|
||||||
<td align=center>".getGenChar($general['personal'])."</td>
|
<td align=center>".displayCharInfo($general['personal'])."</td>
|
||||||
<td align=center>".getGenSpecial($general['special'])." / ".getGenSpecial($general['special2'])."</td>
|
<td align=center>".displaySpecialInfo($general['special'])." / ".displaySpecialInfo($general['special2'])."</td>
|
||||||
<td align=center>{$general['sum']}</td>
|
<td align=center>{$general['sum']}</td>
|
||||||
<td align=center>{$general['leader']}</td>
|
<td align=center>{$general['leader']}</td>
|
||||||
<td align=center>{$general['power']}</td>
|
<td align=center>{$general['power']}</td>
|
||||||
@@ -112,11 +126,10 @@ echo "
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -8,20 +8,19 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("세력도", 2);
|
increaseRefresh("세력도", 2);
|
||||||
checkTurn();
|
checkTurn();
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
$mapTheme = $gameStor->map_theme??'che';
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select map,con,turntime from general where owner='{$userID}'";
|
$query = "select con,turntime from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@@ -29,53 +28,58 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<title>세력도</title>
|
<meta name="viewport" content="width=1024" />
|
||||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
<title><?=UniqueConst::$serverName?>: 세력도</title>
|
||||||
<script src="../d_shared/common_path.js"></script>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<script src="js/common.js"></script>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<script src="js/base_map.js"></script>
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
<script src="js/map.js"></script>
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('d_shared/base_map.js')?>
|
||||||
|
<?=WebUtil::printJS('js/map.js')?>
|
||||||
<script>
|
<script>
|
||||||
|
window.serverNick = '<?=DB::prefix()?>';
|
||||||
|
window.serverID = '<?=UniqueConst::$serverID?>';
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
||||||
reloadWorldMap({
|
reloadWorldMap({
|
||||||
neutralView:true,
|
neutralView:true,
|
||||||
showMe:true
|
showMe:true,
|
||||||
|
useCachedMap:true
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<link href="../d_shared/common.css" rel="stylesheet">
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<link href="css/normalize.css" rel="stylesheet">
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<link href="css/common.css" rel="stylesheet">
|
<?=WebUtil::printCSS('css/normalize.css')?>
|
||||||
<link href="css/map.css" rel="stylesheet">
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/map.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1200 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1200 class='tb_layout bg0'>
|
||||||
<tr><td>세 력 도<br><?=closeButton()?></td></tr>
|
<tr><td>세 력 도<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1200 height=520 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1200 height=520 class='tb_layout bg0'>
|
||||||
<tr height=520>
|
<tr height=520>
|
||||||
<td width=498 valign=top>
|
<td width=498 valign=top>
|
||||||
<?=getGeneralPublicRecordRecent(34)?>
|
<?=getGeneralPublicRecordRecent(34)?>
|
||||||
</td>
|
</td>
|
||||||
<td width=698>
|
<td width=698>
|
||||||
<?=getMapHtml()?>
|
<?=getMapHtml($mapTheme)?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 valign=top>
|
<td colspan=2 valign=top>
|
||||||
<?php getWorldHistoryRecent(34); ?>
|
<?=getWorldHistoryRecent(34)?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1200 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1200 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -5,15 +5,14 @@ include "lib.php";
|
|||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("갱신정보", 2);
|
increaseRefresh("갱신정보", 2);
|
||||||
|
|
||||||
$query = "select year,month,refresh,maxrefresh,maxonline from game limit 1";
|
$admin = $gameStor->getValues(['year','month','refresh','maxrefresh','maxonline']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$game = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$log = [];
|
$log = getRawFileLogRecent(__dir__.'/logs/'.UniqueConst::$serverID.'/_traffic.txt', 11, 100);
|
||||||
|
|
||||||
$date = [];
|
$date = [];
|
||||||
$year = [];
|
$year = [];
|
||||||
@@ -22,248 +21,180 @@ $refresh = [];
|
|||||||
$online = [];
|
$online = [];
|
||||||
|
|
||||||
$curonline = getOnlineNum();
|
$curonline = getOnlineNum();
|
||||||
for ($i=0; $i < 11; $i++) {
|
foreach($log as $i=>$value){
|
||||||
$parse = explode("|", $log[count($log)-12+$i]);
|
$parse = Json::decode($value);
|
||||||
$date[$i] = trim($parse[0]);
|
$date[$i] = $parse[0];
|
||||||
$year[$i] = trim($parse[1]);
|
$year[$i] = $parse[1];
|
||||||
$month[$i] = trim($parse[2]);
|
$month[$i] = $parse[2];
|
||||||
$refresh[$i] = trim($parse[3]);
|
$refresh[$i] = $parse[3];
|
||||||
$online[$i] = trim($parse[4]);
|
$online[$i] = $parse[4];
|
||||||
}
|
}
|
||||||
if ($game['maxrefresh'] == 0) {
|
$year[] = $admin['year'];
|
||||||
$game['maxrefresh'] = 1;
|
$month[] = $admin['month'];
|
||||||
|
$date[] = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
if ($admin['maxrefresh'] == 0) {
|
||||||
|
$admin['maxrefresh'] = 1;
|
||||||
}
|
}
|
||||||
if ($game['maxrefresh'] < $game['refresh']) {
|
if ($admin['maxrefresh'] < $admin['refresh']) {
|
||||||
$game['maxrefresh'] = $game['refresh'];
|
$admin['maxrefresh'] = $admin['refresh'];
|
||||||
}
|
}
|
||||||
if ($game['maxonline'] == 0) {
|
if ($admin['maxonline'] == 0) {
|
||||||
$game['maxonline'] = 1;
|
$admin['maxonline'] = 1;
|
||||||
}
|
}
|
||||||
if ($game['maxonline'] < $curonline) {
|
if ($admin['maxonline'] < $curonline) {
|
||||||
$game['maxonline'] = $curonline;
|
$admin['maxonline'] = $curonline;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>트래픽정보</title>
|
<title><?=UniqueConst::$serverName?>: 트래픽정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<style>
|
||||||
|
.big_bar{
|
||||||
|
float:left;
|
||||||
|
position:relative;
|
||||||
|
height:30px;
|
||||||
|
}
|
||||||
|
.big_bar span{
|
||||||
|
float:right;
|
||||||
|
padding:0;
|
||||||
|
margin:0;
|
||||||
|
line-height:30px;
|
||||||
|
padding-right:1ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.little_bar{
|
||||||
|
float:left;
|
||||||
|
position:relative;
|
||||||
|
height:17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.out_bar{
|
||||||
|
line-height:30px;
|
||||||
|
margin-left:1ch;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>트 래 픽 정 보<br><?=closeButton()?></td></tr>
|
<tr><td>트 래 픽 정 보<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1016 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all;>
|
<table align=center width=1016>
|
||||||
<tr><td align=left>
|
<tr><td align=left>
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center class='tb_layout bg0'>
|
||||||
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 량</font></td></tr>
|
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 량</font></td></tr>
|
||||||
<?php
|
<?php
|
||||||
for ($i=0; $i < 11; $i++) {
|
$refresh[] = $admin['refresh'];
|
||||||
$w = round($refresh[$i] / $game['maxrefresh'] * 100, 1);
|
foreach($refresh as $i=>$value){
|
||||||
if ($w >= 100) {
|
$w = round($value / $admin['maxrefresh'] * 100, 1);
|
||||||
$w -= 0.1;
|
|
||||||
}
|
|
||||||
if ($refresh[$i] < 10 && $w < 3) {
|
|
||||||
$w = 3;
|
|
||||||
} elseif ($refresh[$i] < 100 && $w < 6) {
|
|
||||||
$w = 6;
|
|
||||||
} elseif ($refresh[$i] < 1000 && $w < 9) {
|
|
||||||
$w = 9;
|
|
||||||
}
|
|
||||||
$w2 = round(100 - $w, 1);
|
|
||||||
$color = getTrafficColor($w);
|
$color = getTrafficColor($w);
|
||||||
$dt = substr($date[$i], 11, 5); ?>
|
$dt = substr($date[$i], 11, 5); ?>
|
||||||
<tr height=30>
|
<tr height=30>
|
||||||
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
||||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
<td width=60 align=center id=bg2><?=$dt?></td>
|
||||||
<td width=2 align=center id=bg1></td>
|
<td width=2 align=center id=bg1></td>
|
||||||
<td width=320 align=center>
|
<td width=320>
|
||||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<?php if($w == 0): ?>
|
||||||
<tr>
|
<span class="out_bar"><?=$value?></span>
|
||||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$refresh[$i]?> </td>
|
<?php elseif($w < 10): ?>
|
||||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
<div class='big_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'></div><span class="out_bar"><?=$value?></span>
|
||||||
</tr>
|
<?php else:?>
|
||||||
</table>
|
<div class='big_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'><span><?=$value?></span></div>
|
||||||
|
<?php endif;?>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
$w = round($game['refresh'] / $game['maxrefresh'] * 100, 1);
|
|
||||||
if ($w >= 100) {
|
|
||||||
$w -= 0.1;
|
|
||||||
}
|
|
||||||
if ($game['refresh'] < 10 && $w < 3) {
|
|
||||||
$w = 3;
|
|
||||||
} elseif ($game['refresh'] < 100 && $w < 6) {
|
|
||||||
$w = 6;
|
|
||||||
} elseif ($game['refresh'] < 1000 && $w < 9) {
|
|
||||||
$w = 9;
|
|
||||||
}
|
|
||||||
$w2 = round(100 - $w, 1);
|
|
||||||
$color = getTrafficColor($w);
|
|
||||||
$dt = date('H:i');
|
|
||||||
?>
|
?>
|
||||||
<tr height=30>
|
|
||||||
<td width=100 align=center><?=$game['year']?>년 <?=$game['month']?>월</td>
|
|
||||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
|
||||||
<td width=2 align=center id=bg1></td>
|
|
||||||
<td width=320 align=center>
|
|
||||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$game['refresh']?> </td>
|
|
||||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan=4 height=5 align=center id=bg1></td></tr>
|
<tr><td colspan=4 height=5 align=center id=bg1></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$game['maxrefresh']?></td>
|
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$admin['maxrefresh']?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td align=right>
|
<td align=right>
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center class='tb_layout bg0'>
|
||||||
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 자</font></td></tr>
|
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 자</font></td></tr>
|
||||||
<?php
|
<?php
|
||||||
for ($i=0; $i < 11; $i++) {
|
$online[] = $curonline;
|
||||||
$w = round($online[$i] / $game['maxonline'] * 100, 1);
|
foreach($online as $i=>$value){
|
||||||
if ($w >= 100) {
|
$w = round($value / $admin['maxonline'] * 100, 1);
|
||||||
$w -= 0.1;
|
|
||||||
}
|
|
||||||
if ($online[$i] < 10 && $w < 3) {
|
|
||||||
$w = 3;
|
|
||||||
} elseif ($online[$i] < 100 && $w < 6) {
|
|
||||||
$w = 6;
|
|
||||||
} elseif ($online[$i] < 1000 && $w < 9) {
|
|
||||||
$w = 9;
|
|
||||||
}
|
|
||||||
$w2 = round(100 - $w, 1);
|
|
||||||
$color = getTrafficColor($w);
|
$color = getTrafficColor($w);
|
||||||
$dt = substr($date[$i], 11, 5); ?>
|
$dt = substr($date[$i], 11, 5); ?>
|
||||||
<tr height=30>
|
<tr height=30>
|
||||||
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
<td width=100 align=center><?=$year[$i]?>년 <?=$month[$i]?>월</td>
|
||||||
<td width=60 align=center id=bg2><?=$dt?></td>
|
<td width=60 align=center id=bg2><?=$dt?></td>
|
||||||
<td width=2 align=center id=bg1></td>
|
<td width=2 align=center id=bg1></td>
|
||||||
<td width=320 align=center>
|
<td width=320>
|
||||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<?php if($w == 0): ?>
|
||||||
<tr>
|
<span class="out_bar"><?=$value?></span>
|
||||||
<td width=<?=$w?>% bgcolor=<?=$color?> align=right><?=$online[$i]?> </td>
|
<?php elseif($w < 10): ?>
|
||||||
<td width=<?=$w2?>% id=bg0><font size=1> </font></td>
|
<div class='big_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'></div><span class="out_bar"><?=$value?></span>
|
||||||
</tr>
|
<?php else:?>
|
||||||
</table>
|
<div class='big_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'><span><?=$value?></span></div>
|
||||||
|
<?php endif;?>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
$w = round($curonline / $game['maxonline'] * 100, 1);
|
?>
|
||||||
if ($w >= 100) {
|
|
||||||
$w -= 0.1;
|
|
||||||
}
|
|
||||||
if ($curonline < 10 && $w < 3) {
|
|
||||||
$w = 3;
|
|
||||||
} elseif ($curonline < 100 && $w < 6) {
|
|
||||||
$w = 6;
|
|
||||||
} elseif ($curonline < 1000 && $w < 9) {
|
|
||||||
$w = 9;
|
|
||||||
}
|
|
||||||
$w2 = round(100 - $w, 1);
|
|
||||||
$color = getTrafficColor($w);
|
|
||||||
$dt = date('H:i');
|
|
||||||
echo "
|
|
||||||
<tr height=30>
|
|
||||||
<td width=100 align=center>{$game['year']}년 {$game['month']}월</td>
|
|
||||||
<td width=60 align=center id=bg2>{$dt}</td>
|
|
||||||
<td width=2 align=center id=bg1></td>
|
|
||||||
<td width=320 align=center>
|
|
||||||
<table align=center width=100% height=30 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
<td width={$w}% bgcolor={$color} align=right>{$curonline} </td>
|
|
||||||
<td width={$w2}% id=bg0><font size=1> </font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan=4 height=5 align=center id=bg1></td></tr>
|
<tr><td colspan=4 height=5 align=center id=bg1></td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4 height=30 align=center id=bg0>최고기록: {$game['maxonline']}</td>
|
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$admin['maxonline']?></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
|
||||||
?>
|
|
||||||
</table>
|
</table>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center class='tb_layout bg0'>
|
||||||
<tr><td colspan=3 align=center id=bg2><font size=5>주 의 대 상 자 (순간과도갱신)</font></td></tr>
|
<tr><td colspan=3 align=center id=bg2><font size=5>주 의 대 상 자 (순간과도갱신)</font></td></tr>
|
||||||
<?php
|
<?php
|
||||||
$query = "select sum(refresh) as refresh,sum(connect) as connect from general";
|
$max_refresh = $db->queryFirstRow('SELECT sum(refresh) as refresh, sum(`connect`) as `connect` from general');
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$max_refresh['name'] = '접속자 총합';
|
||||||
$user = MYDB_fetch_array($result);
|
|
||||||
$user['connect'] = round($user['connect'], 1);
|
|
||||||
$maxrefresh = $user['refresh'];
|
|
||||||
|
|
||||||
$w = round($maxrefresh / $maxrefresh * 100, 1);
|
$refresh_result = array_merge([$max_refresh], $db->query('SELECT `name`,refresh,`connect` FROM general ORDER BY refresh DESC LIMIT 5'));
|
||||||
$w2 = round(100 - $w, 1);
|
|
||||||
$color = getTrafficColor($w);
|
|
||||||
echo "
|
|
||||||
<tr id=bg2>
|
|
||||||
<td width=98 align=center>주의대상자</td>
|
|
||||||
<td width=98 align=center>벌점(순간갱신)</td>
|
|
||||||
<td width=798 align=center>전체 대비</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=center>접속자 총합</td>
|
|
||||||
<td align=center>{$user['connect']}({$maxrefresh})</td>
|
|
||||||
<td align=center>
|
|
||||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
<td width={$w}% bgcolor={$color}> </td>
|
|
||||||
<td width={$w2}%> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
";
|
|
||||||
|
|
||||||
$query = "select name,refresh,connect from general order by refresh desc limit 0,5";
|
foreach ($refresh_result as $i=>$user) {
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$w = round($user['refresh'] / $max_refresh['refresh'] * 100, 1);
|
||||||
$count = MYDB_num_rows($result);
|
|
||||||
for ($i=0; $i < $count; $i++) {
|
|
||||||
$user = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$w = round($user['refresh'] / $maxrefresh * 100, 1);
|
|
||||||
$w2 = round(100 - $w, 1);
|
$w2 = round(100 - $w, 1);
|
||||||
$color = getTrafficColor($w);
|
$color = getTrafficColor($w);
|
||||||
echo "
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=98 align=center>{$user['name']}</td>
|
<td width=98 align=center><?=$user['name']?></td>
|
||||||
<td width=98 align=center>{$user['connect']}({$user['refresh']})</td>
|
<td width=98 align=center><?=$user['connect']?>(<?=$user['refresh']?>)</td>
|
||||||
<td width=798 align=center>
|
<td width=798>
|
||||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<?php if($w == 0): ?>
|
||||||
<tr>
|
<?php elseif($w < 10): ?>
|
||||||
<td width={$w}% bgcolor={$color}> </td>
|
<div class='little_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'></div>
|
||||||
<td width={$w2}%> </td>
|
<?php else:?>
|
||||||
</tr>
|
<div class='little_bar' style='width:<?=$w?>%;background-color:<?=$color?>;'></div>
|
||||||
</table>
|
<?php endif;?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
@@ -273,7 +204,7 @@ function getTrafficColor($per)
|
|||||||
$r = getHex($per);
|
$r = getHex($per);
|
||||||
$b = getHex(100 - $per);
|
$b = getHex(100 - $per);
|
||||||
$color = $r . "00" . $b;
|
$color = $r . "00" . $b;
|
||||||
return $color;
|
return '#'.$color;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getHex($dec)
|
function getHex($dec)
|
||||||
|
|||||||
@@ -7,31 +7,45 @@ include "func.php";
|
|||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("설문조사", 1);
|
increaseRefresh("설문조사", 1);
|
||||||
|
|
||||||
|
$isVoteAdmin = in_array('vote', $session->acl[DB::prefix()]??[]);
|
||||||
|
$isVoteAdmin |= $session->userGrade >= 5;
|
||||||
|
|
||||||
$query = "select no,vote from general where owner='{$userID}'";
|
$query = "select no,vote from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select develcost,voteopen,vote,votecomment from game limit 1";
|
$admin = $gameStor->getValues(['develcost','voteopen','vote_title','vote','votecomment']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$vote_title = $admin['vote_title']??'-';
|
||||||
$admin = MYDB_fetch_array($result);
|
$vote = $admin['vote']?:['-'];
|
||||||
|
|
||||||
$vote = explode("|", $admin['vote']);
|
|
||||||
if ($vote[0] == "") {
|
|
||||||
$vote[0] = "-";
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>설문조사</title>
|
<title><?=UniqueConst::$serverName?>: 설문조사</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<style>
|
||||||
|
.little_bar{
|
||||||
|
float:left;
|
||||||
|
position:relative;
|
||||||
|
height:17px;
|
||||||
|
line-height:17px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function captureKey(e) {
|
function captureKey(e) {
|
||||||
if(e.keyCode == 13 && e.srcElement.type == 'text') {
|
if(e.keyCode == 13 && e.srcElement.type == 'text') {
|
||||||
@@ -44,29 +58,29 @@ function captureKey(e) {
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>설 문 조 사<br><?=closeButton()?></td></tr>
|
<tr><td>설 문 조 사<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<form name=form1 action=c_vote.php method=post>
|
<form name=form1 action=c_vote.php method=post>
|
||||||
<tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5?>금과 추첨으로 유니크템 증정!)</font></td></tr>
|
<tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5?>금과 추첨으로 유니크템 증정!)</font></td></tr>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if ($session->userGrade >= 5) {
|
if ($isVoteAdmin) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td width=48 align=center><input type=submit name=btn value='알림'></td>
|
<td width=48 align=center><input type=submit name=btn value='알림'></td>
|
||||||
<td width=98 align=center><input type=submit name=btn value='수정'></td>
|
<td width=98 align=center><input type=submit name=btn value='수정'></td>
|
||||||
<td width=848 align=left><input type=text name=title style=width:848;></td>
|
<td width=848 align=left><input type=text name=title style=width:848px;></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
$vote[0] = Tag2Code($vote[0]);
|
$vote_title = Tag2Code($vote_title);
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 width=148 align=center id=bg1>제 목</td>
|
<td colspan=2 width=148 align=center id=bg1>제 목</td>
|
||||||
<td width=848 align=left> {$vote[0]}</td>
|
<td width=848 align=left> {$vote_title}</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
|
|
||||||
@@ -91,7 +105,7 @@ for ($i=1; $i < $voteTypeCount; $i++) {
|
|||||||
echo "
|
echo "
|
||||||
<input type=radio name=sel value={$i}>
|
<input type=radio name=sel value={$i}>
|
||||||
";
|
";
|
||||||
} elseif ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
|
} elseif ($admin['voteopen'] >= 1 || $isVoteAdmin) {
|
||||||
$query = "select no from general where vote='{$i}'";
|
$query = "select no from general where vote='{$i}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$vCount = MYDB_num_rows($result);
|
$vCount = MYDB_num_rows($result);
|
||||||
@@ -127,59 +141,59 @@ echo "
|
|||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
|
|
||||||
if ($session->userGrade >= 5) {
|
if ($isVoteAdmin) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center><input type=submit name=btn value='리셋'></td>
|
<td align=center><input type=submit name=btn value='리셋'></td>
|
||||||
<td align=center><input type=submit name=btn value='추가'></td>
|
<td align=center><input type=submit name=btn value='추가'></td>
|
||||||
<td align=left><input type=text name=str style=width:848;></td>
|
<td align=left><input type=text name=str style=width:848px;></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($admin['votecomment'] != "") {
|
if ($admin['votecomment']) {
|
||||||
$comment = explode("|", $admin['votecomment']);
|
$comment = $admin['votecomment'];
|
||||||
$commentCount = count($comment);
|
$commentCount = count($comment);
|
||||||
} else {
|
} else {
|
||||||
$commentCount = 0;
|
$commentCount = 0;
|
||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=4 align=center id=bg1>댓 글</td>
|
<td colspan=4 align=center id=bg1>댓 글</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
for ($i=0; $i < $commentCount; $i++) {
|
for ($i=0; $i < $commentCount; $i++) {
|
||||||
$cmt = explode(":", $comment[$i]);
|
$cmt = $comment[$i];
|
||||||
$cmt[2] = Tag2Code($cmt[2]);
|
$cmt[2] = Tag2Code($cmt[2]);
|
||||||
$j = $i+1;
|
$j = $i+1;
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td width=28 align=center>{$j}.</td>
|
<td width=28 align=center>{$j}.</td>
|
||||||
<td width=83 align=center>{$cmt[0]}</td>
|
<td width=130 align=center>{$cmt[0]}</td>
|
||||||
<td width=83 align=center>{$cmt[1]}</td>
|
<td width=130 align=center>{$cmt[1]}</td>
|
||||||
<td width=788 align=left> {$cmt[2]}</td>
|
<td width=712 align=left> {$cmt[2]}</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
if ($me['no'] > 0) {
|
if ($me['no'] > 0) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td width=108 colspan=2 align=center>-</td>
|
<td width=158 colspan=2 align=center>-</td>
|
||||||
<td width=83 align=center><input type=submit name=btn value='댓글'></td>
|
<td width=130 align=center><input type=submit name=btn value='댓글'></td>
|
||||||
<td align=left><input type=text name=comment maxlength=60 style=width:798; onkeydown='return captureKey(event)'></td>
|
<td align=left><input type=text name=comment maxlength=60 style=width:700px; onkeydown='return captureKey(event)'></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=3 align=center id=bg2><font size=5>
|
<tr><td colspan=3 align=center id=bg2><font size=5>
|
||||||
전 체 통 계
|
전 체 통 계
|
||||||
<?php
|
<?php
|
||||||
if ($session->userGrade >= 5) {
|
if ($isVoteAdmin) {
|
||||||
echo "
|
echo "
|
||||||
<input type=submit name=btn value='숨김'>
|
<input type=submit name=btn value='숨김'>
|
||||||
<input type=submit name=btn value='전체통계만'>
|
<input type=submit name=btn value='전체통계만'>
|
||||||
@@ -188,32 +202,27 @@ if ($session->userGrade >= 5) {
|
|||||||
echo "
|
echo "
|
||||||
</font></td></tr>";
|
</font></td></tr>";
|
||||||
|
|
||||||
if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
|
if ($admin['voteopen'] >= 1 || $isVoteAdmin) {
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td width=98 align=center>전 체</td>
|
<td width=130 align=center>전 체</td>
|
||||||
<td width=128 align=center>{$voteCount} / {$allCount} ({$percentage} %)</td>
|
<td width=128 align=center>{$voteCount} / {$allCount} ({$percentage} %)</td>
|
||||||
<td width=768 align=center>
|
<td width=742>
|
||||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
";
|
";
|
||||||
|
|
||||||
$memCount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2');
|
$memCount = max(1, $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2'));
|
||||||
if ($memCount == 0) {
|
|
||||||
$memCount = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$totalVote = [];
|
$totalVote = [];
|
||||||
$nationVoteCount = [[0]];
|
$nationVoteCount = [];
|
||||||
$nationVote = [[]];
|
$nationVote = [];
|
||||||
|
|
||||||
foreach ($db->query("SELECT nation, vote, count(`no`) as cnt FROM general WHERE npc<2 GROUP BY nation, vote") as $row) {
|
foreach ($db->query("SELECT nation, vote, count(`no`) as cnt FROM general WHERE npc<2 GROUP BY nation, vote") as $row) {
|
||||||
$nation = $row['nation'];
|
$nation = $row['nation'];
|
||||||
$vote = $row['vote'];
|
$ownVote = $row['vote'];
|
||||||
$cnt = $row['cnt'];
|
$cnt = $row['cnt'];
|
||||||
|
|
||||||
if (!isset($totalVote[$vote])) {
|
if (!isset($totalVote[$ownVote])) {
|
||||||
$totalVote[$vote] = 0;
|
$totalVote[$ownVote] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($nationVoteCount[$nation])) {
|
if (!isset($nationVoteCount[$nation])) {
|
||||||
@@ -221,32 +230,44 @@ if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
|
|||||||
$nationVote[$nation] = [];
|
$nationVote[$nation] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($nationVote[$nation][$vote])) {
|
if (!isset($nationVote[$nation][$ownVote])) {
|
||||||
$nationVote[$nation][$vote] = 0;
|
$nationVote[$nation][$ownVote] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$totalVote[$vote] += $cnt;
|
$totalVote[$ownVote] += $cnt;
|
||||||
$nationVoteCount[$nation] += $cnt;
|
$nationVoteCount[$nation] += $cnt;
|
||||||
$nationVote[$nation][$vote] += $cnt;
|
$nationVote[$nation][$ownVote] += $cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$totalPer = 0;
|
||||||
for ($i=0; $i < $voteTypeCount; $i++) {
|
for ($i=0; $i < $voteTypeCount; $i++) {
|
||||||
$per = round(($totalVote[$i]??0) / $memCount * 100, 1);
|
$per = round(($totalVote[$i]??0) * 100 / $memCount, 1);
|
||||||
|
if($i == $voteTypeCount-1){
|
||||||
|
$per = 100-$totalPer;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$totalPer += $per;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// if($per < 5) { $vote['cnt'] = " "; }
|
// if($per < 5) { $vote['cnt'] = " "; }
|
||||||
echo "
|
?>
|
||||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getVoteColor($i).">{$totalVote[$i]}</td>
|
<?php if($per == 0): ?>
|
||||||
";
|
<?php elseif($per < 10): ?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($i)?>;background-color:<?=getVoteColor($i)?>;'></div>
|
||||||
|
<?php else:?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($i)?>;background-color:<?=getVoteColor($i)?>;'><?=$totalVote[$i]?></div>
|
||||||
|
<?php endif;?>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
|
if ($admin['voteopen'] >= 2 || $isVoteAdmin) {
|
||||||
$query = "select no from general where nation=0 and npc<2";
|
$query = "select no from general where nation=0 and npc<2";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$memCount = MYDB_num_rows($result);
|
$memCount = MYDB_num_rows($result);
|
||||||
@@ -263,22 +284,30 @@ if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td align=center bgcolor=black>재 야</td>
|
<td align=center bgcolor=black>재 야</td>
|
||||||
<td align=center>{$nationVoteCount[0]} / {$memCount} ({$percentage} %)</td>
|
<td align=center>{$nationVoteCount[0]} / {$memCount} ({$percentage} %)</td>
|
||||||
<td align=center>
|
<td>
|
||||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
";
|
";
|
||||||
|
|
||||||
|
$totalPer = 0;
|
||||||
for ($i=0; $i < $voteTypeCount; $i++) {
|
for ($i=0; $i < $voteTypeCount; $i++) {
|
||||||
$per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1);
|
$per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1);
|
||||||
|
if($i == $voteTypeCount-1){
|
||||||
|
$per = 100-$totalPer;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$totalPer += $per;
|
||||||
|
}
|
||||||
// if($per < 5) { $vote['cnt'] = " "; }
|
// if($per < 5) { $vote['cnt'] = " "; }
|
||||||
echo "
|
?>
|
||||||
<td width={$per}% align=center style=color:".getNewColor($i)."; bgcolor=".getVoteColor($i).">{$nationVote[0][$i]}</td>
|
<?php if($per == 0): ?>
|
||||||
";
|
<?php elseif($per < 10): ?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($i)?>;background-color:<?=getVoteColor($i)?>;'></div>
|
||||||
|
<?php else:?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($i)?>;background-color:<?=getVoteColor($i)?>;'><?=$nationVote[0][$i]?></div>
|
||||||
|
<?php endif;?>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
@@ -293,29 +322,52 @@ if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$memCount = MYDB_num_rows($result);
|
$memCount = MYDB_num_rows($result);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$voteCount = $nationVoteCount[$nation['nation']] ?? 0;
|
$voteCount = $nationVoteCount[$nation['nation']] ?? 0;
|
||||||
$percentage = round($voteCount / $memCount * 100, 1);
|
if($memCount == 0){
|
||||||
|
$percentage = 100;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$percentage = round($voteCount / $memCount * 100, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>{$nation['name']}</td>
|
<td align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>{$nation['name']}</td>
|
||||||
<td align=center>{$voteCount} / {$memCount} ({$percentage} %)</td>
|
<td align=center>{$voteCount} / {$memCount} ({$percentage} %)</td>
|
||||||
<td align=center>
|
<td align=center>
|
||||||
<table align=center width=100% height=100% border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
";
|
";
|
||||||
|
|
||||||
|
$totalPer = 0;
|
||||||
for ($k=0; $k < $voteTypeCount; $k++) {
|
for ($k=0; $k < $voteTypeCount; $k++) {
|
||||||
$per = round($nationVote[$nation['nation']][$k] / $memCount * 100, 1);
|
if($memCount == 0){
|
||||||
|
$per = 0;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$per = round($nationVote[$nation['nation']][$k]??0 / $memCount * 100, 1);
|
||||||
|
|
||||||
|
if($i == $voteTypeCount-1){
|
||||||
|
$per = 100-$totalPer;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$totalPer += $per;
|
||||||
|
}
|
||||||
|
|
||||||
// if($per < 5) { $vote['cnt'] = " "; }
|
// if($per < 5) { $vote['cnt'] = " "; }
|
||||||
echo "
|
?>
|
||||||
<td width={$per}% align=center style=color:".getNewColor($k)."; bgcolor=".getVoteColor($k).">{$nationVote[$nation['nation']][$k]}</td>
|
<?php if($per == 0): ?>
|
||||||
";
|
<?php elseif($per < 10): ?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'></div>
|
||||||
|
<?php else:?>
|
||||||
|
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'><?=$nationVote[$nation['nation']][$k]??0?></div>
|
||||||
|
<?php endif;?>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
@@ -324,11 +376,10 @@ if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
|
|||||||
?>
|
?>
|
||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
@@ -340,6 +391,7 @@ function getVoteColor($type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
|
default:
|
||||||
case 0: $color = "black"; break;
|
case 0: $color = "black"; break;
|
||||||
case 1: $color = "red"; break;
|
case 1: $color = "red"; break;
|
||||||
case 2: $color = "orange"; break;
|
case 2: $color = "orange"; break;
|
||||||
|
|||||||
@@ -7,11 +7,14 @@ include "func.php";
|
|||||||
$msg = Util::getReq('msg');
|
$msg = Util::getReq('msg');
|
||||||
$msg2 = Util::getReq('msg2');
|
$msg2 = Util::getReq('msg2');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("거래장", 2);
|
increaseRefresh("거래장", 2);
|
||||||
@@ -20,11 +23,7 @@ $query = "select no,special,con,turntime from general where owner='{$userID}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
$con = checkLimit($me['con']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
@@ -56,18 +55,23 @@ if ($msg2 == "") {
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>거래장</title>
|
<title><?=UniqueConst::$serverName?>: 거래장</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>거 래 장<br><?=closeButton()?></td></tr>
|
<tr><td>거 래 장<br><?=closeButton()?></td></tr>
|
||||||
<tr><td align=center id=bg2><font color=orange size=6><b>거 래 장</b></font><input type=button value='갱신' onclick=location.replace('b_auction.php')></td></tr>
|
<tr><td align=center id=bg2><font color=orange size=6><b>거 래 장</b></font><input type=button value='갱신' onclick=location.replace('b_auction.php')></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<form method=post action=c_auction.php>
|
<form method=post action=c_auction.php>
|
||||||
<tr><td colspan=11 align=center bgcolor=orange><font size=5>팝 니 다</font></td></tr>
|
<tr><td colspan=11 align=center bgcolor=orange><font size=5>팝 니 다</font></td></tr>
|
||||||
<tr align=center id=bg1>
|
<tr align=center id=bg1>
|
||||||
@@ -165,7 +169,7 @@ for ($i=0; $i < $count; $i++) {
|
|||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<form method=post action=c_auction.php>
|
<form method=post action=c_auction.php>
|
||||||
<tr><td colspan=11 align=center bgcolor=skyblue><font size=5>삽 니 다</font></td></tr>
|
<tr><td colspan=11 align=center bgcolor=skyblue><font size=5>삽 니 다</font></td></tr>
|
||||||
<tr align=center id=bg1>
|
<tr align=center id=bg1>
|
||||||
@@ -263,7 +267,7 @@ for ($i=0; $i < $count; $i++) {
|
|||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td align=center id=bg2><font size=5>최 근 기 록</font></td></tr>
|
<tr><td align=center id=bg2><font size=5>최 근 기 록</font></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<?=getAuctionLogRecent(20)?>
|
<?=getAuctionLogRecent(20)?>
|
||||||
@@ -282,7 +286,7 @@ for ($i=0; $i < $count; $i++) {
|
|||||||
ㆍ악용 방지를 위해 50% ~ 200%의 가격에서 거래시작이 가능합니다.<br>
|
ㆍ악용 방지를 위해 50% ~ 200%의 가격에서 거래시작이 가능합니다.<br>
|
||||||
ㆍ악용 방지를 위해 즉시판매가는 110% 이상, 즉시구매가는 90% 이하의 시세로 가능합니다.<br>
|
ㆍ악용 방지를 위해 즉시판매가는 110% 이상, 즉시구매가는 90% 이하의 시세로 가능합니다.<br>
|
||||||
ㆍ악용 방지를 위해 즉시판매가는 시작판매가의 110% 이상, 즉시구매가는 시작구매가의 90% 이하로 가능합니다.<br>
|
ㆍ악용 방지를 위해 즉시판매가는 시작판매가의 110% 이상, 즉시구매가는 시작구매가의 90% 이하로 가능합니다.<br>
|
||||||
ㆍ1인당 도합 1건의 거래와 입찰이 가능합니다. 거상 특기 소유자는 1인당 도합 3건입니다.<br>
|
ㆍ1인당 도합 1건의 거래와 입찰이 가능합니다.<br>
|
||||||
ㆍ기본금쌀 1000은 거래에 사용되지 못합니다.<br>
|
ㆍ기본금쌀 1000은 거래에 사용되지 못합니다.<br>
|
||||||
ㆍ유찰될 때는 거래 과실자에게 거래금의 1%가 벌금으로 부과됩니다.<br>
|
ㆍ유찰될 때는 거래 과실자에게 거래금의 1%가 벌금으로 부과됩니다.<br>
|
||||||
ㆍ<font color=magenta>10단위로 거래가 가능합니다. 1자리는 반올림 처리 됩니다.</font><br>
|
ㆍ<font color=magenta>10단위로 거래가 가능합니다. 1자리는 반올림 처리 됩니다.</font><br>
|
||||||
@@ -297,6 +301,5 @@ for ($i=0; $i < $count; $i++) {
|
|||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -9,23 +9,27 @@ $v->rule('required', 'gen')
|
|||||||
->rule('integer', 'gen');
|
->rule('integer', 'gen');
|
||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
$gen = Util::getReq('gen', 'int');
|
$gen = Util::getReq('gen', 'int', 0);
|
||||||
$type = Util::getReq('type', 'int');
|
$type = Util::getReq('type', 'int', 0);
|
||||||
|
|
||||||
|
if ($type < 0 || $type > 3) {
|
||||||
|
$type = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("감찰부", 2);
|
increaseRefresh("감찰부", 2);
|
||||||
//전투 추진을 위해 갱신
|
//전투 추진을 위해 갱신
|
||||||
checkTurn();
|
checkTurn();
|
||||||
|
$gameStor->resetCache();
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select nation from general where no='$gen'";
|
$query = "select nation from general where no='$gen'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
@@ -39,7 +43,7 @@ $query = "select secretlimit from nation where nation='{$me['nation']}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
@@ -61,9 +65,6 @@ if ($btn == '정렬하기') {
|
|||||||
$gen = 0;
|
$gen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 0) {
|
|
||||||
$type = 0;
|
|
||||||
}
|
|
||||||
$sel = [];
|
$sel = [];
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
|
|
||||||
@@ -72,15 +73,21 @@ $sel[$type] = "selected";
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>감찰부</title>
|
<title><?=UniqueConst::$serverName?>: 감찰부</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>감 찰 부<br><?=closeButton()?></td></tr>
|
<tr><td>감 찰 부<br><?=closeButton()?></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form name=form1 method=post>
|
<form name=form1 method=post>
|
||||||
@@ -96,20 +103,24 @@ $sel[$type] = "selected";
|
|||||||
<select name=gen size=1>
|
<select name=gen size=1>
|
||||||
<?php
|
<?php
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 0: $query = "select no,name from general where nation='{$me['nation']}' order by turntime desc"; break;
|
default:
|
||||||
case 1: $query = "select no,name from general where nation='{$me['nation']}' order by recwar desc"; break;
|
case 0: $query = "select no,name,npc from general where nation='{$me['nation']}' order by turntime desc"; break;
|
||||||
case 2: $query = "select no,name from general where nation='{$me['nation']}' order by npc,binary(name)"; break;
|
case 1: $query = "select no,name,npc from general where nation='{$me['nation']}' order by recwar desc"; break;
|
||||||
case 3: $query = "select no,name from general where nation='{$me['nation']}' order by warnum desc"; break;
|
case 2: $query = "select no,name,npc from general where nation='{$me['nation']}' order by npc,binary(name)"; break;
|
||||||
|
case 3: $query = "select no,name,npc from general where nation='{$me['nation']}' order by warnum desc"; break;
|
||||||
}
|
}
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$gencount = MYDB_num_rows($result);
|
$gencount = MYDB_num_rows($result);
|
||||||
|
$npc = 0;
|
||||||
for ($i=0; $i < $gencount; $i++) {
|
for ($i=0; $i < $gencount; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
// 선택 없으면 맨 처음 장수
|
// 선택 없으면 맨 처음 장수
|
||||||
if ($gen == 0) {
|
if ($gen == 0) {
|
||||||
$gen = $general['no'];
|
$gen = $general['no'];
|
||||||
}
|
}
|
||||||
|
if($gen == $general['no']){
|
||||||
|
$npc = $general['npc'];
|
||||||
|
}
|
||||||
if ($gen == $general['no']) {
|
if ($gen == $general['no']) {
|
||||||
echo "
|
echo "
|
||||||
<option selected value={$general['no']}>{$general['name']}</option>";
|
<option selected value={$general['no']}>{$general['name']}</option>";
|
||||||
@@ -124,7 +135,7 @@ for ($i=0; $i < $gencount; $i++) {
|
|||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table width=1000 align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=1000 align=center class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=50% align=center id=bg1><font color=skyblue size=3>장 수 정 보</font></td>
|
<td width=50% align=center id=bg1><font color=skyblue size=3>장 수 정 보</font></td>
|
||||||
<td width=50% align=center id=bg1><font color=orange size=3>장 수 열 전</font></td>
|
<td width=50% align=center id=bg1><font color=orange size=3>장 수 열 전</font></td>
|
||||||
@@ -149,11 +160,23 @@ for ($i=0; $i < $gencount; $i++) {
|
|||||||
<?=getBatResRecent($gen, 24)?>
|
<?=getBatResRecent($gen, 24)?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<?php if($npc > 1 || $meLevel >= 5): ?>
|
||||||
|
<tr>
|
||||||
|
<td align=center id=bg1><font color=orange size=3>개인 기록</font></td>
|
||||||
|
<td align=center id=bg1><font color=orange size=3> </font></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top>
|
||||||
|
<?=getGenLogRecent($gen, 24)?>
|
||||||
|
</td>
|
||||||
|
<td valign=top>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php endif; ?>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("베팅장", 1);
|
increaseRefresh("베팅장", 1);
|
||||||
@@ -17,17 +18,20 @@ $query = "select no,tournament,con,turntime,bet0+bet1+bet2+bet3+bet4+bet5+bet6+b
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select conlimit,tournament,phase,tnmt_type,develcost,bet0,bet1,bet2,bet3,bet4,bet5,bet6,bet7,bet8,bet9,bet10,bet11,bet12,bet13,bet14,bet15,bet0+bet1+bet2+bet3+bet4+bet5+bet6+bet7+bet8+bet9+bet10+bet11+bet12+bet13+bet14+bet15 as bet from game limit 1";
|
$admin = $gameStor->getValues(['tournament','phase','tnmt_type','develcost','bet0','bet1','bet2','bet3','bet4','bet5','bet6','bet7','bet8','bet9','bet10','bet11','bet12','bet13','bet14','bet15']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$admin['bet'] =
|
||||||
$admin = MYDB_fetch_array($result);
|
$admin['bet0'] + $admin['bet1'] + $admin['bet2'] + $admin['bet3'] + $admin['bet4'] +
|
||||||
|
$admin['bet5'] + $admin['bet6'] + $admin['bet7'] + $admin['bet8'] + $admin['bet9'] +
|
||||||
|
$admin['bet10'] + $admin['bet11'] + $admin['bet12'] + $admin['bet13'] + $admin['bet14'] + $admin['bet15'];
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($admin['tnmt_type']) {
|
switch ($admin['tnmt_type']) {
|
||||||
|
default: throw new \RuntimeException('Invalid tnmt_type');break;
|
||||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
||||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
||||||
@@ -36,7 +40,13 @@ case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "itl"; $tp2 = "
|
|||||||
|
|
||||||
$str1 = getTournament($admin['tournament']);
|
$str1 = getTournament($admin['tournament']);
|
||||||
$str2 = getTournamentTime();
|
$str2 = getTournamentTime();
|
||||||
|
if($str2){
|
||||||
|
$str2 = ', '.$str2;
|
||||||
|
}
|
||||||
$str3 = getTournamentTerm();
|
$str3 = getTournamentTerm();
|
||||||
|
if($str3){
|
||||||
|
$str3 = ', '.$str3;
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@@ -45,38 +55,39 @@ $str3 = getTournamentTerm();
|
|||||||
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
||||||
} ?>
|
} ?>
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>베팅장</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<style>
|
<meta name="viewport" content="width=1024" />
|
||||||
body { color:white; background-color:black; border-width:1; border-color:gray; }
|
<title><?=UniqueConst::$serverName?>: 베팅장</title>
|
||||||
table { font-family:'맑은 고딕'; line-height:110%; }
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
font { font-family:'맑은 고딕'; line-height:110%; }
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
input { font-family:'맑은 고딕'; line-height:110%; height:20px }
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
select { font-family:'굴림'; line-height:100%; }
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
#bg0 { background-image:url(<?=ServConfig::$gameImagePath?>/back_walnut.jpg); }
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
#bg1 { background-image:url(<?=ServConfig::$gameImagePath?>/back_green.jpg); }
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
#bg2 { background-image:url(<?=ServConfig::$gameImagePath?>/back_blue.jpg); }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1120 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='tb_layout bg0'>
|
||||||
<tr><td>베 팅 장<br><?=closeButton()?></td></tr>
|
<tr><td>베 팅 장<br><?=closeButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1120 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:10;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='tb_layout bg0'>
|
||||||
<tr><td colspan=16><input type=button value='갱신' onclick='location.reload()'></td></tr>
|
<tr><td colspan=16><input type=button value='갱신' onclick='location.reload()'></td></tr>
|
||||||
<tr><td colspan=16 align=center><font color=white size=6><?=$tnmt_type?> (<?=$str1.", ".$str2.", ".$str3?>)</font></td></tr>
|
<tr><td colspan=16 align=center><font color=white size=6><?=$tnmt_type?> (<?=$str1.$str2.$str3?>)</font></td></tr>
|
||||||
<tr><td height=50 colspan=16 align=center id=bg2><font color=limegreen size=6>16강 상황</font><br><font color=orange size=3>(전체 금액 : <?=$admin['bet']?> / 내 투자 금액 : <?=$me['bet']?>)</font></td></tr>
|
<tr><td height=50 colspan=16 align=center id=bg2><font color=limegreen size=6>16강 상황</font><br><font color=orange size=3>(전체 금액 : <?=$admin['bet']?> / 내 투자 금액 : <?=$me['bet']?>)</font></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1120 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:10;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='mimic_flex bg0' style='border:solid 1px gray;font-size:10px;'>
|
||||||
<tr align=center><td height=10 colspan=16></td></tr>
|
<tr align=center><td height=10 colspan=16></td></tr>
|
||||||
<tr align=center>
|
<tr align=center>
|
||||||
<?php
|
<?php
|
||||||
$query = "select npc,name,win from tournament where grp>=60 order by grp, grp_no";
|
$query = "select npc,name,win from tournament where grp>=60 order by grp, grp_no";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
for ($i=0; $i < 1; $i++) {
|
for ($i=0; $i < 1; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'win'=>0
|
||||||
|
];
|
||||||
if ($general['name'] == "") {
|
if ($general['name'] == "") {
|
||||||
$general['name'] = "-";
|
$general['name'] = "-";
|
||||||
}
|
}
|
||||||
@@ -96,11 +107,16 @@ $query = "select npc,name,win from tournament where grp>=50 order by grp, grp_no
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$cent = [];
|
$cent = [];
|
||||||
$line = [];
|
$line = [];
|
||||||
|
$gen = [];
|
||||||
for ($i=0; $i < 1; $i++) {
|
for ($i=0; $i < 1; $i++) {
|
||||||
$cent[$i] = "<font color=white>";
|
$cent[$i] = "<font color=white>";
|
||||||
}
|
}
|
||||||
for ($i=0; $i < 2; $i++) {
|
for ($i=0; $i < 2; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'win'=>0
|
||||||
|
];
|
||||||
if ($general['name'] == "") {
|
if ($general['name'] == "") {
|
||||||
$general['name'] = "-";
|
$general['name'] = "-";
|
||||||
}
|
}
|
||||||
@@ -141,7 +157,11 @@ for ($i=0; $i < 2; $i++) {
|
|||||||
$cent[$i] = "<font color=white>";
|
$cent[$i] = "<font color=white>";
|
||||||
}
|
}
|
||||||
for ($i=0; $i < 4; $i++) {
|
for ($i=0; $i < 4; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'win'=>0
|
||||||
|
];
|
||||||
if ($general['name'] == "") {
|
if ($general['name'] == "") {
|
||||||
$general['name'] = "-";
|
$general['name'] = "-";
|
||||||
}
|
}
|
||||||
@@ -182,7 +202,11 @@ for ($i=0; $i < 4; $i++) {
|
|||||||
$cent[$i] = "<font color=white>";
|
$cent[$i] = "<font color=white>";
|
||||||
}
|
}
|
||||||
for ($i=0; $i < 8; $i++) {
|
for ($i=0; $i < 8; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'win'=>0
|
||||||
|
];
|
||||||
if ($general['name'] == "") {
|
if ($general['name'] == "") {
|
||||||
$general['name'] = "-";
|
$general['name'] = "-";
|
||||||
}
|
}
|
||||||
@@ -223,7 +247,11 @@ for ($i=0; $i < 8; $i++) {
|
|||||||
$cent[$i] = "<font color=white>";
|
$cent[$i] = "<font color=white>";
|
||||||
}
|
}
|
||||||
for ($i=0; $i < 16; $i++) {
|
for ($i=0; $i < 16; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'win'=>0
|
||||||
|
];
|
||||||
if ($general['name'] == "") {
|
if ($general['name'] == "") {
|
||||||
$general['name'] = "-";
|
$general['name'] = "-";
|
||||||
}
|
}
|
||||||
@@ -266,19 +294,27 @@ for ($i=0; $i < 16; $i++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for ($i=0; $i < 16; $i++) {
|
for ($i=0; $i < 16; $i++) {
|
||||||
$bet[$i] = @round($admin['bet'] / $admin["bet{$i}"], 2);
|
if($admin["bet{$i}"] == 0){
|
||||||
if ($bet[$i] == 0) {
|
|
||||||
$bet[$i] = "∞";
|
$bet[$i] = "∞";
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
$bet[$i] = round($admin['bet'] / $admin["bet{$i}"], 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ($i=0; $i < 16; $i++) {
|
for ($i=0; $i < 16; $i++) {
|
||||||
$gold[$i] = Util::round($myBet[$i] * $bet[$i]);
|
if(!is_numeric($bet[$i])){
|
||||||
|
$gold[$i] = 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$gold[$i] = Util::round($myBet[$i] * $bet[$i]);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1120 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='tb_layout bg0'>
|
||||||
<tr align=center><td height=10 colspan=16></td></tr>
|
<tr align=center><td height=10 colspan=16></td></tr>
|
||||||
<?php
|
<?php
|
||||||
echo "
|
echo "
|
||||||
@@ -357,7 +393,7 @@ if ($admin['tournament'] == 6) {
|
|||||||
</tr>
|
</tr>
|
||||||
<tr align=center><td height=10 colspan=16></td></tr>
|
<tr align=center><td height=10 colspan=16></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1120 border=0 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='tb_layout bg0'>
|
||||||
<tr align=center><td height=50 colspan=4 id=bg2><font color=yellow size=6>토너먼트 랭킹</font></td></tr>
|
<tr align=center><td height=50 colspan=4 id=bg2><font color=yellow size=6>토너먼트 랭킹</font></td></tr>
|
||||||
<tr align=center><td colspan=4 id=bg2><font color=skyblue size=3>순위 / 장수명 / 능력치 / 경기수 / 승리 / 무승부 / 패배 / 집계점수 / 우승횟수</font></td></tr>
|
<tr align=center><td colspan=4 id=bg2><font color=skyblue size=3>순위 / 장수명 / 능력치 / 경기수 / 승리 / 무승부 / 패배 / 집계점수 / 우승횟수</font></td></tr>
|
||||||
<tr align=center>
|
<tr align=center>
|
||||||
@@ -372,7 +408,7 @@ for ($i=0; $i < 4; $i++) {
|
|||||||
$grp = $i;
|
$grp = $i;
|
||||||
echo "
|
echo "
|
||||||
<td>
|
<td>
|
||||||
<table align=center width=280 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=280 class='tb_layout bg0'>
|
||||||
<tr><td colspan=9 align=center style=color:white;background-color:black;><font size=4>{$type1[$i]}</font></td></tr>
|
<tr><td colspan=9 align=center style=color:white;background-color:black;><font size=4>{$type1[$i]}</font></td></tr>
|
||||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$type2[$i]}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>勝</td></tr>";
|
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$type2[$i]}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>勝</td></tr>";
|
||||||
|
|
||||||
@@ -399,10 +435,9 @@ for ($i=0; $i < 4; $i++) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1120 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1120 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -25,23 +25,30 @@ if($me['level'] < 5) {
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>기밀실</title>
|
<title><?=UniqueConst::$serverName?>: 기밀실</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<div style='width:1000px;margin:auto'>
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>기 밀 실<br><?=backButton()?></td></tr>
|
<tr><td>기 밀 실<br><?=backButton()?></td></tr>
|
||||||
<form name=form1 method=post action=c_chiefboard.php>
|
<form name=form1 method=post action=c_chiefboard.php>
|
||||||
<tr><td align=center>
|
<tr><td align=center>
|
||||||
제목 <input type=textarea maxlength=50 name=title style=color:white;background-color:black;width:830;>
|
제목 <input type=textarea maxlength=50 name=title style=color:white;background-color:black;width:830px;>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<textarea name=msg style=color:white;background-color:black;width:998;height:200;></textarea><br>
|
<textarea name=msg style=color:white;background-color:black;width:998px;height:200px;></textarea><br>
|
||||||
<input type=submit value=저장하기>
|
<input type=submit value=저장하기>
|
||||||
<input type=hidden name=num value=-1>
|
<input type=hidden name=num value=-1>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@@ -65,11 +72,11 @@ for($i=0; $i < 20; $i++) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,11 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("사령부", 1);
|
increaseRefresh("사령부", 1);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
@@ -24,7 +21,7 @@ $query = "select secretlimit from nation where nation='{$me['nation']}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
||||||
|
|
||||||
if($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
if($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretlimit'])) {
|
||||||
@@ -38,9 +35,7 @@ else { $btn = "hidden"; $btn2 = "hidden"; }
|
|||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
// 명령 목록
|
// 명령 목록
|
||||||
$query = "select year,month,turnterm from game limit 1";
|
$admin = $gameStor->getValues(['year','month','turnterm']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
select nation,level,
|
select nation,level,
|
||||||
@@ -58,23 +53,40 @@ $nation = MYDB_fetch_array($result);
|
|||||||
|
|
||||||
$lv = getNationChiefLevel($nation['level']);
|
$lv = getNationChiefLevel($nation['level']);
|
||||||
$turn = [];
|
$turn = [];
|
||||||
$gen = [];
|
|
||||||
for($i=12; $i >= $lv; $i--) {
|
for($i=12; $i >= $lv; $i--) {
|
||||||
$turn[$i] = getCoreTurn($nation, $i);
|
$turn[$i] = getCoreTurn($nation, $i);
|
||||||
|
|
||||||
$query = "select name,turntime,npc from general where level={$i} and nation='{$me['nation']}'";
|
$query = "select name,turntime,npc from general where level={$i} and nation='{$me['nation']}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$gen[$i] = MYDB_fetch_array($result);
|
$gen[$i] = MYDB_fetch_array($result)??[
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'turntime'=>''
|
||||||
|
];
|
||||||
|
}
|
||||||
|
for($i= $lv - 1; $i>=5; $i--){
|
||||||
|
$gen[$i] = [
|
||||||
|
'npc'=>0,
|
||||||
|
'name'=>'',
|
||||||
|
'turntime'=>''
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>사령부</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 사령부</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function turn(type) {
|
function turn(type) {
|
||||||
if(type == 0) location.replace('turn_push_core.php');
|
if(type == 0) location.replace('turn_push_core.php');
|
||||||
@@ -85,10 +97,10 @@ function turn(type) {
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>사 령 부<input type=button value='갱신' onclick=location.replace('b_chiefcenter.php')><br><?=backButton()?></td></tr>
|
<tr><td>사 령 부<input type=button value='갱신' onclick=location.replace('b_chiefcenter.php')><br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=10 align=center bgcolor=skyblue>수뇌부 일정</td></tr>
|
<tr><td colspan=10 align=center bgcolor=skyblue>수뇌부 일정</td></tr>
|
||||||
<tr><td colspan=10 align=center>
|
<tr><td colspan=10 align=center>
|
||||||
<?php
|
<?php
|
||||||
@@ -105,35 +117,27 @@ for($i=12; $i >= $lv; $i--) {
|
|||||||
$turntime[$i] = substr($gen[$i]['turntime'], 14);
|
$turntime[$i] = substr($gen[$i]['turntime'], 14);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//FIXME: 각 칸을 div로 놓으면 네개씩 출력하는 삽질이 필요없다.
|
//FIXME: 각 칸을 div로 놓으면 네개씩 출력하는 삽질이 필요없다.
|
||||||
|
|
||||||
for($k=0; $k < 2; $k++) {
|
for($k=0; $k < 2; $k++) {
|
||||||
$l4 = 12 - $k; $l3 = 10 - $k; $l2 = 8 - $k; $l1 = 6 - $k;
|
$l4 = 12 - $k; $l3 = 10 - $k; $l2 = 8 - $k; $l1 = 6 - $k;
|
||||||
|
|
||||||
if(!isset($gen[$l4])){
|
if ($gen[$l4]['npc'] >= 2) { $gen[$l4]['name'] = "<font color=cyan>".($gen[$l4]['name']??'')."</font>"; }
|
||||||
$gen[$l4] = [
|
elseif($gen[$l4]['npc'] == 1) { $gen[$l4]['name'] = "<font color=skyblue>".($gen[$l4]['name']??'')."</font>"; }
|
||||||
'npc'=>0,
|
if ($gen[$l3]['npc'] >= 2) { $gen[$l3]['name'] = "<font color=cyan>".($gen[$l3]['name']??'')."</font>"; }
|
||||||
'name'=>0
|
elseif($gen[$l3]['npc'] == 1) { $gen[$l3]['name'] = "<font color=skyblue>".($gen[$l3]['name']??'')."</font>"; }
|
||||||
];
|
if ($gen[$l2]['npc'] >= 2) { $gen[$l2]['name'] = "<font color=cyan>".($gen[$l2]['name']??'')."</font>"; }
|
||||||
}
|
elseif($gen[$l2]['npc'] == 1) { $gen[$l2]['name'] = "<font color=skyblue>".($gen[$l2]['name']??'')."</font>"; }
|
||||||
|
if ($gen[$l1]['npc'] >= 2) { $gen[$l1]['name'] = "<font color=cyan>".($gen[$l1]['name']??'')."</font>"; }
|
||||||
if ($gen[$l4]['npc'] >= 2) { $gen[$l4]['name'] = "<font color=cyan>".$gen[$l4]['name']."</font>"; }
|
elseif($gen[$l1]['npc'] == 1) { $gen[$l1]['name'] = "<font color=skyblue>".($gen[$l1]['name']??'')."</font>"; }
|
||||||
elseif($gen[$l4]['npc'] == 1) { $gen[$l4]['name'] = "<font color=skyblue>".$gen[$l4]['name']."</font>"; }
|
|
||||||
if ($gen[$l3]['npc'] >= 2) { $gen[$l3]['name'] = "<font color=cyan>".$gen[$l3]['name']."</font>"; }
|
|
||||||
elseif($gen[$l3]['npc'] == 1) { $gen[$l3]['name'] = "<font color=skyblue>".$gen[$l3]['name']."</font>"; }
|
|
||||||
if ($gen[$l2]['npc'] >= 2) { $gen[$l2]['name'] = "<font color=cyan>".$gen[$l2]['name']."</font>"; }
|
|
||||||
elseif($gen[$l2]['npc'] == 1) { $gen[$l2]['name'] = "<font color=skyblue>".$gen[$l2]['name']."</font>"; }
|
|
||||||
if ($gen[$l1]['npc'] >= 2) { $gen[$l1]['name'] = "<font color=cyan>".$gen[$l1]['name']."</font>"; }
|
|
||||||
elseif($gen[$l1]['npc'] == 1) { $gen[$l1]['name'] = "<font color=skyblue>".$gen[$l1]['name']."</font>"; }
|
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center id=bg1>.</td>
|
<td align=center id=bg1>.</td>
|
||||||
<td colspan=2 align=center id=bg1><b>".getLevel($l4, $nation['level'])." : {$gen[$l4]['name']}</b></td>
|
<td colspan=2 align=center id=bg1><b>".getLevel($l4, $nation['level'])." : ".($gen[$l4]['name']??'')."</b></td>
|
||||||
<td colspan=2 align=center id=bg1><b>".getLevel($l3, $nation['level'])." : {$gen[$l3]['name']}</b></td>
|
<td colspan=2 align=center id=bg1><b>".getLevel($l3, $nation['level'])." : ".($gen[$l3]['name']??'')."</b></td>
|
||||||
<td colspan=2 align=center id=bg1><b>".getLevel($l2, $nation['level'])." : {$gen[$l2]['name']}</b></td>
|
<td colspan=2 align=center id=bg1><b>".getLevel($l2, $nation['level'])." : ".($gen[$l2]['name']??'')."</b></td>
|
||||||
<td colspan=2 align=center id=bg1><b>".getLevel($l1, $nation['level'])." : {$gen[$l1]['name']}</b></td>
|
<td colspan=2 align=center id=bg1><b>".getLevel($l1, $nation['level'])." : ".($gen[$l1]['name']??'')."</b></td>
|
||||||
<td align=center id=bg1>.</td>
|
<td align=center id=bg1>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
@@ -144,52 +148,51 @@ for($k=0; $k < 2; $k++) {
|
|||||||
$turndate[$l2] = substr($totaldate[$l2]??'', 11, 5);
|
$turndate[$l2] = substr($totaldate[$l2]??'', 11, 5);
|
||||||
$turndate[$l1] = substr($totaldate[$l1]??'', 11, 5);
|
$turndate[$l1] = substr($totaldate[$l1]??'', 11, 5);
|
||||||
$j = $i + 1;
|
$j = $i + 1;
|
||||||
$td4 = $turndate[$l4] ?: "-";
|
$td4 = $turndate[$l4]??"-";
|
||||||
$td3 = $turndate[$l3] ?: "-";
|
$td3 = $turndate[$l3]??"-";
|
||||||
$td2 = $turndate[$l2] ?: "-";
|
$td2 = $turndate[$l2]??"-";
|
||||||
$td1 = $turndate[$l1] ?: "-";
|
$td1 = $turndate[$l1]??"-";
|
||||||
$tn4 = $turn[$l4][$i] ?? "-";
|
$tn4 = $turn[$l4][$i]??"-";
|
||||||
$tn3 = $turn[$l3][$i] ?? "-";
|
$tn3 = $turn[$l3][$i]??"-";
|
||||||
$tn2 = $turn[$l2][$i] ?? "-";
|
$tn2 = $turn[$l2][$i]??"-";
|
||||||
$tn1 = $turn[$l1][$i] ?? "-";
|
$tn1 = $turn[$l1][$i]??"-";
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td width=28 align=center id=bg0><b>$j</b></td>
|
<td width=20 align=center id=bg0><b>$j</b></td>
|
||||||
<td width=58 align=center bgcolor=black><b>$td4</b></td>
|
<td width=43 align=center bgcolor=black><b>$td4</b></td>
|
||||||
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn4</td>
|
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn4</td>
|
||||||
<td width=58 align=center bgcolor=black><b>$td3</b></td>
|
<td width=43 align=center bgcolor=black><b>$td3</b></td>
|
||||||
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn3</td>
|
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn3</td>
|
||||||
<td width=58 align=center bgcolor=black><b>$td2</b></td>
|
<td width=43 align=center bgcolor=black><b>$td2</b></td>
|
||||||
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn2</td>
|
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn2</td>
|
||||||
<td width=58 align=center bgcolor=black><b>$td1</b></td>
|
<td width=43 align=center bgcolor=black><b>$td1</b></td>
|
||||||
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn1</td>
|
<td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn1</td>
|
||||||
<td width=28 align=center id=bg0><b>$j</b></td>
|
<td width=20 align=center id=bg0><b>$j</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
if($totaldate[$l4] != "") { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); }
|
if($totaldate[$l4]??'') { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); }
|
||||||
if($totaldate[$l3] != "") { $totaldate[$l3] = addTurn($totaldate[$l3], $admin['turnterm']); }
|
if($totaldate[$l3]??'') { $totaldate[$l3] = addTurn($totaldate[$l3], $admin['turnterm']); }
|
||||||
if($totaldate[$l2] != "") { $totaldate[$l2] = addTurn($totaldate[$l2], $admin['turnterm']); }
|
if($totaldate[$l2]??'') { $totaldate[$l2] = addTurn($totaldate[$l2], $admin['turnterm']); }
|
||||||
if($totaldate[$l1] != "") { $totaldate[$l1] = addTurn($totaldate[$l1], $admin['turnterm']); }
|
if($totaldate[$l1]??'') { $totaldate[$l1] = addTurn($totaldate[$l1], $admin['turnterm']); }
|
||||||
}
|
}
|
||||||
if($k == 0) {
|
if($k == 0) {
|
||||||
echo "<form action=processing.php method=post><tr><td colspan=5 align=right>";
|
echo "<form action=processing.php method=post><tr><td colspan=5 align=right>";
|
||||||
echo CoreTurnTable();
|
echo CoreTurnTable();
|
||||||
echo "</td><td colspan=5>
|
echo "</td><td colspan=5>
|
||||||
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58;font-size:13px; value='미루기▼' onclick='turn(0)'>
|
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58px;font-size:13px; value='미루기▼' onclick='turn(0)'>
|
||||||
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58;font-size:13px; value='▲당기기' onclick='turn(1)'>
|
<input type={$btn2} style=background-color:".GameConst::$basecolor2.";color:white;width:58px;font-size:13px; value='▲당기기' onclick='turn(1)'>
|
||||||
<br>";
|
<br>";
|
||||||
CoreCommandTable();
|
CoreCommandTable();
|
||||||
echo "<input type={$btn} style=background-color:".GameConst::$basecolor2.";color:white;width:55;font-size:13px; value='실 행'></td></tr></form>";
|
echo "<input type={$btn} style=background-color:".GameConst::$basecolor2.";color:white;width:55px;font-size:13px; value='실 행'></td></tr></form>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,12 @@ include "func.php";
|
|||||||
|
|
||||||
$citylist = Util::getReq('citylist', 'int');
|
$citylist = Util::getReq('citylist', 'int');
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
$userGrade = Session::getUserGrade();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
@@ -19,31 +22,51 @@ $query = "select no,nation,level,city from general where owner='{$userID}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select nation,level,spy from nation where nation='{$me['nation']}'";
|
$myNation = $db->queryFirstRow('SELECT nation,level,spy FROM nation WHERE nation=%i', $me['nation']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$myNation = MYDB_fetch_array($result);
|
$templates = new \League\Plates\Engine('templates');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>도시정보</title>
|
<title><?=UniqueConst::$serverName?>: 도시정보</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<style>
|
||||||
|
#general_list tr td{
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#general_list tr td:last-child{
|
||||||
|
text-align:left;
|
||||||
|
padding-left:1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.general_turn_text{
|
||||||
|
font-size:x-small;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>도 시 정 보<br><?=backButton()?></td></tr>
|
<tr><td>도 시 정 보<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=998>
|
<td width=998>
|
||||||
<form name=cityselect method=get>도시선택 :
|
<form name=cityselect method=get>도시선택 :
|
||||||
<select name=citylist size=1 style=color:white;background-color:black;width:798;>
|
<select name=citylist size=1 style=color:white;background-color:black;width:798px;>
|
||||||
<?php
|
<?php
|
||||||
if(!$citylist){
|
if(!$citylist){
|
||||||
$citylist = $me['city'];
|
$citylist = $me['city'];
|
||||||
@@ -101,27 +124,34 @@ if($me['level'] == 0) {
|
|||||||
|
|
||||||
if($myNation['level'] > 0) {
|
if($myNation['level'] > 0) {
|
||||||
// 첩보도시도 목록에 추가
|
// 첩보도시도 목록에 추가
|
||||||
$where = 'city=0';
|
|
||||||
$cities = array_map('intval',explode("|", $myNation['spy']));
|
$rawSpy = $myNation['spy'];
|
||||||
foreach($cities as $citySpy) {
|
|
||||||
$city = intdiv($citySpy, 10);
|
if($rawSpy == ''){
|
||||||
$where .= " or city='{$city}'";
|
$spyCities = [];
|
||||||
|
}
|
||||||
|
else if(strpos($rawSpy, '|') !== false || is_numeric($rawSpy)){
|
||||||
|
//TODO: 0.8 버전 이후에는 삭제할 것. 이후 버전은 json으로 변경됨.
|
||||||
|
$spyCities = array_map(function($val){
|
||||||
|
$val = intval($val);
|
||||||
|
return intdiv($val, 10);
|
||||||
|
}, 'intval',explode('|', $myNation['spy']));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$spyCities = array_keys(Json::decode($rawSpy));
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "select city,name,nation from city where {$where}";
|
|
||||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$citycount = MYDB_num_rows($cityresult);
|
|
||||||
|
|
||||||
for($i=0; $i < $citycount; $i++) {
|
if($spyCities){
|
||||||
$city = MYDB_fetch_array($cityresult);
|
foreach ($db->query('SELECT city,name,nation FROM city WHERE city in %li', $spyCities) as $city) {
|
||||||
echo "
|
echo "<option value={$city['city']}";
|
||||||
<option value={$city['city']}";
|
if($city['city'] == $citylist) { echo " selected"; $valid = 1; }
|
||||||
if($city['city'] == $citylist) { echo " selected"; $valid = 1; }
|
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
||||||
echo ">==================================================【".StringUtil::padString($city['name'], 4, '_')."】";
|
if($city['nation'] == 0) echo "공백지";
|
||||||
if($city['nation'] == 0) echo "공백지";
|
elseif($me['nation'] == $city['nation']) echo "본국==";
|
||||||
elseif($me['nation'] == $city['nation']) echo "본국==";
|
else echo "타국==";
|
||||||
else echo "타국==";
|
echo "============================================</option>";
|
||||||
echo "============================================</option>";
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -139,13 +169,13 @@ echo "
|
|||||||
unset($city);
|
unset($city);
|
||||||
|
|
||||||
// 첩보된 도시까지만 허용
|
// 첩보된 도시까지만 허용
|
||||||
if($valid == 0 && $session->userGrade < 5) {
|
if($valid == 0 && $userGrade < 5) {
|
||||||
$citylist = $me['city'];
|
$citylist = $me['city'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$city = $db->queryFirstRow('SELECT * FROM city WHERE city=%i', $citylist);
|
$city = $db->queryFirstRow('SELECT * FROM city WHERE city=%i', $citylist);
|
||||||
$nation = getNationStaticInfo($city['nation']);
|
$cityNation = getNationStaticInfo($city['nation']);
|
||||||
|
|
||||||
//태수, 군사, 시중
|
//태수, 군사, 시중
|
||||||
$gen1 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $city['gen1']);
|
$gen1 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $city['gen1']);
|
||||||
@@ -155,61 +185,7 @@ $gen3 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $cit
|
|||||||
if($city['trade'] == 0) {
|
if($city['trade'] == 0) {
|
||||||
$city['trade'] = "- ";
|
$city['trade'] = "- ";
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr><td><?=backButton()?></td></tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
|
||||||
<tr>
|
|
||||||
<td colspan=12 align=center style=color:"<?=newColor($nation['color'])?>"; bgcolor=<?=$nation['color']?>>【 <?=CityConst::$regionMap[$city['region']]?> | <?=CityConst::$levelMap[$city['level']]?> 】 <?=$city['name']?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=center width=48 id=bg1>주민</td>
|
|
||||||
<td align=center width=112><?=$city['pop']?>/<?=$city['pop2']?></td>
|
|
||||||
<td align=center width=48 id=bg1>농업</td>
|
|
||||||
<td align=center width=108><?=$city['agri']?>/<?=$city['agri2']?></td>
|
|
||||||
<td align=center width=48 id=bg1>상업</td>
|
|
||||||
<td align=center width=108><?=$city['comm']?>/<?=$city['comm2']?></td>
|
|
||||||
<td align=center width=48 id=bg1>치안</td>
|
|
||||||
<td align=center width=108><?=$city['secu']?>/<?=$city['secu2']?></td>
|
|
||||||
<td align=center width=48 id=bg1>수비</td>
|
|
||||||
<td align=center width=108><?=$city['def']?>/<?=$city['def2']?></td>
|
|
||||||
<td align=center width=48 id=bg1>성벽</td>
|
|
||||||
<td align=center width=108><?=$city['wall']?>/<?=$city['wall2']?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=center id=bg1>민심</td>
|
|
||||||
<td align=center><?=$city['rate']?></td>
|
|
||||||
<td align=center id=bg1>시세</td>
|
|
||||||
<td align=center><?=$city['trade']?>%</td>
|
|
||||||
<td align=center id=bg1>인구</td>
|
|
||||||
<td align=center><?=round($city['pop']/$city['pop2']*100, 2)?>%</td>
|
|
||||||
<td align=center id=bg1>태수</td>
|
|
||||||
<td align=center><?=$gen1['name']??'-'?></td>
|
|
||||||
<td align=center id=bg1>군사</td>
|
|
||||||
<td align=center><?=$gen2['name']??'-'?></td>
|
|
||||||
<td align=center id=bg1>시중</td>
|
|
||||||
<td align=center><?=$gen3['name']??'-'?></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=center id=bg1>장수</td>
|
|
||||||
<td colspan=11>
|
|
||||||
<?php
|
|
||||||
$query = "select name, npc from general where city='{$city['city']}' and nation='{$city['nation']}'"; // 장수 목록
|
|
||||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$gencount = MYDB_num_rows($genresult);
|
|
||||||
if($gencount == 0) echo "-";
|
|
||||||
for($i=0; $i < $gencount; $i++) {
|
|
||||||
$general = MYDB_fetch_array($genresult);
|
|
||||||
echo "{$general['name']}, ";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<?php
|
|
||||||
$query = "select npc,mode,no,picture,imgsvr,name,injury,leader,power,intel,level,nation,crewtype,crew,train,atmos,term,turn0,turn1,turn2,turn3,turn4,turn5 from general where city='{$city['city']}' order by dedication desc"; // 장수 목록
|
$query = "select npc,mode,no,picture,imgsvr,name,injury,leader,power,intel,level,nation,crewtype,crew,train,atmos,term,turn0,turn1,turn2,turn3,turn4,turn5 from general where city='{$city['city']}' order by dedication desc"; // 장수 목록
|
||||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$gencount = MYDB_num_rows($genresult);
|
$gencount = MYDB_num_rows($genresult);
|
||||||
@@ -221,127 +197,275 @@ foreach(getAllNationStaticInfo() as $nation){
|
|||||||
$nationlevel[$nation['nation']] = $nation['level'];
|
$nationlevel[$nation['nation']] = $nation['level'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if($gencount != 0) {
|
//도시명 오 적군 0/0(0) 병장(총) 0/0(4) 90병장 0/0 60병장 0/0 수비○ 0/0
|
||||||
echo "
|
$generalsFormat = [];
|
||||||
<br>
|
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
|
||||||
<td width=64 align=center id=bg1>얼 굴</td>
|
|
||||||
<td width=98 align=center id=bg1>이 름</td>
|
|
||||||
<td width=48 align=center id=bg1>통솔</td>
|
|
||||||
<td width=48 align=center id=bg1>무력</td>
|
|
||||||
<td width=48 align=center id=bg1>지력</td>
|
|
||||||
<td width=78 align=center id=bg1>관 직</td>
|
|
||||||
<td width=28 align=center id=bg1>守</td>
|
|
||||||
<td width=78 align=center id=bg1>병 종</td>
|
|
||||||
<td width=78 align=center id=bg1>병 사</td>
|
|
||||||
<td width=48 align=center id=bg1>훈련</td>
|
|
||||||
<td width=48 align=center id=bg1>사기</td>
|
|
||||||
<td width=310 align=center id=bg1>명 령</td>
|
|
||||||
</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
for($j=0; $j < $gencount; $j++) {
|
for($j=0; $j < $gencount; $j++) {
|
||||||
$general = MYDB_fetch_array($genresult);
|
$general = MYDB_fetch_array($genresult);
|
||||||
|
|
||||||
|
$nationInfo = getNationStaticInfo($general['nation']);
|
||||||
|
|
||||||
|
if($general['nation'] != 0 && $general['nation'] == $myNation['nation']){
|
||||||
|
$ourGeneral = true;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$ourGeneral = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($userGrade == 6){
|
||||||
|
$ourGeneral = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$isNPC = $general['npc']>1;
|
||||||
|
$wounded = $general['injury'];
|
||||||
|
|
||||||
|
|
||||||
|
$name = $general['name'];
|
||||||
|
$nameText = formatName($name, $general['npc']);
|
||||||
|
|
||||||
|
$leadership = $general['leader'];
|
||||||
|
$power = $general['power'];
|
||||||
|
$intel = $general['intel'];
|
||||||
|
|
||||||
|
$leadershipText = formatWounded($leadership, $general['injury']);
|
||||||
|
$powerText = formatWounded($power, $general['injury']);
|
||||||
|
$intelText = formatWounded($intel, $general['injury']);
|
||||||
|
|
||||||
|
$level = $general['level'];
|
||||||
|
$levelText = getLevel($general['level']);
|
||||||
|
|
||||||
if($general['level'] == 12) {
|
if($general['level'] == 12) {
|
||||||
$lbonus = $nationlevel[$general['nation']] * 2;
|
$leadershipBonus = $nationInfo['level'] * 2;
|
||||||
} elseif($general['level'] >= 5) {
|
} elseif($general['level'] >= 5) {
|
||||||
$lbonus = $nationlevel[$general['nation']];
|
$leadershipBonus = $nationInfo['level'];
|
||||||
} else {
|
} else {
|
||||||
$lbonus = 0;
|
$leadershipBonus = 0;
|
||||||
}
|
}
|
||||||
if($lbonus > 0) {
|
$leadershipBonusText = formatLeadershipBonus($leadershipBonus);
|
||||||
$lbonus = "<font color=cyan>+{$lbonus}</font>";
|
|
||||||
} else {
|
if($ourGeneral){
|
||||||
$lbonus = "";
|
$defenceMode = $general['mode'];
|
||||||
|
$defenceModeText = formatDefenceMode($defenceMode);
|
||||||
|
$crewType = $general['crewtype'];
|
||||||
|
$crewTypeText = GameUnitConst::byId($crewType)->name;
|
||||||
|
$crew = $general['crew'];
|
||||||
|
$train = $general['train'];
|
||||||
|
$atmos = $general['atmos'];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$defenceMode = 0;
|
||||||
|
$defenceModeText = '';
|
||||||
|
$crewType = 0;
|
||||||
|
$crewTypeText = '';
|
||||||
|
$crew = $general['crew'];
|
||||||
|
$train = -1;
|
||||||
|
$atmos = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($general['injury'] > 0) {
|
$nation = $general['nation'];
|
||||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
$nationName = $nationInfo['name'];
|
||||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
|
||||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
|
||||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
|
||||||
$power = "<font color=red>{$power}</font>";
|
|
||||||
$intel = "<font color=red>{$intel}</font>";
|
|
||||||
} else {
|
|
||||||
$leader = "{$general['leader']}{$lbonus}";
|
|
||||||
$power = "{$general['power']}";
|
|
||||||
$intel = "{$general['intel']}";
|
|
||||||
}
|
|
||||||
|
|
||||||
if($general['npc'] >= 2) { $general['name'] = "<font color=cyan>{$general['name']}</font>"; }
|
if($ourGeneral && !$isNPC){
|
||||||
elseif($general['npc'] == 1) { $general['name'] = "<font color=skyblue>{$general['name']}</font>"; }
|
$turnText = [];
|
||||||
$imageTemp = GetImageURL($general['imgsvr']);
|
foreach(getTurn($general, 1) as $turnRawIdx=>$turn){
|
||||||
echo "
|
$turnIdx = $turnRawIdx+1;
|
||||||
<tr>
|
$turnText[] = "{$turnIdx} : $turn";
|
||||||
<td align=center height=64></td>
|
|
||||||
<td align=center>{$general['name']}</td>
|
|
||||||
<td align=center>$leader</td>
|
|
||||||
<td align=center>$power</td>
|
|
||||||
<td align=center>$intel</td>
|
|
||||||
<td align=center>".getLevel($general['level'])."</td>";
|
|
||||||
//아국장수이거나 보는 사람이 운영자일때 보여줌
|
|
||||||
if(($general['nation'] != 0 && $general['nation'] == $myNation['nation']) || $session->userGrade >= 5) {
|
|
||||||
switch($general['mode']) {
|
|
||||||
case 0: $mode = "×"; break;
|
|
||||||
case 1: $mode = "○"; break;
|
|
||||||
case 2: $mode = "◎"; break;
|
|
||||||
}
|
}
|
||||||
|
$turnText = join('<br>', $turnText);
|
||||||
echo "
|
|
||||||
<td align=center>$mode</td>
|
|
||||||
<td align=center>".GameUnitConst::byId($general['crewtype'])->name."</td>
|
|
||||||
<td align=center>{$general['crew']}</td>
|
|
||||||
<td align=center>{$general['train']}</td>
|
|
||||||
<td align=center>{$general['atmos']}</td>";
|
|
||||||
if($general['npc'] >= 2) {
|
|
||||||
echo "
|
|
||||||
<td>NPC 장수";
|
|
||||||
} else {
|
|
||||||
echo "
|
|
||||||
<td>
|
|
||||||
<font size=1>";
|
|
||||||
$turn = getTurn($general, 1);
|
|
||||||
|
|
||||||
for($i=0; $i < 4; $i++) {
|
|
||||||
$k = $i+1;
|
|
||||||
echo "
|
|
||||||
$k : $turn[$i]<br>";
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
</font>";
|
|
||||||
}
|
|
||||||
} elseif($general['nation'] != 0) {
|
|
||||||
echo "
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>{$general['crew']}</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td>【{$nationname[$general['nation']]}】 장수";
|
|
||||||
} else {
|
|
||||||
echo "
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>{$general['crew']}</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td align=center>?</td>
|
|
||||||
<td> 재 야";
|
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
echo "
|
$turnText = '';
|
||||||
</td>
|
}
|
||||||
</tr>";
|
|
||||||
|
$generalsFormat[] = [
|
||||||
|
'ourGeneral'=>$ourGeneral,
|
||||||
|
'isNPC'=>$isNPC,
|
||||||
|
'wounded'=>$wounded,
|
||||||
|
'name'=>$name,
|
||||||
|
'nameText'=>$nameText,
|
||||||
|
'leadership'=>$leadership,
|
||||||
|
'leadershipText'=>$leadershipText,
|
||||||
|
'leadershipBonus'=>$leadershipBonus,
|
||||||
|
'leadershipBonusText'=>$leadershipBonusText,
|
||||||
|
'level'=>$level,
|
||||||
|
'levelText'=>$levelText,
|
||||||
|
'power'=>$power,
|
||||||
|
'powerText'=>$powerText,
|
||||||
|
'intel'=>$intel,
|
||||||
|
'intelText'=>$intelText,
|
||||||
|
'defenceMode'=>$defenceMode,
|
||||||
|
'defenceModeText'=>$defenceModeText,
|
||||||
|
'crewType'=>$crewType,
|
||||||
|
'crewTypeText'=>$crewTypeText,
|
||||||
|
'crew'=>$crew,
|
||||||
|
'train'=>$train,
|
||||||
|
'atmos'=>$atmos,
|
||||||
|
'nation'=>$nation,
|
||||||
|
'nationName'=>$nationName,
|
||||||
|
'turnText'=>$turnText
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$generalsName = array_map(function($gen){return $gen['name'];}, $generalsFormat);
|
||||||
|
|
||||||
|
$enemyCrew = 0;
|
||||||
|
$enemyCnt = 0;
|
||||||
|
$enemyArmedCnt = 0;
|
||||||
|
$crew90 = 0;
|
||||||
|
$gen90 = 0;
|
||||||
|
$crew80 = 0;
|
||||||
|
$gen80 = 0;
|
||||||
|
$crew60 = 0;
|
||||||
|
$gen60 = 0;
|
||||||
|
|
||||||
|
$crewDef = 0;
|
||||||
|
$genDef = 0 ;
|
||||||
|
|
||||||
|
$crewTotal = 0;
|
||||||
|
$armedGenTotal = 0;
|
||||||
|
$genTotal = 0;
|
||||||
|
|
||||||
|
|
||||||
|
foreach($generalsFormat as $general){
|
||||||
|
if($general['nation'] == 0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if($general['nation'] != $myNation['nation']){
|
||||||
|
$enemyCnt += 1;
|
||||||
|
$enemyCrew += $general['crew'];
|
||||||
|
if($general['crew'] > 0){
|
||||||
|
$enemyArmedCnt += 1;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$crewTotal += $general['crew'];
|
||||||
|
$genTotal += 1;
|
||||||
|
|
||||||
|
if($general['crew'] == 0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$armedGenTotal += 1;
|
||||||
|
|
||||||
|
if($general['train'] >= 90 && $general['atmos'] >= 90){
|
||||||
|
$crew90 += $general['crew'];
|
||||||
|
$gen90 += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$chkDef = false;
|
||||||
|
if($general['train'] >= 80 && $general['atmos'] >= 80){
|
||||||
|
$crew80 += $general['crew'];
|
||||||
|
$gen80 += 1;
|
||||||
|
if($general['defenceMode'] == 2){
|
||||||
|
$crewDef += $general['crew'];
|
||||||
|
$genDef += 1;
|
||||||
|
$chkDef = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['train'] >= 60 && $general['atmos'] >= 60){
|
||||||
|
$crew60 += $general['crew'];
|
||||||
|
$gen60 += 1;
|
||||||
|
|
||||||
|
if($general['defenceMode'] == 1 && !$chkDef){
|
||||||
|
$crewDef += $general['crew'];
|
||||||
|
$genDef += 1;
|
||||||
|
$chkDef = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
|
<tr><td><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg2'>
|
||||||
|
<tr>
|
||||||
|
<td colspan=11 align=center style='color:<?=newColor($cityNation['color'])?>; background:<?=$cityNation['color']?>'>【 <?=CityConst::$regionMap[$city['region']]?> | <?=CityConst::$levelMap[$city['level']]?> 】 <?=$city['name']?></td>
|
||||||
|
<td style='color:<?=newColor($cityNation['color'])?>; background:<?=$cityNation['color']?>' class='center'><?=date('m-d H:i:s')?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=center width=48 class=bg1>주민</td>
|
||||||
|
<td align=center width=112><?=$city['pop']?>/<?=$city['pop2']?></td>
|
||||||
|
<td align=center width=48 class=bg1>농업</td>
|
||||||
|
<td align=center width=108><?=$city['agri']?>/<?=$city['agri2']?></td>
|
||||||
|
<td align=center width=48 class=bg1>상업</td>
|
||||||
|
<td align=center width=108><?=$city['comm']?>/<?=$city['comm2']?></td>
|
||||||
|
<td align=center width=48 class=bg1>치안</td>
|
||||||
|
<td align=center width=108><?=$city['secu']?>/<?=$city['secu2']?></td>
|
||||||
|
<td align=center width=48 class=bg1>수비</td>
|
||||||
|
<td align=center width=108><?=$city['def']?>/<?=$city['def2']?></td>
|
||||||
|
<td align=center width=48 class=bg1>성벽</td>
|
||||||
|
<td align=center width=108><?=$city['wall']?>/<?=$city['wall2']?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=center class=bg1>민심</td>
|
||||||
|
<td align=center><?=$city['rate']?></td>
|
||||||
|
<td align=center class=bg1>시세</td>
|
||||||
|
<td align=center><?=$city['trade']?>%</td>
|
||||||
|
<td align=center class=bg1>인구</td>
|
||||||
|
<td align=center><?=round($city['pop']/$city['pop2']*100, 2)?>%</td>
|
||||||
|
<td align=center class=bg1>태수</td>
|
||||||
|
<td align=center><?=$gen1['name']??'-'?></td>
|
||||||
|
<td align=center class=bg1>군사</td>
|
||||||
|
<td align=center><?=$gen2['name']??'-'?></td>
|
||||||
|
<td align=center class=bg1>시중</td>
|
||||||
|
<td align=center><?=$gen3['name']??'-'?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=center class=bg1>도시명</td>
|
||||||
|
<td align=center><?=$city['name']?></td>
|
||||||
|
<td align=center class=bg1>적군</td>
|
||||||
|
<td align=center><?=number_format($enemyCrew)?>/<?=number_format($enemyArmedCnt)?>(<?=number_format($enemyCnt)?>)</td>
|
||||||
|
<td align=center class=bg1>병장(총)</td>
|
||||||
|
<td align=center><?=number_format($crewTotal)?>/<?=number_format($armedGenTotal)?>(<?=number_format($genTotal)?>)</td>
|
||||||
|
<td align=center class=bg1>90병장</td>
|
||||||
|
<td align=center><?=number_format($crew90)?>/<?=number_format($gen90)?></td>
|
||||||
|
<td align=center class=bg1>60병장</td>
|
||||||
|
<td align=center><?=number_format($crew60)?>/<?=number_format($gen60)?></td>
|
||||||
|
<td align=center class=bg1>수비○</td>
|
||||||
|
<td align=center><?=number_format($crewDef)?>/<?=number_format($genDef)?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=center class=bg1>장수</td>
|
||||||
|
<td colspan=11><?=join(', ', $generalsName)?></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<table align=center class='tb_layout bg0'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td width=64 align=center class=bg1>얼 굴</td>
|
||||||
|
<td width=128 align=center class=bg1>이 름</td>
|
||||||
|
<td width=48 align=center class=bg1>통솔</td>
|
||||||
|
<td width=48 align=center class=bg1>무력</td>
|
||||||
|
<td width=48 align=center class=bg1>지력</td>
|
||||||
|
<td width=78 align=center class=bg1>관 직</td>
|
||||||
|
<td width=28 align=center class=bg1>守</td>
|
||||||
|
<td width=78 align=center class=bg1>병 종</td>
|
||||||
|
<td width=78 align=center class=bg1>병 사</td>
|
||||||
|
<td width=48 align=center class=bg1>훈련</td>
|
||||||
|
<td width=48 align=center class=bg1>사기</td>
|
||||||
|
<td width=280 align=center class=bg1>명 령</td>
|
||||||
|
</tr></thead>
|
||||||
|
<tbody class='bg0' id='general_list'>
|
||||||
|
<?php
|
||||||
|
foreach($generalsFormat as $general){
|
||||||
|
echo $templates->render('cityGeneral', $general);
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,11 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("내무부", 1);
|
increaseRefresh("내무부", 1);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
@@ -24,7 +21,7 @@ $query = "select secretlimit from nation where nation='{$me['nation']}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
@@ -47,33 +44,47 @@ if ($me['level'] >= 5) {
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>내무부</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 내무부</title>
|
||||||
|
<script>
|
||||||
|
var editable = <?=($me['level']>=5?'true':'false')?>;
|
||||||
|
</script>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/summernote/summernote-bs4.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/summernote/lang/summernote-ko-KR.js')?>
|
||||||
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/dipcenter.js')?>
|
||||||
|
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/summernote/summernote-bs4.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/dipcenter.css')?>
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nanum+Gothic|Nanum+Myeongjo|Nanum+Pen+Script" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>내 무 부<br><?=backButton()?></td></tr>
|
<tr><td>내 무 부<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
|
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=100 align=center id=bg1>국 가 명</td>
|
<td width=130 align=center class=bg1>국 가 명</td>
|
||||||
<td width=50 align=center id=bg1>국력</td>
|
<td width=50 align=center class=bg1>국력</td>
|
||||||
<td width=40 align=center id=bg1>장수</td>
|
<td width=40 align=center class=bg1>장수</td>
|
||||||
<td width=40 align=center id=bg1>속령</td>
|
<td width=40 align=center class=bg1>속령</td>
|
||||||
<td width=80 align=center id=bg1>상태</td>
|
<td width=80 align=center class=bg1>상태</td>
|
||||||
<td width=60 align=center id=bg1>기간</td>
|
<td width=60 align=center class=bg1>기간</td>
|
||||||
<td width=100 align=center id=bg1>종 료 시 점</td>
|
<td width=100 align=center class=bg1>종 료 시 점</td>
|
||||||
<td align=center id=bg1>비 고</td>
|
<td align=center class=bg1>비 고</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
$query = "select year,month from game limit 1";
|
$admin = $gameStor->getValues(['year','month']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select nation,name,color,power,gennum from nation order by power desc";
|
$query = "select nation,name,color,power,gennum from nation order by power desc";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
@@ -190,9 +201,7 @@ $query = "select nation,name,color,type,msg,gold,rice,bill,rate,scout,war,scoutm
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select gold_rate,rice_rate from game limit 1";
|
$admin = $gameStor->getValues(['gold_rate','rice_rate']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
// 금 수지
|
// 금 수지
|
||||||
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||||
|
|
||||||
@@ -220,65 +229,87 @@ if ($budgetricediff > 0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<form name=form1 method=post action=c_dipcenter.php>
|
<form name=form1 method=post action=c_dipcenter.php>
|
||||||
<tr><td colspan=2 height=10></td></tr>
|
<tr><td colspan=2 height=10></td></tr>
|
||||||
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메세지</td></tr>
|
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메시지</td></tr>
|
||||||
<tr><td colspan=2 id=bg1>국가 방침 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830; name=msg value='<?=$nation['msg']?>'><input type=<?=$btn?> name=btn value=국가방침></td></tr>
|
<tr><td colspan='2'><div id='noticeForm'>
|
||||||
<tr><td colspan=2 id=bg1>임관 권유 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830; name=scoutmsg value='<?=$nation['scoutmsg']?>'><input type=<?=$btn?> name=btn value=임관권유></td></tr>
|
<div class='bg1' style="display: flex; justify-content: space-around">
|
||||||
<tr><td colspan=2>900 x 200px 넘는 크기를 점유할 시 통보없이 제한될 수 있습니다.</td></tr>
|
<div style='flex: 1 1 auto;'>
|
||||||
<tr><td colspan=2 height=10></td></tr>
|
국가 방침
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type='submit' class='submit' name=btn value='국가방침 수정'><input type='button' class='cancel_edit' value='취소'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<textarea type=hidden class='input_form' style='display:none;' name=msg><?=$nation['msg']?></textarea>
|
||||||
|
<div class='edit_form viewer'></div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td colspan='2'><div id='scoutMsgForm'>
|
||||||
|
<div class='bg1' style="display: flex; justify-content: space-around">
|
||||||
|
<div style='flex: 1 1 auto;'>
|
||||||
|
임관 권유
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type='submit' class='submit' name=btn value='임관 권유문 수정'><input type='button' class='cancel_edit' value='취소'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style='border-bottom:solid gray 0.5px;'>870px x 200px를 넘어서는 내용은 표시되지 않습니다.</div>
|
||||||
|
<textarea type=hidden class='input_form' style='display:none;' name=scoutmsg><?=$nation['scoutmsg']?></textarea>
|
||||||
|
<div style="width:870px;margin-left:auto;">
|
||||||
|
<div class='edit_form viewer'></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div></td></tr>
|
||||||
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2>
|
<td colspan=2>
|
||||||
<table width=998 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=998 class='tb_layout bg0'>
|
||||||
<?php
|
|
||||||
echo "
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2 align=center id=bg1>자금 예산</td>
|
<td colspan=2 align=center class=bg1>자금 예산</td>
|
||||||
<td colspan=2 align=center id=bg1>병량 예산</td>
|
<td colspan=2 align=center class=bg1>병량 예산</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=248 align=right id=bg1>현 재 </td>
|
<td width=248 align=right class=bg1>현 재 </td>
|
||||||
<td width=248 align=center>{$nation['gold']}</td>
|
<td width=248 align=center><?=$nation['gold']?></td>
|
||||||
<td width=248 align=right id=bg1>현 재 </td>
|
<td width=248 align=right class=bg1>현 재 </td>
|
||||||
<td width=248 align=center>{$nation['rice']}</td>
|
<td width=248 align=center><?=$nation['rice']?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>단기수입 </td>
|
<td align=right class=bg1>단기수입 </td>
|
||||||
<td align=center>+$deadIncome</td>
|
<td align=center>+<?=$deadIncome?></td>
|
||||||
<td align=right id=bg1>둔전수입 </td>
|
<td align=right class=bg1>둔전수입 </td>
|
||||||
<td align=center>+$riceincomeList[1]</td>
|
<td align=center>+<?=$riceincomeList[1]?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>세 금 </td>
|
<td align=right class=bg1>세 금 </td>
|
||||||
<td align=center>+$goldincomeList[0]</td>
|
<td align=center>+<?=$goldincomeList[0]?></td>
|
||||||
<td align=right id=bg1>세 곡 </td>
|
<td align=right class=bg1>세 곡 </td>
|
||||||
<td align=center>+$riceincomeList[0]</td>
|
<td align=center>+<?=$riceincomeList[0]?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>수입 / 지출 </td>
|
<td align=right class=bg1>수입 / 지출 </td>
|
||||||
<td align=center>+$goldincome / -$goldoutcome</td>
|
<td align=center>+<?=$goldincome?> / -<?=$goldoutcome?></td>
|
||||||
<td align=right id=bg1>수입 / 지출 </td>
|
<td align=right class=bg1>수입 / 지출 </td>
|
||||||
<td align=center>+$riceincome / -$riceoutcome</td>
|
<td align=center>+<?=$riceincome?> / -<?=$riceoutcome?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>국고 예산 </td>
|
<td align=right class=bg1>국고 예산 </td>
|
||||||
<td align=center>{$budgetgold} ({$budgetgolddiff})</td>
|
<td align=center><?=$budgetgold?> (<?=$budgetgolddiff?>)</td>
|
||||||
<td align=right id=bg1>병량 예산 </td>
|
<td align=right class=bg1>병량 예산 </td>
|
||||||
<td align=center>{$budgetrice} ({$budgetricediff})</td>
|
<td align=center><?=$budgetrice?> (<?=$budgetricediff?>)</td>
|
||||||
</tr>";
|
</tr>
|
||||||
?>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>세율 (5 ~ 30%) </td>
|
<td align=right class=bg1>세율 (5 ~ 30%) </td>
|
||||||
<td align=center><input type=text <?=$read?> name=rate style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['rate']?>>% <input type=<?=$btn?> name=btn value=세율></td>
|
<td align=center><input type=text <?=$read?> name=rate style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['rate']?>>% <input type=<?=$btn?> name=btn value=세율></td>
|
||||||
<td align=right id=bg1>봉급 지급율 (20 ~ 200%) </td>
|
<td align=right class=bg1>봉급 지급율 (20 ~ 200%) </td>
|
||||||
<td align=center><input type=text <?=$read?> name=bill style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['bill']?>>% <input type=<?=$btn?> name=btn value=지급율></td>
|
<td align=center><input type=text <?=$read?> name=bill style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['bill']?>>% <input type=<?=$btn?> name=btn value=지급율></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=right id=bg1>기밀 권한 (1 ~ 99년) </td>
|
<td align=right class=bg1>기밀 권한 (1 ~ 99년) </td>
|
||||||
<td align=center><input type=text <?=$read?> name=secretlimit style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['secretlimit']?>>년 <input type=<?=$btn?> name=btn value=기밀권한></td>
|
<td align=center><input type=text <?=$read?> name=secretlimit style=text-align:right;color:white;background-color:black; size=3 maxlength=3 value=<?=$nation['secretlimit']?>>년 <input type=<?=$btn?> name=btn value=기밀권한></td>
|
||||||
<td align=right id=bg1>임관&전쟁 변경 가능</td>
|
<td align=right class=bg1>임관&전쟁 변경 가능</td>
|
||||||
<td align=center>무제한</td>
|
<td align=center>무제한</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -307,10 +338,9 @@ if ($nation['war'] == 0) {
|
|||||||
<tr><td colspan=2 height=10></td></tr>
|
<tr><td colspan=2 height=10></td></tr>
|
||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -8,15 +8,14 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("중원정보", 1);
|
increaseRefresh("중원정보", 1);
|
||||||
|
|
||||||
$query = "select turnterm from game limit 1";
|
$mapTheme = $gameStor->map_theme??'che';
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select no,nation,map from general where owner='{$userID}'";
|
$query = "select no,nation from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
@@ -25,7 +24,6 @@ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""
|
|||||||
$nationcount = MYDB_num_rows($result);
|
$nationcount = MYDB_num_rows($result);
|
||||||
$nationnum = [];
|
$nationnum = [];
|
||||||
$nationname = [];
|
$nationname = [];
|
||||||
$nationcolor = [];
|
|
||||||
|
|
||||||
$nationStr = "";
|
$nationStr = "";
|
||||||
$powerStr = "";
|
$powerStr = "";
|
||||||
@@ -41,22 +39,21 @@ for($i=0; $i < $nationcount; $i++) {
|
|||||||
|
|
||||||
$nationnum[] = $nation['nation'];
|
$nationnum[] = $nation['nation'];
|
||||||
$nationname[$nation['nation']] = $nation['name'];
|
$nationname[$nation['nation']] = $nation['name'];
|
||||||
$nationcolor[$nation['nation']] = $nation['color'];
|
|
||||||
|
|
||||||
$nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>";
|
$nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>";
|
||||||
$powerStr .= "국력 {$nation['power']}<br>";
|
$powerStr .= "{$nation['power']}<br>";
|
||||||
$genStr .= "장수 {$nation['gennum']}<br>";
|
$genStr .= "{$nation['gennum']}<br>";
|
||||||
$cityStr .= "속령 $citycount<br>";
|
$cityStr .= "$citycount<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$realConflict = [];
|
$realConflict = [];
|
||||||
foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE conflict!=%s', '{}') as list(
|
foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE conflict!=%s', '{}') as [
|
||||||
$cityID,
|
$cityID,
|
||||||
$cityName,
|
$cityName,
|
||||||
$rawConflict
|
$rawConflict
|
||||||
))
|
])
|
||||||
{
|
{
|
||||||
$conflict = Json::decode($city['conflict']);
|
$conflict = Json::decode($rawConflict);
|
||||||
if (count($conflict)<2) {
|
if (count($conflict)<2) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -64,9 +61,10 @@ foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE confl
|
|||||||
$sum = array_sum($conflict);
|
$sum = array_sum($conflict);
|
||||||
|
|
||||||
foreach ($conflict as $nationID=>$killnum) {
|
foreach ($conflict as $nationID=>$killnum) {
|
||||||
$conflict['percent'] = round(100*$killnum / $sum, 1);
|
$conflict[$nationID] = ['killnum'=>$killnum];
|
||||||
$conflict['name'] = $nationname[$nationID];
|
$conflict[$nationID]['percent'] = round(100*$killnum / $sum, 1);
|
||||||
$conflict['color'] = $nationcolor[$nationID];
|
$conflict[$nationID]['name'] = $nationname[$nationID];
|
||||||
|
$conflict[$nationID]['color'] = getNationStaticInfo($nationID)['color'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$realConflict[] = [$cityID, $cityName, $conflict];
|
$realConflict[] = [$cityID, $cityName, $conflict];
|
||||||
@@ -79,40 +77,45 @@ foreach ($db->queryAllLists('SELECT city, `name`, conflict FROM city WHERE confl
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<title>중원정보</title>
|
<meta name="viewport" content="width=1024" />
|
||||||
<script src="../e_lib/jquery-3.2.1.min.js"></script>
|
<title><?=UniqueConst::$serverName?>: 중원 정보</title>
|
||||||
<script src="../d_shared/common_path.js"></script>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<script src="js/common.js"></script>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<script src="js/base_map.js"></script>
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
<script src="js/map.js"></script>
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('d_shared/base_map.js')?>
|
||||||
|
<?=WebUtil::printJS('js/map.js')?>
|
||||||
<script>
|
<script>
|
||||||
|
window.serverNick = '<?=DB::prefix()?>';
|
||||||
|
window.serverID = '<?=UniqueConst::$serverID?>';
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
||||||
reloadWorldMap({
|
reloadWorldMap({
|
||||||
neutralView:true,
|
neutralView:true,
|
||||||
showMe:true
|
showMe:true,
|
||||||
|
useCachedMap:true
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<link href="css/normalize.css" rel="stylesheet">
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<link href="../d_shared/common.css" rel="stylesheet">
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<link href="css/common.css" rel="stylesheet">
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<link href="css/map.css" rel="stylesheet">
|
<?=WebUtil::printCSS('css/map.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>중 원 정 보<br><?=backButton()?></td></tr>
|
<tr><td>중 원 정 보<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=<?=$nationcount+1?> align=center bgcolor=blue>외 교 현 황</td></tr>
|
<tr><td colspan=<?=$nationcount+1?> align=center bgcolor=blue>외 교 현 황</td></tr>
|
||||||
<?php
|
<?php
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center width=108 style=background-color:".GameConst::$basecolor2.";> </td>";
|
<td align=center width=130 style=background-color:".GameConst::$basecolor2.";> </td>";
|
||||||
|
|
||||||
if($nationcount != 0) {
|
if($nationcount != 0) {
|
||||||
$width = intdiv(888, $nationcount);
|
$width = intdiv(888, $nationcount);
|
||||||
@@ -120,7 +123,7 @@ if($nationcount != 0) {
|
|||||||
|
|
||||||
for($i=0; $i < $nationcount; $i++) {
|
for($i=0; $i < $nationcount; $i++) {
|
||||||
echo "
|
echo "
|
||||||
<td align=center width={$width} style=background-color:{$nationcolor[$nationnum[$i]]};color:".newColor($nationcolor[$nationnum[$i]]).";>{$nationname[$nationnum[$i]]}</td>";
|
<td align=center width={$width} style=background-color:".getNationStaticInfo($nationnum[$i])['color'].";color:".newColor(getNationStaticInfo($nationnum[$i])['color']).";>{$nationname[$nationnum[$i]]}</td>";
|
||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
</tr>";
|
</tr>";
|
||||||
@@ -137,7 +140,7 @@ for($i=0; $i < $nationcount; $i++) {
|
|||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center style=background-color:{$nationcolor[$nationnum[$i]]};color:".newColor($nationcolor[$nationnum[$i]]).";>{$nationname[$nationnum[$i]]}</td>";
|
<td align=center style=background-color:".getNationStaticInfo($nationnum[$i])['color'].";color:".newColor(getNationStaticInfo($nationnum[$i])['color']).";>{$nationname[$nationnum[$i]]}</td>";
|
||||||
|
|
||||||
for($k=0; $k < $nationcount; $k++) {
|
for($k=0; $k < $nationcount; $k++) {
|
||||||
if($i == $k) {
|
if($i == $k) {
|
||||||
@@ -180,44 +183,24 @@ for($i=0; $i < $nationcount; $i++) {
|
|||||||
<?php if ($realConflict) : ?>
|
<?php if ($realConflict) : ?>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<table
|
<table align='center' width=1000 class='tb_layout bg0'>
|
||||||
align='center'
|
|
||||||
width=1000
|
|
||||||
border=1
|
|
||||||
cellspacing=0
|
|
||||||
cellpadding=0
|
|
||||||
bordercolordark='gray'
|
|
||||||
bordercolorlight='black'
|
|
||||||
style='font-size:13px;word-break:break-all;'
|
|
||||||
class='bg0'
|
|
||||||
>
|
|
||||||
<tr><td colspan=2 align=center bgcolor=magenta>분 쟁 현 황</td></tr>
|
<tr><td colspan=2 align=center bgcolor=magenta>분 쟁 현 황</td></tr>
|
||||||
<?php foreach($realConflict as list($cityID, $cityName, $conflict)): ?>
|
<?php foreach($realConflict as list($cityID, $cityName, $conflict)): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center width=48><?=$cityName?></td>
|
<td align=center width=48><?=$cityName?></td>
|
||||||
<td width=948>
|
<td style='width:948px;position:relative;'>
|
||||||
<table
|
<table class='tb_layout bg0' style='width:100%;'>
|
||||||
border=0
|
|
||||||
cellspacing=0
|
|
||||||
cellpadding=0
|
|
||||||
bordercolordark='gray'
|
|
||||||
bordercolorlight='black'
|
|
||||||
style='font-size:13px;word-break:break-all;'
|
|
||||||
class='bg0'
|
|
||||||
>
|
|
||||||
<?php foreach($conflict as $item): ?>
|
<?php foreach($conflict as $item): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td
|
<td
|
||||||
width=98
|
width=130
|
||||||
align=right
|
align=right
|
||||||
style='color:<?=newColor($item['color'])?>;background-color:<?=$item['color']?>;'
|
style='color:<?=newColor($item['color'])?>;background-color:<?=$item['color']?>;'
|
||||||
><?=$item['name']?> </td>
|
><?=$item['name']?> </td>
|
||||||
<td width=48 align=right><?=$item['percent']?>% </td>
|
<td width=48 align=right><?=(float)$item['percent']?> % </td>
|
||||||
<td
|
<td width=*><div
|
||||||
width='<?=$item['percent']?>%'
|
style='display:inline-block;width:<?=$item['percent']?>%;background-color:<?=$item['color']?>;'
|
||||||
style='background-color:<?=$item['color']?>;'
|
> </div></td>
|
||||||
></td>
|
|
||||||
<td width=*></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</table>
|
</table>
|
||||||
@@ -231,26 +214,25 @@ for($i=0; $i < $nationcount; $i++) {
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<table class="bg0" align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style="font-size:13px;word-break:break-all;">
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=5 align=center bgcolor=green><font size=3>중 원 지 도</font></td>
|
<td colspan=5 align=center bgcolor=green><font size=3>중 원 지 도</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=698 height=420>
|
<td width=698 height=420>
|
||||||
<?=getMapHtml()?>
|
<?=getMapHtml($mapTheme)?>
|
||||||
</td>
|
</td>
|
||||||
<td width=98 valign=top><?=$nationStr?></td>
|
<td width=139 valign=top><div style='background-color:#cccccc;color:black;text-align:center'>국명</div><?=$nationStr?></td>
|
||||||
<td width=78 valign=top><?=$powerStr?></td>
|
<td width=70 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>국력</div><?=$powerStr?></td>
|
||||||
<td width=58 valign=top><?=$genStr?></td>
|
<td width=43 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>장수</div><?=$genStr?></td>
|
||||||
<td width=58 valign=top><?=$cityStr?></td>
|
<td width=40 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>속령</div><?=$cityStr?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<table class="bg0" align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style="font-size:13px;word-break:break-all;">
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,20 +4,20 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$type = Util::getReq('type', 'int');
|
$type = Util::getReq('type', 'int', 7);
|
||||||
|
if ($type <= 0 || $type > 8) {
|
||||||
|
$type = 7;
|
||||||
|
}
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("암행부", 2);
|
increaseRefresh("암행부", 1);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
$query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
@@ -27,7 +27,7 @@ $query = "select level,secretlimit from nation where nation='{$me['nation']}'";
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
$con = checkLimit($me['con']);
|
||||||
if ($con >= 2) {
|
if ($con >= 2) {
|
||||||
printLimitMsg($me['turntime']);
|
printLimitMsg($me['turntime']);
|
||||||
exit();
|
exit();
|
||||||
@@ -38,12 +38,11 @@ if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretli
|
|||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 0) {
|
|
||||||
$type = 7;
|
|
||||||
}
|
|
||||||
$sel = [];
|
$sel = [];
|
||||||
$sel[$type] = "selected";
|
$sel[$type] = "selected";
|
||||||
|
|
||||||
|
$templates = new \League\Plates\Engine('templates');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -51,17 +50,22 @@ $sel[$type] = "selected";
|
|||||||
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
MessageBox("접속제한이 얼마 남지 않았습니다!");
|
||||||
} ?>
|
} ?>
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>암행부</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 암행부</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>암 행 부<br><?=closeButton()?></td></tr>
|
<tr><td>암 행 부<br><?=closeButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=get>정렬순서 :
|
||||||
<select name=type size=1>
|
<select name=type size=1>
|
||||||
<option <?=$sel[1]??''?> value=1>자금</option>
|
<option <?=$sel[1]??''?> value=1>자금</option>
|
||||||
<option <?=$sel[2]??''?> value=2>군량</option>
|
<option <?=$sel[2]??''?> value=2>군량</option>
|
||||||
@@ -76,50 +80,28 @@ $sel[$type] = "selected";
|
|||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php
|
<?php
|
||||||
$query = "select troop,name from troop where nation='{$me['nation']}'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$troopCount = MYDB_num_rows($result);
|
|
||||||
$troopName = [];
|
$troopName = [];
|
||||||
for ($i=0; $i < $troopCount; $i++) {
|
foreach($db->queryAllLists('SELECT troop, name FROM troop WHERE nation=%i', $me['nation']) as [$troopID, $tName]){
|
||||||
$troop = MYDB_fetch_array($result);
|
$troopName[$troopID] = $tName;
|
||||||
$troopName[$troop['troop']] = $troop['name'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$orderSQL = '';
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 1: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by gold desc"; break;
|
case 1: $orderSQL = "order by gold desc"; break;
|
||||||
case 2: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by rice desc"; break;
|
case 2: $orderSQL = "order by rice desc"; break;
|
||||||
case 3: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by city"; break;
|
case 3: $orderSQL = "order by city"; break;
|
||||||
case 4: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by crewtype desc"; break;
|
case 4: $orderSQL = "order by crewtype desc"; break;
|
||||||
case 5: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by crew desc"; break;
|
case 5: $orderSQL = "order by crew desc"; break;
|
||||||
case 6: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by killturn"; break;
|
case 6: $orderSQL = "order by killturn"; break;
|
||||||
case 7: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by turntime"; break;
|
case 7: $orderSQL = "order by turntime"; break;
|
||||||
case 8: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by troop desc"; break;
|
case 8: $orderSQL = "order by troop desc"; break;
|
||||||
}
|
}
|
||||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
|
||||||
$gencount = MYDB_num_rows($genresult);
|
|
||||||
|
|
||||||
echo"
|
$generals = $db->query('SELECT npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general WHERE nation = %i %l', $me['nation'], $orderSQL);
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
|
||||||
<tr>
|
foreach ($generals as &$general) {
|
||||||
<td width=98 align=center id=bg1>이 름</td>
|
$general['cityText'] = CityConst::byID($general['city'])->name;
|
||||||
<td width=98 align=center id=bg1>통무지</td>
|
$general['troopText'] = $troopName[$general['troop']]??'-';
|
||||||
<td width=98 align=center id=bg1>부 대</td>
|
|
||||||
<td width=58 align=center id=bg1>자 금</td>
|
|
||||||
<td width=58 align=center id=bg1>군 량</td>
|
|
||||||
<td width=48 align=center id=bg1>도시</td>
|
|
||||||
<td width=28 align=center id=bg1>守</td>
|
|
||||||
<td width=58 align=center id=bg1>병 종</td>
|
|
||||||
<td width=68 align=center id=bg1>병 사</td>
|
|
||||||
<td width=48 align=center id=bg1>훈련</td>
|
|
||||||
<td width=48 align=center id=bg1>사기</td>
|
|
||||||
<td width=148 align=center id=bg1>명 령</td>
|
|
||||||
<td width=58 align=center id=bg1>삭턴</td>
|
|
||||||
<td width=58 align=center id=bg1>턴</td>
|
|
||||||
</tr>";
|
|
||||||
for ($j=0; $j < $gencount; $j++) {
|
|
||||||
$general = MYDB_fetch_array($genresult);
|
|
||||||
$city = CityConst::byID($general['city'])->name;
|
|
||||||
$troop = $troopName[$general['troop']]??'-';
|
|
||||||
|
|
||||||
if ($general['level'] == 12) {
|
if ($general['level'] == 12) {
|
||||||
$lbonus = $nation['level'] * 2;
|
$lbonus = $nation['level'] * 2;
|
||||||
@@ -129,85 +111,132 @@ for ($j=0; $j < $gencount; $j++) {
|
|||||||
$lbonus = 0;
|
$lbonus = 0;
|
||||||
}
|
}
|
||||||
if ($lbonus > 0) {
|
if ($lbonus > 0) {
|
||||||
$lbonus = "<font color=cyan>+{$lbonus}</font>";
|
$lbonusText = "<font color=cyan>+{$lbonus}</font>";
|
||||||
} else {
|
} else {
|
||||||
$lbonus = "";
|
$lbonusText = "";
|
||||||
}
|
}
|
||||||
|
$general['lbonus'] = $lbonus;
|
||||||
|
$general['lbonusText'] = $lbonusText;
|
||||||
|
|
||||||
if ($general['injury'] > 0) {
|
if ($general['injury'] > 0) {
|
||||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
$leader = "<font color=red>{$leader}</font>{$lbonusText}";
|
||||||
$power = "<font color=red>{$power}</font>";
|
$power = "<font color=red>{$power}</font>";
|
||||||
$intel = "<font color=red>{$intel}</font>";
|
$intel = "<font color=red>{$intel}</font>";
|
||||||
} else {
|
} else {
|
||||||
$leader = "{$general['leader']}{$lbonus}";
|
$leader = "{$general['leader']}{$lbonusText}";
|
||||||
$power = "{$general['power']}";
|
$power = "{$general['power']}";
|
||||||
$intel = "{$general['intel']}";
|
$intel = "{$general['intel']}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$general['leaderText'] = $leader;
|
||||||
|
$general['powerText'] = $power;
|
||||||
|
$general['intelText'] = $intel;
|
||||||
|
|
||||||
|
$general['expLevelText'] = getExpLevel($general['experience']);
|
||||||
|
|
||||||
if ($general['npc'] >= 2) {
|
if ($general['npc'] >= 2) {
|
||||||
$name = "<font color=cyan>{$general['name']}</font>";
|
$name = "<font color=cyan>{$general['name']}</font>";
|
||||||
} elseif ($general['npc'] == 1) {
|
} elseif ($general['npc'] == 1) {
|
||||||
$name = "<font color=skyblue>{$general['name']}</font>";
|
$name = "<font color=skyblue>{$general['name']}</font>";
|
||||||
} else {
|
} else {
|
||||||
$name = "{$general['name']}";
|
$name = $general['name'];
|
||||||
}
|
}
|
||||||
|
//TODO: npc 코드를 일원화
|
||||||
|
$general['nameText'] = $name;
|
||||||
|
|
||||||
switch ($general['mode']) {
|
switch ($general['mode']) {
|
||||||
case 0: $mode = "×"; break;
|
case 0: $mode = "×"; break;
|
||||||
case 1: $mode = "○"; break;
|
case 1: $mode = "○"; break;
|
||||||
case 2: $mode = "◎"; break;
|
case 2: $mode = "◎"; break;
|
||||||
}
|
}
|
||||||
|
$general['modeText'] = $mode;
|
||||||
|
$general['crewtypeText'] = GameUnitConst::byId($general['crewtype'])->name??'-';
|
||||||
|
|
||||||
echo "
|
|
||||||
<tr>
|
if ($general['npc'] < 2) {
|
||||||
<td align=center>$name<br>Lv ".getExpLevel($general['experience'])."</td>
|
$turntext = [];
|
||||||
<td align=center>{$leader}∥{$power}∥{$intel}</td>
|
|
||||||
<td align=center>$troop</td>
|
|
||||||
<td align=center>{$general['gold']}</td>
|
|
||||||
<td align=center>{$general['rice']}</td>
|
|
||||||
<td align=center>$city</td>
|
|
||||||
<td align=center>$mode</td>
|
|
||||||
<td align=center>".GameUnitConst::byId($general['crewtype'])->name."</td>
|
|
||||||
<td align=center>{$general['crew']}</td>
|
|
||||||
<td align=center>{$general['train']}</td>
|
|
||||||
<td align=center>{$general['atmos']}</td>";
|
|
||||||
if ($general['npc'] >= 2) {
|
|
||||||
echo "
|
|
||||||
<td>
|
|
||||||
<font size=3>NPC 장수";
|
|
||||||
} else {
|
|
||||||
echo "
|
|
||||||
<td>
|
|
||||||
<font size=1>";
|
|
||||||
$turn = getTurn($general, 1, 0);
|
$turn = getTurn($general, 1, 0);
|
||||||
|
|
||||||
for ($i=0; $i < 5; $i++) {
|
for ($i=0; $i < 5; $i++) {
|
||||||
$turn[$i] = StringUtil::subStringForWidth($turn[$i], 0, 20);
|
$turn[$i] = StringUtil::subStringForWidth($turn[$i], 0, 41);
|
||||||
$k = $i+1;
|
$k = $i+1;
|
||||||
echo "
|
$turntext[] = " $k : $turn[$i]";
|
||||||
$k : $turn[$i] <br>";
|
|
||||||
}
|
}
|
||||||
|
$general['turntext'] = join("<br>\n", $turntext);
|
||||||
}
|
}
|
||||||
echo "
|
|
||||||
</font>
|
|
||||||
</td>
|
|
||||||
<td align=center>{$general['killturn']}</td>
|
|
||||||
<td align=center>".substr($general['turntime'], 14, 5)."</td>
|
|
||||||
</tr>";
|
|
||||||
}
|
}
|
||||||
echo "
|
unset($general);
|
||||||
</table>
|
|
||||||
";
|
|
||||||
|
|
||||||
|
$genCnt = count($generals);
|
||||||
|
$totalGold = 0;
|
||||||
|
$totalRice = 0;
|
||||||
|
$crew90 = 0;
|
||||||
|
$gen90 = 0;
|
||||||
|
$crew80 = 0;
|
||||||
|
$gen80 = 0;
|
||||||
|
$crew60 = 0;
|
||||||
|
$gen60 = 0;
|
||||||
|
$crewTotal = 0;
|
||||||
|
//$genTotal = 0;
|
||||||
|
foreach($generals as $general){
|
||||||
|
$totalGold += $general['gold'];
|
||||||
|
$totalRice += $general['rice'];
|
||||||
|
|
||||||
|
$crewTotal += $general['crew'];
|
||||||
|
|
||||||
|
if($general['crew'] == 0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if($general['train'] >= 90 && $general['atmos'] >= 90){
|
||||||
|
$crew90 += $general['crew'];
|
||||||
|
$gen90 += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['train'] >= 80 && $general['atmos'] >= 80){
|
||||||
|
$crew80 += $general['crew'];
|
||||||
|
$gen80 += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['train'] >= 60 && $general['atmos'] >= 60){
|
||||||
|
$crew60 += $general['crew'];
|
||||||
|
$gen60 += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table style='width:1000px;margin:5px auto' class='tb_layout bg0'>
|
||||||
|
<thead>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width:120px;"><col>
|
||||||
|
<col style="width:120px;"><col>
|
||||||
|
<col style="width:120px;"><col>
|
||||||
|
<col style="width:120px;"><col>
|
||||||
|
</colgroup>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class='bg1'>전체 금</td><td><?=number_format($totalGold)?></td>
|
||||||
|
<td class='bg1'>전체 쌀</td><td><?=number_format($totalRice)?></td>
|
||||||
|
<td class='bg1'>평균 금</td><td><?=number_format($totalGold/$genCnt, 2)?></td>
|
||||||
|
<td class='bg1'>평균 쌀</td><td><?=number_format($totalRice/$genCnt, 2)?></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class='bg1'>전체 병력/장수</td><td><?=number_format($crewTotal)?>/<?=number_format($genCnt)?></td>
|
||||||
|
<td class='bg1'>훈사 90 병력/장수</td><td><?=number_format($crew90)?>/<?=number_format($gen90)?></td>
|
||||||
|
<td class='bg1'>훈사 80 병력/장수</td><td><?=number_format($crew80)?>/<?=number_format($gen80)?></td>
|
||||||
|
<td class='bg1'>훈사 60 병력/장수</td><td><?=number_format($crew60)?>/<?=number_format($gen60)?></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<?=$templates->render('generalList', ['generals'=>$generals])?>
|
||||||
|
|
||||||
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=closeButton()?></td></tr>
|
<tr><td><?=closeButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -29,10 +29,16 @@ if($meLevel == 0) {
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>인사부</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 인사부</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function out() {
|
function out() {
|
||||||
return confirm('정말 추방하시겠습니까?');
|
return confirm('정말 추방하시겠습니까?');
|
||||||
@@ -42,7 +48,7 @@ function out() {
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>인 사 부<br><?=backButton()?></td></tr>
|
<tr><td>인 사 부<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
@@ -72,7 +78,7 @@ $query = "select name,picture,firenum from general where nation='{$nation['natio
|
|||||||
$eagleresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$eagleresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']} colspan=6>
|
<td align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']} colspan=6>
|
||||||
<font size=5>【 {$nation['name']} 】</font>
|
<font size=5>【 {$nation['name']} 】</font>
|
||||||
@@ -81,18 +87,18 @@ echo "
|
|||||||
";
|
";
|
||||||
for($i=12; $i >= $lv; $i-=2) {
|
for($i=12; $i >= $lv; $i-=2) {
|
||||||
$i1 = $i; $i2 = $i - 1;
|
$i1 = $i; $i2 = $i - 1;
|
||||||
$imageTemp1 = GetImageURL($level[$i1]['imgsvr']);
|
$imageTemp1 = GetImageURL($level[$i1]['imgsvr']??0);
|
||||||
$imageTemp2 = GetImageURL($level[$i2]['imgsvr']);
|
$imageTemp2 = GetImageURL($level[$i2]['imgsvr']??0);
|
||||||
echo "
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=98 align=center id=bg1><font size=4>".getLevel($i1, $nation['level'])."</font></td>
|
<td width=98 align=center id=bg1><font size=4><?=getLevel($i1, $nation['level'])?></font></td>
|
||||||
<td width=64 height=64 background={$imageTemp1}/{$level[$i1]['picture']}> </td>
|
<td width=64 class='generalIcon' height=64 style='background:no-repeat center url("<?=$imageTemp1?>/<?=$level[$i1]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
||||||
<td width=332><font size=4>";echo $level[$i1]['name']==''?"-":$level[$i1]['name']; echo " ({$level[$i1]['belong']}년)</font></td>
|
<td width=332><font size=4><?=$level[$i1]['name']??'-'?>(<?=$level[$i1]['belong']??'-'?>년)</font></td>
|
||||||
<td width=98 align=center id=bg1><font size=4>".getLevel($i2, $nation['level'])."</font></td>
|
<td width=98 align=center id=bg1><font size=4><?=getLevel($i2, $nation['level'])?></font></td>
|
||||||
<td width=64 height=64 background={$imageTemp2}/{$level[$i2]['picture']}> </td>
|
<td width=64 class='generalIcon' height=64 style='background:no-repeat center url("<?=$imageTemp2?>/<?=$level[$i2]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
||||||
<td width=332><font size=4>";echo $level[$i2]['name']==''?"-":$level[$i2]['name']; echo " ({$level[$i2]['belong']}년)</font></td>
|
<td width=332><font size=4><?=$level[$i2]['name']??'-'?>(<?=$level[$i2]['belong']??'-'?>년)</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
@@ -131,7 +137,7 @@ echo "
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<form method=post action=c_myBossInfo.php>
|
<form method=post action=c_myBossInfo.php>
|
||||||
<tr><td colspan=6 height=5></td></tr>
|
<tr><td colspan=6 height=5></td></tr>
|
||||||
<tr><td colspan=2 align=center bgcolor=red>추 방</td></tr>
|
<tr><td colspan=2 align=center bgcolor=red>추 방</td></tr>
|
||||||
@@ -144,14 +150,14 @@ if($meLevel >= 5 && $nation["l{$meLevel}set"] == 0) {
|
|||||||
echo "
|
echo "
|
||||||
<select name=outlist size=1 style=color:white;background-color:black;>";
|
<select name=outlist size=1 style=color:white;background-color:black;>";
|
||||||
|
|
||||||
$query = "select no,name,level from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)";
|
$query = "select no,name,level,leader,power,intel,killturn from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$gencount = MYDB_num_rows($result);
|
$gencount = MYDB_num_rows($result);
|
||||||
|
|
||||||
for($i=0; $i < $gencount; $i++) {
|
for($i=0; $i < $gencount; $i++) {
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
echo "
|
echo "
|
||||||
<option value={$general['no']}>{$general['name']}</option>";
|
<option value={$general['no']}>{$general['name']} <small>({$general['leader']}/{$general['power']}/{$general['intel']}, {$general['killturn']}턴)</small></option>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
@@ -167,7 +173,7 @@ echo "
|
|||||||
</tr>
|
</tr>
|
||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=4 height=5></td></tr>
|
<tr><td colspan=4 height=5></td></tr>
|
||||||
<tr><td colspan=4 align=center bgcolor=blue>수 뇌 부 임 명</td></tr>
|
<tr><td colspan=4 align=center bgcolor=blue>수 뇌 부 임 명</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -205,7 +211,10 @@ if($meLevel >= 5 && $nation['l11set'] == 0) {
|
|||||||
$query = "select name,city from general where nation='{$me['nation']}' and level='11'";
|
$query = "select name,city from general where nation='{$me['nation']}' and level='11'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
echo "{$general['name']} 【".CityConst::byID($general['city'])->name."】";
|
if($general){
|
||||||
|
echo "{$general['name']} 【".CityConst::byID($general['city'])->name."】";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
</td>
|
</td>
|
||||||
@@ -214,12 +223,12 @@ echo "
|
|||||||
";
|
";
|
||||||
|
|
||||||
$queries = [];
|
$queries = [];
|
||||||
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
$queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
$queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
$queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
|
|
||||||
for($i=10; $i >= $lv; $i--) {
|
for($i=10; $i >= $lv; $i--) {
|
||||||
if($i % 2 == 0) { echo "<tr>"; }
|
if($i % 2 == 0) { echo "<tr>"; }
|
||||||
@@ -257,7 +266,9 @@ for($i=10; $i >= $lv; $i--) {
|
|||||||
$query = "select name,city from general where nation='{$me['nation']}' and level={$i}";
|
$query = "select name,city from general where nation='{$me['nation']}' and level={$i}";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
echo "{$general['name']} 【".CityConst::byID($general['city'])->name."】";
|
if($general){
|
||||||
|
echo "{$general['name']} 【".CityConst::byID($general['city'])->name."】";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
echo "</td></form>";
|
echo "</td></form>";
|
||||||
if($i % 2 == 1) { echo "</tr>"; }
|
if($i % 2 == 1) { echo "</tr>"; }
|
||||||
@@ -265,7 +276,7 @@ for($i=10; $i >= $lv; $i--) {
|
|||||||
echo "
|
echo "
|
||||||
<tr><td colspan=4>※ <font color=red>빨간색</font>은 현재 임명중인 장수, <font color=orange>노란색</font>은 다른 관직에 임명된 장수, 하얀색은 일반 장수를 뜻합니다.</td></tr>
|
<tr><td colspan=4>※ <font color=red>빨간색</font>은 현재 임명중인 장수, <font color=orange>노란색</font>은 다른 관직에 임명된 장수, 하얀색은 일반 장수를 뜻합니다.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td colspan=5 height=5></td></tr>
|
<tr><td colspan=5 height=5></td></tr>
|
||||||
";
|
";
|
||||||
if($meLevel >= 5) {
|
if($meLevel >= 5) {
|
||||||
@@ -304,7 +315,7 @@ if($meLevel >= 5) {
|
|||||||
<option value=0>____공석____</option>
|
<option value=0>____공석____</option>
|
||||||
";
|
";
|
||||||
|
|
||||||
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)";
|
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$count = MYDB_num_rows($result);
|
$count = MYDB_num_rows($result);
|
||||||
for($i=0; $i < $count; $i++) {
|
for($i=0; $i < $count; $i++) {
|
||||||
@@ -358,7 +369,7 @@ if($meLevel >= 5) {
|
|||||||
<option value=0>____공석____</option>
|
<option value=0>____공석____</option>
|
||||||
";
|
";
|
||||||
|
|
||||||
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)";
|
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$count = MYDB_num_rows($result);
|
$count = MYDB_num_rows($result);
|
||||||
for($i=0; $i < $count; $i++) {
|
for($i=0; $i < $count; $i++) {
|
||||||
@@ -445,15 +456,7 @@ echo "
|
|||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
|
|
||||||
$citylevel = [];
|
$citylevel = getCityLevelList();
|
||||||
$citylevel[1] = "수";
|
|
||||||
$citylevel[2] = "진";
|
|
||||||
$citylevel[3] = "관";
|
|
||||||
$citylevel[4] = "이";
|
|
||||||
$citylevel[5] = "소";
|
|
||||||
$citylevel[6] = "중";
|
|
||||||
$citylevel[7] = "대";
|
|
||||||
$citylevel[8] = "특";
|
|
||||||
|
|
||||||
$query = "select city,name,gen1,gen2,gen3,level,region,gen1set,gen2set,gen3set from city where nation='{$nation['nation']}' order by region,level desc,binary(name)"; // 도시 이름 목록
|
$query = "select city,name,gen1,gen2,gen3,level,region,gen1set,gen2set,gen3set from city where nation='{$nation['nation']}' order by region,level desc,binary(name)"; // 도시 이름 목록
|
||||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
@@ -500,10 +503,9 @@ for($j=0; $j < $citycount; $j++) {
|
|||||||
<tr><td colspan=5>※ <font color=orange>노란색</font>은 변경 불가능, 하얀색은 변경 가능 관직입니다.</td></tr>
|
<tr><td colspan=5>※ <font color=orange>노란색</font>은 변경 불가능, 하얀색은 변경 가능 관직입니다.</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -3,6 +3,14 @@ namespace sammo;
|
|||||||
|
|
||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
|
$type = Util::getReq('type', 'int', 10);
|
||||||
|
if ($type <= 0 || $type > 12) {
|
||||||
|
$type = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
@@ -21,9 +29,6 @@ if ($me['level'] == 0) {
|
|||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 0) {
|
|
||||||
$type = 10;
|
|
||||||
}
|
|
||||||
$sel = [$type => "selected"];
|
$sel = [$type => "selected"];
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -31,15 +36,24 @@ $sel = [$type => "selected"];
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>세력도시</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 세력도시</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/jquery-ui.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-ui.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/ext.expand_city.js')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>세 력 도 시<br><?=backButton()?></td></tr>
|
<tr><td>세 력 도 시<br><?=backButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=post>정렬순서 :
|
||||||
<select name=type size=1>
|
<select name=type size=1>
|
||||||
@@ -66,19 +80,21 @@ $me = MYDB_fetch_array($result);
|
|||||||
|
|
||||||
$nation = getNationStaticInfo($me['nation']); //국가정보
|
$nation = getNationStaticInfo($me['nation']); //국가정보
|
||||||
|
|
||||||
|
$query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'";
|
||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 1: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}'"; break;
|
case 1: break;
|
||||||
case 2: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by pop desc"; break;
|
case 2: $query .= " order by pop desc"; break;
|
||||||
case 3: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by poprate desc"; break;
|
case 3: $query .= " order by poprate desc"; break;
|
||||||
case 4: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by rate desc"; break;
|
case 4: $query .= " order by rate desc"; break;
|
||||||
case 5: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by agri desc"; break;
|
case 5: $query .= " order by agri desc"; break;
|
||||||
case 6: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by comm desc"; break;
|
case 6: $query .= " order by comm desc"; break;
|
||||||
case 7: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by secu desc"; break;
|
case 7: $query .= " order by secu desc"; break;
|
||||||
case 8: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by def desc"; break;
|
case 8: $query .= " order by def desc"; break;
|
||||||
case 9: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by wall desc"; break;
|
case 9: $query .= " order by wall desc"; break;
|
||||||
case 10: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by trade desc"; break;
|
case 10: $query .= " order by trade desc"; break;
|
||||||
case 11: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by region,level desc"; break;
|
case 11: $query .= " order by region,level desc"; break;
|
||||||
case 12: $query = "select *,pop/pop2 as poprate from city where nation='{$me['nation']}' order by level desc, region"; break;
|
case 12: $query .= " order by level desc, region"; break;
|
||||||
}
|
}
|
||||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$citycount = MYDB_num_rows($cityresult);
|
$citycount = MYDB_num_rows($cityresult);
|
||||||
@@ -116,23 +132,23 @@ for ($j=0; $j < $citycount; $j++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
<table align=center width=1000 class='tb_layout bg2'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=12 style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}><font size=2>【 ".CityConst::$regionMap[$city['region']]." | ".CityConst::$levelMap[$city['level']]." 】 {$city['name']}</font></td>
|
<td colspan=12 style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}><font size=2>【 ".CityConst::$regionMap[$city['region']]." | ".CityConst::$levelMap[$city['level']]." 】 {$city['name']}</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center width=48 id=bg1>주민</td>
|
<td align=center width=46 id=bg1>주민</td>
|
||||||
<td align=center width=112>{$city['pop']}/{$city['pop2']}</td>
|
<td align=center width=140>{$city['pop']}/{$city['pop2']}</td>
|
||||||
<td align=center width=48 id=bg1>농업</td>
|
<td align=center width=46 id=bg1>농업</td>
|
||||||
<td align=center width=108>{$city['agri']}/{$city['agri2']}</td>
|
<td align=center width=140>{$city['agri']}/{$city['agri2']}</td>
|
||||||
<td align=center width=48 id=bg1>상업</td>
|
<td align=center width=46 id=bg1>상업</td>
|
||||||
<td align=center width=108>{$city['comm']}/{$city['comm2']}</td>
|
<td align=center width=140>{$city['comm']}/{$city['comm2']}</td>
|
||||||
<td align=center width=48 id=bg1>치안</td>
|
<td align=center width=46 id=bg1>치안</td>
|
||||||
<td align=center width=108>{$city['secu']}/{$city['secu2']}</td>
|
<td align=center width=140>{$city['secu']}/{$city['secu2']}</td>
|
||||||
<td align=center width=48 id=bg1>수비</td>
|
<td align=center width=46 id=bg1>수비</td>
|
||||||
<td align=center width=108>{$city['def']}/{$city['def2']}</td>
|
<td align=center width=140>{$city['def']}/{$city['def2']}</td>
|
||||||
<td align=center width=48 id=bg1>성벽</td>
|
<td align=center width=46 id=bg1>성벽</td>
|
||||||
<td align=center width=108>{$city['wall']}/{$city['wall2']}</td>
|
<td align=center width=140>{$city['wall']}/{$city['wall2']}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center id=bg1>민심</td>
|
<td align=center id=bg1>민심</td>
|
||||||
@@ -181,12 +197,11 @@ for ($j=0; $j < $citycount; $j++) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0 anchor'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
<div id="helper_genlist" style="display:none;"></div>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,12 @@ namespace sammo;
|
|||||||
include "lib.php";
|
include "lib.php";
|
||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$type = Util::getReq('type', 'int');
|
$type = Util::getReq('type', 'int', 1);
|
||||||
|
if($type <= 0 || $type > 15) {
|
||||||
|
$type = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
@@ -24,10 +29,6 @@ if($me['level'] == 0) {
|
|||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($type == 0) {
|
|
||||||
$type = 1;
|
|
||||||
}
|
|
||||||
$sel = [$type => "selected"];
|
$sel = [$type => "selected"];
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -35,15 +36,21 @@ $sel = [$type => "selected"];
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>세력장수</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 세력장수</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>세 력 장 수<br><?=backButton()?></td></tr>
|
<tr><td>세 력 장 수<br><?=backButton()?></td></tr>
|
||||||
<tr><td><form name=form1 method=post>정렬순서 :
|
<tr><td><form name=form1 method=post>정렬순서 :
|
||||||
<select name=type size=1>
|
<select name=type size=1>
|
||||||
@@ -113,7 +120,7 @@ $genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect)
|
|||||||
$gencount = MYDB_num_rows($genresult);
|
$gencount = MYDB_num_rows($genresult);
|
||||||
|
|
||||||
echo"
|
echo"
|
||||||
<table align=center border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=64 align=center id=bg1>얼 굴</td>
|
<td width=64 align=center id=bg1>얼 굴</td>
|
||||||
<td width=98 align=center id=bg1>이 름</td>
|
<td width=98 align=center id=bg1>이 름</td>
|
||||||
@@ -167,7 +174,7 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
$imageTemp = GetImageURL($general['imgsvr']);
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center background={$imageTemp}/{$general['picture']} height=64></td>
|
<td align=center class='generalIcon' style='background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;' height=64></td>
|
||||||
<td align=center>$name</td>
|
<td align=center>$name</td>
|
||||||
<td align=center>"; echo getLevel($general['level'], $nationLevel); echo "</td>
|
<td align=center>"; echo getLevel($general['level'], $nationLevel); echo "</td>
|
||||||
<td align=center>".getDed($general['dedication'])."</td>
|
<td align=center>".getDed($general['dedication'])."</td>
|
||||||
@@ -178,8 +185,8 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
<td align=center>$intel</td>
|
<td align=center>$intel</td>
|
||||||
<td align=center>{$general['gold']}</td>
|
<td align=center>{$general['gold']}</td>
|
||||||
<td align=center>{$general['rice']}</td>
|
<td align=center>{$general['rice']}</td>
|
||||||
<td align=center>".getGenChar($general['personal'])."</td>
|
<td align=center>".displayCharInfo($general['personal'])."</td>
|
||||||
<td align=center>".getGenSpecial($general['special'])." / ".getGenSpecial($general['special2'])."</td>
|
<td align=center>".displaySpecialInfo($general['special'])." / ".displaySpecialInfo($general['special2'])."</td>
|
||||||
<td align=center>{$general['belong']}</td>
|
<td align=center>{$general['belong']}</td>
|
||||||
<td align=center>{$general['connect']}"; echo "<br>(".getConnect($general['connect']).")</td>
|
<td align=center>{$general['connect']}"; echo "<br>(".getConnect($general['connect']).")</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
@@ -190,11 +197,10 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ $session = Session::requireGameLogin()->setReadOnly();
|
|||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("세력정보", 1);
|
increaseRefresh("세력정보", 1);
|
||||||
@@ -25,15 +26,21 @@ if($me['level'] == 0) {
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>세력정보</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<title><?=UniqueConst::$serverName?>: 세력정보</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>세 력 정 보<br><?=backButton()?></td></tr>
|
<tr><td>세 력 정 보<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
@@ -65,9 +72,7 @@ $query = "select sum(crew) as totcrew,sum(leader)*100 as maxcrew from general wh
|
|||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select gold_rate,rice_rate from game limit 1";
|
$admin = $gameStor->getValues(['gold_rate','rice_rate']);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
// 금 수지
|
// 금 수지
|
||||||
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
$deadIncome = getDeadIncome($nation['nation'], $nation['type'], $admin['gold_rate']);
|
||||||
|
|
||||||
@@ -89,7 +94,7 @@ if($budgetricediff > 0) { $budgetricediff = "+{$budgetricediff}"; }
|
|||||||
else { $budgetricediff = "$budgetricediff"; }
|
else { $budgetricediff = "$budgetricediff"; }
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg2>
|
<table align=center width=1000 class='tb_layout bg2'>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 ";echo $me['nation']==0?"공 백 지":"{$nation['name']}";echo " 】</td>
|
<td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 ";echo $me['nation']==0?"공 백 지":"{$nation['name']}";echo " 】</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -156,11 +161,10 @@ echo"
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -5,95 +5,126 @@ include "lib.php";
|
|||||||
include "func.php";
|
include "func.php";
|
||||||
|
|
||||||
$btn = Util::getReq('btn');
|
$btn = Util::getReq('btn');
|
||||||
|
$mode = Util::getReq('mode', 'int', 2);
|
||||||
|
$tnmt = Util::getReq('tnmt', 'int', 1);
|
||||||
|
//$detachNPC = Util::getReq('detachNPC', 'bool');
|
||||||
|
$detachNPC = false;
|
||||||
|
|
||||||
|
extractMissingPostToGlobals();
|
||||||
|
|
||||||
|
if($mode < 0 || $mode > 2){
|
||||||
|
$mode = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($tnmt < 0 || $tnmt > 1){
|
||||||
|
$tnmt = 1;
|
||||||
|
}
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
|
|
||||||
increaseRefresh("내정보", 1);
|
increaseRefresh("내정보", 1);
|
||||||
|
|
||||||
$query = "select myset from general where owner='{$userID}'";
|
$query = "select no,npc,mode,tnmt,myset from general where owner='{$userID}'";
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
|
|
||||||
if ($me['myset'] > 0) {
|
if ($me['myset'] > 0) {
|
||||||
$submit = 'submit';
|
$submit = 'submit';
|
||||||
} else {
|
} else {
|
||||||
$submit = 'hidden';
|
$submit = 'hidden';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($btn == "설정저장" && $me['myset'] > 0) {
|
if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
||||||
if ($me['myset'] > 1) {
|
if ($me['myset'] > 1) {
|
||||||
$submit = 'submit';
|
$submit = 'submit';
|
||||||
} else {
|
} else {
|
||||||
$submit = 'hidden';
|
$submit = 'hidden';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$me['myset'] -= 1;
|
||||||
|
|
||||||
$db->update('general', [
|
$db->update('general', [
|
||||||
'myset'=>$db->sqleval('myset-1'),
|
'myset'=>$db->sqleval('myset-1'),
|
||||||
'map'=>$map,
|
|
||||||
'mode'=>$mode,
|
'mode'=>$mode,
|
||||||
'tnmt'=>$tnmt
|
'tnmt'=>$tnmt
|
||||||
], 'owner=%i', $userID);
|
], 'owner=%i', $userID);
|
||||||
}
|
|
||||||
|
|
||||||
$query = "select no,map,mode,tnmt,myset from general where owner='{$userID}'";
|
$me['mode'] = $mode;
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
$me['tnmt'] = $tnmt;
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
if($me['npc'] == 1 && $detachNPC){
|
||||||
|
$turnterm = $gameStor->turnterm;
|
||||||
|
|
||||||
|
if($turnterm < 10){
|
||||||
|
$targetKillTurn = 30 / $turnterm;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$targetKillTurn = 60 / $turnterm;
|
||||||
|
}
|
||||||
|
$db->update('general', [
|
||||||
|
'killturn'=>$targetKillTurn
|
||||||
|
], 'owner=%i AND npc=1', $userID);
|
||||||
|
|
||||||
|
$me['killturn']=$targetKillTurn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<title>내정보</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link href="../d_shared/common.css" rel="stylesheet">
|
<meta name="viewport" content="width=1024" />
|
||||||
<link rel=stylesheet href="css/common.css">
|
<title><?=UniqueConst::$serverName?>: 내정보</title>
|
||||||
<script type="text/javascript">
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
function go(type) {
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
if(type == 0){
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
location.replace('c_vacation.php');
|
<?=WebUtil::printJS('js/myPage.js')?>
|
||||||
}
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
}
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
</script>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>내 정 보<br><?=backButton()?></td></tr>
|
<tr><td>내 정 보<br><?=backButton()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=50%>
|
<td width=50%>
|
||||||
<?php myInfo(); ?>
|
<?php myInfo(); ?>
|
||||||
<?php myInfo2(); ?>
|
<?php myInfo2(); ?>
|
||||||
</td>
|
</td>
|
||||||
<td width=50% valign=top>
|
<td width=50% valign=top style="padding-left:4ch;">
|
||||||
<form name=form1 action=b_myPage.php method=post>
|
<form name=form1 action=b_myPage.php method=post>
|
||||||
지도수준 【
|
토너먼트 【
|
||||||
<input type=radio name=map value=0 <?=$me['map']==0?"checked":""; ?>>상세
|
|
||||||
<input type=radio name=map value=1 <?=$me['map']==1?"checked":""; ?>>간단
|
|
||||||
<input type=radio name=map value=2 <?=$me['map']==2?"checked":""; ?>>생략
|
|
||||||
】<br><br>
|
|
||||||
토너먼트 【
|
|
||||||
<input type=radio name=tnmt value=0 <?=$me['tnmt']==0?"checked":""; ?>>수동참여
|
<input type=radio name=tnmt value=0 <?=$me['tnmt']==0?"checked":""; ?>>수동참여
|
||||||
<input type=radio name=tnmt value=1 <?=$me['tnmt']==1?"checked":""; ?>>자동참여
|
<input type=radio name=tnmt value=1 <?=$me['tnmt']==1?"checked":""; ?>>자동참여
|
||||||
】<br>
|
】<br>
|
||||||
∞<font color=orange>개막직전 남는자리가 있을경우 랜덤하게 참여합니다.</font><br><br>
|
∞<font color=orange>개막직전 남는자리가 있을경우 랜덤하게 참여합니다.</font><br><br>
|
||||||
수비 【
|
수비 【
|
||||||
<input type=radio name=mode value=2 <?=$me['mode']==2?"checked":""; ?>>◎(훈사80)
|
<input type=radio name=mode value=2 <?=$me['mode']==2?"checked":""; ?>>◎(훈사80)
|
||||||
<input type=radio name=mode value=1 <?=$me['mode']==1?"checked":""; ?>>○(훈사60)
|
<input type=radio name=mode value=1 <?=$me['mode']==1?"checked":""; ?>>○(훈사60)
|
||||||
<input type=radio name=mode value=0 <?=$me['mode']==0?"checked":""; ?>>×
|
<input type=radio name=mode value=0 <?=$me['mode']==0?"checked":""; ?>>×
|
||||||
】<br><br>
|
】<br><br>
|
||||||
<input type=<?=$submit?> name=btn style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160;height:30;font-size:13px; value=설정저장><br>
|
<input type=<?=$submit?> name=btn style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px; value=설정저장><br>
|
||||||
∞<font color=orange>설정저장은 이달중 <?=$me['myset']?>회 남았습니다.</font><br><br>
|
∞<font color=orange>설정저장은 이달중 <?=$me['myset']?>회 남았습니다.</font><br><br>
|
||||||
</form>
|
</form>
|
||||||
휴 가 신 청<br>
|
휴 가 신 청<br>
|
||||||
<input type=button style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160;height:30;font-size:13px; value=휴가신청 onclick='go(0)'>
|
<a href="c_vacation.php"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>휴가 신청</button></a><br><br>
|
||||||
|
<!--빙의 해제용 삭턴 조절<br>
|
||||||
|
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>빙의 해체 요청</button></a>-->
|
||||||
|
개인용 CSS<br>
|
||||||
|
<textarea id='custom_css' style='color:white;background-color:black;width:420px;height:150px;'></textarea>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -121,11 +152,10 @@ function go(type) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table align=center width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?></td></tr>
|
<tr><td><?=banner()?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -20,23 +20,30 @@ $me = MYDB_fetch_array($result);
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>회의실</title>
|
<title><?=UniqueConst::$serverName?>: 회의실</title>
|
||||||
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
|
<meta charset="UTF-8">
|
||||||
<link rel='stylesheet' href='../d_shared/common.css' type='text/css'>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<link rel='stylesheet' href='css/common.css' type='text/css'>
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<div style='width:1000px;margin:auto'>
|
||||||
|
<table width=1000 class='tb_layout bg0'>
|
||||||
<tr><td>회 의 실<br><?=backButton()?></td></tr>
|
<tr><td>회 의 실<br><?=backButton()?></td></tr>
|
||||||
<form name=form1 method=post action=c_nationboard.php>
|
<form name=form1 method=post action=c_nationboard.php>
|
||||||
<tr><td align=center>
|
<tr><td align=center>
|
||||||
제목 <input type=textarea maxlength=50 name=title style=color:white;background-color:black;width:830;>
|
제목 <input type=textarea maxlength=50 name=title style=color:white;background-color:black;width:830px;>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<textarea name=msg style=color:white;background-color:black;width:998;height:200;></textarea><br>
|
<textarea name=msg style=color:white;background-color:black;width:998px;height:200px;></textarea><br>
|
||||||
<input type=submit value=저장하기>
|
<input type=submit value=저장하기>
|
||||||
<input type=hidden name=num value=-1>
|
<input type=hidden name=num value=-1>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@@ -60,11 +67,11 @@ for($i=0; $i < 20; $i++) {
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table align=center width=1000 border=1 cellspacing=0 cellpadding=0 bordercolordark=gray bordercolorlight=black style=font-size:13px;word-break:break-all; id=bg0>
|
<table width=1000 class='tb_layout bg0'>
|
||||||
<tr><td><?=backButton()?></td></tr>
|
<tr><td><?=backButton()?></td></tr>
|
||||||
<tr><td><?=banner()?> </td></tr>
|
<tr><td><?=banner()?> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<?php PrintElapsedTime(); ?>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||