Compare commits
1264 Commits
v2.0.2
...
3.3_temp_f
| Author | SHA1 | Date | |
|---|---|---|---|
| a2fd058bf5 | |||
| 1538ba757a | |||
| a358b3b89e | |||
|
|
12acc2191d | ||
|
|
c1227a9f2e | ||
|
|
fa97aac0ab | ||
|
|
cc21416254 | ||
|
|
772b6449c0 | ||
|
|
d2a1655832 | ||
|
|
b1f14fd670 | ||
|
|
0bbaba2c3e | ||
|
|
3f98302449 | ||
|
|
5857effadd | ||
|
|
52b1880593 | ||
|
|
049a499843 | ||
|
|
d9e64e978c | ||
|
|
bf54579ffa | ||
|
|
e6bfe744d8 | ||
|
|
593b11f7a5 | ||
|
|
93ea98f744 | ||
|
|
af78256355 | ||
|
|
b73b968d37 | ||
|
|
998fd77ee4 | ||
|
|
373b21121b | ||
|
|
6cae1e4b75 | ||
|
|
b9a0ef7cdb | ||
|
|
3853fde6ed | ||
|
|
719d0e9cfb | ||
|
|
7929bc4da4 | ||
|
|
e6a4c8758a | ||
|
|
070d25ca4b | ||
|
|
5bbbf25fe8 | ||
|
|
391cffae02 | ||
|
|
2d41386fd0 | ||
|
|
301e7a1b1c | ||
|
|
49a001f527 | ||
|
|
7f36382cc6 | ||
|
|
acea787547 | ||
|
|
8101fd3ede | ||
|
|
2ef617da09 | ||
|
|
33d41ac99d | ||
|
|
5bab8a5fc3 | ||
|
|
2b6c85e2cf | ||
|
|
122d79dc80 | ||
|
|
fc8db41bf8 | ||
|
|
708873506b | ||
|
|
54754f1d9d | ||
|
|
94180f0e2d | ||
|
|
daf730ab12 | ||
|
|
2a5ae2d485 | ||
|
|
72f7894bf9 | ||
|
|
84359510c5 | ||
|
|
2338089b51 | ||
|
|
a0bc7dabe4 | ||
|
|
d173fbaff7 | ||
|
|
ccf901dfbf | ||
|
|
306101fee9 | ||
|
|
0cc4deb495 | ||
|
|
b018d51c11 | ||
|
|
e2ddf73757 | ||
|
|
6284f76c43 | ||
|
|
3540961812 | ||
|
|
9c19cd17b3 | ||
|
|
d9d00c0652 | ||
|
|
8589f28536 | ||
|
|
d49d2b2d96 | ||
|
|
6b7b261461 | ||
|
|
b19cb5accb | ||
|
|
f1f228358f | ||
|
|
fa503fc5ad | ||
|
|
3e2231a8e7 | ||
|
|
ec8782b3b5 | ||
|
|
f35af8fe0c | ||
|
|
6207e24081 | ||
|
|
fd5fb1ab33 | ||
|
|
f969e375bc | ||
|
|
f6f376a23c | ||
|
|
80d4353e43 | ||
|
|
74f2860521 | ||
|
|
a21358748b | ||
|
|
716ab2cb95 | ||
|
|
8450b49306 | ||
|
|
dc6df43e8f | ||
|
|
3cf8cf24f7 | ||
|
|
d1647a1cb7 | ||
|
|
674dad9aa9 | ||
|
|
abff50d9b6 | ||
|
|
2838b58151 | ||
|
|
9e4b3143df | ||
|
|
5aaa3a8297 | ||
|
|
2b781defac | ||
|
|
7d4b3c52cd | ||
|
|
278765ed30 | ||
|
|
c0895aa638 | ||
|
|
0ac73f5b0e | ||
|
|
0c22c79045 | ||
|
|
1df94beaf4 | ||
|
|
6ac3c6caf3 | ||
|
|
bdd52ad3c0 | ||
|
|
1641e1fdc5 | ||
|
|
1a2f4d9931 | ||
|
|
8388533630 | ||
|
|
a152da8dbd | ||
|
|
096b2bb292 | ||
|
|
6b179d204b | ||
|
|
e4e5141978 | ||
|
|
2799ba6762 | ||
|
|
b93ebc781e | ||
|
|
d7f6d265fa | ||
|
|
74267a0f9d | ||
|
|
bf8d10d3fe | ||
|
|
8f99c070a8 | ||
|
|
94b93c34e6 | ||
|
|
12781a6fc8 | ||
|
|
0845725ded | ||
|
|
2e947cd66f | ||
|
|
6971392003 | ||
|
|
71e51ee730 | ||
|
|
a991cb1359 | ||
|
|
f3dd0c37c1 | ||
|
|
0989a7a058 | ||
|
|
0e80fb3930 | ||
|
|
2535ca5ebe | ||
|
|
8e4380a170 | ||
|
|
3509044e03 | ||
|
|
c61971e7eb | ||
|
|
a1748116f6 | ||
|
|
1bb9381027 | ||
|
|
7e335a660b | ||
|
|
0761948012 | ||
|
|
281aa4fcc7 | ||
|
|
f82794df11 | ||
|
|
c3297982f7 | ||
|
|
668040b48e | ||
|
|
060319d2ea | ||
|
|
1eb4dc0e8e | ||
|
|
66a5d95ed9 | ||
|
|
0cc4b4ea0a | ||
|
|
2b65156d47 | ||
|
|
1967e94f64 | ||
|
|
98aee57309 | ||
|
|
b805ce2e5f | ||
|
|
cba13d7a7d | ||
|
|
c549ea4f1d | ||
|
|
c8a36b0c36 | ||
|
|
0ea94ae9c8 | ||
|
|
5be701a09a | ||
|
|
b3adcbe97d | ||
|
|
5e7cb9b63f | ||
|
|
8755e12b53 | ||
|
|
863933cc56 | ||
|
|
c3d71b992f | ||
|
|
1714f1fb33 | ||
|
|
c0841d17b3 | ||
|
|
7cf857fd93 | ||
|
|
dc5638ef55 | ||
|
|
1ce0d2d535 | ||
|
|
6a5c79787d | ||
|
|
511f7571c2 | ||
|
|
f26b019a44 | ||
|
|
d2012e1712 | ||
|
|
a9a4e9af63 | ||
|
|
ba64d8aef6 | ||
|
|
fe1ebd8299 | ||
|
|
a15acd0382 | ||
|
|
1007dac3cb | ||
|
|
64facf06d0 | ||
|
|
83a2d7d816 | ||
|
|
c76ba45e77 | ||
|
|
4a1c82b140 | ||
|
|
46d22c53ea | ||
|
|
d819efc34b | ||
|
|
805147a0f6 | ||
|
|
7647af3673 | ||
|
|
2140e03bd9 | ||
|
|
7814b373b4 | ||
|
|
4183b631f3 | ||
|
|
77e03d27bd | ||
|
|
01a44515ce | ||
|
|
4697a1fbf5 | ||
|
|
50dcce6c59 | ||
|
|
9fef51e3e9 | ||
|
|
add30ed905 | ||
|
|
a1a6220e47 | ||
|
|
a140f8ecc1 | ||
|
|
57f4a56727 | ||
|
|
5a19a3d4db | ||
|
|
735e4f5297 | ||
|
|
47cfa00f0e | ||
|
|
3821609831 | ||
|
|
2944dbf057 | ||
|
|
e6fd931b39 | ||
|
|
8a08e80368 | ||
|
|
3bf91b97f1 | ||
|
|
d0d69befa4 | ||
|
|
be7b9e23d3 | ||
|
|
72f6db8577 | ||
|
|
ba921a8eae | ||
|
|
d72f1c0788 | ||
|
|
36ef4dff01 | ||
|
|
b8981f54fa | ||
|
|
b276309c2c | ||
|
|
7af7268440 | ||
|
|
6f0dcb6699 | ||
|
|
51e88a7c56 | ||
|
|
ea053a251d | ||
|
|
b8cbeb5b01 | ||
|
|
b734d1f3fb | ||
|
|
d6c8538c13 | ||
|
|
c47b7f5cef | ||
|
|
7f8d8ce50a | ||
|
|
f64825e730 | ||
|
|
5aef24cb98 | ||
|
|
06da0228a6 | ||
|
|
252a91231f | ||
|
|
9d1cbc0063 | ||
|
|
ec68169445 | ||
|
|
2e067f8de5 | ||
|
|
2c633fe567 | ||
|
|
adfdc0c817 | ||
|
|
5e6c7ac4b6 | ||
|
|
81d08cbef1 | ||
|
|
053a31fef5 | ||
|
|
4df5702eff | ||
|
|
2afa1c14c9 | ||
|
|
2b05a550c5 | ||
|
|
a927aae498 | ||
|
|
426af6f844 | ||
|
|
24c7950dcb | ||
|
|
b143c5f525 | ||
|
|
215a29c0ac | ||
|
|
e5319bfbe3 | ||
|
|
4739c5317c | ||
|
|
55d7991829 | ||
|
|
f92ef62843 | ||
|
|
a364f1f258 | ||
|
|
0665dba08f | ||
|
|
04d4cc50af | ||
|
|
2ee6b3c819 | ||
|
|
7d5128db80 | ||
|
|
35e07a1201 | ||
|
|
31d01f0aa4 | ||
|
|
45fb1c859d | ||
|
|
9d4515432c | ||
|
|
f3be40fd72 | ||
|
|
dd25b5dc1f | ||
|
|
e72d8c0a5f | ||
|
|
4e3cbbc378 | ||
|
|
62847190dd | ||
|
|
a7ee21e621 | ||
|
|
cbe29004bd | ||
|
|
eae00a3897 | ||
|
|
a832bea536 | ||
|
|
c6767fa9f2 | ||
|
|
8e398363fe | ||
|
|
f3f6dc16ea | ||
|
|
b50d6012ea | ||
|
|
9e1623e37d | ||
|
|
2f0852cb70 | ||
|
|
309e6d06e2 | ||
|
|
efdfa5a074 | ||
|
|
cddeb1eeac | ||
|
|
bad0316a94 | ||
|
|
522b4d3087 | ||
|
|
530d841674 | ||
|
|
d3cca6a3e2 | ||
|
|
a5ccbb48c7 | ||
|
|
367d5168bd | ||
|
|
f4bf6e1d9f | ||
|
|
8cdf4a2161 | ||
|
|
ba684e1025 | ||
|
|
c63ec881b1 | ||
|
|
9c90d2834b | ||
|
|
7b7fde2a00 | ||
|
|
127617ceaa | ||
|
|
44a1937237 | ||
|
|
5899c9e7a5 | ||
|
|
d4a2b63b4e | ||
|
|
6ad980975a | ||
|
|
5cee058e69 | ||
|
|
5a32b757f6 | ||
|
|
76dbec58d9 | ||
|
|
072957b6ec | ||
|
|
76003767d5 | ||
|
|
27f9ae0949 | ||
|
|
229033a618 | ||
|
|
85337f9a09 | ||
|
|
ddeeb97338 | ||
|
|
3e0ec62751 | ||
|
|
2239850ba9 | ||
|
|
d5712e70cb | ||
|
|
f61a0376dc | ||
|
|
7ff4937108 | ||
|
|
2d7232a392 | ||
|
|
6cd36b4b13 | ||
|
|
5678dd2251 | ||
|
|
5fe659d6b1 | ||
|
|
a1659237ab | ||
|
|
61077d332a | ||
|
|
5d8026c3c8 | ||
|
|
b4f68afd3c | ||
|
|
1f6ddc245e | ||
|
|
92a960ebd5 | ||
|
|
9d0146918d | ||
|
|
d699ef0e3b | ||
|
|
6767c6406b | ||
|
|
33a96b967b | ||
|
|
7e4a6468a2 | ||
|
|
5007b9ee35 | ||
|
|
8c0c123627 | ||
|
|
605c7bc41f | ||
|
|
0123621025 | ||
|
|
3f2e5d56a6 | ||
|
|
dd43a8364c | ||
|
|
6c8b63db06 | ||
|
|
7e0034cd1a | ||
|
|
112b7d2db7 | ||
|
|
9792360f03 | ||
|
|
4d042239d6 | ||
|
|
2a5d91b474 | ||
|
|
61782b6e77 | ||
|
|
39482d5441 | ||
|
|
6835979dbf | ||
|
|
2dd46f61b6 | ||
|
|
24f18700bb | ||
|
|
01cb85005a | ||
|
|
1a4587a2a3 | ||
|
|
eb24ba1425 | ||
|
|
c0430bb20e | ||
|
|
08a4d74937 | ||
|
|
f8de6be004 | ||
|
|
cd4e7e2993 | ||
|
|
22e48beb8f | ||
|
|
545f7af4de | ||
|
|
53a9dbf5dd | ||
|
|
9ca1e197ee | ||
|
|
131b7a691d | ||
|
|
c3e1128ad6 | ||
|
|
2d5a14db22 | ||
|
|
4134f59a15 | ||
|
|
1a74082154 | ||
|
|
9fe7e17124 | ||
|
|
726f94e798 | ||
|
|
1e405e9d91 | ||
|
|
42973b1a10 | ||
|
|
a699a92e31 | ||
|
|
22ef20d0e7 | ||
|
|
a9c5913c1f | ||
|
|
74adacbe1f | ||
|
|
e2c85346b0 | ||
|
|
7129e5e2a2 | ||
|
|
af21b2edc4 | ||
|
|
f65f132649 | ||
|
|
7ac5201425 | ||
|
|
6488dd8d0c | ||
|
|
df854fe083 | ||
|
|
36db7c0b28 | ||
|
|
3c23f6b405 | ||
|
|
de98a00df5 | ||
|
|
96b31e8abb | ||
|
|
dec789fef7 | ||
|
|
3e18e50f89 | ||
|
|
53eb8ebe02 | ||
|
|
9551290fcf | ||
|
|
e838684ae5 | ||
|
|
b68bb7f4a6 | ||
|
|
119855aedf | ||
|
|
5b6b6740ca | ||
|
|
3ab38cdf31 | ||
|
|
5c79d9452a | ||
|
|
ce17432e78 | ||
|
|
7b9380360c | ||
|
|
a8655fc78d | ||
|
|
d16acc444b | ||
|
|
76c5f62cbd | ||
|
|
faedc2bd25 | ||
|
|
cfa2657da4 | ||
|
|
8e85752c65 | ||
|
|
9899d4fd3c | ||
|
|
1e7dc9b576 | ||
|
|
30bd67f3d8 | ||
|
|
311c7cb97f | ||
|
|
f75dd66601 | ||
|
|
0ea8d11360 | ||
|
|
70efdf099e | ||
|
|
bc3b430569 | ||
|
|
ee096bf60d | ||
|
|
f2b002c49b | ||
|
|
a50e6c04d0 | ||
|
|
e4861caed8 | ||
|
|
7a63c9a3a8 | ||
|
|
2397563b9a | ||
|
|
ce42fb4fb8 | ||
|
|
b98c6fed23 | ||
|
|
8d38348f15 | ||
|
|
64eb8f871a | ||
|
|
6614a7c320 | ||
|
|
9bf8fd049d | ||
|
|
6e6e3c504b | ||
|
|
e3163df594 | ||
|
|
3713332da0 | ||
|
|
68af642d73 | ||
|
|
f4ce532f69 | ||
|
|
2c62ff85a9 | ||
|
|
4f5fdeb090 | ||
|
|
3d1ede7c1b | ||
|
|
b3265046f7 | ||
|
|
02684758db | ||
|
|
655518a9d1 | ||
|
|
771fcfe06c | ||
|
|
f1ca2d8a39 | ||
|
|
0e58d83267 | ||
|
|
e08b15ede8 | ||
|
|
e6aca6aa17 | ||
|
|
70efb8a4e8 | ||
|
|
f1b77b1a2b | ||
|
|
cbe947fba4 | ||
|
|
a1375a4d6b | ||
|
|
44fae8c7cb | ||
|
|
12947c612f | ||
|
|
d4bd1db22e | ||
|
|
1a775ac6c3 | ||
|
|
baef0aaa22 | ||
|
|
1d7f29a526 | ||
|
|
6d1b5cf43a | ||
|
|
720676185f | ||
|
|
7d177dc608 | ||
|
|
ecf9a0eaf4 | ||
|
|
f37aad2148 | ||
|
|
df6424f4dc | ||
|
|
0622556422 | ||
|
|
c5fcf594fe | ||
|
|
831eb5cbe0 | ||
|
|
d4ef153daa | ||
|
|
f21862dfd3 | ||
|
|
f598ebbc74 | ||
|
|
806853e894 | ||
|
|
6640222b29 | ||
|
|
479cfefcac | ||
|
|
06e05f9816 | ||
|
|
840ccb2f9a | ||
|
|
6303370a15 | ||
|
|
d98c376b07 | ||
|
|
1da3ae4a1d | ||
|
|
c6ec43de6e | ||
|
|
6367bdd928 | ||
|
|
7a6128e4fd | ||
|
|
50cc1d8b54 | ||
|
|
667b0d4feb | ||
|
|
53cda218b4 | ||
|
|
4aa80b3e68 | ||
|
|
b2b8c9a948 | ||
|
|
102a4b0e22 | ||
|
|
48140c5220 | ||
|
|
cb969bdf17 | ||
|
|
c4d6ff8129 | ||
|
|
bf66bb7bb2 | ||
|
|
a4271117f8 | ||
|
|
134274ba5f | ||
|
|
cb8275309c | ||
|
|
6e89506076 | ||
|
|
5a29469d5f | ||
|
|
09e431d318 | ||
|
|
6de4b1402c | ||
|
|
0501e65cea | ||
|
|
48f526716a | ||
|
|
970023c03f | ||
|
|
b971916f61 | ||
|
|
efdaa5d5b3 | ||
|
|
3d185026f0 | ||
|
|
23d451c717 | ||
|
|
1ad87b46d5 | ||
|
|
9f21e447a8 | ||
|
|
22072a412b | ||
|
|
f4ceb44124 | ||
|
|
b4999f2c38 | ||
|
|
fc74e9dab7 | ||
|
|
4ba575bb1d | ||
|
|
8984e39043 | ||
|
|
99f917148c | ||
|
|
8c01c1adf6 | ||
|
|
6efbe4acfa | ||
|
|
d2ad40af02 | ||
|
|
9d08339f38 | ||
|
|
d11d5ecc95 | ||
|
|
619d075bd0 | ||
|
|
455af17c48 | ||
|
|
355a67aeb4 | ||
|
|
783e68e2dc | ||
|
|
bcd1a8feac | ||
|
|
ec0ffd7cce | ||
|
|
9068197508 | ||
|
|
6b7f9efae8 | ||
|
|
d74879e249 | ||
|
|
d29941902c | ||
|
|
227670703c | ||
|
|
9517dc7fce | ||
|
|
92fbcd8c40 | ||
|
|
88c334c82e | ||
|
|
39708289a7 | ||
|
|
e2846f25c9 | ||
|
|
387f6bf9a7 | ||
|
|
8cd2e08464 | ||
|
|
30e70cd638 | ||
|
|
ef18373c95 | ||
|
|
902f029c41 | ||
|
|
73e1ab1fde | ||
|
|
23d1b8dd9f | ||
|
|
0185f47b40 | ||
|
|
0cf514e01f | ||
|
|
4a320f4860 | ||
|
|
2640fea635 | ||
|
|
c08f728fe4 | ||
|
|
589f2a5f16 | ||
|
|
4261e3d23d | ||
|
|
bca1b3b639 | ||
|
|
6d050de576 | ||
|
|
7bd1528c8c | ||
|
|
c0ea8c59d6 | ||
|
|
c867d16763 | ||
|
|
df9e5c47ea | ||
|
|
ef22291efe | ||
|
|
b64f8fa9d8 | ||
|
|
d1b327ed47 | ||
|
|
7dabf61f6b | ||
|
|
4bfd4212f4 | ||
|
|
f010a0a35c | ||
|
|
1544d85369 | ||
|
|
15fbf01a29 | ||
|
|
d3bc75ccdf | ||
|
|
b5e317ad06 | ||
|
|
4bf63d4929 | ||
|
|
496e0b79cd | ||
|
|
8294faf6e6 | ||
|
|
a1ec325790 | ||
|
|
cfa063cfc9 | ||
|
|
a2dd8671b6 | ||
|
|
74933dd425 | ||
|
|
0d429b2f29 | ||
|
|
3a2782b578 | ||
|
|
99c5b164d9 | ||
|
|
1a5b678e0d | ||
|
|
2aae1337dc | ||
|
|
16c79dea35 | ||
|
|
a55b1002e1 | ||
|
|
7e8a036a7b | ||
|
|
3404aec242 | ||
|
|
dd50d3961a | ||
|
|
f6e79075d8 | ||
|
|
8c0d537841 | ||
|
|
a6b1e82e56 | ||
|
|
7e8363d849 | ||
|
|
791ae65f22 | ||
|
|
8738847a2d | ||
|
|
c470ebe386 | ||
|
|
4bb9d76bb3 | ||
|
|
1a4e55c10d | ||
|
|
ccb3193b3c | ||
|
|
801024d34d | ||
|
|
80122ee349 | ||
|
|
dbb00ee558 | ||
|
|
70c2a8f5ee | ||
|
|
791e15eb63 | ||
|
|
ced68fc73b | ||
|
|
703e846e37 | ||
|
|
e2497fbe7f | ||
|
|
1a29cd4896 | ||
|
|
f303a738d5 | ||
|
|
fa6c211a87 | ||
|
|
d7f7e66b17 | ||
|
|
f0934e4a51 | ||
|
|
0e7857f5c0 | ||
|
|
edc9f65924 | ||
|
|
52d9946f86 | ||
|
|
2290d75388 | ||
|
|
4d1f24d15c | ||
|
|
eb152add05 | ||
|
|
7e7b593660 | ||
|
|
c6896d5e01 | ||
|
|
876e0e95de | ||
|
|
420d389c27 | ||
|
|
333ee274b5 | ||
|
|
c07de94fe2 | ||
|
|
5f55b9026b | ||
|
|
e26ffa88b8 | ||
|
|
88f8f0653a | ||
|
|
aa9421f1a1 | ||
|
|
cb58112c69 | ||
|
|
8628755c07 | ||
|
|
25a957ebf6 | ||
|
|
8dbce81126 | ||
|
|
48ce1c60ff | ||
|
|
2d55bc5ea3 | ||
|
|
b921300708 | ||
|
|
70fd4543fc | ||
|
|
b6f582fac0 | ||
|
|
11ae5cbeab | ||
|
|
1d45ead71f | ||
|
|
e786543335 | ||
|
|
aec2d84d99 | ||
|
|
a904754ebb | ||
|
|
eeac9c1813 | ||
|
|
97ce6579a8 | ||
|
|
a1fe498049 | ||
|
|
c2d7ff2254 | ||
|
|
219be1f402 | ||
|
|
d399a2e4c4 | ||
|
|
81b4087da4 | ||
|
|
dc09f6f072 | ||
|
|
f4a8f10ba3 | ||
|
|
e44ecc137e | ||
|
|
f6a5de7062 | ||
|
|
0d27ba0f84 | ||
|
|
7298b58399 | ||
|
|
1099a2cd2f | ||
|
|
6032016631 | ||
|
|
c87709a741 | ||
|
|
dacb445b51 | ||
|
|
e902fc2090 | ||
|
|
4a490385c8 | ||
|
|
4c5c068adc | ||
|
|
fc395182e3 | ||
|
|
d71380e88b | ||
|
|
ecef40e3a1 | ||
|
|
8efbe99abc | ||
|
|
6588def851 | ||
|
|
797abf5367 | ||
|
|
7486dc94d0 | ||
|
|
612a8e5f78 | ||
|
|
76df8a08b5 | ||
|
|
ed8644facb | ||
|
|
b9689cad2c | ||
|
|
0069fe1850 | ||
|
|
a3bba23b23 | ||
|
|
b4a029a0b0 | ||
|
|
172a985595 | ||
|
|
88696e0863 | ||
|
|
61fc372bb0 | ||
|
|
16df69fac3 | ||
|
|
5579ea1043 | ||
|
|
a3de2c8f23 | ||
|
|
0aa26d9e3f | ||
|
|
cf23e694a3 | ||
|
|
cddf5d2922 | ||
|
|
758ae3c414 | ||
|
|
f737eded48 | ||
|
|
351ab0494e | ||
|
|
fbe9915c15 | ||
|
|
d7fa0ae6aa | ||
|
|
c80c412563 | ||
|
|
14d39ae961 | ||
|
|
1c47512066 | ||
|
|
05777c0812 | ||
|
|
2d40c6060a | ||
|
|
5fbe4f5d5f | ||
|
|
29ebc6230b | ||
|
|
5f04c9a2bb | ||
|
|
a4336cfff2 | ||
|
|
b402df024d | ||
|
|
7e6ba60948 | ||
|
|
51e94518f4 | ||
|
|
361c0d9729 | ||
|
|
2c951d8c4b | ||
|
|
aa6e53812b | ||
|
|
e39eefded5 | ||
|
|
41f6d77b7f | ||
|
|
9a60ff9306 | ||
|
|
e9c8ffe28f | ||
|
|
2eaefd0b6a | ||
|
|
b739cce3eb | ||
|
|
1afb392199 | ||
|
|
c2bb81dbd6 | ||
|
|
1a761b75e8 | ||
|
|
4e1bce320e | ||
|
|
436a2d7255 | ||
|
|
d9ea2e4dda | ||
|
|
da83856c00 | ||
|
|
7107660669 | ||
|
|
099a089145 | ||
|
|
d6815f7468 | ||
|
|
1aa5cffac6 | ||
|
|
3f1a4ed2f1 | ||
|
|
08a10d7866 | ||
|
|
4b3b1d2a1c | ||
|
|
3d9ec1a134 | ||
|
|
1301541e03 | ||
|
|
49cc27c7c9 | ||
|
|
0d27f01ec4 | ||
|
|
b0830f2eae | ||
|
|
75ae957684 | ||
|
|
e0c404a059 | ||
|
|
04e9b20871 | ||
|
|
46a7f142cd | ||
|
|
8418e01c56 | ||
|
|
cd1f77a48a | ||
|
|
47e178b564 | ||
|
|
2227998de5 | ||
|
|
8fb01f997d | ||
|
|
d7343e2b3d | ||
|
|
7fc27b3483 | ||
|
|
8258d70f07 | ||
|
|
1a87ad3431 | ||
|
|
099beb8153 | ||
|
|
27eef620ba | ||
|
|
a277d6a08a | ||
|
|
068691f8c5 | ||
|
|
c919f92446 | ||
|
|
4e16c7bd1b | ||
|
|
fc6b1ef5b0 | ||
|
|
c7fa3e3bdd | ||
|
|
b6e39159b7 | ||
|
|
5c35cb9cf8 | ||
|
|
db7ad0361d | ||
|
|
f737a7d683 | ||
|
|
917eb48e07 | ||
|
|
52c668eba1 | ||
|
|
55c4a06f99 | ||
|
|
b8266eed8d | ||
|
|
b1dcd62fb2 | ||
|
|
bfec89846b | ||
|
|
8724215bad | ||
|
|
ac8686179d | ||
|
|
309bc6da45 | ||
|
|
c96627ac85 | ||
|
|
048968ae66 | ||
|
|
0451caed38 | ||
|
|
c3366f746a | ||
|
|
fab235065f | ||
|
|
f0f8b85280 | ||
|
|
3f87caf3f3 | ||
|
|
8e232cec9d | ||
|
|
ff26914f72 | ||
|
|
f8fa912342 | ||
|
|
61ec0eecf7 | ||
|
|
c02d214f85 | ||
|
|
7d6df389ed | ||
|
|
5a285050a7 | ||
|
|
58b1d818d4 | ||
|
|
dac1b2bcaa | ||
|
|
7556ddfc3d | ||
|
|
a61eab4b36 | ||
|
|
d81fc02ddb | ||
|
|
ec858672d2 | ||
|
|
a05ffcba13 | ||
|
|
39a14ea788 | ||
|
|
ed33e19f4b | ||
|
|
c89d0c0d4f | ||
|
|
555b02fd16 | ||
|
|
fa6f292365 | ||
|
|
cf4f2209ff | ||
|
|
a031bd611e | ||
|
|
5eceecf442 | ||
|
|
61584baed7 | ||
|
|
49707925b6 | ||
|
|
3e0ff080bb | ||
|
|
85d4d85ee5 | ||
|
|
dfc78cafd6 | ||
|
|
3fa1e7c745 | ||
|
|
83da7e0f23 | ||
|
|
1e1af5f883 | ||
|
|
acdc7adbd7 | ||
|
|
4d7cc18c43 | ||
|
|
4e3ff66f2d | ||
|
|
7925d69a12 | ||
|
|
ce2d9bf90f | ||
|
|
c408f8b9c6 | ||
|
|
dfcb429278 | ||
|
|
c5020a7608 | ||
|
|
a166ae2553 | ||
|
|
4b099019e0 | ||
|
|
8567a5c931 | ||
|
|
3bc2bfd67e | ||
|
|
b98a67287c | ||
|
|
78887540a4 | ||
|
|
9fd003bb00 | ||
|
|
6b8fcf120d | ||
|
|
1d37cbec80 | ||
|
|
e8d32dd018 | ||
|
|
2203614991 | ||
|
|
ca2304abb8 | ||
|
|
50f5cfcbf3 | ||
|
|
149a92e822 | ||
|
|
2f45c5547d | ||
|
|
e3e60b3068 | ||
|
|
d41bd0eab9 | ||
|
|
2c279b71df | ||
|
|
483c621fac | ||
|
|
d554480697 | ||
|
|
7f887b872c | ||
|
|
240168e925 | ||
|
|
53a58f8a7c | ||
|
|
8479cb28ca | ||
|
|
304f7883d9 | ||
|
|
2692429e82 | ||
|
|
7732c23e3d | ||
|
|
e43cb08db6 | ||
|
|
023940466f | ||
|
|
ca59efa379 | ||
|
|
2542c5ef30 | ||
|
|
3b56ca328f | ||
|
|
86afbe6fe1 | ||
|
|
6d21c1794c | ||
|
|
e57d1f411a | ||
|
|
1978fbc48f | ||
|
|
be8593d288 | ||
|
|
7acaa371c7 | ||
|
|
fc65161989 | ||
|
|
b9d0236793 | ||
|
|
9922b6a7a7 | ||
|
|
ac88dde05b | ||
|
|
f2a6bce07b | ||
|
|
1a9dfa8a58 | ||
|
|
75d75df881 | ||
|
|
2cdc2ee211 | ||
|
|
a552a5cb8f | ||
|
|
63be896ca4 | ||
|
|
0a276c6ec6 | ||
|
|
9d678d86a9 | ||
|
|
92e17646ed | ||
|
|
c4c884bd7c | ||
|
|
aeb912a559 | ||
|
|
016bee7f72 | ||
|
|
bf7b8eb99b | ||
|
|
f4fd6f73e0 | ||
|
|
cefd447a67 | ||
|
|
496fb8b60b | ||
|
|
0e7d1b01cc | ||
|
|
a7c4e6b5ab | ||
|
|
252e1de3a5 | ||
|
|
830305267a | ||
|
|
f46328889f | ||
|
|
3a35acd1b6 | ||
|
|
d7fadc322e | ||
|
|
3f738233fd | ||
|
|
b0e2208bdb | ||
|
|
40f630a55d | ||
|
|
0ae979e34a | ||
|
|
b9a6a3b3e5 | ||
|
|
09376584df | ||
|
|
5d9c9447f0 | ||
|
|
cebf984217 | ||
|
|
4390d9cf62 | ||
|
|
09c3898fad | ||
|
|
9c87379bf5 | ||
|
|
cd43291738 | ||
|
|
34bc17a55f | ||
|
|
5d441c68b6 | ||
|
|
3ce983c7b6 | ||
|
|
ed8d2e2412 | ||
|
|
34adefe7b5 | ||
|
|
0a10c75c28 | ||
|
|
71e71e75df | ||
|
|
79e22c2b9c | ||
|
|
2b05666f1a | ||
|
|
3ef03e4a43 | ||
|
|
7dba6c61e0 | ||
|
|
aa2b99be7f | ||
|
|
f4f797a477 | ||
|
|
24b9fed88b | ||
|
|
6825c679c0 | ||
|
|
909c123cd9 | ||
|
|
1f3d7f996c | ||
|
|
70cf265951 | ||
|
|
3728b87360 | ||
|
|
6d66f85a5c | ||
|
|
7bb42186e6 | ||
|
|
70917d9155 | ||
|
|
724a8372e1 | ||
|
|
a4595d3014 | ||
|
|
b5f6e9e532 | ||
|
|
3f75dd8fa3 | ||
|
|
709d163a78 | ||
|
|
16f85cfbaa | ||
|
|
7d0edf7403 | ||
|
|
87bf71684d | ||
|
|
4a7f5e6ed8 | ||
|
|
03509a3195 | ||
|
|
3c3d0d055e | ||
|
|
7d46bf53c1 | ||
|
|
dac82f5c47 | ||
|
|
04b9ecf190 | ||
|
|
d6395878bc | ||
|
|
a5e070b7d9 | ||
|
|
a5affe3ab1 | ||
|
|
b29a49e0f0 | ||
|
|
9423032df7 | ||
|
|
a4b71f01e3 | ||
|
|
a11bdf667f | ||
|
|
fbf101d0ff | ||
|
|
2665a07237 | ||
|
|
e53d75bb6c | ||
|
|
fe33179197 | ||
|
|
9ee1edcb8c | ||
|
|
6cb6cca7f8 | ||
|
|
36963661d4 | ||
|
|
8894e606b0 | ||
|
|
923574566b | ||
|
|
9712518f2b | ||
|
|
a66585e14b | ||
|
|
275bd7c9c6 | ||
|
|
3bf0fbb1e9 | ||
|
|
50737c5cff | ||
|
|
442e67eabc | ||
|
|
a14139cf9a | ||
|
|
244f283be7 | ||
|
|
6e67220fcc | ||
|
|
66a1f20705 | ||
|
|
e07af8de27 | ||
|
|
eb256a647d | ||
|
|
727980f7e0 | ||
|
|
a2f728de3c | ||
|
|
89f3355c76 | ||
|
|
207b5f4c66 | ||
|
|
c4ab45ade1 | ||
|
|
1ac06334b0 | ||
|
|
51e6a6e9a8 | ||
|
|
be38d6d284 | ||
|
|
251ed1d857 | ||
|
|
192356aff4 | ||
|
|
f4add715f0 | ||
|
|
045efb6df2 | ||
|
|
81d25051ad | ||
|
|
428cacd35f | ||
|
|
767783027c | ||
|
|
f3f9a5cbef | ||
|
|
07cad1d6a9 | ||
|
|
9bc05fb9e6 | ||
|
|
1e4fa1df0b | ||
|
|
dc7e0adf5b | ||
|
|
4da6d97653 | ||
|
|
e64f04b927 | ||
|
|
83072b0dce | ||
|
|
c603e32b19 | ||
|
|
6692d4f71e | ||
|
|
86be688cf9 | ||
|
|
cd8c30960e | ||
|
|
2da97611a7 | ||
|
|
69c748e1e4 | ||
|
|
d2b4cb35f8 | ||
|
|
d5dc59df3c | ||
|
|
112ce17761 | ||
|
|
6c3e300543 | ||
|
|
2390fd8432 | ||
|
|
42a34c2ea6 | ||
|
|
67b067355d | ||
|
|
ac11640938 | ||
|
|
a415941829 | ||
|
|
f8ace055f9 | ||
|
|
4e5bee3840 | ||
|
|
8db374bcd8 | ||
|
|
1b18cfc104 | ||
|
|
988b4a44a2 | ||
|
|
85ea218545 | ||
|
|
2ea6bfa6fb | ||
|
|
eb5961564e | ||
|
|
e6d527268d | ||
|
|
8745f0b93c | ||
|
|
c42a5015ce | ||
|
|
1e7c107682 | ||
|
|
edaf25cebd | ||
|
|
2b6252f874 | ||
|
|
8a7212bdb3 | ||
|
|
891e1ec648 | ||
|
|
4319d7d041 | ||
|
|
e255e2f4fc | ||
|
|
3e06ac9fe2 | ||
|
|
e7c32ec1f0 | ||
|
|
e178f9c40f | ||
|
|
43baccd837 | ||
|
|
3d755c1c95 | ||
|
|
4655544ed4 | ||
|
|
1d2bc15cf4 | ||
|
|
d9eaf2f2fd | ||
|
|
1e34c77459 | ||
|
|
c7b71f8c0a | ||
|
|
817c89e26e | ||
|
|
feb2f52d4d | ||
|
|
48ae4e63fb | ||
|
|
2909976697 | ||
|
|
cc098fb66c | ||
|
|
5f092ad7cd | ||
|
|
99cd7f2b9d | ||
|
|
7ff415973f | ||
|
|
69bff0fafb | ||
|
|
19b4a3a5a0 | ||
|
|
68cd966f3b | ||
|
|
fc78d5c5ed | ||
|
|
384b6bd610 | ||
|
|
25a70e20b2 | ||
|
|
a86a99d090 | ||
|
|
fb7871cb87 | ||
|
|
c873fd768c | ||
|
|
81a83e6f9e | ||
|
|
af102fee19 | ||
|
|
2eace0a015 | ||
|
|
939dfb8a6c | ||
|
|
c36a297113 | ||
|
|
e88a313640 | ||
|
|
cb4dc1fe5e | ||
|
|
e533cc7f7d | ||
|
|
795add0751 | ||
|
|
c175c89cc7 | ||
|
|
ecdaf2acdb | ||
|
|
6e2b9e3a13 | ||
|
|
04b1a4866a | ||
|
|
facdccd6c7 | ||
|
|
3dc7e79cfd | ||
|
|
f164d2e901 | ||
|
|
e4ae9cf436 | ||
|
|
8c031b6c0d | ||
|
|
80da7081f9 | ||
|
|
ac91c09778 | ||
|
|
161cc6c209 | ||
|
|
61af6d6569 | ||
|
|
48f6d9b8e1 | ||
|
|
963c5d60b8 | ||
|
|
19a9630b2b | ||
|
|
f52d111d48 | ||
|
|
51e6bc742f | ||
|
|
a9d3d84b36 | ||
|
|
f00c59b908 | ||
|
|
c4224fef73 | ||
|
|
614e4170f4 | ||
|
|
0ec477c849 | ||
|
|
8e97adac09 | ||
|
|
b2a5c3859b | ||
|
|
838639ad10 | ||
|
|
3c697881ff | ||
|
|
87215fde46 | ||
|
|
e20eae3e18 | ||
|
|
84fef324b1 | ||
|
|
e0f676c2f4 | ||
|
|
837e36eba6 | ||
|
|
591e232650 | ||
|
|
c601476ead | ||
|
|
af84d05fd3 | ||
|
|
9476743f55 | ||
|
|
98dab4ed0f | ||
|
|
5e575e2f83 | ||
|
|
0c95bc508e | ||
|
|
c4fd78dfd2 | ||
|
|
e8bc2c79a9 | ||
|
|
f7ec84633d | ||
|
|
b628ba287d | ||
|
|
fd93ef9702 | ||
|
|
2c08318ee4 | ||
|
|
b611bb42ea | ||
|
|
71a4315ffe | ||
|
|
045dcdb686 | ||
|
|
669688006f | ||
|
|
92cac64108 | ||
|
|
aceb686d70 | ||
|
|
d1a4097c45 | ||
|
|
5609bf131b | ||
|
|
1604a56909 | ||
|
|
d55a921e81 | ||
|
|
801066801c | ||
|
|
64ee68568b | ||
|
|
06bc28ed5a | ||
|
|
12db763560 | ||
|
|
9131024585 | ||
|
|
8c66281379 | ||
|
|
e8ba092710 | ||
|
|
73fa16f983 | ||
|
|
95a9c7a642 | ||
|
|
bfe396eec9 | ||
|
|
b320d6854d | ||
|
|
a4b2debca1 | ||
|
|
0c38ca2924 | ||
|
|
82495cb249 | ||
|
|
29d81e1f0c | ||
|
|
e2b5ace07d | ||
|
|
a816a703f2 | ||
|
|
19c2d437a4 | ||
|
|
9df1a2a1b7 | ||
|
|
e6e86f07b2 | ||
|
|
4c9303eba0 | ||
|
|
ce9534bb3d | ||
|
|
9a0ad6d1e3 | ||
|
|
7ef6ca25ba | ||
|
|
025c368ed9 | ||
|
|
ebabc1117c | ||
|
|
58e532dfd4 | ||
|
|
972ad7ae5d | ||
|
|
a1f64e9842 | ||
|
|
ebd11b302f | ||
|
|
95eb3d5111 | ||
|
|
a0fb429665 | ||
|
|
af712c4e1e | ||
|
|
e939b5e169 | ||
|
|
9d230d7b27 | ||
|
|
9b85ac923b | ||
|
|
6f3a3c62b7 | ||
|
|
db82e28857 | ||
|
|
512910189c | ||
|
|
9702fc8923 | ||
|
|
0c736232aa | ||
|
|
a5717eeb80 | ||
|
|
71145968ca | ||
|
|
2a7773eec3 | ||
|
|
b5f9e21a15 | ||
|
|
0f449e142a | ||
|
|
fefa2c8cd9 | ||
|
|
0eacefc1da | ||
|
|
e26c88e963 | ||
|
|
942d8f98e2 | ||
|
|
da964d047b | ||
|
|
ba167ddc90 | ||
|
|
f852f166f7 | ||
|
|
fd12ba4b8e | ||
|
|
c37da45612 | ||
|
|
d0e8cbea32 | ||
|
|
35fb3103f7 | ||
|
|
31b4fe1f96 | ||
|
|
8de0a01890 | ||
|
|
145bfeb6e5 | ||
|
|
7f85489f69 | ||
|
|
18a93ea829 | ||
|
|
2d87b0e06d | ||
|
|
bad689b5fd | ||
|
|
8f43a142b8 | ||
|
|
207076d637 | ||
|
|
d63149f33b | ||
|
|
e3220460a9 | ||
|
|
cf1cd55cfd | ||
|
|
52b7ce6aa3 | ||
|
|
6df924ff0f | ||
|
|
9adf059eaa | ||
|
|
04f6d4018f | ||
|
|
2c8a93b6d9 | ||
|
|
fe145f4b29 | ||
|
|
062a5112a5 | ||
|
|
9c90e52907 | ||
|
|
fb02bd2b61 | ||
|
|
7c86475eba | ||
|
|
6083270b61 | ||
|
|
f4e7061087 | ||
|
|
2ac5f713dc | ||
|
|
2fb73a9e3d | ||
|
|
da6af3b1aa | ||
|
|
2d87dc449c | ||
|
|
404fad65b5 | ||
|
|
2d5a7af22d | ||
|
|
6ee32bad32 | ||
|
|
d2d6b0ac6e | ||
|
|
cedc646b1d | ||
|
|
0cb27d7ca8 | ||
|
|
f2c29df22e | ||
|
|
9b92d1a1df | ||
|
|
f8f0d1ace7 | ||
|
|
7b130f2c49 | ||
|
|
6747625a5c | ||
|
|
b4f0657714 | ||
|
|
1c9e0da63c | ||
|
|
d2634566b8 | ||
|
|
cad748bc0d | ||
|
|
3e8b0d6394 | ||
|
|
e0ab401185 | ||
|
|
34ceca877e | ||
|
|
0ed406ae04 | ||
|
|
6695373e0b | ||
|
|
de3bfbd7dd | ||
|
|
076fe71999 | ||
|
|
0215d30281 | ||
|
|
7e65259d6f | ||
|
|
7525acfcd6 | ||
|
|
add4d2987f | ||
|
|
492c047f7e | ||
|
|
b9946a227c | ||
|
|
6afff6b32c | ||
|
|
f62f58a1be | ||
|
|
e7413d417d | ||
|
|
5263e67fa8 | ||
|
|
88dd50f3ab | ||
|
|
27304eb644 | ||
|
|
4eb836cbc7 | ||
|
|
fe7794f81a | ||
|
|
c3066e6f01 | ||
|
|
d757d7396d | ||
|
|
e3fb1073be | ||
|
|
ffef91d62f | ||
|
|
7214de04b7 | ||
|
|
1e83ce9489 | ||
|
|
9996eabe77 | ||
|
|
35b31ce0bf | ||
|
|
fd1f89e908 | ||
|
|
453468cc79 | ||
|
|
8a841d816f | ||
|
|
67c60419b8 | ||
|
|
ad4787ae1c | ||
|
|
0d0418f2d5 | ||
|
|
53436e790c | ||
|
|
ab9f2eaaa3 | ||
|
|
0c8b39b0bd | ||
|
|
d3cfdae79a | ||
|
|
5e95d62e1e | ||
|
|
63d7dd9f75 | ||
|
|
7e4896c79e | ||
|
|
2d4468b643 | ||
|
|
eee18cc4e5 | ||
|
|
5c5f8b4845 | ||
|
|
566762c5d2 | ||
|
|
966f5cfa2d | ||
|
|
3be38fabc5 | ||
|
|
198e32ea9d | ||
|
|
71a7860925 | ||
|
|
30da5c6261 | ||
|
|
16b148b713 | ||
|
|
a5102ee393 | ||
|
|
e8056e8e48 | ||
|
|
c764c45732 | ||
|
|
c260b90488 | ||
|
|
5d2b3b4a54 | ||
|
|
fe1888e6c0 | ||
|
|
156fded994 | ||
|
|
78ea9ef8d3 | ||
|
|
05e320be77 | ||
|
|
1bbe74e8c6 | ||
|
|
faf559acd1 | ||
|
|
f931c822e8 | ||
|
|
7be6d9318e | ||
|
|
7e25bf46aa | ||
|
|
bd2ea48ecb | ||
|
|
1431b95c1d | ||
|
|
5d6f457b93 | ||
|
|
16de474503 | ||
|
|
78e1a9b064 | ||
|
|
a2ef3b8172 | ||
|
|
895546f502 | ||
|
|
b72fef9af3 | ||
|
|
ed642b9321 | ||
|
|
06918bc81d | ||
|
|
b69511de36 | ||
|
|
c3f7197eea | ||
|
|
a74347eefc | ||
|
|
6b17f71941 | ||
|
|
09faef4d74 | ||
|
|
53186f7060 | ||
|
|
ce300a78a6 | ||
|
|
76bd3af823 | ||
|
|
2d0e98b83c | ||
|
|
e33f13f8fb | ||
|
|
e40a5e97a6 | ||
|
|
cf79e948c3 | ||
|
|
b755201897 | ||
|
|
edf7541001 | ||
|
|
742ac5bdea | ||
|
|
632c7ab24f | ||
|
|
93b3291de9 | ||
|
|
3a6640450c | ||
|
|
48bce54c48 | ||
|
|
d419c19324 | ||
|
|
1b85010f43 | ||
|
|
95a7130591 | ||
|
|
2c2c0ad9ee | ||
|
|
6422c7925b | ||
|
|
96e0180f6e | ||
|
|
520f0b4ab4 | ||
|
|
59a37a06ac | ||
|
|
fee70fd3d0 | ||
|
|
a8ed6a31e8 | ||
|
|
715960ee94 | ||
|
|
2678e879e3 | ||
|
|
46fd811fa1 |
11
.gitattributes
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
tests/ export-ignore
|
||||
develop/ export-ignore
|
||||
travis/ export-ignore
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
.travis.yml export-ignore
|
||||
phpunit.xml.* export-ignore
|
||||
README.md export-ignore
|
||||
git-tools/ export-ignore
|
||||
.coveralls.yml export-ignore
|
||||
build.xml export-ignore
|
||||
5
.gitignore
vendored
@@ -1 +1,4 @@
|
||||
/.idea/*
|
||||
/.idea/*
|
||||
/tests/test_config.php
|
||||
/vendor/
|
||||
/build/
|
||||
|
||||
18
README.md
@@ -1,13 +1,23 @@
|
||||
#Board3 Portal 2.0.0
|
||||
#Board3 Portal 2.1.x
|
||||
|
||||
Board Portal 2.0.0 is a second generation portal for phpBB 3.0.x. It adds a portal with several blocks to your forum.
|
||||
Board Portal 2.1.x is a second generation portal for phpBB 3.1.x. It adds a portal with several blocks to your forum.
|
||||
You can change the settings, move the blocks, add new blocks and more in the ACP.
|
||||
|
||||
##How to use
|
||||
|
||||
You can download the current development version of Board3 Portal 2.0.0 here or download the current release at [www.board3.de](http://www.board3.de/ "Board3 • Portal").
|
||||
Board3 Portal can be installed via AutoMOD or manually by following the instructions in install.xml (open it with your browser).
|
||||
You can download the current development version of Board3 Portal 2.1.x here or download the current release at [www.board3.de](http://www.board3.de/ "Board3 • Portal").
|
||||
Board3 Portal 2.1.x can be installed via the phpBB 3.1 ACP.
|
||||
|
||||
|
||||
##Support
|
||||
|
||||
Support for Board3 Portal can be found at [www.board3.de](http://www.board3.de/ "Board3 • Portal") or on [www.phpbb.com](http://www.phpbb.com/community/viewtopic.php?f=70&t=2131824/ "phpBB • Board3 Portal").
|
||||
The extension is currently under heavy development and not supported until further notice.
|
||||
|
||||
## AUTOMATED TESTING
|
||||
|
||||
We are starting to have unit and functional tests in order to prevent regressions. You can check our travis build below.
|
||||
2.1.x - [](https://travis-ci.org/board3/Board3-Portal)
|
||||
[](https://scrutinizer-ci.com/g/board3/Board3-Portal/?branch=2.1.x)
|
||||
[](https://scrutinizer-ci.com/g/board3/Board3-Portal/?branch=2.1.x)
|
||||
|
||||
|
||||
29
acp/portal_info.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\acp;
|
||||
|
||||
/**
|
||||
* @package module_install
|
||||
*/
|
||||
class portal_info
|
||||
{
|
||||
public function module()
|
||||
{
|
||||
return array(
|
||||
'filename' => '\board3\portal\acp\portal_module',
|
||||
'title' => 'ACP_PORTAL',
|
||||
'version' => '2.1.0',
|
||||
'modes' => array(
|
||||
'config' => array('title' => 'ACP_PORTAL_GENERAL_INFO', 'auth' => 'ext_board3/portal && acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
|
||||
'modules' => array('title' => 'ACP_PORTAL_MODULES', 'auth' => 'ext_board3/portal && acl_a_manage_portal', 'cat' => array('ACP_PORTAL')),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
701
acp/portal_module.php
Normal file
@@ -0,0 +1,701 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\acp;
|
||||
|
||||
class portal_module
|
||||
{
|
||||
public $u_action;
|
||||
public $new_config = array();
|
||||
|
||||
/** @var \board3\portal\modules\module_interface */
|
||||
protected $c_class;
|
||||
|
||||
protected $db, $user, $cache, $template, $display_vars, $config, $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
|
||||
protected $root_path, $request, $php_ext, $portal_helper, $modules_helper, $log, $portal_columns;
|
||||
|
||||
/** @var \board3\portal\portal\modules\manager */
|
||||
protected $modules_manager;
|
||||
|
||||
/** @var \board3\portal\portal\modules\constraints_handler */
|
||||
protected $modules_constraints;
|
||||
|
||||
/** @var \board3\portal\controller\helper */
|
||||
protected $board3_controller_helper;
|
||||
|
||||
/** @var int Board3 module enabled */
|
||||
const B3_MODULE_ENABLED = 1;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
global $db, $user, $cache, $request, $template, $table_prefix;
|
||||
global $config, $phpbb_root_path, $phpbb_admin_path, $phpbb_container, $phpEx, $phpbb_log;
|
||||
|
||||
$user->add_lang_ext('board3/portal', array('portal', 'portal_acp'));
|
||||
|
||||
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
|
||||
|
||||
$this->db = $db;
|
||||
$this->user = $user;
|
||||
$this->cache = $cache;
|
||||
$this->template = $template;
|
||||
$this->config = $config;
|
||||
$this->request = $request;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
$this->phpbb_admin_path = $phpbb_admin_path;
|
||||
$this->php_ext = $phpEx;
|
||||
$this->phpbb_container = $phpbb_container;
|
||||
$this->portal_helper = $this->phpbb_container->get('board3.portal.helper');
|
||||
$this->modules_helper = $this->phpbb_container->get('board3.portal.modules_helper');
|
||||
$this->log = $phpbb_log;
|
||||
$this->portal_columns = $this->phpbb_container->get('board3.portal.columns');
|
||||
$this->modules_manager = $this->phpbb_container->get('board3.portal.modules.manager');
|
||||
$this->modules_constraints = $this->phpbb_container->get('board3.portal.modules.constraints_handler');
|
||||
$this->board3_controller_helper = $this->phpbb_container->get('board3.portal.controller_helper');
|
||||
|
||||
if (!defined('PORTAL_MODULES_TABLE'))
|
||||
{
|
||||
define('PORTAL_MODULES_TABLE', $this->phpbb_container->getParameter('board3.portal.modules.table'));
|
||||
define('PORTAL_CONFIG_TABLE', $this->phpbb_container->getParameter('board3.portal.config.table'));
|
||||
}
|
||||
|
||||
if (!function_exists('obtain_portal_config'))
|
||||
{
|
||||
include($this->root_path . 'includes/functions.' . $this->php_ext);
|
||||
}
|
||||
}
|
||||
|
||||
public function main($id, $mode)
|
||||
{
|
||||
$submit = ($this->request->is_set_post('submit')) ? true : false;
|
||||
|
||||
$form_key = 'acp_portal';
|
||||
add_form_key($form_key);
|
||||
|
||||
// Setup modules manager class
|
||||
$this->modules_manager->set_u_action($this->u_action)
|
||||
->set_acp_class(__CLASS__);
|
||||
|
||||
/**
|
||||
* Validation types are:
|
||||
* string, int, bool,
|
||||
* script_path (absolute path in url - beginning with / and no trailing slash),
|
||||
* rpath (relative), rwpath (realtive, writeable), path (relative path, but able to escape the root), wpath (writeable)
|
||||
*/
|
||||
switch ($mode)
|
||||
{
|
||||
case 'config':
|
||||
$display_vars = array(
|
||||
'title' => 'ACP_PORTAL_GENERAL_TITLE',
|
||||
'vars' => array(
|
||||
'legend1' => 'ACP_PORTAL_CONFIG_INFO',
|
||||
'board3_enable' => array('lang' => 'PORTAL_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'board3_left_column' => array('lang' => 'PORTAL_LEFT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'board3_right_column' => array('lang' => 'PORTAL_RIGHT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'board3_display_jumpbox' => array('lang' => 'PORTAL_DISPLAY_JUMPBOX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
|
||||
'legend2' => 'ACP_PORTAL_COLUMN_WIDTH_SETTINGS',
|
||||
'board3_left_column_width' => array('lang' => 'PORTAL_LEFT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
|
||||
'board3_right_column_width' => array('lang' => 'PORTAL_RIGHT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
|
||||
|
||||
'legend3' => 'ACP_PORTAL_SHOW_ALL',
|
||||
'board3_show_all_pages' => array('lang' => 'ACP_PORTAL_SHOW_ALL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'board3_show_all_side' => array('lang' => 'PORTAL_SHOW_ALL_SIDE', 'validate' => 'bool', 'type' => 'custom', 'method' => array('board3.portal.modules_helper', 'display_left_right'), 'submit' => array('board3.portal.modules_helper', 'store_left_right'), 'explain' => true),
|
||||
)
|
||||
);
|
||||
|
||||
$module_id = $this->request->variable('module_id', 0);
|
||||
if ($module_id)
|
||||
{
|
||||
$sql = 'SELECT *
|
||||
FROM ' . PORTAL_MODULES_TABLE . '
|
||||
WHERE module_id = ' . (int) $module_id;
|
||||
$result = $this->db->sql_query_limit($sql, 1);
|
||||
$module_data = $this->db->sql_fetchrow($result);
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
if ($module_data !== false)
|
||||
{
|
||||
|
||||
if (!($this->c_class = $this->portal_helper->get_module($module_data['module_classname'])))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
// Load module language
|
||||
$this->board3_controller_helper->load_module_language($this->c_class);
|
||||
|
||||
$module_name = $this->user->lang[$this->c_class->get_name()];
|
||||
$display_vars = $this->c_class->get_template_acp($module_id);
|
||||
$this->template->assign_vars(array(
|
||||
'MODULE_NAME' => (isset($this->c_class->hide_name) && $this->c_class->hide_name == true)? '' : $module_data['module_name'],
|
||||
'MODULE_IMAGE' => $module_data['module_image_src'],
|
||||
'MODULE_IMAGE_WIDTH' => $module_data['module_image_width'],
|
||||
'MODULE_IMAGE_HEIGHT' => $module_data['module_image_height'],
|
||||
'MODULE_IMAGE_SRC' => ($module_data['module_image_src']) ? $this->root_path . 'styles/all/theme/images/portal/' . $module_data['module_image_src'] : '',
|
||||
'MODULE_ENABLED' => ($module_data['module_status']) ? true : false,
|
||||
'MODULE_SHOW_IMAGE' => (in_array($this->portal_columns->number_to_string($module_data['module_column']), array('center', 'top', 'bottom'))) ? false : true,
|
||||
));
|
||||
|
||||
if ($module_data['module_classname'] != '\board3\portal\modules\custom')
|
||||
{
|
||||
$groups_ary = explode(',', $module_data['module_group_ids']);
|
||||
|
||||
// get group info from database and assign the block vars
|
||||
$sql = 'SELECT group_id, group_name
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
ORDER BY group_id ASC';
|
||||
$result = $this->db->sql_query($sql);
|
||||
while ($row = $this->db->sql_fetchrow($result))
|
||||
{
|
||||
$this->template->assign_block_vars('permission_setting', array(
|
||||
'SELECTED' => (in_array($row['group_id'], $groups_ary)) ? true : false,
|
||||
'GROUP_NAME' => (isset($this->user->lang['G_' . $row['group_name']])) ? $this->user->lang['G_' . $row['group_name']] : $row['group_name'],
|
||||
'GROUP_ID' => $row['group_id'],
|
||||
));
|
||||
}
|
||||
$this->db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
$this->template->assign_var('SHOW_MODULE_OPTIONS', true);
|
||||
}
|
||||
}
|
||||
|
||||
$this->new_config = $this->config;
|
||||
$cfg_array = ($this->request->is_set('config')) ? $this->request->variable('config', array('' => ''), true) : $this->new_config;
|
||||
$error = array();
|
||||
|
||||
// We validate the complete config if wished
|
||||
validate_config_vars($display_vars['vars'], $cfg_array, $error);
|
||||
if ($submit && !check_form_key($form_key))
|
||||
{
|
||||
$error[] = $this->user->lang['FORM_INVALID'];
|
||||
}
|
||||
|
||||
// Do not write values if there is an error
|
||||
if (sizeof($error))
|
||||
{
|
||||
$submit = false;
|
||||
}
|
||||
|
||||
// Reset module
|
||||
$reset_module = $this->request->variable('module_reset', 0);
|
||||
|
||||
if ($reset_module && !empty($module_data))
|
||||
{
|
||||
$this->modules_manager->reset_module($id, $mode, $module_id, $module_data);
|
||||
}
|
||||
|
||||
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
|
||||
foreach ($display_vars['vars'] as $config_name => $null)
|
||||
{
|
||||
if ($submit && ((isset($null['type']) && $null['type'] == 'custom') || (isset($null['submit_type']) && $null['submit_type'] == 'custom')))
|
||||
{
|
||||
if (!is_array($null['submit']))
|
||||
{
|
||||
if (method_exists($this->c_class, $null['submit']))
|
||||
{
|
||||
$func = array($this->c_class, $null['submit']);
|
||||
$args = ($module_id != 0) ? array($config_name, $module_id) : $config_name;
|
||||
}
|
||||
else if (function_exists($null['submit']))
|
||||
{
|
||||
$func = $null['submit'];
|
||||
$args = ($module_id != 0) ? array($cfg_array[$config_name], $config_name, $module_id) : $config_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new \RuntimeException($this->user->lang('UNKNOWN_MODULE_METHOD', $module_data['module_classname']));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($null['submit'][0] == 'board3.portal.modules_helper')
|
||||
{
|
||||
$func = array($this->modules_helper, $null['submit'][1]);
|
||||
$args = ($module_id != 0) ? array($config_name, $module_id) : array($config_name);
|
||||
}
|
||||
else
|
||||
{
|
||||
$args = ($module_id != 0) ? array($cfg_array[$config_name], $config_name, $module_id) : array($config_name);
|
||||
$func = $null['submit'];
|
||||
}
|
||||
}
|
||||
|
||||
call_user_func_array($func, $args);
|
||||
}
|
||||
|
||||
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isset($null['type']) && $null['type'] == 'custom')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->new_config[$config_name] = $config_value = $cfg_array[$config_name];
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$this->config->set($config_name, $config_value);
|
||||
}
|
||||
}
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$module_permission = $this->request->variable('permission-setting', array(0 => ''));
|
||||
$groups_ary = array();
|
||||
|
||||
// get groups and check if the selected groups actually exist
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
ORDER BY group_id ASC';
|
||||
$result = $this->db->sql_query($sql);
|
||||
while ($row = $this->db->sql_fetchrow($result))
|
||||
{
|
||||
$groups_ary[] = $row['group_id'];
|
||||
}
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
$module_permission = array_intersect($module_permission, $groups_ary);
|
||||
$module_permission = implode(',', $module_permission);
|
||||
|
||||
$sql_ary = array(
|
||||
'module_image_src' => $this->request->variable('module_image', ''),
|
||||
'module_image_width' => $this->request->variable('module_img_width', 0),
|
||||
'module_image_height' => $this->request->variable('module_img_height', 0),
|
||||
'module_group_ids' => $module_permission,
|
||||
'module_status' => $this->request->variable('module_status', self::B3_MODULE_ENABLED),
|
||||
);
|
||||
|
||||
if (!(isset($this->c_class->hide_name) && $this->c_class->hide_name == true))
|
||||
{
|
||||
$sql_ary['module_name'] = $this->request->variable('module_name', '', true);
|
||||
}
|
||||
|
||||
// check if module image file actually exists
|
||||
$img_error = check_file_src($sql_ary['module_image_src'], '', $module_id, false);
|
||||
|
||||
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
|
||||
SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE module_id = ' . (int) $module_id;
|
||||
$this->db->sql_query($sql);
|
||||
|
||||
$this->cache->destroy('sql', PORTAL_MODULES_TABLE);
|
||||
$this->cache->destroy('sql', CONFIG_TABLE);
|
||||
|
||||
if (isset($module_name))
|
||||
{
|
||||
if (isset($module_data) && $module_data['module_classname'] !== '\board3\portal\modules\custom')
|
||||
{
|
||||
$this->log->add('admin', $this->user->data['user_id'], $this->user->data['user_ip'], 'LOG_PORTAL_CONFIG', false, array($module_name));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->log->add('admin', $this->user->data['user_id'], $this->user->data['user_ip'], 'LOG_PORTAL_CONFIG', false, array($this->user->lang['ACP_PORTAL_' . strtoupper($mode) . '_INFO']));
|
||||
}
|
||||
trigger_error($this->user->lang['CONFIG_UPDATED'] . ((!empty($img_error) ? '<br /><br />' . $this->user->lang['MODULE_IMAGE_ERROR'] . '<br />' . $img_error : '')) . adm_back_link(($module_id) ? append_sid("{$this->phpbb_admin_path}index.{$this->php_ext}", 'i=\board3\portal\acp\portal_module&mode=modules') : $this->u_action));
|
||||
}
|
||||
|
||||
// show custom HTML files on the settings page of the modules instead of the standard board3 portal one, if chosen by module
|
||||
if (!isset($this->c_class->custom_acp_tpl) || empty($this->c_class->custom_acp_tpl))
|
||||
{
|
||||
$this->tpl_name = 'portal/acp_portal_config';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->tpl_name = 'portal/' . $this->c_class->custom_acp_tpl;
|
||||
}
|
||||
$this->page_title = $display_vars['title'];
|
||||
|
||||
$this->template->assign_vars(array(
|
||||
'L_TITLE' => $this->user->lang[$display_vars['title']],
|
||||
'L_TITLE_EXPLAIN' => (isset($this->user->lang[$display_vars['title'] . '_EXP'])) ? $this->user->lang[$display_vars['title'] . '_EXP'] : '',
|
||||
|
||||
'S_ERROR' => (sizeof($error)) ? true : false,
|
||||
'ERROR_MSG' => implode('<br />', $error),
|
||||
|
||||
'B3P_U_ACTION' => $this->modules_manager->get_module_link('config', $module_id),
|
||||
'B3P_ACP_ROOT' => $this->root_path,
|
||||
));
|
||||
|
||||
// Output relevant page
|
||||
foreach ($display_vars['vars'] as $config_key => $vars)
|
||||
{
|
||||
if (!is_array($vars) && strpos($config_key, 'legend') === false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strpos($config_key, 'legend') !== false)
|
||||
{
|
||||
$this->template->assign_block_vars('options', array(
|
||||
'S_LEGEND' => true,
|
||||
'LEGEND' => (isset($this->user->lang[$vars])) ? $this->user->lang[$vars] : $vars)
|
||||
);
|
||||
|
||||
continue;
|
||||
}
|
||||
$this->new_config[$config_key] = $this->config[$config_key];
|
||||
$type = explode(':', $vars['type']);
|
||||
|
||||
$l_explain = '';
|
||||
if ($vars['explain'])
|
||||
{
|
||||
$l_explain = (isset($this->user->lang[$vars['lang'] . '_EXP'])) ? $this->user->lang[$vars['lang'] . '_EXP'] : '';
|
||||
}
|
||||
|
||||
if ($vars['type'] != 'custom')
|
||||
{
|
||||
$content = build_cfg_template($type, $config_key, $this->new_config, $config_key, $vars);
|
||||
}
|
||||
else
|
||||
{
|
||||
$args = array($this->new_config[$config_key], $config_key, $module_id);
|
||||
if (!is_array($vars['method']))
|
||||
{
|
||||
$func = array($this->c_class, $vars['method']);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($vars['method'][0] == 'board3.portal.modules_helper')
|
||||
{
|
||||
$func = array($this->modules_helper, $vars['method'][1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$func = $vars['method'];
|
||||
}
|
||||
}
|
||||
$content = call_user_func_array($func, $args);
|
||||
}
|
||||
|
||||
if (empty($content))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->template->assign_block_vars('options', array(
|
||||
'KEY' => $config_key,
|
||||
'TITLE' => (isset($this->user->lang[$vars['lang']])) ? $this->user->lang[$vars['lang']] : $vars['lang'],
|
||||
'S_EXPLAIN' => $vars['explain'],
|
||||
'TITLE_EXPLAIN' => $l_explain,
|
||||
'CONTENT' => $content,
|
||||
));
|
||||
|
||||
unset($display_vars['vars'][$config_key]);
|
||||
}
|
||||
break;
|
||||
case 'modules':
|
||||
$action = $this->request->variable('action', '');
|
||||
$module_id = $this->request->variable('module_id', '');
|
||||
|
||||
// Create an array of already installed modules
|
||||
$portal_modules = obtain_portal_modules();
|
||||
$installed_modules = $module_column = array();
|
||||
|
||||
foreach ($portal_modules as $cur_module)
|
||||
{
|
||||
$installed_modules[] = $cur_module['module_classname'];
|
||||
// Create an array with the columns the module is in
|
||||
$module_column[$cur_module['module_classname']][] = $this->portal_columns->number_to_string($cur_module['module_column']);
|
||||
}
|
||||
$this->modules_constraints->set_module_column($module_column);
|
||||
unset($module_column);
|
||||
|
||||
if ($action == 'move_up')
|
||||
{
|
||||
$this->modules_manager->move_module_vertical($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_UP);
|
||||
}
|
||||
else if ($action == 'move_down')
|
||||
{
|
||||
$this->modules_manager->move_module_vertical($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_DOWN);
|
||||
}
|
||||
else if ($action == 'move_right')
|
||||
{
|
||||
$this->modules_manager->move_module_horizontal($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_RIGHT);
|
||||
}
|
||||
else if ($action == 'move_left')
|
||||
{
|
||||
$this->modules_manager->move_module_horizontal($module_id, \board3\portal\portal\modules\database_handler::MOVE_DIRECTION_LEFT);
|
||||
}
|
||||
else if ($action == 'delete')
|
||||
{
|
||||
$this->modules_manager->module_delete($id, $mode, $action, $module_id);
|
||||
}
|
||||
|
||||
$add_list = $this->request->variable('add', array('' => ''));
|
||||
$add_module = key($add_list);
|
||||
$add_column = $this->request->variable('add_column', $this->portal_columns->string_to_number($add_module));
|
||||
if ($add_column)
|
||||
{
|
||||
$submit = ($this->request->is_set_post('submit')) ? true : false;
|
||||
if ($submit)
|
||||
{
|
||||
$module_classname = $this->request->variable('module_classname', '');
|
||||
|
||||
if (!($this->c_class = $this->portal_helper->get_module($module_classname)))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
// Do not add modules that shouldn't be added
|
||||
if (!$this->modules_constraints->can_add_module($this->c_class, $add_column))
|
||||
{
|
||||
trigger_error($this->user->lang('UNABLE_TO_ADD_MODULE') . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
// Do not install if module already exists in the
|
||||
// column and it can't be added more than once
|
||||
if (!$this->c_class->can_multi_include() && !$this->modules_constraints->can_move_module($this->portal_columns->number_to_string($add_column), $module_classname))
|
||||
{
|
||||
trigger_error($this->user->lang['MODULE_ADD_ONCE'] . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
$sql = 'SELECT module_order
|
||||
FROM ' . PORTAL_MODULES_TABLE . '
|
||||
WHERE module_column = ' . (int) $add_column . '
|
||||
ORDER BY module_order DESC';
|
||||
$result = $this->db->sql_query_limit($sql, 1);
|
||||
$module_order = 1 + (int) $this->db->sql_fetchfield('module_order');
|
||||
$this->db->sql_freeresult($result);
|
||||
|
||||
$sql_ary = array(
|
||||
'module_classname' => $module_classname,
|
||||
'module_column' => $add_column,
|
||||
'module_order' => $module_order,
|
||||
'module_name' => $this->c_class->get_name(),
|
||||
'module_image_src' => $this->c_class->get_image(),
|
||||
'module_group_ids' => '',
|
||||
'module_image_height' => 16,
|
||||
'module_image_width' => 16,
|
||||
'module_status' => self::B3_MODULE_ENABLED,
|
||||
);
|
||||
$sql = 'INSERT INTO ' . PORTAL_MODULES_TABLE . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
|
||||
$this->db->sql_query($sql);
|
||||
|
||||
$module_id = $this->db->sql_nextid();
|
||||
|
||||
$error = $this->c_class->install($module_id);
|
||||
|
||||
$this->cache->purge(); // make sure we don't get errors after re-adding a module
|
||||
|
||||
// if something went wrong, handle the errors accordingly and undo the above query
|
||||
if (!empty($error) && $error != true)
|
||||
{
|
||||
if (is_array($error))
|
||||
{
|
||||
$error_output = '';
|
||||
foreach ($error as $cur_error)
|
||||
{
|
||||
$error_output .= $cur_error . '<br />';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_output = $error;
|
||||
}
|
||||
|
||||
$sql = 'DELETE FROM ' . PORTAL_MODULES_TABLE . ' WHERE module_id = ' . (int) $module_id;
|
||||
$this->db->sql_query($sql);
|
||||
|
||||
trigger_error($error_output . adm_back_link($this->u_action));
|
||||
}
|
||||
|
||||
meta_refresh(3, $this->modules_manager->get_module_link('config', $module_id));
|
||||
|
||||
trigger_error($this->user->lang['SUCCESS_ADD'] . adm_back_link($this->u_action));
|
||||
}
|
||||
|
||||
$this->template->assign_var('S_EDIT', true);
|
||||
$fileinfo = $name_ary = array();
|
||||
$modules_list = $this->portal_helper->get_all_modules();
|
||||
|
||||
// Find new modules
|
||||
foreach ($modules_list as $module_class => $module)
|
||||
{
|
||||
// Module can't be added to this column
|
||||
if (!$this->modules_constraints->can_add_module($module, $add_column))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Do not install if module already exists in the
|
||||
// column and it can't be added more than once
|
||||
if (!$module->can_multi_include() && !$this->modules_constraints->can_move_module($this->portal_columns->number_to_string($add_column), $module_class))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($module->get_allowed_columns() & $this->portal_columns->string_to_constant($add_module))
|
||||
{
|
||||
// Load module language
|
||||
$this->board3_controller_helper->load_module_language($module);
|
||||
|
||||
$fileinfo[] = array(
|
||||
'module' => $module_class,
|
||||
'name' => $this->user->lang[$module->get_name()],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// we sort the $fileinfo array by the name of the modules
|
||||
foreach ($fileinfo as $key => $cur_file)
|
||||
{
|
||||
$name_ary[$key] = $cur_file['name'];
|
||||
}
|
||||
array_multisort($name_ary, SORT_REGULAR, $fileinfo);
|
||||
$options = '';
|
||||
|
||||
foreach ($fileinfo as $module)
|
||||
{
|
||||
$options .= '<option value="' . $module['module'] . '">' . $module['name'] . '</option>';
|
||||
}
|
||||
|
||||
$s_hidden_fields = build_hidden_fields(array(
|
||||
'add_column' => $this->portal_columns->string_to_number($add_module),
|
||||
));
|
||||
$this->template->assign_vars(array(
|
||||
'S_MODULE_NAMES' => $options,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
));
|
||||
|
||||
if ($this->request->is_ajax())
|
||||
{
|
||||
$this->template->assign_vars(array(
|
||||
'S_AJAX_REQUEST' => true,
|
||||
'U_ACTION' => str_replace('&', '&', $this->modules_manager->get_module_link('modules', $module_id)),
|
||||
));
|
||||
$this->template->set_filenames(array(
|
||||
'body' => 'portal/acp_portal_modules.html')
|
||||
);
|
||||
$this->modules_manager->handle_ajax_request(array(
|
||||
'MESSAGE_BODY' => $this->template->assign_display('body'),
|
||||
'MESSAGE_TITLE' => $this->user->lang['ADD_MODULE'],
|
||||
'MESSAGE_TEXT' => $this->user->lang['ADD_MODULE'],
|
||||
|
||||
'YES_VALUE' => $this->user->lang['SUBMIT'],
|
||||
'S_CONFIRM_ACTION' => str_replace('&', '&', $this->modules_manager->get_module_link('modules', $module_id)), //inefficient, rewrite whole function
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields
|
||||
));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$portal_modules = obtain_portal_modules();
|
||||
|
||||
foreach ($portal_modules as $row)
|
||||
{
|
||||
if (!($this->c_class = $this->portal_helper->get_module($row['module_classname'])))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Load module language
|
||||
$this->board3_controller_helper->load_module_language($this->c_class);
|
||||
|
||||
$template_column = $this->portal_columns->number_to_string($row['module_column']);
|
||||
|
||||
// find out of we can move modules to the left or right
|
||||
if (($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] + 1))) || ($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] + 2)) && $row['module_column'] != 2))
|
||||
{
|
||||
/**
|
||||
* check if we can actually move
|
||||
* this only applies to modules in the center column as the side modules
|
||||
* will automatically skip the center column when moving if they need to
|
||||
*/
|
||||
if ($row['module_classname'] != '\board3\portal\modules\custom')
|
||||
{
|
||||
$column_string = $this->portal_columns->number_to_string($row['module_column'] + 1); // move 1 right
|
||||
|
||||
if ($column_string == 'right' && !$this->modules_constraints->can_move_module(array('left', 'right'), $row['module_classname']))
|
||||
{
|
||||
$move_right = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_right = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_right = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_right = false;
|
||||
}
|
||||
|
||||
if (($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] - 1))) || ($this->c_class->get_allowed_columns() & $this->portal_columns->string_to_constant($this->portal_columns->number_to_string($row['module_column'] - 2)) && $row['module_column'] != 2))
|
||||
{
|
||||
/**
|
||||
* check if we can actually move
|
||||
* this only applies to modules in the center column as the side modules
|
||||
* will automatically skip the center column when moving if they need to
|
||||
*/
|
||||
if ($row['module_classname'] != '\board3\portal\modules\custom')
|
||||
{
|
||||
$column_string = $this->portal_columns->number_to_string($row['module_column'] - 1); // move 1 left
|
||||
|
||||
if ($column_string == 'left' && !$this->modules_constraints->can_move_module(array('left', 'right'), $row['module_classname']))
|
||||
{
|
||||
$move_left = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_left = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_left = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$move_left = false;
|
||||
}
|
||||
|
||||
$this->template->assign_block_vars('modules_' . $template_column, array(
|
||||
'MODULE_NAME' => (isset($this->user->lang[$row['module_name']])) ? $this->user->lang[$row['module_name']] : $row['module_name'],
|
||||
'MODULE_IMAGE' => ($row['module_image_src']) ? '<img src="' . $this->root_path . 'styles/all/theme/images/portal/' . $row['module_image_src'] . '" alt="' . $row['module_name'] . '" />' : '',
|
||||
'MODULE_ENABLED' => ($row['module_status']) ? true : false,
|
||||
|
||||
'U_DELETE' => $this->modules_manager->get_module_link('modules', $row['module_id']) . '&action=delete&module_classname=' . $row['module_classname'],
|
||||
'U_EDIT' => $this->modules_manager->get_module_link('config', $row['module_id']),
|
||||
'U_MOVE_UP' => $this->u_action . '&module_id=' . $row['module_id'] . '&action=move_up',
|
||||
'U_MOVE_DOWN' => $this->u_action . '&module_id=' . $row['module_id'] . '&action=move_down',
|
||||
'U_MOVE_RIGHT' => ($move_right) ? $this->u_action . '&module_id=' . $row['module_id'] . '&action=move_right' : '',
|
||||
'U_MOVE_LEFT' => ($move_left) ? $this->u_action . '&module_id=' . $row['module_id'] . '&action=move_left' : '',
|
||||
));
|
||||
}
|
||||
|
||||
$this->template->assign_vars(array(
|
||||
'ICON_MOVE_LEFT' => '<img src="' . $this->root_path . 'adm/images/icon_left.gif" alt="' . $this->user->lang['MOVE_LEFT'] . '" title="' . $this->user->lang['MOVE_LEFT'] . '" />',
|
||||
'ICON_MOVE_LEFT_DISABLED' => '<img src="' . $this->root_path . 'adm/images/icon_left_disabled.gif" alt="' . $this->user->lang['MOVE_LEFT'] . '" title="' . $this->user->lang['MOVE_LEFT'] . '" />',
|
||||
'ICON_MOVE_RIGHT' => '<img src="' . $this->root_path . 'adm/images/icon_right.gif" alt="' . $this->user->lang['MOVE_RIGHT'] . '" title="' . $this->user->lang['MOVE_RIGHT'] . '" />',
|
||||
'ICON_MOVE_RIGHT_DISABLED' => '<img src="' . $this->root_path . 'adm/images/icon_right_disabled.gif" alt="' . $this->user->lang['MOVE_RIGHT'] . '" title="' . $this->user->lang['MOVE_RIGHT'] . '" />',
|
||||
'B3P_U_ACTION' => $this->modules_manager->get_module_link('modules', $module_id),
|
||||
));
|
||||
}
|
||||
|
||||
$this->tpl_name = 'portal/acp_portal_modules';
|
||||
$this->page_title = 'ACP_PORTAL_MODULES';
|
||||
break;
|
||||
|
||||
default:
|
||||
trigger_error('NO_MODE', E_USER_ERROR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 240 B |
|
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
@@ -331,11 +331,13 @@ function storeCaret(textEl)
|
||||
/**
|
||||
* Color pallette
|
||||
*/
|
||||
function colorPalette(dir, width, height)
|
||||
{
|
||||
var r = 0, g = 0, b = 0;
|
||||
var numberList = new Array(6);
|
||||
var color = '';
|
||||
function colorPalette(dir, width, height) {
|
||||
var r = 0,
|
||||
g = 0,
|
||||
b = 0,
|
||||
numberList = new Array(6),
|
||||
color = '',
|
||||
html = '';
|
||||
|
||||
numberList[0] = '00';
|
||||
numberList[1] = '40';
|
||||
@@ -343,44 +345,47 @@ function colorPalette(dir, width, height)
|
||||
numberList[3] = 'BF';
|
||||
numberList[4] = 'FF';
|
||||
|
||||
document.writeln('<table cellspacing="1" cellpadding="0" border="0">');
|
||||
html += '<table>';
|
||||
|
||||
for (r = 0; r < 5; r++)
|
||||
{
|
||||
if (dir == 'h')
|
||||
{
|
||||
document.writeln('<tr>');
|
||||
for (r = 0; r < 5; r++) {
|
||||
if (dir == 'h') {
|
||||
html += '<tr>';
|
||||
}
|
||||
|
||||
for (g = 0; g < 5; g++)
|
||||
{
|
||||
if (dir == 'v')
|
||||
{
|
||||
document.writeln('<tr>');
|
||||
for (g = 0; g < 5; g++) {
|
||||
if (dir == 'v') {
|
||||
html += '<tr>';
|
||||
}
|
||||
|
||||
for (b = 0; b < 5; b++)
|
||||
{
|
||||
for (b = 0; b < 5; b++) {
|
||||
color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]);
|
||||
document.write('<td bgcolor="#' + color + '" style="width: ' + width + 'px; height: ' + height + 'px;">');
|
||||
document.write('<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" style="margin: -4px 0px -4px 2px;"><img src="images/spacer.gif" width="' + width + '" height="' + (height+10) + '" alt="#' + color + '" title="#' + color + '" style="margin: -4px;" /></a>');
|
||||
document.writeln('</td>');
|
||||
html += '<td style="background-color: #' + color + '; width: ' + width + 'px; height: ' + height + 'px;">';
|
||||
html += '<a href="#" onclick="bbfontstyle(\'[color=#' + color + ']\', \'[/color]\'); return false;" style="display: block; width: ' + width + 'px; height: ' + height + 'px; " alt="#' + color + '" title="#' + color + '"></a>';
|
||||
html += '</td>';
|
||||
}
|
||||
|
||||
if (dir == 'v')
|
||||
{
|
||||
document.writeln('</tr>');
|
||||
if (dir == 'v') {
|
||||
html += '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if (dir == 'h')
|
||||
{
|
||||
document.writeln('</tr>');
|
||||
if (dir == 'h') {
|
||||
html += '</tr>';
|
||||
}
|
||||
}
|
||||
document.writeln('</table>');
|
||||
html += '</table>';
|
||||
return html;
|
||||
}
|
||||
|
||||
(function($) {
|
||||
$(document).ready(function() {
|
||||
$('#color_palette_placeholder').each(function() {
|
||||
$(this).html(colorPalette('h', 5, 10));
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Caret Position object
|
||||
@@ -431,4 +436,4 @@ function getCaretPosition(txtarea)
|
||||
}
|
||||
|
||||
return caretPos;
|
||||
}
|
||||
}
|
||||
198
adm/style/portal/acp_portal_calendar.html
Normal file
@@ -0,0 +1,198 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_TITLE_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_ERROR -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_PORTAL_EVENTS}</legend>
|
||||
<dl>
|
||||
<dt><label for="event_title">{L_EVENT_TITLE}{L_COLON}</label></dt>
|
||||
<dd><input name="event_title" type="text" id="event_title" value="{EVENT_TITLE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="event_desc">{L_EVENT_DESC}{L_COLON}</label></dt>
|
||||
<dd><textarea id="event_desc" rows="6" cols="6" name="event_desc">{EVENT_DESC}</textarea></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="event_start_date">{L_ACP_PORTAL_EVENT_START_DATE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_EVENT_START_DATE_EXP}</span>
|
||||
</dt>
|
||||
<dd><input name="event_start_date" type="text" id="event_start_date" value="{EVENT_START_DATE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="event_all_day">{L_EVENT_ALL_DAY}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input onchange="phpbb.toggleDisplay('end', -1)" type="radio" class="radio" name="event_all_day" value="1" id="event_all_day"<!-- IF EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="phpbb.toggleDisplay('end', 1)" type="radio" class="radio" name="event_all_day" value="0"<!-- IF not EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<div id="end"<!-- IF EVENT_ALL_DAY -->style="display: none;"<!-- ENDIF -->>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="event_end_date">{L_ACP_PORTAL_EVENT_END_DATE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_EVENT_END_DATE_EXP}</span>
|
||||
</dt>
|
||||
<dd><input name="event_end_date" type="text" id="event_end_date" value="{EVENT_END_DATE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="event_url">{L_EVENT_LINK}{L_COLON}</label><br />
|
||||
<span>{L_EVENT_LINK_EXP}</span>
|
||||
</dt>
|
||||
<dd><input name="event_url" type="text" id="event_url" value="{EVENT_URL}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="permission-setting-calendar">{L_ACP_PORTAL_CALENDAR_PERMISSION}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_CALENDAR_PERMISSION_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
<select id="permission-setting-calendar" size="10" multiple="multiple" name="permission-setting-calendar[]">
|
||||
<!-- BEGIN permission_setting_calendar -->
|
||||
<option value="{permission_setting_calendar.GROUP_ID}"<!-- IF permission_setting_calendar.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting_calendar.GROUP_NAME}</option>
|
||||
<!-- END permission_setting_calendar -->
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<p class="submit-buttons">
|
||||
<input type="hidden" name="action" value="save" />
|
||||
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
{S_FORM_TOKEN}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
<form id="acp_portal_calendar" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
|
||||
<!-- END permission_setting -->
|
||||
</select>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
<!-- BEGIN options -->
|
||||
<!-- IF options.S_LEGEND -->
|
||||
<!-- IF not options.S_FIRST_ROW -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
<fieldset>
|
||||
<legend>{options.LEGEND}</legend>
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
<!-- ENDIF -->
|
||||
<!-- END options -->
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_PORTAL_EVENTS}</legend>
|
||||
<fieldset class="tabulated">
|
||||
|
||||
<p class="quick">
|
||||
<input class="button2" name="add" type="submit" value="{L_ADD_EVENT}" />
|
||||
</p>
|
||||
|
||||
<table style="cellspacing: 1;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_EVENT_TITLE}</th>
|
||||
<th>{L_EVENT_DESC}</th>
|
||||
<th>{L_EVENT_TIME}</th>
|
||||
<th>{L_EVENT_LINK}</th>
|
||||
<th>{L_ACTION}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN events -->
|
||||
<!-- IF events.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td style="text-align: center;">{events.EVENT_TITLE}</td>
|
||||
<td style="text-align: center;">{events.EVENT_DESC}</td>
|
||||
<td style="text-align: center;"><!-- IF events.EVENT_END -->{L_EVENT_START}{L_COLON} {events.EVENT_START} | {L_EVENT_END}{L_COLON} {events.EVENT_END}<!-- ELSE -->{L_EVENT_TIME}{L_COLON} {events.EVENT_START}<!-- IF events.EVENT_ALL_DAY --> | {L_EVENT_ALL_DAY}<!-- ENDIF --><!-- ENDIF --></td>
|
||||
<td style="text-align: center;"><a href="{events.EVENT_URL}" alt="{events.EVENT_TITLE}">{events.EVENT_URL_RAW}</td>
|
||||
<td style="text-align: center;">
|
||||
<a href="{events.U_EDIT}">{ICON_EDIT}</a> <a href="{events.U_DELETE}">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
<tr class="row1">
|
||||
<td style="text-align: center;" colspan="5">{L_NO_EVENTS}</td>
|
||||
</tr>
|
||||
<!-- END events -->
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
</p>
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
@@ -13,72 +13,47 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- BEGIN mods -->
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_VERSION_CHECK}</legend>
|
||||
<p style="font-weight: bold; color: <!-- IF mods.S_UP_TO_DATE -->#228822<!-- ELSE -->#BC2A4D<!-- ENDIF -->;">{mods.UP_TO_DATE}</p>
|
||||
<dl>
|
||||
<dt><label>{L_CURRENT_VERSION}</label></dt>
|
||||
<dd><strong>{mods.CURRENT_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_LATEST_VERSION}</label></dt>
|
||||
<dd><strong>{mods.LATEST_VERSION}</strong></dd>
|
||||
</dl>
|
||||
<!-- IF not mods.S_UP_TO_DATE -->
|
||||
<dl>
|
||||
<dt><label>{L_DOWNLOAD_LATEST}</label></dt>
|
||||
<dd><strong><a href="{mods.DOWNLOAD}">{L_DOWNLOAD} {mods.TITLE} {mods.LATEST_VERSION}</a></strong></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label>{L_ANNOUNCEMENT_TOPIC}</label></dt>
|
||||
<dd><strong><a href="{mods.ANNOUNCEMENT}">{L_RELEASE_ANNOUNCEMENT}</a></strong></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
</fieldset>
|
||||
<!-- END mods -->
|
||||
<form id="acp_portal_config" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<!-- IF MODULE_NAME -->
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF permission_setting -->
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
@@ -100,7 +75,7 @@
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<script type="text/javascript" src="{ROOT_PATH}style/portal/acp_portal.js"></script>
|
||||
<!-- INCLUDEJS portal/acp_editor.js -->
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
/**
|
||||
@@ -53,6 +53,21 @@ var help_line = {
|
||||
<!-- END custom_tags -->
|
||||
}
|
||||
|
||||
function change_palette()
|
||||
{
|
||||
phpbb.toggleDisplay('colour_palette');
|
||||
e = document.getElementById('colour_palette');
|
||||
|
||||
if (e.style.display == 'block')
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
|
||||
}
|
||||
}
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
@@ -68,45 +83,45 @@ var help_line = {
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<form id="acp_portal_config" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF permission_setting -->
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_ACP_PORTAL_CUSTOM_PERMISSION}:</label><br /><span>{L_ACP_PORTAL_CUSTOM_PERMISSION_EXP}</span></dt>
|
||||
<dt><label for="permission-setting">{L_ACP_PORTAL_CUSTOM_PERMISSION}{L_COLON}</label><br /><span>{L_ACP_PORTAL_CUSTOM_PERMISSION_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
@@ -131,41 +146,16 @@ var help_line = {
|
||||
<fieldset>
|
||||
<legend>{L_PORTAL_CUSTOM}</legend>
|
||||
<dl id="bbcode-buttons"<!-- IF not CUSTOM_USE_BBCODE --> style="display: none;"<!-- ENDIF -->>
|
||||
<dt></dt>
|
||||
<dd>
|
||||
<div id="colour_palette" style="display: none;">
|
||||
<dl style="clear: left;">
|
||||
<dt style="border: none;"><label>{L_FONT_COLOR}:</label><br /></dt>
|
||||
<dt style="border: none;"><label>{L_FONT_COLOR}{L_COLON}</label></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
<dl style="clear: left;">
|
||||
<dt style="border: none;">
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
function change_palette()
|
||||
{
|
||||
e = document.getElementById('colour_palette');
|
||||
if(e.style.display == 'block')
|
||||
{
|
||||
dE('colour_palette', -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
dE('colour_palette', 1);
|
||||
}
|
||||
|
||||
if (e.style.display == 'block')
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
|
||||
}
|
||||
}
|
||||
|
||||
colorPalette('h', 10, 5);
|
||||
// ]]>
|
||||
</script>
|
||||
</dt>
|
||||
<dt id="color_palette_placeholder" style="border: none;"></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div id="format-buttons">
|
||||
@@ -208,7 +198,7 @@ var help_line = {
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="custom_code">{L_ACP_PORTAL_CUSTOM_CODE}:</label><br />
|
||||
<label for="custom_code">{L_ACP_PORTAL_CUSTOM_CODE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_CUSTOM_CODE_EXP}</span>
|
||||
</dt>
|
||||
<dd><textarea name="custom_code" id="custom_code" cols="6" rows="12">{CUSTOM_CODE}</textarea></dd>
|
||||
@@ -219,8 +209,8 @@ var help_line = {
|
||||
<span>{L_ACP_PORTAL_CUSTOM_BBCODE_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
<label><input onchange="dE('bbcode-buttons', 1)" class="radio" type="radio" value="1" name="custom_use_bbcode" id="custom_use_bbcode"<!-- IF CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="dE('bbcode-buttons', -1)" class="radio" type="radio" value="0" name="custom_use_bbcode"<!-- IF not CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input onchange="phpbb.toggleDisplay('bbcode-buttons', 1)" class="radio" type="radio" value="1" name="custom_use_bbcode" id="custom_use_bbcode"<!-- IF CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="phpbb.toggleDisplay('bbcode-buttons', -1)" class="radio" type="radio" value="0" name="custom_use_bbcode"<!-- IF not CUSTOM_USE_BBCODE --> checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF S_AUTH -->
|
||||
@@ -14,17 +14,17 @@
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
<form id="acp_portal_links" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_PORTAL_LINKS}</legend>
|
||||
<dl>
|
||||
<dt><label for="link_title">{L_ACP_PORTAL_LINK_TITLE}:</label></dt>
|
||||
<dt><label for="link_title">{L_ACP_PORTAL_LINK_TITLE}{L_COLON}</label></dt>
|
||||
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="link_type">{L_ACP_PORTAL_LINK_TYPE}:</label><br />
|
||||
<label for="link_type">{L_ACP_PORTAL_LINK_TYPE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_LINK_TYPE_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -34,14 +34,14 @@
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="link_url">{L_ACP_PORTAL_LINK_URL}:</label><br />
|
||||
<label for="link_url">{L_ACP_PORTAL_LINK_URL}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_LINK_URL_EXP}</span>
|
||||
</dt>
|
||||
<dd><input name="link_url" type="text" id="link_url" value="{LINK_URL}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="permission-setting-link">{L_ACP_PORTAL_LINK_PERMISSION}:</label><br />
|
||||
<label for="permission-setting-link">{L_ACP_PORTAL_LINK_PERMISSION}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_LINK_PERMISSION_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -54,6 +54,7 @@
|
||||
</dl>
|
||||
<p class="submit-buttons">
|
||||
<input type="hidden" name="action" value="save" />
|
||||
<!-- IF LINK_ID !== '' --><input type="hidden" name="id" value="{LINK_ID}" /><!-- ENDIF -->
|
||||
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
@@ -63,45 +64,45 @@
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
<form id="acp_portal_links" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF permission_setting -->
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
@@ -123,7 +124,7 @@
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -138,7 +139,7 @@
|
||||
<input class="button2" name="add" type="submit" value="{L_ACP_PORTAL_LINK_ADD}" />
|
||||
</p>
|
||||
|
||||
<table cellspacing="1">
|
||||
<table style="cellspacing: 1;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_ACP_PORTAL_LINK_TITLE}</th>
|
||||
@@ -14,23 +14,23 @@
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
<form id="acp_portal_links" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ACP_PORTAL_MENU_LINK_SETTINGS}</legend>
|
||||
<dl>
|
||||
<dt><label for="link_title">{L_ACP_PORTAL_MENU_TITLE}:</label></dt>
|
||||
<dt><label for="link_title">{L_ACP_PORTAL_MENU_TITLE}{L_COLON}</label></dt>
|
||||
<dd><input name="link_title" type="text" id="link_title" value="{LINK_TITLE}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="link_is_cat">{L_ACP_PORTAL_MENU_IS_CAT}:</label></dt>
|
||||
<dd><label><input onchange="dE('url', -1)" type="radio" class="radio" name="link_is_cat" value="1" id="link_is_cat"<!-- IF S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="dE('url', 1)" type="radio" class="radio" name="link_is_cat" value="0"<!-- IF not S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
<dt><label for="link_is_cat">{L_ACP_PORTAL_MENU_IS_CAT}{L_COLON}</label></dt>
|
||||
<dd><label><input onchange="phpbb.toggleDisplay('url', -1)" type="radio" class="radio" name="link_is_cat" value="1" id="link_is_cat"<!-- IF S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input onchange="phpbb.toggleDisplay('url', 1)" type="radio" class="radio" name="link_is_cat" value="0"<!-- IF not S_LINK_IS_CAT --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||
</dl>
|
||||
<div id="url"<!-- IF S_LINK_IS_CAT --> style="display: none;"<!-- ENDIF -->>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="link_type">{L_ACP_PORTAL_MENU_TYPE}:</label><br />
|
||||
<label for="link_type">{L_ACP_PORTAL_MENU_TYPE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_MENU_TYPE_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -40,14 +40,14 @@
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="link_url">{L_ACP_PORTAL_MENU_URL}:</label><br />
|
||||
<label for="link_url">{L_ACP_PORTAL_MENU_URL}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_MENU_URL_EXP}</span>
|
||||
</dt>
|
||||
<dd><input name="link_url" type="text" id="link_url" value="{LINK_URL}" maxlength="255" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="permission-setting-menu">{L_ACP_PORTAL_MENU_PERMISSION}:</label><br />
|
||||
<label for="permission-setting-menu">{L_ACP_PORTAL_MENU_PERMISSION}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_MENU_PERMISSION_EXP}</span>
|
||||
</dt>
|
||||
<dd>
|
||||
@@ -61,6 +61,7 @@
|
||||
</div>
|
||||
<p class="submit-buttons">
|
||||
<input type="hidden" name="action" value="save" />
|
||||
<!-- IF LINK_ID !== '' --><input type="hidden" name="id" value="{LINK_ID}" /><!-- ENDIF -->
|
||||
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
@@ -70,45 +71,45 @@
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
<form id="acp_portal_links" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_links" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF permission_setting -->
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
@@ -130,7 +131,7 @@
|
||||
<!-- ELSE -->
|
||||
|
||||
<dl>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||
<dd>{options.CONTENT}</dd>
|
||||
</dl>
|
||||
|
||||
@@ -145,7 +146,7 @@
|
||||
<input class="button2" name="add" type="submit" value="{L_ACP_PORTAL_MENU_ADD}" />
|
||||
</p>
|
||||
|
||||
<table cellspacing="1">
|
||||
<table style="cellspacing: 1;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_ACP_PORTAL_MENU_TITLE}</th>
|
||||
@@ -1,16 +1,34 @@
|
||||
<!-- IF S_AJAX_REQUEST -->
|
||||
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
|
||||
<fieldset>
|
||||
<dl>
|
||||
<dt><label for="module_classname" style="display: inline;">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
|
||||
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
|
||||
</dl>
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
{S_FORM_TOKEN}{S_HIDDEN_FIELDS}
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<!-- ELSE -->
|
||||
<!-- INCLUDECSS portal/b3p_admin.css -->
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_EDIT -->
|
||||
|
||||
<h1>{L_ACP_PORTAL_MODULES}</h1>
|
||||
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
|
||||
|
||||
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_modules" method="post" action="{B3P_U_ACTION}">
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_classname">{L_CHOOSE_MODULE}:</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
|
||||
<dt><label for="module_classname">{L_CHOOSE_MODULE}{L_COLON}</label><br /><span>{L_CHOOSE_MODULE_EXP}</span></dt>
|
||||
<dd><select name="module_classname" id="module_classname">{S_MODULE_NAMES}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -27,22 +45,24 @@
|
||||
<h1>{L_ACP_PORTAL_MODULES}</h1>
|
||||
<p>{L_ACP_PORTAL_MODULES_EXP}</p>
|
||||
|
||||
<form id="acp_portal_modules" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_modules" method="post" action="{B3P_U_ACTION}" data-ajax="true">
|
||||
<fieldset class="tabulated">
|
||||
<legend>{L_ACP_PORTAL_MODULES}</legend>
|
||||
|
||||
<table cellspacing="1">
|
||||
<table class="portal-modules-overview">
|
||||
<tr>
|
||||
<th style="text-align: center;" colspan="3">{L_MODULE_POS_TOP}</th>
|
||||
<th style="text-align: center;">{L_MODULE_POS_TOP}</th>
|
||||
</tr>
|
||||
<!-- BEGIN modules_top -->
|
||||
<!-- IF not modules_top.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_top.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td colspan="3">
|
||||
<td>
|
||||
{modules_top.MODULE_IMAGE} {modules_top.MODULE_NAME}<br />
|
||||
<br />
|
||||
<!-- IF modules_top.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_top.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<!-- IF modules_top.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_top.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<a href="{modules_top.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_top.U_DELETE}">{ICON_DELETE}</a>
|
||||
<span<!-- IF not modules_top.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED} </span>
|
||||
<span<!-- IF modules_top.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_top.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a> </span>
|
||||
<span<!-- IF not modules_top.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED} </span>
|
||||
<span<!-- IF modules_top.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_top.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a> </span>
|
||||
<a href="{modules_top.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_top.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -58,7 +78,7 @@
|
||||
<table style="background-color: transparent; border: none; padding: 0px; margin: 0px;">
|
||||
<tr style="vertical-align: top;">
|
||||
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px; margin: 0px;">
|
||||
<table cellspacing="1">
|
||||
<table class="portal-modules-overview">
|
||||
<tr>
|
||||
<th>{L_MODULE_POS_LEFT}</th>
|
||||
</tr>
|
||||
@@ -67,11 +87,13 @@
|
||||
<td>
|
||||
{modules_left.MODULE_IMAGE} {modules_left.MODULE_NAME}<br />
|
||||
<br />
|
||||
<!-- IF modules_left.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_left.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_left.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED} </span>
|
||||
<span<!-- IF modules_left.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_left.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a> </span>
|
||||
<!-- IF modules_left.U_MOVE_RIGHT --><a href="{modules_left.U_MOVE_RIGHT}"><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT}<!-- ELSE -->{ICON_MOVE_RIGHT}<!-- ENDIF --></a><!-- ELSE --><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT_DISABLED}<!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF --><!-- ENDIF -->
|
||||
<a href="{modules_left.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_left.U_DELETE}">{ICON_DELETE}</a><br />
|
||||
<a href="{modules_left.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_left.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
|
||||
<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT_DISABLED}<!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF -->
|
||||
<!-- IF modules_left.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_left.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_left.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED} </span>
|
||||
<span<!-- IF modules_left.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_left.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -85,7 +107,7 @@
|
||||
</p>
|
||||
</td>
|
||||
<td style="font-size: 100%; line-height: 100%; padding: 0 12px;">
|
||||
<table cellspacing="1">
|
||||
<table class="portal-modules-overview">
|
||||
<tr>
|
||||
<th style="text-align: center;">{L_MODULE_POS_CENTER}</th>
|
||||
</tr>
|
||||
@@ -94,11 +116,13 @@
|
||||
<td>
|
||||
{modules_center.MODULE_IMAGE} {modules_center.MODULE_NAME}<br />
|
||||
<br />
|
||||
<!-- IF modules_center.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_center.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED} </span>
|
||||
<span<!-- IF modules_center.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_center.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a> </span>
|
||||
<!-- IF modules_center.U_MOVE_RIGHT --><a href="{modules_center.U_MOVE_RIGHT}">{ICON_MOVE_RIGHT}</a><!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF -->
|
||||
<a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}">{ICON_DELETE}</a><br />
|
||||
<a href="{modules_center.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_center.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
|
||||
<!-- IF modules_center.U_MOVE_LEFT --><a href="{modules_center.U_MOVE_LEFT}">{ICON_MOVE_LEFT}</a><!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF -->
|
||||
<!-- IF modules_center.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_center.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_center.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED} </span>
|
||||
<span<!-- IF modules_center.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_center.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -112,7 +136,7 @@
|
||||
</p>
|
||||
</td>
|
||||
<td style="width: 20%; font-size: 100%; line-height: 100%; padding: 0px;">
|
||||
<table cellspacing="1">
|
||||
<table class="portal-modules-overview">
|
||||
<tr>
|
||||
<th>{L_MODULE_POS_RIGHT}</th>
|
||||
</tr>
|
||||
@@ -121,11 +145,13 @@
|
||||
<td>
|
||||
{modules_right.MODULE_IMAGE} {modules_right.MODULE_NAME}<br />
|
||||
<br />
|
||||
<!-- IF modules_right.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_right.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED} </span>
|
||||
<span<!-- IF modules_right.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_right.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a> </span>
|
||||
<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_LEFT_DISABLED}<!-- ELSE -->{ICON_MOVE_RIGHT_DISABLED}<!-- ENDIF -->
|
||||
<a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}">{ICON_DELETE}</a><br />
|
||||
<a href="{modules_right.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_right.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a><br />
|
||||
<!-- IF modules_right.U_MOVE_LEFT --><a href="{modules_right.U_MOVE_LEFT}"><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT}<!-- ELSE -->{ICON_MOVE_LEFT}<!-- ENDIF --></a><!-- ELSE --><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{ICON_MOVE_RIGHT_DISABLED}<!-- ELSE -->{ICON_MOVE_LEFT_DISABLED}<!-- ENDIF --><!-- ENDIF -->
|
||||
<!-- IF modules_right.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_right.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<span<!-- IF not modules_right.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED} </span>
|
||||
<span<!-- IF modules_right.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_right.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -142,18 +168,20 @@
|
||||
</table>
|
||||
<br />
|
||||
|
||||
<table cellspacing="1">
|
||||
<table class="portal-modules-overview">
|
||||
<tr>
|
||||
<th style="text-align: center;" colspan="3">{L_MODULE_POS_BOTTOM}</th>
|
||||
<th style="text-align: center;">{L_MODULE_POS_BOTTOM}</th>
|
||||
</tr>
|
||||
<!-- BEGIN modules_bottom -->
|
||||
<!-- IF not modules_bottom.MODULE_ENABLED --><tr class="row3"><!-- ELSEIF modules_bottom.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td colspan="3">
|
||||
<td>
|
||||
{modules_bottom.MODULE_IMAGE} {modules_bottom.MODULE_NAME}<br />
|
||||
<br />
|
||||
<!-- IF modules_bottom.S_FIRST_ROW -->{ICON_MOVE_UP_DISABLED}<!-- ELSE --><a href="{modules_bottom.U_MOVE_UP}">{ICON_MOVE_UP}</a><!-- ENDIF -->
|
||||
<!-- IF modules_bottom.S_LAST_ROW -->{ICON_MOVE_DOWN_DISABLED}<!-- ELSE --><a href="{modules_bottom.U_MOVE_DOWN}">{ICON_MOVE_DOWN}</a><!-- ENDIF -->
|
||||
<a href="{modules_bottom.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_bottom.U_DELETE}">{ICON_DELETE}</a>
|
||||
<span<!-- IF not modules_bottom.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_UP_DISABLED} </span>
|
||||
<span<!-- IF modules_bottom.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_bottom.U_MOVE_UP}" data-ajax="b3p_move_module_up">{ICON_MOVE_UP}</a> </span>
|
||||
<span<!-- IF not modules_bottom.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->>{ICON_MOVE_DOWN_DISABLED} </span>
|
||||
<span<!-- IF modules_bottom.S_LAST_ROW --> style="display: none;"<!-- ENDIF -->><a href="{modules_bottom.U_MOVE_DOWN}" data-ajax="b3p_move_module_down">{ICON_MOVE_DOWN}</a> </span>
|
||||
<a href="{modules_bottom.U_EDIT}">{ICON_EDIT}</a> <a href="{modules_bottom.U_DELETE}" data-ajax="b3p_delete_module">{ICON_DELETE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- BEGINELSE -->
|
||||
@@ -172,4 +200,7 @@
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- INCLUDEJS portal/ajax.js -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
||||
<!-- ENDIF -->
|
||||
@@ -1,6 +1,6 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<script type="text/javascript" src="{ROOT_PATH}style/portal/acp_portal.js"></script>
|
||||
<!-- INCLUDEJS portal/acp_editor.js -->
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
/**
|
||||
@@ -53,6 +53,21 @@ var help_line = {
|
||||
<!-- END custom_tags -->
|
||||
}
|
||||
|
||||
function change_palette()
|
||||
{
|
||||
phpbb.toggleDisplay('colour_palette');
|
||||
e = document.getElementById('colour_palette');
|
||||
|
||||
if (e.style.display == 'block')
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
|
||||
}
|
||||
}
|
||||
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
@@ -68,45 +83,45 @@ var help_line = {
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<form id="acp_portal_config" method="post" action="{U_ACTION}">
|
||||
<form id="acp_portal_config" method="post" action="{B3P_U_ACTION}">
|
||||
<!-- IF SHOW_MODULE_OPTIONS -->
|
||||
<fieldset>
|
||||
<legend>{L_MODULE_OPTIONS}</legend>
|
||||
<dl>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dt><label for="module_name">{L_MODULE_NAME}{L_COLON}</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
|
||||
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
|
||||
</dl>
|
||||
<!-- IF MODULE_SHOW_IMAGE -->
|
||||
<dl>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dt><label for="module_image">{L_MODULE_IMAGE}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
|
||||
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
|
||||
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<!-- IF MODULE_IMAGE_SRC -->
|
||||
<dl>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
|
||||
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}{L_COLON}</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
|
||||
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
|
||||
</dl>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
|
||||
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
|
||||
<dt><label for="module_status">{L_MODULE_STATUS}{L_COLON}</label></dt>
|
||||
<dd>
|
||||
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- IF permission_setting -->
|
||||
<!-- IF .permission_setting -->
|
||||
<dl>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}{L_COLON}</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
|
||||
<dd>
|
||||
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
|
||||
<!-- BEGIN permission_setting -->
|
||||
@@ -130,42 +145,16 @@ var help_line = {
|
||||
<!-- ENDIF -->
|
||||
<fieldset>
|
||||
<legend>{L_PORTAL_WELCOME}</legend>
|
||||
<dl>
|
||||
<dl><dt style="display: none;"></dt>
|
||||
<dd>
|
||||
<div id="colour_palette" style="display: none;">
|
||||
<dl style="clear: left;">
|
||||
<dt style="border: none;"><label>{L_FONT_COLOR}:</label><br /></dt>
|
||||
<dt style="border: none;"><label>{L_FONT_COLOR}{L_COLON}</label></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
<dl style="clear: left;">
|
||||
<dt style="border: none;">
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
function change_palette()
|
||||
{
|
||||
e = document.getElementById('colour_palette');
|
||||
if(e.style.display == 'block')
|
||||
{
|
||||
dE('colour_palette', -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
dE('colour_palette', 1);
|
||||
}
|
||||
|
||||
if (e.style.display == 'block')
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
|
||||
}
|
||||
}
|
||||
|
||||
colorPalette('h', 10, 5);
|
||||
// ]]>
|
||||
</script>
|
||||
</dt>
|
||||
<dt id="color_palette_placeholder" style="border: none;"></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div id="format-buttons">
|
||||
@@ -208,7 +197,7 @@ var help_line = {
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>
|
||||
<label for="welcome_message">{L_ACP_PORTAL_WELCOME_MESSAGE}:</label><br />
|
||||
<label for="welcome_message">{L_ACP_PORTAL_WELCOME_MESSAGE}{L_COLON}</label><br />
|
||||
<span>{L_ACP_PORTAL_WELCOME_MESSAGE_EXP}</span>
|
||||
</dt>
|
||||
<dd><textarea name="welcome_message" id="welcome_message" cols="6" rows="12">{WELCOME_MESSAGE}</textarea></dd>
|
||||
115
adm/style/portal/ajax.js
Normal file
@@ -0,0 +1,115 @@
|
||||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* The following callbacks are for reording items. row_down
|
||||
* is triggered when an item is moved down, and row_up is triggered when
|
||||
* an item is moved up. It moves the row up or down, and deactivates /
|
||||
* activates any up / down icons that require it (the ones at the top or bottom).
|
||||
*/
|
||||
phpbb.addAjaxCallback('b3p_move_module_up', function(res) {
|
||||
if (typeof res.success === 'undefined' || !res.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var $bottomRow = $(this).parents('tr:first'),
|
||||
$topRow = $bottomRow.prev(),
|
||||
topRowClass = $topRow.attr('class'),
|
||||
bottomRowClass = $bottomRow.attr('class');
|
||||
|
||||
$bottomRow.insertBefore($topRow);
|
||||
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
|
||||
$bottomRow.attr('class', topRowClass);
|
||||
$topRow.attr('class', bottomRowClass);
|
||||
} else if (bottomRowClass === 'row3') {
|
||||
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
|
||||
} else if (topRowClass === 'row3') {
|
||||
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
|
||||
}
|
||||
|
||||
// Swap images if swap element is first row
|
||||
var swapIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
|
||||
|
||||
if (swapIsFirstRow) {
|
||||
$topRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
||||
}
|
||||
|
||||
// Swap images if move element is last row
|
||||
var elIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
|
||||
|
||||
if (elIsLastRow) {
|
||||
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
||||
}
|
||||
});
|
||||
|
||||
phpbb.addAjaxCallback('b3p_move_module_down', function(res) {
|
||||
if (typeof res.success === 'undefined' || !res.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var $topRow = $(this).parents('tr:first'),
|
||||
$bottomRow = $topRow.next(),
|
||||
bottomRowClass = $bottomRow.attr('class'),
|
||||
topRowClass = $topRow.attr('class');
|
||||
|
||||
$topRow.insertAfter($bottomRow);
|
||||
if (bottomRowClass !== 'row3' && topRowClass !== 'row3') {
|
||||
$bottomRow.attr('class', topRowClass);
|
||||
$topRow.attr('class', bottomRowClass);
|
||||
} else if (bottomRowClass === 'row3') {
|
||||
$topRow.attr('class', (topRowClass === 'row1') ? 'row2' : 'row1');
|
||||
} else if (topRowClass === 'row3') {
|
||||
$bottomRow.attr('class', (bottomRowClass === 'row1') ? 'row2' : 'row1');
|
||||
}
|
||||
|
||||
// Swap images if swap element is last row
|
||||
var swapIsLastRow = $bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').is(':visible');
|
||||
|
||||
if (swapIsLastRow) {
|
||||
$bottomRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_down."]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_down_disabled"]').parents('span:first').toggle();
|
||||
}
|
||||
|
||||
// Swap images if move element is first row
|
||||
var elIsFirstRow = $topRow.find('img[src*="icon_up_disabled"]').parents('span:first').is(':visible');
|
||||
|
||||
if (elIsFirstRow) {
|
||||
$bottomRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
||||
$bottomRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_up."]').parents('span:first').toggle();
|
||||
$topRow.find('img[src*="icon_up_disabled"]').parents('span:first').toggle();
|
||||
}
|
||||
});
|
||||
|
||||
phpbb.addAjaxCallback('b3p_delete_module', function(res) {
|
||||
if (typeof res.success === 'undefined' || !res.success) {
|
||||
return;
|
||||
}
|
||||
|
||||
var $deletedRow = $(this).parents('tr:first'),
|
||||
$nextRow = $deletedRow.next();
|
||||
|
||||
$deletedRow.remove();
|
||||
|
||||
// Fix classes of next elements
|
||||
while ($nextRow !== undefined && $nextRow.is('tr')) {
|
||||
var nextRowClass = ($nextRow.attr('class') === 'row1') ? 'row2' : 'row1';
|
||||
|
||||
if ($nextRow.attr('class') !== 'row3') {
|
||||
$nextRow.attr('class', nextRowClass);
|
||||
}
|
||||
|
||||
$nextRow = $nextRow.next();
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
||||
10
adm/style/portal/b3p_admin.css
Normal file
@@ -0,0 +1,10 @@
|
||||
/* Board3 Portal 2.1 Admin Style Sheet
|
||||
------------------------------------------------------------------------
|
||||
Copyright 2014 board3 Group ( http://www.board3.de/ )
|
||||
------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
.portal-modules-overview {
|
||||
border-collapse: separate;
|
||||
border-spacing: 1px;
|
||||
}
|
||||
41
composer.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "board3/portal",
|
||||
"type": "phpbb-extension",
|
||||
"description": "Adds a portal with several blocks to your forum. You can change the settings, move the blocks, add new blocks and more in the ACP.",
|
||||
"homepage": "http://www.board3.de",
|
||||
"version": "2.1.0",
|
||||
"time": "2015-08-04 12:49:14",
|
||||
"license": "GPL-2.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Marc Alexander",
|
||||
"email": "admin@m-a-styles.de",
|
||||
"homepage": "http://www.m-a-styles.de",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Joas Schilling",
|
||||
"email": "nickvergessen@gmx.de",
|
||||
"homepage": "http://mods.flying-bits.org",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"marc1706/phpbb-text-shortener": "^0.1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpbb/epv": "dev-master"
|
||||
},
|
||||
"extra": {
|
||||
"display-name": "Board3 Portal",
|
||||
"soft-require": {
|
||||
"phpbb/phpbb": ">=3.1.5,<3.4.*@dev"
|
||||
},
|
||||
"version-check": {
|
||||
"host": "www.phpbb.com",
|
||||
"directory": "/customise/db/extension/board3_portal_ext",
|
||||
"filename": "version_check"
|
||||
}
|
||||
}
|
||||
}
|
||||
311
config/modules.yml
Normal file
@@ -0,0 +1,311 @@
|
||||
services:
|
||||
board3.portal.module.announcements:
|
||||
class: board3\portal\modules\announcements
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@cache'
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@pagination'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@request'
|
||||
- '%core.php_ext%'
|
||||
- '%core.root_path%'
|
||||
- '@user'
|
||||
- '@board3.portal.fetch_posts'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.attachments:
|
||||
class: board3\portal\modules\attachments
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '%core.php_ext%'
|
||||
- '%core.root_path%'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.birthday_list:
|
||||
class: board3\portal\modules\birthday_list
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.calendar:
|
||||
class: board3\portal\modules\calendar
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@path_helper'
|
||||
- '@log'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.clock:
|
||||
class: board3\portal\modules\clock
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@template'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.custom:
|
||||
class: board3\portal\modules\custom
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@log'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.donation:
|
||||
class: board3\portal\modules\donation
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '@board3.portal.modules_helper'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.forumlist:
|
||||
class: board3\portal\modules\forumlist
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.friends:
|
||||
class: board3\portal\modules\friends
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.latest_bots:
|
||||
class: board3\portal\modules\latest_bots
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.latest_members:
|
||||
class: board3\portal\modules\latest_members
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.leaders:
|
||||
class: board3\portal\modules\leaders
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.link_us:
|
||||
class: board3\portal\modules\link_us
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.links:
|
||||
class: board3\portal\modules\links
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@log'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.main_menu:
|
||||
class: board3\portal\modules\main_menu
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@log'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.news:
|
||||
class: board3\portal\modules\news
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@cache'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@pagination'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@board3.portal.fetch_posts'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.poll:
|
||||
class: board3\portal\modules\poll
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@board3.portal.modules_helper'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.random_member:
|
||||
class: board3\portal\modules\random_member
|
||||
arguments:
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.recent:
|
||||
class: board3\portal\modules\recent
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.search:
|
||||
class: board3\portal\modules\search
|
||||
arguments:
|
||||
- '@template'
|
||||
- '%core.php_ext%'
|
||||
- '%core.root_path%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.statistics:
|
||||
class: board3\portal\modules\statistics
|
||||
arguments:
|
||||
- '@cache'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.stylechanger:
|
||||
class: board3\portal\modules\stylechanger
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@template'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@user'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.topposters:
|
||||
class: board3\portal\modules\topposters
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.user_menu:
|
||||
class: board3\portal\modules\user_menu
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@controller.helper'
|
||||
- '@dbal.conn'
|
||||
- '@path_helper'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.welcome:
|
||||
class: board3\portal\modules\welcome
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.whois_online:
|
||||
class: board3\portal\modules\whois_online
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: board3.portal.module}
|
||||
board3.portal.module.portal_tl_menu:
|
||||
class: board3\portal\modules\portal_tl_menu
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@request'
|
||||
- '@template'
|
||||
- '%core.root_path%'
|
||||
- '%core.php_ext%'
|
||||
- '@user'
|
||||
- '@log'
|
||||
tags:
|
||||
- { name: board3.portal.module }
|
||||
8
config/routing.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
board3_portal_controller:
|
||||
path: /portal
|
||||
defaults:
|
||||
_controller: 'board3.portal.main:handle'
|
||||
board3_portal_redirect_controller:
|
||||
path: /
|
||||
defaults:
|
||||
_controller: 'board3.portal.main:handle'
|
||||
94
config/services.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
imports:
|
||||
-
|
||||
resource: modules.yml
|
||||
parameters:
|
||||
board3.portal.config.table: '%core.table_prefix%portal_config'
|
||||
board3.portal.modules.table: '%core.table_prefix%portal_modules'
|
||||
services:
|
||||
board3.portal.main:
|
||||
class: board3\portal\controller\main
|
||||
arguments:
|
||||
- '@board3.portal.columns'
|
||||
- '@config'
|
||||
- '@board3.portal.controller_helper'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '@path_helper'
|
||||
- '%core.root_path%'
|
||||
- .%core.php_ext%
|
||||
- '%board3.portal.config.table%'
|
||||
- '%board3.portal.modules.table%'
|
||||
board3.portal.controller_helper:
|
||||
class: board3\portal\controller\helper
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@board3.portal.columns'
|
||||
- '@config'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '@path_helper'
|
||||
- '@board3.portal.helper'
|
||||
- '%core.root_path%'
|
||||
- .%core.php_ext%
|
||||
board3.portal.module_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- '@service_container'
|
||||
tags:
|
||||
- {name: service_collection, tag: board3.portal.module}
|
||||
board3.portal.helper:
|
||||
class: board3\portal\includes\helper
|
||||
arguments:
|
||||
- '@board3.portal.module_collection'
|
||||
board3.portal.modules_helper:
|
||||
class: board3\portal\includes\modules_helper
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@controller.helper'
|
||||
- '@request'
|
||||
board3.portal.columns:
|
||||
class: board3\portal\portal\columns
|
||||
board3.portal.fetch_posts:
|
||||
class: board3\portal\portal\fetch_posts
|
||||
arguments:
|
||||
- '@auth'
|
||||
- '@cache'
|
||||
- '@config'
|
||||
- '@dbal.conn'
|
||||
- '@board3.portal.modules_helper'
|
||||
- '@user'
|
||||
board3.portal.listener:
|
||||
class: board3\portal\event\listener
|
||||
arguments:
|
||||
- '@board3.portal.main'
|
||||
- '@auth'
|
||||
- '@config'
|
||||
- '@controller.helper'
|
||||
- '@path_helper'
|
||||
- '@template'
|
||||
- '@user'
|
||||
- '%core.php_ext%'
|
||||
tags:
|
||||
- {name: event.listener}
|
||||
board3.portal.modules.manager:
|
||||
class: board3\portal\portal\modules\manager
|
||||
arguments:
|
||||
- '@cache'
|
||||
- '@dbal.conn'
|
||||
- '@board3.portal.controller_helper'
|
||||
- '@board3.portal.columns'
|
||||
- '@board3.portal.helper'
|
||||
- '@board3.portal.modules.constraints_handler'
|
||||
- '@board3.portal.modules.database_handler'
|
||||
- '@request'
|
||||
- '@user'
|
||||
board3.portal.modules.database_handler:
|
||||
class: board3\portal\portal\modules\database_handler
|
||||
arguments:
|
||||
- '@dbal.conn'
|
||||
board3.portal.modules.constraints_handler:
|
||||
class: board3\portal\portal\modules\constraints_handler
|
||||
arguments:
|
||||
- '@board3.portal.columns'
|
||||
- '@user'
|
||||
109
contrib/de.xml
@@ -1,109 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal - German Language</title>
|
||||
<title lang="de">board3 Portal - Deutsche Sprache</title>
|
||||
|
||||
<description lang="en">Adds a portal to your forum.
|
||||
It has several boxes wich can be turned on an off in the ACP and certain settings.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal deinem Forum hinzu.
|
||||
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>120</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="parent" lang="de" href="../install.xml">Installations-Anleitung</link>
|
||||
<link type="parent" lang="en" href="../install.xml">Manual</link>
|
||||
</link-group>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/language/de/mods/*.*" to="language/de/mods/*.*" />
|
||||
</copy>
|
||||
|
||||
<diy-instructions lang="en">See general install.xml file</diy-instructions>
|
||||
<diy-instructions lang="de">Siehe install.xml</diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
@@ -1,172 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal - subsilver2 style</title>
|
||||
<title lang="de">board3 Portal - subsilver2 style</title>
|
||||
|
||||
<description lang="en">Adds a portal to your forum.
|
||||
It has several boxes wich can be turned on an off in the ACP and certain settings.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal deinem Forum hinzu.
|
||||
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>120</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="parent" lang="de" href="../install.xml">Installations-Anleitung</link>
|
||||
<link type="parent" lang="en" href="../install.xml">Manual</link>
|
||||
</link-group>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/styles/subsilver2/template/portal/*.*" to="styles/subsilver2/template/portal/*.*" />
|
||||
<file from="root/styles/subsilver2/theme/images/portal/*.*" to="styles/subsilver2/theme/images/portal/*.*" />
|
||||
</copy>
|
||||
<open src="styles/subsilver2/template/breadcrumbs.html">
|
||||
<edit>
|
||||
<find><![CDATA[<p class="breadcrumbs"><a href="{U_INDEX}">{L_INDEX}</a><!-- BEGIN navlinks --> » ]]></find>
|
||||
<inline-edit>
|
||||
<inline-find><![CDATA[<a href="{U_INDEX}">{L_INDEX}</a>]]></inline-find>
|
||||
<inline-action type="before-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> » <!-- ENDIF -->]]></inline-action>
|
||||
</inline-edit>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="styles/subsilver2/template/overall_header.html">
|
||||
<edit>
|
||||
<find><![CDATA[ <div id="logodesc">
|
||||
<table width="100%" cellspacing="0">
|
||||
<tr>
|
||||
<td><a href="{U_INDEX}">{SITE_LOGO_IMG}</a></td>
|
||||
<td width="100%" align="center"><h1>{SITENAME}</h1><span class="gen">{SITE_DESCRIPTION}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>]]></find>
|
||||
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[ <!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN --> <span style="color: red;">{L_BOARD_DISABLED}</span><!-- ENDIF -->]]></find>
|
||||
<action type="before-add"><![CDATA[<!-- ENDIF -->]]></action>
|
||||
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[ <div id="datebar">
|
||||
<table width="100%" cellspacing="0">
|
||||
<tr>
|
||||
<td class="gensmall"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ENDIF --></td>
|
||||
<td class="gensmall" align="{S_CONTENT_FLOW_END}">{CURRENT_TIME}<br /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>]]></find>
|
||||
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[<div id="wrapcentre">]]></find>
|
||||
<action type="after-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[ <!-- INCLUDE breadcrumbs.html -->
|
||||
|
||||
<br />]]></find>
|
||||
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
|
||||
<diy-instructions lang="de"><![CDATA[
|
||||
Aktualisiere deine Styles:
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Themes" > jedes > "Aktualisieren"
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Grafiksammlungen" > jedes > "Aktualisieren"
|
||||
|
||||
Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"
|
||||
]]></diy-instructions>
|
||||
<diy-instructions lang="en"><![CDATA[
|
||||
Refresh your Styles:
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Templates" > each > "refresh"
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Themes" > each > "refresh"
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Imagesets" > each > "refresh"
|
||||
|
||||
Clear your cache in the "Administration Control Panel" (ACP) > "General" > "Purge the cache"
|
||||
]]></diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
@@ -1,108 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal - German Language Update for 2.0.2</title>
|
||||
<title lang="de">board3 Portal - Deutsche Sprache Aktualisiering für 2.0.2</title>
|
||||
|
||||
<description lang="en">Adds a portal to your forum.
|
||||
It has several boxes wich can be turned on an off in the ACP and certain settings.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal deinem Forum hinzu.
|
||||
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>120</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="parent" lang="de" href="../update.xml">Update-Anleitung</link>
|
||||
<link type="parent" lang="en" href="../update.xml">Update instructions</link>
|
||||
</link-group>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/language/de/mods/*.*" to="language/de/mods/*.*" />
|
||||
</copy>
|
||||
<diy-instructions lang="en">See general install.xml file</diy-instructions>
|
||||
<diy-instructions lang="de">Siehe install.xml</diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
@@ -1,122 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal - Update subsilver2 style for 2.0.2</title>
|
||||
<title lang="de">board3 Portal - Aktualisiere das subsilver2 style für 2.0.2</title>
|
||||
|
||||
<description lang="en">Adds a portal to your forum.
|
||||
It has several boxes wich can be turned on an off in the ACP and certain settings.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal deinem Forum hinzu.
|
||||
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>120</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="parent" lang="de" href="../update.xml">Update-Anleitung</link>
|
||||
<link type="parent" lang="en" href="../update.xml">Update instructions</link>
|
||||
</link-group>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/styles/subsilver2/template/portal/modules/*.*" to="styles/subsilver2/template/portal/modules/*.*" />
|
||||
</copy>
|
||||
<diy-instructions lang="de"><![CDATA[
|
||||
Aktualisiere deine Styles:
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Themes" > jedes > "Aktualisieren"
|
||||
"Administrations-Bereich" (ACP) > "Styles" > "Grafiksammlungen" > jedes > "Aktualisieren"
|
||||
|
||||
Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"
|
||||
]]></diy-instructions>
|
||||
<diy-instructions lang="en"><![CDATA[
|
||||
Refresh your Styles:
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Templates" > each > "refresh"
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Themes" > each > "refresh"
|
||||
"Administration Control Panel" (ACP) > "Styles" > "Imagesets" > each > "refresh"
|
||||
|
||||
Clear your cache in the "Administration Control Panel" (ACP) > "General" > "Purge the cache"
|
||||
]]></diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
@@ -1,125 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal 2.0.2 - Update from Board3 Portal 2.0.1</title>
|
||||
<title lang="de">board3 Portal 2.0.2 - Update von Board3 Portal 2.0.1</title>
|
||||
|
||||
<description lang="en">Adds a portal to your forum.
|
||||
It has several boxes wich can be turned on an off in the ACP and certain settings.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal deinem Forum hinzu.
|
||||
Es hat diverse Boxen, die über das ACP an- / abgeschaltet und eingestellt werden können.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unseren International Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>120</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="parent" lang="de" href="../../install.xml">Installations-Anleitung</link>
|
||||
<link type="parent" lang="en" href="../../install.xml">Manual</link>
|
||||
<link type="template" lang="en" href="contrib/subsilver2.xml">Update subsilver2 to Board3 Portal 2.0.2</link>
|
||||
<link type="template" lang="de" href="contrib/subsilver2.xml">Aktualisiere subsilver2 für Board3 Portal 2.0.2</link>
|
||||
<link type="language" lang="en" href="contrib/de.xml">Update German language to Board3 Portal 2.0.2</link>
|
||||
<link type="language" lang="de" href="contrib/de.xml">Aktualisiere deutsche Sprachdateien für Board3 Portal 2.0.2</link>
|
||||
</link-group>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/adm/style/portal/acp_portal.js" to="adm/style/portal/acp_portal.js" />
|
||||
<file from="root/adm/style/portal/acp_portal_custom.html" to="adm/style/portal/acp_portal_custom.html" />
|
||||
<file from="root/adm/style/portal/acp_portal_welcome.html" to="adm/style/portal/acp_portal_welcome.html" />
|
||||
<file from="root/includes/acp/acp_portal.php" to="includes/acp/acp_portal.php" />
|
||||
<file from="root/install/index.php" to="install/index.php" />
|
||||
<file from="root/language/en/mods/*.*" to="language/en/mods/*.*" />
|
||||
<file from="root/portal/includes/functions.php" to="portal/includes/functions.php" />
|
||||
<file from="root/portal/includes/functions_upload.php" to="portal/includes/functions_upload.php" />
|
||||
<file from="root/portal/modules/*.*" to="portal/modules/*.*" />
|
||||
<file from="root/styles/prosilver/template/portal/modules/*.*" to="styles/prosilver/template/portal/modules/*.*" />
|
||||
<file from="root/styles/prosilver/theme/portal.css" to="styles/prosilver/theme/portal.css" />
|
||||
<file from="root/umil/*.*" to="umil/*.*" />
|
||||
<file from="root/portal.php" to="portal.php" />
|
||||
</copy>
|
||||
<php-installer>install/index.php</php-installer>
|
||||
<diy-instructions lang="de"><![CDATA[Rufe install/index.php auf und führe den Installer aus.]]></diy-instructions>
|
||||
<diy-instructions lang="en"><![CDATA[Browse to install/index.php and run the installer.]]></diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
286
controller/helper.php
Normal file
@@ -0,0 +1,286 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\controller;
|
||||
|
||||
class helper
|
||||
{
|
||||
/** @var \board3\portal\portal\columns */
|
||||
protected $portal_columns;
|
||||
|
||||
/**
|
||||
* Auth object
|
||||
* @var \phpbb\auth\auth
|
||||
*/
|
||||
protected $auth;
|
||||
|
||||
/**
|
||||
* phpBB Config object
|
||||
* @var \phpbb\config\config
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* Template object
|
||||
* @var \phpbb\template
|
||||
*/
|
||||
protected $template;
|
||||
|
||||
/**
|
||||
* User object
|
||||
* @var \phpbb\user
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
/**
|
||||
* phpBB root path
|
||||
* @var string
|
||||
*/
|
||||
protected $phpbb_root_path;
|
||||
|
||||
/**
|
||||
* PHP file extension
|
||||
* @var string
|
||||
*/
|
||||
protected $php_ext;
|
||||
|
||||
/**
|
||||
* Portal root path
|
||||
* @var string
|
||||
*/
|
||||
protected $root_path;
|
||||
|
||||
/**
|
||||
* phpBB path helper
|
||||
* @var \phpbb\path_helper
|
||||
*/
|
||||
protected $path_helper;
|
||||
|
||||
/**
|
||||
* Portal Helper object
|
||||
* @var \board3\portal\includes\helper
|
||||
*/
|
||||
protected $portal_helper;
|
||||
|
||||
/**
|
||||
* Portal modules array
|
||||
* @var array
|
||||
*/
|
||||
protected $portal_modules;
|
||||
|
||||
/** @var int Board3 module disabled */
|
||||
const B3_MODULE_DISABLED = 0;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* NOTE: The parameters of this method must match in order and type with
|
||||
* the dependencies defined in the services.yml file for this service.
|
||||
* @param \phpbb\auth\auth $auth Auth object
|
||||
* @param \board3\portal\portal\columns $portal_columns Board3 Portal columns object
|
||||
* @param \phpbb\config\config $config phpBB Config object
|
||||
* @param \phpbb\template $template Template object
|
||||
* @param \phpbb\user $user User object
|
||||
* @param \phpbb\path_helper $path_helper phpBB path helper
|
||||
* @param \board3\portal\includes\helper $portal_helper Portal helper class
|
||||
* @param string $phpbb_root_path phpBB root path
|
||||
* @param string $php_ext PHP file extension
|
||||
*/
|
||||
public function __construct($auth, $portal_columns, $config, $template, $user, $path_helper, $portal_helper, $phpbb_root_path, $php_ext)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
$this->portal_columns = $portal_columns;
|
||||
$this->config = $config;
|
||||
$this->template = $template;
|
||||
$this->user = $user;
|
||||
$this->path_helper = $path_helper;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
$this->php_ext = $php_ext;
|
||||
$this->portal_helper = $portal_helper;
|
||||
|
||||
$this->root_path = str_replace($this->path_helper->get_web_root_path(), '', $phpbb_root_path . 'ext/board3/portal/');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user should be able to access this page. Redirect to index
|
||||
* if this does not apply.
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function check_permission()
|
||||
{
|
||||
if (empty($this->config['board3_enable']) || !$this->auth->acl_get('u_view_portal'))
|
||||
{
|
||||
redirect(append_sid($this->phpbb_root_path . 'index' . $this->php_ext));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if online list should be displayed
|
||||
*
|
||||
* @return mixed True if online list should be display, current value
|
||||
* if unsure
|
||||
*/
|
||||
public function check_online_list($module_classname, $display_online)
|
||||
{
|
||||
return ($module_classname === '\board3\portal\modules\whois_online') ? true : $display_online;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get portal module and run module start checks
|
||||
*
|
||||
* @param array $row Module row
|
||||
*
|
||||
* @return mixed False if one of the module checks failed, the module
|
||||
* object if checks were successful
|
||||
*/
|
||||
public function get_portal_module($row)
|
||||
{
|
||||
// Do not try to load non-existent or disabled modules
|
||||
if ($row['module_status'] == self::B3_MODULE_DISABLED || !is_object($module = $this->portal_helper->get_module($row['module_classname'])))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if module shouldn't be loaded
|
||||
if ($this->check_column_disabled($row))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for permissions before loading anything
|
||||
* the default group of a user always defines his/her permission
|
||||
*/
|
||||
return ($this->check_group_access($row)) ? $module : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if column is disabled
|
||||
*
|
||||
* @param array $row Module database row
|
||||
*
|
||||
* @return bool False if column is not disabled, true if it is
|
||||
*/
|
||||
protected function check_column_disabled($row)
|
||||
{
|
||||
return ($this->config['board3_left_column'] === false && $this->portal_columns->number_to_string($row['module_column']) === 'left') || ($this->config['board3_right_column'] === false && $this->portal_columns->number_to_string($row['module_column']) === 'right');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user is in required groups.
|
||||
* If the group_ary is empty, this means that there are no limitation on
|
||||
* which groups can see this module.
|
||||
*
|
||||
* @param array $row Module row
|
||||
*
|
||||
* @return bool True if group has access, false if not
|
||||
*/
|
||||
protected function check_group_access($row)
|
||||
{
|
||||
$group_ary = (!empty($row['module_group_ids'])) ? explode(',', $row['module_group_ids']) : '';
|
||||
if ((is_array($group_ary) && !in_array($this->user->data['group_id'], $group_ary)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load language file of module
|
||||
*
|
||||
* @param object $module Module of which language file should be loaded
|
||||
*/
|
||||
public function load_module_language($module)
|
||||
{
|
||||
if ($language_file = $module->get_language())
|
||||
{
|
||||
// Load language file from vendor if specified
|
||||
if (is_array($language_file))
|
||||
{
|
||||
$this->user->add_lang_ext($language_file['vendor'], $language_file['file']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->user->add_lang_ext('board3/portal', 'modules/' . $language_file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign module's template vars
|
||||
*
|
||||
* @param array $row Database row of module
|
||||
* @param mixed $template_module Template data as returned by module
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function assign_module_vars($row, $template_module)
|
||||
{
|
||||
if (is_array($template_module))
|
||||
{
|
||||
$this->template->assign_block_vars('modules_' . $this->portal_columns->number_to_string($row['module_column']), array(
|
||||
'TEMPLATE_FILE' => $this->parse_template_file($template_module['template']),
|
||||
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . ltrim($this->root_path . 'styles/all/theme/images/portal/' . $template_module['image_src'], './'),
|
||||
'TITLE' => $template_module['title'],
|
||||
'CODE' => $template_module['code'],
|
||||
'MODULE_ID' => $row['module_id'],
|
||||
'IMAGE_WIDTH' => $row['module_image_width'],
|
||||
'IMAGE_HEIGHT' => $row['module_image_height'],
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->assign_block_vars('modules_' . $this->portal_columns->number_to_string($row['module_column']), array(
|
||||
'TEMPLATE_FILE' => $this->parse_template_file($template_module),
|
||||
'IMAGE_SRC' => $this->path_helper->get_web_root_path() . ltrim($this->root_path . 'styles/all/theme/images/portal/' . $row['module_image_src'], './'),
|
||||
'IMAGE_WIDTH' => $row['module_image_width'],
|
||||
'IMAGE_HEIGHT' => $row['module_image_height'],
|
||||
'MODULE_ID' => $row['module_id'],
|
||||
'TITLE' => (isset($this->user->lang[$row['module_name']])) ? $this->user->lang[$row['module_name']] : utf8_normalize_nfc($row['module_name']),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Run initial tasks that are required for a properly setup extension
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function run_initial_tasks()
|
||||
{
|
||||
// Check for permissions first
|
||||
$this->check_permission();
|
||||
|
||||
// Load language file
|
||||
$this->user->add_lang_ext('board3/portal', 'portal');
|
||||
|
||||
// Obtain portal config
|
||||
obtain_portal_config();
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse template file by prefixing default modules with the portal path
|
||||
*
|
||||
* @param string $template_file HTML template
|
||||
*
|
||||
* @return string Parsed template file
|
||||
*/
|
||||
protected function parse_template_file($template_file)
|
||||
{
|
||||
if (strpos($template_file, '@') === false)
|
||||
{
|
||||
$template_file = 'portal/modules/' . $template_file;
|
||||
}
|
||||
|
||||
return $template_file;
|
||||
}
|
||||
}
|
||||
365
controller/main.php
Normal file
@@ -0,0 +1,365 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\controller;
|
||||
|
||||
class main
|
||||
{
|
||||
/** @var \board3\portal\portal\columns */
|
||||
protected $portal_columns;
|
||||
|
||||
/**
|
||||
* phpBB Config object
|
||||
* @var \phpbb\config\config
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* Board3 Portal controller helper
|
||||
* @var \board3\portal\controller\helper
|
||||
*/
|
||||
protected $controller_helper;
|
||||
|
||||
/**
|
||||
* Template object
|
||||
* @var \phpbb\template\template
|
||||
*/
|
||||
protected $template;
|
||||
|
||||
/**
|
||||
* User object
|
||||
* @var \phpbb\user
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
/**
|
||||
* phpBB root path
|
||||
* @var string
|
||||
*/
|
||||
protected $phpbb_root_path;
|
||||
|
||||
/**
|
||||
* PHP file extension
|
||||
* @var string
|
||||
*/
|
||||
protected $php_ext;
|
||||
|
||||
/**
|
||||
* Portal root path
|
||||
* @var string
|
||||
*/
|
||||
protected $root_path;
|
||||
|
||||
/**
|
||||
* Portal includes path
|
||||
* @var string
|
||||
*/
|
||||
protected $includes_path;
|
||||
|
||||
/**
|
||||
* phpBB path helper
|
||||
* @var \phpbb\path_helper
|
||||
*/
|
||||
protected $path_helper;
|
||||
|
||||
/**
|
||||
* Portal modules count
|
||||
* @var array
|
||||
*/
|
||||
protected $module_count;
|
||||
|
||||
/**
|
||||
* Portal modules array
|
||||
* @var array
|
||||
*/
|
||||
protected $portal_modules;
|
||||
|
||||
/** @var int Allowed columns */
|
||||
protected $allowed_columns;
|
||||
|
||||
/** @var bool Portal active flag */
|
||||
protected $portal_active = false;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* NOTE: The parameters of this method must match in order and type with
|
||||
* the dependencies defined in the services.yml file for this service.
|
||||
* @param \board3\portal\portal\columns $portal_columns Board3 Portal columns object
|
||||
* @param \phpbb\config\config $config phpBB Config object
|
||||
* @param \board3\portal\controller\helper $controller_helper Controller helper
|
||||
* @param \phpbb\template\template $template Template object
|
||||
* @param \phpbb\user $user User object
|
||||
* @param \phpbb\path_helper $path_helper phpBB path helper
|
||||
* @param string $phpbb_root_path phpBB root path
|
||||
* @param string $php_ext PHP file extension
|
||||
* @param string $config_table Board3 config table
|
||||
* @param string $modules_table Board3 modules table
|
||||
*/
|
||||
public function __construct($portal_columns, $config, $controller_helper, $template, $user, $path_helper, $phpbb_root_path, $php_ext, $config_table, $modules_table)
|
||||
{
|
||||
global $portal_root_path;
|
||||
|
||||
$this->portal_columns = $portal_columns;
|
||||
$this->config = $config;
|
||||
$this->controller_helper = $controller_helper;
|
||||
$this->template = $template;
|
||||
$this->user = $user;
|
||||
$this->path_helper = $path_helper;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
$this->php_ext = $php_ext;
|
||||
|
||||
$this->includes_path = $phpbb_root_path . 'ext/board3/portal/includes/';
|
||||
$this->root_path = $phpbb_root_path . 'ext/board3/portal/';
|
||||
$portal_root_path = $this->root_path;
|
||||
define('PORTAL_MODULES_TABLE', $modules_table);
|
||||
define('PORTAL_CONFIG_TABLE', $config_table);
|
||||
|
||||
if (!function_exists('obtain_portal_config'))
|
||||
{
|
||||
include($this->includes_path . 'functions' . $this->php_ext);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extension front handler method. This is called automatically when your extension is accessed
|
||||
* through index.php?ext=example/foobar
|
||||
*
|
||||
* @param array $columns Columns to display
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function handle($columns = array())
|
||||
{
|
||||
// Do not run portal if it's already active
|
||||
if ($this->portal_active)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$this->controller_helper->run_initial_tasks();
|
||||
|
||||
// Set portal active
|
||||
$this->portal_active = true;
|
||||
|
||||
// Check if we should limit the columns to display
|
||||
$this->set_allowed_columns($columns);
|
||||
|
||||
// Set default data
|
||||
$this->portal_modules = obtain_portal_modules();
|
||||
$display_online = false;
|
||||
|
||||
/**
|
||||
* set up column_count array
|
||||
* with this we can hide unneeded parts of the portal
|
||||
*/
|
||||
$this->module_count = array(
|
||||
'total' => 0,
|
||||
'top' => 0,
|
||||
'left' => 0,
|
||||
'center' => 0,
|
||||
'right' => 0,
|
||||
'bottom' => 0,
|
||||
);
|
||||
|
||||
/**
|
||||
* start assigning block vars
|
||||
*/
|
||||
foreach ($this->portal_modules as $row)
|
||||
{
|
||||
if (!($module = $this->controller_helper->get_portal_module($row)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Load module language file
|
||||
$this->controller_helper->load_module_language($module);
|
||||
|
||||
$template_module = $this->get_module_template($row, $module);
|
||||
|
||||
if (empty($template_module))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Custom Blocks that have been defined in the ACP will return an array instead of just the name of the template file
|
||||
$this->controller_helper->assign_module_vars($row, $template_module);
|
||||
|
||||
// Check if we need to show the online list
|
||||
$display_online = $this->controller_helper->check_online_list($row['module_classname'], $display_online);
|
||||
|
||||
unset($template_module);
|
||||
}
|
||||
|
||||
// Redirect to index if there are currently no active modules
|
||||
$this->check_redirect();
|
||||
|
||||
// Assign specific vars
|
||||
$this->assign_template_vars();
|
||||
|
||||
// Return if columns were specified. Columns are only specified if
|
||||
// portal columns are displayed on pages other than the portal itself.
|
||||
if ($this->allowed_columns !== 0)
|
||||
{
|
||||
$this->template->assign_var('S_PORTAL_ALL', true);
|
||||
return;
|
||||
}
|
||||
|
||||
// And now to output the page.
|
||||
page_header($this->user->lang('PORTAL'), $display_online);
|
||||
|
||||
// foobar_body.html is in ./ext/foobar/example/styles/prosilver/template/foobar_body.html
|
||||
$this->template->set_filenames(array(
|
||||
'body' => 'portal/portal_body.html'
|
||||
));
|
||||
|
||||
$this->make_jumpbox($this->config['board3_display_jumpbox']);
|
||||
|
||||
page_footer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get module's template
|
||||
*
|
||||
* @param array $row Database row of module
|
||||
* @param object $module Module object
|
||||
*
|
||||
* @return mixed False if module is not inside possible columns or if
|
||||
* module shouldn't be shown, otherwise module's template
|
||||
*/
|
||||
public function get_module_template($row, $module)
|
||||
{
|
||||
$template_module = false;
|
||||
|
||||
$column = $this->portal_columns->number_to_string($row['module_column']);
|
||||
|
||||
// Make sure we should actually load this module
|
||||
if (!$this->display_module_allowed($this->portal_columns->string_to_constant($column)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->is_enabled_side_column($column))
|
||||
{
|
||||
++$this->module_count[$column];
|
||||
$template_module = $module->get_template_side($row['module_id']);
|
||||
}
|
||||
else if (in_array($column, array('top', 'center', 'bottom')))
|
||||
{
|
||||
++$this->module_count[$column];
|
||||
$template_module = $module->get_template_center($row['module_id']);
|
||||
}
|
||||
|
||||
return $template_module;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if column is enabled side column
|
||||
*
|
||||
* @param string $column Column string
|
||||
*
|
||||
* @return bool True if column is side column and enabled, false if not
|
||||
*/
|
||||
protected function is_enabled_side_column($column)
|
||||
{
|
||||
return in_array($column, array('left', 'right')) && ($this->config['board3_' . $column . '_column'] || $this->allowed_columns);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if portal needs to redirect to index page
|
||||
*/
|
||||
protected function check_redirect()
|
||||
{
|
||||
$this->module_count['total'] = sizeof($this->portal_modules);
|
||||
|
||||
if ($this->module_count['total'] < 1)
|
||||
{
|
||||
redirect(append_sid($this->phpbb_root_path . 'index' . $this->php_ext));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign template vars for portal
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function assign_template_vars()
|
||||
{
|
||||
$this->template->assign_vars(array(
|
||||
'S_PORTAL_LEFT_COLUMN' => $this->config['board3_left_column_width'],
|
||||
'S_PORTAL_RIGHT_COLUMN' => $this->config['board3_right_column_width'],
|
||||
'S_LEFT_COLUMN' => $this->check_module_count('left', $this->config['board3_left_column']),
|
||||
'S_CENTER_COLUMN' => $this->check_module_count('center'),
|
||||
'S_RIGHT_COLUMN' => $this->check_module_count('right', $this->config['board3_right_column']),
|
||||
'S_TOP_COLUMN' => $this->check_module_count('top'),
|
||||
'S_BOTTOM_COLUMN' => $this->check_module_count('bottom'),
|
||||
'S_DISPLAY_PHPBB_MENU' => $this->config['board3_phpbb_menu'],
|
||||
'B3P_DISPLAY_JUMPBOX' => $this->config['board3_display_jumpbox'],
|
||||
'T_EXT_THEME_PATH' => $this->path_helper->get_web_root_path() . ltrim($this->root_path . 'styles/' . $this->user->style['style_path'] . '/theme/', './'),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check module count and related config setting
|
||||
*
|
||||
* @param string $column Column to check
|
||||
* @param bool $config Config value to check
|
||||
*
|
||||
* @return bool True if module count is bigger than 0 and $config is true
|
||||
*/
|
||||
protected function check_module_count($column, $config = true)
|
||||
{
|
||||
return $this->module_count[$column] > 0 && ($config || $this->allowed_columns);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method for running make_jumpbox
|
||||
*
|
||||
* @param bool $display Whether jumpbox should be displayed
|
||||
* @return null
|
||||
*/
|
||||
protected function make_jumpbox($display = false)
|
||||
{
|
||||
if ($display)
|
||||
{
|
||||
make_jumpbox(append_sid("{$this->phpbb_root_path}viewforum{$this->php_ext}"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether displaying the module is allowed
|
||||
*
|
||||
* @param int $module_column The column of the module
|
||||
*
|
||||
* @return bool True if module can be displayed, false if not
|
||||
*/
|
||||
protected function display_module_allowed($module_column)
|
||||
{
|
||||
return ($this->allowed_columns > 0) ? (bool) ($this->allowed_columns & $module_column) : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set allowed columns based on supplied columns array
|
||||
*
|
||||
* @param array $columns Allowed columns
|
||||
*/
|
||||
protected function set_allowed_columns($columns)
|
||||
{
|
||||
if (!empty($columns))
|
||||
{
|
||||
foreach ($columns as $column => $show)
|
||||
{
|
||||
$this->allowed_columns |= ($show) ? $this->portal_columns->string_to_constant($column) : 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->allowed_columns = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
192
event/listener.php
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2014 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\event;
|
||||
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
|
||||
class listener implements EventSubscriberInterface
|
||||
{
|
||||
/** @var \board3\portal\controller\main */
|
||||
protected $board3_controller;
|
||||
|
||||
/** @var \phpbb\auth\auth */
|
||||
protected $auth;
|
||||
|
||||
/** @var \phpbb\config\config */
|
||||
protected $config;
|
||||
|
||||
/** @var \phpbb\controller\helper */
|
||||
protected $controller_helper;
|
||||
|
||||
/** @var \phpbb\path_helper */
|
||||
protected $path_helper;
|
||||
|
||||
/** @var \phpbb\template\template */
|
||||
protected $template;
|
||||
|
||||
/** @var \phpbb\user */
|
||||
protected $user;
|
||||
|
||||
/** @var string phpEx */
|
||||
protected $php_ext;
|
||||
|
||||
/**
|
||||
* Constructor of Board3 Portal event listener
|
||||
*
|
||||
* @param \board3\portal\controller\main $board3_controller Board3 Portal controller
|
||||
* @param \phpbb\auth\auth $auth phpBB auth object
|
||||
* @param \phpbb\config\config $config phpBB config
|
||||
* @param \phpbb\controller\helper $controller_helper Controller helper object
|
||||
* @param \phpbb\path_helper $path_helper phpBB path helper
|
||||
* @param \phpbb\template\template $template Template object
|
||||
* @param \phpbb\user $user User object
|
||||
* @param string $php_ext phpEx
|
||||
*/
|
||||
public function __construct(\board3\portal\controller\main $board3_controller, \phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\controller\helper $controller_helper, \phpbb\path_helper $path_helper, \phpbb\template\template $template, \phpbb\user $user, $php_ext)
|
||||
{
|
||||
$this->board3_controller = $board3_controller;
|
||||
$this->auth = $auth;
|
||||
$this->config = $config;
|
||||
$this->controller_helper = $controller_helper;
|
||||
$this->path_helper = $path_helper;
|
||||
$this->template = $template;
|
||||
$this->user = $user;
|
||||
$this->php_ext = $php_ext;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign functions defined in this class to event listeners in the core
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
static public function getSubscribedEvents()
|
||||
{
|
||||
return array(
|
||||
'core.user_setup' => 'load_portal_language',
|
||||
'core.viewonline_overwrite_location' => 'viewonline_page',
|
||||
'core.page_header' => 'add_portal_link',
|
||||
'core.permissions' => 'load_permissions',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load portal language during user setup
|
||||
*
|
||||
* @param object $event The event object
|
||||
* @return null
|
||||
*/
|
||||
public function load_portal_language($event)
|
||||
{
|
||||
$lang_set_ext = $event['lang_set_ext'];
|
||||
$lang_set_ext[] = array(
|
||||
'ext_name' => 'board3/portal',
|
||||
'lang_set' => 'portal',
|
||||
);
|
||||
$event['lang_set_ext'] = $lang_set_ext;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show users as viewing the portals on Who Is Online page
|
||||
*
|
||||
* @param object $event The event object
|
||||
* @return null
|
||||
*/
|
||||
public function viewonline_page($event)
|
||||
{
|
||||
if ($event['on_page'][1] == 'app' && strrpos($event['row']['session_page'], 'app.' . $this->php_ext . '/portal') === 0)
|
||||
{
|
||||
$event['location'] = $this->user->lang('VIEWING_PORTAL');
|
||||
$event['location_url'] = $this->controller_helper->route('board3_portal_controller');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add portal link if user is authed to see it
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function add_portal_link()
|
||||
{
|
||||
if (!$this->has_portal_access())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (strpos($this->controller_helper->get_current_url(), '/portal') === false)
|
||||
{
|
||||
$portal_link = $this->controller_helper->route('board3_portal_controller');
|
||||
$this->check_portal_all();
|
||||
}
|
||||
else
|
||||
{
|
||||
$portal_link = $this->path_helper->remove_web_root_path($this->controller_helper->route('board3_portal_controller'));
|
||||
}
|
||||
|
||||
$this->template->assign_vars(array(
|
||||
'U_PORTAL' => $portal_link,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user should be able to access portal
|
||||
*
|
||||
* @return bool True of user should be able to access it, false if not
|
||||
*/
|
||||
protected function has_portal_access()
|
||||
{
|
||||
return $this->auth->acl_get('u_view_portal') && $this->config['board3_enable'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if portal on all pages should be shown and display it accordignly
|
||||
*/
|
||||
protected function check_portal_all()
|
||||
{
|
||||
// Check if we should show the portal
|
||||
if (isset($this->config['board3_show_all_pages']) && $this->config['board3_show_all_pages'] && !$this->board_disabled())
|
||||
{
|
||||
$this->display_portal();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display portal on all pages
|
||||
*/
|
||||
protected function display_portal()
|
||||
{
|
||||
$this->board3_controller->handle(array(
|
||||
'left' => $this->config['board3_show_all_side'] == false,
|
||||
'right' => $this->config['board3_show_all_side'] == true,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether the board has been disabled and should not be shown
|
||||
*
|
||||
* @return bool True if board has been disabled, false if not
|
||||
*/
|
||||
protected function board_disabled()
|
||||
{
|
||||
return $this->config['board_disable'] && !defined('SKIP_CHECK_DISABLED') && !$this->auth->acl_gets('a_', 'm_') && !$this->auth->acl_getf_global('m_');
|
||||
}
|
||||
|
||||
/**
|
||||
* Load permissions into permissions array
|
||||
*
|
||||
* @param array $event Event data
|
||||
*/
|
||||
public function load_permissions($event)
|
||||
{
|
||||
$permissions = $event['permissions'];
|
||||
$permissions['a_manage_portal'] = array('lang' => 'ACL_A_MANAGE_PORTAL', 'cat' => 'misc');
|
||||
$permissions['u_view_portal'] = array('lang' => 'ACL_U_VIEW_PORTAL', 'cat' => 'misc');
|
||||
$event['permissions'] = $permissions;
|
||||
}
|
||||
}
|
||||
342
git-tools/hooks/commit-msg
Normal file
@@ -0,0 +1,342 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to check for correct syntax similar to phpBB3 commit messages per:
|
||||
# * <http://wiki.phpbb.com/display/DEV/Git>
|
||||
# * <http://area51.phpbb.com/phpBB/viewtopic.php?p=209919#p209919>
|
||||
#
|
||||
# This is a commit-msg hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks
|
||||
|
||||
config_ns="b3p.hooks.commit-msg";
|
||||
|
||||
if [ "$(git config --bool $config_ns.fatal)" = "true" ]
|
||||
then
|
||||
fatal=1;
|
||||
severity=Error;
|
||||
else
|
||||
fatal=0;
|
||||
severity=Warning;
|
||||
fi
|
||||
|
||||
debug_level=$(git config --int $config_ns.debug || echo 0);
|
||||
|
||||
# Error codes
|
||||
ERR_LENGTH=1;
|
||||
ERR_HEADER=2;
|
||||
ERR_EMPTY=3;
|
||||
ERR_DESCRIPTION=4;
|
||||
ERR_FOOTER=5;
|
||||
ERR_EOF=6;
|
||||
ERR_UNKNOWN=42;
|
||||
|
||||
debug()
|
||||
{
|
||||
local level;
|
||||
|
||||
level=$1;
|
||||
shift;
|
||||
|
||||
if [ $debug_level -ge $level ]
|
||||
then
|
||||
echo $@;
|
||||
fi
|
||||
}
|
||||
|
||||
quit()
|
||||
{
|
||||
if [ $1 -eq 0 ] || [ $1 -eq $ERR_UNKNOWN ]
|
||||
then
|
||||
# success
|
||||
exit 0;
|
||||
elif [ $fatal -eq 0 ]
|
||||
then
|
||||
# problems found but fatal is false
|
||||
complain 'Please run `git commit --amend` and fix the problems mentioned.' 1>&2
|
||||
exit 0;
|
||||
else
|
||||
complain "Aborting commit." 1>&2
|
||||
exit $1;
|
||||
fi
|
||||
}
|
||||
|
||||
use_color()
|
||||
{
|
||||
if [ -z "$use_color_cached" ]
|
||||
then
|
||||
case $(git config --bool $config_ns.color)
|
||||
in
|
||||
false)
|
||||
use_color_cached=1
|
||||
;;
|
||||
true)
|
||||
use_color_cached=0
|
||||
;;
|
||||
*)
|
||||
# tty detection in shell:
|
||||
# http://hwi.ath.cx/jsh/list/shext/isatty.sh.html
|
||||
tty 0>/dev/stdout >/dev/null 2>&1
|
||||
use_color_cached=$?
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# return value is the flag inverted -
|
||||
# if return value is 0, this means use color
|
||||
return $use_color_cached
|
||||
}
|
||||
|
||||
complain()
|
||||
{
|
||||
if use_color
|
||||
then
|
||||
# Careful: our argument may include arguments to echo like -n
|
||||
# ANSI color codes:
|
||||
# http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
|
||||
printf "\033[31m\033[1m"
|
||||
if [ "$1" = "-n" ]
|
||||
then
|
||||
echo "$@"
|
||||
printf "\033[0m"
|
||||
else
|
||||
# This will print one trailing space.
|
||||
# Not sure how to avoid this at the moment.
|
||||
echo "$@" $(printf "\033[0m")
|
||||
fi
|
||||
else
|
||||
echo "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check for empty commit message
|
||||
if ! grep -qv '^#' "$1"
|
||||
then
|
||||
# Commit message is empty (or contains only comments).
|
||||
# Let git handle this.
|
||||
# It will abort with a message like so:
|
||||
#
|
||||
# Aborting commit due to empty commit message.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
msg=$(grep -v '^#' "$1" |grep -nE '.{81,}')
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
complain "The following lines are greater than 80 characters long:" >&2;
|
||||
complain >&2
|
||||
complain "$msg" >&2;
|
||||
|
||||
quit $ERR_LENGTH;
|
||||
fi
|
||||
|
||||
lines=$(wc -l "$1" | awk '{ print $1; }');
|
||||
expecting=header;
|
||||
in_description=0;
|
||||
in_empty=0;
|
||||
ticket=0;
|
||||
branch_regex="[a-z]+[a-z0-9-]*[a-z0-9]+";
|
||||
i=1;
|
||||
tickets="";
|
||||
|
||||
while [ $i -le $lines ]
|
||||
do
|
||||
# Grab the line we are studying
|
||||
line=$(head -n$i "$1" | tail -n1);
|
||||
|
||||
debug 1 "==> [$i] $line (description: $in_description, empty: $in_empty)";
|
||||
|
||||
err=$ERR_UNKNOWN;
|
||||
|
||||
if [ -z "$expecting" ]
|
||||
then
|
||||
quit $err;
|
||||
fi
|
||||
|
||||
if [ "${expecting#comment}" = "$expecting" ]
|
||||
then
|
||||
# Prefix comments to the expected tokens list
|
||||
expecting="comment $expecting";
|
||||
fi
|
||||
|
||||
debug 2 "Expecting: $expecting";
|
||||
|
||||
# Loop over each of the expected line formats
|
||||
for expect in $expecting
|
||||
do
|
||||
# Reset the error code each iteration
|
||||
err=$ERR_UNKNOWN;
|
||||
|
||||
# Test for validity of each line format
|
||||
# This is done first so $? contains the result
|
||||
case $expect in
|
||||
"header")
|
||||
err=$ERR_HEADER;
|
||||
echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] .+$"
|
||||
result=$?
|
||||
if ! echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] [A-Z].+$"
|
||||
then
|
||||
# Don't be too strict.
|
||||
# Commits may be temporary, intended to be squashed later.
|
||||
# Just issue a warning here.
|
||||
complain "$severity: heading should be a sentence beginning with a capital letter." 1>&2
|
||||
complain "You entered:" 1>&2
|
||||
complain "$line" 1>&2
|
||||
fi
|
||||
# restore exit code
|
||||
(exit $result)
|
||||
;;
|
||||
"empty")
|
||||
err=$ERR_EMPTY;
|
||||
echo "$line" | grep -Eq "^$"
|
||||
;;
|
||||
"description")
|
||||
err=$ERR_DESCRIPTION;
|
||||
# Free flow text, the line length was constrained by the initial check
|
||||
echo "$line" | grep -Eq "^.+$";
|
||||
;;
|
||||
"footer")
|
||||
err=$ERR_FOOTER;
|
||||
# Each ticket is on its own line
|
||||
echo "$line" | grep -Eq "^B3P-[0-9]+$";
|
||||
;;
|
||||
"eof")
|
||||
err=$ERR_EOF;
|
||||
# Should not end up here
|
||||
false
|
||||
;;
|
||||
"possibly-eof")
|
||||
# Allow empty and/or comment lines at the end
|
||||
! tail -n +"$i" "$1" |grep -qvE '^($|#)'
|
||||
;;
|
||||
"comment")
|
||||
echo "$line" | grep -Eq "^#";
|
||||
;;
|
||||
*)
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit $err;
|
||||
;;
|
||||
esac
|
||||
|
||||
# Preserve the result of the line check
|
||||
result=$?;
|
||||
|
||||
debug 2 "$expect - '$line' - $result";
|
||||
|
||||
if [ $result -eq 0 ]
|
||||
then
|
||||
# Break out the loop on success
|
||||
# otherwise roll on round and keep looking for a match
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $result -eq 0 ]
|
||||
then
|
||||
# Have we switched out of description mode?
|
||||
if [ $in_description -eq 1 ] && [ "$expect" != "description" ] && [ "$expect" != "empty" ] && [ "$expect" != "comment" ]
|
||||
then
|
||||
# Yes, okay we need to backtrace one line and reanalyse
|
||||
in_description=0;
|
||||
i=$(( $i - $in_empty ));
|
||||
|
||||
# Reset the empty counter
|
||||
in_empty=0;
|
||||
continue;
|
||||
fi
|
||||
|
||||
# Successful match, but on which line format
|
||||
case $expect in
|
||||
"header")
|
||||
expecting="empty";
|
||||
|
||||
echo "$line" | grep -Eq "^\[ticket/[0-9]+\]$" && (
|
||||
ticket=$(echo "$line" | sed 's,\[ticket/\([0-9]*\)\].*,\1,');
|
||||
)
|
||||
;;
|
||||
"empty")
|
||||
# Description might have empty lines as spacing
|
||||
expecting="footer description";
|
||||
in_empty=$(($in_empty + 1));
|
||||
|
||||
if [ $in_description -eq 1 ]
|
||||
then
|
||||
expecting="$expecting empty";
|
||||
fi
|
||||
;;
|
||||
"description")
|
||||
expecting="description empty";
|
||||
in_description=1;
|
||||
;;
|
||||
"footer")
|
||||
expecting="footer possibly-eof";
|
||||
if [ "$tickets" = "" ]
|
||||
then
|
||||
tickets="$line";
|
||||
else
|
||||
tickets="$tickets $line";
|
||||
fi
|
||||
;;
|
||||
"comment")
|
||||
# Comments should expect the same thing again
|
||||
;;
|
||||
"possibly-eof")
|
||||
expecting="eof";
|
||||
;;
|
||||
*)
|
||||
complain "Unrecognised token $expect" >&2;
|
||||
quit 254;
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$expect" != "empty" ]
|
||||
then
|
||||
in_empty=0;
|
||||
fi
|
||||
|
||||
debug 3 "Now expecting: $expecting";
|
||||
else
|
||||
# None of the expected line formats matched
|
||||
# Guess we'll call it a day here then
|
||||
complain "Syntax error on line $i:" >&2;
|
||||
complain ">> $line" >&2;
|
||||
complain -n "Expecting: " >&2;
|
||||
complain "$expecting" | sed 's/ /, /g' >&2;
|
||||
quit $err;
|
||||
fi
|
||||
|
||||
i=$(( $i + 1 ));
|
||||
done
|
||||
|
||||
# If EOF is expected exit cleanly
|
||||
echo "$expecting" | grep -q "eof" || (
|
||||
# Unexpected EOF, error
|
||||
complain "Unexpected EOF encountered" >&2;
|
||||
quit $ERR_EOF;
|
||||
) && (
|
||||
# Do post scan checks
|
||||
if [ ! -z "$tickets" ]
|
||||
then
|
||||
# Check for duplicate tickets
|
||||
dupes=$(echo "$tickets" | sed 's/ /\n/g' | sort | uniq -d);
|
||||
|
||||
if [ ! -z "$dupes" ]
|
||||
then
|
||||
complain "The following tickets are repeated:" >&2;
|
||||
complain "$dupes" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
quit $ERR_FOOTER;
|
||||
fi
|
||||
fi
|
||||
# Check the branch ticket is mentioned, doesn't make sense otherwise
|
||||
if [ $ticket -gt 0 ]
|
||||
then
|
||||
echo "$tickets" | grep -Eq "\bB3P-$ticket\b" || (
|
||||
complain "Ticket ID [$ticket] of branch missing from list of tickets:" >&2;
|
||||
complain "$tickets" | sed 's/ /\n/g;s/^/* /g' >&2;
|
||||
quit $ERR_FOOTER;
|
||||
) || exit $?;
|
||||
fi
|
||||
# Got here okay exit to reality
|
||||
exit 0;
|
||||
);
|
||||
exit $?;
|
||||
88
git-tools/hooks/pre-commit
Normal file
@@ -0,0 +1,88 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to disallow php syntax errors to be committed
|
||||
# by running php -l (lint) on them. It requires php-cli
|
||||
# to be installed.
|
||||
#
|
||||
# This is a pre-commit hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks, example:
|
||||
#
|
||||
# ln -s ../../git-tools/hooks/pre-commit \\
|
||||
# .git/hooks/pre-commit
|
||||
|
||||
if [ -z "$PHP_BIN" ]
|
||||
then
|
||||
PHP_BIN=php
|
||||
fi
|
||||
|
||||
if [ "$(echo -e test)" = test ]
|
||||
then
|
||||
echo_e="echo -e"
|
||||
else
|
||||
echo_e="echo"
|
||||
fi
|
||||
|
||||
# necessary check for initial commit
|
||||
if git rev-parse --verify HEAD >/dev/null 2>&1
|
||||
then
|
||||
against=HEAD
|
||||
else
|
||||
# Initial commit: diff against an empty tree object
|
||||
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
||||
fi
|
||||
|
||||
errors=""
|
||||
if ! which "$PHP_BIN" >/dev/null 2>&1
|
||||
then
|
||||
echo "PHP Syntax check failed:"
|
||||
echo "PHP binary does not exist or is not in path: $PHP_BIN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# dash does not support $'\n':
|
||||
# http://forum.soft32.com/linux2/Bug-409179-DASH-Settings-IFS-work-properly-ftopict70039.html
|
||||
IFS='
|
||||
'
|
||||
# get a list of staged files
|
||||
for line in $(git diff-index --cached --full-index $against)
|
||||
do
|
||||
# split needed values
|
||||
sha=$(echo $line | cut -d' ' -f4)
|
||||
temp=$(echo $line | cut -d' ' -f5)
|
||||
status=$(echo $temp | cut -d' ' -f1)
|
||||
filename=$(echo $temp | cut -d' ' -f2)
|
||||
|
||||
# file extension
|
||||
ext=$(echo $filename | sed 's/^.*\.//')
|
||||
|
||||
# only check files with php extension
|
||||
if [ $ext != "php" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# do not check deleted files
|
||||
if [ $status = "D" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# check the staged file content for syntax errors
|
||||
# using php -l (lint)
|
||||
result=$(git cat-file -p $sha | "$PHP_BIN" -n -l -ddisplay_errors\=1 -derror_reporting\=E_ALL -dlog_errrors\=0 2>&1)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
# Swap back in correct filenames
|
||||
errors=$(echo "$errors"; echo "$result" | grep ':' | sed -e "s@in - on@in $filename on@g")
|
||||
fi
|
||||
done
|
||||
unset IFS
|
||||
|
||||
if [ -n "$errors" ]
|
||||
then
|
||||
echo "PHP Syntax check failed: "
|
||||
$echo_e "$errors"
|
||||
exit 1
|
||||
fi
|
||||
42
git-tools/hooks/prepare-commit-msg
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# A hook to add [$branch] to the beginning of a commit message
|
||||
# if certain conditions are met.
|
||||
#
|
||||
# This is a prepare-commit-msg hook.
|
||||
#
|
||||
# To install this you can either copy or symlink it to
|
||||
# $GIT_DIR/hooks, example:
|
||||
#
|
||||
# ln -s ../../git-tools/hooks/prepare-commit-msg \\
|
||||
# .git/hooks/prepare-commit-msg
|
||||
|
||||
# get branch name
|
||||
branch="$(git symbolic-ref HEAD)"
|
||||
|
||||
# exit if no branch name is present
|
||||
# (eg. detached HEAD)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
|
||||
# strip off refs/heads/
|
||||
branch="$(echo "$branch" | sed "s/refs\/heads\///g")"
|
||||
|
||||
# add [branchname] to commit message
|
||||
# * only run when normal commit is made (without -m or -F;
|
||||
# not a merge, etc.)
|
||||
# * also make sure the branch name begins with bug/ or feature/
|
||||
if [ "$2" = "" ]
|
||||
then
|
||||
tail="";
|
||||
|
||||
# Branch is prefixed with 'ticket/', append ticket ID to message
|
||||
if [ "$branch" != "${branch##ticket/}" ];
|
||||
then
|
||||
tail="$(printf "\n\nB3P-${branch##ticket/}")";
|
||||
fi
|
||||
|
||||
echo "[$branch] $tail$(cat "$1")" > "$1"
|
||||
fi
|
||||
443
includes/functions.php
Normal file
@@ -0,0 +1,443 @@
|
||||
<?php
|
||||
// @codingStandardsIgnoreFile
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
// Get portal config
|
||||
function obtain_portal_config()
|
||||
{
|
||||
global $db, $cache, $portal_config;
|
||||
|
||||
if (($portal_config = $cache->get('portal_config')) === false)
|
||||
{
|
||||
$portal_config = $portal_cached_config = array();
|
||||
|
||||
$sql = 'SELECT config_name, config_value
|
||||
FROM ' . PORTAL_CONFIG_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$portal_cached_config[$row['config_name']] = $row['config_value'];
|
||||
|
||||
$portal_config[$row['config_name']] = $row['config_value'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$cache->put('portal_config', $portal_cached_config);
|
||||
}
|
||||
|
||||
return $portal_config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set config value. Creates missing config entry.
|
||||
* Only use this if your config value might exceed 255 characters, otherwise please use set_config
|
||||
*/
|
||||
function set_portal_config($config_name, $config_value)
|
||||
{
|
||||
global $db, $cache, $portal_config;
|
||||
|
||||
$sql = 'UPDATE ' . PORTAL_CONFIG_TABLE . "
|
||||
SET config_value = '" . $db->sql_escape($config_value) . "'
|
||||
WHERE config_name = '" . $db->sql_escape($config_name) . "'";
|
||||
$db->sql_query($sql);
|
||||
|
||||
if (!$db->sql_affectedrows() && !isset($portal_config[$config_name]))
|
||||
{
|
||||
$sql = 'INSERT INTO ' . PORTAL_CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(
|
||||
'config_name' => $config_name,
|
||||
'config_value' => $config_value));
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
$portal_config[$config_name] = $config_value;
|
||||
|
||||
$cache->destroy('portal_config');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get portal modules
|
||||
*
|
||||
* @return array Portal modules array
|
||||
*/
|
||||
function obtain_portal_modules()
|
||||
{
|
||||
global $db;
|
||||
|
||||
$portal_modules = array();
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM ' . PORTAL_MODULES_TABLE . '
|
||||
ORDER BY module_order ASC';
|
||||
$result = $db->sql_query($sql, 3600);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$portal_modules[] = $row;
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
return $portal_modules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch post for news & announce
|
||||
*
|
||||
* @deprecated 2.1.0-b1 (To be removed: 2.2.0)
|
||||
*/
|
||||
function phpbb_fetch_posts($module_id, $forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start = 0, $invert = false)
|
||||
{
|
||||
global $phpbb_container;
|
||||
|
||||
$fetch_posts = $phpbb_container->get('board3.portal.fetch_posts');
|
||||
$fetch_posts->set_module_id($module_id);
|
||||
|
||||
return $fetch_posts->get_posts($forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start, $invert);
|
||||
}
|
||||
|
||||
/**
|
||||
* Censor title, return short title
|
||||
*
|
||||
* @param $title string title to censor
|
||||
* @param $limit int short title character limit
|
||||
*
|
||||
*/
|
||||
function character_limit(&$title, $limit = 0)
|
||||
{
|
||||
$title = censor_text($title);
|
||||
if ($limit > 0)
|
||||
{
|
||||
return (strlen(utf8_decode($title)) > $limit + 3) ? truncate_string($title, $limit) . '...' : $title;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $title;
|
||||
}
|
||||
}
|
||||
|
||||
function ap_validate($str)
|
||||
{
|
||||
$s = str_replace('<br />', '<br/>', $str);
|
||||
return str_replace('</li><br/>', '</li>', $s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Pagination routine, generates archive number sequence
|
||||
*/
|
||||
function generate_portal_pagination($base_url, $num_items, $per_page, $start_item, $type, $module_id = 0, $add_prevnext_text = false, $tpl_prefix = '')
|
||||
{
|
||||
global $template, $user;
|
||||
|
||||
switch ($type)
|
||||
{
|
||||
case "announcements":
|
||||
$pagination_type = 'ap_' . $module_id;
|
||||
$anker = '#a_' . $module_id;
|
||||
break;
|
||||
case "news":
|
||||
case "news_all":
|
||||
$pagination_type = 'np_' . $module_id;
|
||||
$anker = '#n_' . $module_id;
|
||||
break;
|
||||
|
||||
default:
|
||||
// this shouldn't happen but default to announcements
|
||||
$pagination_type = 'ap_' . $module_id;
|
||||
$anker = '#a_' . $module_id;
|
||||
}
|
||||
|
||||
// Make sure $per_page is a valid value
|
||||
$per_page = ($per_page <= 0) ? 1 : $per_page;
|
||||
|
||||
$seperator = '<li> </li>';
|
||||
$total_pages = ceil($num_items / $per_page);
|
||||
|
||||
if ($total_pages == 1 || !$num_items)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$on_page = floor($start_item / $per_page) + 1;
|
||||
$url_delim = (strpos($base_url, '?') === false) ? '?' : '&';
|
||||
|
||||
$page_string = ($on_page == 1) ? '<ul><li class="active"><span>1</span></li>' : '<ul><li><a class="button" href="' . $base_url . $anker .'" role="button">1</a></li>';
|
||||
|
||||
if ($total_pages > 5)
|
||||
{
|
||||
$start_cnt = min(max(1, $on_page - 4), $total_pages - 5);
|
||||
$end_cnt = max(min($total_pages, $on_page + 4), 6);
|
||||
|
||||
// Add ... separator to pagination
|
||||
$page_string .= ($start_cnt > 1) ? '<li class="ellipsis" role="separator"><span>' . $user->lang['ELLIPSIS'] . '</span></li>' : $seperator;
|
||||
|
||||
for ($i = $start_cnt + 1; $i < $end_cnt; ++$i)
|
||||
{
|
||||
$page_string .= ($i == $on_page) ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '" role="button">' . $i . '</a></li>';
|
||||
if ($i < $end_cnt - 1)
|
||||
{
|
||||
$page_string .= $seperator;
|
||||
}
|
||||
}
|
||||
|
||||
// Add ... separator to pagination
|
||||
$page_string .= ($end_cnt < $total_pages) ? '<li class="ellipsis" role="separator"><span>' . $user->lang['ELLIPSIS'] . '</span></li>' : $seperator;
|
||||
}
|
||||
else
|
||||
{
|
||||
$page_string .= $seperator;
|
||||
|
||||
for ($i = 2; $i < $total_pages; ++$i)
|
||||
{
|
||||
$page_string .= ($i == $on_page) ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . $anker . '" role="button">' . $i . '</a></li>';
|
||||
if ($i < $total_pages)
|
||||
{
|
||||
$page_string .= $seperator;
|
||||
}
|
||||
}
|
||||
}
|
||||
$page_string .= ($on_page == $total_pages) ? '<li class="active"><span>' . $total_pages . '</span></li></ul>' : '<li><a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . $anker . '" role="button">' . $total_pages . '</a></li></ul>';
|
||||
|
||||
if ($add_prevnext_text)
|
||||
{
|
||||
if ($on_page != 1)
|
||||
{
|
||||
$page_string = '<a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker . '" role="button">' . $user->lang['PREVIOUS'] . '</a> ' . $page_string;
|
||||
}
|
||||
|
||||
if ($on_page != $total_pages)
|
||||
{
|
||||
$page_string .= ' <a class="button" href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker . '" role="button">' . $user->lang['NEXT'] . '</a>';
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
$tpl_prefix . 'BASE_URL' => $base_url,
|
||||
'A_' . $tpl_prefix . 'BASE_URL' => is_string($base_url) ? $base_url : '',
|
||||
$tpl_prefix . 'PER_PAGE' => $per_page,
|
||||
|
||||
$tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . $anker,
|
||||
$tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . $anker,
|
||||
$tpl_prefix . 'TOTAL_PAGES' => $total_pages,
|
||||
));
|
||||
|
||||
return $page_string;
|
||||
}
|
||||
|
||||
/**
|
||||
* get topic tracking info for news
|
||||
* based on get_complete_tracking_info of phpBB3
|
||||
* this should reduce the queries for the news and announcements block
|
||||
*/
|
||||
function get_portal_tracking_info($fetch_news)
|
||||
{
|
||||
global $config, $request, $user;
|
||||
|
||||
$last_read = $topic_ids = $forum_ids = $tracking_info = $rev_forum_ids = $user_lastmark = array();
|
||||
|
||||
/**
|
||||
* group everything by the forum IDs
|
||||
*/
|
||||
$count = $fetch_news['topic_count'];
|
||||
for ($i = 0; $i < $count; ++$i)
|
||||
{
|
||||
$tracking_info[$fetch_news[$i]['forum_id']][] = $fetch_news[$i]['topic_id'];
|
||||
$topic_ids[] = $fetch_news[$i]['topic_id'];
|
||||
$forum_ids[] = $fetch_news[$i]['forum_id'];
|
||||
$rev_forum_ids[$fetch_news[$i]['topic_id']] = $fetch_news[$i]['forum_id']; // the other way round also helps
|
||||
}
|
||||
|
||||
foreach ($tracking_info as $forum_id => $current_forum)
|
||||
{
|
||||
if ($config['load_db_lastread'] && $user->data['is_registered'])
|
||||
{
|
||||
global $db;
|
||||
|
||||
$mark_time = array();
|
||||
|
||||
$sql = 'SELECT topic_id, mark_time
|
||||
FROM ' . TOPICS_TRACK_TABLE . '
|
||||
WHERE user_id = ' . (int) $user->data['user_id'] . '
|
||||
AND ' . $db->sql_in_set('topic_id', $current_forum);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$last_read[$row['topic_id']] = $row['mark_time'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$current_forum = array_diff($current_forum, array_keys($last_read));
|
||||
|
||||
if (sizeof($topic_ids))
|
||||
{
|
||||
$sql = 'SELECT forum_id, mark_time
|
||||
FROM ' . FORUMS_TRACK_TABLE . '
|
||||
WHERE user_id = ' . (int) $user->data['user_id'] . '
|
||||
AND ' . $db->sql_in_set('forum_id', $forum_ids);
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$mark_time[$row['forum_id']] = $row['mark_time'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// Set user last mark time
|
||||
foreach ($forum_ids as $current_forum_id)
|
||||
{
|
||||
$user_lastmark[$current_forum_id] = (isset($mark_time[$current_forum_id])) ? $mark_time[$current_forum_id] : $user->data['user_lastmark'];
|
||||
}
|
||||
|
||||
// @todo: also check if $user_lastmark has been defined for this specific forum_id
|
||||
foreach ($topic_ids as $topic_id)
|
||||
{
|
||||
if (!isset($last_read[$topic_id]) || (isset($user_lastmark[$rev_forum_ids[$topic_id]]) && $user_lastmark[$rev_forum_ids[$topic_id]] > $last_read[$topic_id]))
|
||||
{
|
||||
$last_read[$topic_id] = $user_lastmark[$rev_forum_ids[$topic_id]];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($config['load_anon_lastread'] || $user->data['is_registered'])
|
||||
{
|
||||
global $tracking_topics;
|
||||
|
||||
if (!isset($tracking_topics) || !sizeof($tracking_topics))
|
||||
{
|
||||
if ($request->is_set($config['cookie_name'] . '_track', \phpbb\request\request_interface::COOKIE))
|
||||
{
|
||||
$tracking_topics = $request->variable($config['cookie_name'] . '_track', '', true, \phpbb\request\request_interface::COOKIE);
|
||||
}
|
||||
else
|
||||
{
|
||||
$tracking_topics = '';
|
||||
}
|
||||
$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();
|
||||
}
|
||||
|
||||
if (!$user->data['is_registered'])
|
||||
{
|
||||
$user_lastmark = (isset($tracking_topics['l'])) ? base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate'] : 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
$user_lastmark = $user->data['user_lastmark'];
|
||||
}
|
||||
|
||||
foreach ($topic_ids as $topic_id)
|
||||
{
|
||||
$topic_id36 = base_convert($topic_id, 10, 36);
|
||||
|
||||
if (isset($tracking_topics['t'][$topic_id36]))
|
||||
{
|
||||
$last_read[$topic_id] = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate'];
|
||||
}
|
||||
}
|
||||
|
||||
$topic_ids = array_diff($topic_ids, array_keys($last_read));
|
||||
|
||||
if (sizeof($topic_ids))
|
||||
{
|
||||
$mark_time = array();
|
||||
|
||||
if (isset($tracking_topics['f'][$forum_id]))
|
||||
{
|
||||
$mark_time[$forum_id] = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate'];
|
||||
}
|
||||
|
||||
$user_lastmark = (isset($mark_time[$forum_id])) ? $mark_time[$forum_id] : $user_lastmark;
|
||||
|
||||
foreach ($topic_ids as $topic_id)
|
||||
{
|
||||
$last_read[$topic_id] = $user_lastmark;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $last_read;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the entered source file actually exists
|
||||
*
|
||||
* @param string $value Filename of file to check
|
||||
* @param string $key Key of the acp setting (unused here)
|
||||
* @param int $module_id Module ID of this module
|
||||
* @param bool $force_error Whether an error message should be triggered on
|
||||
* errors.
|
||||
* @return bool|string False if file exists, an error string if file doesn't exist.
|
||||
*/
|
||||
function check_file_src($value, $key, $module_id, $force_error = true)
|
||||
{
|
||||
global $phpbb_admin_path, $portal_root_path, $phpEx, $user;
|
||||
|
||||
$error = '';
|
||||
|
||||
// We check if the chosen file is present in the styles/all/ folder
|
||||
if (!file_exists($portal_root_path . 'styles/all/theme/images/portal/' . $value))
|
||||
{
|
||||
$error .= $user->lang['B3P_FILE_NOT_FOUND'] . ': styles/all/theme/images/portal/' . $value . '<br />';
|
||||
}
|
||||
|
||||
if (!empty($error))
|
||||
{
|
||||
if ($force_error)
|
||||
{
|
||||
trigger_error($error . adm_back_link(append_sid("{$phpbb_admin_path}index.$phpEx", 'i=\board3\portal\acp\portal_module&mode=config&module_id=' . $module_id)), E_USER_WARNING);
|
||||
}
|
||||
|
||||
return $error;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the groups a user is in
|
||||
*
|
||||
* @return array Array containing the user's groups
|
||||
*/
|
||||
function get_user_groups()
|
||||
{
|
||||
global $cache, $db, $user;
|
||||
|
||||
$groups_ary = $cache->get('_user_groups_' . $user->data['user_id']);
|
||||
|
||||
if ($groups_ary === false)
|
||||
{
|
||||
$groups_ary = array();
|
||||
|
||||
// get user's groups
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . USER_GROUP_TABLE . '
|
||||
WHERE user_id = ' . (int) $user->data['user_id'] . '
|
||||
ORDER BY group_id ASC';
|
||||
$result = $db->sql_query($sql);
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$groups_ary[] = $row['group_id'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// save data in cache for 60 seconds
|
||||
$cache->put('_user_groups_' . $user->data['user_id'], $groups_ary, 60);
|
||||
}
|
||||
|
||||
return $groups_ary;
|
||||
}
|
||||
79
includes/helper.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2014 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\includes;
|
||||
|
||||
class helper
|
||||
{
|
||||
/**
|
||||
* Board3 Modules service collection
|
||||
* @var \phpbb\di\service_collection
|
||||
*/
|
||||
protected $modules;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* NOTE: The parameters of this method must match in order and type with
|
||||
* the dependencies defined in the services.yml file for this service.
|
||||
* @param \phpbb\di\service_collection $modules Board3 Modules service
|
||||
* collection
|
||||
*/
|
||||
public function __construct($modules)
|
||||
{
|
||||
$this->register_modules($modules);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register list of Board3 Portal modules
|
||||
*
|
||||
* @param \phpbb\di\service_collection $modules Board3 Modules service
|
||||
* collection
|
||||
* @return null
|
||||
*/
|
||||
protected function register_modules($modules)
|
||||
{
|
||||
foreach ($modules as $current_module)
|
||||
{
|
||||
$class_name = '\\' . get_class($current_module);
|
||||
if (!isset($this->modules[$class_name]))
|
||||
{
|
||||
$this->modules[$class_name] = $current_module;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get module specified by module class name
|
||||
*
|
||||
* @param string $module_name Module class name
|
||||
*
|
||||
* @return bool|object The module object if it exists, false if not
|
||||
*/
|
||||
public function get_module($module_name)
|
||||
{
|
||||
if (isset($this->modules[$module_name]))
|
||||
{
|
||||
return $this->modules[$module_name];
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all supported modules
|
||||
*
|
||||
* @return array An array containing all supported modules
|
||||
*/
|
||||
public function get_all_modules()
|
||||
{
|
||||
return $this->modules;
|
||||
}
|
||||
}
|
||||
191
includes/modules_helper.php
Normal file
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2014 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
namespace board3\portal\includes;
|
||||
|
||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||
|
||||
class modules_helper
|
||||
{
|
||||
/**
|
||||
* Auth object
|
||||
* @var \phpbb\auth\auth
|
||||
*/
|
||||
protected $auth;
|
||||
|
||||
/**
|
||||
* phpBB config
|
||||
* @var \phpbb\config\config
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/** @var \phpbb\controller\helper Controller helper */
|
||||
protected $controller_helper;
|
||||
|
||||
/**
|
||||
* phpBB request
|
||||
* @var \phpbb\request\request
|
||||
*/
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* NOTE: The parameters of this method must match in order and type with
|
||||
* the dependencies defined in the services.yml file for this service.
|
||||
* @param \phpbb\auth\auth $auth Auth object
|
||||
* @param \phpbb\config\config $config phpBB config
|
||||
* @param \phpbb\controller\helper $controller_helper Controller helper
|
||||
* @param \phpbb\request\request $request phpBB request
|
||||
*/
|
||||
public function __construct($auth, $config, $controller_helper, $request)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
$this->config = $config;
|
||||
$this->controller_helper = $controller_helper;
|
||||
$this->request = $request;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array of disallowed forums
|
||||
*
|
||||
* @param bool $disallow_access Whether the array for disallowing access
|
||||
* should be filled
|
||||
* @return array Array of forums the user is not allowed to access
|
||||
*/
|
||||
public function get_disallowed_forums($disallow_access)
|
||||
{
|
||||
if ($disallow_access == true)
|
||||
{
|
||||
$disallow_access = array_unique(array_keys($this->auth->acl_getf('!f_read', true)));
|
||||
}
|
||||
else
|
||||
{
|
||||
$disallow_access = array();
|
||||
}
|
||||
|
||||
return $disallow_access;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate select box
|
||||
*
|
||||
* @param string $key Key of select box
|
||||
* @param array $select_ary Array of select box options
|
||||
* @param array $selected_options Array of selected options
|
||||
* @param bool $multiple Whether multiple options should be selectable
|
||||
*
|
||||
* @return string HTML code of select box
|
||||
* @access public
|
||||
*/
|
||||
public function generate_select_box($key, $select_ary, $selected_options, $multiple = false)
|
||||
{
|
||||
// Build options
|
||||
$options = '<select id="' . $key . '" name="' . $key;
|
||||
$options .= ($multiple) ? '[]" multiple="multiple">' : '">';
|
||||
foreach ($select_ary as $id => $option)
|
||||
{
|
||||
$options .= '<option value="' . $option['value'] . '"' . ((in_array($option['value'], $selected_options)) ? ' selected="selected"' : '') . (!empty($option['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $option['title'] . '</option>';
|
||||
}
|
||||
$options .= '</select>';
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate forum select box
|
||||
*
|
||||
* @param string $value Value of select box
|
||||
* @param string $key Key of select box
|
||||
*
|
||||
* @return string HTML code of select box
|
||||
* @access public
|
||||
*/
|
||||
public function generate_forum_select($value, $key)
|
||||
{
|
||||
$forum_list = make_forum_select(false, false, true, true, true, false, true);
|
||||
|
||||
$selected_options = $select_ary = array();
|
||||
if (isset($this->config[$key]) && strlen($this->config[$key]) > 0)
|
||||
{
|
||||
$selected_options = explode(',', $this->config[$key]);
|
||||
}
|
||||
|
||||
// Build forum options
|
||||
foreach ($forum_list as $f_id => $f_row)
|
||||
{
|
||||
$select_ary[] = array(
|
||||
'value' => $f_id,
|
||||
'title' => $f_row['padding'] . $f_row['forum_name'],
|
||||
'disabled' => $f_row['disabled'],
|
||||
);
|
||||
}
|
||||
|
||||
return $this->generate_select_box($key, $select_ary, $selected_options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store selected forums
|
||||
*
|
||||
* @param string $key Key name
|
||||
*
|
||||
* @return null
|
||||
* @access public
|
||||
*/
|
||||
public function store_selected_forums($key)
|
||||
{
|
||||
// Get selected extensions
|
||||
$values = $this->request->variable($key, array(0 => ''));
|
||||
$news = implode(',', $values);
|
||||
$this->config->set($key, $news);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method for controller_helper::route()
|
||||
*
|
||||
* @param string $route Route name
|
||||
* @param array $params Route parameters
|
||||
* @param bool $is_amp
|
||||
* @param bool $session_id
|
||||
* @param bool $reference_type
|
||||
*
|
||||
* @return string URL for route
|
||||
*/
|
||||
public function route($route, $params = array(), $is_amp = true, $session_id = false, $reference_type = UrlGeneratorInterface::ABSOLUTE_PATH)
|
||||
{
|
||||
return $this->controller_helper->route($route, $params, $is_amp, $session_id, $reference_type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display radio buttons for left/right choice
|
||||
*
|
||||
* @param int $value Selected value
|
||||
* @param string $key Key of config variable
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function display_left_right($value, $key)
|
||||
{
|
||||
$radio_ary = array(0 => 'PORTAL_SHOW_ALL_LEFT', 1 => 'PORTAL_SHOW_ALL_RIGHT');
|
||||
|
||||
return h_radio($key, $radio_ary, $value, $key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store left right choice
|
||||
*
|
||||
* @param string $key Config key
|
||||
*/
|
||||
public function store_left_right($key)
|
||||
{
|
||||
// Get selected side
|
||||
$value = $this->request->variable($key, 0);
|
||||
|
||||
$this->config->set($key, $value);
|
||||
}
|
||||
}
|
||||
462
install.xml
@@ -1,462 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<?xml-stylesheet type="text/xsl" href="modx.prosilver.en.xsl"?>
|
||||
<!--For security purposes, please check: http://www.phpbb.com/mods/ for the latest version of this MOD. Although MODs are checked before being allowed in the MODs Database there is no guarantee that there are no security problems within the MOD. No support will be given for MODs not found within the MODs Database which can be found at http://www.phpbb.com/mods/-->
|
||||
<mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpbb.com/mods/xml/modx-1.2.6.xsd">
|
||||
<header>
|
||||
<license>http://opensource.org/licenses/gpl-license.php GNU General Public License v2</license>
|
||||
|
||||
<title lang="en">board3 Portal</title>
|
||||
<title lang="de">board3 Portal</title>
|
||||
|
||||
<description lang="en">Adds a portal with several blocks to your forum.
|
||||
You can change the settings, move the blocks, add new blocks and more in the ACP.
|
||||
|
||||
Included language files:
|
||||
» English (en)
|
||||
» German (de)
|
||||
|
||||
More languages can be found in our International forum: http://www.board3.de/viewforum.php?f=13</description>
|
||||
<description lang="de">Fügt ein Portal mit diversen Boxen deinem Forum hinzu.
|
||||
Im Admin-Bereich kann man unter Anderem die Einstellungen ändern, die Blöcke verschieben, neue Blöcke hinzufügen und vieles mehr.
|
||||
|
||||
Enthaltenen Sprachdateien:
|
||||
» Englisch (en)
|
||||
» Deutsch (de)
|
||||
|
||||
Weitere Sprachen kannst in unserem Internationalen Forum finden: http://www.board3.de/viewforum.php?f=13
|
||||
</description>
|
||||
|
||||
<author-notes lang="en">This MOD requires PHP5. I hope you get everything working. Further developement, new boxes for the portal or questions are welcome at www.board3.de
|
||||
</author-notes>
|
||||
<author-notes lang="de">Dieser MOD benötigt PHP5. Ich hoffe ihr habt Spaß am Portal. Neuen Code, bzw neue Boxen und Fragen könnt ihr auf www.board3.de posten.
|
||||
</author-notes>
|
||||
<github>https://github.com/board3/Board3-Portal</github>
|
||||
<author-group>
|
||||
<author>
|
||||
<realname>Marc Alexander</realname>
|
||||
<username>Marc</username>
|
||||
<email>admin@m-a-styles.de</email>
|
||||
<homepage>http://www.m-a-styles.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Main-Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Joas Schilling</realname>
|
||||
<email>nickvergessen@gmx.de</email>
|
||||
<username>nickvergessen</username>
|
||||
<homepage>http://mods.flying-bits.org/</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Kevin</realname>
|
||||
<username>saint_hh</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="current" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Ice</realname>
|
||||
<username>avaren</username>
|
||||
<homepage>http://www.board3.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Christian</realname>
|
||||
<username>Christian_N</username>
|
||||
<homepage>http://www.phpbb-projekt.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
<author>
|
||||
<realname>Walter</realname>
|
||||
<email>w.bobeth@digitalfotografie-foren.de</email>
|
||||
<username>Redbull254</username>
|
||||
<homepage>http://www.digitalfotografie-foren.de</homepage>
|
||||
<contributions-group>
|
||||
<contributions status="past" position="Developer"></contributions>
|
||||
</contributions-group>
|
||||
</author>
|
||||
</author-group>
|
||||
|
||||
<mod-version>2.0.2</mod-version>
|
||||
|
||||
<installation>
|
||||
<level>easy</level>
|
||||
<time>600</time>
|
||||
<target-version>3.0.12</target-version>
|
||||
</installation>
|
||||
|
||||
<link-group>
|
||||
<link type="dependency" lang="en" href="http://www.phpbb.com/community/viewtopic.php?f=69&t=691155">Board3 Portal supports MOD Version Check. To use this feature, this mod has to be installed.</link>
|
||||
<link type="dependency" lang="de" href="http://www.phpbb.com/community/viewtopic.php?f=69&t=691155">Board3 Portal unterstützt MOD Version Check. Um dieses Feature zu nutzen, muss dieser Mod installiert sein.</link>
|
||||
<link type="language" lang="en" href="contrib/de.xml">Manual for German Language-set</link>
|
||||
<link type="language" lang="de" href="contrib/de.xml">Anleitung für das deutsche Sprachpaket</link>
|
||||
<link type="template" lang="en" href="contrib/subsilver2.xml">Manual for subsilver2</link>
|
||||
<link type="template" lang="de" href="contrib/subsilver2.xml">Anleitung für subsilver2</link>
|
||||
<link type="contrib" lang="en" href="contrib/update_201_to_202/update.xml">Manual for Updating B3P 2.0.1 to 2.0.2</link>
|
||||
<link type="contrib" lang="de" href="contrib/update_201_to_202/update.xml">Anleitung für das Aktualisieren von B3P 2.0.1 zu 2.0.2</link>
|
||||
</link-group>
|
||||
<history>
|
||||
<entry>
|
||||
<date>2013-10-27</date>
|
||||
<rev-version>2.0.2</rev-version>
|
||||
<changelog lang="en">
|
||||
<change>[ticket/216] Add function for obtaining user's groups</change>
|
||||
<change>[ticket/217] Handle incorrect values in the news URL</change>
|
||||
<change>[cleanup/acp] Make acp_portal module more readable</change>
|
||||
<change>[cleanup/tabs] Remove unnecessary tabbing in portal files</change>
|
||||
<change>[cleanup/whitespace] Get rid of unnecessary whitespace</change>
|
||||
<change>Display correct day of the week with negative UTC offset</change>
|
||||
<change>[ticket/120] Move birthday block HTML to template files</change>
|
||||
<change>[ticket/224] Add possibility to append username to donation</change>
|
||||
<change>[ŧicket/223] Set correct permissions to uploaded files (644)</change>
|
||||
<change>[feature/clean-up] Remove duplicated code from portal modules</change>
|
||||
<change>[gh/113] Update UMIL to 1.0.5</change>
|
||||
<change>Slight changes to design of portal</change>
|
||||
</changelog>
|
||||
<changelog lang="de">
|
||||
<change>[ticket/216] Füge Funktion zur Erlangung der Gruppen eines Benutzers hinzu</change>
|
||||
<change>[ticket/217] Behandele falsche Parameter in der News URL</change>
|
||||
<change>[cleanup/acp] Mache acp_portal lesbarer</change>
|
||||
<change>[cleanup/tabs] Entferne sinnlose Tabs in Portal Dateien</change>
|
||||
<change>[cleanup/whitespace] Entferne unnötige Leerzeichen</change>
|
||||
<change>Zeige korrekten Tag der Woche bei negativem UTC Abstand an</change>
|
||||
<change>[ticket/120] Verschiebe HTML des Geburtstags-Blocks in Template Dateien</change>
|
||||
<change>[ticket/224] Füge Möglichkeit des Anhängens des Benutzernamens an Spende ein</change>
|
||||
<change>[ŧicket/223] Setze richtige Berechtigungen für hochgeladene Dateien (644)</change>
|
||||
<change>[feature/clean-up] Entferne doppelten Code von Portal Modulen</change>
|
||||
<change>[gh/113] Aktualisiere UMIL zu 1.0.5</change>
|
||||
<change>Kleine Änderungen im Design des Portals</change>
|
||||
</changelog>
|
||||
</entry>
|
||||
<entry>
|
||||
<date>2012-10-13</date>
|
||||
<rev-version>2.0.1</rev-version>
|
||||
<changelog lang="en">
|
||||
<change>Redirect to portal.php when detecting incorrect announcement parameter</change>
|
||||
<change>Add rel="nofollow" to calendar navigation</change>
|
||||
<change>Fixed incorrect handling of months by strtotime</change>
|
||||
<change>Fix previous commit for calendar</change>
|
||||
<change>Fix incorrect config_name in portal_recent.php</change>
|
||||
<change>Fix error if server-side topic marking is disabled</change>
|
||||
<change>Fix incorrect space between blocks in IE9</change>
|
||||
<change>[ticket/203] Future all day events are always displayed as current</change>
|
||||
<change>[ticket/207] Debug warning in ACP when using PHP 5.4</change>
|
||||
<change>[ticket/206] Missing link to MCP in subsilver2</change>
|
||||
<change>Fix PHP notice when unable to rename</change>
|
||||
<change>Fix incorrect space above calendar in IE9</change>
|
||||
<change>Properly handle mutated vowels in links</change>
|
||||
<change>Enable stylechanger for guests again</change>
|
||||
<change>Add missing language var for logs after removing a link</change>
|
||||
<change>Remove converter for Board3 Portal 1.0.6</change>
|
||||
<change>Fix: Infinite loop caused by smiley code with "["</change>
|
||||
<change>Fix: Only variables can be passed by ref in strict mode</change>
|
||||
<change>Display events that start in the next 24 Hours as "Current"</change>
|
||||
<change>Remove unnecessary variables from format_birthday() & clean-up</change>
|
||||
<change>Save module settings even if module image can't be found</change>
|
||||
<change>Add missing error messages to links & main menu modules</change>
|
||||
<change>Remove update instructions for old releases</change>
|
||||
<change>Remove update for beta version</change>
|
||||
<change>Add missing language variable "NO_FILE_B3P"</change>
|
||||
</changelog>
|
||||
<changelog lang="de">
|
||||
<change>Leite bei falschen Parametern für Ankündigungen an die portal.php weiter</change>
|
||||
<change>Füge rel="nofollow" zur Kalender Navigation hinzu</change>
|
||||
<change>Korrigiere fehlerhafte Behandlung von Monaten mit strtotime</change>
|
||||
<change>Korrigiere vohergehende Änderung für den Kalender</change>
|
||||
<change>Korrigiere falschen config_name in portal_recent.php</change>
|
||||
<change>Korrigiere Fehler falls serverseitiges Markieren von Themen deaktiviert ist</change>
|
||||
<change>Korrigiere falschen Abstand zwischen Blöcken in IE9</change>
|
||||
<change>[ticket/203] Future all day events are always displayed as current</change>
|
||||
<change>[ticket/207] PHP 5.4.0 Unterstützung / Support</change>
|
||||
<change>[ticket/206] Kein Link zum Moderations-Bereich im user_menu_side.html bei subsilver2</change>
|
||||
<change>Korrigiere PHP notice falls nicht umbenannt werden kann</change>
|
||||
<change>Korrigiere falschen Abstand über dem Kalender in IE9</change>
|
||||
<change>Gehe korrekt mit Umlauten in Links um</change>
|
||||
<change>Aktiviere Stylechanger wieder für Gäste</change>
|
||||
<change>Füge fehlende Sprachvariablen für Logs nach dem Entfernen von Links hinzu</change>
|
||||
<change>Entferne Konverter für Board3 Portal 1.0.6</change>
|
||||
<change>Korrigiere Endlosschleife durch Smiley Code mit "["</change>
|
||||
<change>Korrigiere: Only variables can be passed by ref in strict mode</change>
|
||||
<change>Zeige Veranstaltungen die in den nächsten 24 Stunden beginnen als aktuell an</change>
|
||||
<change>Entferne unnötige Variablen von format_birthday() & räume etwas auf</change>
|
||||
<change>Sichere Modul Einstellungen auch wenn die Modul Bilder nicht gefunden werden können</change>
|
||||
<change>Füge fehlende Fehlermeldungen zu Links & Menü Modulen hinzu</change>
|
||||
<change>Entferne Update Anleitungen für ältere Veröffentlichungen</change>
|
||||
<change>Entferne Update Anleitung für Beta Version</change>
|
||||
<change>Füge fehlende Sprachvariable "NO_FILE_B3P" hinzu</change>
|
||||
</changelog>
|
||||
</entry>
|
||||
<entry>
|
||||
<date>2012-04-06</date>
|
||||
<rev-version>2.0.0</rev-version>
|
||||
<changelog lang="en">
|
||||
<change>Replaced German language vars with English ones</change>
|
||||
<change>Fixed 2 small errors in calendar language file</change>
|
||||
<change>Fixed incorrect links to convert instruction</change>
|
||||
<change>Added note to author notes that PHP5 is required</change>
|
||||
<change>Fixed incorrect handling of utf8 characters in custom blocks</change>
|
||||
<change>Fixed missing height and width in module images of custom blocks</change>
|
||||
<change>Modified module title to "Attachments" as suggested by wang555</change>
|
||||
<change>Fixed incorrect timezone handling of events</change>
|
||||
<change>Removed number in latest bots title</change>
|
||||
<change>Centered clock in prosilver</change>
|
||||
<change>Added br-tag in forumlist.html to prevent issues in custom styles</change>
|
||||
<change>Fixed small cosmetic errors in prosilver</change>
|
||||
<change>Added correct padding between headerbar and portal body</change>
|
||||
<change>Hide module image settings in center, top & bottom column</change>
|
||||
<change>Added missing permission check for calendar events</change>
|
||||
<change>Fixed incorrect position of event desc in future events (prosilver)</change>
|
||||
<change>Modified style of calendar in subsilver2</change>
|
||||
<change>Fixed: Jumpbox doesn't care if it is enabled in the ACP</change>
|
||||
<change>Added a few rtl fixes</change>
|
||||
<change>Fixed: Unread topics do not get displayed</change>
|
||||
<change>Add possibility to define a different class for callback functions</change>
|
||||
<change>Moved trim_message tool to includes folder</change>
|
||||
<change>Added missing lang entries for removed events</change>
|
||||
<change>Fixed incorrect ordering of users in leaders module</change>
|
||||
<change>Added htmlspecialchars_decode for message before trimming</change>
|
||||
<change>Allow duplicate inclusion of module if it's in a different column type</change>
|
||||
<change>Fixed incorrect arrow directions when using rtl language (ACP)</change>
|
||||
<change>Disabled poll module for the side columns</change>
|
||||
<change>Merged small whois online block into whois online module</change>
|
||||
<change>Fixed missing module_status in board3_basic_install()</change>
|
||||
<change>Add missing update instructions for 2.0.0b1</change>
|
||||
<change>Fix size of input boxes</change>
|
||||
<change>Add missing class references</change>
|
||||
<change>Fixed "unknown column" issue when installing</change>
|
||||
<change>Fixing incorrect size of module box for oneliners</change>
|
||||
<change>Get rid of magic numbers in portal.php</change>
|
||||
<change>Make sure we don't try to copy folders</change>
|
||||
<change>[Fix] Don't let Bots use styleswitcher </change>
|
||||
<change>Added missing language vars and removed useless ones</change>
|
||||
<change>Purge caches via install file</change>
|
||||
<change>Fixed exceeding of max execution time when using trim message tool</change>
|
||||
<change>Moved duplicate javascript to acp_portal.js</change>
|
||||
<change>Hide modules that can't be added</change>
|
||||
</changelog>
|
||||
<changelog lang="de">
|
||||
<change>Deutsche Sprachvariablen mit englischen ersetzt</change>
|
||||
<change>2 kleine Fehler in Kalender Sprachdatei korrigiert</change>
|
||||
<change>Falsche Links zu Konvertierungsanleitung korrigiert</change>
|
||||
<change>PHP5 Anforderung zu Author notes hinzugefügt</change>
|
||||
<change>Inkorrekte Behandlung von utf8 Zeichen in Eigenen Blöcken korrigiert</change>
|
||||
<change>Fehlende Höhe- und Breiteangaben für Modul Bilder von Eigenen Blöcken korrigiert</change>
|
||||
<change>Inkorrekte Behandlung von Zeitzonen bei Veranstaltungen korrigiert</change>
|
||||
<change>Anzahl im Titel des Letzte Bots Modul entfernt</change>
|
||||
<change>Uhr in prosilver zentriert</change>
|
||||
<change>br-tag zu forumlist.html hinzugefügt um Probleme in anderen Styles zu verhindern</change>
|
||||
<change>Kleine kosmetische Fehler in prosilver korrigiert</change>
|
||||
<change>Abstand zwischen header und portal_body korrigiert</change>
|
||||
<change>Verstecke Modul Bild Einstelungen in der Mitte, Oben & Unten</change>
|
||||
<change>Fehlende Überprüfung von Veranstaltungs-Berechtigungen hinzugefügt</change>
|
||||
<change>Position der Veranstaltungs-Beschreibung in prosilver angepasst</change>
|
||||
<change>Styles des Kalenders in subsilver2 geändert</change>
|
||||
<change>Jumpbox lässt sich jetzt deaktivieren</change>
|
||||
<change>Korrekturen für RTL Sprachen</change>
|
||||
<change>Ungelesene Beiträge Icons werden angezeigt</change>
|
||||
<change>Möglichkeit eine andere Klasse für die callback Funktion zu definieren hinzugefügt</change>
|
||||
<change>trim_message Tool in den includes Ordner verschoben</change>
|
||||
<change>Fehlende Sprachvariablen für gelöschte Veranstaltungen hinzugefügt</change>
|
||||
<change>Falsche Sortierung von Benutzernamen in Team Block korrigiert</change>
|
||||
<change>Anwendung von htmlspecialchars_decode() auf Nachricht vor dem Kürzen hinzugefügt</change>
|
||||
<change>Doppelte Einbindung von Modulen erlaubt, falls sie in einem anderen Spaltentyp hinzugefügt werden</change>
|
||||
<change>Falsche Pfeilrichtungen bei RTL Sprachen korrigiert (Admin-Bereich)</change>
|
||||
<change>Umfrage Modul in den seitlichen Spalten deaktiviert</change>
|
||||
<change>Kleinen "Wer ist online?" Block in das "Wer ist online?" Modul eingefügt</change>
|
||||
<change>Fehlender module_stats in board3_basic_install() korrigiert</change>
|
||||
<change>Fehlende Update-Anleitung für 2.0.0b1 hinzugefügt</change>
|
||||
<change>Größe der Input-Boxen korrigiert</change>
|
||||
<change>Fehlende Globalisierung von Klassen und includes hinzugefügt</change>
|
||||
<change>"unknown column" Fehler beim Installieren korrigiert</change>
|
||||
<change>Falsche Größe der Modul Box bei Einzeilern korrigiert</change>
|
||||
<change>"Magic Numbers" in portal.php entfernt</change>
|
||||
<change>Stelle sicher, dass wir nicht versuchen Ordner zu kopieren</change>
|
||||
<change>Lasse Bots nicht den Styleswicher benutzen</change>
|
||||
<change>Fehlende Sprachvariablen hinzugefügt und Unnötige entfernt</change>
|
||||
<change>Leere Caches mit dem Install-Skript</change>
|
||||
<change>Überschreiten der maximalen Ausführungszeit im trim message Tool korrigiert</change>
|
||||
<change>Doppeltes Javascript in acp_portal.js verschoben</change>
|
||||
<change>Verstecke Module die nicht hinzugefügt werden können</change>
|
||||
</changelog>
|
||||
</entry>
|
||||
<entry>
|
||||
<date>2011-06-08</date>
|
||||
<rev-version>2.0.0b1</rev-version>
|
||||
<changelog lang="en">
|
||||
<change>Added missing IF $S_BLOCK_ICON</change>
|
||||
<change>Fixed select for displaying events </change>
|
||||
<change>Add feature to disable modules without having to remove them</change>
|
||||
<change>Fixed typo in title of Latest Bots block</change>
|
||||
<change>Applied patch for folders with special characters (upload module)</change>
|
||||
<change>Reworked parts of calendar block</change>
|
||||
<change>Fixed missing CSS for li-tags of calendar</change>
|
||||
<change>Added error handling to installation of modules</change>
|
||||
<change>Fixed timezone handling of calendar</change>
|
||||
<change>Fixed incorrect handling of links</change>
|
||||
<change>Fixed mixup with td and tr in subsilver2 calendar block</change>
|
||||
<change>Added missing HTML file for center block of attachments module</change>
|
||||
<change>Fixed missing check for correct column when moving a module left or right</change>
|
||||
<change>Added possibility to add forumlist to top and bottom column</change>
|
||||
<change>Corrected language var for module image as suggested by archivar</change>
|
||||
<change>Moved link constants into module files</change>
|
||||
<change>Remove php closing tag</change>
|
||||
<change>Rewrote basic uploader for module zips</change>
|
||||
<change>Modified class files for PHP5 -- PHP5 is now a requirement</change>
|
||||
<change>Added check to prevent adding a module more than once</change>
|
||||
<change>Added feature to hide portal name on acp configuration page for all modules (was only for latest bots module)</change>
|
||||
<change>Added adm folder to allowed upload folders</change>
|
||||
<change>Replace chmod with phpbb_chmod in uploader where needed</change>
|
||||
<change>Added feature to open external links in a new window</change>
|
||||
<change>Merged nickvergessen's phpbb3-tools-trim-message replacing old get_sub_taged_string function</change>
|
||||
<change>Random members block will not be installed by default</change>
|
||||
</changelog>
|
||||
<changelog lang="de">
|
||||
<change>Fehlendes IF $S_BLOCK_ICON hinzugefügt</change>
|
||||
<change>Auswahl für das Anzeigen von Events repariert</change>
|
||||
<change>Fähigkeit hinzugefügt um Module zu deaktivieren ohne sie zu entfernen</change>
|
||||
<change>Schreibfehler in "Letzte Bots" Block beseitigt</change>
|
||||
<change>Patch für Ordner mit Spezialcharaktern hinzugefügt (Upload Modul)</change>
|
||||
<change>Teile des Kalender Blocks überarbeitet</change>
|
||||
<change>Fehlendes CSS für li-tags des Kalenders hinzugefügt</change>
|
||||
<change>Fehlerbehandlung zu Installation von Modulen hinzugefügt</change>
|
||||
<change>Zeitzonenbehandlung in Kalender korrigiert</change>
|
||||
<change>Falsche Behandlung von Links korrigiert</change>
|
||||
<change>Falsche Benutzung von td und tr im subsilver2 Kalender Block beseitigt</change>
|
||||
<change>Fehlende HTML Datei des Dateianhänge Moduls für die mittlere Spalte hinzugefügt</change>
|
||||
<change>Fehlende Überprüfung auf richtige Spalte beim Verschieben der Module</change>
|
||||
<change>Möglichkeit hinzugefügt die Forenliste in die obere und untere Modulezeile hinzuzufügen</change>
|
||||
<change>Sprachvariable für Modulbild, wie von archivar vorgeschlagen, abgeändert</change>
|
||||
<change>Link Konstanten in Module verschoben</change>
|
||||
<change>Schließenden Tag von PHP Dateien entfernt</change>
|
||||
<change>Hochlade-Module für Modul Zips komplett neu geschrieben</change>
|
||||
<change>Klassen Dateien für PHP5 modifiziert -- PHP5 ist jetzt eine Vorraussetzung</change>
|
||||
<change>Überprüfung hinzugefügt, damit ein Modul nicht mehrmals hinzugefügt werden kann</change>
|
||||
<change>Möglichkeits hinzugefügt den Modultitel auf der Konfigurationsseite im ACP zu verstecken</change>
|
||||
<change>adm Ordner zu erlaubten upload Ordnern hinzugefügt</change>
|
||||
<change>chmod mit phpbb_chmod ersetzt in Upload Modul</change>
|
||||
<change>Möglichkeit externe Links in einem neuen Fenster zu öffnen hinzugefügt</change>
|
||||
<change>nickvergessen's phpbb3-tools-trim-message hinzugefügt - ersetzt die alte Funktion get_sub_taged_string()</change>
|
||||
<change>Zufällige Mitglieder Block wird standardmäßig nicht installiert</change>
|
||||
</changelog>
|
||||
</entry>
|
||||
<entry>
|
||||
<date>2011-03-08</date>
|
||||
<rev-version>2.0.0a1</rev-version>
|
||||
<changelog lang="en">
|
||||
<change>First alpha release</change>
|
||||
</changelog>
|
||||
<changelog lang="de">
|
||||
<change>Erste Alpha-Version</change>
|
||||
</changelog>
|
||||
</entry>
|
||||
</history>
|
||||
</header>
|
||||
<action-group>
|
||||
<copy>
|
||||
<file from="root/portal.php" to="portal.php" />
|
||||
<file from="root/adm/images/*.*" to="adm/images/*.*" />
|
||||
<file from="root/adm/mods/board3_portal_check_version.php" to="adm/mods/board3_portal_check_version.php" />
|
||||
<file from="root/adm/style/*.*" to="adm/style/*.*" />
|
||||
<file from="root/includes/acp/*.*" to="includes/acp/*.*" />
|
||||
<file from="root/includes/trim_message/*.*" to="includes/trim_message/*.*" />
|
||||
<file from="root/install/index.php" to="install/index.php" />
|
||||
<file from="root/language/en/mods/*.*" to="language/en/mods/*.*" />
|
||||
<file from="root/portal/*.*" to="portal/*.*" />
|
||||
<file from="root/styles/prosilver/template/portal/*.*" to="styles/prosilver/template/portal/*.*" />
|
||||
<file from="root/styles/prosilver/theme/portal.css" to="styles/prosilver/theme/portal.css" />
|
||||
<file from="root/styles/prosilver/theme/images/portal/*.*" to="styles/prosilver/theme/images/portal/*.*" />
|
||||
<file from="root/umil/*.*" to="umil/*.*" />
|
||||
</copy>
|
||||
|
||||
<open src=".htaccess">
|
||||
<edit>
|
||||
<find><![CDATA[<Files "common.php">
|
||||
Order Allow,Deny
|
||||
Deny from All
|
||||
</Files>]]></find>
|
||||
<action type="after-add"><![CDATA[DirectoryIndex portal.php index.php index.html index.htm]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="viewonline.php">
|
||||
<edit>
|
||||
<find><![CDATA[ case 'report':
|
||||
$location = $user->lang['REPORTING_POST'];
|
||||
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
|
||||
break;]]></find>
|
||||
<action type="after-add"><![CDATA[ case 'portal':
|
||||
$user->add_lang('mods/portal');
|
||||
$location = $user->lang['VIEWING_PORTAL'];
|
||||
$location_url = append_sid("{$phpbb_root_path}portal.$phpEx");
|
||||
break;]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="includes/functions.php">
|
||||
<edit>
|
||||
<find><![CDATA[// The following assigns all _common_ variables that may be used at any point in a template.]]></find>
|
||||
<action type="before-add"><![CDATA[ $user->add_lang('mods/portal');]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA['U_PRIVATEMSGS' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox'),]]></find>
|
||||
<action type="before-add"><![CDATA[ 'U_PORTAL' => (isset($config['board3_enable']) && $config['board3_enable'] && $auth->acl_get('u_view_portal')) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="includes/session.php">
|
||||
<edit>
|
||||
<find><![CDATA[ if (!empty($_GET['style']) && $auth->acl_get('a_styles') && !defined('ADMIN_START'))]]></find>
|
||||
<action type="replace-with"><![CDATA[ if (!empty($_GET['style']) && !defined('ADMIN_START') && !$this->data['is_bot'])]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="styles/prosilver/template/overall_header.html">
|
||||
<edit>
|
||||
<find><![CDATA[<div class="navbar">]]></find>
|
||||
<action type="before-add"><![CDATA[<!-- IF not $S_IN_PORTAL or S_DISPLAY_PHPBB_MENU -->]]></action>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a> <!-- BEGIN navlinks --> <strong>‹</strong>]]></find>
|
||||
<inline-edit>
|
||||
<inline-find><![CDATA[<li class="icon-home">]]></inline-find>
|
||||
<inline-action type="after-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> » <!-- ENDIF -->]]></inline-action>
|
||||
</inline-edit>
|
||||
</edit>
|
||||
<edit>
|
||||
<find><![CDATA[ <li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li>
|
||||
<!-- ENDIF -->
|
||||
</ul>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>]]></find>
|
||||
<action type="after-add"><![CDATA[<!-- ENDIF -->]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="styles/prosilver/template/overall_footer.html">
|
||||
<edit>
|
||||
<find><![CDATA[<li class="icon-home"><a href="{U_INDEX}" accesskey="h">{L_INDEX}</a></li>]]></find>
|
||||
<inline-edit>
|
||||
<inline-find><![CDATA[<li class="icon-home">]]></inline-find>
|
||||
<inline-action type="after-add"><![CDATA[<!-- IF U_PORTAL --><a href="{U_PORTAL}">{L_PORTAL}</a> » <!-- ENDIF -->]]></inline-action>
|
||||
</inline-edit>
|
||||
</edit>
|
||||
</open>
|
||||
<open src="styles/prosilver/theme/stylesheet.css">
|
||||
<edit>
|
||||
<find><![CDATA[@import url("colours.css");]]></find>
|
||||
<action type="after-add"><![CDATA[@import url("portal.css");]]></action>
|
||||
</edit>
|
||||
</open>
|
||||
<php-installer>install/index.php</php-installer>
|
||||
<diy-instructions lang="de"><![CDATA[Rufe install/index.php auf und führe den Installer aus.
|
||||
|
||||
Lösche anschließend das Installationsverzeichnis.]]></diy-instructions>
|
||||
<diy-instructions lang="en"><![CDATA[Browse to install/index.php and run the installer.
|
||||
|
||||
Remove the install-folder afterwards.]]></diy-instructions>
|
||||
</action-group>
|
||||
</mod>
|
||||
50
language/ar/info_acp_portal.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
$lang = array_merge($lang, array(
|
||||
'ACP_PORTAL_MODULES' => 'الموديلات',
|
||||
'ACP_PORTAL' => 'مجلة المنتدى',
|
||||
'ACP_PORTAL_GENERAL_INFO' => 'الإعدادات',
|
||||
'ACP_PORTAL_UPLOAD' => 'رفع الموديل',
|
||||
|
||||
// Portal logs
|
||||
'LOG_PORTAL_LINK_ADDED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم إضافة الرابط : %s ',
|
||||
'LOG_PORTAL_LINK_UPDATED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم تحديث الرابط : %s ',
|
||||
'LOG_PORTAL_LINK_REMOVED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم إزالة الرابط : %s ',
|
||||
'LOG_PORTAL_EVENT_ADDED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم إضافة حدث : %s ',
|
||||
'LOG_PORTAL_EVENT_UPDATED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم تحديث حدث : %s ',
|
||||
'LOG_PORTAL_EVENT_REMOVED' => '<strong>تغيير إعدادات المجلة</strong><br />» تم إزالة حدث : %s ',
|
||||
'LOG_PORTAL_CONFIG' => '<strong>تغيير إعدادات المجلة</strong><br />» %s',
|
||||
));
|
||||
75
language/ar/modules/portal_announcements_module.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Announcements
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'LATEST_ANNOUNCEMENTS' => 'أحدث الإعلانات العامة',
|
||||
'GLOBAL_ANNOUNCEMENTS' => 'إعلانات عامة',
|
||||
'GLOBAL_ANNOUNCEMENT' => 'إعلان عام',
|
||||
'VIEW_LATEST_ANNOUNCEMENT' => '1 إعلان',
|
||||
'VIEW_LATEST_ANNOUNCEMENTS' => '%d إعلانات',
|
||||
'READ_FULL' => 'اقرأ المزيد',
|
||||
'NO_ANNOUNCEMENTS' => 'لا توجد إعلانات عامة',
|
||||
'POSTED_BY' => 'كاتب المُشاركة',
|
||||
'COMMENTS' => 'التعليقات',
|
||||
'VIEW_COMMENTS' => 'مُشاهدة التعليقات',
|
||||
'PORTAL_POST_REPLY' => 'إضافة تعليق',
|
||||
'TOPIC_VIEWS' => 'المُشاهدات ',
|
||||
'JUMP_NEWEST' => 'انتقل إلى أحدث مُشاركة',
|
||||
'JUMP_FIRST' => 'انتقل إلى أول مُشاركة',
|
||||
'JUMP_TO_POST' => 'انتقل إلى المُشاركة',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_ANNOUNCE_SETTINGS' => 'إعدادات الإعلانات العامة',
|
||||
'ACP_PORTAL_ANNOUNCE_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الإعلانات العامة.',
|
||||
'PORTAL_ANNOUNCEMENTS' => 'إظهار الإعلانات العامة',
|
||||
'PORTAL_ANNOUNCEMENTS_EXP' => 'عرض هذا الموديل في المجلة.',
|
||||
'PORTAL_ANNOUNCEMENTS_STYLE' => 'التصميم الإفتراضي ',
|
||||
'PORTAL_ANNOUNCEMENTS_STYLE_EXP' => 'اختيارك "نعم" يعني استخدام التصميم الإفتراضي لشكل المنتديات ( بدون محتوى الإعلانات ). اختيارك "لا" يعني استخدام التصميم الخاص بالمجلة ( عرض النص / محتوى الإعلانات ).',
|
||||
'PORTAL_NUMBER_OF_ANNOUNCEMENTS' => 'عدد الإعلانات في المجلة ',
|
||||
'PORTAL_NUMBER_OF_ANNOUNCEMENTS_EXP' => 'القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_ANNOUNCEMENTS_DAY' => 'عدد الأيام لعرض الإعلان',
|
||||
'PORTAL_ANNOUNCEMENTS_DAY_EXP' => 'سيتم إخفاء الإعلانات بعد القيمة التي تحددها هنا. القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_ANNOUNCEMENTS_LENGTH' => 'الحد الأقصى لطول / عدد حروف الإعلانات العامة ',
|
||||
'PORTAL_ANNOUNCEMENTS_LENGTH_EXP' => 'القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' => 'المنتديات ',
|
||||
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار الإعلانات منها. عدم التحديد يعني إظهار الإعلانات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من الإعلانات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
|
||||
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE' => 'استثناء المنتديات ',
|
||||
'PORTAL_ANNOUNCEMENTS_FORUM_EXCLUDE_EXP'=> 'اختار "نعم" إذا تريد استثناء الإعلانات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'تفعيل / تعطيل الصلاحيات ',
|
||||
'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXP' => 'سيتم تطبيق نفس صلاحيات العضو لمًشاهدة المنتدى على هذا الموديل.',
|
||||
'PORTAL_ANNOUNCEMENTS_ARCHIVE' => 'تفعيل نظام الأرشفة ',
|
||||
'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXP' => 'اختيارك "نعم" يعني إظهار أرقام الصفحات / نظام الأرشفة للإعلانات.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS' => 'إظهار عدد الردود و المُشاهدات ',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'هذه الإعدادات متعلقة بالتصميم الإفتراضي.<br />سيتم عرض عدد الردود و المُشاهدات في 2 أعمدة إضافية عند اختيارك "نعم". سيتم عرض عدد الردود و المُشاهدات بجانب اسم المنتدى عند اختيارك "لا". <br />يُنصح بإختيار "لا" في حالة وجود مشاكل في ظهور الأعمدة الإضافية والتي تتطلب مساحة أكبر.',
|
||||
));
|
||||
55
language/ar/modules/portal_attachments_module.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Attachments
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'DOWNLOADS' => 'عدد التحميلات ',
|
||||
'NO_ATTACHMENTS' => 'لا توجد ملفات مُرفقة',
|
||||
'PORTAL_ATTACHMENTS' => 'المرفقات',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_ATTACHMENTS_NUMBER_SETTINGS' => 'إعدادات المرفقات',
|
||||
'ACP_PORTAL_ATTACHMENTS_NUMBER_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل المرفقات.',
|
||||
'PORTAL_ATTACHMENTS_NUMBER' => 'عدد المرفقات ',
|
||||
'PORTAL_ATTACHMENTS_NUMBER_EXP' => 'الحد الأقصى لعدد المرفقات التي سيتم عرضها في الموديل. القيمة صفر يعني عدد غير محدود',
|
||||
'PORTAL_ATTACHMENTS_FORUM_IDS' => 'المنتديات ',
|
||||
'PORTAL_ATTACHMENTS_FORUM_IDS_EXP' => 'حدد المنتديات التي تريد إظهار المرفقات منها. عدم التحديد يعني إظهار المرفقات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
|
||||
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE' => 'استثناء المنتديات ',
|
||||
'PORTAL_ATTACHMENTS_FORUM_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء المرفقات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
'PORTAL_ATTACHMENTS_MAX_LENGTH' => 'عدد حروف أسماء المرفقات ',
|
||||
'PORTAL_ATTACHMENTS_MAX_LENGTH_EXP' => 'القيمة صفر تعني غير محدود',
|
||||
'PORTAL_ATTACHMENTS_FILETYPE' => 'أنواع الملفات ',
|
||||
'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'حدد أنواع الملفات التي تريد عرضها في المرفقات. تستطيع هنا كذلك تحديد أنواع الملفات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء أنواع الملفات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من أنواع الملفات بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على الأنواع المطلوبة.',
|
||||
'PORTAL_ATTACHMENTS_EXCLUDE' => 'استثناء أنواع الملفات ',
|
||||
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء أنواع الملفات التي حددتها في الخيار أعلاه ( أنواع الملفات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
));
|
||||
45
language/ar/modules/portal_birthday_list_module.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Birthday List
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'BIRTHDAYS_AHEAD' => 'خلال الـ %s الأيام القادمة',
|
||||
'NO_BIRTHDAYS_AHEAD' => 'لا يوجد أعضاء لديهم أعياد ميلاد خلال هذه الفترة.',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_BIRTHDAYS_SETTINGS' => 'إعدادات أعياد الميلاد',
|
||||
'ACP_PORTAL_BIRTHDAYS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل أعياد الميلاد.',
|
||||
'PORTAL_BIRTHDAYS' => 'قائمة أعياد الميلاد',
|
||||
'PORTAL_BIRTHDAYS_AHEAD' => 'عدد الأيام لعرض أعياد الميلاد القادمة ',
|
||||
'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'عدد الأيام القادمة التي سيكون فيها أعياد ميلاد للأعضاء.<br />القيمة صفر تعني تعطيل قائمة أعياد الميلاد.',
|
||||
));
|
||||
132
language/ar/modules/portal_calendar_module.php
Normal file
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Calendar
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_CALENDAR' => 'التقويم',
|
||||
'VIEW_NEXT_MONTH' => 'الشهر التالي',
|
||||
'VIEW_PREVIOUS_MONTH' => 'الشهر السابق',
|
||||
'EVENT_START' => 'من ',
|
||||
'EVENT_END' => 'إلى ',
|
||||
'EVENT_TIME' => 'التوقيت ',
|
||||
'EVENT_ALL_DAY' => 'طوال اليوم ',
|
||||
'CURRENT_EVENTS' => 'الأحداث الحالية ',
|
||||
'NO_CUR_EVENTS' => 'لا توجد أحداث حالية',
|
||||
'UPCOMING_EVENTS' => 'الأحداث القادمة ',
|
||||
'NO_UPCOMING_EVENTS' => 'لا توجد أحداث قادمة',
|
||||
|
||||
'mini_cal' => array(
|
||||
'day' => array(
|
||||
'1' => 'أح',
|
||||
'2' => 'أث',
|
||||
'3' => 'ثل',
|
||||
'4' => 'أر',
|
||||
'5' => 'خم',
|
||||
'6' => 'جم',
|
||||
'7' => 'سب',
|
||||
),
|
||||
|
||||
'month' => array(
|
||||
'1' => 'ينا.',
|
||||
'2' => 'فبر.',
|
||||
'3' => 'مار.',
|
||||
'4' => 'أبر.',
|
||||
'5' => 'ماي',
|
||||
'6' => 'يول.',
|
||||
'7' => 'يون.',
|
||||
'8' => 'أغس.',
|
||||
'9' => 'سبت.',
|
||||
'10'=> 'أكت.',
|
||||
'11'=> 'نوف.',
|
||||
'12'=> 'ديس.',
|
||||
),
|
||||
|
||||
'long_month'=> array(
|
||||
'1' => 'يناير',
|
||||
'2' => 'فبراير',
|
||||
'3' => 'مارس',
|
||||
'4' => 'أبريل',
|
||||
'5' => 'مايو',
|
||||
'6' => 'يونيو',
|
||||
'7' => 'يوليو',
|
||||
'8' => 'أغسطس',
|
||||
'9' => 'سبتمبر',
|
||||
'10'=> 'أكتوبر',
|
||||
'11'=> 'نوفمبر',
|
||||
'12'=> 'ديسمبر',
|
||||
),
|
||||
),
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_CALENDAR' => 'إعدادات التقويم',
|
||||
'ACP_PORTAL_CALENDAR_EXP' => 'من هنا تستطيع تخصيص موديل التقويم.',
|
||||
'ACP_PORTAL_EVENTS' => 'الأحداث',
|
||||
'PORTAL_CALENDAR_TODAY_COLOR' => 'لون اليوم الحالي ',
|
||||
'PORTAL_CALENDAR_TODAY_COLOR_EXP' => 'تستطيع إضافة أكواد الألوان HEX مثل : #FFFFFF للون الأبيض , أو إضافة أسماء الألوان باللغة الإنجليزية مثل : violet ( البنفسجي ).',
|
||||
'PORTAL_CALENDAR_SUNDAY_COLOR' => 'لون يوم الأحد ',
|
||||
'PORTAL_CALENDAR_SUNDAY_COLOR_EXP' => 'تستطيع إضافة أكواد الألوان HEX مثل : #FFFFFF للون الأبيض , أو إضافة أسماء الألوان باللغة الإنجليزية مثل : violet ( البنفسجي ).',
|
||||
'PORTAL_LONG_MONTH' => 'إظهار الإسم الكامل للشهور ',
|
||||
'PORTAL_LONG_MONTH_EXP' => 'أسماء الشهور ستكون مُختصرة عند اختيارك "لا". مثال : سيكون أغس بدلاً من أغسطس.',
|
||||
'PORTAL_SUNDAY_FIRST' => 'أول أيام الأسبوع ',
|
||||
'PORTAL_SUNDAY_FIRST_EXP' => 'سيبدأ الأسبوع في التقويم من ( الأثنين ) إلى ( الأحد ) عند اختيارك "لا". وسيكون من ( الأحد ) إلى ( السبت ) عند اختيارك "نعم".',
|
||||
'PORTAL_DISPLAY_EVENTS' => 'إظهار الأحداث ',
|
||||
'PORTAL_DISPLAY_EVENTS_EXP' => 'سيتم عرض الأحداث التي تم إنشائها في موديل التقويم',
|
||||
'PORTAL_EVENTS_MANAGE' => 'إدارة الأحداث',
|
||||
'NO_EVENT_TITLE' => 'لم يتم إضافة عنوان للحدث.',
|
||||
'NO_EVENT_START' => 'لم يتم إضافة تاريخ البداية للحدث.',
|
||||
'ADD_EVENT' => 'إضافة حدث جديد',
|
||||
'EVENT_UPDATED' => 'تم تحديث الحدث بنجاح.',
|
||||
'EVENT_ADDED' => 'تم إضافة الحدث بنجاح.',
|
||||
'NO_EVENT' => 'لم يتم تحديد أي حدث.',
|
||||
'EVENT_TITLE' => 'عنوان الحدث ',
|
||||
'EVENT_DESC' => 'وصف الحدث ',
|
||||
'EVENT_LINK' => 'رابط الحدث ',
|
||||
'EVENT_LINK_EXP' => 'أدخل الرابط إلى الموضوع أو إلى موقع يحتوي على الإعلان / موضوع مناقشة الحدث.',
|
||||
'NO_EVENTS' => 'لا يوجد أحداث',
|
||||
'ACP_PORTAL_CALENDAR_START_INCORRECT' => 'توقيت البداية الذي أدخلته غير صحيح. الرجاء اتباع التعليمات بعناية.',
|
||||
'ACP_PORTAL_CALENDAR_END_INCORRECT' => 'توقيت النهاية الذي أدخلته غير صحيح. الرجاء اتباع التعليمات بعناية.',
|
||||
'ACP_PORTAL_CALENDAR_EVENT_PAST' => 'توقيت بداية الحدث يجب أن يكون في المستقبل.',
|
||||
'ACP_PORTAL_EVENT_START_DATE' => 'تاريخ بداية الحدث ',
|
||||
'ACP_PORTAL_EVENT_START_DATE_EXP' => 'أدخل تاريخ و وقت بداية الحدث. يجب أن يكون التوقيت على هذا الشكل : MM/DD/YYYY 3:00 PM',
|
||||
'ACP_PORTAL_EVENT_END_DATE' => 'تاريخ نهاية الحدث ',
|
||||
'ACP_PORTAL_EVENT_END_DATE_EXP' => 'أدخل تاريخ و وقت نهاية الحدث. يجب أن يكون التوقيت على هذا الشكل : MM/DD/YYYY 3:00 PM',
|
||||
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'نهاية الحدث يجب أن يكون بعد بداية الحدث.',
|
||||
'ACP_PORTAL_CALENDAR_PERMISSION' => 'الصلاحيات ',
|
||||
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة موديل الأحداث. يجب عليك عدم تحديد أي مجموعة لو تريد عرض هذا الموديل لجميع الأعضاء. <br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
|
||||
'PORTAL_EVENTS_URL_NEW_WINDOW' => 'افتح الروابط الخارجية للحدث في نافذة جديدة ',
|
||||
|
||||
// Logs
|
||||
'LOG_PORTAL_EVENT_UPDATED' => '<strong>تم تحديث الحدث في المجلة</strong><br />» %s',
|
||||
'LOG_PORTAL_EVENT_ADDED' => '<strong>تم إضافة الحدث في المجلة</strong><br />» %s',
|
||||
'LOG_PORTAL_EVENT_REMOVED' => '<strong>تم حذف الحدث في المجلة</strong><br />» %s',
|
||||
));
|
||||
43
language/ar/modules/portal_clock_module.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Clock
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'CLOCK' => 'Clock',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_CLOCK_SETTINGS' => 'إعدادات الساعة',
|
||||
'ACP_PORTAL_CLOCK_SETTINGS_EXP' => 'من هنا تستطيع تخصيص الساعة بمنتداك',
|
||||
'ACP_PORTAL_CLOCK_SRC' => 'الساعة ',
|
||||
'ACP_PORTAL_CLOCK_SRC_EXP' => 'أدخل إسم الملف للساعة التي تريدها. يجب أن يكون الملف في المسار styles/*yourstyle*/theme/images/portal/. *yourstyle* يعني إسم الإستايل الذي تستخدمه.',
|
||||
));
|
||||
49
language/ar/modules/portal_custom_module.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Custom
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_CUSTOM' => 'Custom Block',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_CUSTOM_SETTINGS' => 'إعدادات الموديل الخاص',
|
||||
'ACP_PORTAL_CUSTOM_SETTINGS_EXP' => 'من هنا تستطيع تخصيص الموديل الخاص',
|
||||
'ACP_PORTAL_CUSTOM_CODE_SHORT' => 'الكود البرمجي الذي أدخلته غير كافي. يجب زيادة الكود.',
|
||||
'ACP_PORTAL_CUSTOM_PREVIEW' => 'استعراض',
|
||||
'ACP_PORTAL_CUSTOM_CODE' => 'المحتوى ',
|
||||
'ACP_PORTAL_CUSTOM_CODE_EXP' => 'أدخل الكود الذي سيظهر في هذا الموديل ( المسموح به هو HTML أو BBCode ).',
|
||||
'ACP_PORTAL_CUSTOM_PERMISSION' => 'الصلاحيات ',
|
||||
'ACP_PORTAL_CUSTOM_PERMISSION_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة هذا الموديل. عدم تحديد أي مجموعة يعني عرض هذا الموديل لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
|
||||
'ACP_PORTAL_CUSTOM_BBCODE' => 'تفعيل أكواد البي بي ',
|
||||
'ACP_PORTAL_CUSTOM_BBCODE_EXP' => 'اختيارك "نعم" يعني استخدام أكواد الـBBCode في صندوق الكتابة أعلاه. اختيارك "لا" يعني استخدام أكواد ال HTML.',
|
||||
));
|
||||
68
language/ar/modules/portal_donation_module.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Donation
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'DONATION' => 'تبرعات الـPaypal',
|
||||
'DONATION_TEXT' => 'التبرعات هي عبارة عن دعم للخدمات التي نقدمها في موقعنا ولا توجد أي نية للحصول على مكاسب مالية منها. نرحب بتبرعاتكم التي ستساعد في تغطية تكاليف السيرفر والإستضافة , إسم النطاق...الخ.',
|
||||
'PAY_MSG' => 'الرجاء استخدام النقطة العشرية ( . ) وعدم استخدام علامة الفاصلة ( , ). مثال 3.50',
|
||||
'PAY_ITEM' => 'تبرع !', // paypal item
|
||||
|
||||
'AUD' => 'دولار استرالي (AUD)',
|
||||
'CAD' => 'دولار كندي (CAD)',
|
||||
'CZK' => 'الكورونا التشيكية (CZK)',
|
||||
'DKK' => 'الكرونة الدنماركي (DKK)',
|
||||
'HKD' => 'دولار هونج كونج (HKD)',
|
||||
'HUF' => 'فورينت هنجاري / مجري (HUF)',
|
||||
'NZD' => 'دولار نيوزلاندي (NZD)',
|
||||
'NOK' => 'كرونه نرويجي (NOK)',
|
||||
'PLN' => 'زلوتي بولندي (PLN)',
|
||||
'GBP' => 'جنيه استرليني (GBP)',
|
||||
'SGD' => 'دولار سينغافوري (SGD)',
|
||||
'SEK' => 'كرونه سويدي (SEK)',
|
||||
'CHF' => 'فرنك سويسري (CHF)',
|
||||
'JPY' => 'ين ياباني (JPY)',
|
||||
'USD' => 'دولار أمريكي (USD)',
|
||||
'EUR' => 'يورو (EUR)',
|
||||
'MXN' => 'بيزو مكسيكي (MXN)',
|
||||
'ILS' => 'شيكل اسرائيلي (ILS)',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_PAYPAL_SETTINGS' => 'إعدادات الـ Paypal',
|
||||
'ACP_PORTAL_PAYPAL_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل التبرعات Paypal.',
|
||||
'PORTAL_PAY_ACC' => 'حسابك في الـ Paypal ',
|
||||
'PORTAL_PAY_ACC_EXP' => 'أدخل البريد الإلكتروني الخاص بك في موقع الـ Paypal. مثال : xxx@xxx.com',
|
||||
'PORTAL_PAY_CUSTOM' => 'إضافة إسم المستخدم إلى تبرعات الـ Paypal',
|
||||
'PORTAL_PAY_DEFAULT' => 'العُملة الإفتراضية ',
|
||||
'PORTAL_PAY_DEFAULT_EXP' => 'العُملة التي سيتم تحديدها افتراضياً في القائمة المُنسدلة للعُملات.'
|
||||
));
|
||||
37
language/ar/modules/portal_forumlist_module.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Forumlist
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_FORUMLIST' => 'قائمة المنتديات',
|
||||
));
|
||||
48
language/ar/modules/portal_friends_module.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Friends
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'FRIENDS' => 'الأصدقاء',
|
||||
'FRIENDS_OFFLINE' => 'الغير مُتصلين',
|
||||
'FRIENDS_ONLINE' => 'المُتصلين',
|
||||
'NO_FRIENDS' => 'لا يوجد أصدقاء معروفين حالياً',
|
||||
'NO_FRIENDS_OFFLINE' => 'لا يوجد أصدقاء غير مُتصلين',
|
||||
'NO_FRIENDS_ONLINE' => 'لا يوجد أصدقاء مُتصلين',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_FRIENDS_SETTINGS' => 'إعدادات الإصدقاء',
|
||||
'ACP_PORTAL_FRIENDS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الأصدقاء.',
|
||||
'PORTAL_MAX_ONLINE_FRIENDS' => 'عدد الأصدقاء ',
|
||||
'PORTAL_MAX_ONLINE_FRIENDS_EXP' => 'الحد الأقصى لعدد الأصدقاء الذين سيتم عرضهم في الموديل.',
|
||||
));
|
||||
44
language/ar/modules/portal_latest_bots_module.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Latest Bots
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'LATEST_BOTS' => 'محركات البحث',
|
||||
'LAST_VISITED_BOTS' => 'آخر زيارة لمحركات البحث',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_BOTS_SETTINGS' => 'إعدادات محركات البحث',
|
||||
'ACP_PORTAL_BOTS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل محركات البحث.',
|
||||
'PORTAL_LAST_VISITED_BOTS_NUMBER' => 'عدد محركات البحث ',
|
||||
'PORTAL_LAST_VISITED_BOTS_NUMBER_EXP' => 'عدد محركات البحث الذي تريد عرضهم في الموديل. القيمة صفر تعني عدد غير محدود',
|
||||
));
|
||||
43
language/ar/modules/portal_latest_members_module.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Latest Members
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'LATEST_MEMBERS' => 'آخر الأعضاء المُسجلين',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_MEMBERS_SETTINGS' => 'إعدادات آخر الأعضاء المُسجلين',
|
||||
'ACP_PORTAL_MEMBERS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل آخر الأعضاء المُسجلين.',
|
||||
'PORTAL_MAX_LAST_MEMBER' => 'عدد الأعضاء ',
|
||||
'PORTAL_MAX_LAST_MEMBER_EXP' => 'الحد الأقصى لعدد آخر الأعضاء المُسجلين الذين سيتم عرضهم. الصفر يعني عدد غير محدود',
|
||||
));
|
||||
45
language/ar/modules/portal_leaders_module.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Leaders
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'NO_ADMINISTRATORS_P' => 'لا يوجد مدراء',
|
||||
'NO_MODERATORS_P' => 'لا يوجد مشرفين',
|
||||
'NO_GROUPS_P' => 'لا توجد مجموعات',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_LEADERS' => 'إعدادات فريق الموقع',
|
||||
'ACP_PORTAL_LEADERS_EXP' => 'من هنا تستطيع تخصيص الموديل الخاص بفريق الموقع',
|
||||
'PORTAL_LEADERS_EXT' => 'العرض الموسع للمدراء / للفريق ',
|
||||
'PORTAL_LEADERS_EXT_EXP' => 'العرض القياسي سيكون لجميع المدراء والمشرفين , بينما العرض الموسع سيتضمن جميع المجموعات الغير المخفية في ألوان المجموعات.',
|
||||
));
|
||||
38
language/ar/modules/portal_link_us_module.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Link Us
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'LINK_US' => 'ارتبط بنا ',
|
||||
'LINK_US_TXT' => 'نرجوا عدم التردد في الإرتباط إلى <strong>%s</strong> بواسطة استخدام كود الـHTML التالي في موقعك :',
|
||||
));
|
||||
57
language/ar/modules/portal_links_module.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Links
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_LINKS' => 'الروابط',
|
||||
'LINKS_NO_LINKS' => 'لا يوجد روابط',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_LINKS' => 'إعدادات الروابط',
|
||||
'ACP_PORTAL_LINKS_EXP' => 'من هنا تستطيع تخصيص قائمة الروابط في موديل الروابط',
|
||||
'ACP_PORTAL_LINK_TITLE' => 'العنوان',
|
||||
'ACP_PORTAL_LINK_TYPE' => 'نوع الرابط ',
|
||||
'ACP_PORTAL_LINK_TYPE_EXP' => 'حدد الخيار "رابط داخلي" اذا لديك رابط لأحد صفحات منتداك ولكي تمنع الخروج من منتداك.',
|
||||
'ACP_PORTAL_LINK_INT' => 'رابط داخلي',
|
||||
'ACP_PORTAL_LINK_EXT' => 'رابط خارجي',
|
||||
'ACP_PORTAL_LINK_ADD' => 'إضافة رابط جديد ',
|
||||
'ACP_PORTAL_LINK_URL' => 'عنوان الرابط ',
|
||||
'ACP_PORTAL_LINK_URL_EXP' => 'الروابط الخارجية :<br />يجب أن تحتوي جميع الروابط على http://<br /><br />الروابط الداخلية :<br />فقط أدخل الملف php file كعنوان رابط , مثال : index.php?style=4.',
|
||||
'ACP_PORTAL_LINK_PERMISSION' => 'صلاحيات الرابط ',
|
||||
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'حدد المجموعات التي تستطيع مُشاهدة الرابط. يجب عليك عدم تحديد أي مجموعة لو تريد عرض هذا الرابط لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
|
||||
'ACP_PORTAL_LINKS_NEW_WINDOW' => 'فتح الروابط الخارجية في نافذة جديدة ',
|
||||
|
||||
// Errors
|
||||
'NO_LINK_TITLE' => 'يجب عليك إضافة عنوان لهذا الرابط.',
|
||||
'NO_LINK_URL' => 'يجب عليك إضافة عنوان الرابط.',
|
||||
));
|
||||
70
language/ar/modules/portal_main_menu_module.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Main Menu
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'M_MENU' => 'القائمة',
|
||||
'M_CONTENT' => 'المحتوى',
|
||||
'M_ACP' => 'لوحة تحكم المدير',
|
||||
'M_HELP' => 'مساعدة',
|
||||
'M_BBCODE' => 'دليل BBCode',
|
||||
'M_TERMS' => 'شروط الإستخدام',
|
||||
'M_PRV' => 'سياسة الخصوصية',
|
||||
'M_SEARCH' => 'بحث',
|
||||
'MENU_NO_LINKS' => 'لا يوجد روابط',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_MENU' => 'إعدادات القائمة',
|
||||
'ACP_PORTAL_MENU_LINK_SETTINGS' => 'إعدادات الرابط',
|
||||
'ACP_PORTAL_MENU_EXP' => 'من هنا تستطيع تخصيص القائمة الرئيسية',
|
||||
'ACP_PORTAL_MENU_MANAGE' => 'إدارة القائمة',
|
||||
'ACP_PORTAL_MENU_MANAGE_EXP' => 'من هنا تستطيع إدارة الروابط في القائمة الرئيسية.',
|
||||
'ACP_PORTAL_MENU_CAT' => 'القسم',
|
||||
'ACP_PORTAL_MENU_IS_CAT' => 'اجعله قسم خاص ',
|
||||
'ACP_PORTAL_MENU_INT' => 'داخلي',
|
||||
'ACP_PORTAL_MENU_EXT' => 'خارجي',
|
||||
'ACP_PORTAL_MENU_TITLE' => 'العنوان ',
|
||||
'ACP_PORTAL_MENU_URL' => 'عنوان الرابط ',
|
||||
'ACP_PORTAL_MENU_ADD' => 'إضافة رابط تنقل جديد',
|
||||
'ACP_PORTAL_MENU_TYPE' => 'نوع الرابط ',
|
||||
'ACP_PORTAL_MENU_TYPE_EXP' => 'اختار "داخلي" لو لديك رابط إلى صفحة موجودة في منتداك من أجل منع الخروج الغبر مرغوب به خارج منتداك.',
|
||||
'ACP_PORTAL_MENU_CREATE_CAT' => 'يجب عليك أولاً إنشاء قسم.',
|
||||
'ACP_PORTAL_MENU_URL_EXP' => 'الروابط الخارجية :<br />يجب أن تحتوي جميع الروابط على http://<br /><br />الروابط الداخلية :<br />يجب أن تضيف فقط ملف الـ php كرابط. مثال : index.php?style=4.',
|
||||
'ACP_PORTAL_MENU_PERMISSION' => 'صلاحيات الرابط ',
|
||||
'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'حدد المجموعات التي تستطيع مُشاهدة هذا الرابط. عدم تحديد أي مجموعة يعني عرض هذا الرابط لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
|
||||
'ACP_PORTAL_MENU_EXT_NEW_WINDOW'=> 'فتح الروابط الخارجية في نافذة جديدة ',
|
||||
|
||||
// Errors
|
||||
'NO_LINK_TITLE' => 'يجب عليك إضافة عنوان لهذا الرابط.',
|
||||
'NO_LINK_URL' => 'يجب عليك إضافة الرابط.',
|
||||
));
|
||||
71
language/ar/modules/portal_news_module.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - News
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'LATEST_NEWS' => 'آخر الأخبار',
|
||||
'READ_FULL' => 'اقرأ المزيد',
|
||||
'NO_NEWS' => 'لا يوجد أخبار',
|
||||
'POSTED_BY' => 'كاتب المُشاركة',
|
||||
'COMMENTS' => 'التعليقات',
|
||||
'VIEW_COMMENTS' => 'مُشاهدة التعليقات',
|
||||
'PORTAL_POST_REPLY' => 'إضافة تعليق',
|
||||
'TOPIC_VIEWS' => 'المُشاهدات',
|
||||
'JUMP_NEWEST' => 'انتقل إلى أحدث مُشاركة',
|
||||
'JUMP_FIRST' => 'انتقل إلى أول مُشاركة',
|
||||
'JUMP_TO_POST' => 'انتقل إلى المُشاركة',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_NEWS_SETTINGS' => 'إعدادات الأخبار',
|
||||
'ACP_PORTAL_NEWS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل الأخبار.',
|
||||
'PORTAL_NEWS_STYLE' => 'التصميم الإفتراضي ',
|
||||
'PORTAL_NEWS_STYLE_EXP' => 'اختيارك "نعم" يعني استخدام التصميم الإفتراضي لشكل المنتديات ( بدون محتوى الأخبار ). اختيارك "لا" يعني استخدام التصميم الخاص بالمجلة ( عرض النص / محتوى الأخبار ).',
|
||||
'PORTAL_SHOW_ALL_NEWS' => 'عرض جميع الأخبار ',
|
||||
'PORTAL_SHOW_ALL_NEWS_EXP' => 'عرض جميع الأخبار في هذا المنتدى ( يشمل المواضيع المُثبتة ).',
|
||||
'PORTAL_NUMBER_OF_NEWS' => 'عدد الأخبار في المجلة ',
|
||||
'PORTAL_NUMBER_OF_NEWS_EXP' => 'القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_NEWS_LENGTH' => 'الحد الأقصى لطول / عدد حروف الأخبار ',
|
||||
'PORTAL_NEWS_LENGTH_EXP' => 'القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_NEWS_FORUM' => 'المنتديات ',
|
||||
'PORTAL_NEWS_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار الأخبار منها. عدم التحديد يعني إظهار الأخبار من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من الأخبار بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
|
||||
'PORTAL_NEWS_EXCLUDE' => 'استثناء المنتديات ',
|
||||
'PORTAL_NEWS_EXCLUDE_EXP' => 'اختار "نعم" إذا تريد استثناء الأخبار من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
'PORTAL_NEWS_PERMISSIONS' => 'تفعيل / تعطيل الصلاحيات ',
|
||||
'PORTAL_NEWS_PERMISSIONS_EXP' => 'سيتم تطبيق نفس صلاحيات العضو لمًشاهدة المنتدى على هذا الموديل.',
|
||||
'PORTAL_NEWS_SHOW_LAST' => 'الترتيب بحسب آخر مُشاركة ',
|
||||
'PORTAL_NEWS_SHOW_LAST_EXP' => 'اختار "نعم" إذا تريد ترتيب آخر الأخبار بحسب آخر مُشاركة. اختار "لا" إذا تريد الترتيب بحسب آخر موضوع.',
|
||||
'PORTAL_NEWS_ARCHIVE' => 'تفعيل نظام الأرشفة ',
|
||||
'PORTAL_NEWS_ARCHIVE_EXP' => 'اختيارك "نعم" يعني إظهار أرقام الصفحات / نظام الأرشفة للأخبار.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS' => 'إظهار عدد الردود و المُشاهدات ',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'هذه الإعدادات متعلقة بالتصميم الإفتراضي.<br />سيتم عرض عدد الردود و المُشاهدات في 2 أعمدة إضافية عند اختيارك "نعم". سيتم عرض عدد الردود و المُشاهدات بجانب اسم المنتدى عند اختيارك "لا". <br />يُنصح بإختيار "لا" في حالة وجود مشاكل في ظهور الأعمدة الإضافية والتي تتطلب مساحة أكبر.',
|
||||
));
|
||||
54
language/ar/modules/portal_poll_module.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Poll
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_POLL' => 'التصويت',
|
||||
'LATEST_POLLS' => 'أحدث التصويتات',
|
||||
'NO_OPTIONS' => 'لا توجد خيارات في هذا التصويت.',
|
||||
'NO_POLL' => 'لا يوجد أي تصويت',
|
||||
'RETURN_PORTAL' => '%sالعودة إلى المجلة%s',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_POLLS_SETTINGS' => 'إعدادات التصويت',
|
||||
'ACP_PORTAL_POLLS_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل التصويت.',
|
||||
'PORTAL_POLL_TOPIC_ID' => 'المنتديات ',
|
||||
'PORTAL_POLL_TOPIC_ID_EXP' => 'حدد المنتديات التي تريد إظهار التصويتات منها. عدم التحديد يعني إظهار التصويتات من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من التصويتات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
|
||||
'PORTAL_POLL_EXCLUDE_ID' => 'استثناء المنتديات ',
|
||||
'PORTAL_POLL_EXCLUDE_ID_EXP' => 'اختار "نعم" إذا تريد استثناء التصويتات من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
'PORTAL_POLL_LIMIT' => 'عدد التصويتات ',
|
||||
'PORTAL_POLL_LIMIT_EXP' => 'عدد التصويتات التي تريد عرضها في صفحة المجلة.',
|
||||
'PORTAL_POLL_ALLOW_VOTE' => 'السماح بالتصويت ',
|
||||
'PORTAL_POLL_ALLOW_VOTE_EXP' => 'السماح للأعضاء الذين يملكون الصلاحيات المطلوبة بالتصويت بواسطة صفحة المجلة.',
|
||||
'PORTAL_POLL_HIDE' => 'إخفاء التصويتات المُنتهية ',
|
||||
));
|
||||
42
language/ar/modules/portal_random_member_module.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Random Member
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_RANDOM_MEMBER' => 'عضو رائع',
|
||||
'RND_JOIN' => 'تاريخ الإشتراك ',
|
||||
'RND_POSTS' => 'عدد المشاركات ',
|
||||
'RND_OCC' => 'المهنة ',
|
||||
'RND_FROM' => 'المكان ',
|
||||
'RND_WWW' => 'صفحة الموقع ',
|
||||
));
|
||||
52
language/ar/modules/portal_recent_module.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Recent
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_RECENT' => 'أحدث المواضيع',
|
||||
'PORTAL_RECENT_TOPIC' => 'أحدث المواضيع',
|
||||
'PORTAL_RECENT_ANN' => 'أحدث الإعلانات',
|
||||
'PORTAL_RECENT_HOT_TOPIC' => 'أحدث المواضيع النشطة ',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_RECENT_SETTINGS' => 'إعدادات أحدث المواضيع',
|
||||
'ACP_PORTAL_RECENT_SETTINGS_EXP' => 'من هنا تستطيع تخصيص موديل أحدث المواضيع.',
|
||||
'PORTAL_MAX_TOPIC' => 'عدد المواضيع ',
|
||||
'PORTAL_MAX_TOPIC_EXP' => 'عدد المواضيع التي ستظهر في هذا الموديل. القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_RECENT_TITLE_LIMIT' => 'عدد حروف العنوان ',
|
||||
'PORTAL_RECENT_TITLE_LIMIT_EXP' => 'عدد حروف عناوين المواضيع التي ستظهر في هذا الموديل. القيمة صفر تعني عدد غير محدود',
|
||||
'PORTAL_RECENT_FORUM' => 'المنتديات ',
|
||||
'PORTAL_RECENT_FORUM_EXP' => 'حدد المنتديات التي تريد إظهار آخر المواضيع منها. عدم التحديد يعني إظهار آخر المواضيع من جميع المنتديات. <br />تستطيع هنا كذلك تحديد المنتديات التي تريد استثنائها من المرفقات بشرط أن تختار "نعم" في الخيار أدناه ( استثناء المنتديات ). <br />تستطيع تحديد أو إلغاء التحديد لأكثر من منتدى بواسطة النقر مطولاً على زر الكنترول <samp>CTRL</samp> والتحديد بالماوس على المنتديات المطلوبة.',
|
||||
'PORTAL_EXCLUDE_FORUM' => 'استثناء المنتديات ',
|
||||
'PORTAL_EXCLUDE_FORUM_EXP' => 'اختار "نعم" إذا تريد استثناء آخر المواضيع من المنتديات التي حددتها في الخيار أعلاه ( المنتديات ). اختار "لا" لتعطيل هذا الخيار.',
|
||||
));
|
||||
43
language/ar/modules/portal_search_module.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Search
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_SEARCH' => 'بحث',
|
||||
'PORTAL_SEARCH_GO' => 'اذهب',
|
||||
'PORTAL_SEARCH_SITE' => 'المنتديات',
|
||||
'PORTAL_SEARCH_POSTS' => 'المشاركات',
|
||||
'PORTAL_SEARCH_AUTHOR' => 'الكاتب',
|
||||
'PORTAL_SEARCH_ENGINE' => 'محركات البحث',
|
||||
'PORTAL_SEARCH_ADV' => 'بحث مُتقدم',
|
||||
));
|
||||
52
language/ar/modules/portal_statistics_module.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Statistics
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'ST_TOP' => 'الإجمالي',
|
||||
'ST_TOP_ANNS' => 'إجمالي الإعلانات :',
|
||||
'ST_TOP_STICKYS'=> 'إجمالي المواضيع المُثبتة :',
|
||||
'ST_TOT_ATTACH' => 'إجمالي المرفقات :',
|
||||
'TOPICS_PER_DAY_OTHER' => 'المواضيع يومياً : <strong>%d</strong>',
|
||||
'TOPICS_PER_DAY_ZERO' => 'المواضيع يومياً : <strong>0</strong>',
|
||||
'POSTS_PER_DAY_OTHER' => 'المُشاركات يومياً : <strong>%d</strong>',
|
||||
'POSTS_PER_DAY_ZERO' => 'المُشاركات يومياً : <strong>0</strong>',
|
||||
'USERS_PER_DAY_OTHER' => 'الأعضاء يومياً : <strong>%d</strong>',
|
||||
'USERS_PER_DAY_ZERO' => 'الأعضاء يومياً : <strong>0</strong>',
|
||||
'TOPICS_PER_USER_OTHER' => 'المواضيع لكل عضو : <strong>%d</strong>',
|
||||
'TOPICS_PER_USER_ZERO' => 'المواضيع لكل عضو : <strong>0</strong>',
|
||||
'POSTS_PER_USER_OTHER' => 'المُشاركات لكل عضو : <strong>%d</strong>',
|
||||
'POSTS_PER_USER_ZERO' => 'المُشاركات لكل عضو : <strong>0</strong>',
|
||||
'POSTS_PER_TOPIC_OTHER' => 'المُشاركات لكل موضوع : <strong>%d</strong>',
|
||||
'POSTS_PER_TOPIC_ZERO' => 'المُشاركات لكل موضوع : <strong>0</strong>',
|
||||
));
|
||||
38
language/ar/modules/portal_stylechanger_module.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Stylechanger
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'BOARD_STYLE' => 'استايل المنتدى',
|
||||
'STYLE_CHOOSE' => 'حدد الإستايل',
|
||||
));
|
||||
42
language/ar/modules/portal_topposters_module.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Topposters
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'TOPPOSTERS' => 'أكثر الأعضاء نشاطاً',
|
||||
'TOPPOSTERS_CONFIG' => 'إعدادات أكثر الأعضاء نشاطاً',
|
||||
|
||||
// ACP
|
||||
'NUM_TOPPOSTERS' => 'عدد الأعضاء ',
|
||||
'NUM_TOPPOSTERS_EXP' => 'أدخل عدد الأعضاء الذين تريد عرضهم في موديل أكثر الأعضاء نشاطاً.',
|
||||
));
|
||||
46
language/ar/modules/portal_user_menu_module.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - User Menu
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'USER_MENU' => 'قائمة العضو',
|
||||
'UM_LOG_ME_IN' => 'تذكرني',
|
||||
'UM_HIDE_ME' => 'أخفني',
|
||||
'UM_REGISTER_NOW' => 'التسجيل الآن !',
|
||||
'UM_MAIN_SUBSCRIBED'=> 'الإشتراكات',
|
||||
'UM_BOOKMARKS' => 'المواضيع المُفضلة',
|
||||
'M_MENU' => 'القائمة',
|
||||
'M_ACP' => 'لوحة تحكم المدير',
|
||||
'USER_MENU_SETTINGS' => 'إعدادات قائمة العضو',
|
||||
'USER_MENU_REGISTER' => 'عرض رابط التسجيل في قائمة العضو',
|
||||
));
|
||||
44
language/ar/modules/portal_welcome_module.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Welcome
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_WELCOME' => 'رسالة الترحيب',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_WELCOME_SETTINGS' => 'إعدادات رسالة الترحيب',
|
||||
'ACP_PORTAL_WELCOME_MESSAGE_SHORT' => 'الرسالة التي أدخلتها قصيرة جداً.',
|
||||
'ACP_PORTAL_WELCOME_PREVIEW' => 'استعراض رسالة الترحيب',
|
||||
'ACP_PORTAL_WELCOME_MESSAGE' => 'رسالة الترحيب ',
|
||||
'ACP_PORTAL_WELCOME_MESSAGE_EXP' => 'من هنا تستطيع تغيير رسالة الترحيب. أكواد BBCode / الصور / الروابط مسموح بها.',
|
||||
));
|
||||
37
language/ar/modules/portal_whois_online_module.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1 - Who is online
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_WHOIS_ONLINE' => 'الأعضاء الموجودون الآن',
|
||||
));
|
||||
40
language/ar/permissions_portal.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2015 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
$lang = array_merge($lang, array(
|
||||
// Adding the permissions
|
||||
'ACL_A_MANAGE_PORTAL' => 'يستطيع تغيير إعدادات المجلة',
|
||||
'ACL_U_VIEW_PORTAL' => 'يستطيع مُشاهدة المجلة',
|
||||
));
|
||||
42
language/ar/portal.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
// Common
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL' => 'المجلة',
|
||||
'VIEWING_PORTAL' => 'صفحة المجلة',
|
||||
'BACK' => 'العودة',
|
||||
'B3P_WRONG_METHOD_CALL' => 'طلب غير صحيح للطريقة %s',
|
||||
));
|
||||
110
language/ar/portal_acp.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2014 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
* Translated By : Bassel Taha Alhitary - www.alhitary.net
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
$lang = array_merge($lang, array(
|
||||
// Portal Modules
|
||||
'ACP_PORTAL_MODULES_EXP' => 'من هنا تستطيع إدارة الموديلات الخاصة بمجلتك. نرجوا تعطيل المجلة إذا عطلت أيضاً جميع الموديلات ولم تفعل أي موديل.',
|
||||
|
||||
'MODULE_POS_TOP' => 'الأعلى',
|
||||
'MODULE_POS_LEFT' => 'العمود اليسار',
|
||||
'MODULE_POS_RIGHT' => 'العمود اليمين',
|
||||
'MODULE_POS_CENTER' => 'العمود الوسط',
|
||||
'MODULE_POS_BOTTOM' => 'الأسفل',
|
||||
'ADD_MODULE' => 'إضافة موديل',
|
||||
'CHOOSE_MODULE' => 'اختار موديل',
|
||||
'CHOOSE_MODULE_EXP' => 'اختار الموديل من القائمة المُنسدلة',
|
||||
'SUCCESS_ADD' => 'تم إضافة الموديل بنجاح.',
|
||||
'SUCCESS_DELETE' => 'تم حذف الموديل بنجاح.',
|
||||
'NO_MODULES' => 'لم يتم الكشف عن أي موديلات.',
|
||||
'MOVE_RIGHT' => 'تحريك لليمين',
|
||||
'MOVE_LEFT' => 'تحريك لليسار',
|
||||
'B3P_FILE_NOT_FOUND' => 'لم يتم العثور على الملف المطلوب',
|
||||
'UNABLE_TO_MOVE' => 'لا يُمكن تحريك الموديل إلى العمود الذي حددته.',
|
||||
'UNABLE_TO_MOVE_ROW' => 'لا يُمكن تحريك الموديل إلى الصف الذي حددته.',
|
||||
'UNABLE_TO_ADD_MODULE' => 'لا يُمكن إضافة الموديل إلى العمود الذي حددته.',
|
||||
'DELETE_MODULE_CONFIRM' => 'هل أنت متأكد من حذف الموديل "%1$s" ?',
|
||||
'MODULE_RESET_SUCCESS' => 'تم إعادة ضبط إعدادت الموديل.',
|
||||
'MODULE_RESET_CONFIRM' => 'هل أنت متأكد من إعادة ضبط إعدادات الموديل "%1$s" ?',
|
||||
'MODULE_NOT_EXISTS' => 'الموديل المُحدد غير موجود.',
|
||||
|
||||
'MODULE_OPTIONS' => 'خيارات الموديل',
|
||||
'MODULE_NAME' => 'الإسم ',
|
||||
'MODULE_NAME_EXP' => 'ادخل إسم الموديل الذي يجب عرضه في ضبط الموديل.',
|
||||
'MODULE_IMAGE' => 'الصورة ',
|
||||
'MODULE_IMAGE_EXP' => 'ادخل إسم صورة الموديل. يجب أن تكون الصور موجودة في المسار styles/{yourstyle}/theme/images/portal/. {yourstyle} يعني إسم مجلد الاستايل الذي تستخدمه.',
|
||||
'MODULE_PERMISSIONS' => 'الصلاحيات ',
|
||||
'MODULE_PERMISSIONS_EXP' => 'حدد المجموعات التي تستطيع مُشاهدة هذا الموديل. عدم تحديد أي مجموعة يعني عرض هذا الموديل لجميع الأعضاء.<br />تستطيع تحديد أو إلعاء التحديد لأكثر من مجموعة بالنقر باستمرار على زر الكنترول <samp>CTRL</samp> والنقر بنفس الوقت بالماوس على المجموعة المطلوبة.',
|
||||
'MODULE_IMAGE_WIDTH' => 'عرض الصورة ',
|
||||
'MODULE_IMAGE_WIDTH_EXP' => 'ادخل مقاس العرض لصورة الموديل بالبيكسل',
|
||||
'MODULE_IMAGE_HEIGHT' => 'ارتفاع الصورة ',
|
||||
'MODULE_IMAGE_HEIGHT_EXP' => 'ادخل مقاس الإرتفاع لصورة الموديل بالبيكسل',
|
||||
'MODULE_RESET' => 'إعادة ضبط الإعدادات ',
|
||||
'MODULE_RESET_EXP' => 'سوف يتم إعادة ضبط الإعدادات إلى الإفتراضية !',
|
||||
'MODULE_STATUS' => 'تفعيل ',
|
||||
'MODULE_ADD_ONCE' => 'يُمكن إضافة هذا الموديل مرة واحدة فقط.',
|
||||
'MODULE_IMAGE_ERROR' => 'يوجد خطأ أثناء التحقق من صورة الموديل :',
|
||||
'UNKNOWN_MODULE_METHOD' => 'لا يُمكن مُعالجة طريقة الموديل %1$s.',
|
||||
|
||||
// general
|
||||
'ACP_PORTAL_CONFIG_INFO' => 'إعدادات عامة',
|
||||
'ACP_PORTAL_GENERAL_TITLE' => 'إدارة المجلة',
|
||||
'ACP_PORTAL_GENERAL_TITLE_EXP' => 'شكراً لإستخدامك مجلة المنتدى Board3 ! من هنا تستطيع إدارة صفحة المجلة. الخيارات الموجود بالأسفل تعطيك إمكانية تخصيص العديد من الإعدادات العامة.',
|
||||
'ACP_PORTAL_SHOW_ALL' => 'إظهار المجلة على جميع الصفحات ',
|
||||
'ACP_PORTAL_SHOW_ALL_EXP' => 'عرض المجلة على جميع الصفحات',
|
||||
'PORTAL_ENABLE' => 'تفعيل ',
|
||||
'PORTAL_ENABLE_EXP' => 'تفعيل أو تعطيل المجلة',
|
||||
'PORTAL_LEFT_COLUMN' => 'تفعيل العمود اليسار ',
|
||||
'PORTAL_LEFT_COLUMN_EXP' => 'عرض العمود اليسار فقط وإخفاء اليمين',
|
||||
'PORTAL_RIGHT_COLUMN' => 'تفعيل العمود اليمين ',
|
||||
'PORTAL_RIGHT_COLUMN_EXP' => 'عرض العمود اليمين فقط وإخفاء اليسار',
|
||||
'PORTAL_DISPLAY_JUMPBOX' => 'إظهار صندوق التنقل السريع ',
|
||||
'PORTAL_DISPLAY_JUMPBOX_EXP' => 'عرض صندوق التنقل السريع في المجلة. لن يعمل هذا الخيار إذا تم تعطيل صندوق التنقل السريع في خصائص المنتدى.',
|
||||
'ACP_PORTAL_COLUMN_WIDTH_SETTINGS' => 'إعدادات عرض الأعمدة',
|
||||
'PORTAL_LEFT_COLUMN_WIDTH' => 'عرض العمود اليسار ',
|
||||
'PORTAL_LEFT_COLUMN_WIDTH_EXP' => 'تغيير عرض العمود اليسار بالبيكسل ؛ ننصح بالقيمة 180',
|
||||
'PORTAL_RIGHT_COLUMN_WIDTH' => 'عرض العمود اليمين ',
|
||||
'PORTAL_RIGHT_COLUMN_WIDTH_EXP' => 'تغيير عرض العمود اليمين بالبيكسل ؛ ننصح بالقيمة 180',
|
||||
'PORTAL_SHOW_ALL_SIDE' => 'اظهار العمود على جميع الصفحات ',
|
||||
'PORTAL_SHOW_ALL_SIDE_EXP' => 'اختار أحد الأعمدة لعرضه على جميع الصفحات.',
|
||||
'PORTAL_SHOW_ALL_LEFT' => 'يسار',
|
||||
'PORTAL_SHOW_ALL_RIGHT' => 'يمين',
|
||||
|
||||
'LINK_ADDED' => 'تم إضافة الرابط بنجاح',
|
||||
'LINK_UPDATED' => 'تم تحديث الرابط بنجاح',
|
||||
|
||||
// Install
|
||||
'PORTAL_BASIC_INSTALL' => 'جاري إضافة الموديلات الأساسية',
|
||||
'PORTAL_BASIC_UNINSTALL' => 'جاري حذف الموديلات من قاعدة البيانات',
|
||||
));
|
||||
54
language/de/info_acp_portal.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
|
||||
$lang = array_merge($lang, array(
|
||||
'ACP_PORTAL_MODULES' => 'Portal Module',
|
||||
'ACP_PORTAL' => 'Portal',
|
||||
'ACP_PORTAL_GENERAL_INFO' => 'Allgemeine Einstellungen',
|
||||
'ACP_PORTAL_UPLOAD' => 'Modul hochladen',
|
||||
|
||||
// Logs
|
||||
'LOG_PORTAL_LINK_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />» Link hinzugefügt: %s ',
|
||||
'LOG_PORTAL_LINK_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />» Link geändert: %s ',
|
||||
'LOG_PORTAL_LINK_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />» Link gelöscht: %s ',
|
||||
'LOG_PORTAL_EVENT_ADDED' => '<strong>Portal-Einstellungen geändert</strong><br />» Termin eingetragen: %s ',
|
||||
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Portal-Einstellungen geändert</strong><br />» Termin geändert: %s ',
|
||||
'LOG_PORTAL_EVENT_REMOVED' => '<strong>Portal-Einstellungen geändert</strong><br />» Termin gelöscht: %s ',
|
||||
'LOG_PORTAL_CONFIG' => '<strong>Portal-Einstellungen geändert</strong><br />» %s',
|
||||
|
||||
// Adding the permissions
|
||||
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
|
||||
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Announcements
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Announcements
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -70,5 +70,5 @@ $lang = array_merge($lang, array(
|
||||
'PORTAL_ANNOUNCEMENTS_ARCHIVE' => 'Das Archivsystem für die Bekanntmachungen aktivieren',
|
||||
'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXP' => 'Wenn aktiviert, wird das Archivsystem und ggf. Seitenzahlen angezeigt.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Attachments
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Attachments
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -50,5 +50,5 @@ $lang = array_merge($lang, array(
|
||||
'PORTAL_ATTACHMENTS_FILETYPE' => 'Dateitypen',
|
||||
'PORTAL_ATTACHMENTS_FILETYPE_EXP' => 'Falls "Dateitypen ausschließen" auf "Ja" steht, wähle die Dateitypen die du ausschließen willst.<br />Falls "Dateitypen ausschließen" auf "Nein" steht, wähle die Dateitypen die du sehen willst.<br />Wähle mehrere Foren aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
|
||||
'PORTAL_ATTACHMENTS_EXCLUDE' => 'Dateitypen ausschließen',
|
||||
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Dateitypen vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die ausgewählten Dateitypen im Dateianhänge-Block sehen willst.',
|
||||
'PORTAL_ATTACHMENTS_EXCLUDE_EXP' => 'Wähle "Ja" wenn du die ausgewählten Dateitypen vom Dateianhänge-Block ausschließen willst, und "Nein" wenn du nur die ausgewählten Dateitypen im Dateianhänge-Block sehen willst.',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Birthday List
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Birthday List
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -40,5 +40,5 @@ $lang = array_merge($lang, array(
|
||||
'ACP_PORTAL_BIRTHDAYS_SETTINGS_EXP' => 'Hier kannst du die Einstellungen für den Geburtstage-Block ändern.',
|
||||
'PORTAL_BIRTHDAYS' => 'Geburtstage',
|
||||
'PORTAL_BIRTHDAYS_AHEAD' => 'Anstehende Geburtstage',
|
||||
'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'Zeitraum für die Geburtstagsvorschau (Tage).<br />"0" deaktiviert die Anzeige der bevorstehenden Geburtstage.',
|
||||
'PORTAL_BIRTHDAYS_AHEAD_EXP' => 'Zeitraum für die Geburtstagsvorschau (Tage).<br />"0" deaktiviert die Anzeige der bevorstehenden Geburtstage.',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Calendar
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Calendar
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -115,14 +115,10 @@ $lang = array_merge($lang, array(
|
||||
'ACP_PORTAL_CALENDAR_START_INCORRECT' => 'Die eingegebene Start-Zeit ist nicht korrekt. Bitte folge genau den Anweisungen.',
|
||||
'ACP_PORTAL_CALENDAR_END_INCORRECT' => 'Die eingegebene End-Zeit ist nicht korrekt. Bitte folge genau den Anweisungen.',
|
||||
'ACP_PORTAL_CALENDAR_EVENT_PAST' => 'Die Start-zeit der Veranstaltung muss in der Zukunft liegen.',
|
||||
'ACP_PORTAL_EVENT_START_DAY' => 'Start-Datum der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_START_DAY_EXP' => 'Gebe das Datum ein, an dem die Veranstaltung beginnt. Das Datum muss in folgendem Format sein: TT-MM-JJJJ',
|
||||
'ACP_PORTAL_EVENT_START_TIME' => 'Start-Zeit der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_START_TIME_EXP' => 'Gebe die Zeit ein, zu der die Veranstaltung beginnt. Die Zeit muss im 24 Stunden Format sein, z.B. 23:12',
|
||||
'ACP_PORTAL_EVENT_END_DAY' => 'End-Datum der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_END_DAY_EXP' => 'Gebe das Datum ein, an dem die Veranstaltung endet. Das Datum muss in folgendem Format sein: TT-MM-JJJJ',
|
||||
'ACP_PORTAL_EVENT_END_TIME' => 'End-Zeit der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_END_TIME_EXP' => 'Gebe die Zeit ein, zu der die Veranstaltung endet. Die Zeit muss im 24 Stunden Forrmat sein, z.B. 23:12',
|
||||
'ACP_PORTAL_EVENT_START_DATE' => 'Start-Datum der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_START_DATE_EXP' => 'Gebe das Datum und Uhrzeit ein, zu der die Veranstaltung beginnt. Datum und Uhrzeit sollten in einem ähnlichen Format sein: TT.MM.JJJJ SS:MM',
|
||||
'ACP_PORTAL_EVENT_END_DATE' => 'End-Datum der Veranstaltung',
|
||||
'ACP_PORTAL_EVENT_END_DATE_EXP' => 'Gebe das Datum und Uhrzeit ein, zu der die Veranstaltung endet. Datum und Uhrzeit sollten in einem ähnlichen Format sein: TT.MM.JJJJ',
|
||||
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'Das Ende der Veranstaltung muss nach dem Beginn der Veranstaltung liegen.',
|
||||
'ACP_PORTAL_CALENDAR_PERMISSION' => 'Berechtigungen für die Veranstaltung',
|
||||
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'Wähle die Gruppen aus, denen es erlaubt sein soll die Veranstaltung zu sehen. Falls alle Benutzer die Veranstaltung sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Clock
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Clock
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Custom
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Custom
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Donation
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Donation
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -57,9 +57,11 @@ $lang = array_merge($lang, array(
|
||||
'ILS' => 'Neue Israelische Schekel (ILS)',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_PAYPAL_SETTINGS' => 'Paypal Einstellungen',
|
||||
'ACP_PORTAL_PAYPAL_SETTINGS' => 'Paypal Einstellungen',
|
||||
'ACP_PORTAL_PAYPAL_SETTINGS_EXP' => 'Hier kannst du die Paypal Einstellungen ändern.',
|
||||
'PORTAL_PAY_ACC' => 'Paypal Account',
|
||||
'PORTAL_PAY_ACC' => 'Paypal Account',
|
||||
'PORTAL_PAY_ACC_EXP' => 'Gib deine e-mail-Adresse an, die du bei Paypal benutzt, z.B. xxx@xxx.com',
|
||||
'PORTAL_PAY_CUSTOM' => 'Benutzername an die Paypal Zahlung anhängen',
|
||||
'PORTAL_PAY_CUSTOM' => 'Benutzername an die Paypal Zahlung anhängen',
|
||||
'PORTAL_PAY_DEFAULT' => 'Standard-Währung',
|
||||
'PORTAL_PAY_DEFAULT_EXP' => 'Währung die standardmäßig in der Drop-Down-Liste ausgewählt ist.'
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Forumlist
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Forumlist
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Friends
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Friends
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Latest Bots
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Latest Bots
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Latest Members
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Latest Members
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Leaders
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Leaders
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Link Us
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Link Us
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Links
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Links
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -33,7 +33,7 @@ if (empty($lang) || !is_array($lang))
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_LINKS' => 'Links',
|
||||
'LINKS_NO_LINKS' => 'Keine Links vorhanden',
|
||||
'LINKS_NO_LINKS' => 'Keine Links vorhanden',
|
||||
|
||||
// ACP
|
||||
'ACP_PORTAL_LINKS' => 'Links-Einstellungen',
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Main Menu
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Main Menu
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - News
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - News
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -66,5 +66,5 @@ $lang = array_merge($lang, array(
|
||||
'PORTAL_NEWS_ARCHIVE' => 'Das Archivsystem für die aktuellen Beiträge aktivieren',
|
||||
'PORTAL_NEWS_ARCHIVE_EXP' => 'Wenn aktiviert, wird das Archivsystem und ggf. Seitenzahlen angezeigt.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS' => '"Antworten" und "Zugriffe" in Extraspalten',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
|
||||
'PORTAL_SHOW_REPLIES_VIEWS_EXP' => 'Einstellung für den kompakter Bekanntmachungen-Block-Stil.<br />Wenn aktiviert, wird die Anzahl der Antworten und Zugriffe in gesonderten Spalten angezeigt. Wenn deaktiviert gibt es nur zwei Spalten und die Antworten und Zugriffe werden neben "Forum" angezeigt. Bei Darstellungsproblemen mit z.B. schmalen Styles bitte deaktivieren.',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Poll
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Poll
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Random Member
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Random Member
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Recent Module
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Recent Module
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Search
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Search
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -38,5 +38,5 @@ $lang = array_merge($lang, array(
|
||||
'PORTAL_SEARCH_POSTS' => 'Beiträge',
|
||||
'PORTAL_SEARCH_AUTHOR' => 'Autor',
|
||||
'PORTAL_SEARCH_ENGINE' => 'Suchmaschinen',
|
||||
'PORTAL_SEARCH_ADV' => 'erweiterte Suche',
|
||||
'PORTAL_SEARCH_ADV' => 'Erweiterte Suche',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Statistics
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Statistics
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Stylechanger
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Stylechanger
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Forumlist
|
||||
* @package Board3 Portal v2 - Link Us
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
*
|
||||
@@ -32,5 +32,5 @@ if (empty($lang) || !is_array($lang))
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
$lang = array_merge($lang, array(
|
||||
'PORTAL_FORUMLIST' => 'Forumlist',
|
||||
'TL_MENU' => 'Tipprunde ',
|
||||
));
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Topposters
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Topposters
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - User Menu
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - User Menu
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Welcome
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Welcome
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2 - Who is online
|
||||
* @copyright (c) Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||
* @package Board3 Portal v2.1 - Who is online
|
||||
* @copyright (c) 2013 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
39
language/de/permissions_portal.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Board3 Portal v2.1
|
||||
* @copyright (c) 2015 Board3 Group ( www.board3.de )
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT CHANGE
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
if (empty($lang) || !is_array($lang))
|
||||
{
|
||||
$lang = array();
|
||||
}
|
||||
|
||||
// DEVELOPERS PLEASE NOTE
|
||||
//
|
||||
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||
//
|
||||
// Placeholders can now contain order information, e.g. instead of
|
||||
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||
// translators to re-order the output of data while ensuring it remains correct
|
||||
//
|
||||
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||
// equally where a string contains only two placeholders which are used to wrap text
|
||||
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||
|
||||
$lang = array_merge($lang, array(
|
||||
// Adding the permissions
|
||||
'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
|
||||
'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
|
||||
));
|
||||