Compare commits
2320 Commits
release-3.
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
|
9745d8d80e | ||
|
6fc7fc1c75 | ||
|
6eb6c000c2 | ||
|
4364629919 | ||
|
cafd165bd0 | ||
|
9590ff3c18 | ||
|
4f07a0bafb | ||
|
1bd4895d7a | ||
|
6d57136264 | ||
|
e63493115a | ||
|
a1a84c9930 | ||
|
3e8a62f309 | ||
|
ad5d4f6bc3 | ||
|
147f929713 | ||
|
663ee34f66 | ||
|
a705405717 | ||
|
8a2f564f3d | ||
|
408ba75321 | ||
|
f2f9ce544f | ||
|
366a92c36a | ||
|
89a34ff033 | ||
|
68abcb9058 | ||
|
3c4f150859 | ||
|
4250bfee29 | ||
|
9940775550 | ||
|
610048cc6d | ||
|
3566bb9e44 | ||
|
9059864dac | ||
|
39538ecb85 | ||
|
b74dc1fa95 | ||
|
91fbdd9ff8 | ||
|
57b226ec76 | ||
|
5832698f4f | ||
|
3af3c391a7 | ||
|
0c34641abd | ||
|
12a10de0d1 | ||
|
f34df97f8b | ||
|
9b51fe2dd5 | ||
|
fef03a1946 | ||
|
295a424fc7 | ||
|
15157eed61 | ||
|
d045822cd8 | ||
|
b34dbc2e84 | ||
|
f979d2c7b2 | ||
|
fff6907a22 | ||
|
826d6aac74 | ||
|
ad34b87824 | ||
|
0cc41b94b1 | ||
|
469b975f94 | ||
|
fd5e66cbf1 | ||
|
d64680983a | ||
|
3f40a89864 | ||
|
85e98a9d70 | ||
|
29a239a4db | ||
|
89da4e8bf7 | ||
|
c2d59b3352 | ||
|
80c32fb7ef | ||
|
1f16421782 | ||
|
45d64c4486 | ||
|
a7648b0eaa | ||
|
9fe8d05d5b | ||
|
2ab7b12419 | ||
|
ae18f8b27c | ||
|
2f7517a0fe | ||
|
a339b9e84f | ||
|
678ca5dcdc | ||
|
a7058d968f | ||
|
cf1fc20297 | ||
|
e75c04f02a | ||
|
11b79fec4d | ||
|
b340e45907 | ||
|
a021956644 | ||
|
73ca420029 | ||
|
b3d64b3b59 | ||
|
917c864bbf | ||
|
06f4b6926b | ||
|
14dc274e9e | ||
|
296243f34f | ||
|
bb5a171674 | ||
|
87345807de | ||
|
18abef716e | ||
|
84ed888cb9 | ||
|
a7ca311d6c | ||
|
1654caf34b | ||
|
9af2dc0b6b | ||
|
e3acdfed92 | ||
|
4ec32592a4 | ||
|
33db45edac | ||
|
7ebbc69dbd | ||
|
67f3017274 | ||
|
1de3ede399 | ||
|
c5a7643b72 | ||
|
627488da5b | ||
|
099a1b5f75 | ||
|
69cf32613d | ||
|
d2acccf92c | ||
|
901785bc5e | ||
|
81b3b38795 | ||
|
d37d3ed3ed | ||
|
e6d3ed5529 | ||
|
ffbc2d02d7 | ||
|
2419f63aab | ||
|
20e26a3920 | ||
|
4989df66a2 | ||
|
a4c1daa259 | ||
|
ab8dc92d26 | ||
|
07ae3e997c | ||
|
4a92b85cad | ||
|
94c073672d | ||
|
e8247faacc | ||
|
7eef7b2ea2 | ||
|
91869cc43c | ||
|
8899829752 | ||
|
1a367062d3 | ||
|
4966d6c913 | ||
|
ea9b97c8a1 | ||
|
4ea325029b | ||
|
31510c0ae7 | ||
|
df223eac65 | ||
|
0bff95488b | ||
|
8489cb6f40 | ||
|
3a55cead92 | ||
|
f4f6a4f810 | ||
|
e3f1cca911 | ||
|
df9443a3c6 | ||
|
03662d5a89 | ||
|
7c736d527d | ||
|
8bb4af6271 | ||
|
27cf9e490b | ||
|
d53c5b7e2a | ||
|
da6ce7a668 | ||
|
19c84dabe1 | ||
|
9ef06d67e6 | ||
|
224efba459 | ||
|
8398e0700a | ||
|
13133b359b | ||
|
1c1fe43e16 | ||
|
966c34d0ad | ||
|
b27be0b857 | ||
|
865c16cf26 | ||
|
854ee0b04d | ||
|
27e95864a8 | ||
|
8dbf3976fd | ||
|
afbeda7cfd | ||
|
22d234a345 | ||
|
21aa6cc120 | ||
|
fbacd1df16 | ||
|
88dd8a4849 | ||
|
c1d47d9e16 | ||
|
6a7567459d | ||
|
9596db9b88 | ||
|
2a218c2959 | ||
|
7615a5c22f | ||
|
5576c9f3b9 | ||
|
93208d597a | ||
|
fa44e98e72 | ||
|
6b433eab4c | ||
|
b23c0f1442 | ||
|
a6fd55db35 | ||
|
dfd5ec6835 | ||
|
9ccb596a06 | ||
|
da9a5c70d5 | ||
|
9a8393c912 | ||
|
3a5336452c | ||
|
6fba5613f8 | ||
|
c7d7967a91 | ||
|
aaca64e13e | ||
|
9de5668b80 | ||
|
bc6a4c4583 | ||
|
e634d2902d | ||
|
f657680311 | ||
|
240d07d0cf | ||
|
f6776c1017 | ||
|
bab85da820 | ||
|
bc11e648af | ||
|
669618b5a0 | ||
|
50bf3411d4 | ||
|
a49a3091f9 | ||
|
5d8e900483 | ||
|
fb3073029f | ||
|
3367f0036a | ||
|
69b57eab5e | ||
|
6bcec956ba | ||
|
ccb3d0ac78 | ||
|
6572164754 | ||
|
345e8ad822 | ||
|
bdf69817be | ||
|
9ebc369d74 | ||
|
14966a2962 | ||
|
655f244c4f | ||
|
08739751b2 | ||
|
d003b53922 | ||
|
d507bce98a | ||
|
b7bd210f41 | ||
|
c5752be50c | ||
|
66ee80c9e2 | ||
|
1260f92813 | ||
|
7799bffc65 | ||
|
1164cc38a2 | ||
|
e87209742b | ||
|
d92baaa2f7 | ||
|
bc34217c14 | ||
|
65b13938db | ||
|
8c3aa1458c | ||
|
d9a4146113 | ||
|
e603fa56db | ||
|
2668fa42ad | ||
|
fcf6c20291 | ||
|
5f8fb38b52 | ||
|
5f05a8a8f8 | ||
|
97118a897a | ||
|
f6c8338358 | ||
|
8eb9ce50b0 | ||
|
d75750fd99 | ||
|
def21f27a2 | ||
|
8683824ed3 | ||
|
b04b5dea36 | ||
|
8a52ccc938 | ||
|
a0dafbfb5f | ||
|
70b5ffc41d | ||
|
e63ef0b28f | ||
|
6360d748db | ||
|
e5b895de7b | ||
|
3469cdce76 | ||
|
7a60cdd1d3 | ||
|
5b7b0894e0 | ||
|
542498e457 | ||
|
c38a128663 | ||
|
c05a27396d | ||
|
4830b3eacd | ||
|
cf62b303a6 | ||
|
e5b2dc922f | ||
|
3fd1fa5492 | ||
|
bf0596d0a1 | ||
|
a11d97cb36 | ||
|
49f8192ba2 | ||
|
0947bda39d | ||
|
66397ae0e4 | ||
|
cb71a7b8d2 | ||
|
2642cfe298 | ||
|
3672df0bc2 | ||
|
098c8e1fe9 | ||
|
30279347ac | ||
|
d5f625382b | ||
|
20c0b57421 | ||
|
65997eb577 | ||
|
7e379c4cea | ||
|
d62b03e0de | ||
|
07b55530ec | ||
|
d92a46ef02 | ||
|
5b9d828328 | ||
|
3cdf97f003 | ||
|
2bf9e91101 | ||
|
bc518bf96e | ||
|
aa01ee1bbc | ||
|
2f4fcee7e8 | ||
|
a4a99f5ea3 | ||
|
c166adf3c7 | ||
|
7d15704f6a | ||
|
46f6b4459a | ||
|
0f49eaa2e2 | ||
|
0744330080 | ||
|
c9d159257a | ||
|
1affd34814 | ||
|
90d5eefccf | ||
|
ea594d00f7 | ||
|
9537ec56eb | ||
|
0e93efd7cb | ||
|
8cab2374f9 | ||
|
f201c22ca7 | ||
|
5258fba2e0 | ||
|
82a45cd4da | ||
|
076807c63a | ||
|
053a6d1d70 | ||
|
7701034871 | ||
|
5faa12db4c | ||
|
58af8606c1 | ||
|
48d05bad25 | ||
|
2ee8b14f86 | ||
|
8749c99e34 | ||
|
4979d98aa9 | ||
|
3fe517f50c | ||
|
cc060a2611 | ||
|
96521767f8 | ||
|
a606b1c480 | ||
|
e9e199bc37 | ||
|
af246483e2 | ||
|
11b2bffa8e | ||
|
bfbce5a1b0 | ||
|
76158e429b | ||
|
6c36f56b12 | ||
|
624f5ae921 | ||
|
6d7a5dfe5e | ||
|
90d18356a0 | ||
|
eb2b3868bb | ||
|
5a51acd643 | ||
|
2b01772fa9 | ||
|
d08c5edcca | ||
|
13851f308f | ||
|
335452b1c1 | ||
|
4be255ef9f | ||
|
5be06ec66a | ||
|
623a8f2d0f | ||
|
819eca99a8 | ||
|
a7272fec97 | ||
|
0caaf86158 | ||
|
f585f48aca | ||
|
d8dd6bad6b | ||
|
f2a0fe39a5 | ||
|
b09e1ad26d | ||
|
583068da9d | ||
|
f153342fb3 | ||
|
2d24b9b61f | ||
|
04b0ba9f6d | ||
|
ccd1e1eebb | ||
|
a959e5f4cc | ||
|
697ccd41c4 | ||
|
6c98b01ad1 | ||
|
ffe72e500c | ||
|
6f1d848087 | ||
|
897b9f333b | ||
|
cf0170d5e3 | ||
|
00aab15f7c | ||
|
11a0516739 | ||
|
ef3de412b7 | ||
|
50a7167c9a | ||
|
51eaa8917f | ||
|
5f905f67ee | ||
|
19267242e3 | ||
|
452b3b4890 | ||
|
5b534369d1 | ||
|
dcf12cad26 | ||
|
ec032733de | ||
|
81b4293cc5 | ||
|
6b0f235cc9 | ||
|
d89c952955 | ||
|
e22dbbc7e8 | ||
|
a83bcaa8ac | ||
|
a24f9a7ad7 | ||
|
dbfea6d0fa | ||
|
e466318dc2 | ||
|
57ba51c529 | ||
|
9d4228291c | ||
|
dead984f54 | ||
|
2cd2cf2b39 | ||
|
146c4b1624 | ||
|
4bab984dac | ||
|
972f04ec6a | ||
|
40666dd96f | ||
|
c4bc5f3930 | ||
|
3bd5fe6be8 | ||
|
1b1fc6ed24 | ||
|
edeeff597f | ||
|
9a2c74a68c | ||
|
166e0b5961 | ||
|
668defcf57 | ||
|
5f4943c183 | ||
|
9e38f412ea | ||
|
8d54f06d19 | ||
|
4d2940dd2f | ||
|
7a2f72df75 | ||
|
84a40b6ad1 | ||
|
8e80425c82 | ||
|
b7e4d0b0a5 | ||
|
3dcba7000b | ||
|
b1e92393ee | ||
|
9e467a4e4a | ||
|
32f5dc3d8b | ||
|
f4c1796d5e | ||
|
4aac578908 | ||
|
b34e74254a | ||
|
e7c6c3f02b | ||
|
49bc477a87 | ||
|
6a7978965d | ||
|
478a4c4133 | ||
|
7cb7ca57c2 | ||
|
84f8d6d64e | ||
|
0d6c323611 | ||
|
30449b69af | ||
|
9c67d02bd2 | ||
|
771090f13e | ||
|
ff67a09724 | ||
|
edf81e8de8 | ||
|
c3d77edd83 | ||
|
f34f28f283 | ||
|
4bf0534bf9 | ||
|
e37b3495f0 | ||
|
da53d95b95 | ||
|
3e8af1cf33 | ||
|
b24ce02526 | ||
|
5e7550ee53 | ||
|
84d302a2fd | ||
|
c6a654e859 | ||
|
5da50fcf6e | ||
|
e686f8bbdf | ||
|
d1e6c89b90 | ||
|
23aed66473 | ||
|
49bffc1851 | ||
|
8b21e7c0d9 | ||
|
ce937346f3 | ||
|
e30c6caac8 | ||
|
5e3ebda0da | ||
|
7e21d1dab5 | ||
|
6b658874bb | ||
|
ebf0bc2134 | ||
|
203bd4edd5 | ||
|
8b981f9ccd | ||
|
7e1b0330a3 | ||
|
d548a2aa3e | ||
|
11256cd167 | ||
|
4d3188ba57 | ||
|
56251adc24 | ||
|
4262dfeaef | ||
|
100fd39c5e | ||
|
de75a3577f | ||
|
64b41f314e | ||
|
ae31a604e6 | ||
|
b002948e21 | ||
|
23f1b7d9c7 | ||
|
2e10961fff | ||
|
3768f7f2b8 | ||
|
92703127d3 | ||
|
3a62903fd1 | ||
|
e69d23dc88 | ||
|
0d7f8ba8af | ||
|
9ab4b30739 | ||
|
629a826f5b | ||
|
42dc7eb0f5 | ||
|
05f1476fc9 | ||
|
4b54df8d45 | ||
|
d0cdc5553a | ||
|
f576f42b4d | ||
|
23db3d0b83 | ||
|
04d34e6c8b | ||
|
6294c45bd3 | ||
|
498a516017 | ||
|
1bd20eb273 | ||
|
4ac2256683 | ||
|
51bb51124a | ||
|
886ca1dbb9 | ||
|
73ba70e98c | ||
|
b346f216c2 | ||
|
ed3f46a9b1 | ||
|
e0efd5ee57 | ||
|
352e995674 | ||
|
60b4d5132f | ||
|
18a08e1af1 | ||
|
80fee7422c | ||
|
2be39c5a8f | ||
|
cc23ac887c | ||
|
607f2e791f | ||
|
7b903919bf | ||
|
d0cf674f33 | ||
|
6f18963636 | ||
|
7b93df1522 | ||
|
2237030398 | ||
|
dbd653327c | ||
|
ae2237f640 | ||
|
817db2f135 | ||
|
8bb48b575d | ||
|
7d7b536874 | ||
|
ef6af2682b | ||
|
84bbd4490e | ||
|
11e312f41c | ||
|
82bc9baa24 | ||
|
2ec5c5de17 | ||
|
bd40f2f619 | ||
|
d43da6cee9 | ||
|
abf98f92e6 | ||
|
bcac964cd0 | ||
|
c0449d31d6 | ||
|
de947d31f6 | ||
|
7d24510d68 | ||
|
afa4c07a13 | ||
|
57fa7435ad | ||
|
af7f62505e | ||
|
76f7175fc4 | ||
|
bbbf122d05 | ||
|
798490bf1d | ||
|
4a1f617473 | ||
|
e0476d4f53 | ||
|
a8fe3926dc | ||
|
5e39a7ab72 | ||
|
da7b24449d | ||
|
c083a4adda | ||
|
783a156bd2 | ||
|
a259d61f57 | ||
|
8b28881aa2 | ||
|
4f05364eb9 | ||
|
0bab5db1dd | ||
|
08a6f663de | ||
|
e8769fd561 | ||
|
efc09df8df | ||
|
dc9245dd7a | ||
|
2503723e2f | ||
|
c6308ee7c0 | ||
|
002f08ba35 | ||
|
7ccb19fa00 | ||
|
8f5d761112 | ||
|
38a1442d40 | ||
|
f688bc6160 | ||
|
e6407907e2 | ||
|
8eb4ec29ee | ||
|
338abf77e3 | ||
|
f9c50a8db3 | ||
|
e59b96e968 | ||
|
714533d12e | ||
|
89f7fc63e8 | ||
|
a50e2c0c47 | ||
|
5170cd67fb | ||
|
bf7a4f629d | ||
|
5dbfd14699 | ||
|
7b026eff79 | ||
|
9238d28353 | ||
|
7bb617eeb6 | ||
|
2c65b9b133 | ||
|
dfb7bb1de1 | ||
|
0d349a82ca | ||
|
cdf580ee37 | ||
|
3d18d6dc77 | ||
|
d8343f2108 | ||
|
c952622fa0 | ||
|
b5573bb92d | ||
|
790f7ded5b | ||
|
23a45fcace | ||
|
d2a2c183ed | ||
|
832c9f64e0 | ||
|
405681f138 | ||
|
b7db12a593 | ||
|
4143f65b46 | ||
|
5f7fa4c89c | ||
|
83d8ea013b | ||
|
072f4c9260 | ||
|
3ac95f48f8 | ||
|
6e8da5a424 | ||
|
1214210864 | ||
|
abce057467 | ||
|
88d16b47a4 | ||
|
c2d254ea41 | ||
|
2c6369c5d9 | ||
|
f9389995e7 | ||
|
d4e0c08915 | ||
|
41f78b5c49 | ||
|
d70ad1230b | ||
|
f94bbcb4fe | ||
|
9203bf3141 | ||
|
6687b7e9ab | ||
|
823783773c | ||
|
94aff53e3f | ||
|
3cb86cb6f1 | ||
|
1e45a05000 | ||
|
25c4c481d7 | ||
|
17b94b8f9c | ||
|
29cda5f2ad | ||
|
91212d5453 | ||
|
32a2546c5d | ||
|
bac02a348e | ||
|
a620651ca1 | ||
|
99d3995548 | ||
|
c78ee4e201 | ||
|
774582876c | ||
|
bed8df20d2 | ||
|
593c7ed0e4 | ||
|
c221571963 | ||
|
20b16fda4f | ||
|
2b0acdcea4 | ||
|
9057f72fc7 | ||
|
eebab029fd | ||
|
5b8a721b73 | ||
|
0427e5f1b3 | ||
|
7a55bcc0f3 | ||
|
51831924c5 | ||
|
bb7f843344 | ||
|
9005711ad7 | ||
|
fb94bd11fb | ||
|
852337cacd | ||
|
e8f9458a21 | ||
|
78b0c938a2 | ||
|
9c84b3b5fb | ||
|
6ca3a30576 | ||
|
b627a097bb | ||
|
0f6d16920b | ||
|
56f47c1344 | ||
|
86945bdf84 | ||
|
db3782e491 | ||
|
189d94e897 | ||
|
cfbd051d52 | ||
|
d978564600 | ||
|
2e20bae695 | ||
|
1f385b536a | ||
|
27a70f573f | ||
|
a39a421acb | ||
|
bafd649eea | ||
|
e3090e04c3 | ||
|
049f584111 | ||
|
d6cd90d325 | ||
|
e04f9a2425 | ||
|
d1c4f5bc35 | ||
|
1ba86eaa8e | ||
|
df4b391baa | ||
|
01073ffcbf | ||
|
9366f29fd7 | ||
|
b5fed65fe3 | ||
|
fedd0ae7f3 | ||
|
da6f751cef | ||
|
0fc6816be6 | ||
|
143578ad09 | ||
|
2a83290e7c | ||
|
be1d1c7d05 | ||
|
518902ef51 | ||
|
f5801320b7 | ||
|
44fcdd007f | ||
|
8b6c6e794a | ||
|
ed064ce0f1 | ||
|
182312010b | ||
|
3ec3dfcf3a | ||
|
35e5dc46c7 | ||
|
e80bb565ce | ||
|
9951458ebf | ||
|
45d7e18f6b | ||
|
ef39f3a9ab | ||
|
f1e11414e8 | ||
|
ba205a6bce | ||
|
d589142c0b | ||
|
75dd91412b | ||
|
cf93c6503a | ||
|
b1d829c232 | ||
|
39cd228e06 | ||
|
16deefa7f8 | ||
|
0daa999fd0 | ||
|
30f256102f | ||
|
b00b504343 | ||
|
080690073a | ||
|
8fda16527e | ||
|
abef078ab9 | ||
|
7580798a5a | ||
|
cc134d5fed | ||
|
33239183ae | ||
|
6025c40cab | ||
|
622d5b2643 | ||
|
5ca77df084 | ||
|
67502c0d22 | ||
|
b7a89187b5 | ||
|
a462f14aa3 | ||
|
1d2a127144 | ||
|
cb12a065df | ||
|
309a6b9313 | ||
|
73fd75abf1 | ||
|
e52bc2d022 | ||
|
1c0c9c1bca | ||
|
dcb36d572d | ||
|
502214bf06 | ||
|
3bc2b54128 | ||
|
d004a1c6b8 | ||
|
62e13e945c | ||
|
e4b30c474b | ||
|
4527789e50 | ||
|
084aa56777 | ||
|
66279e1a57 | ||
|
345c25c367 | ||
|
4119be5a3d | ||
|
d4fb3996d3 | ||
|
b3b7f8e925 | ||
|
7f5f5c216b | ||
|
d741ab57a8 | ||
|
7a478b27dd | ||
|
4fc6e7dbc7 | ||
|
350786c969 | ||
|
1e28748c0c | ||
|
aa1b427e45 | ||
|
a67db63a18 | ||
|
603726371c | ||
|
c701e8a131 | ||
|
5465c594ca | ||
|
f2fb8e339d | ||
|
9833eb4f13 | ||
|
b8a31241a3 | ||
|
9e06beb48d | ||
|
70cbe67105 | ||
|
684a050916 | ||
|
59a1f4e8ac | ||
|
a8c033f655 | ||
|
5e99c09abe | ||
|
65b40f15f5 | ||
|
de90dd25b2 | ||
|
c2b4636008 | ||
|
740be0507e | ||
|
ab3e4b8abc | ||
|
6e0d12094a | ||
|
5a107d9dc1 | ||
|
c7a0b4479d | ||
|
0e7448e2b3 | ||
|
1b75411e81 | ||
|
923fdb0aa0 | ||
|
b73b9f1dec | ||
|
f42a737419 | ||
|
005c27e73d | ||
|
429b99922e | ||
|
199d823f7a | ||
|
713fe496ce | ||
|
cfeb2bec80 | ||
|
52aafb4dea | ||
|
dde72c58b0 | ||
|
11242dd07d | ||
|
5382552fc8 | ||
|
45baaf6022 | ||
|
34141b576e | ||
|
2226043325 | ||
|
96d97ae2d2 | ||
|
bdad879508 | ||
|
e0180991bf | ||
|
af3cde98f4 | ||
|
9c320ccdce | ||
|
7f820ee962 | ||
|
aef5be3d17 | ||
|
34602037dc | ||
|
9cd0295dd8 | ||
|
818df0ec68 | ||
|
c018b3bbc7 | ||
|
1ad09d9c8b | ||
|
ae8129b699 | ||
|
95add752b7 | ||
|
aa0c55ed8f | ||
|
c1702b8e19 | ||
|
acaa10de52 | ||
|
d7c96cc60c | ||
|
416728fc17 | ||
|
ec207d0a71 | ||
|
89723b17d9 | ||
|
2fb7ef2668 | ||
|
1a3350619f | ||
|
98c9734db4 | ||
|
62abead26d | ||
|
969718fc91 | ||
|
6d8df7332c | ||
|
d833f29069 | ||
|
46a789de5c | ||
|
c818873d48 | ||
|
ce74a0bd6c | ||
|
cd6c0427fb | ||
|
0bc352ea7e | ||
|
78c0221855 | ||
|
f80dc9dc16 | ||
|
18e8f281be | ||
|
e98a5afd07 | ||
|
281661c23e | ||
|
55a3d88793 | ||
|
e25e411e2b | ||
|
59a178f3cb | ||
|
2308472eb0 | ||
|
887f83589f | ||
|
eae592691c | ||
|
196eb98ba8 | ||
|
0fc70d4b15 | ||
|
4d63032024 | ||
|
901875a1fb | ||
|
463c62df18 | ||
|
c5178a19b2 | ||
|
18fc621d73 | ||
|
552f35952a | ||
|
a53b57c8a2 | ||
|
8769f185f5 | ||
|
4a7f905c6a | ||
|
c46024bfa2 | ||
|
60f31d48e2 | ||
|
615e5c1076 | ||
|
ba1e3fd661 | ||
|
366dfce846 | ||
|
70c74df009 | ||
|
ee658bfe7b | ||
|
bca1b96b2e | ||
|
47514ca2df | ||
|
eed355b798 | ||
|
a151ad912a | ||
|
fcc7e7d333 | ||
|
073f3e4470 | ||
|
ef0838e931 | ||
|
bc04581b80 | ||
|
313a224c68 | ||
|
96339b7c86 | ||
|
b0f5ef0b1a | ||
|
77c2b2a51d | ||
|
17620bba46 | ||
|
9d181daa71 | ||
|
53ed8a3cd9 | ||
|
02202b1503 | ||
|
b16a56394b | ||
|
7d08bf5b3e | ||
|
84df225038 | ||
|
cc29638bcc | ||
|
8575cc69d1 | ||
|
73a0988f59 | ||
|
90025ae3e7 | ||
|
23db98276f | ||
|
c60497f009 | ||
|
009a8cb2d5 | ||
|
9ab27fe129 | ||
|
d49f70fbc7 | ||
|
3521e74939 | ||
|
558d604d83 | ||
|
55907c1724 | ||
|
ddff81c21f | ||
|
a875802c06 | ||
|
1d34968967 | ||
|
284a5671c5 | ||
|
71177c38dc | ||
|
81c92a7de9 | ||
|
35d2467c94 | ||
|
d5021aeda4 | ||
|
55f6329c1d | ||
|
e120e6ac97 | ||
|
9f54d2b590 | ||
|
6c308d81bd | ||
|
418aabb46e | ||
|
335520fc45 | ||
|
bbd0a8985c | ||
|
5fc92a03b2 | ||
|
40c79f2a26 | ||
|
d6d9ff51b2 | ||
|
42d831f472 | ||
|
be472cc7bb | ||
|
1a484f08bb | ||
|
d9f4964d91 | ||
|
b9db47e3f5 | ||
|
0b52eb2298 | ||
|
90b82d1a5f | ||
|
499088b62f | ||
|
1efbb5b3bb | ||
|
9eab4ba740 | ||
|
9d75f3fca8 | ||
|
407b9d3c6b | ||
|
84d77d6cd5 | ||
|
7f2b932a1b | ||
|
44540b6112 | ||
|
50b3c2b49e | ||
|
4a08d74571 | ||
|
285e35992a | ||
|
2e7a60d986 | ||
|
4d7cb7ca73 | ||
|
ca883f1196 | ||
|
3d0153de60 | ||
|
0bc2f9f242 | ||
|
476b762542 | ||
|
a32f4869de | ||
|
754b5d6349 | ||
|
eca0128d0a | ||
|
1df97c205d | ||
|
d4ca81f23f | ||
|
4276f49efa | ||
|
ee70b364c7 | ||
|
7f7d8d9101 | ||
|
faf267c419 | ||
|
f0619b481f | ||
|
7e8274c345 | ||
|
0a52d732e4 | ||
|
cfdaf2d63f | ||
|
29ccbd8098 | ||
|
1a001fc233 | ||
|
d5dd9c929d | ||
|
3bda9a3c11 | ||
|
7112058d7b | ||
|
c3a0e09ddb | ||
|
e132e9ba76 | ||
|
94da39cd88 | ||
|
5b9fe33b1b | ||
|
3cb1907e76 | ||
|
aeafb90208 | ||
|
2348580255 | ||
|
9b030fd174 | ||
|
f4c423cea1 | ||
|
4ccba99047 | ||
|
d7f4715b96 | ||
|
3d7def4196 | ||
|
d087d85618 | ||
|
d5a79ad555 | ||
|
6b87e06292 | ||
|
f3ab7aae9e | ||
|
52b83bd5e9 | ||
|
bbfbb3f1fa | ||
|
4cdcb6d5d3 | ||
|
0f13635fb8 | ||
|
323167bb94 | ||
|
c0104d0243 | ||
|
8a6d55520d | ||
|
fa474c4378 | ||
|
d0ab101c32 | ||
|
8f09ff210f | ||
|
149a2dd91a | ||
|
33738fa3db | ||
|
70f1741331 | ||
|
160ff3471d | ||
|
4618a3e2f8 | ||
|
c3720739cb | ||
|
5d8bea9060 | ||
|
5cd4941c55 | ||
|
134a5e0391 | ||
|
c7cc8a098e | ||
|
21cc1fda85 | ||
|
d53b584c9a | ||
|
5fa6871ebf | ||
|
772bbdfeae | ||
|
5ad69bbecf | ||
|
d0a1650a04 | ||
|
fb71e6dde6 | ||
|
c887eedaa5 | ||
|
d66a53a531 | ||
|
dbc09bf0d4 | ||
|
8b23272c33 | ||
|
c37d5f9b7c | ||
|
18de60c0e0 | ||
|
8abf259273 | ||
|
62973faf4b | ||
|
a7b1b71921 | ||
|
2ad87c662f | ||
|
71828ee8df | ||
|
e15b9dc782 | ||
|
0daf148aaa | ||
|
df9331084b | ||
|
1e73f8d5ea | ||
|
8c73f63529 | ||
|
c814ecc143 | ||
|
4928afedc6 | ||
|
ea4b993516 | ||
|
6647d390b0 | ||
|
6b1cd2d312 | ||
|
ec855f1817 | ||
|
3e451cbe75 | ||
|
4df853abcc | ||
|
a07b29c1df | ||
|
6e5f33e5fb | ||
|
62f69224a4 | ||
|
5cd3e7627c | ||
|
14fecb2f02 | ||
|
4565cac049 | ||
|
e29e0e5018 | ||
|
335d88cdbb | ||
|
37b919142f | ||
|
c8be24fd5e | ||
|
0442957420 | ||
|
106bc1c232 | ||
|
c5a15c0635 | ||
|
d08d988df4 | ||
|
6f3f6282d1 | ||
|
3ac583271f | ||
|
9f9e392c7d | ||
|
19fe32d5b2 | ||
|
b8dfbfe390 | ||
|
56cbff720d | ||
|
80e1c233d9 | ||
|
b650f45d55 | ||
|
03ded5853b | ||
|
525a62f72e | ||
|
269dee4189 | ||
|
ffc5a73a0c | ||
|
d152bbc727 | ||
|
702a51b01c | ||
|
9b5493372d | ||
|
7bfb8686d9 | ||
|
c63bc6ee93 | ||
|
94b72cfbdb | ||
|
8e737e483e | ||
|
4167be1e2c | ||
|
5bfcc7e707 | ||
|
d15e5372ca | ||
|
12fe882741 | ||
|
b8c388f184 | ||
|
379eae1a92 | ||
|
e6e7d7040a | ||
|
059790f386 | ||
|
835ee2ba63 | ||
|
5e215aef26 | ||
|
461ce3f892 | ||
|
cba12aca2a | ||
|
c24a840048 | ||
|
8a06f21ea9 | ||
|
5c3ca7404d | ||
|
31ae574830 | ||
|
eff928c29b | ||
|
3f4dcc6920 | ||
|
71d3ddc623 | ||
|
d28d90bd90 | ||
|
8d6ab63fea | ||
|
3db7ac0aad | ||
|
e4b4428173 | ||
|
1f345a8cf9 | ||
|
7fd3767bbd | ||
|
098854a822 | ||
|
bbf4bcc986 | ||
|
03f9c69e60 | ||
|
60f60acea3 | ||
|
153d1691ae | ||
|
f0850f1915 | ||
|
997b229723 | ||
|
13948718c6 | ||
|
02d28c28cd | ||
|
f3d332b78f | ||
|
950c72a8a5 | ||
|
6322970766 | ||
|
fa1c61f608 | ||
|
c7ce6cd26f | ||
|
ec8aeaf2cd | ||
|
f23d2ec42f | ||
|
e31720bb6e | ||
|
f9d34a16dd | ||
|
6f56dc8568 | ||
|
bf86553daa | ||
|
b934617a3b | ||
|
957b23765f | ||
|
088907fe8e | ||
|
4398a51dc6 | ||
|
27cfda74fc | ||
|
8314ce6871 | ||
|
4559aca723 | ||
|
9e3bc9a3f9 | ||
|
877774a296 | ||
|
0a775e0433 | ||
|
39a3f4f6c8 | ||
|
25b54791f9 | ||
|
93185574b5 | ||
|
3df25babce | ||
|
bf20fb03ef | ||
|
67a963ac42 | ||
|
74385b8fce | ||
|
6111f5fa74 | ||
|
bb7d294190 | ||
|
8a4df90dac | ||
|
1bcce75633 | ||
|
072df2217c | ||
|
e1eac80b8f | ||
|
c6a371531b | ||
|
fbc603861d | ||
|
1da6b30cf0 | ||
|
cd85f1b632 | ||
|
7c5d872344 | ||
|
48b64b0a61 | ||
|
c1d644769f | ||
|
1e4853507a | ||
|
8832851b8e | ||
|
2787e799e1 | ||
|
a09d022d5e | ||
|
4e06ab16f0 | ||
|
1f2cb69c8a | ||
|
5347eac69c | ||
|
2864e77d6c | ||
|
a3be531020 | ||
|
427d2de3ea | ||
|
e86b7ce562 | ||
|
f4f983c0f6 | ||
|
bbb6d6a452 | ||
|
efee422707 | ||
|
7330c0afd3 | ||
|
6678570f49 | ||
|
e9eafece3f | ||
|
0e6cd94fb4 | ||
|
0aea283ab0 | ||
|
b1336ae016 | ||
|
7254a52812 | ||
|
5182d02da5 | ||
|
ffe0e46e82 | ||
|
d50cec998c | ||
|
b53fd867be | ||
|
a93df0e511 | ||
|
a166f6f42c | ||
|
99574cf5e5 | ||
|
19421fcdef | ||
|
9f59aa59d9 | ||
|
7f99e1c857 | ||
|
036b5c4244 | ||
|
3c23242bfe | ||
|
be30d8251a | ||
|
9232367b35 | ||
|
dd182c5433 | ||
|
67478a0f94 | ||
|
e72c1540cb | ||
|
e6bbde2bff | ||
|
ab4b1afd98 | ||
|
7127d08c8f | ||
|
b16854ab8c | ||
|
bb4287ab2d | ||
|
9628e8df3b | ||
|
2690038d40 | ||
|
3fef570950 | ||
|
69450c7152 | ||
|
3e710fe393 | ||
|
e5f2eee167 | ||
|
899173eebd | ||
|
7273591560 | ||
|
c46a6443be | ||
|
b6786f8ba1 | ||
|
ab07be8157 | ||
|
c130165bfa | ||
|
5f237a0426 | ||
|
1e94b0ae71 | ||
|
5fea945b5b | ||
|
05d8264de6 | ||
|
208923563e | ||
|
afe99f9050 | ||
|
40e676ad03 | ||
|
cc210b1842 | ||
|
36f8fb2b37 | ||
|
5b96d30540 | ||
|
6f5524de26 | ||
|
872caf805c | ||
|
ef10b02f78 | ||
|
f48cc8bbe9 | ||
|
8da3a6f117 | ||
|
f0f88c287c | ||
|
7495055907 | ||
|
5eb0d422c8 | ||
|
dff1ea6b85 | ||
|
e3e427fa24 | ||
|
9d72463824 | ||
|
35edd7a043 | ||
|
252018b813 | ||
|
be90e97452 | ||
|
a9fa20bb91 | ||
|
4b16add055 | ||
|
73d1bf9fea | ||
|
b2b5addd09 | ||
|
513b2f8296 | ||
|
32b25d7b11 | ||
|
acfb9b9539 | ||
|
1c6ebcf02b | ||
|
ebd5aace3f | ||
|
5ce89ae82f | ||
|
4b42589cfa | ||
|
ffbe8cdc96 | ||
|
4c11ea97d5 | ||
|
ed2d080551 | ||
|
33d7eb69ef | ||
|
a2fbde44c0 | ||
|
b2674cf1f6 | ||
|
c423038587 | ||
|
0cfa977953 | ||
|
12fba95892 | ||
|
c86e5e8514 | ||
|
b0383a90e1 | ||
|
a5c65449de | ||
|
ee03b4f1ef | ||
|
874f3584e2 | ||
|
9a03b3aab6 | ||
|
a35fbdb3e9 | ||
|
40798ae616 | ||
|
9cdbb69f9e | ||
|
8a0c227bf9 | ||
|
b88b8305fd | ||
|
1dce9576e9 | ||
|
7014d824f0 | ||
|
25b013f781 | ||
|
eb4594d8ee | ||
|
be1b114114 | ||
|
e08cd70a89 | ||
|
40ab75478e | ||
|
47f04d7620 | ||
|
816465bfe9 | ||
|
1367fc234f | ||
|
a737eeb6ce | ||
|
7ed065a630 | ||
|
7d6fdcfaa5 | ||
|
14585fcb4f | ||
|
7fef91afd2 | ||
|
2c9e178a42 | ||
|
9f7f366573 | ||
|
c09023d1db | ||
|
ddeb696b25 | ||
|
eaeb88133f | ||
|
e34b92882a | ||
|
4b9434bf1b | ||
|
08e186af8e | ||
|
f6057c5eab | ||
|
ed6b8f84ad | ||
|
9334100cb3 | ||
|
a5fae1b1f0 | ||
|
41966c481f | ||
|
d0e5c0a187 | ||
|
d17904884e | ||
|
6e00529f36 | ||
|
a8027c542f | ||
|
4d0b04a397 | ||
|
3134b6b70e | ||
|
d1bff80dd1 | ||
|
f02dc44a23 | ||
|
92b5222295 | ||
|
251868dd7e | ||
|
23069a13e2 | ||
|
40006376f2 | ||
|
e66a28eb14 | ||
|
03e3ee7f16 | ||
|
0beb9128f9 | ||
|
d99cd2d02e | ||
|
dab0728357 | ||
|
8002af7526 | ||
|
38c5ee6eec | ||
|
e4a041fedb | ||
|
ebbe6a7791 | ||
|
7e8bb68999 | ||
|
ff39ffacf6 | ||
|
c29db8e7a4 | ||
|
6564446b0f | ||
|
add3d3e760 | ||
|
da189a105b | ||
|
10c67fe12a | ||
|
9d2c6b6ed6 | ||
|
6b92fccd06 | ||
|
4e5e356555 | ||
|
9e38e9dc6f | ||
|
c6557e3800 | ||
|
ce47170c29 | ||
|
4df125625c | ||
|
8ef238ea73 | ||
|
c99ed64473 | ||
|
e3e16a0166 | ||
|
2a08c60a62 | ||
|
b27c0ab992 | ||
|
3bfd87cda4 | ||
|
53169b1303 | ||
|
1d49ccd920 | ||
|
f075fb78f6 | ||
|
17f4dce0fc | ||
|
1f4bb2c149 | ||
|
e8464d7fe2 | ||
|
fbf7726642 | ||
|
ff59240748 | ||
|
bfba52781b | ||
|
659e15656f | ||
|
10e72a36a3 | ||
|
e0733ae435 | ||
|
ef9abd7165 | ||
|
9cc4d60b88 | ||
|
ec749a2b39 | ||
|
6d3fca9a41 | ||
|
9cbb9b4253 | ||
|
fce1be2684 | ||
|
f02e3a4076 | ||
|
3d8aaf6aaf | ||
|
ffb7d618ac | ||
|
11269fe62a | ||
|
a5a6855a0d | ||
|
a0287a62c1 | ||
|
2b76d7dc7c | ||
|
74e8f9bd4e | ||
|
a415a4ec2b | ||
|
f756632185 | ||
|
c28ef9afdd | ||
|
ba477f77c7 | ||
|
8ed5a047ec | ||
|
e6509aaf60 | ||
|
9caec668af | ||
|
a09c38f1cc | ||
|
0f6a0d820e | ||
|
8f5e3d5efb | ||
|
67c987f0d0 | ||
|
bf59d8dd74 | ||
|
cea35c486c | ||
|
b64d8c59b0 | ||
|
349aaab6ac | ||
|
da9ac2da72 | ||
|
8ae1b0c52e | ||
|
58d8ea5b0b | ||
|
d86bdcb2a7 | ||
|
d2a4d6624f | ||
|
d9bdd05c80 | ||
|
3350df131f | ||
|
9ce8b62894 | ||
|
65ffc76e2f | ||
|
b64da23fe1 | ||
|
67c9f4d064 | ||
|
d4c078cc78 | ||
|
9d9c57f334 | ||
|
38f184ad6b | ||
|
7ba1a96427 | ||
|
e3571fc6eb | ||
|
953a98dc0b | ||
|
de3d7aca16 | ||
|
346f654b2e | ||
|
87578e90eb | ||
|
874356e57f | ||
|
26bf79425c | ||
|
d36b0452bd | ||
|
64d880a15c | ||
|
387e4b942b | ||
|
6fd8f1b835 | ||
|
2dab3c8c52 | ||
|
35b7f94754 | ||
|
2532583765 | ||
|
7a34bf9bf5 | ||
|
281cc53532 | ||
|
3638b2ff64 | ||
|
8c27c7f10b | ||
|
88034ea2f0 | ||
|
86f66b5f72 | ||
|
838b1250f6 | ||
|
4da3d41083 | ||
|
9d9b8139d0 | ||
|
179a7a4c71 | ||
|
970ed40b09 | ||
|
0e0c649477 | ||
|
b3bcc1b501 | ||
|
652a7630bb | ||
|
7dad863a41 | ||
|
c61fa1aaa1 | ||
|
8376a027a1 | ||
|
d769e59090 | ||
|
abc5dbcd71 | ||
|
59ab09273f | ||
|
92d7c16782 | ||
|
0104188074 | ||
|
d455dd68f6 | ||
|
cf036ea0e8 | ||
|
655d95002c | ||
|
0a1f8388d0 | ||
|
3f88be6527 | ||
|
50ed202aac | ||
|
a92589436a | ||
|
b0f1a0f4bb | ||
|
6ff0aaaa70 | ||
|
ffbe1d424b | ||
|
a5922a0e8b | ||
|
fa06c7967e | ||
|
d5f99e0478 | ||
|
7b43d5c54e | ||
|
3ba62628dc | ||
|
faad779cf6 | ||
|
f6b21a2789 | ||
|
867a45138c | ||
|
aea67c8e37 | ||
|
d2334ab3e0 | ||
|
5b1c9831c2 | ||
|
a66e4770c1 | ||
|
0929267e72 | ||
|
dd9c415020 | ||
|
dd6efdad59 | ||
|
13320a08ef | ||
|
8098d313e6 | ||
|
458f9cade6 | ||
|
7512efed9e | ||
|
2929f28243 | ||
|
7b0cabc416 | ||
|
6463354a39 | ||
|
9f1493ce73 | ||
|
91dc002c31 | ||
|
54b5ee5806 | ||
|
75780d7fc8 | ||
|
61df1ac2b3 | ||
|
46384adf00 | ||
|
719aa66224 | ||
|
15507ffc16 | ||
|
bb4b3d2731 | ||
|
4dab281da1 | ||
|
1aea572aca | ||
|
fda5d8d637 | ||
|
1896825f39 | ||
|
566510769b | ||
|
4700b44125 | ||
|
641a9e5441 | ||
|
7fbf5649eb | ||
|
dfbc109b59 | ||
|
0a419781c2 | ||
|
0795b6bd6c | ||
|
ddd1937655 | ||
|
3bf55c0b4d | ||
|
a8d3cbe53b | ||
|
96a734b012 | ||
|
b7f83b2cfc | ||
|
bfecae1d60 | ||
|
1c02f7e032 | ||
|
f045744606 | ||
|
10a4f79135 | ||
|
4159bb1340 | ||
|
ac8a4b05b4 | ||
|
80a7f6930c | ||
|
614f975e68 | ||
|
df3447b725 | ||
|
e9cb9baedb | ||
|
e279a779fc | ||
|
e596d0b6ce | ||
|
0388d82504 | ||
|
909bb523bf | ||
|
589394e80b | ||
|
7f7f60698c | ||
|
13d4394844 | ||
|
70483d6088 | ||
|
2f92bc38e6 | ||
|
499c1467df | ||
|
c5227ab2a5 | ||
|
fe1f7beaf8 | ||
|
ac8b07ddd9 | ||
|
aab98b8626 | ||
|
1145af71bf | ||
|
b7f69edaa2 | ||
|
8f1a1874a9 | ||
|
6f52873636 | ||
|
aa10bc2059 | ||
|
dfba919db8 | ||
|
bc7db0ae16 | ||
|
88798b3514 | ||
|
79ce924bc1 | ||
|
d43e8c94f5 | ||
|
b54dbe0df6 | ||
|
79a1495f66 | ||
|
893e4b3067 | ||
|
a349db54d6 | ||
|
41d0b5d3a2 | ||
|
a5a18fb6dd | ||
|
a8c62e707a | ||
|
b67b67f2df | ||
|
ee90d227c2 | ||
|
51f46a8f91 | ||
|
6ac088ea2f | ||
|
6a4179cef5 | ||
|
90012c86e8 | ||
|
aa3a46a35f | ||
|
2e7ae40d49 | ||
|
eb83bd5797 | ||
|
f46057ca02 | ||
|
f4898b9258 | ||
|
9c9623e47f | ||
|
1ad0dd28f1 | ||
|
ff9b541070 | ||
|
965042d015 | ||
|
9264d7c758 | ||
|
0fbe8e8e69 | ||
|
3862b60094 | ||
|
b8ecd1a656 | ||
|
bb4b04f89a | ||
|
d24fa2e777 | ||
|
9348b0c4f2 | ||
|
b00d02496e | ||
|
5f3dffa820 | ||
|
18d5ca9ce5 | ||
|
dcd0f200d6 | ||
|
a5b3393bb0 | ||
|
595f9c132b | ||
|
5c3b6a8559 | ||
|
a3b18d87dd | ||
|
0f06b88ee7 | ||
|
fd993cbaf2 | ||
|
ab69c79d07 | ||
|
f3ae5e4cb2 | ||
|
b9289340d9 | ||
|
8b71103836 | ||
|
ea101f7932 | ||
|
7700f31213 | ||
|
a609c9db82 | ||
|
a83b952f63 | ||
|
86b3c54c77 | ||
|
e283611dc2 | ||
|
8489e0bdc2 | ||
|
a415b8e37b | ||
|
30f292f5a2 | ||
|
2c15388520 | ||
|
867bfa3f9e | ||
|
4cb930c2c1 | ||
|
70692dd522 | ||
|
c174862b7e | ||
|
7c683608ab | ||
|
7f8c4d877a | ||
|
f648fe88d5 | ||
|
9649d78fa4 | ||
|
16c43b6a7d | ||
|
2e2ab7b485 | ||
|
6d3ac29aee | ||
|
f930a75471 | ||
|
171837eefe | ||
|
0017fad554 | ||
|
c98cceaf22 | ||
|
dd7e09d092 | ||
|
4ee05b1c17 | ||
|
34004612ac | ||
|
da1888a7fa | ||
|
d7d4f681ca | ||
|
8d8c2930d2 | ||
|
352648f173 | ||
|
f6e7a94bd5 | ||
|
2793f9c078 | ||
|
a080173010 | ||
|
f3373e1e32 | ||
|
f719803fdc | ||
|
d56da0d68f | ||
|
1689191f29 | ||
|
973c2a9a3a | ||
|
707a85b6c1 | ||
|
71a015557f | ||
|
bc52a84998 | ||
|
d6e8cce44b | ||
|
2d6734cb0a | ||
|
7bc1917908 | ||
|
bb75cd40f5 | ||
|
4bf3dcbebd | ||
|
c31b53942d | ||
|
1e867ce52b | ||
|
acfe6dd37d | ||
|
0019039bc1 | ||
|
ba3e4da853 | ||
|
795fd75d60 | ||
|
b84d151afa | ||
|
17d76de7b8 | ||
|
052fdcc8d9 | ||
|
266755bd82 | ||
|
7c68964153 | ||
|
31c59cad83 | ||
|
4f96688bf7 | ||
|
c1a0d1bf3d | ||
|
115bf63538 | ||
|
bd0107a2ab | ||
|
f261c748b6 | ||
|
2b55476df0 | ||
|
d4fd5e3365 | ||
|
21c8985fe8 | ||
|
765d72d194 | ||
|
a918abe113 | ||
|
7b33018ade | ||
|
fb34cbf7cd | ||
|
4ffdb12938 | ||
|
0dfe1d0d8b | ||
|
e27b69f42a | ||
|
074b91497b | ||
|
8297f700d0 | ||
|
c40d7f0896 | ||
|
556565d072 | ||
|
8a9c2c055c | ||
|
0a4ffb7cf8 | ||
|
c9db08873f | ||
|
9f9ce10f2f | ||
|
2f54ab0a24 | ||
|
a520edb8fa | ||
|
12fd9a8827 | ||
|
b99fbd0be0 | ||
|
968360fed6 | ||
|
0103478521 | ||
|
b55d744e77 | ||
|
1e4ff6105a | ||
|
8df63a4499 | ||
|
e1bf699ad4 | ||
|
526a97db7c | ||
|
f142ed28e4 | ||
|
6d533d2f86 | ||
|
09ad1d529e | ||
|
63022f3c59 | ||
|
834a93f76c | ||
|
efd4b43c1b | ||
|
430c6aa32f | ||
|
d43f196fa6 | ||
|
ec220d6494 | ||
|
3108d0b060 | ||
|
91f7d53d8e | ||
|
040fc6dd0f | ||
|
65f83b814c | ||
|
b648d3eb4c | ||
|
cd6085ebdc | ||
|
6949f64d28 | ||
|
9bd24e2efb | ||
|
4dfd4e4cd3 | ||
|
71e0de5588 | ||
|
42b595e7e7 | ||
|
a143a19b8b | ||
|
2d0917c56e | ||
|
971b30a76d | ||
|
8171087cfb | ||
|
9bb302b92c | ||
|
6a4cb42565 | ||
|
b6f0c789d5 | ||
|
483af1d036 | ||
|
7ab774bc8d | ||
|
f23634d580 | ||
|
8dd32c2bb5 | ||
|
10b628a20a | ||
|
8e64652d80 | ||
|
054ab67771 | ||
|
98711450dd | ||
|
ced316d88c | ||
|
c4628bd92a | ||
|
3fba5e317a | ||
|
101945acf9 | ||
|
92c509bc48 | ||
|
70641e701a | ||
|
9aa8f44489 | ||
|
778e0e06f3 | ||
|
8956ec0bd4 | ||
|
757e1eac7a | ||
|
95140bb724 | ||
|
d60534d52c | ||
|
a1b58d05d1 | ||
|
f432193e07 | ||
|
25a7c6e829 | ||
|
307fa831d6 | ||
|
85031a66cc | ||
|
32010de36e | ||
|
b32dc8c667 | ||
|
32881dbe31 | ||
|
3986470b3c | ||
|
e502c8db86 | ||
|
13b59af1ff | ||
|
6fd092b5df | ||
|
6cc7da0c9c | ||
|
0868831675 | ||
|
0e772afb9d | ||
|
b6a4f83c41 | ||
|
c980402a4c | ||
|
27be69e3b3 | ||
|
aede89d408 | ||
|
4ae9e8cf6e | ||
|
0843fd4b77 | ||
|
7461536459 | ||
|
d1f85f0de3 | ||
|
be8b5a41c8 | ||
|
f534503a66 | ||
|
28ef238a5c | ||
|
dde1c7424f | ||
|
8aec6b58e0 | ||
|
d9c868d0f5 | ||
|
a9249bce5e | ||
|
c3f5dc75be | ||
|
6b057e026c | ||
|
f3588c66ec | ||
|
a269929f0e | ||
|
45d054d295 | ||
|
8bdbadabb2 | ||
|
2cc9fe5267 | ||
|
c3aca59cfb | ||
|
3f3c8d74e8 | ||
|
4522db7624 | ||
|
a61299a940 | ||
|
af77106a2f | ||
|
416577f3dc | ||
|
65c3f2a8f1 | ||
|
17928563a2 | ||
|
bb4f65d743 | ||
|
932b75c166 | ||
|
1787ccb585 | ||
|
b868886b25 | ||
|
e42202e794 | ||
|
9ee177573d | ||
|
ae6a3b03c4 | ||
|
82aed75b3b | ||
|
3a2ccd079e | ||
|
197fed16bd | ||
|
c57fbe9d0d | ||
|
12033bc499 | ||
|
71c19f6eb7 | ||
|
d2cd24e875 | ||
|
9036edd935 | ||
|
fcc320e385 | ||
|
0682e5719d | ||
|
679559ce18 | ||
|
2e814cc43f | ||
|
087a5363bb | ||
|
3472b6c5bc | ||
|
e1277c26ca | ||
|
64d97d0787 | ||
|
b9c08cddd4 | ||
|
dccbd573e8 | ||
|
efe3aaaf0b | ||
|
df1212ce27 | ||
|
4c75f013de | ||
|
1f31e8e243 | ||
|
16d78407db | ||
|
4e4c3de103 | ||
|
dbaee1a5da | ||
|
6380aea647 | ||
|
47663a4ad3 | ||
|
0cdd071230 | ||
|
df5366a5ca | ||
|
91a9d25a38 | ||
|
aa916fc43f | ||
|
505ee586ff | ||
|
b295fa4f4f | ||
|
b1d7386075 | ||
|
d693d91e26 | ||
|
decabb62c0 | ||
|
cc82f95c8f | ||
|
47759eb096 | ||
|
2e5cc62071 | ||
|
9ccb87675d | ||
|
c6cca9d0d2 | ||
|
98554475be | ||
|
6cc5160d60 | ||
|
cb65cd363a | ||
|
222bec0204 | ||
|
51251293ab | ||
|
78aa120089 | ||
|
d5022d87e7 | ||
|
5431aa6391 | ||
|
c19ab58420 | ||
|
b0942fe31d | ||
|
7f347a290c | ||
|
0d1d836a89 | ||
|
79d782c1d5 | ||
|
69cf5782d4 | ||
|
1fc7bd107d | ||
|
203f9c24d4 | ||
|
79274e904c | ||
|
5441a4ea13 | ||
|
5c1ef45488 | ||
|
7a4b404af7 | ||
|
1046ada9fc | ||
|
cafd3b79fd | ||
|
a5830fe0d5 | ||
|
5cee745fc5 | ||
|
1c88a2cb25 | ||
|
9c95831f35 | ||
|
c789acc091 | ||
|
8de93bee95 | ||
|
f2e9c62a97 | ||
|
26d4483d36 | ||
|
4859cec0c5 | ||
|
0dcb874c09 | ||
|
1da1a70650 | ||
|
e78210dc96 | ||
|
81ad381263 | ||
|
18f24a2270 | ||
|
f22cd2d734 | ||
|
07e7cde560 | ||
|
ad06f6dd71 | ||
|
9ea08aa4d7 | ||
|
4e952ad443 | ||
|
6308a442d1 | ||
|
078e0c1e44 | ||
|
8443463006 | ||
|
d2e3198407 | ||
|
a43879fe91 | ||
|
103c929ff0 | ||
|
a9a67b08a5 | ||
|
b27b9a6984 | ||
|
516bd9ea51 | ||
|
14300a1475 | ||
|
6217a51920 | ||
|
c814483627 | ||
|
1cd09a03e6 | ||
|
80a9c24b6b | ||
|
08f365236a | ||
|
7a90184421 | ||
|
5847a50334 | ||
|
1ade9b39e4 | ||
|
4c94e44710 | ||
|
d640a37984 | ||
|
e4c8e4905c | ||
|
4d30633cd4 | ||
|
6a0727acdc | ||
|
df72846b89 | ||
|
b5594371ab | ||
|
d7553893c4 | ||
|
48dc4c02ae | ||
|
f796f92058 | ||
|
fad280f94b | ||
|
cf9d1fbd1a | ||
|
0bc04a4df0 | ||
|
2b47ef1266 | ||
|
fdece6cdf3 | ||
|
a623868f20 | ||
|
ce8c09f51f | ||
|
c381ad2002 | ||
|
40497ec824 | ||
|
e43d1781bf | ||
|
d51c1707e3 | ||
|
faec26b873 | ||
|
0de7adfa37 | ||
|
5581a30f58 | ||
|
0dcfcf5854 | ||
|
92f077a4e9 | ||
|
defeb1a56f | ||
|
4b99ab7066 | ||
|
9cf81ac7f5 | ||
|
1358acfd7c | ||
|
99eeb52b76 | ||
|
b9b15b7007 | ||
|
293d64e122 | ||
|
b71cf56bda | ||
|
afada9ed40 | ||
|
75b6545bc2 | ||
|
973dfbf868 | ||
|
99f63f39eb | ||
|
d4faeb064b | ||
|
981d3005f3 | ||
|
faf4b03c43 | ||
|
8f6fcd2744 | ||
|
941cf6979e | ||
|
566c8a1bbc | ||
|
53f166274a | ||
|
57a575b5f0 | ||
|
51044167d1 | ||
|
009d59335f | ||
|
ec5729a99f | ||
|
86c472f4f7 | ||
|
30213816ae | ||
|
c939f1b2c7 | ||
|
b3421e397d | ||
|
c6272fca07 | ||
|
e7ad87e15f | ||
|
737894027a | ||
|
0ba3bd9aed | ||
|
f049fcd604 | ||
|
01df1d3301 | ||
|
66342f5b89 | ||
|
dec6c7ea8c | ||
|
f847a1a567 | ||
|
6763de2f25 | ||
|
09b6add6ee | ||
|
810d249ca2 | ||
|
29ea1c85b4 | ||
|
f19a6b9714 | ||
|
d06c2cf0f7 | ||
|
7e08109229 | ||
|
defd36ad7f | ||
|
39e51e5599 | ||
|
6768490f69 | ||
|
55b97ffc27 | ||
|
e7e016637b | ||
|
58075e25e8 | ||
|
e1af6584d9 | ||
|
23a513baec | ||
|
b343bf783a | ||
|
8be701db0a | ||
|
90771c1762 | ||
|
759950c1a6 | ||
|
205be67622 | ||
|
1a128f9a76 | ||
|
223ae1dfc2 | ||
|
965894a875 | ||
|
5c54e96aab | ||
|
56d7c2c6ed | ||
|
df75b70f3e | ||
|
4bdae294cb | ||
|
253c6e1fc1 | ||
|
9c4ba813d4 | ||
|
41d660dd98 | ||
|
36d1f87c5a | ||
|
9bc9e42c94 | ||
|
eb7152436c | ||
|
2bc79701e6 | ||
|
29b54d12cc | ||
|
1a04d15d4d | ||
|
f6fc8c08a4 | ||
|
699c642128 | ||
|
d285363700 | ||
|
a9ed32663a | ||
|
911831a9c5 | ||
|
97db218829 | ||
|
5b186c936d | ||
|
eed4d0d30f | ||
|
366451c11c | ||
|
9d13b91f46 | ||
|
7f692e7b28 | ||
|
7137dc387a | ||
|
757c67b7d8 | ||
|
63bdd193e0 | ||
|
66ecbd8545 | ||
|
d64a515476 | ||
|
34a9ed3587 | ||
|
ba1776d6a9 | ||
|
4fe95d6870 | ||
|
943f2e1a7b | ||
|
c77d6f39f2 | ||
|
7bd5c793bb | ||
|
61601a052c | ||
|
0c0024497d | ||
|
46a9e5657f | ||
|
4b90357d79 | ||
|
38ac0bcc8e | ||
|
b300e06226 | ||
|
f3eaf6fe04 | ||
|
a12a7d0b90 | ||
|
7479c61d05 | ||
|
3c91fbeaa6 | ||
|
2f2a306994 | ||
|
6c284060d7 | ||
|
1e8735eac1 | ||
|
7bcf6a621f | ||
|
825af557ae | ||
|
5e86c89989 | ||
|
ce4cb9c917 | ||
|
bda6879305 | ||
|
608d3f4d8d | ||
|
51ece03612 | ||
|
682527f509 | ||
|
5354c46e01 | ||
|
8e638dbf6d | ||
|
a0673f8e10 | ||
|
4193bf5641 | ||
|
ebaec047f2 | ||
|
3d9b257597 | ||
|
9d9685eec9 | ||
|
cf2ac56950 | ||
|
240ff27707 | ||
|
90241ae4e6 | ||
|
6400902a01 | ||
|
ee758e22a6 | ||
|
2ee13bbc24 | ||
|
e5a5933db6 | ||
|
8c628a6dc2 | ||
|
1fb4ebb34a | ||
|
64eec22884 | ||
|
abb1244b44 | ||
|
e816006b8e | ||
|
c123c93ca0 | ||
|
0e27b10b8f | ||
|
a876cc8c26 | ||
|
ce4035fdd3 | ||
|
95c0d81ba1 | ||
|
40cd7570e6 | ||
|
b003019958 | ||
|
d264369441 | ||
|
75fcfb1c1d | ||
|
170b75d0c9 | ||
|
994a0dcd4c | ||
|
5314c2bddf | ||
|
b6acc1b9db | ||
|
1b393b1d0b | ||
|
effb5d95d0 | ||
|
8ab7f6b595 | ||
|
1ee4894271 | ||
|
65539df39a | ||
|
8fef959418 | ||
|
f30c5f730e | ||
|
a8e74fff9b | ||
|
cb49a0c4cc | ||
|
3a413cbf30 | ||
|
cb8b245639 | ||
|
8fb9f19aae | ||
|
a0db23bd0e | ||
|
6f66423de9 | ||
|
7efc624b0a | ||
|
9c3126add0 | ||
|
f1ab6f31a1 | ||
|
f64a937a57 | ||
|
526329e697 | ||
|
89fdd1baf2 | ||
|
e132cdd325 | ||
|
bc24c78e06 | ||
|
6f093ade8a | ||
|
a159899d02 | ||
|
eb2aa1f83a | ||
|
cee8ac9dbe | ||
|
71ac6ab2b8 | ||
|
be769d4ca6 | ||
|
e802c5f082 | ||
|
f64373a29f | ||
|
a1683dfb67 | ||
|
e803efc6fc | ||
|
459c62b339 | ||
|
1b3109d650 | ||
|
ce0c33f62a | ||
|
077db77259 | ||
|
30e1d29f58 | ||
|
04e9789e7f | ||
|
b51b4c92e2 | ||
|
74a96bf7c2 | ||
|
cd7b21a703 | ||
|
834aea70a7 | ||
|
85bc9b69ae | ||
|
f3fef8934e | ||
|
43279ee010 | ||
|
6d0697eb89 | ||
|
d5128b3e87 | ||
|
9feb7096ee | ||
|
34aad4046f | ||
|
ca7f4fb531 | ||
|
80f15a41c4 | ||
|
2f773fca18 | ||
|
ba464ec93a | ||
|
80d5a1ec1f | ||
|
f2a98339e2 | ||
|
2478eef550 | ||
|
7307380091 | ||
|
fb610f99df | ||
|
aa1ffc9319 | ||
|
ef9e0e743a | ||
|
820db008ff | ||
|
05ae327553 | ||
|
9b8d8b020f | ||
|
92b096b05b | ||
|
8bd1853b56 | ||
|
96024e88e9 | ||
|
d6008e896a | ||
|
10b6399d30 | ||
|
eeeb62b433 | ||
|
9ff6358dc9 | ||
|
bea5f94de6 | ||
|
e28b93e0cc | ||
|
9a8a0af7ba | ||
|
d03be5ea5f | ||
|
7fca351e05 | ||
|
d7c12ccd60 | ||
|
74854ac65d | ||
|
d48e4b680e | ||
|
29ffddee71 | ||
|
7fa596a991 | ||
|
77d52982c8 | ||
|
39d46e2599 | ||
|
a1dff65cd1 | ||
|
a2627e8790 | ||
|
20dfb23dd4 | ||
|
d1935b0b0b | ||
|
039b466bd0 | ||
|
c371e86fa1 | ||
|
8d0933ca4b | ||
|
6de352f7da | ||
|
c0d3cf6a27 | ||
|
f21ef60175 | ||
|
d6de9ce5d9 | ||
|
9f981a7741 | ||
|
6a33472214 | ||
|
77f8bb48fe | ||
|
84e68b3a73 | ||
|
b02e579c1c | ||
|
6851ff8fab | ||
|
7313cc777e | ||
|
ace3b806a9 | ||
|
ef58752db8 | ||
|
8b8e065441 | ||
|
e3eff2a976 | ||
|
e005455881 | ||
|
26c6ffa458 | ||
|
457e13634e | ||
|
2c5e184ea1 | ||
|
841abf712e | ||
|
221f4a4a8c | ||
|
301694e922 | ||
|
fc252f1ba5 | ||
|
3418683cfc | ||
|
d720428564 | ||
|
543d68a7d3 | ||
|
6fd54436ee | ||
|
4186ced479 | ||
|
eaef881e7d | ||
|
de7ed7c286 | ||
|
c767712c64 | ||
|
689eaab3e2 | ||
|
fb08d1b27e | ||
|
6e4348b0ea | ||
|
4a76763a8a | ||
|
55664c1c10 | ||
|
d4938e34b0 | ||
|
c20b658f70 | ||
|
98f02ece97 | ||
|
6bc23ee282 | ||
|
a6d9b42e5f | ||
|
e9285d43af | ||
|
d74f45aee0 | ||
|
a70addbf14 | ||
|
ae14b0f272 | ||
|
d892dfe084 | ||
|
1914a08088 | ||
|
88f645eeda | ||
|
2ca001edcf | ||
|
6eb2b876f1 | ||
|
0dc181a529 | ||
|
d27e9c7c76 | ||
|
93d50db2d6 | ||
|
b5800d1124 | ||
|
3f71d7dba1 | ||
|
514bf6e39a | ||
|
470e6d5edf | ||
|
3066cd700a | ||
|
bad07b355c | ||
|
b82a3cddd8 | ||
|
31e43ce124 | ||
|
1da5c41ab3 | ||
|
5ce61e8c3a | ||
|
c220fa89a1 | ||
|
53e028ff14 | ||
|
53f62f1129 | ||
|
a2b5ec7e1b | ||
|
dc65058c20 | ||
|
0d1f0c07fe | ||
|
6c043c4a86 | ||
|
180f9bf4fa | ||
|
7729ae4ad0 | ||
|
e59222496a | ||
|
910cd5edbe | ||
|
676f453cbd | ||
|
86ea314598 | ||
|
7201238104 | ||
|
f4761b5e08 | ||
|
3885ac90f1 | ||
|
3d637fea98 | ||
|
9c310f789f | ||
|
ad596f4390 | ||
|
6323180344 | ||
|
9a3aeb8a99 | ||
|
3dbac0f88b | ||
|
9ebee7de32 | ||
|
ea5e46f6dd | ||
|
7cbd9e9524 | ||
|
33b2063680 | ||
|
20903c0a9b | ||
|
4a06511d85 | ||
|
2e1aebbc12 | ||
|
4df031187f | ||
|
a48b740b94 | ||
|
8b16d31413 | ||
|
bb5d6a2551 | ||
|
dab6b99bcd | ||
|
b3576d77da | ||
|
f4260e261f | ||
|
68ad7685bc | ||
|
0b4f714bc4 | ||
|
720561de6e | ||
|
06f42f433b | ||
|
4ae447b205 | ||
|
2b4807b116 | ||
|
f807b82162 | ||
|
0061a305d8 | ||
|
6488d236ec | ||
|
38830f9cbb | ||
|
726573f100 | ||
|
da716058fa | ||
|
5a780dfab1 | ||
|
aaddf41e5b | ||
|
0b4944f125 | ||
|
60c9955f51 | ||
|
ae63843647 | ||
|
265c621c9e | ||
|
5034b3ad7d | ||
|
6d80770ba4 | ||
|
b9e7ed004c | ||
|
9ef01e7f82 | ||
|
1487e6f857 | ||
|
ffe24d5b8f | ||
|
8c11927b55 | ||
|
bf7041eeb9 | ||
|
b71571b793 | ||
|
a45df1d840 | ||
|
e4401b2534 | ||
|
ca7168ee4a | ||
|
7f86b6e71e | ||
|
bf6bc330af | ||
|
46a9fe93d7 | ||
|
2cf5b848db | ||
|
e731dcfe6e | ||
|
c988b98ac6 | ||
|
3dc73485ee | ||
|
48dbef391b | ||
|
f26b6b6251 | ||
|
f892646a84 | ||
|
7b4c5bdd34 | ||
|
7618e0387c | ||
|
7d6ceb81c1 | ||
|
5804e43589 | ||
|
d42401056c | ||
|
c842583bbf | ||
|
04e0d305d0 | ||
|
72ee4b3a7c | ||
|
ff872a7970 | ||
|
fcd2a2f186 | ||
|
51f5c2d094 | ||
|
a093c28d1a | ||
|
b2a28962bc | ||
|
cb7e1540c6 | ||
|
d87547da66 | ||
|
6c0a3bb247 | ||
|
0fc5a27889 | ||
|
0861404121 | ||
|
bfb672f326 | ||
|
d9f36ae7e1 | ||
|
65026ed1fa | ||
|
ef61deb132 | ||
|
ad8d53af27 | ||
|
047728e3d4 | ||
|
c56c0fce0d | ||
|
c6fc455432 | ||
|
4b4a673d98 | ||
|
e00697f3a1 | ||
|
3458aa2482 | ||
|
aefd96e604 | ||
|
bcd4cebd48 | ||
|
cc96bcff99 | ||
|
33e5e426d4 | ||
|
85468ce2ec | ||
|
dfbc2adc08 | ||
|
de7b100b8a | ||
|
d470d628f5 | ||
|
40ef561349 | ||
|
12398d65fd | ||
|
c1d0528d80 | ||
|
b3a8e92810 | ||
|
a0ee6ccdf3 | ||
|
d5801333f7 | ||
|
b218f3ad43 | ||
|
a6f1b22eb3 | ||
|
088e34dc47 | ||
|
297ab5c526 | ||
|
647a75249c | ||
|
1094de49c2 | ||
|
6387bf8d13 | ||
|
21029e9fd2 | ||
|
6eaeae60f6 | ||
|
b854882470 | ||
|
b9cb3b9e3e | ||
|
d31ff51785 | ||
|
4f44e73b21 | ||
|
cb3eb84665 | ||
|
7b796532df | ||
|
1d4cae9ecb | ||
|
28587d0afc | ||
|
17e4e5f8c4 | ||
|
10c99b3c2b | ||
|
7de15bc54c | ||
|
a3c63f6c03 | ||
|
65577ed422 | ||
|
6777d462ff | ||
|
d86817ef07 | ||
|
1d4c040d4f | ||
|
97c798a375 | ||
|
76053b3cd4 | ||
|
01f821bbc3 | ||
|
7fc550aedc | ||
|
6d9c0a76df | ||
|
cbbef46c6c | ||
|
ab9cdcadfb | ||
|
bcc1b7aec9 | ||
|
9d44c5d940 | ||
|
7cd6dbe898 | ||
|
9fc5073540 | ||
|
0386b1788a | ||
|
273fc5b5b6 | ||
|
ae3b015f65 | ||
|
154710aa50 | ||
|
e2c56609ab | ||
|
6e274740df | ||
|
1a41632af8 | ||
|
e5e45f860b | ||
|
1e09fd0cee | ||
|
91804b53fb | ||
|
5a4de4aa1f | ||
|
059f21a3ac | ||
|
ab6c9775d3 | ||
|
f9803b7360 | ||
|
3fbab9504b | ||
|
9affb8c171 | ||
|
ede73b207b | ||
|
1662ee64e0 | ||
|
03b9eb5dcb | ||
|
5eea1ca44e | ||
|
a79da361ee | ||
|
30b6080529 | ||
|
f22ee4f73a | ||
|
0aa7d3ef75 | ||
|
d2ed2c4e1e | ||
|
39bfbc3a26 | ||
|
7483d01942 | ||
|
ca55f22c73 | ||
|
be0ebbe644 | ||
|
923a818e37 | ||
|
afb9d0a3d7 | ||
|
a7a05ca75c | ||
|
31aac66f5a | ||
|
421005b282 | ||
|
60b38847d2 | ||
|
43d7d47e9b | ||
|
9486c693b6 | ||
|
c013e727d4 | ||
|
fe1ab6d2ef | ||
|
0f3defbb26 | ||
|
8a5dd101a3 | ||
|
5e7d9d2fcf | ||
|
da3ddaf676 | ||
|
0ef7a9d455 | ||
|
496cc64bc6 | ||
|
685bdc87e6 | ||
|
8671e40217 | ||
|
71f78fb8c6 | ||
|
a82a88b555 | ||
|
9d7deba67a | ||
|
b18fe1203a | ||
|
621f8c922f | ||
|
4ff5aa18ae | ||
|
fe80967535 | ||
|
354d08dfff | ||
|
e9f5b9d657 | ||
|
45405a48a8 | ||
|
73426d2d30 | ||
|
ad625c1e6d | ||
|
27bb2b7289 | ||
|
d08a7f70e6 | ||
|
9c87972385 | ||
|
9e3db526d5 | ||
|
9578fdf7d7 | ||
|
26b8c6cc13 | ||
|
d79fec1c3f | ||
|
340f48fdeb | ||
|
5cf9ab8a97 | ||
|
9db2ff7186 | ||
|
030d1a683b | ||
|
55260127bd | ||
|
e31aafb393 | ||
|
1dc2d0e759 | ||
|
e47b7540c3 | ||
|
3be239b864 | ||
|
ada35dca00 | ||
|
67de119566 | ||
|
1e1efa294e | ||
|
752c73193e | ||
|
7df97601a3 | ||
|
51f534c82e | ||
|
03040de75a | ||
|
602b932a23 | ||
|
9f5d383d50 | ||
|
8880871951 | ||
|
07f8edcc26 | ||
|
468f92261a | ||
|
6fafa40d93 | ||
|
621f940805 | ||
|
802232c907 | ||
|
3522808528 | ||
|
09e45fee89 | ||
|
64dfb3fba9 | ||
|
913b363126 | ||
|
d6c772f15c | ||
|
bef207e9b7 | ||
|
1e0775a3da | ||
|
da6b378e64 | ||
|
53f597b6d0 | ||
|
d53336af06 | ||
|
292908ca4a | ||
|
7c99e30920 | ||
|
b7f54e42b2 | ||
|
9dd71fa32e | ||
|
0c4b53e2f1 | ||
|
0c109c9d37 |
18
.editorconfig
Normal file
@@ -0,0 +1,18 @@
|
||||
# This file is for standardising the coding style between different editors
|
||||
# http://editorconfig.org/
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.yml]
|
||||
indent_size = 4
|
||||
indent_style = space
|
9
.gitignore
vendored
@@ -1,9 +1,8 @@
|
||||
*~
|
||||
/phpunit.xml
|
||||
/phpBB/cache/twig/*
|
||||
/phpBB/cache/*.html
|
||||
/phpBB/cache/*.php
|
||||
/phpBB/cache/*.lock
|
||||
/phpBB/cache/*
|
||||
!/phpBB/cache/.htaccess
|
||||
!/phpBB/cache/index.html
|
||||
/phpBB/composer.phar
|
||||
/phpBB/config*.php
|
||||
/phpBB/ext/*
|
||||
@@ -11,6 +10,7 @@
|
||||
/phpBB/images/avatars/gallery/*
|
||||
/phpBB/images/avatars/upload/*
|
||||
/phpBB/images/ranks/*
|
||||
/phpBB/install/schemas/schema.json
|
||||
/phpBB/language/*
|
||||
!/phpBB/language/en
|
||||
/phpBB/store/*
|
||||
@@ -21,3 +21,4 @@
|
||||
/tests/phpbb_unit_tests.sqlite*
|
||||
/tests/test_config*.php
|
||||
/tests/tmp/*
|
||||
/tests/vendor
|
||||
|
78
.jscsrc
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
{
|
||||
"excludeFiles": ["node_modules/**", "**/build/**"],
|
||||
"requireCurlyBraces": [
|
||||
"if", "else", "for", "while", "do", "try", "catch"
|
||||
],
|
||||
"requireSpaceBeforeKeywords": [
|
||||
"else", "while", "catch"
|
||||
],
|
||||
"requireSpaceAfterKeywords": [
|
||||
"do", "for", "if", "else", "switch", "case", "try", "catch", "while", "return", "typeof"
|
||||
],
|
||||
"requireSpaceBeforeBlockStatements": true,
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
"requireSpacesInConditionalExpression": {
|
||||
"afterTest": true,
|
||||
"beforeConsequent": true,
|
||||
"afterConsequent": true,
|
||||
"beforeAlternate": true
|
||||
},
|
||||
"requireSpacesInAnonymousFunctionExpression": {
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"disallowSpacesInNamedFunctionExpression": {
|
||||
"beforeOpeningRoundBrace": true
|
||||
},
|
||||
"requireSpacesInFunction": {
|
||||
"beforeOpeningCurlyBrace": true
|
||||
},
|
||||
"disallowSpacesInCallExpression": true,
|
||||
"requireBlocksOnNewline": true,
|
||||
"requirePaddingNewlinesBeforeKeywords": ["case"],
|
||||
"disallowEmptyBlocks": true,
|
||||
"disallowSpacesInsideArrayBrackets": "nested",
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
"requireSpacesInsideObjectBrackets": "all",
|
||||
"disallowQuotedKeysInObjects": "allButReserved",
|
||||
"disallowSpaceAfterObjectKeys": true,
|
||||
"requireSpaceBeforeObjectValues": true,
|
||||
"requireCommaBeforeLineBreak": true,
|
||||
"requireOperatorBeforeLineBreak": [
|
||||
"?", "=", "+", "-", "/", "*", "===", "!==", ">", ">=", "<", "<="
|
||||
],
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
"requireSpaceBeforeBinaryOperators": [
|
||||
"=", "+", "+=", "-", "-=", "/", "/=", "*", "*=", "===", "!==", "<", "<=", ">", ">="
|
||||
],
|
||||
"requireSpaceAfterBinaryOperators": [
|
||||
"=", "+", "+=", "-", "-=", "/", "/=", "*", "*=", "===", "!==", "<", "<=", ">", ">="
|
||||
],
|
||||
"disallowKeywords": ["with"],
|
||||
"disallowMultipleLineStrings": true,
|
||||
"disallowMixedSpacesAndTabs": "smart",
|
||||
"disallowTrailingWhitespace": true,
|
||||
"disallowTrailingComma": true,
|
||||
"disallowKeywordsOnNewLine": ["else"],
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
"maximumLineLength": {
|
||||
"value": 120,
|
||||
"tabSize": 4,
|
||||
"allowUrlComments": true,
|
||||
"allowRegex": true
|
||||
},
|
||||
"requireCapitalizedConstructors": true,
|
||||
"requireDotNotation": true,
|
||||
"disallowYodaConditions": true,
|
||||
"requireSpaceAfterLineComment": {
|
||||
"allExcept": ["#", "="]
|
||||
},
|
||||
"disallowNewlineBeforeBlockStatements": true,
|
||||
"validateQuoteMarks": {
|
||||
"mark": "'",
|
||||
"escape": true
|
||||
},
|
||||
"validateParameterSeparator": ", ",
|
||||
"safeContextKeyword": ["that"]
|
||||
}
|
24
.jshintrc
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
{
|
||||
"bitwise": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"es3": true,
|
||||
"forin": false,
|
||||
"freeze": true,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"noempty": true,
|
||||
"nonbsp": true,
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
"strict": true,
|
||||
|
||||
"browser": true,
|
||||
"devel": true,
|
||||
"jquery": true,
|
||||
|
||||
"globals": {
|
||||
"JSON": true
|
||||
}
|
||||
}
|
11
.travis.yml
@@ -16,13 +16,18 @@ matrix:
|
||||
env: DB=postgres
|
||||
- php: 5.4
|
||||
env: DB=sqlite3
|
||||
- php: 5.4
|
||||
env: DB=mysqli;SLOWTESTS=1
|
||||
- php: 5.5
|
||||
env: DB=mysqli
|
||||
- php: 5.6
|
||||
env: DB=mysqli
|
||||
- php: 7.0
|
||||
env: DB=mysqli
|
||||
- php: hhvm
|
||||
env: DB=mysqli
|
||||
allow_failures:
|
||||
- php: 7.0
|
||||
- php: hhvm
|
||||
fast_finish: true
|
||||
|
||||
@@ -34,12 +39,14 @@ install:
|
||||
|
||||
before_script:
|
||||
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION
|
||||
- phantomjs --webdriver=8910 > /dev/null &
|
||||
|
||||
script:
|
||||
- travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-sami-parse-errors.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION ./
|
||||
- phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml
|
||||
- sh -c "if [ '$SLOWTESTS' != '1' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/phpunit tests/lint_test.php; fi"
|
||||
- sh -c "if [ '$SLOWTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml; fi"
|
||||
- sh -c "if [ '$SLOWTESTS' = '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml --group slow; fi"
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.3.3' -a '$DB' = 'mysqli' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; fi"
|
||||
|
||||
|
6
CONTRIBUTING.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## CONTRIBUTE
|
||||
|
||||
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
|
||||
2. [Create a ticket (unless there already is one)](http://tracker.phpbb.com/secure/CreateIssue!default.jspa)
|
||||
3. Read our [Coding guidelines](https://wiki.phpbb.com/Coding_guidelines) and [Git Contribution Guidelines](http://wiki.phpbb.com/Git); if you're new to git, also read [the introduction guide](http://wiki.phpbb.com/display/DEV/Working+with+Git)
|
||||
4. Send us a pull request
|
@@ -27,9 +27,9 @@ To be able to run an installation from the repo (and not from a pre-built packag
|
||||
|
||||
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](http://bamboo.phpbb.com) or check our travis build below:
|
||||
|
||||
* develop [](http://travis-ci.org/phpbb/phpbb)
|
||||
* develop-ascraeus [](http://travis-ci.org/phpbb/phpbb)
|
||||
* develop-olympus [](http://travis-ci.org/phpbb/phpbb)
|
||||
* [](http://travis-ci.org/phpbb/phpbb) **master** - Latest development version
|
||||
* [](http://travis-ci.org/phpbb/phpbb) **3.1.x** - Development of version 3.1.x
|
||||
* [](http://travis-ci.org/phpbb/phpbb) **3.0.x** - Development of version 3.0.x
|
||||
|
||||
## LICENSE
|
||||
|
||||
|
@@ -2,9 +2,9 @@
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.1.0-RC3" />
|
||||
<property name="prevversion" value="3.1.0-RC2" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1" />
|
||||
<property name="newversion" value="3.1.8" />
|
||||
<property name="prevversion" value="3.1.7-pl1" />
|
||||
<property name="olderversions" value="3.0.14, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.8-RC1" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
@@ -75,14 +75,14 @@
|
||||
|
||||
<target name="sniff">
|
||||
<exec command="phpBB/vendor/bin/phpcs
|
||||
-s
|
||||
-s -p
|
||||
--extensions=php
|
||||
--standard=build/code_sniffer/ruleset-php-strict-core.xml
|
||||
--ignore=${project.basedir}/phpBB/phpbb/db/migration/data/v30x/*
|
||||
phpBB/phpbb"
|
||||
dir="." returnProperty="retval-php-strict" passthru="true" />
|
||||
<exec command="phpBB/vendor/bin/phpcs
|
||||
-s
|
||||
-s -p
|
||||
--extensions=php
|
||||
--standard=build/code_sniffer/ruleset-php-legacy-core.xml
|
||||
--ignore=${project.basedir}/phpBB/cache/*
|
||||
@@ -98,7 +98,7 @@
|
||||
phpBB"
|
||||
dir="." returnProperty="retval-php-legacy" passthru="true" />
|
||||
<exec command="phpBB/vendor/bin/phpcs
|
||||
-s
|
||||
-s -p
|
||||
--extensions=php
|
||||
--standard=build/code_sniffer/ruleset-php-extensions.xml
|
||||
--ignore=${project.basedir}/phpBB/ext/*/tests/*
|
||||
@@ -117,9 +117,16 @@
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<!-- Builds docs for current branch into build/api/output/master -->
|
||||
<target name="docs">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/sami.php update build/sami.conf.php"
|
||||
command="phpBB/vendor/bin/sami.php update build/sami-checkout.conf.php"
|
||||
passthru="true" />
|
||||
</target>
|
||||
<!-- Builds docs for multiple branches/tags into build/api/output/$branch -->
|
||||
<target name="docs-all">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/sami.php update build/sami-all.conf.php"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
@@ -142,7 +149,7 @@
|
||||
<property name="dir" value="build/old_versions/release-${version}" />
|
||||
</phingcall>
|
||||
|
||||
<exec dir="build/old_versions" command="LC_ALL=C diff -crNEBwd release-${version} release-${newversion} >
|
||||
<exec dir="build/old_versions" command="LC_ALL=C diff -crNEBZbd release-${version} release-${newversion} >
|
||||
../new_version/patches/phpBB-${version}_to_${newversion}.patch" escape="false" />
|
||||
<exec dir="build/old_versions" command="LC_ALL=C diff -qr release-${version} release-${newversion} | grep 'Only in release-${version}' > ../new_version/patches/phpBB-${version}_to_${newversion}.deleted" escape="false" />
|
||||
</target>
|
||||
@@ -170,13 +177,13 @@
|
||||
<target name="package" depends="clean,prepare,prepare-new-version,old-version-diffs">
|
||||
<exec dir="build" command="php -f package.php '${versions}' > logs/package.log" escape="false" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/language new_version/phpBB3/language >
|
||||
command="LC_ALL=C diff -crNEBZbd old_versions/release-${prevversion}/language new_version/phpBB3/language >
|
||||
save/phpbb-${prevversion}_to_${newversion}_language.patch" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/styles/prosilver new_version/phpBB3/styles/prosilver >
|
||||
command="LC_ALL=C diff -crNEBZbd old_versions/release-${prevversion}/styles/prosilver new_version/phpBB3/styles/prosilver >
|
||||
save/phpbb-${prevversion}_to_${newversion}_prosilver.patch" />
|
||||
<exec dir="build" escape="false"
|
||||
command="diff -crNEBwd old_versions/release-${prevversion}/styles/subsilver2 new_version/phpBB3/styles/subsilver2 >
|
||||
command="LC_ALL=C diff -crNEBZbd old_versions/release-${prevversion}/styles/subsilver2 new_version/phpBB3/styles/subsilver2 >
|
||||
save/phpbb-${prevversion}_to_${newversion}_subsilver2.patch" />
|
||||
|
||||
<exec dir="build" escape="false"
|
||||
@@ -273,6 +280,9 @@
|
||||
</else>
|
||||
</if>
|
||||
|
||||
<!-- Create schema.json -->
|
||||
<exec dir="${dir}" command="php develop/create_schema_files.php" />
|
||||
|
||||
<delete file="${dir}/config.php" />
|
||||
<delete dir="${dir}/develop" />
|
||||
<delete dir="${dir}/install/data" />
|
||||
|
@@ -20,7 +20,7 @@ if ($_SERVER['argc'] != 2)
|
||||
|
||||
$fixVersion = $_SERVER['argv'][1];
|
||||
|
||||
$query = 'project = PHPBB3
|
||||
$query = 'project IN (PHPBB3, SECURITY)
|
||||
AND resolution = Fixed
|
||||
AND fixVersion = "' . $fixVersion . '"
|
||||
AND status IN ("Unverified Fix", Closed)';
|
||||
|
@@ -22,11 +22,11 @@ class build_package
|
||||
// -r - compare recursive
|
||||
// -N - Treat missing files as empty
|
||||
// -E - Ignore tab expansions
|
||||
// not used: -b - Ignore space changes.
|
||||
// -w - Ignore all whitespace
|
||||
// -Z - Ignore white space at line end.
|
||||
// -b - Ignore changes in the amount of white space.
|
||||
// -B - Ignore blank lines
|
||||
// -d - Try to find smaller set of changes
|
||||
var $diff_options = '-crNEBwd';
|
||||
var $diff_options = '-crNEBZbd';
|
||||
var $diff_options_long = '-x images -crNEB'; // -x fonts -x imageset //imageset not used here, because it includes the imageset.cfg file. ;)
|
||||
|
||||
var $verbose = false;
|
||||
|
@@ -60,14 +60,14 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
return;
|
||||
}
|
||||
// Mark as error if this is not a doc comment
|
||||
else if ($start === false || $tokens[$start]['code'] !== T_DOC_COMMENT)
|
||||
else if ($start === false || $tokens[$start]['code'] !== T_DOC_COMMENT_OPEN_TAG)
|
||||
{
|
||||
$phpcsFile->addError('Missing required file doc comment.', $stackPtr);
|
||||
return;
|
||||
}
|
||||
|
||||
// Find comment end token
|
||||
$end = $phpcsFile->findNext(T_DOC_COMMENT, $start + 1, null, true) - 1;
|
||||
$end = $tokens[$start]['comment_closer'];
|
||||
|
||||
// If there is no end, skip processing here
|
||||
if ($end === false)
|
||||
@@ -75,38 +75,30 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
return;
|
||||
}
|
||||
|
||||
// List of found comment tags
|
||||
$tags = array();
|
||||
|
||||
// check comment lines without the first(/**) an last(*/) line
|
||||
for ($i = $start + 1, $c = $end - 1; $i <= $c; ++$i)
|
||||
for ($token = $start + 1, $c = $end - 2; $token <= $c; ++$token)
|
||||
{
|
||||
$line = $tokens[$i]['content'];
|
||||
|
||||
// Check that each line starts with a '*'
|
||||
if (substr($line, 0, 1) !== '*')
|
||||
if ($tokens[$token]['column'] === 1 && (($tokens[$token]['content'] !== '*' && $tokens[$token]['content'] !== ' ') || ($tokens[$token]['content'] === ' ' && $tokens[$token + 1]['content'] !== '*')))
|
||||
{
|
||||
$message = 'The file doc comment should not be idented.';
|
||||
$phpcsFile->addWarning($message, $i);
|
||||
}
|
||||
else if (preg_match('/^\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
|
||||
{
|
||||
if (!isset($tags[$match[1]]))
|
||||
{
|
||||
$tags[$match[1]] = array();
|
||||
}
|
||||
|
||||
$tags[$match[1]][] = array($match[2], $i);
|
||||
$message = 'The file doc comment should not be indented.';
|
||||
$phpcsFile->addWarning($message, $token);
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the first and last line is empty
|
||||
if (trim($tokens[$start + 1]['content']) !== '*')
|
||||
// /**T_WHITESPACE
|
||||
// (T_WHITESPACE)*T_WHITESPACE
|
||||
// (T_WHITESPACE)* ...
|
||||
// (T_WHITESPACE)*T_WHITESPACE
|
||||
// T_WHITESPACE*/
|
||||
if (!(($tokens[$start + 2]['content'] !== '*' && $tokens[$start + 4]['content'] !== '*') || ($tokens[$start + 3]['content'] !== '*' && $tokens[$start + 6]['content'] !== '*')))
|
||||
{
|
||||
$message = 'The first file comment line should be empty.';
|
||||
$phpcsFile->addWarning($message, ($start + 1));
|
||||
}
|
||||
if (trim($tokens[$end - 1]['content']) !== '*')
|
||||
|
||||
if ($tokens[$end - 3]['content'] !== '*' && $tokens[$end - 6]['content'] !== '*')
|
||||
{
|
||||
$message = 'The last file comment line should be empty.';
|
||||
$phpcsFile->addWarning($message, $end - 1);
|
||||
@@ -114,8 +106,8 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
//$this->processPackage($phpcsFile, $start, $tags);
|
||||
//$this->processVersion($phpcsFile, $start, $tags);
|
||||
$this->processCopyright($phpcsFile, $start, $tags);
|
||||
$this->processLicense($phpcsFile, $start, $tags);
|
||||
$this->processCopyright($phpcsFile, $start, $tokens[$start]['comment_tags']);
|
||||
$this->processLicense($phpcsFile, $start, $tokens[$start]['comment_tags']);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -176,17 +168,24 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
$copyright = '(c) phpBB Limited <https://www.phpbb.com>';
|
||||
$tokens = $phpcsFile->getTokens();
|
||||
|
||||
if (!isset($tags['copyright']))
|
||||
foreach ($tags as $tag)
|
||||
{
|
||||
$message = 'Missing require @copyright tag in file doc comment.';
|
||||
$phpcsFile->addError($message, $ptr);
|
||||
}
|
||||
else if ($tags['copyright'][0][0] !== $copyright)
|
||||
{
|
||||
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
|
||||
$phpcsFile->addError($message, $tags['copyright'][0][1]);
|
||||
if ($tokens[$tag]['content'] === '@copyright')
|
||||
{
|
||||
if ($tokens[$tag + 2]['content'] !== $copyright)
|
||||
{
|
||||
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
|
||||
$phpcsFile->addError($message, $tags['copyright'][0][1]);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$message = 'Missing require @copyright tag in file doc comment.';
|
||||
$phpcsFile->addError($message, $ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -201,22 +200,33 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
||||
{
|
||||
$license = 'GNU General Public License, version 2 (GPL-2.0)';
|
||||
$tokens = $phpcsFile->getTokens();
|
||||
|
||||
if (!isset($tags['license']))
|
||||
$found = false;
|
||||
foreach ($tags as $tag)
|
||||
{
|
||||
if ($tokens[$tag]['content'] === '@license')
|
||||
{
|
||||
if ($found)
|
||||
{
|
||||
$message = 'It must be only one @license tag in file doc comment.';
|
||||
$phpcsFile->addError($message, $ptr);
|
||||
}
|
||||
|
||||
$found = true;
|
||||
|
||||
if ($tokens[$tag + 2]['content'] !== $license)
|
||||
{
|
||||
$message = 'Invalid content found for @license tag, use "' . $license . '".';
|
||||
$phpcsFile->addError($message, $tags['license'][0][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found)
|
||||
{
|
||||
$message = 'Missing require @license tag in file doc comment.';
|
||||
$phpcsFile->addError($message, $ptr);
|
||||
}
|
||||
else if (sizeof($tags['license']) !== 1)
|
||||
{
|
||||
$message = 'It must be only one @license tag in file doc comment.';
|
||||
$phpcsFile->addError($message, $ptr);
|
||||
}
|
||||
else if (trim($tags['license'][0][0]) !== $license)
|
||||
{
|
||||
$message = 'Invalid content found for @license tag, use '
|
||||
. '"' . $license . '".';
|
||||
$phpcsFile->addError($message, $tags['license'][0][1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Checks that the opening brace of a control structures is on the line after.
|
||||
* From Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff
|
||||
*/
|
||||
class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements PHP_CodeSniffer_Sniff
|
||||
{
|
||||
/**
|
||||
* Registers the tokens that this sniff wants to listen for.
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
return array(
|
||||
T_IF,
|
||||
T_ELSE,
|
||||
T_FOREACH,
|
||||
T_WHILE,
|
||||
T_DO,
|
||||
T_FOR,
|
||||
T_SWITCH,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes this test, when one of its tokens is encountered.
|
||||
*
|
||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
||||
* @param int $stackPtr The position of the current token in the
|
||||
* stack passed in $tokens.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
||||
{
|
||||
$tokens = $phpcsFile->getTokens();
|
||||
|
||||
if (isset($tokens[$stackPtr]['scope_opener']) === false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* ...
|
||||
* }
|
||||
* else if ()
|
||||
* {
|
||||
* ...
|
||||
*/
|
||||
if ($tokens[$stackPtr]['code'] === T_ELSE && $tokens[$stackPtr + 2]['code'] === T_IF)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$openingBrace = $tokens[$stackPtr]['scope_opener'];
|
||||
|
||||
/*
|
||||
* ...
|
||||
* do
|
||||
* {
|
||||
* <code>
|
||||
* } while();
|
||||
* ...
|
||||
* }
|
||||
* else
|
||||
* {
|
||||
* ...
|
||||
*/
|
||||
if ($tokens[$stackPtr]['code'] === T_DO ||$tokens[$stackPtr]['code'] === T_ELSE)
|
||||
{
|
||||
$cs_line = $tokens[$stackPtr]['line'];
|
||||
}
|
||||
else
|
||||
{
|
||||
// The end of the function occurs at the end of the argument list. Its
|
||||
// like this because some people like to break long function declarations
|
||||
// over multiple lines.
|
||||
$cs_line = $tokens[$tokens[$stackPtr]['parenthesis_closer']]['line'];
|
||||
}
|
||||
|
||||
$braceLine = $tokens[$openingBrace]['line'];
|
||||
|
||||
$lineDifference = ($braceLine - $cs_line);
|
||||
|
||||
if ($lineDifference === 0)
|
||||
{
|
||||
$error = 'Opening brace should be on a new line';
|
||||
$phpcsFile->addError($error, $openingBrace, 'BraceOnSameLine');
|
||||
return;
|
||||
}
|
||||
|
||||
if ($lineDifference > 1)
|
||||
{
|
||||
$error = 'Opening brace should be on the line after the declaration; found %s blank line(s)';
|
||||
$data = array(($lineDifference - 1));
|
||||
$phpcsFile->addError($error, $openingBrace, 'BraceSpacing', $data);
|
||||
return;
|
||||
}
|
||||
|
||||
// We need to actually find the first piece of content on this line,
|
||||
// as if this is a method with tokens before it (public, static etc)
|
||||
// or an if with an else before it, then we need to start the scope
|
||||
// checking from there, rather than the current token.
|
||||
$lineStart = $stackPtr;
|
||||
while (($lineStart = $phpcsFile->findPrevious(array(T_WHITESPACE), ($lineStart - 1), null, false)) !== false)
|
||||
{
|
||||
if (strpos($tokens[$lineStart]['content'], $phpcsFile->eolChar) !== false)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// We found a new line, now go forward and find the first non-whitespace
|
||||
// token.
|
||||
$lineStart = $phpcsFile->findNext(array(T_WHITESPACE), $lineStart, null, true);
|
||||
|
||||
// The opening brace is on the correct line, now it needs to be
|
||||
// checked to be correctly indented.
|
||||
$startColumn = $tokens[$lineStart]['column'];
|
||||
$braceIndent = $tokens[$openingBrace]['column'];
|
||||
|
||||
if ($braceIndent !== $startColumn)
|
||||
{
|
||||
$error = 'Opening brace indented incorrectly; expected %s spaces, found %s';
|
||||
$data = array(
|
||||
($startColumn - 1),
|
||||
($braceIndent - 1),
|
||||
);
|
||||
$phpcsFile->addError($error, $openingBrace, 'BraceIndent', $data);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Checks that there is exactly one space between the keyword and the opening
|
||||
* parenthesis of a control structures.
|
||||
*/
|
||||
class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements PHP_CodeSniffer_Sniff
|
||||
{
|
||||
/**
|
||||
* Registers the tokens that this sniff wants to listen for.
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
return array(
|
||||
T_IF,
|
||||
T_FOREACH,
|
||||
T_WHILE,
|
||||
T_FOR,
|
||||
T_SWITCH,
|
||||
T_ELSEIF,
|
||||
T_CATCH,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes this test, when one of its tokens is encountered.
|
||||
*
|
||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
||||
* @param int $stackPtr The position of the current token in the
|
||||
* stack passed in $tokens.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
||||
{
|
||||
$tokens = $phpcsFile->getTokens();
|
||||
|
||||
if ($tokens[$stackPtr + 1]['content'] === '(')
|
||||
{
|
||||
$error = 'There should be exactly one space between the keyword and opening parenthesis';
|
||||
$phpcsFile->addError($error, $stackPtr, 'NoSpaceBeforeOpeningParenthesis');
|
||||
}
|
||||
else if ($tokens[$stackPtr + 1]['content'] !== ' ')
|
||||
{
|
||||
$error = 'There should be exactly one space between the keyword and opening parenthesis';
|
||||
$phpcsFile->addError($error, $stackPtr, 'IncorrectSpaceBeforeOpeningParenthesis');
|
||||
}
|
||||
}
|
||||
}
|
@@ -24,6 +24,23 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
return array(T_USE);
|
||||
}
|
||||
|
||||
protected function check($phpcsFile, $found_name, $full_name, $short_name, $line)
|
||||
{
|
||||
|
||||
if ($found_name === $full_name)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $line, 'FullName');
|
||||
}
|
||||
|
||||
if ($found_name === $short_name)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@@ -74,16 +91,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start)));
|
||||
|
||||
if ($simple_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $simple_statement, 'FullName');
|
||||
}
|
||||
|
||||
if ($simple_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $simple_class_name, $class_name_full, $class_name_short, $simple_statement) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,16 +106,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$paamayim_nekudotayim_class_name = trim($phpcsFile->getTokensAsString($paamayim_nekudotayim_class_name_start + 1, ($paamayim_nekudotayim_class_name_end - $paamayim_nekudotayim_class_name_start)));
|
||||
|
||||
if ($paamayim_nekudotayim_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $paamayim_nekudotayim, 'FullName');
|
||||
}
|
||||
|
||||
if ($paamayim_nekudotayim_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $paamayim_nekudotayim_class_name, $class_name_full, $class_name_short, $paamayim_nekudotayim) ? true : $ok;
|
||||
}
|
||||
|
||||
// Checks in implements
|
||||
@@ -126,16 +125,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$implements_class_name = trim($phpcsFile->getTokensAsString($implements_class_name_start, ($implements_class_name_end - $implements_class_name_start)));
|
||||
|
||||
if ($implements_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $implements, 'FullName');
|
||||
}
|
||||
|
||||
if ($implements_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $implements_class_name, $class_name_full, $class_name_short, $implements) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,34 +135,67 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
{
|
||||
$old_function_declaration = $function_declaration;
|
||||
|
||||
$end_function = $phpcsFile->findNext(array(T_CLOSE_PARENTHESIS), ($function_declaration + 1));
|
||||
$old_argument = $function_declaration;
|
||||
while (($argument = $phpcsFile->findNext(T_VARIABLE, ($old_argument + 1), $end_function)) !== false)
|
||||
// Check docblocks
|
||||
$find = array(
|
||||
T_COMMENT,
|
||||
T_DOC_COMMENT_CLOSE_TAG,
|
||||
T_DOC_COMMENT,
|
||||
T_CLASS,
|
||||
T_FUNCTION,
|
||||
T_OPEN_TAG,
|
||||
);
|
||||
|
||||
$comment_end = $phpcsFile->findPrevious($find, ($function_declaration - 1));
|
||||
if ($comment_end !== false)
|
||||
{
|
||||
$old_argument = $argument;
|
||||
|
||||
$start_argument = $phpcsFile->findPrevious(array(T_OPEN_PARENTHESIS, T_COMMA), $argument);
|
||||
$argument_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($start_argument + 1), $argument);
|
||||
|
||||
// Skip the parameter if no type is defined.
|
||||
if ($argument_class_name_start !== false)
|
||||
if ($tokens[$comment_end]['code'] === T_DOC_COMMENT_CLOSE_TAG)
|
||||
{
|
||||
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
|
||||
$comment_start = $tokens[$comment_end]['comment_opener'];
|
||||
foreach ($tokens[$comment_start]['comment_tags'] as $tag) {
|
||||
if ($tokens[$tag]['content'] !== '@param' && $tokens[$tag]['content'] !== '@return' && $tokens[$tag]['content'] !== '@throws') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$argument_class_name = $phpcsFile->getTokensAsString($argument_class_name_start, ($argument_class_name_end - $argument_class_name_start - 1));
|
||||
$classes = $tokens[($tag + 2)]['content'];
|
||||
$space = strpos($classes, ' ');
|
||||
if ($space !== false) {
|
||||
$classes = substr($classes, 0, $space);
|
||||
}
|
||||
|
||||
if ($argument_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $function_declaration, 'FullName');
|
||||
}
|
||||
$tab = strpos($classes, "\t");
|
||||
if ($tab !== false) {
|
||||
$classes = substr($classes, 0, $tab);
|
||||
}
|
||||
|
||||
if ($argument_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
$classes = explode('|', str_replace('[]', '', $classes));
|
||||
foreach ($classes as $class)
|
||||
{
|
||||
$ok = $this->check($phpcsFile, $class, $class_name_full, $class_name_short, $tokens[$tag + 2]['line']) ? true : $ok;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check type hint
|
||||
$params = $phpcsFile->getMethodParameters($function_declaration);
|
||||
foreach ($params as $param)
|
||||
{
|
||||
$ok = $this->check($phpcsFile, $param['type_hint'], $class_name_full, $class_name_short, $function_declaration) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
// Checks in catch blocks
|
||||
$old_catch = $stackPtr;
|
||||
while (($catch = $phpcsFile->findNext(T_CATCH, ($old_catch + 1))) !== false)
|
||||
{
|
||||
$old_catch = $catch;
|
||||
|
||||
$caught_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), $catch + 1);
|
||||
$caught_class_name_end = $phpcsFile->findNext($find, $caught_class_name_start + 1, null, true);
|
||||
|
||||
$caught_class_name = trim($phpcsFile->getTokensAsString($caught_class_name_start, ($caught_class_name_end - $caught_class_name_start)));
|
||||
|
||||
$ok = $this->check($phpcsFile, $caught_class_name, $class_name_full, $class_name_short, $catch) ? true : $ok;
|
||||
}
|
||||
|
||||
if (!$ok)
|
||||
|
@@ -12,4 +12,7 @@
|
||||
<!-- Tabs MUST be used for indentation -->
|
||||
<rule ref="Generic.WhiteSpace.DisallowSpaceIndent" />
|
||||
|
||||
<!-- ALL braces MUST be on their own lines. -->
|
||||
<rule ref="./phpbb/Sniffs/ControlStructures/OpeningBraceBsdAllmanSniff.php" />
|
||||
|
||||
</ruleset>
|
||||
|
@@ -86,4 +86,7 @@
|
||||
<!-- The ?> closing tag MUST be omitted from files containing only PHP. -->
|
||||
<rule ref="Zend.Files.ClosingTag" />
|
||||
|
||||
<!-- There MUST be one space between control structure and opening parenthesis -->
|
||||
<rule ref="./phpbb/Sniffs/ControlStructures/OpeningParenthesisSniff.php" />
|
||||
|
||||
</ruleset>
|
||||
|
@@ -394,6 +394,7 @@ if (sizeof($package->old_packages))
|
||||
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/vendor ' . $package->get('files_directory') . '/release');
|
||||
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_install.php');
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_update.php');
|
||||
|
31
build/sami-all.conf.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
require __DIR__ . '/sami-checkout.conf.php';
|
||||
|
||||
$config['versions'] = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
|
||||
/*
|
||||
This would be nice, but currently causes various problems that need
|
||||
debugging.
|
||||
->addFromTags('release-3.0.*')
|
||||
->add('3.0.x', '3.0-next (olympus)')
|
||||
->addFromTags('release-3.1.*')
|
||||
->add('3.1.x', '3.1-next (ascraeus)')
|
||||
->add('master')
|
||||
*/
|
||||
->add('3.0.x')
|
||||
->add('3.1.x')
|
||||
->add('master')
|
||||
;
|
||||
|
||||
return new Sami\Sami($iterator, $config);
|
@@ -31,23 +31,8 @@ $iterator = Symfony\Component\Finder\Finder::create()
|
||||
->notPath('data')
|
||||
;
|
||||
|
||||
$versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
|
||||
/*
|
||||
This would be nice, but currently causes various problems that need
|
||||
debugging.
|
||||
->addFromTags('release-3.0.*')
|
||||
->add('develop-olympus', '3.0-next (olympus)')
|
||||
->addFromTags('release-3.1.*')
|
||||
->add('develop-ascraeus', '3.1-next (ascraeus)')
|
||||
->add('develop')
|
||||
*/
|
||||
->add('develop-olympus')
|
||||
->add('develop-ascraeus')
|
||||
;
|
||||
|
||||
$config = array(
|
||||
'theme' => 'enhanced',
|
||||
'versions' => $versions,
|
||||
'title' => 'phpBB API Documentation',
|
||||
'build_dir' => __DIR__.'/api/output/%version%',
|
||||
'cache_dir' => __DIR__.'/api/cache/%version%',
|
BIN
composer.phar
@@ -1,6 +1,16 @@
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
|
||||
#
|
||||
# Uncomment the statement below if URL rewriting doesn't
|
||||
# work properly. If you installed phpBB in a subdirectory
|
||||
# of your site, properly set the argument for the statement.
|
||||
# e.g.: if your domain is test.com and you installed phpBB
|
||||
# in http://www.test.com/phpBB/index.php you have to set
|
||||
# the statement RewriteBase /phpBB/
|
||||
#
|
||||
#RewriteBase /
|
||||
|
||||
#
|
||||
# Uncomment the statement below if you want to make use of
|
||||
# HTTP authentication and it does not already work.
|
||||
|
@@ -284,8 +284,6 @@
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<br />
|
||||
|
||||
<form id="change_ext" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="tabulated">
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<!-- BEGIN avatar_local_col -->
|
||||
<li>
|
||||
<label for="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}"><img src="{avatar_local_row.avatar_local_col.AVATAR_IMAGE}" alt="" /><br />
|
||||
<input type="radio" name="avatar_local_file" id="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}" value="{avatar_local_row.avatar_local_col.AVATAR_FILE}" /></label>
|
||||
<input type="radio" name="avatar_local_file" id="av-{avatar_local_row.S_ROW_COUNT}-{avatar_local_row.avatar_local_col.S_ROW_COUNT}" value="{avatar_local_row.avatar_local_col.AVATAR_FILE}"<!-- IF avatar_local_row.avatar_local_col.CHECKED -->checked="checked"<!-- ENDIF --> /></label>
|
||||
</li>
|
||||
<!-- END avatar_local_col -->
|
||||
<!-- END avatar_local_row -->
|
||||
|
@@ -52,7 +52,7 @@
|
||||
<legend>{L_TITLE}</legend>
|
||||
<dl>
|
||||
<dt><label for="ban">{L_BAN_CELL}{L_COLON}</label></dt>
|
||||
<dd><textarea name="ban" cols="40" rows="3" id="ban"></textarea></dd>
|
||||
<dd><!-- EVENT acp_ban_cell_prepend --><textarea name="ban" cols="40" rows="3" id="ban"></textarea><!-- EVENT acp_ban_cell_append --></dd>
|
||||
<!-- IF S_USERNAME_BAN --><dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
<dl>
|
||||
|
@@ -6,6 +6,14 @@
|
||||
|
||||
<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
|
||||
|
||||
<p>{L_ACP_VC_EXT_GET_MORE}</p>
|
||||
|
||||
<!-- IF ERROR_MSG -->
|
||||
<div class="errorbox">
|
||||
<h3>{L_WARNING}</h3>
|
||||
<p>{ERROR_MSG}</p>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="acp_captcha" method="post" action="{U_ACTION}">
|
||||
|
||||
|
@@ -19,12 +19,14 @@
|
||||
<legend>{L_COMPOSE}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_SEND_TO_GROUP}{L_COLON}</label></dt>
|
||||
<!-- EVENT acp_email_group_options_prepend -->
|
||||
<dd><select id="group" name="g">{S_GROUP_OPTIONS}</select></dd>
|
||||
<!-- EVENT acp_email_group_options_append -->
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="usernames">{L_SEND_TO_USERS}{L_COLON}</label><br /><span>{L_SEND_TO_USERS_EXPLAIN}</span></dt>
|
||||
<dd><textarea name="usernames" id="usernames" rows="5" cols="40">{USERNAMES}</textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd><!-- EVENT acp_email_find_username_prepend -->[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]<!-- EVENT acp_email_find_username_append --></dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="subject">{L_SUBJECT}{L_COLON}</label></dt>
|
||||
@@ -47,6 +49,8 @@
|
||||
<dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>
|
||||
</dl>
|
||||
|
||||
<!-- EVENT acp_email_options_after -->
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_EMAIL}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="quick">
|
||||
<span class="small"><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> • <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
|
||||
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.1" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> • <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> • <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
|
||||
</fieldset>
|
||||
|
||||
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">
|
||||
@@ -47,8 +47,8 @@
|
||||
<td class="row3" colspan="4"><strong>{L_EXTENSIONS_ENABLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN enabled -->
|
||||
<tr class="ext_enabled">
|
||||
<td><strong>{enabled.META_DISPLAY_NAME}</strong></td>
|
||||
<tr class="ext_enabled row-highlight">
|
||||
<td><strong title="{enabled.NAME}">{enabled.META_DISPLAY_NAME}</strong></td>
|
||||
<td style="text-align: center;">
|
||||
<!-- IF enabled.S_VERSIONCHECK -->
|
||||
<strong <!-- IF enabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{enabled.META_VERSION}</strong>
|
||||
@@ -72,8 +72,8 @@
|
||||
<td class="row3" colspan="4"><strong>{L_EXTENSIONS_DISABLED}</strong></td>
|
||||
</tr>
|
||||
<!-- BEGIN disabled -->
|
||||
<tr class="ext_disabled">
|
||||
<td><strong>{disabled.META_DISPLAY_NAME}</strong></td>
|
||||
<tr class="ext_disabled row-highlight">
|
||||
<td><strong title="{disabled.NAME}">{disabled.META_DISPLAY_NAME}</strong></td>
|
||||
<td style="text-align: center;">
|
||||
<!-- IF disabled.S_VERSIONCHECK -->
|
||||
<strong <!-- IF disabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{disabled.META_VERSION}</strong>
|
||||
@@ -97,6 +97,12 @@
|
||||
</table>
|
||||
|
||||
<table class="table1">
|
||||
<tr>
|
||||
<th>{L_EXTENSION_INSTALL_HEADLINE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3">{L_EXTENSION_INSTALL_EXPLAIN}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{L_EXTENSION_UPDATE_HEADLINE}</th>
|
||||
</tr>
|
||||
|
@@ -111,6 +111,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_main_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_type">{L_FORUM_TYPE}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_type" name="forum_type" onchange="display_options(this.options[this.selectedIndex].value);">{S_FORUM_TYPE_OPTIONS}</select></dd>
|
||||
@@ -182,6 +183,7 @@
|
||||
<dt><label for="forum_style">{L_FORUM_STYLE}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_main_settings_append -->
|
||||
</fieldset>
|
||||
|
||||
<div id="forum_cat_options">
|
||||
@@ -198,6 +200,7 @@
|
||||
<div id="forum_post_options">
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_normal_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_status">{L_FORUM_STATUS}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_status" name="forum_status">{S_STATUS_OPTIONS}</select></dd>
|
||||
@@ -246,6 +249,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_PRUNE_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_prune_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}{L_COLON}</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
@@ -291,6 +295,7 @@
|
||||
<dt><label for="prune_shadow_days">{L_AUTO_PRUNE_SHADOW_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_SHADOW_DAYS_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="prune_shadow_days" name="prune_shadow_days" value="{PRUNE_SHADOW_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_prune_settings_append -->
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
@@ -317,6 +322,7 @@
|
||||
<div id="forum_rules_options">
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_RULES}</legend>
|
||||
<!-- EVENT acp_forums_rules_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}{L_COLON}</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
|
||||
@@ -334,9 +340,12 @@
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_rules_settings_append -->
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<!-- EVENT acp_forums_custom_settings -->
|
||||
|
||||
<fieldset class="submit-buttons">
|
||||
<legend>{L_SUBMIT}</legend>
|
||||
<input class="button1" type="submit" id="submit" name="update" value="{L_SUBMIT}" />
|
||||
@@ -489,7 +498,7 @@
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_FORUM}{L_COLON} <select name="parent_id" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{FORUM_BOX}</select>
|
||||
|
||||
<input class="button2" type="submit" value="{L_GO}" />
|
||||
<!-- EVENT acp_forums_quick_select_button_prepend --><input class="button2" type="submit" value="{L_GO}" /><!-- EVENT acp_forums_quick_select_button_append -->
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
@@ -236,7 +236,7 @@
|
||||
<dl>
|
||||
<dt><label for="usernames">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="usernames" name="usernames" cols="40" rows="5"></textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd><!-- EVENT acp_groups_find_username_prepend -->[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]<!-- EVENT acp_groups_find_username_append --></dd>
|
||||
</dl>
|
||||
|
||||
<p class="quick">
|
||||
@@ -265,6 +265,7 @@
|
||||
|
||||
<form id="acp_groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<!-- EVENT acp_groups_manage_before -->
|
||||
<table class="table1">
|
||||
<col class="col1" /><col class="col1" /><col class="col2" /><col class="col2" /><col class="col2" />
|
||||
<thead>
|
||||
@@ -285,6 +286,7 @@
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- EVENT acp_groups_manage_after -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<!-- IF S_GROUP_ADD -->
|
||||
|
@@ -65,8 +65,10 @@
|
||||
<option<!-- IF add_legend.GROUP_SPECIAL --> class="sep"<!-- ENDIF --> value="{add_legend.GROUP_ID}">{add_legend.GROUP_NAME}</option>
|
||||
<!-- END add_legend -->
|
||||
</select>
|
||||
<!-- EVENT acp_groups_position_legend_add_button_before -->
|
||||
<input class="button2" type="submit" name="submit" value="{L_ADD}" />
|
||||
<input type="hidden" name="action" value="add" />
|
||||
<!-- EVENT acp_groups_position_legend_add_button_after -->
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
@@ -162,8 +164,10 @@
|
||||
<option<!-- IF add_teampage.GROUP_SPECIAL --> class="sep"<!-- ENDIF --> value="{add_teampage.GROUP_ID}">{add_teampage.GROUP_NAME}</option>
|
||||
<!-- END add_teampage -->
|
||||
</select>
|
||||
<!-- EVENT acp_groups_position_teampage_add_button_before -->
|
||||
<input class="button2" type="submit" name="submit" value="{L_ADD}" />
|
||||
<input type="hidden" name="action" value="add" />
|
||||
<!-- EVENT acp_groups_position_teampage_add_button_after -->
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
</form>
|
||||
|
@@ -147,6 +147,8 @@
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row3">
|
||||
<td colspan="{COLSPAN}">{L_NO_ICONS}</td>
|
||||
</tr>
|
||||
|
@@ -2,14 +2,12 @@
|
||||
|
||||
<a id="maincontent"></a>
|
||||
|
||||
<h2>{L_INACTIVE_USERS}</h2>
|
||||
<h1>{L_INACTIVE_USERS}</h1>
|
||||
|
||||
<p>{L_INACTIVE_USERS_EXPLAIN}</p>
|
||||
|
||||
<form id="inactive" method="post" action="{U_ACTION}">
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<!-- IF .pagination -->
|
||||
<div class="pagination">
|
||||
<!-- INCLUDE pagination.html -->
|
||||
@@ -20,6 +18,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_EMAIL}</th>
|
||||
<th>{L_JOINED}</th>
|
||||
<th>{L_INACTIVE_DATE}</th>
|
||||
<th>{L_LAST_VISIT}</th>
|
||||
@@ -34,6 +33,7 @@
|
||||
{inactive.USERNAME_FULL}
|
||||
<!-- IF inactive.POSTS --><br />{L_POSTS}{L_COLON} <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
|
||||
</td>
|
||||
<td style="vertical-align: top;">{inactive.USER_EMAIL}</td>
|
||||
<td style="vertical-align: top;">{inactive.JOINED}</td>
|
||||
<td style="vertical-align: top;">{inactive.INACTIVE_DATE}</td>
|
||||
<td style="vertical-align: top;">{inactive.LAST_VISIT}</td>
|
||||
|
@@ -39,7 +39,7 @@
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label for="jab_password">{L_JAB_PASSWORD}{L_COLON}</label><br /><span>{L_JAB_PASSWORD_EXPLAIN}</span></dt>
|
||||
<dd><input type="password" id="jab_password" name="jab_password" value="{JAB_PASSWORD}" /></dd>
|
||||
<dd><input type="password" id="jab_password" name="jab_password" value="{JAB_PASSWORD}" autocomplete="off" /></dd>
|
||||
</dl>
|
||||
<!-- IF S_CAN_USE_SSL -->
|
||||
<dl>
|
||||
|
@@ -68,6 +68,10 @@
|
||||
|
||||
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="quick">
|
||||
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.1" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
|
||||
</fieldset>
|
||||
|
||||
<table class="table1 zebra-table">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
|
||||
<form id="list" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="display-options" style="float: left">
|
||||
<fieldset class="display-options search-box">
|
||||
{L_SEARCH_KEYWORDS}{L_COLON} <input type="text" name="keywords" value="{S_KEYWORDS}" /> <input type="submit" class="button2" name="filter" value="{L_SEARCH}" />
|
||||
</fieldset>
|
||||
|
||||
@@ -18,9 +18,6 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="clearfix"> </div>
|
||||
<div><br style="clear: both;" /></div>
|
||||
|
||||
<!-- IF .log -->
|
||||
<table class="table1 zebra-table fixed-width-table">
|
||||
<thead>
|
||||
@@ -76,7 +73,7 @@
|
||||
<!-- IF S_SHOW_FORUMS -->
|
||||
<fieldset class="quick">
|
||||
{L_SELECT_FORUM}{L_COLON} <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ this.form.submit(); }">{S_FORUM_BOX}</select>
|
||||
<input class="button2" type="submit" value="{L_GO}" />
|
||||
<!-- EVENT acp_logs_quick_select_forum_button_prepend --><input class="button2" type="submit" value="{L_GO}" /><!-- EVENT acp_logs_quick_select_forum_button_append -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
@@ -141,19 +141,24 @@
|
||||
<td>{L_GZIP_COMPRESSION}{L_COLON} </td>
|
||||
<td><strong>{GZIP_COMPRESSION}</strong></td>
|
||||
</tr>
|
||||
<!-- IF S_TOTAL_ORPHAN or S_VERSIONCHECK -->
|
||||
<tr>
|
||||
<!-- IF S_VERSIONCHECK -->
|
||||
<td>{L_BOARD_VERSION}{L_COLON} </td>
|
||||
<td>
|
||||
<strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF --> title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [ <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> ]
|
||||
<strong><a href="{U_VERSIONCHECK}" <!-- IF S_VERSION_UP_TO_DATE -->style="color: #228822;" <!-- ELSEIF not S_VERSIONCHECK_FAIL -->style="color: #BC2A4D;" <!-- ENDIF -->title="{L_MORE_INFORMATION}">{BOARD_VERSION}</a></strong> [ <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> ]
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_TOTAL_ORPHAN -->
|
||||
<td>{L_NUMBER_ORPHAN}{L_COLON} </td>
|
||||
<td><strong>{TOTAL_ORPHAN}</strong></td>
|
||||
<!-- ELSE -->
|
||||
<!-- ENDIF -->
|
||||
<!-- IF not S_TOTAL_ORPHAN or not S_VERSIONCHECK -->
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -243,9 +248,6 @@
|
||||
<!-- END log -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_INACTIVE_USERS -->
|
||||
@@ -287,7 +289,6 @@
|
||||
<!-- END inactive -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
@@ -30,7 +30,7 @@
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
<!-- IF S_FORUM_MULTIPLE --><p>{L_LOOK_UP_FORUMS_EXPLAIN}</p><!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><!-- EVENT acp_permissions_select_multiple_forum_prepend --><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label><!-- EVENT acp_permissions_select_multiple_forum_append --></dt>
|
||||
<dd><select id="forum" name="forum_id[]"<!-- IF S_FORUM_MULTIPLE --> multiple="multiple"<!-- ENDIF --> size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<!-- IF S_FORUM_ALL --><dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd><!-- ENDIF -->
|
||||
</dl>
|
||||
@@ -52,7 +52,7 @@
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
<p>{L_SELECT_FORUM_SUBFORUM_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="sforum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><!-- EVENT acp_permissions_select_forum_prepend --><label for="sforum">{L_LOOK_UP_FORUM}{L_COLON}</label><!-- EVENT acp_permissions_select_forum_append --></dt>
|
||||
<dd><select id="sforum" name="subforum_id">{S_SUBFORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_LOOK_UP_GROUP}{L_COLON}</label></dt>
|
||||
<dt><!-- EVENT acp_permissions_select_group_prepend --><label for="group">{L_LOOK_UP_GROUP}{L_COLON}</label><!-- EVENT acp_permissions_select_group_append --></dt>
|
||||
<dd><select name="group_id[]" id="group">{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
<p>{L_USERNAMES_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dd class="full"><textarea id="username" name="usernames" rows="5" cols="5" style="width: 100%; height: 60px;"></textarea></dd>
|
||||
<dd class="full" style="text-align: left;"><div style="float: {S_CONTENT_FLOW_END};">[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</div><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
<dd class="full" style="text-align: left;"><!-- EVENT acp_permissions_find_username_prepend --><div style="float: {S_CONTENT_FLOW_END};">[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</div><!-- EVENT acp_permissions_find_username_append --><label><input type="checkbox" class="radio" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</label></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
<fieldset>
|
||||
<legend>{L_ADD_GROUPS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select name="group_id[]" style="width: 100%; height: 107px;" multiple="multiple">{S_ADD_GROUP_OPTIONS}</select></dd>
|
||||
<dd class="full"><!-- EVENT acp_permissions_add_group_options_prepend --><select name="group_id[]" style="width: 100%; height: 107px;" multiple="multiple">{S_ADD_GROUP_OPTIONS}</select><!-- EVENT acp_permissions_add_group_options_append --></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -267,7 +267,9 @@
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group_select">{L_LOOK_UP_GROUP}{L_COLON}</label></dt>
|
||||
<!-- EVENT acp_permissions_select_group_before -->
|
||||
<dd><select name="group_id[]" id="group_select">{S_ADD_GROUP_OPTIONS}</select></dd>
|
||||
<!-- EVENT acp_permissions_select_group_after -->
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form id="add_profile_field" method="post" action="{U_ACTION}">
|
||||
<form id="add_profile_field" method="post" action="{U_ACTION}"{S_FORM_ENCTYPE}>
|
||||
|
||||
<!-- IF S_STEP_ONE -->
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
<dt><label for="field_hide">{L_HIDE_PROFILE_FIELD}{L_COLON}</label><br /><span>{L_HIDE_PROFILE_FIELD_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_hide" name="field_hide" value="1"<!-- IF S_FIELD_HIDE --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_profile_contact_before -->
|
||||
<dl>
|
||||
<dt><label for="field_is_contact">{L_FIELD_IS_CONTACT}{L_COLON}</label><br /><span>{L_FIELD_IS_CONTACT_EXPLAIN}</span></dt>
|
||||
<dd><input type="checkbox" class="radio" id="field_is_contact" name="field_is_contact" value="1"<!-- IF S_FIELD_CONTACT --> checked="checked"<!-- ENDIF --> /></dd>
|
||||
|
@@ -43,7 +43,7 @@
|
||||
<legend>{L_SELECT_FORUM}</legend>
|
||||
<p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label></dt>
|
||||
<dt><!-- EVENT acp_prune_forums_prepend --><label for="forum">{L_LOOK_UP_FORUM}{L_COLON}</label><!-- EVENT acp_prune_forums_append --></dt>
|
||||
<dd><select id="forum" name="f[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd>
|
||||
</dl>
|
||||
|
@@ -50,7 +50,7 @@
|
||||
<dl>
|
||||
<dt><label for="users">{L_ACP_PRUNE_USERS}{L_COLON}</label><br /><span>{L_SELECT_USERS_EXPLAIN}</span></dt>
|
||||
<dd><textarea id="users" name="users" cols="40" rows="5"></textarea></dd>
|
||||
<dd>[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd><!-- EVENT acp_prune_users_find_username_prepend -->[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]<!-- EVENT acp_prune_users_find_username_append --></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
|
@@ -32,6 +32,10 @@
|
||||
|
||||
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.1" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
|
||||
</fieldset>
|
||||
|
||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{S_FORM_TOKEN}
|
||||
@@ -83,6 +87,7 @@
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF .styles_list -->
|
||||
<!-- EVENT acp_styles_list_before -->
|
||||
<table class="table1 styles">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -95,7 +100,7 @@
|
||||
</thead>
|
||||
<!-- BEGIN styles_list -->
|
||||
<tbody id="styles-list-{styles_list.S_ROW_COUNT}">
|
||||
<tr<!-- IF styles_list.STYLE_ID and not styles_list.STYLE_ACTIVE --> class="row-inactive"<!-- ENDIF -->>
|
||||
<tr class="row-highlight<!-- IF styles_list.STYLE_ID and not styles_list.STYLE_ACTIVE --> row-inactive<!-- ENDIF -->">
|
||||
<!-- IF styles_list.LEVEL is odd -->
|
||||
<!-- IF $ROW_CLASS == 'row1a' --><!-- DEFINE $ROW_CLASS = 'row1b' --><!-- ELSE --><!-- DEFINE $ROW_CLASS = 'row1a' --><!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
|
@@ -146,7 +146,9 @@
|
||||
|
||||
<!-- IF S_GROUP_OPTIONS -->
|
||||
<fieldset class="quick">
|
||||
<!-- EVENT acp_users_select_group_before -->
|
||||
{L_USER_GROUP_ADD}{L_COLON} <select name="g">{S_GROUP_OPTIONS}</select> <input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
<!-- EVENT acp_users_select_group_after -->
|
||||
{S_FORM_TOKEN}
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
@@ -52,7 +52,7 @@
|
||||
<dl>
|
||||
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}{L_COLON}</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
|
||||
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){phpbb.toggleDisplay('custom_date',1);}else{phpbb.toggleDisplay('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = default_dateformat; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" /></div></dd>
|
||||
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="64" /></div></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_users_prefs_personal_append -->
|
||||
</fieldset>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
<form id="user_profile" method="post" action="{U_ACTION}">
|
||||
<form id="user_profile" method="post" action="{U_ACTION}"{S_FORM_ENCTYPE}>
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_USER_PROFILE}</legend>
|
||||
<!-- EVENT acp_users_profile_before -->
|
||||
<dl>
|
||||
<dt><label for="jabber">{L_UCP_JABBER}{L_COLON}</label></dt>
|
||||
<dd><input type="email" id="jabber" name="jabber" value="{JABBER}" /></dd>
|
||||
@@ -10,6 +11,7 @@
|
||||
<dt><label for="birthday">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
|
||||
<dd>{L_DAY}{L_COLON} <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}{L_COLON} <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}{L_COLON} <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_users_profile_after -->
|
||||
</fieldset>
|
||||
|
||||
<!-- IF .profile_fields -->
|
||||
@@ -26,7 +28,7 @@
|
||||
<!-- END profile_fields -->
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- EVENT acp_users_profile_custom_after -->
|
||||
<fieldset class="quick">
|
||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
{S_FORM_TOKEN}
|
||||
|
@@ -17,6 +17,10 @@
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
abbr {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
body, div, p, th, td, li, dd {
|
||||
font-size: x-small;
|
||||
voice-family: "\"}\"";
|
||||
@@ -109,6 +113,14 @@ hr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.search-box {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .search-box {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
@@ -154,6 +166,10 @@ a:active {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a#maincontent, a#acl, a#assigned_to {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* List items */
|
||||
ul, ol {
|
||||
list-style-position: inside;
|
||||
@@ -174,7 +190,6 @@ li {
|
||||
}
|
||||
|
||||
#page-header {
|
||||
clear: both;
|
||||
text-align: right;
|
||||
background: url("../images/phpbb_logo.png") top left no-repeat;
|
||||
height: 54px;
|
||||
@@ -203,14 +218,9 @@ li {
|
||||
}
|
||||
|
||||
#page-body {
|
||||
clear: both;
|
||||
min-width: 650px;
|
||||
}
|
||||
|
||||
#page-footer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
font-size: 0.75em;
|
||||
text-align: center;
|
||||
@@ -335,12 +345,6 @@ li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#tabs > ul:after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#tabs .tab {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
@@ -475,7 +479,6 @@ li {
|
||||
/* Main Panel
|
||||
---------------------------------------- */
|
||||
#acp {
|
||||
clear: both;
|
||||
position: relative;
|
||||
top: -2px;
|
||||
margin: 0 0 2px;
|
||||
@@ -723,6 +726,7 @@ td {
|
||||
.table1 {
|
||||
border-collapse: separate;
|
||||
border-spacing: 1px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
dt#color_palette_placeholder table {
|
||||
@@ -855,6 +859,8 @@ table.zebra-table tbody tr:nth-child(even) {
|
||||
.row2a { background-color: #E7EEF4; }
|
||||
.row2b { background-color: #E3EBF2; }
|
||||
|
||||
tr.row-highlight:hover td { background-color: #DBDFE2; }
|
||||
|
||||
.spacer {
|
||||
background-color: #DBDFE2;
|
||||
height: 1px;
|
||||
@@ -1132,6 +1138,11 @@ input.langvalue, textarea.langvalue {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
width: 60px;
|
||||
-moz-padding-end: 0;
|
||||
}
|
||||
|
||||
optgroup, select {
|
||||
background-color: #FAFAFA;
|
||||
border: 1px solid #666666;
|
||||
@@ -1226,8 +1237,8 @@ fieldset.quick legend {
|
||||
fieldset.tabulated {
|
||||
background: none;
|
||||
margin: 0;
|
||||
margin-top: 5px;
|
||||
padding: 0;
|
||||
padding-top: 5px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
@@ -1676,12 +1687,12 @@ input.button1:focus, input.button2:focus {
|
||||
height: 1%; /* IE tweak (holly hack) */
|
||||
width: auto;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.top-pagination {
|
||||
float: right;
|
||||
margin: 15px 0 2px 0;
|
||||
margin: 15px 0 5px 0;
|
||||
}
|
||||
|
||||
.rtl .pagination {
|
||||
@@ -1776,6 +1787,7 @@ li.pagination ul {
|
||||
margin: 10px 0;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.success {
|
||||
@@ -1877,17 +1889,7 @@ li.pagination ul {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Nice method for clearing floated blocks without having to insert any extra markup
|
||||
From http://www.positioniseverything.net/easyclearing.html
|
||||
.clearfix:after, #tabs:after, .row:after, #content:after, fieldset dl:after, #page-body:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}*/
|
||||
|
||||
.clearfix, .row, #content, fieldset dl, #page-body {
|
||||
.row, fieldset dl {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -2470,3 +2472,20 @@ fieldset.permissions .padding {
|
||||
.responsive-show-inline { display: inline !important; }
|
||||
.responsive-show-inline-block { display: inline-block !important; }
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pagination:after,
|
||||
#page-header:after,
|
||||
#page-body:after,
|
||||
#tabs:after,
|
||||
#tabs > ul:after,
|
||||
#tabs li:after,
|
||||
#acp:after,
|
||||
#content:after {
|
||||
content: '';
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
|
@@ -1,6 +1,8 @@
|
||||
/* global phpbb */
|
||||
|
||||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* The following callbacks are for reording items. row_down
|
||||
@@ -13,11 +15,10 @@ phpbb.addAjaxCallback('row_down', function(res) {
|
||||
return;
|
||||
}
|
||||
|
||||
var el = $(this),
|
||||
tr = el.parents('tr'),
|
||||
trSwap = tr.next();
|
||||
var $firstTr = $(this).parents('tr'),
|
||||
$secondTr = $firstTr.next();
|
||||
|
||||
tr.insertAfter(trSwap);
|
||||
$firstTr.insertAfter($secondTr);
|
||||
});
|
||||
|
||||
phpbb.addAjaxCallback('row_up', function(res) {
|
||||
@@ -25,11 +26,10 @@ phpbb.addAjaxCallback('row_up', function(res) {
|
||||
return;
|
||||
}
|
||||
|
||||
var el = $(this),
|
||||
tr = el.parents('tr'),
|
||||
trSwap = tr.prev();
|
||||
var $secondTr = $(this).parents('tr'),
|
||||
$firstTr = $secondTr.prev();
|
||||
|
||||
tr.insertBefore(trSwap);
|
||||
$secondTr.insertBefore($firstTr);
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -38,10 +38,10 @@ phpbb.addAjaxCallback('row_up', function(res) {
|
||||
* in the href with "deactivate", and vice versa.
|
||||
*/
|
||||
phpbb.addAjaxCallback('activate_deactivate', function(res) {
|
||||
var el = $(this),
|
||||
newHref = el.attr('href');
|
||||
var $this = $(this),
|
||||
newHref = $this.attr('href');
|
||||
|
||||
el.text(res.text);
|
||||
$this.text(res.text);
|
||||
|
||||
if (newHref.indexOf('deactivate') !== -1) {
|
||||
newHref = newHref.replace('deactivate', 'activate');
|
||||
@@ -49,7 +49,7 @@ phpbb.addAjaxCallback('activate_deactivate', function(res) {
|
||||
newHref = newHref.replace('activate', 'deactivate');
|
||||
}
|
||||
|
||||
el.attr('href', newHref);
|
||||
$this.attr('href', newHref);
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -66,11 +66,10 @@ phpbb.addAjaxCallback('row_delete', function(res) {
|
||||
|
||||
$('[data-ajax]').each(function() {
|
||||
var $this = $(this),
|
||||
ajax = $this.attr('data-ajax'),
|
||||
fn;
|
||||
ajax = $this.attr('data-ajax');
|
||||
|
||||
if (ajax !== 'false') {
|
||||
fn = (ajax !== 'true') ? ajax : null;
|
||||
var fn = (ajax !== 'true') ? ajax : null;
|
||||
phpbb.ajaxify({
|
||||
selector: this,
|
||||
refresh: $this.attr('data-refresh') !== undefined,
|
||||
@@ -82,7 +81,7 @@ $('[data-ajax]').each(function() {
|
||||
/**
|
||||
* Automatically resize textarea
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
$(function() {
|
||||
phpbb.resizeTextArea($('textarea:not(.no-auto-resize)'), {minHeight: 75});
|
||||
});
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF -->
|
||||
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||
<!-- INCLUDEJS admin.js -->
|
||||
{$SCRIPTS}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
||||
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||
<!-- INCLUDEJS ajax.js -->
|
||||
<!-- INCLUDEJS admin.js -->
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
|
||||
<dl>
|
||||
<dt><label for="src_forum">{L_COPY_PERMISSIONS_FROM}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_FORUM_FROM_EXPLAIN}</span></dt>
|
||||
<dt><!-- EVENT acp_permission_forum_copy_src_forum_prepend --><label for="src_forum">{L_COPY_PERMISSIONS_FROM}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_FORUM_FROM_EXPLAIN}</span><!-- EVENT acp_permission_forum_copy_src_forum_append --></dt>
|
||||
<dd><select id="src_forum" name="src_forum_id"><option value="0">{L_SELECT_FORUM}</option><option value="-1">------------------</option>{S_FORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
@@ -22,7 +22,7 @@
|
||||
<p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
|
||||
|
||||
<dl>
|
||||
<dt><label for="dest_forums">{L_COPY_PERMISSIONS_TO}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_FORUM_TO_EXPLAIN}</span></dt>
|
||||
<dt><!-- EVENT acp_permission_forum_copy_dest_forum_prepend --><label for="dest_forums">{L_COPY_PERMISSIONS_TO}{L_COLON}</label><br /><span>{L_COPY_PERMISSIONS_FORUM_TO_EXPLAIN}</span><!-- EVENT acp_permission_forum_copy_dest_forum_append --></dt>
|
||||
<dd><select id="dest_forums" name="dest_forum_ids[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
|
||||
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
||||
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||
|
||||
<!-- EVENT acp_simple_footer_after -->
|
||||
|
@@ -2,6 +2,7 @@
|
||||
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- IF META -->{META}<!-- ENDIF -->
|
||||
<title>{PAGE_TITLE}</title>
|
||||
|
||||
|
@@ -1,17 +1,25 @@
|
||||
<dl>
|
||||
<dt><label for="timezone">{L_BOARD_TIMEZONE}{L_COLON}</label></dt>
|
||||
<!-- IF S_TZ_DATE_OPTIONS -->
|
||||
<!-- IF .timezone_date -->
|
||||
<dd id="tz_select_date" style="display: none;">
|
||||
<select name="tz_date" id="tz_date" class="autowidth tz_select">
|
||||
<option value="">{L_SELECT_CURRENT_TIME}</option>
|
||||
{S_TZ_DATE_OPTIONS}
|
||||
<!-- BEGIN timezone_date -->
|
||||
<option value="{timezone_date.VALUE}"<!-- IF timezone_date.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_date.TITLE}</option>
|
||||
<!-- END timezone_date -->
|
||||
</select>
|
||||
</dd>
|
||||
<!-- ENDIF -->
|
||||
<dd>
|
||||
<select name="tz" id="timezone" class="autowidth tz_select">
|
||||
<option value="">{L_SELECT_TIMEZONE}</option>
|
||||
{S_TZ_OPTIONS}
|
||||
<!-- BEGIN timezone_select -->
|
||||
<optgroup label="{timezone_select.LABEL}" data-tz-value="{timezone_select.VALUE}">
|
||||
<!-- BEGIN timezone_options -->
|
||||
<option title="{timezone_select.timezone_options.TITLE}" value="{timezone_select.timezone_options.VALUE}"<!-- IF timezone_select.timezone_options.SELECTED --> selected="selected"<!-- ENDIF -->>{timezone_select.timezone_options.LABEL}</option>
|
||||
<!-- END timezone_options -->
|
||||
</optgroup>
|
||||
<!-- END timezone_select -->
|
||||
</select>
|
||||
|
||||
<!-- INCLUDEJS timezone.js -->
|
||||
|
@@ -159,7 +159,7 @@ function insert_text(text, spaces, popup) {
|
||||
/**
|
||||
* Add inline attachment at position
|
||||
*/
|
||||
function attach_inline(index, filename) {
|
||||
function attachInline(index, filename) {
|
||||
insert_text('[attachment=' + index + ']' + filename + '[/attachment]');
|
||||
document.forms[form_name].elements[text_name].focus();
|
||||
}
|
||||
@@ -266,10 +266,6 @@ function mozWrap(txtarea, open, close) {
|
||||
var selEnd = txtarea.selectionEnd;
|
||||
var scrollTop = txtarea.scrollTop;
|
||||
|
||||
if (selEnd === 1 || selEnd === 2) {
|
||||
selEnd = selLength;
|
||||
}
|
||||
|
||||
var s1 = (txtarea.value).substring(0,selStart);
|
||||
var s2 = (txtarea.value).substring(selStart, selEnd);
|
||||
var s3 = (txtarea.value).substring(selEnd, selLength);
|
||||
@@ -359,6 +355,9 @@ function getCaretPosition(txtarea) {
|
||||
textarea = doc.forms[form_name].elements[text_name];
|
||||
|
||||
phpbb.applyCodeEditor(textarea);
|
||||
if ($('#attach-panel').length) {
|
||||
phpbb.showDragNDrop(textarea);
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
|
@@ -1,26 +1,26 @@
|
||||
/* global phpbb, plupload, attachInline */
|
||||
|
||||
plupload.addI18n(phpbb.plupload.i18n);
|
||||
phpbb.plupload.ids = [];
|
||||
|
||||
(function($) { // Avoid conflicts with other libraries
|
||||
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Set up the uploader.
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.initialize = function() {
|
||||
// Initialize the Plupload uploader.
|
||||
uploader.init();
|
||||
phpbb.plupload.uploader.init();
|
||||
|
||||
// Set attachment data.
|
||||
phpbb.plupload.setData(phpbb.plupload.data);
|
||||
phpbb.plupload.updateMultipartParams(phpbb.plupload.getSerializedData());
|
||||
|
||||
// Only execute if Plupload initialized successfully.
|
||||
uploader.bind('Init', function() {
|
||||
phpbb.plupload.form = $(phpbb.plupload.config.form_hook)[0],
|
||||
phpbb.plupload.uploader.bind('Init', function() {
|
||||
phpbb.plupload.form = $(phpbb.plupload.config.form_hook)[0];
|
||||
phpbb.plupload.rowTpl = $('#attach-row-tpl')[0].outerHTML;
|
||||
|
||||
// Hide the basic upload panel and remove the attach row template.
|
||||
@@ -29,48 +29,51 @@ phpbb.plupload.initialize = function() {
|
||||
$('#attach-panel-multi').show();
|
||||
});
|
||||
|
||||
uploader.bind('PostInit', function() {
|
||||
phpbb.plupload.uploader.bind('PostInit', function() {
|
||||
// Point out the drag-and-drop zone if it's supported.
|
||||
if (uploader.features.dragdrop) {
|
||||
if (phpbb.plupload.uploader.features.dragdrop) {
|
||||
$('#drag-n-drop-message').show();
|
||||
}
|
||||
|
||||
// Ensure "Add files" button position is correctly calculated.
|
||||
if ($('#attach-panel-multi').is(':visible')) {
|
||||
phpbb.plupload.uploader.refresh();
|
||||
}
|
||||
$('[data-subpanel="attach-panel"]').one('click', function() {
|
||||
phpbb.plupload.uploader.refresh();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Unsets all elements in the object uploader.settings.multipart_params whose keys
|
||||
* begin with 'attachment_data['
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.clearParams = function() {
|
||||
var obj = uploader.settings.multipart_params;
|
||||
var obj = phpbb.plupload.uploader.settings.multipart_params;
|
||||
for (var key in obj) {
|
||||
if (!obj.hasOwnProperty(key) || key.indexOf('attachment_data[') !== 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
delete uploader.settings.multipart_params[key];
|
||||
delete phpbb.plupload.uploader.settings.multipart_params[key];
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Update uploader.settings.multipart_params object with new data.
|
||||
*
|
||||
* @param object obj
|
||||
* @return undefined
|
||||
* @param {object} obj
|
||||
*/
|
||||
phpbb.plupload.updateMultipartParams = function(obj) {
|
||||
uploader.settings.multipart_params = $.extend(
|
||||
uploader.settings.multipart_params,
|
||||
obj
|
||||
);
|
||||
var settings = phpbb.plupload.uploader.settings;
|
||||
settings.multipart_params = $.extend(settings.multipart_params, obj);
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert the array of attachment objects into an object that PHP would expect as POST data.
|
||||
*
|
||||
* @return object An object in the form 'attachment_data[i][key]': value as
|
||||
* @returns {object} An object in the form 'attachment_data[i][key]': value as
|
||||
* expected by the server
|
||||
*/
|
||||
phpbb.plupload.getSerializedData = function() {
|
||||
@@ -92,22 +95,19 @@ phpbb.plupload.getSerializedData = function() {
|
||||
* Get the index from the phpbb.plupload.data array where the given
|
||||
* attachment id appears.
|
||||
*
|
||||
* @param int attach_id The attachment id of the file.
|
||||
* @return bool Returns false if the id cannot be found.
|
||||
* @return int Returns the index of the file if it exists.
|
||||
* @param {int} attachId The attachment id of the file.
|
||||
* @returns {bool|int} Index of the file if exists, otherwise false.
|
||||
*/
|
||||
phpbb.plupload.getIndex = function(attach_id) {
|
||||
var index = $.inArray(Number(attach_id), phpbb.plupload.ids);
|
||||
phpbb.plupload.getIndex = function(attachId) {
|
||||
var index = $.inArray(Number(attachId), phpbb.plupload.ids);
|
||||
return (index !== -1) ? index : false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set the data in phpbb.plupload.data and phpbb.plupload.ids arrays.
|
||||
*
|
||||
* @param array data Array containing the new data to use. In the form of
|
||||
* @param {Array} data Array containing the new data to use. In the form of
|
||||
* array(index => object(property: value). Requires attach_id to be one of the object properties.
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.setData = function(data) {
|
||||
// Make sure that the array keys are reset.
|
||||
@@ -122,11 +122,10 @@ phpbb.plupload.setData = function(data) {
|
||||
/**
|
||||
* Update the attachment data in the HTML and the phpbb & phpbb.plupload objects.
|
||||
*
|
||||
* @param array data Array containing the new data to use.
|
||||
* @param string action The action that required the update. Used to update the inline attachment bbcodes.
|
||||
* @param int index The index from phpbb.plupload_ids that was affected by the action.
|
||||
* @param array downloadUrl Optional array of download urls to update.
|
||||
* @return undefined
|
||||
* @param {Array} data Array containing the new data to use.
|
||||
* @param {string} action The action that required the update. Used to update the inline attachment bbcodes.
|
||||
* @param {int} index The index from phpbb.plupload_ids that was affected by the action.
|
||||
* @param {Array} downloadUrl Optional array of download urls to update.
|
||||
*/
|
||||
phpbb.plupload.update = function(data, action, index, downloadUrl) {
|
||||
|
||||
@@ -140,8 +139,7 @@ phpbb.plupload.update = function(data, action, index, downloadUrl) {
|
||||
/**
|
||||
* Update the relevant elements and hidden data for all attachments.
|
||||
*
|
||||
* @param array downloadUrl Optional array of download urls to update.
|
||||
* @return undefined
|
||||
* @param {Array} downloadUrl Optional array of download urls to update.
|
||||
*/
|
||||
phpbb.plupload.updateRows = function(downloadUrl) {
|
||||
for (var i = 0; i < phpbb.plupload.ids.length; i++) {
|
||||
@@ -155,8 +153,7 @@ phpbb.plupload.updateRows = function(downloadUrl) {
|
||||
* data for the file inserted into it. The row is then appended or prepended to
|
||||
* #file-list based on the attach_order setting.
|
||||
*
|
||||
* @param object file Plupload file object for the new attachment.
|
||||
* @return undefined
|
||||
* @param {object} file Plupload file object for the new attachment.
|
||||
*/
|
||||
phpbb.plupload.insertRow = function(file) {
|
||||
var row = $(phpbb.plupload.rowTpl);
|
||||
@@ -165,7 +162,7 @@ phpbb.plupload.insertRow = function(file) {
|
||||
row.find('.file-name').html(plupload.xmlEncode(file.name));
|
||||
row.find('.file-size').html(plupload.formatSize(file.size));
|
||||
|
||||
if (phpbb.plupload.order == 'desc') {
|
||||
if (phpbb.plupload.order === 'desc') {
|
||||
$('#file-list').prepend(row);
|
||||
} else {
|
||||
$('#file-list').append(row);
|
||||
@@ -175,9 +172,8 @@ phpbb.plupload.insertRow = function(file) {
|
||||
/**
|
||||
* Update the relevant elements and hidden data for an attachment.
|
||||
*
|
||||
* @param int index The index from phpbb.plupload.ids of the attachment to edit.
|
||||
* @param array downloadUrl Optional array of download urls to update.
|
||||
* @return undefined
|
||||
* @param {int} index The index from phpbb.plupload.ids of the attachment to edit.
|
||||
* @param {Array} downloadUrl Optional array of download urls to update.
|
||||
*/
|
||||
phpbb.plupload.updateRow = function(index, downloadUrl) {
|
||||
var attach = phpbb.plupload.data[index],
|
||||
@@ -189,7 +185,7 @@ phpbb.plupload.updateRow = function(index, downloadUrl) {
|
||||
link = $('<a></a>');
|
||||
|
||||
link.attr('href', url).html(attach.real_filename);
|
||||
row.find('.file-name').html(link)
|
||||
row.find('.file-name').html(link);
|
||||
}
|
||||
|
||||
row.find('textarea').attr('name', 'comment_list[' + index + ']');
|
||||
@@ -199,18 +195,21 @@ phpbb.plupload.updateRow = function(index, downloadUrl) {
|
||||
/**
|
||||
* Update hidden input data for an attachment.
|
||||
*
|
||||
* @param object row jQuery object for the attachment row.
|
||||
* @param object attach Attachment data object from phpbb.plupload.data
|
||||
* @param int index Attachment index from phpbb.plupload.ids
|
||||
* @return undefined
|
||||
* @param {object} row jQuery object for the attachment row.
|
||||
* @param {object} attach Attachment data object from phpbb.plupload.data
|
||||
* @param {int} index Attachment index from phpbb.plupload.ids
|
||||
*/
|
||||
phpbb.plupload.updateHiddenData = function(row, attach, index) {
|
||||
row.find('input[type="hidden"]').remove();
|
||||
|
||||
for (var key in attach) {
|
||||
if (!attach.hasOwnProperty(key)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var input = $('<input />')
|
||||
.attr('type', 'hidden')
|
||||
.attr('name', 'attachment_data[' + index + '][' + key +']')
|
||||
.attr('name', 'attachment_data[' + index + '][' + key + ']')
|
||||
.attr('value', attach[key]);
|
||||
$('textarea', row).after(input);
|
||||
}
|
||||
@@ -222,16 +221,14 @@ phpbb.plupload.updateHiddenData = function(row, attach, index) {
|
||||
* responds with the updated attachment data list so that any future
|
||||
* uploads can maintain state with the server
|
||||
*
|
||||
* @param object row jQuery object for the attachment row.
|
||||
* @param int attachId Attachment id of the file to be removed.
|
||||
*
|
||||
* @return undefined
|
||||
* @param {object} row jQuery object for the attachment row.
|
||||
* @param {int} attachId Attachment id of the file to be removed.
|
||||
*/
|
||||
phpbb.plupload.deleteFile = function(row, attachId) {
|
||||
// If there's no attach id, then the file hasn't been uploaded. Simply delete the row.
|
||||
if (typeof attachId === 'undefined') {
|
||||
var file = uploader.getFile(row.attr('id'));
|
||||
uploader.removeFile(file);
|
||||
var file = phpbb.plupload.uploader.getFile(row.attr('id'));
|
||||
phpbb.plupload.uploader.removeFile(file);
|
||||
|
||||
row.slideUp(100, function() {
|
||||
row.remove();
|
||||
@@ -259,7 +256,7 @@ phpbb.plupload.deleteFile = function(row, attachId) {
|
||||
|
||||
// trigger_error() was called which likely means a permission error was encountered.
|
||||
if (typeof response.title !== 'undefined') {
|
||||
uploader.trigger('Error', {message: response.message});
|
||||
phpbb.plupload.uploader.trigger('Error', { message: response.message });
|
||||
// We will have to assume that the deletion failed. So leave the file status as uploaded.
|
||||
row.find('.file-status').toggleClass('file-uploaded');
|
||||
|
||||
@@ -270,21 +267,21 @@ phpbb.plupload.deleteFile = function(row, attachId) {
|
||||
phpbb.plupload.handleMaxFilesReached();
|
||||
|
||||
if (row.attr('id')) {
|
||||
var file = uploader.getFile(row.attr('id'));
|
||||
uploader.removeFile(file);
|
||||
var file = phpbb.plupload.uploader.getFile(row.attr('id'));
|
||||
phpbb.plupload.uploader.removeFile(file);
|
||||
}
|
||||
row.slideUp(100, function() {
|
||||
row.remove();
|
||||
// Hide the file list if it's empty now.
|
||||
phpbb.plupload.hideEmptyList();
|
||||
});
|
||||
uploader.trigger('FilesRemoved');
|
||||
phpbb.plupload.uploader.trigger('FilesRemoved');
|
||||
};
|
||||
|
||||
$.ajax(phpbb.plupload.config.url, {
|
||||
type: 'POST',
|
||||
data: $.extend(fields, phpbb.plupload.getSerializedData()),
|
||||
headers: {'X-PHPBB-USING-PLUPLOAD': '1', 'X-Requested-With': 'XMLHttpRequest'}
|
||||
headers: phpbb.plupload.config.headers
|
||||
})
|
||||
.always(always)
|
||||
.done(done);
|
||||
@@ -292,25 +289,21 @@ phpbb.plupload.deleteFile = function(row, attachId) {
|
||||
|
||||
/**
|
||||
* Check the attachment list and hide its container if it's empty.
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.hideEmptyList = function() {
|
||||
if (!$('#file-list').children().length) {
|
||||
$('#file-list-container').slideUp(100);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Update the indices used in inline attachment bbcodes. This ensures that the bbcodes
|
||||
* correspond to the correct file after a file is added or removed. This should be called
|
||||
* before the phpbb.plupload,data and phpbb.plupload.ids arrays are updated, otherwise it will
|
||||
* not work correctly.
|
||||
* Update the indices used in inline attachment bbcodes. This ensures that the
|
||||
* bbcodes correspond to the correct file after a file is added or removed.
|
||||
* This should be called before the phpbb.plupload,data and phpbb.plupload.ids
|
||||
* arrays are updated, otherwise it will not work correctly.
|
||||
*
|
||||
* @param string action The action that occurred -- either "addition" or "removal"
|
||||
* @param int index The index of the attachment from phpbb.plupload.ids that was affected.
|
||||
*
|
||||
* @return undefined
|
||||
* @param {string} action The action that occurred -- either "addition" or "removal"
|
||||
* @param {int} index The index of the attachment from phpbb.plupload.ids that was affected.
|
||||
*/
|
||||
phpbb.plupload.updateBbcode = function(action, index) {
|
||||
var textarea = $('#message', phpbb.plupload.form),
|
||||
@@ -322,64 +315,59 @@ phpbb.plupload.updateBbcode = function(action, index) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Private function used to replace the bbcode.
|
||||
var updateBbcode = function(match, fileName) {
|
||||
// Remove the bbcode if the file was removed.
|
||||
if (removal && index === i) {
|
||||
return '';
|
||||
}
|
||||
var newIndex = i + ((removal) ? -1 : 1);
|
||||
return '[attachment=' + newIndex +']' + fileName + '[/attachment]';
|
||||
};
|
||||
function runUpdate(i) {
|
||||
var regex = new RegExp('\\[attachment=' + i + '\\](.*?)\\[\\/attachment\\]', 'g');
|
||||
text = text.replace(regex, function updateBbcode(_, fileName) {
|
||||
// Remove the bbcode if the file was removed.
|
||||
if (removal && index === i) {
|
||||
return '';
|
||||
}
|
||||
var newIndex = i + ((removal) ? -1 : 1);
|
||||
return '[attachment=' + newIndex + ']' + fileName + '[/attachment]';
|
||||
});
|
||||
}
|
||||
|
||||
// Private function used to generate search regexp
|
||||
var searchRegexp = function(index) {
|
||||
return new RegExp('\\[attachment=' + index + '\\](.*?)\\[\\/attachment\\]', 'g');
|
||||
}
|
||||
// The update order of the indices is based on the action taken to ensure that we don't corrupt
|
||||
// the bbcode index by updating it several times as we move through the loop.
|
||||
// Removal loop starts at the removed index and moves to the end of the array.
|
||||
// Addition loop starts at the end of the array and moves to the added index at 0.
|
||||
var searchLoop = function() {
|
||||
if (typeof i === 'undefined') {
|
||||
i = (removal) ? index : phpbb.plupload.ids.length - 1;
|
||||
}
|
||||
return (removal) ? (i < phpbb.plupload.ids.length): (i >= index);
|
||||
}
|
||||
// Loop forwards when removing and backwards when adding ensures we don't
|
||||
// corrupt the bbcode index.
|
||||
var i;
|
||||
|
||||
while (searchLoop()) {
|
||||
text = text.replace(searchRegexp(i), updateBbcode);
|
||||
(removal) ? i++ : i--;
|
||||
if (removal) {
|
||||
for (i = index; i < phpbb.plupload.ids.length; i++) {
|
||||
runUpdate(i);
|
||||
}
|
||||
} else {
|
||||
for (i = phpbb.plupload.ids.length - 1; i >= index; i--) {
|
||||
runUpdate(i);
|
||||
}
|
||||
}
|
||||
|
||||
textarea.val(text);
|
||||
};
|
||||
|
||||
/**
|
||||
* Get Plupload file objects based on their upload status.
|
||||
*
|
||||
* @param int status Plupload status - plupload.DONE, plupload.FAILED, plupload.QUEUED,
|
||||
* plupload.STARTED, plupload.STOPPED
|
||||
* @param {int} status Plupload status - plupload.DONE, plupload.FAILED,
|
||||
* plupload.QUEUED, plupload.STARTED, plupload.STOPPED
|
||||
*
|
||||
* @return Returns an array of the Plupload file objects matching the status.
|
||||
* @returns {Array} The Plupload file objects matching the status.
|
||||
*/
|
||||
phpbb.plupload.getFilesByStatus = function(status) {
|
||||
var files = [];
|
||||
|
||||
$.each(uploader.files, function(i, file) {
|
||||
$.each(phpbb.plupload.uploader.files, function(i, file) {
|
||||
if (file.status === status) {
|
||||
files.push(file);
|
||||
}
|
||||
});
|
||||
return files;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Check whether the user has reached the maximun number of files that he's allowed
|
||||
* to upload. If so, disables the uploader and marks the queued files as failed. Otherwise
|
||||
* makes sure that the uploader is enabled.
|
||||
*
|
||||
* @return bool Returns true if the limit has been reached. False if otherwise.
|
||||
* @returns {bool} True if the limit has been reached. False if otherwise.
|
||||
*/
|
||||
phpbb.plupload.handleMaxFilesReached = function() {
|
||||
// If there is no limit, the user is an admin or moderator.
|
||||
@@ -392,41 +380,36 @@ phpbb.plupload.handleMaxFilesReached = function() {
|
||||
phpbb.plupload.markQueuedFailed(phpbb.plupload.lang.TOO_MANY_ATTACHMENTS);
|
||||
// Disable the uploader.
|
||||
phpbb.plupload.disableUploader();
|
||||
uploader.trigger('Error', {message: phpbb.plupload.lang.TOO_MANY_ATTACHMENTS});
|
||||
phpbb.plupload.uploader.trigger('Error', { message: phpbb.plupload.lang.TOO_MANY_ATTACHMENTS });
|
||||
|
||||
return true;
|
||||
} else if(phpbb.plupload.maxFiles > phpbb.plupload.ids.length) {
|
||||
} else if (phpbb.plupload.maxFiles > phpbb.plupload.ids.length) {
|
||||
// Enable the uploader if the user is under the limit
|
||||
phpbb.plupload.enableUploader();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Disable the uploader
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.disableUploader = function() {
|
||||
$('#add_files').addClass('disabled');
|
||||
uploader.disableBrowse();
|
||||
}
|
||||
phpbb.plupload.uploader.disableBrowse();
|
||||
};
|
||||
|
||||
/**
|
||||
* Enable the uploader
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
phpbb.plupload.enableUploader = function() {
|
||||
$('#add_files').removeClass('disabled');
|
||||
uploader.disableBrowse(false);
|
||||
}
|
||||
phpbb.plupload.uploader.disableBrowse(false);
|
||||
};
|
||||
|
||||
/**
|
||||
* Mark all queued files as failed.
|
||||
*
|
||||
* @param string error Error message to present to the user.
|
||||
* @return undefined
|
||||
* @param {string} error Error message to present to the user.
|
||||
*/
|
||||
phpbb.plupload.markQueuedFailed = function(error) {
|
||||
var files = phpbb.plupload.getFilesByStatus(plupload.QUEUED);
|
||||
@@ -435,48 +418,49 @@ phpbb.plupload.markQueuedFailed = function(error) {
|
||||
$('#' + file.id).find('.file-progress').hide();
|
||||
phpbb.plupload.fileError(file, error);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Marks a file as failed and sets the error message for it.
|
||||
*
|
||||
* @param object file Plupload file object that failed.
|
||||
* @param string error Error message to present to the user.
|
||||
* @return undefined
|
||||
* @param {object} file Plupload file object that failed.
|
||||
* @param {string} error Error message to present to the user.
|
||||
*/
|
||||
phpbb.plupload.fileError = function(file, error) {
|
||||
file.status = plupload.FAILED;
|
||||
file.error = error;
|
||||
$('#' + file.id).find('.file-status').addClass('file-error').attr({'data-error-title': phpbb.plupload.lang.ERROR, 'data-error-message': error});
|
||||
}
|
||||
|
||||
|
||||
$('#' + file.id).find('.file-status')
|
||||
.addClass('file-error')
|
||||
.attr({
|
||||
'data-error-title': phpbb.plupload.lang.ERROR,
|
||||
'data-error-message': error
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Set up the Plupload object and get some basic data.
|
||||
*/
|
||||
var uploader = new plupload.Uploader(phpbb.plupload.config);
|
||||
phpbb.plupload.uploader = new plupload.Uploader(phpbb.plupload.config);
|
||||
phpbb.plupload.initialize();
|
||||
|
||||
|
||||
|
||||
var $fileList = $('#file-list');
|
||||
|
||||
/**
|
||||
* Insert inline attachment bbcode.
|
||||
*/
|
||||
$('#file-list').on('click', '.file-inline-bbcode', function(e) {
|
||||
$fileList.on('click', '.file-inline-bbcode', function(e) {
|
||||
var attachId = $(this).parents('.attach-row').attr('data-attach-id'),
|
||||
index = phpbb.plupload.getIndex(attachId);
|
||||
|
||||
attach_inline(index, phpbb.plupload.data[index].real_filename);
|
||||
attachInline(index, phpbb.plupload.data[index].real_filename);
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
/**
|
||||
* Delete a file.
|
||||
*/
|
||||
$('#file-list').on('click', '.file-delete', function(e) {
|
||||
$fileList.on('click', '.file-delete', function(e) {
|
||||
var row = $(this).parents('.attach-row'),
|
||||
attachId = row.attr('data-attach-id');
|
||||
|
||||
@@ -487,7 +471,7 @@ $('#file-list').on('click', '.file-delete', function(e) {
|
||||
/**
|
||||
* Display the error message for a particular file when the error icon is clicked.
|
||||
*/
|
||||
$('#file-list').on('click', '.file-error', function(e) {
|
||||
$fileList.on('click', '.file-error', function(e) {
|
||||
phpbb.alert($(this).attr('data-error-title'), $(this).attr('data-error-message'));
|
||||
e.preventDefault();
|
||||
});
|
||||
@@ -495,7 +479,7 @@ $('#file-list').on('click', '.file-error', function(e) {
|
||||
/**
|
||||
* Fires when an error occurs.
|
||||
*/
|
||||
uploader.bind('Error', function(up, error) {
|
||||
phpbb.plupload.uploader.bind('Error', function(up, error) {
|
||||
error.file.name = plupload.xmlEncode(error.file.name);
|
||||
|
||||
// The error message that Plupload provides for these is vague, so we'll be more specific.
|
||||
@@ -512,18 +496,15 @@ uploader.bind('Error', function(up, error) {
|
||||
* send the real filename along with the chunk. This is necessary because
|
||||
* for some reason the filename is set to 'blob' whenever a file is chunked
|
||||
*
|
||||
* @param object up The plupload.Uploader object
|
||||
* @param object file The plupload.File object that is about to be
|
||||
* uploaded
|
||||
*
|
||||
* @return undefined
|
||||
* @param {object} up The plupload.Uploader object
|
||||
* @param {object} file The plupload.File object that is about to be uploaded
|
||||
*/
|
||||
uploader.bind('BeforeUpload', function(up, file) {
|
||||
phpbb.plupload.uploader.bind('BeforeUpload', function(up, file) {
|
||||
if (phpbb.plupload.handleMaxFilesReached()) {
|
||||
return;
|
||||
}
|
||||
|
||||
phpbb.plupload.updateMultipartParams({'real_filename': file.name});
|
||||
phpbb.plupload.updateMultipartParams({ real_filename: file.name });
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -531,14 +512,12 @@ uploader.bind('BeforeUpload', function(up, file) {
|
||||
* response from the server and checks for an error. If an error occurs it
|
||||
* is reported to the user and the upload of this particular file is halted
|
||||
*
|
||||
* @param object up The plupload.Uploader object
|
||||
* @param object file The plupload.File object whose chunk has just
|
||||
* @param {object} up The plupload.Uploader object
|
||||
* @param {object} file The plupload.File object whose chunk has just
|
||||
* been uploaded
|
||||
* @param object response The response object from the server
|
||||
*
|
||||
* @return undefined
|
||||
* @param {object} response The response object from the server
|
||||
*/
|
||||
uploader.bind('ChunkUploaded', function(up, file, response) {
|
||||
phpbb.plupload.uploader.bind('ChunkUploaded', function(up, file, response) {
|
||||
if (response.chunk >= response.chunks - 1) {
|
||||
return;
|
||||
}
|
||||
@@ -559,7 +538,7 @@ uploader.bind('ChunkUploaded', function(up, file, response) {
|
||||
|
||||
// If trigger_error() was called, then a permission error likely occurred.
|
||||
if (typeof json.title !== 'undefined') {
|
||||
json.error = {message: json.message};
|
||||
json.error = { message: json.message };
|
||||
}
|
||||
|
||||
if (json.error) {
|
||||
@@ -576,10 +555,8 @@ uploader.bind('ChunkUploaded', function(up, file, response) {
|
||||
|
||||
/**
|
||||
* Fires when files are added to the queue.
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
uploader.bind('FilesAdded', function(up, files) {
|
||||
phpbb.plupload.uploader.bind('FilesAdded', function(up, files) {
|
||||
// Prevent unnecessary requests to the server if the user already uploaded
|
||||
// the maximum number of files allowed.
|
||||
if (phpbb.plupload.handleMaxFilesReached()) {
|
||||
@@ -587,13 +564,14 @@ uploader.bind('FilesAdded', function(up, files) {
|
||||
}
|
||||
|
||||
// Switch the active tab if the style supports it
|
||||
if (typeof activateSubPanel == 'function') {
|
||||
activateSubPanel('attach-panel');
|
||||
if (typeof activateSubPanel === 'function') {
|
||||
activateSubPanel('attach-panel'); // jshint ignore: line
|
||||
}
|
||||
|
||||
// Show the file list if there aren't any files currently.
|
||||
if (!$('#file-list-container').is(':visible')) {
|
||||
$('#file-list-container').show(100);
|
||||
var $fileListContainer = $('#file-list-container');
|
||||
if (!$fileListContainer.is(':visible')) {
|
||||
$fileListContainer.show(100);
|
||||
}
|
||||
|
||||
$.each(files, function(i, file) {
|
||||
@@ -601,7 +579,7 @@ uploader.bind('FilesAdded', function(up, files) {
|
||||
});
|
||||
|
||||
up.bind('UploadProgress', function(up, file) {
|
||||
$('#' + file.id + " .file-progress-bar").css('width', file.percent + '%');
|
||||
$('.file-progress-bar', '#' + file.id).css('width', file.percent + '%');
|
||||
$('#file-total-progress-bar').css('width', up.total.percent + '%');
|
||||
});
|
||||
|
||||
@@ -619,14 +597,12 @@ uploader.bind('FilesAdded', function(up, files) {
|
||||
* appends it to the next file upload so that the server can maintain state
|
||||
* with regards to the attachments in a given post
|
||||
*
|
||||
* @param object up The plupload.Uploader object
|
||||
* @param object file The plupload.File object that has just been
|
||||
* @param {object} up The plupload.Uploader object
|
||||
* @param {object} file The plupload.File object that has just been
|
||||
* uploaded
|
||||
* @param string response The response string from the server
|
||||
*
|
||||
* @return undefined
|
||||
* @param {string} response The response string from the server
|
||||
*/
|
||||
uploader.bind('FileUploaded', function(up, file, response) {
|
||||
phpbb.plupload.uploader.bind('FileUploaded', function(up, file, response) {
|
||||
var json = {},
|
||||
row = $('#' + file.id),
|
||||
error;
|
||||
@@ -635,7 +611,7 @@ uploader.bind('FileUploaded', function(up, file, response) {
|
||||
row.find('.file-progress').hide();
|
||||
|
||||
try {
|
||||
json = $.parseJSON(response.response);
|
||||
json = JSON.parse(response.response);
|
||||
} catch (e) {
|
||||
error = 'Error parsing server response.';
|
||||
}
|
||||
@@ -643,7 +619,7 @@ uploader.bind('FileUploaded', function(up, file, response) {
|
||||
// If trigger_error() was called, then a permission error likely occurred.
|
||||
if (typeof json.title !== 'undefined') {
|
||||
error = json.message;
|
||||
up.trigger('Error', {message: error});
|
||||
up.trigger('Error', { message: error });
|
||||
|
||||
// The rest of the queue will fail.
|
||||
phpbb.plupload.markQueuedFailed(error);
|
||||
@@ -654,25 +630,19 @@ uploader.bind('FileUploaded', function(up, file, response) {
|
||||
if (typeof error !== 'undefined') {
|
||||
phpbb.plupload.fileError(file, error);
|
||||
} else if (file.status === plupload.DONE) {
|
||||
file.attachment_data = json['data'][0];
|
||||
file.attachment_data = json.data[0];
|
||||
|
||||
row.attr('data-attach-id', file.attachment_data.attach_id);
|
||||
row.find('.file-inline-bbcode').show();
|
||||
row.find('.file-status').addClass('file-uploaded');
|
||||
phpbb.plupload.update(json['data'], 'addition', 0, [json['download_url']]);
|
||||
phpbb.plupload.update(json.data, 'addition', 0, [json.download_url]);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Fires when the entire queue of files have been uploaded.
|
||||
*
|
||||
* @param object up The plupload.Uploader object
|
||||
* @param array files An array of plupload.File objects that have just
|
||||
* been uploaded as part of a queue
|
||||
*
|
||||
* @return undefined
|
||||
*/
|
||||
uploader.bind('UploadComplete', function(up, files) {
|
||||
phpbb.plupload.uploader.bind('UploadComplete', function() {
|
||||
// Hide the progress bar
|
||||
setTimeout(function() {
|
||||
$('#file-total-progress-bar').fadeOut(500, function() {
|
||||
|
17
phpBB/assets/plupload/plupload.full.min.js
vendored
@@ -59,6 +59,8 @@ $phpbb_container->get('request')->enable_super_globals();
|
||||
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
|
||||
|
||||
$user = $phpbb_container->get('user');
|
||||
$user->data['user_id'] = ANONYMOUS;
|
||||
$user->ip = '127.0.0.1';
|
||||
$user->add_lang('acp/common');
|
||||
$user->add_lang('cli');
|
||||
|
||||
|
@@ -104,7 +104,7 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
|
||||
|
||||
// Add own hook handler
|
||||
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('\phpbb\template\template', 'display')));
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
|
||||
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
|
||||
|
||||
foreach ($phpbb_hook_finder->find() as $hook)
|
||||
|
@@ -25,7 +25,7 @@
|
||||
"phpbb/phpbb-core": "self.version"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"php": ">=5.3.3,<7.0",
|
||||
"lusitanian/oauth": "0.2.*",
|
||||
"symfony/config": "2.3.*",
|
||||
"symfony/console": "2.3.*",
|
||||
@@ -34,21 +34,27 @@
|
||||
"symfony/http-kernel": "2.3.*",
|
||||
"symfony/routing": "2.3.*",
|
||||
"symfony/yaml": "2.3.*",
|
||||
"twig/twig": "1.13.*"
|
||||
"twig/twig": "1.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"fabpot/goutte": "1.0.*",
|
||||
"phing/phing": "2.4.*",
|
||||
"phpunit/dbunit": "1.3.*",
|
||||
"phpunit/phpunit": "4.1.*",
|
||||
"phing/phing": "2.4.*",
|
||||
"sami/sami": "1.*",
|
||||
"squizlabs/php_codesniffer": "1.*",
|
||||
"squizlabs/php_codesniffer": "2.*",
|
||||
"symfony/browser-kit": "2.3.*",
|
||||
"symfony/css-selector": "2.3.*",
|
||||
"symfony/debug": "2.3.*",
|
||||
"symfony/dom-crawler": "2.3.*",
|
||||
"symfony/filesystem": "2.3.*",
|
||||
"symfony/finder": "2.3.*",
|
||||
"symfony/http-foundation": "2.3.*",
|
||||
"symfony/process": "2.3.*"
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.1.x-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
554
phpBB/composer.lock
generated
@@ -1,4 +1,9 @@
|
||||
services:
|
||||
# ----- Auth management -----
|
||||
auth:
|
||||
class: phpbb\auth\auth
|
||||
|
||||
# ----- Auth providers -----
|
||||
auth.provider_collection:
|
||||
class: phpbb\auth\provider_collection
|
||||
arguments:
|
||||
@@ -6,6 +11,7 @@ services:
|
||||
- @config
|
||||
tags:
|
||||
- { name: service_collection, tag: auth.provider }
|
||||
|
||||
auth.provider.db:
|
||||
class: phpbb\auth\provider\db
|
||||
arguments:
|
||||
@@ -19,6 +25,7 @@ services:
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
- { name: auth.provider }
|
||||
|
||||
auth.provider.apache:
|
||||
class: phpbb\auth\provider\apache
|
||||
arguments:
|
||||
@@ -31,6 +38,7 @@ services:
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
- { name: auth.provider }
|
||||
|
||||
auth.provider.ldap:
|
||||
class: phpbb\auth\provider\ldap
|
||||
arguments:
|
||||
@@ -40,6 +48,7 @@ services:
|
||||
- @user
|
||||
tags:
|
||||
- { name: auth.provider }
|
||||
|
||||
auth.provider.oauth:
|
||||
class: phpbb\auth\provider\oauth\oauth
|
||||
arguments:
|
||||
@@ -52,16 +61,20 @@ services:
|
||||
- %tables.auth_provider_oauth_account_assoc%
|
||||
- @auth.provider.oauth.service_collection
|
||||
- %tables.users%
|
||||
- @service_container
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
- { name: auth.provider }
|
||||
|
||||
# ----- OAuth services providers -----
|
||||
auth.provider.oauth.service_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: auth.provider.oauth.service }
|
||||
|
||||
auth.provider.oauth.service.bitly:
|
||||
class: phpbb\auth\provider\oauth\service\bitly
|
||||
arguments:
|
||||
@@ -69,6 +82,7 @@ services:
|
||||
- @request
|
||||
tags:
|
||||
- { name: auth.provider.oauth.service }
|
||||
|
||||
auth.provider.oauth.service.facebook:
|
||||
class: phpbb\auth\provider\oauth\service\facebook
|
||||
arguments:
|
||||
@@ -76,6 +90,7 @@ services:
|
||||
- @request
|
||||
tags:
|
||||
- { name: auth.provider.oauth.service }
|
||||
|
||||
auth.provider.oauth.service.google:
|
||||
class: phpbb\auth\provider\oauth\service\google
|
||||
arguments:
|
@@ -1,4 +1,18 @@
|
||||
services:
|
||||
avatar.manager:
|
||||
class: phpbb\avatar\manager
|
||||
arguments:
|
||||
- @config
|
||||
- @avatar.driver_collection
|
||||
|
||||
# ----- Avatar drivers -----
|
||||
avatar.driver_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: avatar.driver }
|
||||
|
||||
avatar.driver.gravatar:
|
||||
class: phpbb\avatar\driver\gravatar
|
||||
arguments:
|
||||
@@ -46,15 +60,9 @@ services:
|
||||
- %core.php_ext%
|
||||
- @path_helper
|
||||
- @mimetype.guesser
|
||||
- @dispatcher
|
||||
- @cache.driver
|
||||
calls:
|
||||
- [set_name, [avatar.driver.upload]]
|
||||
tags:
|
||||
- { name: avatar.driver }
|
||||
|
||||
avatar.driver_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: avatar.driver }
|
@@ -1,8 +1,3 @@
|
||||
parameters:
|
||||
tables.captcha_qa_questions: %core.table_prefix%captcha_questions
|
||||
tables.captcha_qa_answers: %core.table_prefix%captcha_answers
|
||||
tables.captcha_qa_confirm: %core.table_prefix%qa_confirm
|
||||
|
||||
services:
|
||||
captcha.factory:
|
||||
class: phpbb\captcha\factory
|
||||
@@ -10,6 +5,8 @@ services:
|
||||
- @service_container
|
||||
- @captcha.plugins.service_collection
|
||||
|
||||
# ----- Captcha plugins -----
|
||||
# Scope MUST be prototype for all the plugins to work.
|
||||
captcha.plugins.service_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
@@ -19,7 +16,7 @@ services:
|
||||
|
||||
core.captcha.plugins.gd:
|
||||
class: phpbb\captcha\plugins\gd
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
calls:
|
||||
- [set_name, [core.captcha.plugins.gd]]
|
||||
tags:
|
||||
@@ -27,7 +24,7 @@ services:
|
||||
|
||||
core.captcha.plugins.gd_wave:
|
||||
class: phpbb\captcha\plugins\gd_wave
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
calls:
|
||||
- [set_name, [core.captcha.plugins.gd_wave]]
|
||||
tags:
|
||||
@@ -35,7 +32,7 @@ services:
|
||||
|
||||
core.captcha.plugins.nogd:
|
||||
class: phpbb\captcha\plugins\nogd
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
calls:
|
||||
- [set_name, [core.captcha.plugins.nogd]]
|
||||
tags:
|
||||
@@ -43,7 +40,7 @@ services:
|
||||
|
||||
core.captcha.plugins.qa:
|
||||
class: phpbb\captcha\plugins\qa
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- %tables.captcha_qa_questions%
|
||||
- %tables.captcha_qa_answers%
|
||||
@@ -55,7 +52,7 @@ services:
|
||||
|
||||
core.captcha.plugins.recaptcha:
|
||||
class: phpbb\captcha\plugins\recaptcha
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
calls:
|
||||
- [set_name, [core.captcha.plugins.recaptcha]]
|
||||
tags:
|
||||
|
@@ -84,6 +84,7 @@ services:
|
||||
- @config
|
||||
- @cache
|
||||
- @log
|
||||
- %core.root_path%
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
|
72
phpBB/config/content.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
services:
|
||||
content.visibility:
|
||||
class: phpbb\content_visibility
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dispatcher
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.forums%
|
||||
- %tables.posts%
|
||||
- %tables.topics%
|
||||
- %tables.users%
|
||||
|
||||
groupposition.legend:
|
||||
class: phpbb\groupposition\legend
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @user
|
||||
|
||||
groupposition.teampage:
|
||||
class: phpbb\groupposition\teampage
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- @cache.driver
|
||||
|
||||
message.form.admin:
|
||||
class: phpbb\message\admin_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @config_text
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
message.form.topic:
|
||||
class: phpbb\message\topic_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
message.form.user:
|
||||
class: phpbb\message\user_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
pagination:
|
||||
class: phpbb\pagination
|
||||
arguments:
|
||||
- @template
|
||||
- @user
|
||||
- @controller.helper
|
||||
- @dispatcher
|
||||
|
||||
viewonline_helper:
|
||||
class: phpbb\viewonline_helper
|
||||
arguments:
|
||||
- @filesystem
|
@@ -1,4 +1,26 @@
|
||||
services:
|
||||
cron.manager:
|
||||
class: phpbb\cron\manager
|
||||
arguments:
|
||||
- @cron.task_collection
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
cron.lock_db:
|
||||
class: phpbb\lock\db
|
||||
arguments:
|
||||
- cron_lock
|
||||
- @config
|
||||
- @dbal.conn
|
||||
|
||||
# ----- Cron tasks -----
|
||||
cron.task_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: cron.task }
|
||||
|
||||
cron.task.core.prune_all_forums:
|
||||
class: phpbb\cron\task\core\prune_all_forums
|
||||
arguments:
|
||||
@@ -98,6 +120,7 @@ services:
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- @dispatcher
|
||||
calls:
|
||||
- [set_name, [cron.task.core.tidy_search]]
|
||||
tags:
|
@@ -1,7 +1,24 @@
|
||||
services:
|
||||
dbal.conn:
|
||||
class: phpbb\db\driver\factory
|
||||
arguments:
|
||||
- @service_container
|
||||
|
||||
dbal.conn.driver:
|
||||
class: %dbal.driver.class%
|
||||
calls:
|
||||
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
|
||||
|
||||
dbal.tools:
|
||||
class: phpbb\db\tools
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
|
||||
# ----- Migrator -----
|
||||
migrator:
|
||||
class: phpbb\db\migrator
|
||||
arguments:
|
||||
- @service_container
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @dbal.tools
|
||||
@@ -15,6 +32,7 @@ services:
|
||||
migrator.helper:
|
||||
class: phpbb\db\migration\helper
|
||||
|
||||
# ----- Migrator's tools -----
|
||||
migrator.tool_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
41
phpBB/config/event.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
services:
|
||||
dispatcher:
|
||||
class: phpbb\event\dispatcher
|
||||
arguments:
|
||||
- @service_container
|
||||
|
||||
hook_finder:
|
||||
class: phpbb\hook\finder
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @cache.driver
|
||||
|
||||
kernel_request_subscriber:
|
||||
class: phpbb\event\kernel_request_subscriber
|
||||
arguments:
|
||||
- @ext.manager
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
kernel_exception_subscriber:
|
||||
class: phpbb\event\kernel_exception_subscriber
|
||||
arguments:
|
||||
- @template
|
||||
- @user
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
kernel_terminate_subscriber:
|
||||
class: phpbb\event\kernel_terminate_subscriber
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
symfony_response_listener:
|
||||
class: Symfony\Component\HttpKernel\EventListener\ResponseListener
|
||||
arguments:
|
||||
- UTF-8
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
@@ -1,11 +1,11 @@
|
||||
parameters:
|
||||
mimetype.guesser.priority.lowest: -2
|
||||
mimetype.guesser.priority.low: -1
|
||||
mimetype.guesser.priority.default: 0
|
||||
mimetype.guesser.priority.high: 1
|
||||
mimetype.guesser.priority.highest: 2
|
||||
|
||||
services:
|
||||
mimetype.guesser_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: mimetype.guessers }
|
||||
|
||||
mimetype.fileinfo_mimetype_guesser:
|
||||
class: Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser
|
||||
tags:
|
||||
@@ -30,13 +30,6 @@ services:
|
||||
tags:
|
||||
- { name: mimetype.guessers }
|
||||
|
||||
mimetype.guesser_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: mimetype.guessers }
|
||||
|
||||
mimetype.guesser:
|
||||
class: phpbb\mimetype\guesser
|
||||
arguments:
|
@@ -1,4 +1,24 @@
|
||||
services:
|
||||
notification_manager:
|
||||
class: phpbb\notification\manager
|
||||
arguments:
|
||||
- @notification.type_collection
|
||||
- @notification.method_collection
|
||||
- @service_container
|
||||
- @user_loader
|
||||
- @config
|
||||
- @dispatcher
|
||||
- @dbal.conn
|
||||
- @cache
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.notification_types%
|
||||
- %tables.notifications%
|
||||
- %tables.user_notifications%
|
||||
|
||||
# ----- Notification's types -----
|
||||
# Scope MUST be prototype for all the plugins to work.
|
||||
notification.type_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
@@ -6,16 +26,9 @@ services:
|
||||
tags:
|
||||
- { name: service_collection, tag: notification.type }
|
||||
|
||||
notification.method_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: notification.method }
|
||||
|
||||
notification.type.approve_post:
|
||||
class: phpbb\notification\type\approve_post
|
||||
scope: prototype # scope MUST be prototype for this to work! # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -33,7 +46,7 @@ services:
|
||||
|
||||
notification.type.approve_topic:
|
||||
class: phpbb\notification\type\approve_topic
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -51,7 +64,7 @@ services:
|
||||
|
||||
notification.type.bookmark:
|
||||
class: phpbb\notification\type\bookmark
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -69,7 +82,7 @@ services:
|
||||
|
||||
notification.type.disapprove_post:
|
||||
class: phpbb\notification\type\disapprove_post
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -87,7 +100,7 @@ services:
|
||||
|
||||
notification.type.disapprove_topic:
|
||||
class: phpbb\notification\type\disapprove_topic
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -105,7 +118,7 @@ services:
|
||||
|
||||
notification.type.group_request:
|
||||
class: phpbb\notification\type\group_request
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -123,7 +136,7 @@ services:
|
||||
|
||||
notification.type.group_request_approved:
|
||||
class: phpbb\notification\type\group_request_approved
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -141,7 +154,7 @@ services:
|
||||
|
||||
notification.type.pm:
|
||||
class: phpbb\notification\type\pm
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -159,7 +172,7 @@ services:
|
||||
|
||||
notification.type.post:
|
||||
class: phpbb\notification\type\post
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -177,7 +190,7 @@ services:
|
||||
|
||||
notification.type.post_in_queue:
|
||||
class: phpbb\notification\type\post_in_queue
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -195,7 +208,7 @@ services:
|
||||
|
||||
notification.type.quote:
|
||||
class: phpbb\notification\type\quote
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -213,7 +226,7 @@ services:
|
||||
|
||||
notification.type.report_pm:
|
||||
class: phpbb\notification\type\report_pm
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -231,7 +244,7 @@ services:
|
||||
|
||||
notification.type.report_pm_closed:
|
||||
class: phpbb\notification\type\report_pm_closed
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -249,7 +262,7 @@ services:
|
||||
|
||||
notification.type.report_post:
|
||||
class: phpbb\notification\type\report_post
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -267,7 +280,7 @@ services:
|
||||
|
||||
notification.type.report_post_closed:
|
||||
class: phpbb\notification\type\report_post_closed
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -285,7 +298,7 @@ services:
|
||||
|
||||
notification.type.topic:
|
||||
class: phpbb\notification\type\topic
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -303,7 +316,7 @@ services:
|
||||
|
||||
notification.type.topic_in_queue:
|
||||
class: phpbb\notification\type\topic_in_queue
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -321,7 +334,7 @@ services:
|
||||
|
||||
notification.type.admin_activate_user:
|
||||
class: phpbb\notification\type\admin_activate_user
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -337,9 +350,18 @@ services:
|
||||
tags:
|
||||
- { name: notification.type }
|
||||
|
||||
# ----- Notification's methods -----
|
||||
# Scope MUST be prototype for all the plugins to work.
|
||||
notification.method_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: notification.method }
|
||||
|
||||
notification.method.email:
|
||||
class: phpbb\notification\method\email
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
||||
@@ -354,7 +376,7 @@ services:
|
||||
|
||||
notification.method.jabber:
|
||||
class: phpbb\notification\method\jabber
|
||||
scope: prototype # scope MUST be prototype for this to work!
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @user_loader
|
||||
- @dbal.conn
|
@@ -1,2 +1,20 @@
|
||||
parameters:
|
||||
# Disable the usage of the super globals (_GET, _POST, _SERVER...)
|
||||
core.disable_super_globals: true
|
||||
|
||||
# Datetime class to use
|
||||
datetime.class: \phpbb\datetime
|
||||
|
||||
# Mimetype guesser priorities
|
||||
mimetype.guesser.priority.lowest: -2
|
||||
mimetype.guesser.priority.low: -1
|
||||
mimetype.guesser.priority.default: 0
|
||||
mimetype.guesser.priority.high: 1
|
||||
mimetype.guesser.priority.highest: 2
|
||||
|
||||
# List of default password driver types
|
||||
passwords.algorithms:
|
||||
- passwords.driver.bcrypt_2y
|
||||
- passwords.driver.bcrypt
|
||||
- passwords.driver.salted_md5
|
||||
- passwords.driver.phpass
|
||||
|
@@ -1,11 +1,29 @@
|
||||
parameters:
|
||||
passwords.algorithms:
|
||||
- passwords.driver.bcrypt_2y
|
||||
- passwords.driver.bcrypt
|
||||
- passwords.driver.salted_md5
|
||||
- passwords.driver.phpass
|
||||
|
||||
services:
|
||||
# ----- Password management -----
|
||||
passwords.manager:
|
||||
class: phpbb\passwords\manager
|
||||
arguments:
|
||||
- @config
|
||||
- @passwords.driver_collection
|
||||
- @passwords.helper
|
||||
- %passwords.algorithms%
|
||||
|
||||
passwords.helper:
|
||||
class: phpbb\passwords\helper
|
||||
|
||||
passwords.driver_helper:
|
||||
class: phpbb\passwords\driver\helper
|
||||
arguments:
|
||||
- @config
|
||||
|
||||
# ----- Password's drivers -----
|
||||
passwords.driver_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: passwords.driver }
|
||||
|
||||
passwords.driver.bcrypt:
|
||||
class: phpbb\passwords\driver\bcrypt
|
||||
arguments:
|
||||
@@ -83,6 +101,7 @@ services:
|
||||
arguments:
|
||||
- @request
|
||||
- @passwords.driver.salted_md5
|
||||
- @passwords.driver_helper
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
@@ -103,26 +122,3 @@ services:
|
||||
- @passwords.driver_helper
|
||||
tags:
|
||||
- { name: passwords.driver }
|
||||
|
||||
passwords.driver_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: passwords.driver }
|
||||
|
||||
passwords.driver_helper:
|
||||
class: phpbb\passwords\driver\helper
|
||||
arguments:
|
||||
- @config
|
||||
|
||||
passwords.manager:
|
||||
class: phpbb\passwords\manager
|
||||
arguments:
|
||||
- @config
|
||||
- @passwords.driver_collection
|
||||
- @passwords.helper
|
||||
- %passwords.algorithms%
|
||||
|
||||
passwords.helper:
|
||||
class: phpbb\passwords\helper
|
@@ -19,6 +19,7 @@ services:
|
||||
- @dbal.conn
|
||||
- %tables.profile_fields_options_language%
|
||||
|
||||
# ----- Profile fields types -----
|
||||
profilefields.type_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
@@ -1,7 +1,7 @@
|
||||
# Structure:
|
||||
#
|
||||
# foo_controller:
|
||||
# pattern: /foo
|
||||
# path: /foo
|
||||
# defaults: { _controller: foo_sevice:method }
|
||||
#
|
||||
# The above will be accessed via app.php?controller=foo and it will
|
||||
|
@@ -1,34 +1,23 @@
|
||||
imports:
|
||||
- { resource: tables.yml }
|
||||
- { resource: cron_tasks.yml }
|
||||
- { resource: notifications.yml }
|
||||
- { resource: migrator.yml }
|
||||
- { resource: avatars.yml }
|
||||
- { resource: feed.yml }
|
||||
- { resource: auth_providers.yml }
|
||||
- { resource: console.yml }
|
||||
- { resource: mimetype_guessers.yml }
|
||||
- { resource: passwords.yml }
|
||||
- { resource: profilefields.yml }
|
||||
- { resource: auth.yml }
|
||||
- { resource: avatar.yml }
|
||||
- { resource: captcha.yml }
|
||||
- { resource: console.yml }
|
||||
- { resource: content.yml }
|
||||
- { resource: cron.yml }
|
||||
- { resource: db.yml }
|
||||
- { resource: event.yml }
|
||||
- { resource: feed.yml }
|
||||
- { resource: mimetype_guesser.yml }
|
||||
- { resource: notification.yml }
|
||||
- { resource: password.yml }
|
||||
- { resource: profilefield.yml }
|
||||
- { resource: user.yml }
|
||||
|
||||
- { resource: tables.yml }
|
||||
- { resource: parameters.yml }
|
||||
|
||||
services:
|
||||
acl.permissions:
|
||||
class: phpbb\permissions
|
||||
arguments:
|
||||
- @dispatcher
|
||||
- @user
|
||||
|
||||
auth:
|
||||
class: phpbb\auth\auth
|
||||
|
||||
avatar.manager:
|
||||
class: phpbb\avatar\manager
|
||||
arguments:
|
||||
- @config
|
||||
- @avatar.driver_collection
|
||||
|
||||
cache:
|
||||
class: phpbb\cache\service
|
||||
arguments:
|
||||
@@ -77,20 +66,6 @@ services:
|
||||
- @dbal.conn
|
||||
- %tables.config_text%
|
||||
|
||||
content.visibility:
|
||||
class: phpbb\content_visibility
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.forums%
|
||||
- %tables.posts%
|
||||
- %tables.topics%
|
||||
- %tables.users%
|
||||
|
||||
controller.helper:
|
||||
class: phpbb\controller\helper
|
||||
arguments:
|
||||
@@ -100,6 +75,8 @@ services:
|
||||
- @controller.provider
|
||||
- @ext.manager
|
||||
- @symfony_request
|
||||
- @request
|
||||
- @filesystem
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
@@ -116,62 +93,6 @@ services:
|
||||
calls:
|
||||
- [find, [%core.root_path%]]
|
||||
|
||||
cron.task_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: cron.task }
|
||||
|
||||
cron.manager:
|
||||
class: phpbb\cron\manager
|
||||
arguments:
|
||||
- @cron.task_collection
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
cron.lock_db:
|
||||
class: phpbb\lock\db
|
||||
arguments:
|
||||
- cron_lock
|
||||
- @config
|
||||
- @dbal.conn
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\event\dispatcher
|
||||
arguments:
|
||||
- @service_container
|
||||
|
||||
dbal.conn:
|
||||
class: phpbb\db\driver\factory
|
||||
arguments:
|
||||
- @service_container
|
||||
|
||||
dbal.conn.driver:
|
||||
class: %dbal.driver.class%
|
||||
calls:
|
||||
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
|
||||
|
||||
dbal.tools:
|
||||
class: phpbb\db\tools
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
|
||||
event.subscriber_loader:
|
||||
class: phpbb\event\extension_subscriber_loader
|
||||
arguments:
|
||||
- @dispatcher
|
||||
- @event.listener_collection
|
||||
calls:
|
||||
- [load, []]
|
||||
|
||||
event.listener_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
- @service_container
|
||||
tags:
|
||||
- { name: service_collection, tag: event.listener }
|
||||
|
||||
ext.manager:
|
||||
class: phpbb\extension\manager
|
||||
arguments:
|
||||
@@ -188,18 +109,8 @@ services:
|
||||
filesystem:
|
||||
class: phpbb\filesystem
|
||||
|
||||
groupposition.legend:
|
||||
class: phpbb\groupposition\legend
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @user
|
||||
|
||||
groupposition.teampage:
|
||||
class: phpbb\groupposition\teampage
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- @cache.driver
|
||||
file_downloader:
|
||||
class: phpbb\file_downloader
|
||||
|
||||
http_kernel:
|
||||
class: Symfony\Component\HttpKernel\HttpKernel
|
||||
@@ -207,35 +118,6 @@ services:
|
||||
- @dispatcher
|
||||
- @controller.resolver
|
||||
|
||||
hook_finder:
|
||||
class: phpbb\hook\finder
|
||||
arguments:
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- @cache.driver
|
||||
|
||||
kernel_request_subscriber:
|
||||
class: phpbb\event\kernel_request_subscriber
|
||||
arguments:
|
||||
- @ext.manager
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
kernel_exception_subscriber:
|
||||
class: phpbb\event\kernel_exception_subscriber
|
||||
arguments:
|
||||
- @template
|
||||
- @user
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
kernel_terminate_subscriber:
|
||||
class: phpbb\event\kernel_terminate_subscriber
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
log:
|
||||
class: phpbb\log\log
|
||||
arguments:
|
||||
@@ -248,61 +130,6 @@ services:
|
||||
- %core.php_ext%
|
||||
- %tables.log%
|
||||
|
||||
message.form.admin:
|
||||
class: phpbb\message\admin_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @config_text
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
message.form.topic:
|
||||
class: phpbb\message\topic_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
message.form.user:
|
||||
class: phpbb\message\user_form
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
|
||||
notification_manager:
|
||||
class: phpbb\notification\manager
|
||||
arguments:
|
||||
- @notification.type_collection
|
||||
- @notification.method_collection
|
||||
- @service_container
|
||||
- @user_loader
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @cache
|
||||
- @user
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.notification_types%
|
||||
- %tables.notifications%
|
||||
- %tables.user_notifications%
|
||||
|
||||
pagination:
|
||||
class: phpbb\pagination
|
||||
arguments:
|
||||
- @template
|
||||
- @user
|
||||
- @controller.helper
|
||||
|
||||
path_helper:
|
||||
class: phpbb\path_helper
|
||||
arguments:
|
||||
@@ -328,7 +155,12 @@ services:
|
||||
|
||||
request:
|
||||
class: phpbb\request\request
|
||||
arguments:
|
||||
- null
|
||||
- %core.disable_super_globals%
|
||||
|
||||
# WARNING: The Symfony request does not escape the input and should be used very carefully
|
||||
# prefer the phpbb request (service @request) as possible
|
||||
symfony_request:
|
||||
class: phpbb\symfony_request
|
||||
arguments:
|
||||
@@ -346,28 +178,11 @@ services:
|
||||
template_context:
|
||||
class: phpbb\template\context
|
||||
|
||||
user:
|
||||
class: phpbb\user
|
||||
arguments:
|
||||
- %datetime.class%
|
||||
|
||||
user_loader:
|
||||
class: phpbb\user_loader
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.users%
|
||||
|
||||
version_helper:
|
||||
class: phpbb\version_helper
|
||||
scope: prototype
|
||||
arguments:
|
||||
- @cache
|
||||
- @config
|
||||
- @file_downloader
|
||||
- @user
|
||||
|
||||
viewonline_helper:
|
||||
class: phpbb\viewonline_helper
|
||||
arguments:
|
||||
- @filesystem
|
||||
|
@@ -1,6 +1,9 @@
|
||||
parameters:
|
||||
tables.auth_provider_oauth_token_storage: %core.table_prefix%oauth_tokens
|
||||
tables.auth_provider_oauth_account_assoc: %core.table_prefix%oauth_accounts
|
||||
tables.captcha_qa_questions: %core.table_prefix%captcha_questions
|
||||
tables.captcha_qa_answers: %core.table_prefix%captcha_answers
|
||||
tables.captcha_qa_confirm: %core.table_prefix%qa_confirm
|
||||
tables.config: %core.table_prefix%config
|
||||
tables.config_text: %core.table_prefix%config_text
|
||||
tables.ext: %core.table_prefix%ext
|
||||
|
19
phpBB/config/user.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
services:
|
||||
acl.permissions:
|
||||
class: phpbb\permissions
|
||||
arguments:
|
||||
- @dispatcher
|
||||
- @user
|
||||
|
||||
user:
|
||||
class: phpbb\user
|
||||
arguments:
|
||||
- %datetime.class%
|
||||
|
||||
user_loader:
|
||||
class: phpbb\user_loader
|
||||
arguments:
|
||||
- @dbal.conn
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
- %tables.users%
|
@@ -198,9 +198,9 @@ $prefixes = array('f_', 'a_', 'm_', 'u_');
|
||||
foreach ($prefixes as $prefix)
|
||||
{
|
||||
$var = $prefix . 'permissions';
|
||||
if (sizeof($$var))
|
||||
if (sizeof(${$var}))
|
||||
{
|
||||
foreach ($$var as $auth_option => $l_ary)
|
||||
foreach (${$var} as $auth_option => $l_ary)
|
||||
{
|
||||
$sql_ary = array(
|
||||
'auth_option' => $auth_option,
|
||||
|
@@ -51,10 +51,9 @@ $classes = $finder->core_path('phpbb/')
|
||||
$db = new \phpbb\db\driver\sqlite();
|
||||
$schema_generator = new \phpbb\db\migration\schema_generator($classes, new \phpbb\config\config(array()), $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
|
||||
$schema_data = $schema_generator->get_schema();
|
||||
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
|
||||
|
||||
$fp = fopen($schema_path . 'schema.json', 'wb');
|
||||
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));
|
||||
fclose($fp);
|
||||
|
||||
echo 'done';
|
||||
echo 'Successfully created schema file';
|
||||
|
@@ -18,15 +18,19 @@ if (php_sapi_name() != 'cli')
|
||||
|
||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||
$phpbb_root_path = __DIR__ . '/../';
|
||||
define('IN_PHPBB', true);
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage: export_events_for_wiki.php COMMAND [EXTENSION]\n";
|
||||
echo "Usage: export_events_for_wiki.php COMMAND [VERSION] [EXTENSION]\n";
|
||||
echo "\n";
|
||||
echo "COMMAND:\n";
|
||||
echo " all:\n";
|
||||
echo " Generate the complete wikipage for https://wiki.phpbb.com/Event_List\n";
|
||||
echo "\n";
|
||||
echo " diff:\n";
|
||||
echo " Generate the Event Diff for the release highlights\n";
|
||||
echo "\n";
|
||||
echo " php:\n";
|
||||
echo " Generate the PHP event section of Event_List\n";
|
||||
echo "\n";
|
||||
@@ -36,6 +40,9 @@ function usage()
|
||||
echo " styles:\n";
|
||||
echo " Generate the Styles Template event section of Event_List\n";
|
||||
echo "\n";
|
||||
echo "VERSION (diff only):\n";
|
||||
echo " Filter events (minimum version)\n";
|
||||
echo "\n";
|
||||
echo "EXTENSION (Optional):\n";
|
||||
echo " If not given, only core events will be exported.\n";
|
||||
echo " Otherwise only events from the extension will be exported.\n";
|
||||
@@ -55,20 +62,32 @@ validate_argument_count($argc, 1);
|
||||
|
||||
$action = $argv[1];
|
||||
$extension = isset($argv[2]) ? $argv[2] : null;
|
||||
$min_version = null;
|
||||
require __DIR__ . '/../phpbb/event/php_exporter.' . $phpEx;
|
||||
require __DIR__ . '/../phpbb/event/md_exporter.' . $phpEx;
|
||||
require __DIR__ . '/../includes/functions.' . $phpEx;
|
||||
require __DIR__ . '/../phpbb/event/recursive_event_filter_iterator.' . $phpEx;
|
||||
require __DIR__ . '/../phpbb/recursive_dot_prefix_filter_iterator.' . $phpEx;
|
||||
|
||||
switch ($action)
|
||||
{
|
||||
|
||||
case 'diff':
|
||||
echo '== Event changes ==' . "\n";
|
||||
$min_version = $extension;
|
||||
$extension = isset($argv[3]) ? $argv[3] : null;
|
||||
|
||||
case 'all':
|
||||
echo '__FORCETOC__' . "\n";
|
||||
if ($action === 'all')
|
||||
{
|
||||
echo '__FORCETOC__' . "\n";
|
||||
}
|
||||
|
||||
|
||||
case 'php':
|
||||
$exporter = new \phpbb\event\php_exporter($phpbb_root_path, $extension);
|
||||
$exporter = new \phpbb\event\php_exporter($phpbb_root_path, $extension, $min_version);
|
||||
$exporter->crawl_phpbb_directory_php();
|
||||
echo $exporter->export_events_for_wiki();
|
||||
echo $exporter->export_events_for_wiki($action);
|
||||
|
||||
if ($action === 'php')
|
||||
{
|
||||
@@ -78,9 +97,16 @@ switch ($action)
|
||||
// no break;
|
||||
|
||||
case 'styles':
|
||||
$exporter = new \phpbb\event\md_exporter($phpbb_root_path, $extension);
|
||||
$exporter->crawl_phpbb_directory_styles('docs/events.md');
|
||||
echo $exporter->export_events_for_wiki();
|
||||
$exporter = new \phpbb\event\md_exporter($phpbb_root_path, $extension, $min_version);
|
||||
if ($min_version && $action === 'diff')
|
||||
{
|
||||
$exporter->crawl_eventsmd('docs/events.md', 'styles');
|
||||
}
|
||||
else
|
||||
{
|
||||
$exporter->crawl_phpbb_directory_styles('docs/events.md');
|
||||
}
|
||||
echo $exporter->export_events_for_wiki($action);
|
||||
|
||||
if ($action === 'styles')
|
||||
{
|
||||
@@ -90,9 +116,16 @@ switch ($action)
|
||||
// no break;
|
||||
|
||||
case 'adm':
|
||||
$exporter = new \phpbb\event\md_exporter($phpbb_root_path, $extension);
|
||||
$exporter->crawl_phpbb_directory_adm('docs/events.md');
|
||||
echo $exporter->export_events_for_wiki();
|
||||
$exporter = new \phpbb\event\md_exporter($phpbb_root_path, $extension, $min_version);
|
||||
if ($min_version && $action === 'diff')
|
||||
{
|
||||
$exporter->crawl_eventsmd('docs/events.md', 'adm');
|
||||
}
|
||||
else
|
||||
{
|
||||
$exporter->crawl_phpbb_directory_adm('docs/events.md');
|
||||
}
|
||||
echo $exporter->export_events_for_wiki($action);
|
||||
|
||||
if ($action === 'all')
|
||||
{
|
||||
|
@@ -62,10 +62,14 @@ echo "USE $dbname;$newline$newline";
|
||||
|
||||
@set_time_limit(0);
|
||||
|
||||
require($phpbb_root_path . 'includes/db/schema_data.' . $phpEx);
|
||||
require($phpbb_root_path . 'phpbb/db/tools.' . $phpEx);
|
||||
$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
|
||||
$classes = $finder->core_path('phpbb/')
|
||||
->directory('/db/migration/data')
|
||||
->get_classes();
|
||||
|
||||
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
|
||||
$schema_generator = new \phpbb\db\migration\schema_generator($classes, $config, $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
|
||||
$schema_data = $schema_generator->get_schema();
|
||||
$dbms_type_map = \phpbb\db\tools::get_dbms_type_map();
|
||||
|
||||
foreach ($schema_data as $table_name => $table_data)
|
||||
{
|
||||
|
151
phpBB/develop/regex_idn.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
// IP regular expressions
|
||||
|
||||
$dec_octet = '(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])';
|
||||
$h16 = '[\dA-F]{1,4}';
|
||||
$ipv4 = "(?:$dec_octet\.){3}$dec_octet";
|
||||
$ls32 = "(?:$h16:$h16|$ipv4)";
|
||||
|
||||
$ipv6_construct = array(
|
||||
array(false, '', '{6}', $ls32),
|
||||
array(false, '::', '{0,5}', "(?:$h16(?::$h16)?|$ipv4)"),
|
||||
array('', ':', '{4}', $ls32),
|
||||
array('{1,2}', ':', '{3}', $ls32),
|
||||
array('{1,3}', ':', '{2}', $ls32),
|
||||
array('{1,4}', ':', '', $ls32),
|
||||
array('{1,5}', ':', false, $ls32),
|
||||
array('{1,6}', ':', false, $h16),
|
||||
array('{1,7}', ':', false, ''),
|
||||
array(false, '::', false, '')
|
||||
);
|
||||
|
||||
$ipv6 = '(?:';
|
||||
foreach ($ipv6_construct as $ip_type)
|
||||
{
|
||||
$ipv6 .= '(?:';
|
||||
if ($ip_type[0] !== false)
|
||||
{
|
||||
$ipv6 .= "(?:$h16:)" . $ip_type[0];
|
||||
}
|
||||
$ipv6 .= $ip_type[1];
|
||||
if ($ip_type[2] !== false)
|
||||
{
|
||||
$ipv6 .= "(?:$h16:)" . $ip_type[2];
|
||||
}
|
||||
$ipv6 .= $ip_type[3] . ')|';
|
||||
}
|
||||
$ipv6 = substr($ipv6, 0, -1) . ')';
|
||||
|
||||
echo 'IPv4: ' . $ipv4 . "<br /><br />\n\nIPv6: " . $ipv6 . "<br /><br />\n\n";
|
||||
|
||||
// URL regular expressions
|
||||
|
||||
/* IDN2008 characters derivation
|
||||
** http://unicode.org/faq/idn.html#33 - IDN FAQ: derivation of valid characters in terms of Unicode properties
|
||||
** http://unicode.org/reports/tr46/ - Unicode Technical Standard #46. Unicode IDNA Compatibility Processing
|
||||
** http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt - Unicode Character Database
|
||||
*/
|
||||
/*
|
||||
** Remove Control Characters and Whitespace (as in IDNA2003)
|
||||
*/
|
||||
$no_cc = '\p{C}\p{Z}';
|
||||
/*
|
||||
** Remove Symbols, Punctuation, non-decimal Numbers, and Enclosing Marks
|
||||
*/
|
||||
$no_symbol = '\p{S}\p{P}\p{Nl}\p{No}\p{Me}';
|
||||
/*
|
||||
** Remove characters used for archaic Hangul (Korean) - \p{HST=L} and \p{HST=V}
|
||||
** as per http://unicode.org/Public/UNIDATA/HangulSyllableType.txt
|
||||
*/
|
||||
$no_hangul = '\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}';
|
||||
/*
|
||||
** Remove three blocks of technical or archaic symbols.
|
||||
*/
|
||||
$no_cdm = '\x{20D0}-\x{20FF}'; // \p{block=Combining_Diacritical_Marks_For_Symbols}
|
||||
$no_musical = '\x{1D100}-\x{1D1FF}'; // \p{block=Musical_Symbols}
|
||||
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
|
||||
/* Remove certain exceptions:
|
||||
** U+0640 ARABIC TATWEEL
|
||||
** U+07FA NKO LAJANYALAN
|
||||
** U+302E HANGUL SINGLE DOT TONE MARK
|
||||
** U+302F HANGUL DOUBLE DOT TONE MARK
|
||||
** U+3031 VERTICAL KANA REPEAT MARK
|
||||
** U+3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
|
||||
** ..
|
||||
** U+3035 VERTICAL KANA REPEAT MARK LOWER HALF
|
||||
** U+303B VERTICAL IDEOGRAPHIC ITERATION MARK
|
||||
*/
|
||||
$no_certain_exceptions = '\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}';
|
||||
/* Add certain exceptions:
|
||||
** U+00B7 MIDDLE DOT
|
||||
** U+0375 GREEK LOWER NUMERAL SIGN
|
||||
** U+05F3 HEBREW PUNCTUATION GERESH
|
||||
** U+05F4 HEBREW PUNCTUATION GERSHAYIM
|
||||
** U+30FB KATAKANA MIDDLE DOT
|
||||
** U+002D HYPHEN-MINUS
|
||||
** U+06FD ARABIC SIGN SINDHI AMPERSAND
|
||||
** U+06FE ARABIC SIGN SINDHI POSTPOSITION MEN
|
||||
** U+0F0B TIBETAN MARK INTERSYLLABIC TSHEG
|
||||
** U+3007 IDEOGRAPHIC NUMBER ZERO
|
||||
*/
|
||||
$add_certain_exceptions = '\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}';
|
||||
/* Add special exceptions (Deviations):
|
||||
** U+00DF LATIN SMALL LETTER SHARP S
|
||||
** U+03C2 GREEK SMALL LETTER FINAL SIGMA
|
||||
** U+200C ZERO WIDTH NON-JOINER
|
||||
** U+200D ZERO WIDTH JOINER
|
||||
*/
|
||||
$add_deviations = '\x{00DF}\x{03C2}\x{200C}\x{200D}';
|
||||
|
||||
// Concatenate remove/add regexes respectively
|
||||
$remove_chars = "$no_cc$no_symbol$no_hangul$no_cdm$no_musical$no_ancient_greek_musical$no_certain_exceptions";
|
||||
$add_chars = "$add_certain_exceptions$add_deviations";
|
||||
|
||||
// Initialize inline mode
|
||||
$inline = false;
|
||||
|
||||
do
|
||||
{
|
||||
$inline = !$inline;
|
||||
|
||||
$pct_encoded = "%[\dA-F]{2}";
|
||||
$unreserved = "$add_chars\pL0-9\-._~";
|
||||
$sub_delims = ($inline) ? '!$&\'(*+,;=' : '!$&\'()*+,;=';
|
||||
$scheme = ($inline) ? '[a-z][a-z\d+]*': '[a-z][a-z\d+\-.]*' ; // avoid automatic parsing of "word" in "last word.http://..."
|
||||
$pchar = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)"; // rfc: no "|"
|
||||
|
||||
$reg_name = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)+"; // rfc: * instead of + and no "|" and no "@" and no ":" (included instead of userinfo)
|
||||
//$userinfo = "(?:(?:[$unreserved$sub_delims:]+|$pct_encoded))*";
|
||||
$ipv4_simple = '[0-9.]+';
|
||||
$ipv6_simple = '\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\]';
|
||||
$host = "(?:$reg_name|$ipv4_simple|$ipv6_simple)";
|
||||
$port = '\d*';
|
||||
//$authority = "(?:$userinfo@)?$host(?::$port)?";
|
||||
$authority = "$host(?::$port)?";
|
||||
$segment = "$pchar*";
|
||||
$path_abempty = "(?:/$segment)*";
|
||||
$hier_part = "/{2}$authority$path_abempty";
|
||||
$query = "(?:[^$remove_chars]*[$unreserved$sub_delims:@/?|]+|$pct_encoded)*"; // pchar | "/" | "?", rfc: no "|"
|
||||
$fragment = $query;
|
||||
|
||||
$url = "$scheme:$hier_part(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'URL inline: ' : 'URL: ') . $url . "<br /><br />\n\n";
|
||||
|
||||
// no scheme, shortened authority, but host has to start with www.
|
||||
$www_url = "www\.$reg_name(?::$port)?$path_abempty(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'www.URL_inline: ' : 'www.URL: ') . $www_url . "<br /><br />\n\n";
|
||||
|
||||
// no schema and no authority
|
||||
$relative_url = "$segment$path_abempty(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'relative URL inline: ' : 'relative URL: ') . $relative_url . "<br /><br />\n\n";
|
||||
}
|
||||
while ($inline);
|
@@ -40,7 +40,7 @@ if (!class_exists($search_type))
|
||||
}
|
||||
|
||||
$error = false;
|
||||
$search = new $search_type($error, $phpbb_root_path, $phpEx, $auth, $config, $db, $user);
|
||||
$search = new $search_type($error, $phpbb_root_path, $phpEx, $auth, $config, $db, $user, $phpbb_dispatcher);
|
||||
|
||||
if ($error)
|
||||
{
|
||||
|
@@ -23,11 +23,12 @@ phpBB Project Manager: Marshalrusty (Yuriy Rusko)
|
||||
phpBB Lead Developer: naderman (Nils Adermann)
|
||||
|
||||
phpBB Developers: bantu (Andreas Fischer)
|
||||
CHItA (Máté Bartus)
|
||||
dhruv.goel92 (Dhruv Goel)
|
||||
EXreaction (Nathan Guse)
|
||||
Elsensee (Oliver Schramm)
|
||||
marc1706 (Marc Alexander)
|
||||
nickvergessen (Joas Schilling)
|
||||
nicofuma (Tristan Darricau)
|
||||
Nicofuma (Tristan Darricau)
|
||||
prototech (Cesar Gallegos)
|
||||
|
||||
For a list of phpBB Team members, please see:
|
||||
@@ -53,6 +54,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
|
||||
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
|
||||
DavidMJ (David M.) [12/2005 - 08/2009]
|
||||
dhn (Dominik Dröscher) [05/2007 - 01/2011]
|
||||
EXreaction (Nathan Guse) [07/2012 - 05/2014]
|
||||
GrahamJE (Graham Eames) [09/2005 - 11/2006]
|
||||
igorw (Igor Wiedler) [08/2010 - 02/2013]
|
||||
imkingdavid (David King) [11/2012 - 06/2014]
|
||||
|
@@ -4,9 +4,9 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x frequently asked questions" />
|
||||
<title>phpBB3 • FAQ</title>
|
||||
<title>phpBB • FAQ</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div id="doc-description">
|
||||
<a href="../index.php" id="logo"><img src="site_logo.gif" alt="" /></a>
|
||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
||||
<h1>phpBB 3.1.x FAQ</h1>
|
||||
<p>phpBB 3.1.x frequently asked questions</p>
|
||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,12 +35,17 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB3, the community forums and our IRC channel (see <a href="README.html">README</a> for details).</p>
|
||||
<p class="paragraph main-description">
|
||||
This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the
|
||||
more commonly asked questions. It is by no means exhaustive and should be used in combination with
|
||||
the 'built-in' User FAQ within phpBB3, the community forums and our IRC channel
|
||||
(see <a href="README.html">README</a> for details).
|
||||
</p>
|
||||
|
||||
<h1>FAQ</h1>
|
||||
|
||||
<div class="paragraph menu">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -66,7 +71,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -74,11 +79,11 @@
|
||||
<a name="install"></a><h2>I am finding phpBB too difficult to install. Will you do it for me?</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB3 the chances are you will be unable to administer or update it.</p>
|
||||
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB the chances are you will be unable to administer or update it.</p>
|
||||
|
||||
<p>There are people, companies (unrelated to your hosting provider), etc. that will install your forum, either for free or for a payment. We do not recommend you make use of these offers. Unless the service is provided by your hosting company you will have to divulge passwords and other sensitive details. If you did not know how to use an ATM would you give a passer-by your bank card and PIN and ask them to show you what to do? No, probably not! The same applies to your hosting account details!</p>
|
||||
|
||||
@@ -88,7 +93,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -99,7 +104,7 @@ A board is dealing in warez/porn/etc., you need to prevent them doing this!<br /
|
||||
I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -111,7 +116,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -119,7 +124,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="viewonline"></a><h2>According to viewonline a user is doing/reading something they should not be able to!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -131,7 +136,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -139,7 +144,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="mail"></a><h2>I keep getting Mail sending errors when I (or my users) post/send PM's/etc.!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -151,7 +156,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -159,7 +164,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="mail_language"></a><h2>My users are complaining that emails are not in their selected language!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -171,7 +176,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -179,7 +184,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="aol_browser"></a><h2>My AOL based users keep getting logged out!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -193,7 +198,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -201,7 +206,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="avatars"></a><h2>I am unable to upload avatars from my computer, regardless of the settings.</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -213,7 +218,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -221,7 +226,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="gallery_avatars"></a><h2>I just cannot get gallery avatars to appear!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -231,7 +236,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -239,17 +244,17 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="permissions"></a><h2>How do I use/set permissions?</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/documentation/3.0/">online documentation</a>.</p>
|
||||
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">online documentation</a>.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -257,7 +262,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="login_issues"></a><h2>I (or my users) cannot stay logged in to the forum!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -269,7 +274,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -277,7 +282,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="logout_issues"></a><h2>My users are complaining about being logged out too quickly!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -287,7 +292,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -295,11 +300,11 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="not_answered"></a><h2>My question isn't answered here!</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Please read our <a href="https://www.phpbb.com/support/documentation/3.0/">extensive user documentation</a> first, it may just explain what you want to know.</p>
|
||||
<p>Please read our <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">extensive user documentation</a> first, it may just explain what you want to know.</p>
|
||||
|
||||
<p>Feel free to search our community forum for the information you require. <strong>PLEASE DO NOT</strong> post your question without having first used search, chances are someone has already asked and answered your question. You can find our board here:</p>
|
||||
|
||||
@@ -309,7 +314,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -317,7 +322,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
<a name="disclaimer"></a><h2>Copyright and disclaimer</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -327,7 +332,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END DOCUMENT -->
|
||||
@@ -338,7 +343,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
</div></div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
<a id="bottom" accesskey="z"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
@@ -4,9 +4,9 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x Installation, updating and conversion informations" />
|
||||
<title>phpBB3 • Install</title>
|
||||
<title>phpBB • Install</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div id="doc-description">
|
||||
<a href="../index.php" id="logo"><img src="site_logo.gif" alt="" /></a>
|
||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
||||
<h1>phpBB 3.1.x Install</h1>
|
||||
<p>phpBB 3.1.x Installation, updating and conversion informations</p>
|
||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,16 +35,22 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p><strong>Please read this document completely before proceeding with installation, updating or converting.</strong></p>
|
||||
<div class="paragraph">
|
||||
<p><strong>Please read this document completely before proceeding with installation, updating or converting.</strong></p>
|
||||
|
||||
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
|
||||
|
||||
<p>A basic overview of running phpBB3 can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB3 you should read <a href="https://www.phpbb.com/support/documentation/3.0/">the documentation</a> available online.</p>
|
||||
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
|
||||
|
||||
<p>
|
||||
A basic overview of running phpBB can be found in the accompanying <a href="README.html">README</a> file.
|
||||
Please ensure you read that document in addition to this! For more detailed information on using, installing,
|
||||
updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">the documentation</a>
|
||||
available online.
|
||||
</p>
|
||||
</div>
|
||||
<h1>Install</h1>
|
||||
|
||||
<div class="paragraph menu">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -82,7 +88,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -90,7 +96,7 @@
|
||||
<a name="quickinstall"></a><h2>1. Quick install</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -114,7 +120,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -122,7 +128,7 @@
|
||||
<a name="require"></a><h2>2. Requirements</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -141,11 +147,12 @@
|
||||
<li>Oracle</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>PHP 5.3.3+</strong> with support for the database you intend to use.</li>
|
||||
<li>The following PHP modules are required:</li>
|
||||
<li><strong>PHP 5.3.3+</strong> and <strong>PHP < 7.0</strong> with support for the database you intend to use.</li>
|
||||
<li>The following PHP modules are required:
|
||||
<ul>
|
||||
<li>json</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>getimagesize() function must be enabled.</li>
|
||||
<li>Presence of the following modules within PHP will provide access to additional features, but they are not required:
|
||||
<ul>
|
||||
@@ -164,7 +171,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -172,27 +179,27 @@
|
||||
<a name="install"></a><h2>3. New installation</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Installation of phpBB3 will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB3 archive (in binary mode!) to a directory on your host and unarchive it there.</p>
|
||||
<p>Installation of phpBB will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB archive (in binary mode!) to a directory on your host and unarchive it there.</p>
|
||||
|
||||
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB3 archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
|
||||
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
|
||||
|
||||
<p>All .php, .sql, .cfg, .css, .js, .html, .htaccess and .txt files should be uploaded in <strong>ASCII</strong> mode, while all graphics should be uploaded in <strong>BINARY</strong> mode. If you are unfamiliar with what this means please refer to your FTP client documentation. In most cases this is all handled transparantly by your ftp client, but if you encounter problems later you should be sure the files were uploaded correctly as described here.</p>
|
||||
|
||||
<p>phpBB3 comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
|
||||
<p>phpBB comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
|
||||
|
||||
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB3 files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB3 Introduction</em></strong> screen appear.</p>
|
||||
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB Introduction</em></strong> screen appear.</p>
|
||||
|
||||
<h4>Introduction:</h4>
|
||||
|
||||
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB3 is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
|
||||
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
|
||||
|
||||
<h4>Requirements</h4>
|
||||
|
||||
<p>The first page you will see after starting the installation is the Requirements list. phpBB3 automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB3 to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
|
||||
<p>The first page you will see after starting the installation is the Requirements list. phpBB automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
|
||||
|
||||
<h4>Database settings</h4>
|
||||
|
||||
@@ -212,7 +219,7 @@
|
||||
|
||||
<p>You don't need to change the Prefix for tables in database setting, unless you plan on using multipe phpBB installations on one database. In this case, you can use a different prefix for each installation to make it work.</p>
|
||||
|
||||
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB3 will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
|
||||
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
|
||||
|
||||
<p>A <em>Could not connect to the database</em> error means that you didn't enter the database data correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host.</p>
|
||||
|
||||
@@ -222,7 +229,7 @@
|
||||
|
||||
<h4>Administrator details</h4>
|
||||
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB3 installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
|
||||
<h4>Configuration file</h4>
|
||||
|
||||
@@ -236,7 +243,7 @@
|
||||
|
||||
<p>If the installation was successful, you can now use the <em>Login</em> button to visit the Administration Control Panel. Congratulations, you have installed phpBB successfully. But there is still work ahead!</p>
|
||||
|
||||
<p>If you are unable to get phpBB3 installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
|
||||
<p>If you are unable to get phpBB installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
|
||||
|
||||
<p>At this point if you are converting from phpBB 2.0.x, you should refer to the <a href="#convert">conversion steps</a> for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.</p>
|
||||
|
||||
@@ -244,7 +251,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -252,21 +259,21 @@
|
||||
<a name="update"></a><h2>4. Updating from stable releases of phpBB 3.1.x</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>If you are currently using a stable release of phpBB3, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB3 files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
|
||||
<p>If you are currently using a stable release of phpBB, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
|
||||
|
||||
<p><strong>Please make sure you update your phpBB3 source files too, even if you run the <code>database_update.php</code> file.</strong></p>
|
||||
<p><strong>Please make sure you update your phpBB source files too, even if you run the <code>database_update.php</code> file.</strong> If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
|
||||
|
||||
<a name="update_full"></a><h3>4.i. Full package</h3>
|
||||
|
||||
<p>The full package is normally meant for new installations only, but if you want to replace all source files, this package comes in handy.</p>
|
||||
|
||||
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB3 files, you may want to leave your <code>files/</code> and <code>images/</code> directorie in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
|
||||
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB files, you may want to leave your <code>files/</code> and <code>images/</code> directories in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
|
||||
|
||||
<p>You should now run <code>install/database_update.php</code> which, depending on your previous version, will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker).</p>
|
||||
<p>You should now run <code>install/database_update.php</code> which, depending on your previous version, will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker). If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
|
||||
|
||||
<p>Once <code>install/database_update.php</code> has completed, you may proceed to the Administration Control Panel and then remove the install directory as advised.</p>
|
||||
|
||||
@@ -278,7 +285,7 @@
|
||||
|
||||
<p>The directory structure has been preserved, enabling you (if you wish) to simply upload the uncompressed contents of the archive to the appropriate location on your server, i.e. simply overwrite the existing files with the new versions. Do not forget that if you have installed any modifications (MODs) these files will overwrite the originals, possibly destroying them in the process. You will need to re-add MODs to any affected file before uploading.</p>
|
||||
|
||||
<p>As for the other update procedures, you should run <code>install/database_update.php</code> after you have finished updating the files. This will update your database schema and increment the version number.</p>
|
||||
<p>As for the other update procedures, you should run <code>install/database_update.php</code> after you have finished updating the files. This will update your database schema and increment the version number. If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
|
||||
|
||||
<a name="update_patch"></a><h3>4.iii. Patch file</h3>
|
||||
|
||||
@@ -290,20 +297,20 @@
|
||||
|
||||
<p>If you do get failures, you should look at using the <a href="#update_files">Changed Files</a> package to replace the files which failed to patch. Please note that you will need to manually re-add any MODs to these particular files. Alternatively, if you know how, you can examine the .rej files to determine what failed where and make manual adjustments to the relevant source.</p>
|
||||
|
||||
<p>You should, of course, delete the patch file (or files) after use. As for the other update procedures, you should run <code>install/database_update.php</code> after you have finished updating the files. This will update your database schema and data (if appropriate) and increment the version number.</p>
|
||||
<p>You should, of course, delete the patch file (or files) after use. As for the other update procedures, you should run <code>install/database_update.php</code> after you have finished updating the files. This will update your database schema and data (if appropriate) and increment the version number. If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
|
||||
|
||||
<a name="update_auto"></a><h3>4.iv. Automatic update package</h3>
|
||||
|
||||
<p>This update method is the recommended method for updating. This package detects changed files automatically and merges in changes if needed.</p>
|
||||
|
||||
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.0.10</strong>, you need the <code>phpBB-3.0.10_to_3.0.11.zip/tar.bz2</code> file.</p>
|
||||
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.1.5</strong>, you need the <code>phpBB-3.1.5_to_3.1.6.zip/tar.bz2</code> file.</p>
|
||||
|
||||
<p>To perform the update, either follow the instructions from the <strong>Administration Control Panel->System</strong> Tab - this should point out that you are running an outdated version and will guide you through the update - or follow the instructions listed below.</p>
|
||||
|
||||
<ul>
|
||||
<li>Go to the <a href="https://www.phpbb.com/downloads/">downloads page</a> and download the latest update package listed there, matching your current version.</li>
|
||||
<li>Upload the uncompressed archive contents to your phpBB installation - only the install folder is required. Upload the whole install folder, retaining the file structure.</li>
|
||||
<li>After the install folder is present, phpBB3 will go offline automatically.</li>
|
||||
<li>Upload the uncompressed archive contents to your phpBB installation - only the <code>install/</code> and <code>vendor/</code> folders are required. Upload these folders in their entirety, retaining the file structure.</li>
|
||||
<li>After the install folder is present, phpBB will go offline automatically.</li>
|
||||
<li>Point your browser to the install directory, for example <code>http://www.example.com/phpBB3/install/</code></li>
|
||||
<li>Choose the "Update" Tab and follow the instructions</li>
|
||||
</ul>
|
||||
@@ -320,7 +327,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -346,7 +353,7 @@
|
||||
<li>The <code>store/</code> directory</li>
|
||||
</ul></li>
|
||||
|
||||
<li>Upload the contents of the 3.1.x Full Package into your forum's directory.</li>
|
||||
<li>Upload the contents of the 3.1.x Full Package into your forum's directory. Make sure the root level .htaccess file is included in the upload.</li>
|
||||
<li>Browse to install/database_update.php</li>
|
||||
<li>Delete the <code>install/</code> directory</li>
|
||||
</ol>
|
||||
@@ -362,7 +369,7 @@
|
||||
<a name="convert"></a><h2>6. Conversion from phpBB 2.0.x to phpBB 3.1.x</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -417,7 +424,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -425,17 +432,17 @@
|
||||
<a name="postinstall"></a><h2>7. Important (security related) post-Install tasks for all installation methods</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Once you have successfully installed phpBB3 you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
|
||||
<p>Once you have successfully installed phpBB you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
|
||||
|
||||
<p>With these directories deleted, you should proceed to the administration panel. Depending on how the installation completed, you may have been directed there automatically. If not, login as the administrator you specified during install/conversion and click the <strong>Administration Control Panel</strong> link at the bottom of any page. Ensure that details specified on the <strong>General</strong> tab are correct!</p>
|
||||
|
||||
<a name="avatars"></a><h3>6.i. Uploadable avatars</h3>
|
||||
|
||||
<p>phpBB3 supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
|
||||
<p>phpBB supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
|
||||
|
||||
<p>Two of these options allow users to upload an avatar from their machine or a remote location (via a URL). If you wish to enable this function you should first ensure the correct path for uploadable avatars is set in <strong>Administration Control Panel -> General -> Board Configuration -> Avatar settings</strong>. By default this is <code>images/avatars/uploads</code>, but you can set it to whatever you like, just ensure the configuration setting is updated. You must also ensure this directory can be written to by the webserver. Usually this means you have to alter its permissions to allow anyone to read and write to it. Exactly how you should do this depends on your FTP client or server operating system.</p>
|
||||
|
||||
@@ -455,7 +462,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -463,7 +470,7 @@
|
||||
<a name="anti_spam"></a><h2>8. Anti-Spam Measures</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
<p>Like any online site that allows user input, your board could be subject to unwanted posts; often referred to as <a href="http://en.wikipedia.org/wiki/Forum_spam">forum spam</a>. The vast majority of these attacks will be from automated computer programs known as <a href="http://en.wikipedia.org/wiki/Spambot">spambots</a>. The attacks, generally, are not personal as the spammers are just trying to find accessible targets. phpBB has a number of anti-spam measures built in, including a range of CAPTCHAs. However, administrators are strongly urged to read and follow the advice for <a href="https://www.phpbb.com/support/spam/">Preventing Spam in phpBB</a> as soon as possible after completing the installation of your board.</p>
|
||||
@@ -471,7 +478,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -479,7 +486,7 @@
|
||||
<a name="disclaimer"></a><h2>9. Copyright and disclaimer</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -489,7 +496,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END DOCUMENT -->
|
||||
@@ -500,7 +507,7 @@
|
||||
</div></div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
<a id="bottom" accesskey="z"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
@@ -4,9 +4,9 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x Readme" />
|
||||
<title>phpBB3 • Readme</title>
|
||||
<title>phpBB • Readme</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div id="doc-description">
|
||||
<a href="../index.php" id="logo"><img src="site_logo.gif" alt="" /></a>
|
||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
||||
<h1>phpBB 3.1.x Readme</h1>
|
||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -34,25 +34,29 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>Thank you for downloading phpBB3. This README will guide you through the basics of installation and operation of phpBB3. Please ensure you read this and the accompanying documentation fully <strong>before</strong> proceeding with the installation.</p>
|
||||
<p class="paragraph main-description">
|
||||
Thank you for downloading phpBB. This README will guide you through the basics of installation
|
||||
and operation of phpBB. Please ensure you read this and the accompanying documentation fully
|
||||
<strong>before</strong> proceeding with the installation.
|
||||
</p>
|
||||
|
||||
<h1>Readme</h1>
|
||||
|
||||
<div class="paragraph menu">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<ol>
|
||||
<li><a href="#install">Installing phpBB3</a></li>
|
||||
<li><a href="#run">Running phpBB3</a>
|
||||
<li><a href="#install">Installing phpBB</a></li>
|
||||
<li><a href="#run">Running phpBB</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#i18n">Languages (Internationalisation - i18n)</a></li>
|
||||
<li><a href="#styles">Styles</a></li>
|
||||
<li><a href="#mods">Modifications</a></li>
|
||||
<li><a href="#extensions">Extensions</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#help">Getting help with phpBB3</a>
|
||||
<li><a href="#help">Getting help with phpBB</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#docs">Documentation</a></li>
|
||||
<li><a href="#kb">Knowledge Base</a></li>
|
||||
@@ -73,15 +77,15 @@
|
||||
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="install"></a><h2>1. Installing phpBB3</h2>
|
||||
<a name="install"></a><h2>1. Installing phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
<p>Installation, update and conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document in this directory. If you are intending on converting from a phpBB 2.0.x or 3.0.x installation we highly recommend that you backup any existing data before proceeding!</p>
|
||||
@@ -110,15 +114,15 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="run"></a><h2>2. Running phpBB3</h2>
|
||||
<a name="run"></a><h2>2. Running phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -132,55 +136,55 @@
|
||||
|
||||
<p>This is the <em>official</em> location for all supported language sets. If you download a package from a 3rd party site you do so with the understanding that we cannot offer support. Please do not ask for support if you download a language pack from a 3rd party site.</p>
|
||||
|
||||
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>System tab -> General Tasks -> Language packs</code>. A more detailed description of the process is in the Knowledge Base article, <a href="https://www.phpbb.com/kb/article/how-to-install-a-language-pack/">How to Install a Language Pack</a>.</p>
|
||||
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>Customise tab -> Language management -> Language packs</code>. A more detailed description of the process is in the Knowledge Base article, <a href="https://www.phpbb.com/kb/article/how-to-install-a-language-pack/">How to Install a Language Pack</a>.</p>
|
||||
|
||||
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=66">[3.0.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
|
||||
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=491">[3.1.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
|
||||
|
||||
<a name="styles"></a><h3>2.ii. Styles</h3>
|
||||
|
||||
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB3 allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
|
||||
<p>For more information about styles, please see: <a href="https://www.phpbb.com/styles/">https://www.phpbb.com/styles/</a></p>
|
||||
|
||||
<p><strong>Please note</strong> that 3rd party styles downloaded for versions of phpBB2 will <strong>not</strong> work in phpBB3. It is also important to ensure that the style is updated to match the current version of the phpBB software you are using.</p>
|
||||
|
||||
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -> Styles tab</code> where you should see the new style available. Click "Install" to install the style.</p>
|
||||
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -> Customise tab -> Style management -> Install Styles</code> where you should see the new style available. Click "Install style" to install the style.</p>
|
||||
|
||||
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to "Refresh" the appropriate style components <code>Administration Control Panel -> Styles tab -> Style Components</code> screen. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the changed components are not refreshed you will not see your changes taking effect.</p>
|
||||
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to purge the board cache by clicking the <code>Run now</code> button next to the <code>Purge the cache</code> option in the index page of the Administration Control Panel. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the cache is not purged, you will not see your changes taking effect.</p>
|
||||
|
||||
<a name="mods"></a><h3>2.iii. Modifications</h3>
|
||||
<a name="extensions"></a><h3>2.iii. Extensions</h3>
|
||||
|
||||
<p>We are proud to have a thriving modifications community. These third party modifications to the standard phpBB software, known as <strong>MODs</strong>, extend its capabilities still further. You can browse through many of the MODs in the <a href="https://www.phpbb.com/customise/db/modifications-1/">Modifications</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
<p>We are proud to have a thriving extensions community. These third party extensions to the standard phpBB software, extend its capabilities still further. You can browse through many of the extensions in the <a href="https://www.phpbb.com/customise/db/extensions-36">Extensions</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
|
||||
<p>For more information about MODs, please see: <a href="https://www.phpbb.com/mods/">https://www.phpbb.com/mods/</a></p>
|
||||
<p>For more information about extensions, please see: <a href="https://www.phpbb.com/extensions">https://www.phpbb.com/extensions</a></p>
|
||||
|
||||
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any modification should <strong>NOT</strong> be reported to the bug tracker (see below). First remove the MOD and see if the problem is resolved. Any support for a MOD should only be sought in the "Discussion/Support" forum for that MOD.</p>
|
||||
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any extension should <strong>NOT</strong> be reported to the bug tracker (see below). First disable the extension and see if the problem is resolved. Any support for an extension should only be sought in the "Discussion/Support" forum for that extension.</p>
|
||||
|
||||
<p>Also remember that any modifications, particularly those which modify the database in any way, may render upgrading your forum to future versions more difficult. With all this said, many users have and continue to utilise many of the MODs already available with great success.</p>
|
||||
<p>Also remember that any extensions which modify the database in any way, may render upgrading your forum to future versions more difficult.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="help"></a><h2>3. Getting help with phpBB3</h2>
|
||||
<a name="help"></a><h2>3. Getting help with phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>phpBB3 can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
|
||||
<p>phpBB can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
|
||||
|
||||
<a name="docs"></a><h3>3.i. phpBB3 Documentation</h3>
|
||||
<a name="docs"></a><h3>3.i. phpBB Documentation</h3>
|
||||
|
||||
<p>Comprehensive documentation is now available on the phpBB website:</p>
|
||||
|
||||
<p><a href="https://www.phpbb.com/support/documentation/3.0/">https://www.phpbb.com/support/documentation/3.0/</a></p>
|
||||
<p><a href="https://www.phpbb.com/support/docs/en/3.1/ug/">https://www.phpbb.com/support/docs/en/3.1/ug/</a></p>
|
||||
|
||||
<p>This covers everything from installation to setting permissions and managing users.</p>
|
||||
|
||||
@@ -208,7 +212,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -216,7 +220,7 @@
|
||||
<a name="status"></a><h2>4. Status of this version</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -232,7 +236,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -240,20 +244,20 @@
|
||||
<a name="bugs"></a><h2>5. Reporting Bugs</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>The phpBB Limited uses a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
|
||||
<p>The phpBB developers use a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
|
||||
|
||||
<p><a href="http://tracker.phpbb.com/browse/PHPBB3">http://tracker.phpbb.com/browse/PHPBB3</a></p>
|
||||
|
||||
<p>While we very much appreciate receiving bug reports (the more reports the more stable phpBB will be) we ask you carry out a few steps before adding new entries:</p>
|
||||
|
||||
<ul>
|
||||
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB3 (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
|
||||
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
|
||||
<li>Next, please read or search through the existing bug reports to see if <em>your</em> bug (or one very similar to it) is already listed. If it is please add to that existing bug rather than creating a new duplicate entry (all this does is slow us down).<br /><br /></li>
|
||||
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it’s related to something you have done rather than phpBB3<br /><br /></li>
|
||||
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it’s related to something you have done rather than phpBB<br /><br /></li>
|
||||
<li>If no existing bug exists then please feel free to add it</li>
|
||||
</ul>
|
||||
|
||||
@@ -267,7 +271,7 @@
|
||||
|
||||
<p>The relevant database type/version is listed within the administration control panel.</p>
|
||||
|
||||
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb3">on GitHub</a>.</p>
|
||||
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb">on GitHub</a>.</p>
|
||||
|
||||
<p>If you create a patch, it is very much appreciated (but not required) if you follow the phpBB coding guidelines. Please note that the coding guidelines are somewhat different between different versions of phpBB. For phpBB 3.1.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/31x/coding-guidelines.html">http://area51.phpbb.com/docs/31x/coding-guidelines.html</a></p>
|
||||
|
||||
@@ -283,7 +287,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -291,7 +295,7 @@
|
||||
<a name="curbugs"></a><h2>6. Overview of current bug list</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -307,7 +311,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -315,13 +319,13 @@
|
||||
<a name="php"></a><h2>7. PHP compatibility issues</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>phpBB 3.1.x takes advantage of new features added in PHP 5.3. We recommend that you upgrade to the latest stable release of PHP5 to run phpBB. The minimum version required is PHP 5.3.3.</p>
|
||||
<p>phpBB 3.1.x takes advantage of new features added in PHP 5.3. We recommend that you upgrade to the latest stable release of PHP5 to run phpBB. The minimum version required is PHP 5.3.3 and the maximum supported version is any version prior to PHP 7.0.</p>
|
||||
|
||||
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
|
||||
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
|
||||
|
||||
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 8.x, Oracle 8, SQLite 2 and SQLite 3. Versions of PHP used range from 5.3.x to 5.4.x without problem.</p>
|
||||
|
||||
@@ -333,7 +337,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -341,7 +345,7 @@
|
||||
<a name="disclaimer"></a><h2>8. Copyright and disclaimer</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -351,7 +355,7 @@
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END DOCUMENT -->
|
||||
@@ -362,7 +366,7 @@
|
||||
</div></div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
<a id="bottom" accesskey="z"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
@@ -11,13 +11,21 @@ body {
|
||||
font-family: Verdana, Helvetica, Arial, sans-serif;
|
||||
color: #828282;
|
||||
background-color: #FFFFFF;
|
||||
font-size: 12px;
|
||||
font-size: 10px;
|
||||
margin: 0;
|
||||
padding: 12px 0;
|
||||
}
|
||||
|
||||
img { border-width: 0; }
|
||||
|
||||
ul, ol {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
ul ul, ol ol {
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.3em;
|
||||
font-size: 1.1em;
|
||||
@@ -70,7 +78,7 @@ h3 {
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
margin-bottom: 3px;
|
||||
padding-bottom: 2px;
|
||||
font-size: 1.05em;
|
||||
font-size: 1.1em;
|
||||
color: #115098;
|
||||
margin-top: 20px;
|
||||
}
|
||||
@@ -80,7 +88,7 @@ h4 {
|
||||
font-weight: bold;
|
||||
margin-bottom: 3px;
|
||||
padding-bottom: 2px;
|
||||
font-size: 1.05em;
|
||||
font-size: 1.1em;
|
||||
color: #115098;
|
||||
margin-top: 20px;
|
||||
}
|
||||
@@ -104,6 +112,7 @@ code {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
background-color: #FAFAFA;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
#wrap {
|
||||
@@ -145,44 +154,16 @@ a#logo:hover {
|
||||
|
||||
.headerbar {
|
||||
background: #ebebeb none repeat-x 0 0;
|
||||
border-radius: 7px;
|
||||
color: #FFFFFF;
|
||||
margin-bottom: 4px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
span.corners-top, span.corners-bottom, span.corners-top span, span.corners-bottom span {
|
||||
font-size: 1px;
|
||||
line-height: 1px;
|
||||
display: block;
|
||||
height: 5px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
span.corners-top {
|
||||
background-image: none;
|
||||
background-position: 0 0;
|
||||
margin: 0 -5px;
|
||||
}
|
||||
|
||||
span.corners-top span {
|
||||
background-image: none;
|
||||
background-position: 100% 0;
|
||||
}
|
||||
|
||||
span.corners-bottom {
|
||||
background-image: none;
|
||||
background-position: 0 100%;
|
||||
margin: 0 -5px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
span.corners-bottom span {
|
||||
background-image: none;
|
||||
background-position: 100% 100%;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.paragraph {
|
||||
padding: 0 10px;
|
||||
border-radius: 7px;
|
||||
font-size: 1.1em;
|
||||
padding: 5px 10px;
|
||||
margin-bottom: 4px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 100% 0;
|
||||
@@ -197,6 +178,10 @@ span.corners-bottom span {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.main-description {
|
||||
font-size: 1.15em;
|
||||
}
|
||||
|
||||
.content {
|
||||
color: #333333;
|
||||
}
|
||||
@@ -222,7 +207,7 @@ hr {
|
||||
|
||||
.headerbar {
|
||||
background-color: #12A3EB;
|
||||
background-image: url("bg_header.gif");
|
||||
background-image: url("../images/bg_header.gif");
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
@@ -231,23 +216,6 @@ hr {
|
||||
color: #28313F;
|
||||
}
|
||||
|
||||
|
||||
span.corners-top {
|
||||
background-image: url("corners_left.png");
|
||||
}
|
||||
|
||||
span.corners-top span {
|
||||
background-image: url("corners_right.png");
|
||||
}
|
||||
|
||||
span.corners-bottom {
|
||||
background-image: url("corners_left.png");
|
||||
}
|
||||
|
||||
span.corners-bottom span {
|
||||
background-image: url("corners_right.png");
|
||||
}
|
||||
|
||||
.error {
|
||||
color: #BC2A4D;
|
||||
}
|
||||
@@ -257,10 +225,6 @@ a:visited { color: #105289; }
|
||||
a:hover { color: #D31141; }
|
||||
a:active { color: #368AD2; }
|
||||
|
||||
.paragraph span.corners-top, .paragraph span.corners-bottom {
|
||||
margin: 0 -10px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
line-height: 1.48em;
|
||||
@@ -288,13 +252,17 @@ a:active { color: #368AD2; }
|
||||
}
|
||||
|
||||
* html hr { margin: 0; }
|
||||
* html span.corners-top, * html span.corners-bottom { background-image: url("corners_left.gif"); }
|
||||
* html span.corners-top span, * html span.corners-bottom span { background-image: url("corners_right.gif"); }
|
||||
|
||||
.back2top {
|
||||
clear: both;
|
||||
.top {
|
||||
background: url("../images/icon_back_top.gif") no-repeat top left;
|
||||
text-decoration: none;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
text-align: right;
|
||||
display: block;
|
||||
float: right;
|
||||
overflow: hidden;
|
||||
letter-spacing: 1000px;
|
||||
text-indent: 11px;
|
||||
}
|
||||
|
||||
.content ol, .content ul {
|
||||
@@ -350,3 +318,9 @@ a:active { color: #368AD2; }
|
||||
clear: both;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.inner:after {
|
||||
clear: both;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
Before Width: | Height: | Size: 690 B After Width: | Height: | Size: 690 B |
BIN
phpBB/docs/assets/images/icon_back_top.gif
Normal file
After Width: | Height: | Size: 204 B |
BIN
phpBB/docs/assets/images/site_logo.gif
Normal file
After Width: | Height: | Size: 5.0 KiB |
@@ -6,7 +6,7 @@
|
||||
<meta name="description" content="This is an explanation of how to use the phpBB auth/acl API" />
|
||||
<title>phpBB3 • Auth API</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div id="doc-description">
|
||||
<a href="../index.php" id="logo"><img src="site_logo.gif" alt="" /></a>
|
||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
||||
<h1>Auth API</h1>
|
||||
<p>This is an explanation of how to use the phpBB auth/acl API</p>
|
||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>This is an explanation of how to use the phpBB auth/acl API.</p>
|
||||
<p class="paragraph main-description">This is an explanation of how to use the phpBB auth/acl API.</p>
|
||||
|
||||
<h1>Auth API</h1>
|
||||
|
||||
<div class="paragraph menu">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -73,7 +73,7 @@
|
||||
<a name="intro"></a><h2>1. Introduction</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -86,8 +86,8 @@
|
||||
<p>To use any methods contained with the <code>auth</code> class it first needs to be instantiated. This is best achieved early in the execution of the script in the following manner:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$auth = new phpbb\auth\auth();
|
||||
</pre></div>
|
||||
$auth = new phpbb\auth\auth();</pre>
|
||||
</div>
|
||||
|
||||
<p>Once an instance of the class has been created you are free to call the various methods it contains. Please note that should you wish to use the <code>auth_admin</code> methods you will need to instantiate this separately but in the same way.</p>
|
||||
|
||||
@@ -95,7 +95,7 @@ $auth = new phpbb\auth\auth();
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -103,7 +103,7 @@ $auth = new phpbb\auth\auth();
|
||||
<a name="methods"></a><h2>2. Methods</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -114,8 +114,8 @@ $auth = new phpbb\auth\auth();
|
||||
<p>The <code>acl</code> method is the initialisation routine for all the acl functions. If you intend calling any acl method you must first call this. The method takes as its one and only required parameter an associative array containing user information as stored in the database. This array must contain at least the following information; user_id, user_permissions and user_type. It is called in the following way:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$auth->acl(<code>userdata</code>);
|
||||
</pre></div>
|
||||
$auth->acl(<code>userdata</code>);</pre>
|
||||
</div>
|
||||
|
||||
<p>Where userdata is the array containing the aforementioned data.</p>
|
||||
|
||||
@@ -124,8 +124,8 @@ $auth->acl(<code>userdata</code>);
|
||||
<p>This method is the primary way of determining what a user can and cannot do for a given option globally or in a given forum. The method should be called in the following way:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);
|
||||
</pre></div>
|
||||
$result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);</pre>
|
||||
</div>
|
||||
|
||||
<p>Where option is a string representing the required option, e.g. 'f_list', 'm_edit', 'a_adduser', etc. By adding a ! in front of the option, e.g. '!f_list' the result of this method will be negated. The optional forum term is the integer forum_id.</p>
|
||||
|
||||
@@ -142,8 +142,8 @@ $result = $auth->acl_get(<code>option</code>[, <code>forum</code>]);
|
||||
<p>The method should be called thus:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <code>optionN</code>, <code>forum</code>]);
|
||||
</pre></div>
|
||||
$result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <code>optionN</code>, <code>forum</code>]);</pre>
|
||||
</div>
|
||||
|
||||
<p>As with the <code>acl_get</code> method the options are strings representing the required permissions to check. The forum again is an integer representing a given forum_id.</p>
|
||||
|
||||
@@ -154,16 +154,16 @@ $result = $auth->acl_gets(<code>option1</code>[, <code>option2</code>, ..., <
|
||||
<p>This method is used to find out in which forums a user is allowed to carry out an operation or to find out in which forums he is not allowed to carry out an operation. The method should be called in the following way:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$result = $auth->acl_getf(<code>option</code>[, <code>clean</code>]);
|
||||
</pre></div>
|
||||
$result = $auth->acl_getf(<code>option</code>[, <code>clean</code>]);</pre>
|
||||
</div>
|
||||
|
||||
<p>Just like in the <code>acl_get</code> method the option is a string specifying the permission which has to be checked (negation using ! is allowed). The second parameter is a boolean. If it is set to false this method returns all forums with either zero or a positive integer. If it is set to true only those forums with a positive integer as the result will be returned.</p>
|
||||
|
||||
<p>The method returns an associative array of the form:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
array(<em>forum_id1</em> => array(<em>option</em> => <em>integer</em>), <em>forum_id2</em> => ...)
|
||||
</pre></div>
|
||||
array(<em>forum_id1</em> => array(<em>option</em> => <em>integer</em>), <em>forum_id2</em> => ...)</pre>
|
||||
</div>
|
||||
|
||||
<p>Where option is the option passed to the method and integer is either zero or a positive integer and the same <code>acl_get(option, forum_id)</code> would return.</p>
|
||||
|
||||
@@ -172,8 +172,8 @@ array(<em>forum_id1</em> => array(<em>option</em> => <em>integer</em>), <e
|
||||
<p>This method is used to find out whether a user has a permission in at least one forum or globally. This method is similar to checking whether <code>acl_getf(option, true)</code> returned one or more forums but it's faster. It should be called in the following way:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$result = $auth->acl_getf_global(<code>option</code>)
|
||||
</pre></div>
|
||||
$result = $auth->acl_getf_global(<code>option</code>)</pre>
|
||||
</div>
|
||||
|
||||
<p>As with the previous methods option is a string specifying the permission which has to be checked.</p>
|
||||
|
||||
@@ -230,7 +230,7 @@ $result = $auth->acl_get_list($user_id, $permissions, $forum_id);
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -238,7 +238,7 @@ $result = $auth->acl_get_list($user_id, $permissions, $forum_id);
|
||||
<a name="admin_related"></a><h2>3. Admin related functions</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -247,8 +247,8 @@ $result = $auth->acl_get_list($user_id, $permissions, $forum_id);
|
||||
<p>To use any methods this class contains it first needs to be instantiated separately from <code>auth</code>. This is achieved in the same way as <code>auth</code>:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
$auth_admin = new auth_admin();
|
||||
</pre></div>
|
||||
$auth_admin = new auth_admin();</pre>
|
||||
</div>
|
||||
|
||||
<p>This instance gives you access to both the methods of this specific class and that of <code>auth</code>.</p>
|
||||
|
||||
@@ -256,7 +256,7 @@ $auth_admin = new auth_admin();
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -264,7 +264,7 @@ $auth_admin = new auth_admin();
|
||||
<a name="disclaimer"></a><h2>4. Copyright and disclaimer</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -274,7 +274,7 @@ $auth_admin = new auth_admin();
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END DOCUMENT -->
|
||||
@@ -285,7 +285,7 @@ $auth_admin = new auth_admin();
|
||||
</div></div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
<a id="bottom" accesskey="z"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<meta name="description" content="Ascraeus coding guidelines document" />
|
||||
<title>phpBB3 • Coding Guidelines</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
</head>
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
<a id="top" name="top" accesskey="t"></a>
|
||||
<div id="page-header">
|
||||
<div class="headerbar">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div id="doc-description">
|
||||
<a href="../index.php" id="logo"><img src="site_logo.gif" alt="" /></a>
|
||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
||||
<h1>Coding Guidelines</h1>
|
||||
<p>Ascraeus coding guidelines document</p>
|
||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,12 +35,14 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>These are the phpBB Coding Guidelines for Ascraeus, all attempts should be made to follow them as closely as possible.</p>
|
||||
<p class="paragraph main-description">
|
||||
These are the phpBB Coding Guidelines for Ascraeus, all attempts should be made to follow them as closely as possible.
|
||||
</p>
|
||||
|
||||
<h1>Coding Guidelines</h1>
|
||||
|
||||
<div class="paragraph menu">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -89,7 +91,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -97,7 +99,7 @@
|
||||
<a name="defaults"></a><h2>1. Defaults</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -109,8 +111,8 @@
|
||||
|
||||
<div class="codebox"><pre>
|
||||
{TAB}$mode{TAB}{TAB}= $request->variable('mode', '');
|
||||
{TAB}$search_id{TAB}= $request->variable('search_id', '');
|
||||
</pre></div>
|
||||
{TAB}$search_id{TAB}= $request->variable('search_id', '');</pre>
|
||||
</div>
|
||||
|
||||
<p>If entered with tabs (replace the {TAB}) both equal signs need to be on the same column.</p>
|
||||
|
||||
@@ -133,8 +135,8 @@
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
</pre></div>
|
||||
*/</pre>
|
||||
</div>
|
||||
|
||||
<p>Please see the <a href="#locations">File Locations section</a> for the correct package name.</p>
|
||||
|
||||
@@ -157,8 +159,8 @@
|
||||
|
||||
/**
|
||||
*/
|
||||
{CODE}
|
||||
</pre></div>
|
||||
{CODE}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Files containing only functions:</h4>
|
||||
|
||||
@@ -185,8 +187,8 @@ Small code snipped, mostly one or two defines or an if statement
|
||||
/**
|
||||
* {DOCUMENTATION}
|
||||
*/
|
||||
class ...
|
||||
</pre></div>
|
||||
class ...</pre>
|
||||
</div>
|
||||
|
||||
<a name="locations"></a><h3>1.iii. File Locations</h3>
|
||||
|
||||
@@ -274,7 +276,7 @@ PHPBB_QA (Set board to QA-Mode, which means the updater also c
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -282,7 +284,7 @@ PHPBB_QA (Set board to QA-Mode, which means the updater also c
|
||||
<a name="code"></a><h2>2. Code Layout/Guidelines</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -317,8 +319,8 @@ for ($i = 0; $i < $outer_size; $i++)
|
||||
{
|
||||
foo($i, $j);
|
||||
}
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Function Names:</h4>
|
||||
<p>Functions should also be named descriptively. We're not programming in C here, we don't want to write functions called things like "stristr()". Again, all lower-case names with words separated by a single underscore character in PHP, and camel caps in JavaScript. Function names should be prefixed with "phpbb_" and preferably have a verb in them somewhere. Good function names are <code>phpbb_print_login_status()</code>, <code>phpbb_get_user_data()</code>, etc. Constructor functions in JavaScript should begin with a capital letter.</p>
|
||||
@@ -344,14 +346,14 @@ phpbb/
|
||||
dir/
|
||||
class_name.php
|
||||
subdir/
|
||||
class_name.php
|
||||
</pre></div>
|
||||
class_name.php</pre>
|
||||
</div>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
\phpbb\class_name - phpbb/class_name.php
|
||||
\phpbb\dir\class_name - phpbb/dir/class_name.php
|
||||
\phpbb\dir\subdir\class_name - phpbb/dir/subdir/class_name.php
|
||||
</pre></div>
|
||||
\phpbb\dir\subdir\class_name - phpbb/dir/subdir/class_name.php</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4>Summary:</h4>
|
||||
@@ -377,8 +379,8 @@ while (condition)
|
||||
do_stuff();
|
||||
|
||||
for ($i = 0; $i < size; $i++)
|
||||
do_stuff($i);
|
||||
</pre></div>
|
||||
do_stuff($i);</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// These are all right. </p>
|
||||
<div class="codebox"><pre>
|
||||
@@ -395,8 +397,8 @@ while (condition)
|
||||
for ($i = 0; $i < size; $i++)
|
||||
{
|
||||
do_stuff();
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Where to put the braces:</h4>
|
||||
<p>In PHP code, braces always go on their own line. The closing brace should also always be at the same column as the corresponding opening brace, examples:</p>
|
||||
@@ -427,8 +429,8 @@ while (condition)
|
||||
function do_stuff()
|
||||
{
|
||||
...
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p>In JavaScript code, braces always go on the same line:</p>
|
||||
|
||||
@@ -451,8 +453,8 @@ while (condition) {
|
||||
|
||||
function do_stuff() {
|
||||
...
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Use spaces between tokens:</h4>
|
||||
<p>This is another simple, easy step that helps keep code readable without much effort. Whenever you write an assignment, expression, etc.. Always leave <em>one</em> space between the tokens. Basically, write code as if it was English. Put spaces between variable names and operators. Don't put spaces just after an opening bracket or before a closing bracket. Don't put spaces just before a comma or a semicolon. This is best shown with a few examples, examples:</p>
|
||||
@@ -476,26 +478,26 @@ for($i=0; $i<$size; $i++) ...
|
||||
for ($i = 0; $i < $size; $i++) ...
|
||||
|
||||
$i=($j < $size)?0:1;
|
||||
$i = ($j < $size) ? 0 : 1;
|
||||
</pre></div>
|
||||
$i = ($j < $size) ? 0 : 1;</pre>
|
||||
</div>
|
||||
|
||||
<h4>Operator precedence:</h4>
|
||||
<p>Do you know the exact precedence of all the operators in PHP? Neither do I. Don't guess. Always make it obvious by using brackets to force the precedence of an equation so you know what it does. Remember to not over-use this, as it may harden the readability. Basically, do not enclose single expressions. Examples:</p>
|
||||
|
||||
<p class="bad">// what's the result? who knows. </p>
|
||||
<div class="codebox"><pre>
|
||||
$bool = ($i < 7 && $j > 8 || $k == 4);
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$bool = ($i < 7 && $j > 8 || $k == 4);</pre>
|
||||
</div>
|
||||
|
||||
<p class="bad">// now you can be certain what I'm doing here.</p>
|
||||
<div class="codebox"><pre>
|
||||
$bool = (($i < 7) && (($j < 8) || ($k == 4)));
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$bool = (($i < 7) && (($j < 8) || ($k == 4)));</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// But this one is even better, because it is easier on the eye but the intention is preserved</p>
|
||||
<div class="codebox"><pre>
|
||||
$bool = ($i < 7 && ($j < 8 || $k == 4));
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$bool = ($i < 7 && ($j < 8 || $k == 4));</pre>
|
||||
</div>
|
||||
|
||||
<h4>Quoting strings:</h4>
|
||||
<p>There are two different ways to quote strings in PHP - either with single quotes or with double quotes. The main difference is that the parser does variable interpolation in double-quoted strings, but not in single quoted strings. Because of this, you should <em>always</em> use single quotes <em>unless</em> you specifically need variable interpolation to be done on that string. This way, we can save the parser the trouble of parsing a bunch of strings where no interpolation needs to be done.</p>
|
||||
@@ -505,25 +507,25 @@ $bool = ($i < 7 && ($j < 8 || $k == 4));
|
||||
<div class="codebox"><pre>
|
||||
$str = "This is a really long string with no variables for the parser to find.";
|
||||
|
||||
do_stuff("$str");
|
||||
</pre></div>
|
||||
do_stuff("$str");</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// right</p>
|
||||
<div class="codebox"><pre>
|
||||
$str = 'This is a really long string with no variables for the parser to find.';
|
||||
|
||||
do_stuff($str);
|
||||
</pre></div>
|
||||
do_stuff($str);</pre>
|
||||
</div>
|
||||
|
||||
<p class="bad">// Sometimes single quotes are just not right</p>
|
||||
<div class="codebox"><pre>
|
||||
$post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&amp;start=' . $start;
|
||||
</pre></div>
|
||||
$post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&amp;start=' . $start;</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Double quotes are sometimes needed to not overcrowd the line with concatenations.</p>
|
||||
<div class="codebox"><pre>
|
||||
$post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&amp;start=$start";
|
||||
</pre></div>
|
||||
$post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&amp;start=$start";</pre>
|
||||
</div>
|
||||
|
||||
<p>In SQL statements mixing single and double quotes is partly allowed (following the guidelines listed here about SQL formatting), else one should try to only use one method - mostly single quotes.</p>
|
||||
|
||||
@@ -535,40 +537,40 @@ $post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&amp;start=$start";
|
||||
$foo = array(
|
||||
'bar' => 42,
|
||||
'boo' => 23
|
||||
);
|
||||
</pre></div>
|
||||
);</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// right </p>
|
||||
<div class="codebox"><pre>
|
||||
$foo = array(
|
||||
'bar' => 42,
|
||||
'boo' => 23,
|
||||
);
|
||||
</pre></div>
|
||||
);</pre>
|
||||
</div>
|
||||
|
||||
|
||||
<h4>Associative array keys:</h4>
|
||||
<p>In PHP, it's legal to use a literal string as a key to an associative array without quoting that string. We don't want to do this -- the string should always be quoted to avoid confusion. Note that this is only when we're using a literal, not when we're using a variable, examples:</p>
|
||||
|
||||
<p class="bad">// wrong</p>
|
||||
<div class="codebox"><pre>
|
||||
$foo = $assoc_array[blah];
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$foo = $assoc_array[blah];</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// right </p>
|
||||
<div class="codebox"><pre>
|
||||
$foo = $assoc_array['blah'];
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$foo = $assoc_array['blah'];</pre>
|
||||
</div>
|
||||
|
||||
<p class="bad">// wrong</p>
|
||||
<div class="codebox"><pre>
|
||||
$foo = $assoc_array["$var"];
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$foo = $assoc_array["$var"];</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// right </p>
|
||||
<div class="codebox"><pre>
|
||||
$foo = $assoc_array[$var];
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>$foo = $assoc_array[$var];</pre>
|
||||
</div>
|
||||
|
||||
<h4>Comments:</h4>
|
||||
<p>Each complex function should be preceded by a comment that tells a programmer everything they need to know to use that function. The meaning of every parameter, the expected input, and the output are required as a minimal comment. The function's behaviour in error conditions (and what those error conditions are) should also be present - but mostly included within the comment about the output.<br /><br />Especially important to document are any assumptions the code makes, or preconditions for its proper operation. Any one of the developers should be able to look at any part of the application and figure out what's going on in a reasonable amount of time.<br /><br />Avoid using <code>/* */</code> comment blocks for one-line comments, <code>//</code> should be used for one/two-liners.</p>
|
||||
@@ -582,8 +584,8 @@ $foo = $assoc_array[$var];
|
||||
<p class="bad">// wrong </p>
|
||||
<div class="codebox"><pre>
|
||||
$array[++$i] = $j;
|
||||
$array[$i++] = $k;
|
||||
</pre></div>
|
||||
$array[$i++] = $k;</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// right </p>
|
||||
<div class="codebox"><pre>
|
||||
@@ -591,39 +593,38 @@ $i++;
|
||||
$array[$i] = $j;
|
||||
|
||||
$array[$i] = $k;
|
||||
$i++;
|
||||
</pre></div>
|
||||
$i++;</pre>
|
||||
</div>
|
||||
|
||||
<h4>Inline conditionals:</h4>
|
||||
<p>Inline conditionals should only be used to do very simple things. Preferably, they will only be used to do assignments, and not for function calls or anything complex at all. They can be harmful to readability if used incorrectly, so don't fall in love with saving typing by using them, examples:</p>
|
||||
|
||||
<p class="bad">// Bad place to use them</p>
|
||||
<div class="codebox"><pre>
|
||||
($i < $size && $j > $size) ? do_stuff($foo) : do_stuff($bar);
|
||||
</pre></div>
|
||||
($i < $size && $j > $size) ? do_stuff($foo) : do_stuff($bar);</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// OK place to use them </p>
|
||||
<div class="codebox"><pre>
|
||||
$min = ($i < $j) ? $i : $j;
|
||||
</pre></div>
|
||||
$min = ($i < $j) ? $i : $j;</pre>
|
||||
</div>
|
||||
|
||||
<h4>Don't use uninitialized variables.</h4>
|
||||
<p>For phpBB3, we intend to use a higher level of run-time error reporting. This will mean that the use of an uninitialized variable will be reported as a warning. These warnings can be avoided by using the built-in isset() function to check whether a variable has been set - but preferably the variable is always existing. For checking if an array has a key set this can come in handy though, examples:</p>
|
||||
|
||||
<p class="bad">// Wrong </p>
|
||||
<div class="codebox"><pre>
|
||||
if ($forum) ...
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>if ($forum) ...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Right </p>
|
||||
<div class="codebox"><pre>
|
||||
if (isset($forum)) ...
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>if (isset($forum)) ...</pre></div>
|
||||
|
||||
<p class="good">// Also possible</p>
|
||||
<div class="codebox"><pre>
|
||||
if (isset($forum) && $forum == 5)
|
||||
</pre></div>
|
||||
<div class="codebox">
|
||||
<pre>if (isset($forum) && $forum == 5)</pre>
|
||||
</div>
|
||||
|
||||
<p>The <code>empty()</code> function is useful if you want to check if a variable is not set or being empty (an empty string, 0 as an integer or string, NULL, false, an empty array or a variable declared, but without a value in a class). Therefore empty should be used in favor of <code>isset($array) && sizeof($array) > 0</code> - this can be written in a shorter way as <code>!empty($array)</code>.</p>
|
||||
|
||||
@@ -640,8 +641,8 @@ switch ($mode)
|
||||
case 'mode2':
|
||||
// I am doing something completely different here
|
||||
break;
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Good </p>
|
||||
<div class="codebox"><pre>
|
||||
@@ -658,8 +659,8 @@ switch ($mode)
|
||||
default:
|
||||
// Always assume that a case was not caught
|
||||
break;
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Also good, if you have more code between the case and the break </p>
|
||||
<div class="codebox"><pre>
|
||||
@@ -682,8 +683,8 @@ switch ($mode)
|
||||
// Always assume that a case was not caught
|
||||
|
||||
break;
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p>Even if the break for the default case is not needed, it is sometimes better to include it just for readability and completeness.</p>
|
||||
|
||||
@@ -710,8 +711,8 @@ switch ($mode)
|
||||
// Always assume that a case was not caught
|
||||
|
||||
break;
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Class Members</h4>
|
||||
<p>Use the explicit visibility qualifiers <code>public</code>, <code>private</code> and <code>protected</code> for all properties instead of <code>var</code>.
|
||||
@@ -721,14 +722,14 @@ switch ($mode)
|
||||
<p class="bad">//Wrong </p>
|
||||
<div class="codebox"><pre>
|
||||
var $x;
|
||||
private static function f()
|
||||
</pre></div>
|
||||
private static function f()</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Right </p>
|
||||
<div class="codebox"><pre>
|
||||
public $x;
|
||||
static private function f()
|
||||
</pre></div>
|
||||
static private function f()</pre>
|
||||
</div>
|
||||
|
||||
<h4>Constants</h4>
|
||||
<p>Prefer class constants over global constants created with <code>define()</code>.</p>
|
||||
@@ -748,8 +749,8 @@ $sql = 'SELECT *
|
||||
<-one tab->WHERE a = 1
|
||||
<-two tabs->AND (b = 2
|
||||
<-three tabs->OR b = 3)
|
||||
<-one tab->ORDER BY b';
|
||||
</pre></div>
|
||||
<-one tab->ORDER BY b';</pre>
|
||||
</div>
|
||||
|
||||
<p>Here the example with the tabs applied:</p>
|
||||
|
||||
@@ -759,8 +760,8 @@ $sql = 'SELECT *
|
||||
WHERE a = 1
|
||||
AND (b = 2
|
||||
OR b = 3)
|
||||
ORDER BY b';
|
||||
</pre></div>
|
||||
ORDER BY b';</pre>
|
||||
</div>
|
||||
|
||||
<h4>SQL Quotes: </h4>
|
||||
<p>Use double quotes where applicable. (The variables in these examples are typecasted to integers beforehand.) Examples: </p>
|
||||
@@ -769,16 +770,16 @@ $sql = 'SELECT *
|
||||
<div class="codebox"><pre>
|
||||
"UPDATE " . SOME_TABLE . " SET something = something_else WHERE a = $b";
|
||||
|
||||
'UPDATE ' . SOME_TABLE . ' SET something = ' . $user_id . ' WHERE a = ' . $something;
|
||||
</pre></div>
|
||||
'UPDATE ' . SOME_TABLE . ' SET something = ' . $user_id . ' WHERE a = ' . $something;</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// These are right. </p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
'UPDATE ' . SOME_TABLE . " SET something = something_else WHERE a = $b";
|
||||
|
||||
'UPDATE ' . SOME_TABLE . " SET something = $user_id WHERE a = $something";
|
||||
</pre></div>
|
||||
'UPDATE ' . SOME_TABLE . " SET something = $user_id WHERE a = $something";</pre>
|
||||
</div>
|
||||
|
||||
<p>In other words use single quotes where no variable substitution is required or where the variable involved shouldn't appear within double quotes. Otherwise use double quotes.</p>
|
||||
|
||||
@@ -789,15 +790,15 @@ $sql = 'SELECT *
|
||||
<div class="codebox"><pre>
|
||||
$sql = 'SELECT *
|
||||
FROM ' . SOME_TABLE . '
|
||||
WHERE a != 2';
|
||||
</pre></div>
|
||||
WHERE a != 2';</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// This is right. </p>
|
||||
<div class="codebox"><pre>
|
||||
$sql = 'SELECT *
|
||||
FROM ' . SOME_TABLE . '
|
||||
WHERE a <> 2';
|
||||
</pre></div>
|
||||
WHERE a <> 2';</pre>
|
||||
</div>
|
||||
|
||||
<h4>Common DBAL methods: </h4>
|
||||
|
||||
@@ -808,8 +809,8 @@ $sql = 'SELECT *
|
||||
<div class="codebox"><pre>
|
||||
$sql = 'SELECT *
|
||||
FROM ' . SOME_TABLE . "
|
||||
WHERE username = '" . $db->sql_escape($username) . "'";
|
||||
</pre></div>
|
||||
WHERE username = '" . $db->sql_escape($username) . "'";</pre>
|
||||
</div>
|
||||
|
||||
<h4>sql_query_limit():</h4>
|
||||
|
||||
@@ -830,8 +831,8 @@ $sql_ary = array(
|
||||
'moredata' => $another_int,
|
||||
);
|
||||
|
||||
$db->sql_query('INSERT INTO ' . SOME_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
|
||||
</pre></div>
|
||||
$db->sql_query('INSERT INTO ' . SOME_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));</pre>
|
||||
</div>
|
||||
|
||||
<p>To complete the example, this is how an update statement would look like:</p>
|
||||
|
||||
@@ -845,8 +846,8 @@ $sql_ary = array(
|
||||
$sql = 'UPDATE ' . SOME_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE user_id = ' . (int) $user_id;
|
||||
$db->sql_query($sql);
|
||||
</pre></div>
|
||||
$db->sql_query($sql);</pre>
|
||||
</div>
|
||||
|
||||
<p>The <code>$db->sql_build_array()</code> function supports the following modes: <code>INSERT</code> (example above), <code>INSERT_SELECT</code> (building query for <code>INSERT INTO table (...) SELECT value, column ...</code> statements), <code>UPDATE</code> (example above) and <code>SELECT</code> (for building WHERE statement [AND logic]).</p>
|
||||
|
||||
@@ -869,8 +870,8 @@ $sql_ary[] = array(
|
||||
'moredata' => $another_int_2,
|
||||
);
|
||||
|
||||
$db->sql_multi_insert(SOME_TABLE, $sql_ary);
|
||||
</pre></div>
|
||||
$db->sql_multi_insert(SOME_TABLE, $sql_ary);</pre>
|
||||
</div>
|
||||
|
||||
<h4>sql_in_set():</h4>
|
||||
|
||||
@@ -880,22 +881,22 @@ $db->sql_multi_insert(SOME_TABLE, $sql_ary);
|
||||
$sql = 'SELECT *
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('forum_id', $forum_ids);
|
||||
$db->sql_query($sql);
|
||||
</pre></div>
|
||||
$db->sql_query($sql);</pre>
|
||||
</div>
|
||||
|
||||
<p>Based on the number of values in $forum_ids, the query can look differently.</p>
|
||||
|
||||
<p class="good">// SQL Statement if $forum_ids = array(1, 2, 3);</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
SELECT FROM phpbb_forums WHERE forum_id IN (1, 2, 3)
|
||||
</pre></div>
|
||||
SELECT FROM phpbb_forums WHERE forum_id IN (1, 2, 3)</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// SQL Statement if $forum_ids = array(1) or $forum_ids = 1</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
SELECT FROM phpbb_forums WHERE forum_id = 1
|
||||
</pre></div>
|
||||
SELECT FROM phpbb_forums WHERE forum_id = 1</pre>
|
||||
</div>
|
||||
|
||||
<p>Of course the same is possible for doing a negative match against a number of values:</p>
|
||||
|
||||
@@ -903,22 +904,22 @@ SELECT FROM phpbb_forums WHERE forum_id = 1
|
||||
$sql = 'SELECT *
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('forum_id', $forum_ids, <strong>true</strong>);
|
||||
$db->sql_query($sql);
|
||||
</pre></div>
|
||||
$db->sql_query($sql);</pre>
|
||||
</div>
|
||||
|
||||
<p>Based on the number of values in $forum_ids, the query can look differently here too.</p>
|
||||
|
||||
<p class="good">// SQL Statement if $forum_ids = array(1, 2, 3);</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
SELECT FROM phpbb_forums WHERE forum_id <strong>NOT</strong> IN (1, 2, 3)
|
||||
</pre></div>
|
||||
SELECT FROM phpbb_forums WHERE forum_id <strong>NOT</strong> IN (1, 2, 3)</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// SQL Statement if $forum_ids = array(1) or $forum_ids = 1</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
SELECT FROM phpbb_forums WHERE forum_id <strong><></strong> 1
|
||||
</pre></div>
|
||||
SELECT FROM phpbb_forums WHERE forum_id <strong><></strong> 1</pre>
|
||||
</div>
|
||||
|
||||
<p>If the given array is empty, an error will be produced.</p>
|
||||
|
||||
@@ -948,8 +949,8 @@ $sql_array = array(
|
||||
'ORDER_BY' => 'left_id',
|
||||
);
|
||||
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);
|
||||
</pre></div>
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);</pre>
|
||||
</div>
|
||||
|
||||
<p>The possible first parameter for sql_build_query() is SELECT or SELECT_DISTINCT. As you can see, the logic is pretty self-explaining. For the LEFT_JOIN key, just add another array if you want to join on to tables for example. The added benefit of using this construct is that you are able to easily build the query statement based on conditions - for example the above LEFT_JOIN is only necessary if server side topic tracking is enabled; a slight adjustement would be:</p>
|
||||
|
||||
@@ -984,8 +985,8 @@ else
|
||||
// Here we read the cookie data
|
||||
}
|
||||
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);
|
||||
</pre></div>
|
||||
$sql = $db->sql_build_query('SELECT', $sql_array);</pre>
|
||||
</div>
|
||||
|
||||
<a name="optimizing"></a><h3>2.iv. Optimizations</h3>
|
||||
|
||||
@@ -997,16 +998,16 @@ $sql = $db->sql_build_query('SELECT', $sql_array);
|
||||
for ($i = 0; $i < sizeof($post_data); $i++)
|
||||
{
|
||||
do_something();
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// You are able to assign the (not changing) result within the loop itself</p>
|
||||
<div class="codebox"><pre>
|
||||
for ($i = 0, $size = sizeof($post_data); $i < $size; $i++)
|
||||
{
|
||||
do_something();
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<h4>Use of in_array(): </h4>
|
||||
<p>Try to avoid using in_array() on huge arrays, and try to not place them into loops if the array to check consist of more than 20 entries. in_array() can be very time consuming and uses a lot of cpu processing time. For little checks it is not noticeable, but if checked against a huge array within a loop those checks alone can take several seconds. If you need this functionality, try using isset() on the arrays keys instead, actually shifting the values into keys and vice versa. A call to <code>isset($array[$var])</code> is a lot faster than <code>in_array($var, array_keys($array))</code> for example.</p>
|
||||
@@ -1028,29 +1029,29 @@ for ($i = 0, $size = sizeof($post_data); $i < $size; $i++)
|
||||
<p class="bad">// Old method, do not use it</p>
|
||||
<div class="codebox"><pre>
|
||||
$start = (isset($HTTP_GET_VARS['start'])) ? intval($HTTP_GET_VARS['start']) : intval($HTTP_POST_VARS['start']);
|
||||
$submit = (isset($HTTP_POST_VARS['submit'])) ? true : false;
|
||||
</pre></div>
|
||||
$submit = (isset($HTTP_POST_VARS['submit'])) ? true : false;</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Use request var and define a default variable (use the correct type)</p>
|
||||
<div class="codebox"><pre>
|
||||
$start = $request->variable('start', 0);
|
||||
$submit = $request->is_set_post('submit');
|
||||
</pre></div>
|
||||
$submit = $request->is_set_post('submit');</pre>
|
||||
</div>
|
||||
|
||||
<p class="bad">// $start is an int, the following use of $request->variable() therefore is not allowed</p>
|
||||
<div class="codebox"><pre>
|
||||
$start = $request->variable('start', '0');
|
||||
</pre></div>
|
||||
$start = $request->variable('start', '0');</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Getting an array, keys are integers, value defaults to 0</p>
|
||||
<div class="codebox"><pre>
|
||||
$mark_array = $request->variable('mark', array(0));
|
||||
</pre></div>
|
||||
$mark_array = $request->variable('mark', array(0));</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Getting an array, keys are strings, value defaults to 0</p>
|
||||
<div class="codebox"><pre>
|
||||
$action_ary = $request->variable('action', array('' => 0));
|
||||
</pre></div>
|
||||
$action_ary = $request->variable('action', array('' => 0));</pre>
|
||||
</div>
|
||||
|
||||
<h4>Login checks/redirection: </h4>
|
||||
<p>To show a forum login box use <code>login_forum_box($forum_data)</code>, else use the <code>login_box()</code> function.</p>
|
||||
@@ -1073,8 +1074,8 @@ $action_ary = $request->variable('action', array('' => 0));
|
||||
{
|
||||
trigger_error('FORM_INVALID');
|
||||
}
|
||||
}
|
||||
</pre></div>
|
||||
}</pre>
|
||||
</div>
|
||||
|
||||
<p>The string passed to <code>add_form_key()</code> needs to match the string passed to <code>check_form_key()</code>. Another requirement for this to work correctly is that all forms include the <code>{S_FORM_TOKEN}</code> template variable.</p>
|
||||
|
||||
@@ -1085,8 +1086,8 @@ $action_ary = $request->variable('action', array('' => 0));
|
||||
<div class="codebox"><pre>
|
||||
$user->session_begin();
|
||||
$auth->acl($user->data);
|
||||
$user->setup();
|
||||
</pre></div>
|
||||
$user->setup();</pre>
|
||||
</div>
|
||||
|
||||
<p>The <code>$user->setup()</code> call can be used to pass on additional language definition and a custom style (used in viewforum).</p>
|
||||
|
||||
@@ -1094,16 +1095,16 @@ $user->setup();
|
||||
<p>All messages/errors should be outputted by calling <code>trigger_error()</code> using the appropriate message type and language string. Example:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
trigger_error('NO_FORUM');
|
||||
</pre></div>
|
||||
trigger_error('NO_FORUM');</pre>
|
||||
</div>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
trigger_error($user->lang['NO_FORUM']);
|
||||
</pre></div>
|
||||
trigger_error($user->lang['NO_FORUM']);</pre>
|
||||
</div>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
trigger_error('NO_MODE', E_USER_ERROR);
|
||||
</pre></div>
|
||||
trigger_error('NO_MODE', E_USER_ERROR);</pre>
|
||||
</div>
|
||||
|
||||
<h4>Url formatting</h4>
|
||||
|
||||
@@ -1112,8 +1113,8 @@ trigger_error('NO_MODE', E_USER_ERROR);
|
||||
<p>The <code>append_sid()</code> function from 2.0.x is available too, though it does not handle url alterations automatically. Please have a look at the code documentation if you want to get more details on how to use append_sid(). A sample call to append_sid() can look like this:</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id'])
|
||||
</pre></div>
|
||||
append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id'])</pre>
|
||||
</div>
|
||||
|
||||
<h4>General function usage: </h4>
|
||||
|
||||
@@ -1169,14 +1170,14 @@ append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="styling"></a><h2>3. Styling</h2>
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
<a name="cfgfiles"></a><h3>3.i. Style Config Files</h3>
|
||||
@@ -1193,8 +1194,8 @@ phpbb_version = 3.1.0
|
||||
|
||||
# Parent style
|
||||
# Set value to empty or to this style's name if this style does not have a parent style
|
||||
parent = prosilver
|
||||
</pre></div>
|
||||
parent = prosilver</pre>
|
||||
</div>
|
||||
<a name="genstyling"></a><h3>3.2. General Styling Rules</h3>
|
||||
<p>Templates should be produced in a consistent manner. Where appropriate they should be based off an existing copy, e.g. index, viewforum or viewtopic (the combination of which implement a range of conditional and variable forms). Please also note that the indentation and coding guidelines also apply to templates where possible.</p>
|
||||
|
||||
@@ -1252,14 +1253,14 @@ parent = prosilver
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="templating"></a><h2>4. Templating</h2>
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
<a name="templates"></a><h3>4.i. General Templating</h3>
|
||||
@@ -1748,7 +1749,7 @@ This may span multiple lines.
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -1758,7 +1759,7 @@ This may span multiple lines.
|
||||
<a name="charsets"></a><h2>5. Character Sets and Encodings</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -1821,7 +1822,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -1829,7 +1830,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
<a name="translation"></a><h2>6. Translation (<abbr title="Internationalisation">i18n</abbr>/<abbr title="Localisation">L10n</abbr>) Guidelines</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -2356,8 +2357,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
'PAGE_OF' => 'Page %s of %s',
|
||||
/* Just grabbing the replacements as they
|
||||
come and hope they are in the right order */
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>… a clearer way to show explicit replacement ordering is to do:</p>
|
||||
|
||||
@@ -2366,8 +2367,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
'PAGE_OF' => 'Page %1$s of %2$s',
|
||||
/* Explicit ordering of the replacements,
|
||||
even if they are the same order as English */
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>Why bother at all? Because some languages, the string transliterated back to English might read something like:</p>
|
||||
|
||||
@@ -2376,8 +2377,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
'PAGE_OF' => 'Total of %2$s pages, currently on page %1$s',
|
||||
/* Explicit ordering of the replacements,
|
||||
reversed compared to English as the total comes first */
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<a name="usingplurals"></a><h3>6.iv. Using plurals</h3>
|
||||
|
||||
@@ -2395,8 +2396,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
$user->lang('NUMBER_OF_ELEPHANTS', $number_of_elephants);
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>And the English translation would be:</p>
|
||||
|
||||
@@ -2407,8 +2408,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
1 => 'You have 1 elephant', // Singular
|
||||
2 => 'You have %d elephants', // Plural
|
||||
),
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>While the Bosnian translation can have more cases:</p>
|
||||
|
||||
@@ -2420,16 +2421,16 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
2 => 'You have %d slona', // Used for 5, 6,
|
||||
3 => ...
|
||||
),
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p><strong>NOTE:</strong> It is okay to use plurals for an unknown number compared to a single item, when the number is not known and displayed:</p>
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'MODERATOR' => 'Moderator', // Your board has 1 moderator
|
||||
'MODERATORS' => 'Moderators', // Your board has multiple moderators
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<a name="writingstyle"></a><h3>6.v. Writing Style</h3>
|
||||
|
||||
@@ -2443,8 +2444,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
...
|
||||
'CONV_ERROR_NO_AVATAR_PATH'
|
||||
=> 'Note to developer: you must specify $convertor['avatar_path'] to use %s.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Good - Literal straight quotes should be escaped with a backslash, ie: \</p>
|
||||
|
||||
@@ -2452,8 +2453,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
...
|
||||
'CONV_ERROR_NO_AVATAR_PATH'
|
||||
=> 'Note to developer: you must specify $convertor[\'avatar_path\'] to use %s.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>However, because phpBB3 now uses UTF-8 as its sole encoding, we can actually use this to our advantage and not have to remember to escape a straight quote when we don't have to:</p>
|
||||
|
||||
@@ -2462,24 +2463,24 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user's permissions',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Okay - However, non-programmers wouldn't type "user\'s" automatically</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user\'s permissions',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Best - Use the Unicode Right-Single-Quotation-Mark character</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'USE_PERMISSIONS' => 'Test out user’s permissions',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>The <code>"</code> (straight double quote), <code><</code> (less-than sign) and <code>></code> (greater-than sign) characters can all be used as displayed glyphs or as part of HTML markup, for example:</p>
|
||||
|
||||
@@ -2489,8 +2490,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
...
|
||||
'FOO_BAR' => 'PHP version < 5.3.3.<br />
|
||||
Visit "Downloads" at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Okay - No more invalid HTML, but "&quot;" is rather clumsy</p>
|
||||
|
||||
@@ -2498,8 +2499,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
...
|
||||
'FOO_BAR' => 'PHP version &lt; 5.3.3.<br />
|
||||
Visit &quot;Downloads&quot; at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Best - No more invalid HTML, and usage of correct typographical quotation marks</p>
|
||||
|
||||
@@ -2507,8 +2508,8 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
...
|
||||
'FOO_BAR' => 'PHP version &lt; 5.3.3.<br />
|
||||
Visit “Downloads” at <a href="http://www.php.net/">www.php.net</a>.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>Lastly, the <code>&</code> (ampersand) must always be entitised regardless of where it is used:</p>
|
||||
|
||||
@@ -2517,16 +2518,16 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'FOO_BAR' => '<a href="http://somedomain.tld/?foo=1&bar=2">Foo & Bar</a>.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p class="good">// Good - Valid HTML, amperands are correctly entitised in all cases</p>
|
||||
|
||||
<div class="codebox"><pre>
|
||||
...
|
||||
'FOO_BAR' => '<a href="http://somedomain.tld/?foo=1&amp;bar=2">Foo &amp; Bar</a>.',
|
||||
...
|
||||
</pre></div>
|
||||
...</pre>
|
||||
</div>
|
||||
|
||||
<p>As for how these charcters are entered depends very much on choice of Operating System, current language locale/keyboard configuration and native abilities of the text editor used to edit phpBB language files. Please see <a href="http://en.wikipedia.org/wiki/Unicode#Input_methods">http://en.wikipedia.org/wiki/Unicode#Input_methods</a> for more information.</p>
|
||||
|
||||
@@ -2538,7 +2539,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
@@ -2546,7 +2547,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
<a name="disclaimer"></a><h2>7. Copyright and disclaimer</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
<div class="inner">
|
||||
|
||||
<div class="content">
|
||||
|
||||
@@ -2556,7 +2557,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
|
||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
||||
|
||||
<span class="corners-bottom"><span></span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END DOCUMENT -->
|
||||
@@ -2567,7 +2568,7 @@ if (utf8_case_fold_nfc($string1) == utf8_case_fold_nfc($string2))
|
||||
</div></div>
|
||||
|
||||
<div>
|
||||
<a id="bottom" name="bottom" accesskey="z"></a>
|
||||
<a id="bottom" accesskey="z"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
Before Width: | Height: | Size: 55 B |
Before Width: | Height: | Size: 195 B |
Before Width: | Height: | Size: 56 B |