mirror of
https://github.com/phpbb/phpbb.git
synced 2025-09-13 09:32:12 +02:00
Compare commits
1387 Commits
release-3.
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
|
840173a21e | ||
|
66e9832f5e | ||
|
67ad602041 | ||
|
7716961f07 | ||
|
6876559ceb | ||
|
16d8698e1b | ||
|
d8ae6cea75 | ||
|
dc40572312 | ||
|
3c014ccb2b | ||
|
bd22a92d68 | ||
|
40c2fa7e5e | ||
|
604b3f49b7 | ||
|
f6cbc7e80b | ||
|
0417599344 | ||
|
c694e86422 | ||
|
794ad66896 | ||
|
857cec0509 | ||
|
d3472cd4a1 | ||
|
d6078821c5 | ||
|
1f98477c22 | ||
|
c8351d6d20 | ||
|
54eef1153f | ||
|
88d257f04b | ||
|
14d96d0086 | ||
|
8ad14af39c | ||
|
52217bd4e4 | ||
|
dfdb92d3ab | ||
|
358a5d8b46 | ||
|
dcfddb8445 | ||
|
fa14375a65 | ||
|
b494e6b043 | ||
|
00849941c3 | ||
|
36554f3ce8 | ||
|
2cb7e510dc | ||
|
d80367c5fc | ||
|
6b92f23c81 | ||
|
4698d20fb4 | ||
|
f4287e1f56 | ||
|
0d68cebea8 | ||
|
5e351dad53 | ||
|
2db4dc8c96 | ||
|
856fcf7554 | ||
|
242476c290 | ||
|
3caa31bf58 | ||
|
9c5f338d3c | ||
|
43eeb008fa | ||
|
0be63a81c7 | ||
|
5b0406cfdc | ||
|
ca62538ce3 | ||
|
fb3f811cf3 | ||
|
192c1d81b8 | ||
|
d451f4180e | ||
|
5df37895d8 | ||
|
d83eefaf14 | ||
|
0d2e9455aa | ||
|
8bd35d47ad | ||
|
c728889e0e | ||
|
4de62a3712 | ||
|
c141962dc8 | ||
|
93796bb474 | ||
|
619820a059 | ||
|
3be5ab3a5c | ||
|
7f29daf0d4 | ||
|
9a23f187ce | ||
|
8b21096919 | ||
|
4dada87d32 | ||
|
322f8eabd6 | ||
|
2b17ecf196 | ||
|
1484f8ce91 | ||
|
52cb565eef | ||
|
a755103350 | ||
|
414e17a089 | ||
|
fedfc330ef | ||
|
8a8a05e31c | ||
|
8e2dd65c6e | ||
|
02f54ef219 | ||
|
aa76f6b9f2 | ||
|
eff277a872 | ||
|
e56088f921 | ||
|
269f9251a2 | ||
|
ca2a380d03 | ||
|
a2ab14d9d5 | ||
|
0d3dd61ad4 | ||
|
13aa1ff760 | ||
|
7870c48ced | ||
|
5d0f7229e3 | ||
|
bd407fd866 | ||
|
98515e7c7d | ||
|
34d415a6b3 | ||
|
c1ce0153ea | ||
|
9de41ce44c | ||
|
9efa7c1a8c | ||
|
762d9fcf7b | ||
|
62333f0ca2 | ||
|
1ac142347e | ||
|
1d54d60f04 | ||
|
fef1996b3d | ||
|
6cd54639b5 | ||
|
7ef87e3fbd | ||
|
68122fca27 | ||
|
f340e8ca04 | ||
|
da4b446ac6 | ||
|
7d18ecd1bf | ||
|
b3199265a2 | ||
|
05a58e8942 | ||
|
1c724d0860 | ||
|
76f2305b84 | ||
|
0daf6ccbcb | ||
|
fe97d19c66 | ||
|
d7ccd22383 | ||
|
bda6b55047 | ||
|
15e1d87527 | ||
|
922f75b004 | ||
|
f729887320 | ||
|
fc75ca40c3 | ||
|
3e97ed915a | ||
|
ecfd198c3f | ||
|
7a1231a32f | ||
|
e10ea1fcf3 | ||
|
2a8239075e | ||
|
f28b1fd178 | ||
|
800bd98ae6 | ||
|
c45df4e820 | ||
|
fa636e35e0 | ||
|
02e6e6cf48 | ||
|
bcbe6339ec | ||
|
eb4186add4 | ||
|
fdc827e066 | ||
|
58ef28e914 | ||
|
40027e054c | ||
|
1a029a71e5 | ||
|
0766a10ad3 | ||
|
ad43169065 | ||
|
3be435561a | ||
|
93f3323074 | ||
|
a378e0eb0c | ||
|
8e5a635bfb | ||
|
50177914a8 | ||
|
f3093a3740 | ||
|
9a753a269f | ||
|
69bf5a8403 | ||
|
1dd6d583d0 | ||
|
2c04ce7a61 | ||
|
df49e0e993 | ||
|
f269ddacce | ||
|
4d9118447b | ||
|
114ed8bec1 | ||
|
96bc21aa6b | ||
|
034feb87cd | ||
|
193d54c4eb | ||
|
4aa3a80558 | ||
|
2060f00f95 | ||
|
05cf78b589 | ||
|
361e97d097 | ||
|
9da3adeda9 | ||
|
bd4887f660 | ||
|
befab4f3c1 | ||
|
b1c6b3bc94 | ||
|
0ba0a9cbd3 | ||
|
ab3d8ade72 | ||
|
acd824d432 | ||
|
d0197a94fb | ||
|
f59246ea25 | ||
|
55c4fd644c | ||
|
ecbb37e0ba | ||
|
70c289fef0 | ||
|
80a6a58a84 | ||
|
87dfa9a061 | ||
|
39d700b87a | ||
|
b2affdff5b | ||
|
3ce8510f88 | ||
|
bc869f8ec3 | ||
|
39b3db9e27 | ||
|
fabb5bc7e6 | ||
|
b0b78ee144 | ||
|
d0e2023a63 | ||
|
65065bf315 | ||
|
868c5bd114 | ||
|
3905227758 | ||
|
cfea05c2b4 | ||
|
0951e204c9 | ||
|
a91b1d2f26 | ||
|
e8f5e62c44 | ||
|
fb94245943 | ||
|
d3224c420a | ||
|
2afa989500 | ||
|
946da08304 | ||
|
33306a0699 | ||
|
5a33a141af | ||
|
e7186f41ed | ||
|
79b09577eb | ||
|
ce28527cde | ||
|
8a54793ede | ||
|
b69507be8a | ||
|
a7bfe9afed | ||
|
59900357a7 | ||
|
8c79e9a61e | ||
|
bb20f3966f | ||
|
201a5b6e06 | ||
|
8bb9a9803b | ||
|
b7b3282649 | ||
|
6e05cb38f6 | ||
|
a4c69a8f43 | ||
|
47fcf3403f | ||
|
6f96f8b01e | ||
|
6ab2821c34 | ||
|
29b775f22c | ||
|
78c3b8bb86 | ||
|
d1dfbe8ce5 | ||
|
8ab866e7f4 | ||
|
de834b65e8 | ||
|
2d1e8dc8a0 | ||
|
b5a1c54ab2 | ||
|
5e23959e12 | ||
|
5ae963cb34 | ||
|
b33e95f1e7 | ||
|
9ba0560696 | ||
|
e05876a5f6 | ||
|
afae9421f6 | ||
|
f72e847c17 | ||
|
cf40048f67 | ||
|
0df96f101b | ||
|
8591108451 | ||
|
cc67e8b26f | ||
|
97a4114265 | ||
|
e19dac0658 | ||
|
481ca6190e | ||
|
642b774530 | ||
|
4d5e8df8e6 | ||
|
568a74e22c | ||
|
7b062b76c7 | ||
|
3392f3aa09 | ||
|
af6eebaa1a | ||
|
f8acf53f72 | ||
|
73c133c91d | ||
|
0ac066aac7 | ||
|
65d825b62c | ||
|
e9bea9dec0 | ||
|
6cab65efb0 | ||
|
8ef8df4b18 | ||
|
6a24d72183 | ||
|
e65c0171e4 | ||
|
0ce55e897d | ||
|
fe7c833c8b | ||
|
1aca32454f | ||
|
86fcde5d07 | ||
|
8195035363 | ||
|
eb7019d54a | ||
|
ab5ab01496 | ||
|
9d2c1f7602 | ||
|
195f6460e0 | ||
|
e9a6f46bef | ||
|
5331a555f6 | ||
|
3bd612ad81 | ||
|
dcae4f330e | ||
|
642f990fbc | ||
|
7268c5ebfb | ||
|
68e6e8ca90 | ||
|
fa13f06e64 | ||
|
e2ced58517 | ||
|
838e488134 | ||
|
555624decf | ||
|
528b1b10b7 | ||
|
e9e9ab8919 | ||
|
f4f749f130 | ||
|
c66dd87f68 | ||
|
3b3dfebd82 | ||
|
5afda415d1 | ||
|
7481cf9ffe | ||
|
bb6d4d67d5 | ||
|
22331c8951 | ||
|
6db29a7ae1 | ||
|
c27b049ca0 | ||
|
bb32ec38da | ||
|
d40cb5f618 | ||
|
599adb3003 | ||
|
13914b91df | ||
|
01284ef6a0 | ||
|
7f9792b571 | ||
|
5882a9a3a2 | ||
|
a673858e13 | ||
|
c27a6472af | ||
|
4a4f62f29e | ||
|
aae5852ad3 | ||
|
e01c998758 | ||
|
2df69fc3ed | ||
|
3757caf449 | ||
|
ce97122c6d | ||
|
4eda5218d5 | ||
|
a37f82bb9d | ||
|
d0ca73caf8 | ||
|
ec66a42664 | ||
|
3bfeacaa88 | ||
|
ec49bd2d69 | ||
|
d69049d6be | ||
|
2dd571bc5d | ||
|
73741e547b | ||
|
362541c2b1 | ||
|
bd29de880d | ||
|
466abd7a3d | ||
|
7df35e8131 | ||
|
02253134c9 | ||
|
e420c9c895 | ||
|
697e4963db | ||
|
c5d83ef715 | ||
|
1c3585f575 | ||
|
09e308a06d | ||
|
fabe9ce56b | ||
|
1f8149706c | ||
|
7dd0c7296f | ||
|
868bc3a069 | ||
|
bb43e732c8 | ||
|
79ea63f164 | ||
|
1169e1915d | ||
|
1b439cb6a0 | ||
|
61e263ba8d | ||
|
f958ea921c | ||
|
38c26c8c44 | ||
|
6c0e17480c | ||
|
919597bfcf | ||
|
8a8403ff8a | ||
|
7330cdee2c | ||
|
b8b6625872 | ||
|
1b50650267 | ||
|
6be65cb512 | ||
|
7e60a3c075 | ||
|
cb0583df1d | ||
|
56ddf5827f | ||
|
9433ff449a | ||
|
c44b366350 | ||
|
0857237fbb | ||
|
27a95675d0 | ||
|
f74a4e6e9b | ||
|
504901ccb6 | ||
|
281330b1d0 | ||
|
48db45f85b | ||
|
a414584f4b | ||
|
c8e92608fd | ||
|
47b1973cb6 | ||
|
b8bab30684 | ||
|
d9e07b3b29 | ||
|
9a72f39ff3 | ||
|
d1aefbea62 | ||
|
87d0888fee | ||
|
af97a8312c | ||
|
a8d2b819c4 | ||
|
ed974c2c84 | ||
|
1a9c7fe9ca | ||
|
38c3552908 | ||
|
0bfe270078 | ||
|
8a4d7685f7 | ||
|
a88a68f8a6 | ||
|
9c590dae7b | ||
|
6fc6e7ced2 | ||
|
277f7d906d | ||
|
cdcb787991 | ||
|
ae4575369c | ||
|
8ae115f9bd | ||
|
d591b4d2da | ||
|
be74893e02 | ||
|
45a00f1a93 | ||
|
a2a199b48e | ||
|
6326b6b631 | ||
|
dbdbf23bea | ||
|
00f5732a0d | ||
|
3ecd2f150d | ||
|
b29a011186 | ||
|
20d64270a4 | ||
|
15c1975f6e | ||
|
008e313652 | ||
|
a65877cd7e | ||
|
e30d10288d | ||
|
a0c8df6679 | ||
|
a43cdbac54 | ||
|
0cf4212835 | ||
|
c11cb57c66 | ||
|
2fd174d7cf | ||
|
c55d59e70a | ||
|
009bc4a1a3 | ||
|
a12b70468f | ||
|
8c8655863e | ||
|
e174f1475f | ||
|
cdd3441ead | ||
|
20f68ef013 | ||
|
976516a559 | ||
|
39b0ac4fda | ||
|
7d1aa37f50 | ||
|
8ab730f47d | ||
|
6b5b413025 | ||
|
6f99cf0fd5 | ||
|
77745e466d | ||
|
f671d7559a | ||
|
eb141e88fb | ||
|
f3598d2f4d | ||
|
691496af3c | ||
|
3de74e58b7 | ||
|
628d39931f | ||
|
a5314f57af | ||
|
6f4d1cda13 | ||
|
0e69bcc282 | ||
|
bd23583431 | ||
|
e0a7676c3f | ||
|
09ce2ab70e | ||
|
52f50287e9 | ||
|
0f51a85d8f | ||
|
0ecc72e945 | ||
|
66990474b9 | ||
|
da77c9e744 | ||
|
c251ab51c0 | ||
|
502982154d | ||
|
bf36dd2036 | ||
|
ebc889baea | ||
|
14cd51056b | ||
|
1dc5c4f98f | ||
|
95080106e0 | ||
|
7e8ef278fe | ||
|
6bdebe22ed | ||
|
29450d8893 | ||
|
e979194a0e | ||
|
e10331f988 | ||
|
573a1b7d35 | ||
|
335535e73b | ||
|
0e4ce1f978 | ||
|
565a287d20 | ||
|
f4b9a7143c | ||
|
66436bd9f7 | ||
|
724b3682d1 | ||
|
7767648520 | ||
|
64ce9d2218 | ||
|
cd85541e19 | ||
|
c1583fa001 | ||
|
5842b8416e | ||
|
3e296a4a90 | ||
|
8a03e0d670 | ||
|
46cee69804 | ||
|
ec6335bdfd | ||
|
28c24c8c45 | ||
|
b90e2c6300 | ||
|
6b47cbb4c5 | ||
|
43ce44cb3b | ||
|
f9d4e11a27 | ||
|
8956654288 | ||
|
5bc0e89871 | ||
|
d16b240749 | ||
|
73c355b92a | ||
|
34629afda0 | ||
|
d2fb48ce49 | ||
|
b5943a430f | ||
|
43d75d712f | ||
|
51be1ad2c1 | ||
|
15a7a77bb6 | ||
|
f68bdb9e08 | ||
|
b4a900c993 | ||
|
dfc43e819e | ||
|
07bf18168f | ||
|
5ca9674ced | ||
|
154ebc24c2 | ||
|
3e128d06f4 | ||
|
453adbcd5c | ||
|
04e15e6555 | ||
|
db119a60e6 | ||
|
d927154217 | ||
|
275ef147f6 | ||
|
8566f81d4f | ||
|
74eefdb4f1 | ||
|
c90e562367 | ||
|
f4c45f3f21 | ||
|
99dbea1469 | ||
|
33666c7817 | ||
|
c7be5d25d0 | ||
|
c990818200 | ||
|
6cab639d8e | ||
|
21dbabe6f2 | ||
|
fe9254790c | ||
|
cbe63da1f7 | ||
|
c190451098 | ||
|
551a018613 | ||
|
45f0c77761 | ||
|
6e89799b05 | ||
|
8877688ee4 | ||
|
669c45125c | ||
|
876dc581a8 | ||
|
a267db851a | ||
|
26c150090a | ||
|
4926ff0992 | ||
|
39c6d11ed6 | ||
|
5b5a29849e | ||
|
b9123cad7c | ||
|
43e3b3e328 | ||
|
7149349e25 | ||
|
9080a0e778 | ||
|
d26e0423f7 | ||
|
b602e0c014 | ||
|
29d44973a7 | ||
|
903185a69c | ||
|
84cd7e496b | ||
|
b3f3886cd9 | ||
|
b1e1ee7d55 | ||
|
b60322f729 | ||
|
b89539a70e | ||
|
78ea308608 | ||
|
d7435d02d3 | ||
|
3539f9372d | ||
|
0e15eb4f00 | ||
|
119261dc5d | ||
|
2c0509a5c7 | ||
|
443b931b36 | ||
|
8c6ef3f0fd | ||
|
0fa0013a69 | ||
|
8f4c87ad49 | ||
|
5842c912a9 | ||
|
c6412a186c | ||
|
e72e6679a3 | ||
|
0788754a5f | ||
|
f5e7233162 | ||
|
a37f95e7db | ||
|
20490b0618 | ||
|
8b1f69c1a3 | ||
|
f830f0f6df | ||
|
4721a4ae19 | ||
|
c4a5099e56 | ||
|
be343298e8 | ||
|
54017bcf63 | ||
|
90a4ea4f9b | ||
|
6b5cbe3768 | ||
|
46b4a74549 | ||
|
feb94b446a | ||
|
879362c5b5 | ||
|
1e7fc0f7df | ||
|
8df557f621 | ||
|
8b8606349e | ||
|
2b8b04dd55 | ||
|
b23c4dacb9 | ||
|
f703f3f20e | ||
|
2d39d34ab5 | ||
|
671efc0726 | ||
|
d17b554666 | ||
|
7557af0594 | ||
|
9f4a240f91 | ||
|
07576eb338 | ||
|
c61946329c | ||
|
cc3afd87aa | ||
|
858d9271e3 | ||
|
5aa4aae0f5 | ||
|
82240cb661 | ||
|
f3664b07d2 | ||
|
a3e0117ff0 | ||
|
e5f88a1462 | ||
|
95d873574c | ||
|
d35b3b4792 | ||
|
c8e5c36c1d | ||
|
01b966c664 | ||
|
0c63f03db4 | ||
|
962d3f1df0 | ||
|
0198029ea6 | ||
|
b0e7221b3a | ||
|
f6b121758b | ||
|
4c0a1ec0a0 | ||
|
8dd76e6e2f | ||
|
edf27fdac5 | ||
|
1c2f65f268 | ||
|
b732b4d8c8 | ||
|
291b865f17 | ||
|
f57a7826a8 | ||
|
e5c80e46b0 | ||
|
a66e640499 | ||
|
24fab91694 | ||
|
5881a24faa | ||
|
3b82c8cb10 | ||
|
b9919f7c88 | ||
|
2e9b3fc31e | ||
|
0a089c8656 | ||
|
a82afd6ccf | ||
|
4fc58068c9 | ||
|
fccae1009b | ||
|
5dac5fdb3b | ||
|
ddc8e5c712 | ||
|
3c07c8c2a0 | ||
|
c97a9b0b19 | ||
|
57326be5bf | ||
|
7e589a529d | ||
|
6afa29eb5c | ||
|
d7c3d59799 | ||
|
1c8e7a3483 | ||
|
a88e640924 | ||
|
3c27aa2f2e | ||
|
0614a1a57f | ||
|
447a5391ed | ||
|
7345f1ce2e | ||
|
75abae80fd | ||
|
70513f8da4 | ||
|
d5acfc5c2f | ||
|
83c886781d | ||
|
1215c3ddbf | ||
|
ea1a4ffbb8 | ||
|
cada6f294d | ||
|
4ade2789f6 | ||
|
c06f224ace | ||
|
bb21336191 | ||
|
d32030a374 | ||
|
adf10ef492 | ||
|
6788d82316 | ||
|
a470f0a6db | ||
|
3feafaade6 | ||
|
8ed41ea525 | ||
|
558f672634 | ||
|
ca4ce6b2f5 | ||
|
9a8d8f5b0c | ||
|
6f61d70b72 | ||
|
ffe201be36 | ||
|
8943c34572 | ||
|
dc5add2b8d | ||
|
10a4d74190 | ||
|
94419d4573 | ||
|
f59419ed7e | ||
|
457f13ad0b | ||
|
aea5c3545c | ||
|
d1d7ed1381 | ||
|
44caadc723 | ||
|
7c21eb84ea | ||
|
07cbc847f0 | ||
|
f6fae7b536 | ||
|
ba04bc9d22 | ||
|
1946d81ab3 | ||
|
e263405a81 | ||
|
300f887c02 | ||
|
2ee9d4f101 | ||
|
255c79a8f7 | ||
|
6f0f366780 | ||
|
1e607a8041 | ||
|
49845c1155 | ||
|
f6e9e043d8 | ||
|
75c25556aa | ||
|
8a040f3fbc | ||
|
07b2046685 | ||
|
90c15aeebc | ||
|
884f48faf6 | ||
|
081d16d907 | ||
|
b795b8a040 | ||
|
dbb9cbe280 | ||
|
3b1f936dcf | ||
|
d334072722 | ||
|
62a390582c | ||
|
a4b104c1da | ||
|
b823a94124 | ||
|
2451c0a815 | ||
|
725e82f6df | ||
|
4334b446b5 | ||
|
34595c02ba | ||
|
1d49ddd86f | ||
|
cdb252faaa | ||
|
5f4522e55b | ||
|
b1f0276307 | ||
|
5ce1e1e7df | ||
|
2ed21c98d5 | ||
|
f3815b7bc8 | ||
|
49b4156cfd | ||
|
486413731a | ||
|
9715054102 | ||
|
7735f22562 | ||
|
d8e441b079 | ||
|
d75952394f | ||
|
af012e8b5a | ||
|
b6a320503e | ||
|
9a919d8fa3 | ||
|
b4ecdae8e4 | ||
|
0ca20b14f5 | ||
|
e1ee0dfec1 | ||
|
685c41689e | ||
|
8fcb5dcc4d | ||
|
c606055df2 | ||
|
a4855decb8 | ||
|
86cf600d9e | ||
|
852959cf2b | ||
|
a5f1ff43b5 | ||
|
d836677342 | ||
|
b1eaaea89a | ||
|
11f2c076f6 | ||
|
10c038d8f3 | ||
|
3d4af04927 | ||
|
1af967b00e | ||
|
b5993fc2a3 | ||
|
a29d2e1149 | ||
|
9cd1277d70 | ||
|
ee2a59ad59 | ||
|
e05efe8280 | ||
|
ee33976d1d | ||
|
d0d1fd189b | ||
|
76cca33525 | ||
|
8bdc3940b1 | ||
|
31cbb60a38 | ||
|
582919804a | ||
|
eaa597a430 | ||
|
a6c5def4f4 | ||
|
13f5997554 | ||
|
846df59882 | ||
|
2d2c0ab6cd | ||
|
5625078cfe | ||
|
9e7dc9433a | ||
|
87fe2847f0 | ||
|
5c1782a605 | ||
|
115d0e794e | ||
|
ee4620ef9e | ||
|
5fb5228591 | ||
|
54ab1f1e80 | ||
|
b07fb709ba | ||
|
96a7e04ea5 | ||
|
2fea7969d3 | ||
|
d668f3a3c3 | ||
|
9749aa936c | ||
|
e2cc1aec26 | ||
|
e6624c1fd5 | ||
|
3bb2edd53d | ||
|
7de24bad2e | ||
|
297ac8ef4c | ||
|
cd995ff45f | ||
|
e61761e9af | ||
|
c927c31391 | ||
|
2dbcad7840 | ||
|
d2a344af5d | ||
|
9d5f9606a4 | ||
|
4094d62613 | ||
|
ceaf6fcffe | ||
|
e72ae0a4b2 | ||
|
28620b7d93 | ||
|
65cfd74b98 | ||
|
11e2cd925b | ||
|
f7797b89ed | ||
|
7d80314235 | ||
|
3d9845ebed | ||
|
b3d07e26fc | ||
|
9b12a923f5 | ||
|
eff3b08d49 | ||
|
1f22248965 | ||
|
68677b8525 | ||
|
8e538eebc5 | ||
|
5bc7723feb | ||
|
18e75202d7 | ||
|
11cf09b41a | ||
|
908d04d0e8 | ||
|
e7c028eed6 | ||
|
8bdad7d73e | ||
|
12a624330f | ||
|
d7be6e037b | ||
|
1d90ddc0a9 | ||
|
830d16943b | ||
|
0b03fa963a | ||
|
a1617548cf | ||
|
2bfea20007 | ||
|
843e3ae849 | ||
|
6f36a478a5 | ||
|
880deabac1 | ||
|
eba65f57ab | ||
|
7f4badc947 | ||
|
ebd9d0fe25 | ||
|
bb5cf54e61 | ||
|
ff5fe30407 | ||
|
50ca72e53c | ||
|
21f0a2b1b8 | ||
|
d25b55b93a | ||
|
e599bb2a7b | ||
|
f26e20e1e9 | ||
|
5d5f34518d | ||
|
a2fa918da2 | ||
|
531f5dd9da | ||
|
1b7c42bf53 | ||
|
eecd0b91c5 | ||
|
9854db9120 | ||
|
aeac3df4a1 | ||
|
75c03dd81e | ||
|
f69d9e9559 | ||
|
11d7b71959 | ||
|
126b17898d | ||
|
8d00784dfe | ||
|
17d4dcc30b | ||
|
16dbbdb34c | ||
|
433a23feb4 | ||
|
c747d1d225 | ||
|
d4293866b3 | ||
|
9fa058a8bd | ||
|
4591cf9afa | ||
|
ed34079452 | ||
|
f6b47e2ee3 | ||
|
e900104e10 | ||
|
944a748cb6 | ||
|
eb8ace14c8 | ||
|
1b8193ab8b | ||
|
ed9cbc89c1 | ||
|
22417e3d9c | ||
|
4fb9c1cd98 | ||
|
f0f1cd37dd | ||
|
83ccccb565 | ||
|
b83de54bb4 | ||
|
261bf416ee | ||
|
a0ffbfce31 | ||
|
82abd358a5 | ||
|
d50d1101fb | ||
|
f0ebd6da0f | ||
|
9f033cbf6d | ||
|
b3f80239c1 | ||
|
0f3dbe1a30 | ||
|
4ed854c818 | ||
|
b0586b4f4d | ||
|
f866a8fd1b | ||
|
dce0441ecf | ||
|
29c9621137 | ||
|
46b70ded94 | ||
|
20fb9385f5 | ||
|
fcca5c5b58 | ||
|
db5121511d | ||
|
c7dd7d42c6 | ||
|
0806d34eee | ||
|
b9193f35c1 | ||
|
43e5337a0a | ||
|
1ae812d172 | ||
|
dd93bb1aad | ||
|
bf58fafd76 | ||
|
737155a43a | ||
|
53b3b1bb40 | ||
|
372a3bfcde | ||
|
cfdc1ef62a | ||
|
7ae7502146 | ||
|
7a294b5fcd | ||
|
79287abd7b | ||
|
cf450bd01f | ||
|
7e5d0b9ec8 | ||
|
314dfb294a | ||
|
6705adf47b | ||
|
d8dac3f80e | ||
|
16dad60eef | ||
|
7ef52f723c | ||
|
374dc92e8f | ||
|
3c91126806 | ||
|
7336678454 | ||
|
6ee537b3f2 | ||
|
f3a9301483 | ||
|
5aba63d5aa | ||
|
a3276c3ffe | ||
|
4956dc3197 | ||
|
b1c5ad6a61 | ||
|
364461b58f | ||
|
74a747d455 | ||
|
036871cd95 | ||
|
580126cff3 | ||
|
71a1c9fee7 | ||
|
80de9f6a68 | ||
|
c71d4c364a | ||
|
dcab076221 | ||
|
94808e2cbc | ||
|
82e61f501a | ||
|
37fddf8eef | ||
|
3669849368 | ||
|
ebf7e9f45f | ||
|
d000717d34 | ||
|
d191eed760 | ||
|
a750372a03 | ||
|
5dfba1b064 | ||
|
72747ed686 | ||
|
c7898ac3e4 | ||
|
c70d024f5f | ||
|
7cf148ea13 | ||
|
41f287fbea | ||
|
3ae799f4de | ||
|
3e5090e792 | ||
|
8bcff3ac74 | ||
|
202478d108 | ||
|
186a3d40c6 | ||
|
230472de45 | ||
|
790e77de01 | ||
|
7286532656 | ||
|
b85c7be5ac | ||
|
5eae76b209 | ||
|
2ebbcbe233 | ||
|
b1596ffecb | ||
|
b9fccc9fce | ||
|
9345bc1610 | ||
|
78ae67ae28 | ||
|
044d327818 | ||
|
cc9b29488f | ||
|
843887fcb9 | ||
|
faca59b3a6 | ||
|
9b6149d3ac | ||
|
4c05257783 | ||
|
e6a84dcb60 | ||
|
1f3e073894 | ||
|
dbc164e131 | ||
|
16a163662b | ||
|
67a8d8ca90 | ||
|
0e974eb49a | ||
|
d5f9e3a05e | ||
|
d181713832 | ||
|
ffb0adfc59 | ||
|
a83b8e7792 | ||
|
2f7a9c6a00 | ||
|
4051bf2466 | ||
|
a0251ec1d9 | ||
|
84f01ed0da | ||
|
9ddb1bdddb | ||
|
d26622e992 | ||
|
0b3eb2f9ea | ||
|
581139ab15 | ||
|
8e54e5cc79 | ||
|
26c4dfb9d7 | ||
|
fce796517b | ||
|
2733ce0712 | ||
|
bcc90133a8 | ||
|
611b3c4e46 | ||
|
ac43c5c8bd | ||
|
b786dbc5d7 | ||
|
0efeef46e1 | ||
|
fd5ac318a5 | ||
|
2926ceba6a | ||
|
581fe4ec83 | ||
|
02689df8f7 | ||
|
d9749d5bb0 | ||
|
b7492a7b6f | ||
|
59afb76df4 | ||
|
d659276749 | ||
|
8be1ad4568 | ||
|
0fc6fbf916 | ||
|
8ffbd66cba | ||
|
ff3458ff03 | ||
|
5be4cca408 | ||
|
3009e7ffbe | ||
|
d7425b4998 | ||
|
186384e514 | ||
|
f9a364074d | ||
|
cb0f4790ae | ||
|
f26e83e4c6 | ||
|
5ef225381d | ||
|
8b4892b96b | ||
|
68326c6aa1 | ||
|
1a4739aed9 | ||
|
670dbaba1b | ||
|
6d71748e9a | ||
|
3089770fec | ||
|
5d5c3481b7 | ||
|
3837d2cfee | ||
|
ac6676a144 | ||
|
3986273fdb | ||
|
cbbba2dcc7 | ||
|
6b7d9af0c2 | ||
|
5ed02c2149 | ||
|
3be57cea04 | ||
|
dac910d27a | ||
|
380b7d0a98 | ||
|
bc045fd19b | ||
|
7b70984ef3 | ||
|
c37e696c1c | ||
|
c7d47e34e8 | ||
|
fd7524858c | ||
|
86085f96ab | ||
|
a8e2f4256b | ||
|
8b7e0563a5 | ||
|
3e9c2ea025 | ||
|
960e5af71c | ||
|
679f3b0c76 | ||
|
f7ac1d2629 | ||
|
77a15e3542 | ||
|
d55e421c0f | ||
|
db1040ec69 | ||
|
251473700a | ||
|
896b31272b | ||
|
0a4cc5d201 | ||
|
2a023c9e15 | ||
|
4a10062933 | ||
|
29be971fad | ||
|
0f57f3d90d | ||
|
4d15683733 | ||
|
8726baea9f | ||
|
15da5b108e | ||
|
63ebd658a9 | ||
|
9fff4cf253 | ||
|
1f10cd51ff | ||
|
e39753083d | ||
|
3149b45eba | ||
|
46a189fa4c | ||
|
e102a9a3cb | ||
|
92362441bd | ||
|
78a913581c | ||
|
63b7518a0f | ||
|
01b0ec19c6 | ||
|
eb94fe973b | ||
|
c628cd7e15 | ||
|
83d430419e | ||
|
9872316cac | ||
|
aed7e369c3 | ||
|
289524938c | ||
|
f2e6bda0d1 | ||
|
c11dbffbac | ||
|
f460194379 | ||
|
0cbe05faad | ||
|
a00b8c2920 | ||
|
9e0c3fc81e | ||
|
0d668fee36 | ||
|
149df2d7b6 | ||
|
c75502e09c | ||
|
9aee50968e | ||
|
0cd7033baa | ||
|
2c3a24b678 | ||
|
51bb05f286 | ||
|
791d633b8a | ||
|
e39c0be8f8 | ||
|
e0e410e8a2 | ||
|
5e5042e52a | ||
|
4679433ae1 | ||
|
3e22a2eebd | ||
|
79a6648b99 | ||
|
8dbda26623 | ||
|
5d6f8c8bd9 | ||
|
7ea063100e | ||
|
56bff6380e | ||
|
85837d48b2 | ||
|
ba17f16dc8 | ||
|
a340c362bc | ||
|
46a68d37ee | ||
|
e9fc3ed22e | ||
|
cbb5e6f765 | ||
|
219955fa6c | ||
|
95a696c4da | ||
|
85910fe5bc | ||
|
76b4a2faab | ||
|
0b39e4e854 | ||
|
78ce646c69 | ||
|
4ae43c7970 | ||
|
912eb28223 | ||
|
7df08fe12e | ||
|
729e2f5d08 | ||
|
e2de342d3a | ||
|
b14c7c3511 | ||
|
c2997ada7a | ||
|
6ccffec906 | ||
|
00682db8a6 | ||
|
0a7e98951b | ||
|
b6a99e7dca | ||
|
f09f5bc51c | ||
|
ce35aa8b0b | ||
|
930895f563 | ||
|
75e4fcd2e9 | ||
|
9887a9d76c | ||
|
b40fe17d93 | ||
|
1a2e5f6ee6 | ||
|
163aac74db | ||
|
d87fc02774 | ||
|
be17a8417d | ||
|
404768a607 | ||
|
9cb1119d1e | ||
|
1e67ffee1d | ||
|
40a69b8edf | ||
|
0e8e8c7b14 | ||
|
7ae8f98ec6 | ||
|
eb0195dd7c | ||
|
b6f400a014 | ||
|
b8616fe9ac | ||
|
f985f42dc2 | ||
|
734c1cd5bd | ||
|
95880a5f49 | ||
|
90a8e1dd1c | ||
|
ade88f020e | ||
|
fe7118aea0 | ||
|
396a8214db | ||
|
b0b3810aab | ||
|
a8fb843ded | ||
|
dfcc744275 | ||
|
e78632767c | ||
|
cf7c3dcab5 | ||
|
77da8b6507 | ||
|
06c894ff7f | ||
|
e75071fbd2 | ||
|
0a133fe009 | ||
|
4008800527 | ||
|
49ea5a4091 | ||
|
d9f9360c5b | ||
|
a671eaf25d | ||
|
829ac4062d | ||
|
33785d0fd3 | ||
|
465d0b1a4c | ||
|
6105260a8e | ||
|
2f220a07d1 | ||
|
32cc32c76a | ||
|
c5ae114315 | ||
|
bea1df7759 | ||
|
5ff519c7b2 | ||
|
eb13694b25 | ||
|
1001584c1b | ||
|
8c2d0c8c36 | ||
|
6f48b3c044 | ||
|
b80cbd0e7d | ||
|
4cda76b5c0 | ||
|
f7e51ca875 | ||
|
e8b4304c1b | ||
|
bd02c5bd08 | ||
|
60bc949ba1 | ||
|
25ae4fa355 | ||
|
68c197fd60 | ||
|
dd2eadf8ec | ||
|
3a443b5623 | ||
|
1eed2f98c3 | ||
|
e54aa94e77 | ||
|
d7c644a792 | ||
|
975fe1e153 | ||
|
b6c230753e | ||
|
1af05d9615 | ||
|
a85bb1332d | ||
|
f05022941d | ||
|
e00a154882 | ||
|
f21003f977 | ||
|
133dfd0a84 | ||
|
eee00652e7 | ||
|
7989f3f71f | ||
|
012fe18879 | ||
|
91b89b6374 | ||
|
36614e6f81 | ||
|
7fac5be2cc | ||
|
d7dd91d0e2 | ||
|
25d3292d30 | ||
|
a05d744266 | ||
|
772e801d4f | ||
|
27153d7e46 | ||
|
c0e9ef21fe | ||
|
0f3559528a | ||
|
760a03fffc | ||
|
a90f5e6bcc | ||
|
f4935ef500 | ||
|
ba945496b4 | ||
|
ae08036b2c | ||
|
a028dfab12 | ||
|
914199d50f | ||
|
7e8c6d8c0d | ||
|
9454377e55 | ||
|
1ef43bc1a1 | ||
|
13932e9aba | ||
|
fcff807834 | ||
|
281049eafd | ||
|
81cbefdae5 | ||
|
a7c02304a5 | ||
|
ccc21a8c94 | ||
|
d613984660 | ||
|
dcafa6a711 | ||
|
f920336be4 | ||
|
8048d817ca | ||
|
454ea081f1 | ||
|
7a3e351178 | ||
|
0b843505e8 | ||
|
d4652c1b20 | ||
|
7dd822942a | ||
|
826cc9751a | ||
|
f5f03d24e9 | ||
|
49ac98ffdb | ||
|
da6be75a18 | ||
|
fffcb2a6af | ||
|
c0bd3122e0 | ||
|
54fff02f95 | ||
|
784938e68b | ||
|
3947970d0b | ||
|
08ee5a608b | ||
|
0cbf06780e | ||
|
96335c0402 | ||
|
bf6f1cac8f | ||
|
9e772d1421 | ||
|
ba92e7d2d6 | ||
|
fa5a0d5e21 | ||
|
cefdf8bf19 | ||
|
eee18f3747 | ||
|
e991df195b | ||
|
1d1d963c14 | ||
|
cfea54f8f3 | ||
|
0a5599697f | ||
|
f41c51d1ec | ||
|
4ad288c544 | ||
|
fe030f67ef | ||
|
276f350bcb | ||
|
3f852a3233 | ||
|
9cb22f008d | ||
|
d880443ea2 | ||
|
b4d4709726 | ||
|
2f85fc53dc | ||
|
90722a3c66 | ||
|
2e634e9f96 | ||
|
e086d4039e | ||
|
d4e623ffee | ||
|
6078f58343 | ||
|
be3a58aff1 | ||
|
eaf42f3c72 | ||
|
189f3fd68e | ||
|
7543508570 | ||
|
e1962acd4e | ||
|
710a0b3ea3 | ||
|
2df9230902 | ||
|
423345d517 | ||
|
5a76d541a2 | ||
|
065feb3ff9 | ||
|
b0334d6b4f | ||
|
ee51bf26fa | ||
|
812edebfb7 | ||
|
31192fc08e | ||
|
3433f61ccb | ||
|
84fdba604d | ||
|
b12405dbc7 | ||
|
3e9682fe49 | ||
|
33be961aa0 | ||
|
860a370e8f | ||
|
a4a5b069ec | ||
|
c382536f47 | ||
|
b5e6f34cd9 | ||
|
ce518043e9 | ||
|
58fa8eabb7 | ||
|
b2c5f8fb48 | ||
|
01018630c9 | ||
|
f5d28a95b0 | ||
|
204e3b1fe0 | ||
|
6fc269b62a | ||
|
348979c13d | ||
|
5d2e144624 | ||
|
de039dcc7c | ||
|
6d4fdb1f15 | ||
|
5cef0d2035 | ||
|
8a979d6871 | ||
|
30f522351e | ||
|
a6803e6a18 | ||
|
05f9ef7134 | ||
|
fc8d0c54e9 | ||
|
5de54906f0 | ||
|
8f3f7d1e5e | ||
|
5741c8d8ee | ||
|
6007978e7b | ||
|
bd646cff52 | ||
|
95264e2152 | ||
|
6422bdb5ec | ||
|
7572bc050b | ||
|
bc59342e1a | ||
|
9e90b27ba1 | ||
|
e419c2cd3b | ||
|
183d1afcaa | ||
|
99d83673f5 | ||
|
2a69eb051d | ||
|
5540a0f8e0 | ||
|
730e1140e3 | ||
|
76ea1de0ab | ||
|
c04642f987 | ||
|
b4d36e3235 | ||
|
b9a40be9b4 | ||
|
00f639de7b | ||
|
84ce92896e | ||
|
dd3330d7c9 | ||
|
d639e107ec | ||
|
d72498a9c3 | ||
|
61fa4f006a | ||
|
9c1baf0fd7 | ||
|
fe04f59ca2 | ||
|
9207b13224 | ||
|
29d40fd3d6 | ||
|
0ebcb3f3a0 | ||
|
c2841cb6e2 | ||
|
f7ec97b88e | ||
|
b6cd02bacb | ||
|
52ed8bfaa1 | ||
|
8f0643a14c | ||
|
31ab3d93a2 | ||
|
89ae1c3221 | ||
|
3f33d89572 | ||
|
90f8498a44 | ||
|
2753f8ccc8 | ||
|
18d4b7f358 | ||
|
978d883abb | ||
|
d0e3c2c136 | ||
|
fe6dd5a8f7 | ||
|
33f9333f13 | ||
|
51ffab0045 | ||
|
4ad0d4ceeb | ||
|
4ff993fc1b | ||
|
3c0fd43f85 | ||
|
c92d4933cc | ||
|
9f19202152 | ||
|
e7795fe7ce | ||
|
9223781797 | ||
|
e76c673e2e | ||
|
ebac54aa9e | ||
|
d968392b4d | ||
|
05a86ca3b0 | ||
|
c0fde5d5fd | ||
|
40e61e4d1e | ||
|
ff35f65064 | ||
|
ac3c49e548 | ||
|
27fc256745 | ||
|
6643c904d5 | ||
|
ba088f6bdc | ||
|
84b6dd7e5f | ||
|
e46d8d329d | ||
|
a702142a34 | ||
|
c20fed43cd | ||
|
303b823847 | ||
|
4f402465bf | ||
|
917880e2bf | ||
|
db36318ad0 | ||
|
4f5a8f6983 | ||
|
3914515199 | ||
|
3c2e75b52a | ||
|
7c26569d93 | ||
|
30303647f0 | ||
|
284368b9d6 | ||
|
432482160d | ||
|
1609fa292d | ||
|
0fe4cbc17f | ||
|
98b3aacde4 | ||
|
0a2589b5e0 | ||
|
35fef8333a | ||
|
65b0698ef7 | ||
|
9e3141d9d3 | ||
|
688d022f42 | ||
|
ab0dae6003 | ||
|
64b053c997 | ||
|
1f87b25709 | ||
|
9f20ff7b9e | ||
|
139eb17bb7 | ||
|
b4d4336ef4 | ||
|
5815d21427 | ||
|
7dae1fe48c | ||
|
ec04f177d0 | ||
|
efc2e6e570 | ||
|
62e609c10c | ||
|
7e96098e29 | ||
|
ee667ac897 | ||
|
d227912ee8 | ||
|
68cba0cb26 | ||
|
cbe9833975 | ||
|
7b4ef7a101 | ||
|
f993d91865 | ||
|
94f4062b29 | ||
|
a66c4170a9 | ||
|
9b5b058925 | ||
|
341962ae74 | ||
|
4da589acba | ||
|
3e6fd7e8fd | ||
|
dc9b1c37b1 | ||
|
dc397755d5 | ||
|
4ff986f578 | ||
|
2578a2b9fc | ||
|
5de4780753 | ||
|
2ff5871ff4 | ||
|
5153413f7a | ||
|
a9a28859d4 | ||
|
62921c066c | ||
|
3e5247187c | ||
|
75d957e9e1 | ||
|
1b9507d93d | ||
|
16d8b0bf78 | ||
|
5a0c9763d1 | ||
|
5c001df380 | ||
|
e36da01264 | ||
|
deb556fbf0 | ||
|
574749daeb | ||
|
42b7782927 | ||
|
cdf3aa27df | ||
|
560704c9f3 | ||
|
3f3d88696b | ||
|
acab3b048d | ||
|
a08dce82c2 | ||
|
332b310809 | ||
|
dfcce400a4 | ||
|
f1c2f7baae | ||
|
7d4909dc06 | ||
|
cf12223b25 | ||
|
530e5bca87 | ||
|
26acd8a5e4 | ||
|
4282cf459e | ||
|
228e0f58a8 | ||
|
fe64174ca8 | ||
|
77315a014c | ||
|
c02be62ea1 | ||
|
5614f80b89 | ||
|
4e3ac92d05 | ||
|
571a6df993 | ||
|
296bf434b0 | ||
|
ab6835d849 | ||
|
271ac6b57e | ||
|
7a173877b7 | ||
|
41956a8b90 | ||
|
773d246a7e | ||
|
f165b8ece4 | ||
|
a33c875d2f | ||
|
1dc14c0f38 | ||
|
a4f48205fb | ||
|
1a8a8da7bf | ||
|
653305d461 | ||
|
cfaf24bd45 | ||
|
7a831c3e28 |
@@ -6,16 +6,18 @@ services:
|
|||||||
- iis
|
- iis
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
COMPOSER_AUTH:
|
||||||
|
secure: '{"github-oauth": {"github.com": "zvq38wk7sRe87Y9W2OCYXcK7WKQDsig7GRIUDHGmxm6ZQRK8JswPbi8JoJQbFhM+"}}'
|
||||||
matrix:
|
matrix:
|
||||||
- db: mssql
|
- db: mssql
|
||||||
db_version: sql2012sp1
|
db_version: sql2012sp1
|
||||||
php: 7.0
|
php: 7.1
|
||||||
- db: mssql
|
- db: mssql
|
||||||
db_version: sql2014
|
db_version: sql2014
|
||||||
php: 7.0
|
php: 7.1
|
||||||
- db: mssql
|
- db: mssql
|
||||||
db_version: sql2016
|
db_version: sql2016
|
||||||
php: 7.1.12
|
php: 7.2
|
||||||
# - db: mssql
|
# - db: mssql
|
||||||
# db_version: sql2017
|
# db_version: sql2017
|
||||||
# php: 7.1
|
# php: 7.1
|
||||||
@@ -64,10 +66,11 @@ before_test:
|
|||||||
# Get MSSQL driver
|
# Get MSSQL driver
|
||||||
if ($env:db -eq "mssql") {
|
if ($env:db -eq "mssql") {
|
||||||
cd c:\tools\php\ext
|
cd c:\tools\php\ext
|
||||||
$DLLVersion = "4.1.6.1"
|
$DLLVersion = "5.3.0"
|
||||||
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
|
$VCVersion = If ([System.Version]"$($env:php)" -ge [System.Version]"7.2") {"vc15"} Else {"vc14"}
|
||||||
|
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
|
||||||
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
||||||
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
|
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-$($VCVersion)-x64.zip
|
||||||
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
|
||||||
Remove-Item c:\tools\php\* -include .zip
|
Remove-Item c:\tools\php\* -include .zip
|
||||||
cd c:\tools\php
|
cd c:\tools\php
|
||||||
@@ -111,10 +114,6 @@ before_test:
|
|||||||
sqlite3 c:\projects\test.db "create table aTable(field1 int); drop table aTable;"
|
sqlite3 c:\projects\test.db "create table aTable(field1 int); drop table aTable;"
|
||||||
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\sqlite3';`n`$dbhost = 'c:\\projects\\test.db';`n`$dbport = '';`n`$dbname = '';`n`$dbuser = '';`n`$dbpasswd = '';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\sqlite3';`n`$dbhost = 'c:\\projects\\test.db';`n`$dbport = '';`n`$dbname = '';`n`$dbuser = '';`n`$dbpasswd = '';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install PhantomJS
|
|
||||||
choco install phantomjs -y
|
|
||||||
Start-Process "phantomjs" "--webdriver=8910" | Out-Null
|
|
||||||
- ps: |
|
- ps: |
|
||||||
cd c:\projects\phpbb\phpBB
|
cd c:\projects\phpbb\phpBB
|
||||||
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("<configuration>", "<configuration>`n`t<system.web>`n`t`t<customErrors mode=`"Off`"/>`n`t</system.web>") | Set-Content c:\projects\phpbb\phpBB\web.config
|
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("<configuration>", "<configuration>`n`t<system.web>`n`t`t<customErrors mode=`"Off`"/>`n`t</system.web>") | Set-Content c:\projects\phpbb\phpBB\web.config
|
||||||
|
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
1. [Create an account on phpBB.com](http://www.phpbb.com/community/ucp.php?mode=register)
|
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)
|
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)
|
3. Read our [Coding guidelines](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html) and [Git Contribution Guidelines](https://area51.phpbb.com/docs/dev/master/development/git.html)
|
||||||
4. Send us a pull request
|
4. Send us a pull request
|
||||||
|
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,9 +1,9 @@
|
|||||||
Checklist:
|
Checklist:
|
||||||
|
|
||||||
- [ ] Correct branch: master for new features; 3.2.x for fixes
|
- [ ] Correct branch: master for new features; 3.3.x & 3.2.x for fixes
|
||||||
- [ ] Tests pass
|
- [ ] Tests pass
|
||||||
- [ ] Code follows coding guidelines: [master](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html) and [3.2.x](https://area51.phpbb.com/docs/dev/3.2.x/development/coding_guidelines.html)
|
- [ ] Code follows coding guidelines: [master](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html), [3.3.x](https://area51.phpbb.com/docs/dev/3.3.x/development/coding_guidelines.html) and [3.2.x](https://area51.phpbb.com/docs/dev/3.2.x/development/coding_guidelines.html)
|
||||||
- [ ] Commit follows commit message [format](https://area51.phpbb.com/docs/dev/3.2.x/development/git.html)
|
- [ ] Commit follows commit message [format](https://area51.phpbb.com/docs/dev/3.3.x/development/git.html)
|
||||||
|
|
||||||
Tracker ticket (set the ticket ID to **your ticket ID**):
|
Tracker ticket (set the ticket ID to **your ticket ID**):
|
||||||
|
|
||||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@@ -16,7 +16,11 @@
|
|||||||
/phpBB/store/*
|
/phpBB/store/*
|
||||||
/phpBB/styles/*
|
/phpBB/styles/*
|
||||||
!/phpBB/styles/prosilver
|
!/phpBB/styles/prosilver
|
||||||
|
/phpBB/styles/prosilver/theme/*/
|
||||||
|
!/phpBB/styles/prosilver/theme/en
|
||||||
|
!/phpBB/styles/prosilver/theme/images
|
||||||
!/phpBB/styles/all
|
!/phpBB/styles/all
|
||||||
|
node_modules
|
||||||
/phpBB/vendor
|
/phpBB/vendor
|
||||||
/tests/phpbb_unit_tests.sqlite*
|
/tests/phpbb_unit_tests.sqlite*
|
||||||
/tests/test_config*.php
|
/tests/test_config*.php
|
||||||
@@ -24,3 +28,5 @@
|
|||||||
/tests/vendor
|
/tests/vendor
|
||||||
/vagrant/phpbb-install-config.yml
|
/vagrant/phpbb-install-config.yml
|
||||||
.vagrant
|
.vagrant
|
||||||
|
.idea
|
||||||
|
*.DS_Store*
|
||||||
|
45
.travis.yml
45
.travis.yml
@@ -1,32 +1,26 @@
|
|||||||
language: php
|
language: php
|
||||||
dist: trusty
|
dist: xenial
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- php: 5.4
|
|
||||||
env: DB=none;NOTESTS=1
|
|
||||||
- php: 5.4
|
|
||||||
env: DB=mysqli # MyISAM
|
|
||||||
- php: 5.4
|
|
||||||
env: DB=mysql
|
|
||||||
- php: 5.4
|
|
||||||
env: DB=mariadb
|
|
||||||
- php: 5.4
|
|
||||||
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: 7.1
|
- php: 7.1
|
||||||
env: DB=mysqli
|
env: DB=none;NOTESTS=1
|
||||||
|
- php: 7.1
|
||||||
|
env: DB=mariadb
|
||||||
|
- php: 7.1
|
||||||
|
env: DB=postgres
|
||||||
|
- php: 7.1
|
||||||
|
env: DB=sqlite3
|
||||||
|
- php: 7.1
|
||||||
|
env: DB=mysqli;SLOWTESTS=1
|
||||||
|
- php: 7.1
|
||||||
|
env: DB=mysqli # MyISAM
|
||||||
- php: 7.2
|
- php: 7.2
|
||||||
env: DB=mysqli
|
env: DB=mysqli
|
||||||
|
- php: 7.3
|
||||||
|
env: DB=mysqli
|
||||||
|
- php: 7.4
|
||||||
|
env: DB=mysqli
|
||||||
- php: nightly
|
- php: nightly
|
||||||
env: DB=mysqli
|
env: DB=mysqli
|
||||||
allow_failures:
|
allow_failures:
|
||||||
@@ -35,17 +29,20 @@ matrix:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
- redis-server
|
- redis-server
|
||||||
|
- postgresql
|
||||||
|
- mysql
|
||||||
|
- memcached
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
- travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
||||||
- phantomjs --webdriver=8910 > /dev/null &
|
- travis/setup-ldap.sh $SLOWTESTS
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
- travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
||||||
- travis/check-sami-parse-errors.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
- travis/check-doctum-parse-errors.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
||||||
- travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
- travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION $NOTESTS
|
||||||
- travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION $NOTESTS ./
|
- travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION $NOTESTS ./
|
||||||
- sh -c "if [ '$SLOWTESTS' != '1' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/phpunit tests/lint_test.php; fi"
|
- sh -c "if [ '$SLOWTESTS' != '1' -a '$DB' = 'mysqli' ]; then phpBB/vendor/bin/phpunit tests/lint_test.php; fi"
|
||||||
|
56
README.md
56
README.md
@@ -1,42 +1,48 @@
|
|||||||
[](http://www.phpbb.com)
|
[](https://www.phpbb.com)
|
||||||
|
|
||||||
## ABOUT
|
|
||||||
|
|
||||||
phpBB is a free open-source bulletin board written in PHP.
|
phpBB is a free open-source bulletin board written in PHP.
|
||||||
|
|
||||||
## COMMUNITY
|
## 🧑🏻🤝🏻🧑🏽 Community
|
||||||
|
|
||||||
Get your copy of phpBB, find support and lots more on [phpBB.com](http://www.phpbb.com)! Discuss the development on [area51](http://area51.phpbb.com/phpBB/index.php).
|
Get your copy of phpBB, find support and lots more on [phpBB.com](https://www.phpbb.com). Discuss the development on [area51](https://area51.phpbb.com/phpBB/index.php).
|
||||||
|
|
||||||
## INSTALLING DEPENDENCIES
|
## 👨💻 Contribute
|
||||||
|
|
||||||
To be able to run an installation from the repo (and not from a pre-built package) you need to run the following commands to install phpBB's dependencies.
|
1. [Create an account on phpBB.com](https://www.phpbb.com/community/ucp.php?mode=register)
|
||||||
|
2. [Create a ticket (unless there already is one)](https://tracker.phpbb.com/secure/CreateIssue!default.jspa)
|
||||||
cd phpBB
|
|
||||||
php ../composer.phar install
|
|
||||||
|
|
||||||
|
|
||||||
## 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://area51.phpbb.com/docs/dev/development/coding_guidelines.html) and [Git Contribution Guidelines](https://area51.phpbb.com/docs/dev/development/git.html)
|
3. Read our [Coding guidelines](https://area51.phpbb.com/docs/dev/development/coding_guidelines.html) and [Git Contribution Guidelines](https://area51.phpbb.com/docs/dev/development/git.html)
|
||||||
4. Send us a pull request
|
4. Send us a pull request
|
||||||
|
|
||||||
## VAGRANT
|
### 🏗️ Setting up a development build of phpBB
|
||||||
|
|
||||||
Read our [Vagrant documentation](phpBB/docs/vagrant.md) to find out how to use Vagrant to develop and contribute to phpBB.
|
To run an installation from the repo (and not from a pre-built package) on a local server, run the following commands:
|
||||||
|
|
||||||
## AUTOMATED TESTING
|
- Fork phpbb/phpbb to your GitHub account, then create a local clone of it:
|
||||||
|
```
|
||||||
|
git clone https://github.com/your_github_name/phpbb.git
|
||||||
|
```
|
||||||
|
- Install phpBB's dependencies (from the root of your phpbb repo):
|
||||||
|
```
|
||||||
|
cd phpBB
|
||||||
|
php ../composer.phar install
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, you can read our [Vagrant documentation](phpBB/docs/vagrant.md) to find out how to use Vagrant to develop and contribute to phpBB.
|
||||||
|
|
||||||
|
## 📓 Documentation
|
||||||
|
|
||||||
|
phpBB's [Development Documentation](https://area51.phpbb.com/docs/dev/index.html) contains all the information you'll need to learn about developing for phpBB's core, extensions and automated testing.
|
||||||
|
|
||||||
|
## 🔬 Automated Testing
|
||||||
|
|
||||||
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](https://bamboo.phpbb.com) or check our travis builds below:
|
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](https://bamboo.phpbb.com) or check our travis builds below:
|
||||||
|
|
||||||
Travis CI | AppVeyor | Branch | Description
|
Branch | Description | Travis CI | AppVeyor
|
||||||
---------- | -------- | ------- | -----------
|
------- | ----------- | ---------- | --------
|
||||||
[](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/master) | **master** | Latest development version
|
**master** | Latest development version | [](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/master)
|
||||||
[](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.3.x) | **3.3.x** | Development of version 3.3.x
|
**3.3.x** | Development of version 3.3.x | [](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.3.x)
|
||||||
[](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.2.x) | **3.2.x** | Development of version 3.2.x
|
**3.2.x** | Development of version 3.2.x | [](http://travis-ci.org/phpbb/phpbb) | [](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.2.x)
|
||||||
|
|
||||||
## LICENSE
|
## 📜 License
|
||||||
|
|
||||||
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)
|
[GNU General Public License v2](http://opensource.org/licenses/gpl-2.0.php)
|
||||||
|
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||||
<!-- a few settings for the build -->
|
<!-- a few settings for the build -->
|
||||||
<property name="newversion" value="3.2.9" />
|
<property name="newversion" value="3.3.2-RC1" />
|
||||||
<property name="prevversion" value="3.2.8" />
|
<property name="prevversion" value="3.3.1" />
|
||||||
<property name="olderversions" value="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.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.9-RC1" />
|
<property name="olderversions" value="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.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.3.0" />
|
||||||
<!-- no configuration should be needed beyond this point -->
|
<!-- no configuration should be needed beyond this point -->
|
||||||
|
|
||||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||||
@@ -81,28 +81,36 @@
|
|||||||
--ignore=${project.basedir}/phpBB/phpbb/db/migration/data/v30x/*
|
--ignore=${project.basedir}/phpBB/phpbb/db/migration/data/v30x/*
|
||||||
phpBB/phpbb"
|
phpBB/phpbb"
|
||||||
dir="." returnProperty="retval-php-strict" passthru="true" />
|
dir="." returnProperty="retval-php-strict" passthru="true" />
|
||||||
|
<php function="preg_replace" returnProperty="sniffIgnoreList">
|
||||||
|
<param value="/\s+/"/>
|
||||||
|
<param value=""/>
|
||||||
|
<param value="${project.basedir}/phpBB/cache/*,
|
||||||
|
${project.basedir}/phpBB/develop/*,
|
||||||
|
${project.basedir}/phpBB/ext/*,
|
||||||
|
${project.basedir}/phpBB/includes/diff/*.php,
|
||||||
|
${project.basedir}/phpBB/includes/sphinxapi.php,
|
||||||
|
${project.basedir}/phpBB/includes/utf/data/*,
|
||||||
|
${project.basedir}/phpBB/install/data/*,
|
||||||
|
${project.basedir}/phpBB/install/database_update.php,
|
||||||
|
${project.basedir}/phpBB/phpbb/*,
|
||||||
|
${project.basedir}/phpBB/vendor/*,
|
||||||
|
${project.basedir}/phpBB/vendor-ext/*,
|
||||||
|
${project.basedir}/phpBB/config.php,
|
||||||
|
${project.basedir}/phpBB/config_dev.php,
|
||||||
|
${project.basedir}/phpBB/config_test.php"/>
|
||||||
|
</php>
|
||||||
<exec command="phpBB/vendor/bin/phpcs
|
<exec command="phpBB/vendor/bin/phpcs
|
||||||
-s -p
|
-s -p
|
||||||
--extensions=php
|
--extensions=php
|
||||||
--standard=build/code_sniffer/ruleset-php-legacy-core.xml
|
--standard=build/code_sniffer/ruleset-php-legacy-core.xml
|
||||||
--ignore=${project.basedir}/phpBB/cache/*
|
--ignore=${sniffIgnoreList}
|
||||||
--ignore=${project.basedir}/phpBB/develop/*
|
|
||||||
--ignore=${project.basedir}/phpBB/ext/*
|
|
||||||
--ignore=${project.basedir}/phpBB/includes/diff/*.php
|
|
||||||
--ignore=${project.basedir}/phpBB/includes/sphinxapi.php
|
|
||||||
--ignore=${project.basedir}/phpBB/includes/utf/data/*
|
|
||||||
--ignore=${project.basedir}/phpBB/install/data/*
|
|
||||||
--ignore=${project.basedir}/phpBB/install/database_update.php
|
|
||||||
--ignore=${project.basedir}/phpBB/phpbb/*
|
|
||||||
--ignore=${project.basedir}/phpBB/vendor/*
|
|
||||||
phpBB"
|
phpBB"
|
||||||
dir="." returnProperty="retval-php-legacy" passthru="true" />
|
dir="." returnProperty="retval-php-legacy" passthru="true" />
|
||||||
<exec command="phpBB/vendor/bin/phpcs
|
<exec command="phpBB/vendor/bin/phpcs
|
||||||
-s -p
|
-s -p
|
||||||
--extensions=php
|
--extensions=php
|
||||||
--standard=build/code_sniffer/ruleset-php-extensions.xml
|
--standard=build/code_sniffer/ruleset-php-extensions.xml
|
||||||
--ignore=${project.basedir}/phpBB/ext/*/tests/*
|
--ignore=${project.basedir}/phpBB/ext/*/tests/*,${project.basedir}/phpBB/ext/*/vendor/*
|
||||||
--ignore=${project.basedir}/phpBB/ext/*/vendor/*
|
|
||||||
phpBB/ext"
|
phpBB/ext"
|
||||||
dir="." returnProperty="retval-php-ext" passthru="true" />
|
dir="." returnProperty="retval-php-ext" passthru="true" />
|
||||||
<if>
|
<if>
|
||||||
@@ -120,13 +128,13 @@
|
|||||||
<!-- Builds docs for current branch into build/api/output/master -->
|
<!-- Builds docs for current branch into build/api/output/master -->
|
||||||
<target name="docs">
|
<target name="docs">
|
||||||
<exec dir="."
|
<exec dir="."
|
||||||
command="phpBB/vendor/bin/sami.php update build/sami-checkout.conf.php"
|
command="php doctum.phar update build/doctum-checkout.conf.php"
|
||||||
passthru="true" />
|
passthru="true" />
|
||||||
</target>
|
</target>
|
||||||
<!-- Builds docs for multiple branches/tags into build/api/output/$branch -->
|
<!-- Builds docs for multiple branches/tags into build/api/output/$branch -->
|
||||||
<target name="docs-all">
|
<target name="docs-all">
|
||||||
<exec dir="."
|
<exec dir="."
|
||||||
command="phpBB/vendor/bin/sami.php update build/sami-all.conf.php"
|
command="php doctum.phar update build/doctum-all.conf.php"
|
||||||
passthru="true" />
|
passthru="true" />
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
#!/usr/bin/env php
|
#!/usr/bin/env php
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* This file is part of the phpBB Forum Software package.
|
* This file is part of the phpBB Forum Software package.
|
||||||
*
|
*
|
||||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||||
*
|
*
|
||||||
* For full copyright and license information, please see
|
* For full copyright and license information, please see
|
||||||
* the docs/CREDITS.txt file.
|
* the docs/CREDITS.txt file.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($_SERVER['argc'] != 2)
|
if ($_SERVER['argc'] != 2)
|
||||||
{
|
{
|
||||||
@@ -18,21 +18,31 @@ if ($_SERVER['argc'] != 2)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fixVersion = $_SERVER['argv'][1];
|
if ($_SERVER['argv'][1] == '--stdin')
|
||||||
|
{
|
||||||
|
$stdIn = file_get_contents('php://stdin');
|
||||||
|
// XML output from tracker can be directly piped to this script using:
|
||||||
|
// cat tracker_output.xml | php build/build_changelog.php --stdin
|
||||||
|
$xml = simplexml_load_string($stdIn);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fixVersion = $_SERVER['argv'][1];
|
||||||
|
|
||||||
$query = 'project IN (PHPBB3, SECURITY)
|
$query = 'project IN (PHPBB3, SECURITY)
|
||||||
AND resolution = Fixed
|
AND resolution = Fixed
|
||||||
AND fixVersion = "' . $fixVersion . '"
|
AND fixVersion = "' . $fixVersion . '"
|
||||||
AND status IN ("Unverified Fix", Closed)';
|
AND status IN ("Unverified Fix", Closed)';
|
||||||
|
|
||||||
$url = 'http://tracker.phpbb.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=' . urlencode($query) . '&tempMax=1000';
|
$url = 'https://tracker.phpbb.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=' . urlencode($query) . '&tempMax=1000';
|
||||||
$xml = simplexml_load_string(file_get_contents($url));
|
$xml = simplexml_load_string(file_get_contents($url));
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($xml->xpath('//item') as $item)
|
foreach ($xml->xpath('//item') as $item)
|
||||||
{
|
{
|
||||||
$key = (string) $item->key;
|
$key = (string) $item->key;
|
||||||
|
|
||||||
$keyUrl = 'http://tracker.phpbb.com/browse/' . $key;
|
$keyUrl = 'https://tracker.phpbb.com/browse/' . $key;
|
||||||
$keyLink = '<a href="' . $keyUrl . '">' . $key . '</a>';
|
$keyLink = '<a href="' . $keyUrl . '">' . $key . '</a>';
|
||||||
|
|
||||||
$value = str_replace($key, $keyLink, htmlspecialchars($item->title));
|
$value = str_replace($key, $keyLink, htmlspecialchars($item->title));
|
||||||
|
@@ -11,6 +11,9 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PHP_CodeSniffer\Files\File;
|
||||||
|
use PHP_CodeSniffer\Sniffs\Sniff;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that each PHP source file contains a valid header as defined by the
|
* Checks that each PHP source file contains a valid header as defined by the
|
||||||
* phpBB Coding Guidelines.
|
* phpBB Coding Guidelines.
|
||||||
@@ -18,7 +21,7 @@
|
|||||||
* @package code_sniffer
|
* @package code_sniffer
|
||||||
* @author Manuel Pichler <mapi@phpundercontrol.org>
|
* @author Manuel Pichler <mapi@phpundercontrol.org>
|
||||||
*/
|
*/
|
||||||
class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
class phpbb_Sniffs_Commenting_FileCommentSniff implements Sniff
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Returns an array of tokens this test wants to listen for.
|
* Returns an array of tokens this test wants to listen for.
|
||||||
@@ -33,13 +36,13 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
/**
|
/**
|
||||||
* Processes this test, when one of its tokens is encountered.
|
* Processes this test, when one of its tokens is encountered.
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
* @param File $phpcsFile The file being scanned.
|
||||||
* @param int $stackPtr The position of the current token
|
* @param int $stackPtr The position of the current token
|
||||||
* in the stack passed in $tokens.
|
* in the stack passed in $tokens.
|
||||||
*
|
*
|
||||||
* @return null
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
public function process(File $phpcsFile, $stackPtr): void
|
||||||
{
|
{
|
||||||
// We are only interested in the first file comment.
|
// We are only interested in the first file comment.
|
||||||
if ($stackPtr !== 0)
|
if ($stackPtr !== 0)
|
||||||
@@ -62,7 +65,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
// Mark as error if this is not a doc comment
|
// Mark as error if this is not a doc comment
|
||||||
else if ($start === false || $tokens[$start]['code'] !== T_DOC_COMMENT_OPEN_TAG)
|
else if ($start === false || $tokens[$start]['code'] !== T_DOC_COMMENT_OPEN_TAG)
|
||||||
{
|
{
|
||||||
$phpcsFile->addError('Missing required file doc comment.', $stackPtr);
|
$phpcsFile->addError('Missing required file doc comment.', $stackPtr, 'MissingComment');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +85,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if ($tokens[$token]['column'] === 1 && (($tokens[$token]['content'] !== '*' && $tokens[$token]['content'] !== ' ') || ($tokens[$token]['content'] === ' ' && $tokens[$token + 1]['content'] !== '*')))
|
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 indented.';
|
$message = 'The file doc comment should not be indented.';
|
||||||
$phpcsFile->addWarning($message, $token);
|
$phpcsFile->addWarning($message, $token, 'CommentIndented');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,13 +98,13 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if (!(($tokens[$start + 2]['content'] !== '*' && $tokens[$start + 4]['content'] !== '*') || ($tokens[$start + 3]['content'] !== '*' && $tokens[$start + 6]['content'] !== '*')))
|
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.';
|
$message = 'The first file comment line should be empty.';
|
||||||
$phpcsFile->addWarning($message, ($start + 1));
|
$phpcsFile->addWarning($message, ($start + 1), 'CommentFirstNotEmpty');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($tokens[$end - 3]['content'] !== '*' && $tokens[$end - 6]['content'] !== '*')
|
if ($tokens[$end - 3]['content'] !== '*' && $tokens[$end - 6]['content'] !== '*')
|
||||||
{
|
{
|
||||||
$message = 'The last file comment line should be empty.';
|
$message = 'The last file comment line should be empty.';
|
||||||
$phpcsFile->addWarning($message, $end - 1);
|
$phpcsFile->addWarning($message, $end - 1, 'CommentLastNotEmpty');
|
||||||
}
|
}
|
||||||
|
|
||||||
//$this->processPackage($phpcsFile, $start, $tags);
|
//$this->processPackage($phpcsFile, $start, $tags);
|
||||||
@@ -113,59 +116,59 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
/**
|
/**
|
||||||
* Checks that the tags array contains a valid package tag
|
* Checks that the tags array contains a valid package tag
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
|
* @param File $phpcsFile The context source file instance.
|
||||||
* @param integer The stack pointer for the first comment token.
|
* @param integer The stack pointer for the first comment token.
|
||||||
* @param array(string=>array) $tags The found file doc comment tags.
|
* @param array(string=>array) $tags The found file doc comment tags.
|
||||||
*
|
*
|
||||||
* @return null
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function processPackage(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
protected function processPackage(File $phpcsFile, $ptr, $tags): void
|
||||||
{
|
{
|
||||||
if (!isset($tags['package']))
|
if (!isset($tags['package']))
|
||||||
{
|
{
|
||||||
$message = 'Missing require @package tag in file doc comment.';
|
$message = 'Missing require @package tag in file doc comment.';
|
||||||
$phpcsFile->addError($message, $ptr);
|
$phpcsFile->addError($message, $ptr, 'MissingTagPackage');
|
||||||
}
|
}
|
||||||
else if (preg_match('/^([\w]+)$/', $tags['package'][0]) === 0)
|
else if (preg_match('/^([\w]+)$/', $tags['package'][0]) === 0)
|
||||||
{
|
{
|
||||||
$message = 'Invalid content found for @package tag.';
|
$message = 'Invalid content found for @package tag.';
|
||||||
$phpcsFile->addWarning($message, $tags['package'][1]);
|
$phpcsFile->addWarning($message, $tags['package'][1], 'InvalidTagPackage');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that the tags array contains a valid version tag
|
* Checks that the tags array contains a valid version tag
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
|
* @param File $phpcsFile The context source file instance.
|
||||||
* @param integer The stack pointer for the first comment token.
|
* @param integer The stack pointer for the first comment token.
|
||||||
* @param array(string=>array) $tags The found file doc comment tags.
|
* @param array(string=>array) $tags The found file doc comment tags.
|
||||||
*
|
*
|
||||||
* @return null
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function processVersion(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
protected function processVersion(File $phpcsFile, $ptr, $tags): void
|
||||||
{
|
{
|
||||||
if (!isset($tags['version']))
|
if (!isset($tags['version']))
|
||||||
{
|
{
|
||||||
$message = 'Missing require @version tag in file doc comment.';
|
$message = 'Missing require @version tag in file doc comment.';
|
||||||
$phpcsFile->addError($message, $ptr);
|
$phpcsFile->addError($message, $ptr, 'MissingTagVersion');
|
||||||
}
|
}
|
||||||
else if (preg_match('/^\$Id:[^\$]+\$$/', $tags['version'][0]) === 0)
|
else if (preg_match('/^\$Id:[^\$]+\$$/', $tags['version'][0]) === 0)
|
||||||
{
|
{
|
||||||
$message = 'Invalid content found for @version tag, use "$Id: $".';
|
$message = 'Invalid content found for @version tag, use "$Id: $".';
|
||||||
$phpcsFile->addError($message, $tags['version'][1]);
|
$phpcsFile->addError($message, $tags['version'][1], 'InvalidTagVersion');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that the tags array contains a valid copyright tag
|
* Checks that the tags array contains a valid copyright tag
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
|
* @param File $phpcsFile The context source file instance.
|
||||||
* @param integer The stack pointer for the first comment token.
|
* @param integer The stack pointer for the first comment token.
|
||||||
* @param array(string=>array) $tags The found file doc comment tags.
|
* @param array(string=>array) $tags The found file doc comment tags.
|
||||||
*
|
*
|
||||||
* @return null
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
protected function processCopyright(File $phpcsFile, $ptr, $tags): void
|
||||||
{
|
{
|
||||||
$copyright = '(c) phpBB Limited <https://www.phpbb.com>';
|
$copyright = '(c) phpBB Limited <https://www.phpbb.com>';
|
||||||
$tokens = $phpcsFile->getTokens();
|
$tokens = $phpcsFile->getTokens();
|
||||||
@@ -177,7 +180,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if ($tokens[$tag + 2]['content'] !== $copyright)
|
if ($tokens[$tag + 2]['content'] !== $copyright)
|
||||||
{
|
{
|
||||||
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
|
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
|
||||||
$phpcsFile->addError($message, $tags['copyright'][0][1]);
|
$phpcsFile->addError($message, $tags['copyright'][0][1], 'InvalidTagCopyright');
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -185,19 +188,19 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
}
|
}
|
||||||
|
|
||||||
$message = 'Missing require @copyright tag in file doc comment.';
|
$message = 'Missing require @copyright tag in file doc comment.';
|
||||||
$phpcsFile->addError($message, $ptr);
|
$phpcsFile->addError($message, $ptr, 'MissingTagCopyright');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that the tags array contains a valid license tag
|
* Checks that the tags array contains a valid license tag
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
|
* @param File $phpcsFile The context source file instance.
|
||||||
* @param integer The stack pointer for the first comment token.
|
* @param integer The stack pointer for the first comment token.
|
||||||
* @param array(string=>array) $tags The found file doc comment tags.
|
* @param array(string=>array) $tags The found file doc comment tags.
|
||||||
*
|
*
|
||||||
* @return null
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
|
protected function processLicense(File $phpcsFile, $ptr, $tags): void
|
||||||
{
|
{
|
||||||
$license = 'GNU General Public License, version 2 (GPL-2.0)';
|
$license = 'GNU General Public License, version 2 (GPL-2.0)';
|
||||||
$tokens = $phpcsFile->getTokens();
|
$tokens = $phpcsFile->getTokens();
|
||||||
@@ -210,7 +213,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if ($found)
|
if ($found)
|
||||||
{
|
{
|
||||||
$message = 'It must be only one @license tag in file doc comment.';
|
$message = 'It must be only one @license tag in file doc comment.';
|
||||||
$phpcsFile->addError($message, $ptr);
|
$phpcsFile->addError($message, $ptr, 'MultiTagVersion');
|
||||||
}
|
}
|
||||||
|
|
||||||
$found = true;
|
$found = true;
|
||||||
@@ -218,7 +221,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if ($tokens[$tag + 2]['content'] !== $license)
|
if ($tokens[$tag + 2]['content'] !== $license)
|
||||||
{
|
{
|
||||||
$message = 'Invalid content found for @license tag, use "' . $license . '".';
|
$message = 'Invalid content found for @license tag, use "' . $license . '".';
|
||||||
$phpcsFile->addError($message, $tags['license'][0][1]);
|
$phpcsFile->addError($message, $tags['license'][0][1], 'InvalidTagLicense');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -226,7 +229,7 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
|||||||
if (!$found)
|
if (!$found)
|
||||||
{
|
{
|
||||||
$message = 'Missing require @license tag in file doc comment.';
|
$message = 'Missing require @license tag in file doc comment.';
|
||||||
$phpcsFile->addError($message, $ptr);
|
$phpcsFile->addError($message, $ptr, 'MissingTagLicense');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -11,11 +11,14 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PHP_CodeSniffer\Files\File;
|
||||||
|
use PHP_CodeSniffer\Sniffs\Sniff;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that the opening brace of a control structures is on the line after.
|
* Checks that the opening brace of a control structures is on the line after.
|
||||||
* From Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff
|
* From Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff
|
||||||
*/
|
*/
|
||||||
class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements PHP_CodeSniffer_Sniff
|
class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements Sniff
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Registers the tokens that this sniff wants to listen for.
|
* Registers the tokens that this sniff wants to listen for.
|
||||||
@@ -36,13 +39,13 @@ class phpbb_Sniffs_ControlStructures_OpeningBraceBsdAllmanSniff implements PHP_C
|
|||||||
/**
|
/**
|
||||||
* Processes this test, when one of its tokens is encountered.
|
* Processes this test, when one of its tokens is encountered.
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
* @param File $phpcsFile The file being scanned.
|
||||||
* @param int $stackPtr The position of the current token in the
|
* @param int $stackPtr The position of the current token in the
|
||||||
* stack passed in $tokens.
|
* stack passed in $tokens.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
public function process(File $phpcsFile, $stackPtr)
|
||||||
{
|
{
|
||||||
$tokens = $phpcsFile->getTokens();
|
$tokens = $phpcsFile->getTokens();
|
||||||
|
|
||||||
|
@@ -11,11 +11,14 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PHP_CodeSniffer\Files\File;
|
||||||
|
use PHP_CodeSniffer\Sniffs\Sniff;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that there is exactly one space between the keyword and the opening
|
* Checks that there is exactly one space between the keyword and the opening
|
||||||
* parenthesis of a control structures.
|
* parenthesis of a control structures.
|
||||||
*/
|
*/
|
||||||
class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements PHP_CodeSniffer_Sniff
|
class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements Sniff
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Registers the tokens that this sniff wants to listen for.
|
* Registers the tokens that this sniff wants to listen for.
|
||||||
@@ -36,13 +39,13 @@ class phpbb_Sniffs_ControlStructures_OpeningParenthesisSniff implements PHP_Code
|
|||||||
/**
|
/**
|
||||||
* Processes this test, when one of its tokens is encountered.
|
* Processes this test, when one of its tokens is encountered.
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
* @param File $phpcsFile The file being scanned.
|
||||||
* @param int $stackPtr The position of the current token in the
|
* @param int $stackPtr The position of the current token in the
|
||||||
* stack passed in $tokens.
|
* stack passed in $tokens.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
public function process(File $phpcsFile, $stackPtr)
|
||||||
{
|
{
|
||||||
$tokens = $phpcsFile->getTokens();
|
$tokens = $phpcsFile->getTokens();
|
||||||
|
|
||||||
|
@@ -11,10 +11,13 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use PHP_CodeSniffer\Files\File;
|
||||||
|
use PHP_CodeSniffer\Sniffs\Sniff;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that each use statement is used.
|
* Checks that each use statement is used.
|
||||||
*/
|
*/
|
||||||
class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
class phpbb_Sniffs_Namespaces_UnusedUseSniff implements Sniff
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
@@ -24,7 +27,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
|||||||
return array(T_USE);
|
return array(T_USE);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function check($phpcsFile, $found_name, $full_name, $short_name, $line)
|
protected function check(File $phpcsFile, $found_name, $full_name, $short_name, $line)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($found_name === $full_name)
|
if ($found_name === $full_name)
|
||||||
@@ -44,7 +47,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
public function process(File $phpcsFile, $stackPtr)
|
||||||
{
|
{
|
||||||
if ($this->should_ignore_use($phpcsFile, $stackPtr) === true)
|
if ($this->should_ignore_use($phpcsFile, $stackPtr) === true)
|
||||||
{
|
{
|
||||||
@@ -179,13 +182,13 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
|||||||
/**
|
/**
|
||||||
* Check if this use statement is part of the namespace block.
|
* Check if this use statement is part of the namespace block.
|
||||||
*
|
*
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
|
* @param File $phpcsFile The file being scanned.
|
||||||
* @param int $stackPtr The position of the current token in
|
* @param int $stackPtr The position of the current token in
|
||||||
* the stack passed in $tokens.
|
* the stack passed in $tokens.
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
private function should_ignore_use(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
|
private function should_ignore_use(File $phpcsFile, $stackPtr)
|
||||||
{
|
{
|
||||||
$tokens = $phpcsFile->getTokens();
|
$tokens = $phpcsFile->getTokens();
|
||||||
|
|
||||||
@@ -207,7 +210,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param PHP_CodeSniffer_File $phpcsFile
|
* @param File $phpcsFile
|
||||||
* @param int $field
|
* @param int $field
|
||||||
* @param array $tokens
|
* @param array $tokens
|
||||||
* @param string $class_name_full
|
* @param string $class_name_full
|
||||||
@@ -216,7 +219,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
|||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
private function checkDocblock(PHP_CodeSniffer_File $phpcsFile, $comment_end, $tokens, $class_name_full, $class_name_short)
|
private function checkDocblock(File $phpcsFile, $comment_end, $tokens, $class_name_full, $class_name_short)
|
||||||
{
|
{
|
||||||
$ok = false;
|
$ok = false;
|
||||||
|
|
||||||
|
@@ -11,11 +11,11 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace phpbb\db;
|
require __DIR__ . '/doctum-checkout.conf.php';
|
||||||
|
|
||||||
/**
|
$config['versions'] = Doctum\Version\GitVersionCollection::create(__DIR__ . '/../')
|
||||||
* @deprecated 3.2.0-dev (To be removed 3.3.0) use \phpbb\db\tools\tools instead
|
->add('3.3.x')
|
||||||
*/
|
->add('master')
|
||||||
class tools extends \phpbb\db\tools\tools
|
;
|
||||||
{
|
|
||||||
}
|
return new Doctum\Doctum($iterator, $config);
|
31
build/doctum-checkout.conf.php
Normal file
31
build/doctum-checkout.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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
$iterator = Symfony\Component\Finder\Finder::create()
|
||||||
|
->files()
|
||||||
|
->name('*.php')
|
||||||
|
->in(__DIR__ . '/../phpBB/')
|
||||||
|
->notPath('#^cache/#')
|
||||||
|
->notPath('#^develop/#')
|
||||||
|
->notPath('#^ext/#')
|
||||||
|
->notPath('#^vendor/#')
|
||||||
|
->notPath('data');
|
||||||
|
|
||||||
|
// This variable will be used and changed in doctum-all.conf.php
|
||||||
|
$config = [
|
||||||
|
'title' => 'phpBB API Documentation',
|
||||||
|
'build_dir' => __DIR__ . '/api/output/%version%',
|
||||||
|
'cache_dir' => __DIR__ . '/api/cache/%version%',
|
||||||
|
];
|
||||||
|
|
||||||
|
return new Doctum\Doctum($iterator, $config);
|
@@ -1,32 +0,0 @@
|
|||||||
<?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('3.2.x')
|
|
||||||
->add('master')
|
|
||||||
;
|
|
||||||
|
|
||||||
return new Sami\Sami($iterator, $config);
|
|
@@ -1,44 +0,0 @@
|
|||||||
<?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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Prevent 'Class "acm" does not exist.' exception on removeClass().
|
|
||||||
class PhpbbArrayStore extends Sami\Store\ArrayStore
|
|
||||||
{
|
|
||||||
public function removeClass(Sami\Project $project, $name)
|
|
||||||
{
|
|
||||||
unset($this->classes[$name]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$iterator = Symfony\Component\Finder\Finder::create()
|
|
||||||
->files()
|
|
||||||
->name('*.php')
|
|
||||||
->in(__DIR__ . '/../phpBB/')
|
|
||||||
->notPath('#^cache/#')
|
|
||||||
->notPath('#^develop/#')
|
|
||||||
->notPath('#^ext/#')
|
|
||||||
->notPath('#^vendor/#')
|
|
||||||
->notPath('data')
|
|
||||||
;
|
|
||||||
|
|
||||||
$config = array(
|
|
||||||
'theme' => 'enhanced',
|
|
||||||
'title' => 'phpBB API Documentation',
|
|
||||||
'build_dir' => __DIR__.'/api/output/%version%',
|
|
||||||
'cache_dir' => __DIR__.'/api/cache/%version%',
|
|
||||||
'default_opened_level' => 2,
|
|
||||||
// Do not use JsonStore. See https://github.com/fabpot/Sami/issues/79
|
|
||||||
'store' => new PhpbbArrayStore,
|
|
||||||
);
|
|
||||||
|
|
||||||
return new Sami\Sami($iterator, $config);
|
|
54
build/update_stylesheet_querystrings.php
Normal file
54
build/update_stylesheet_querystrings.php
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (php_sapi_name() !== 'cli')
|
||||||
|
{
|
||||||
|
die("This program must be run from the command line.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (version_compare(PHP_VERSION, '7.1.3', '<'))
|
||||||
|
{
|
||||||
|
die('update_stylesheet_querystrings.php requires at least PHP 7.1.3');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Usage: "$ php build/update_stylesheet_querystrings.php"
|
||||||
|
$targets = [dirname(dirname(__FILE__)) . '/phpBB/styles/prosilver/theme/stylesheet.css'];
|
||||||
|
|
||||||
|
array_map('patch_glob', $targets);
|
||||||
|
|
||||||
|
function patch_glob($glob): void
|
||||||
|
{
|
||||||
|
array_map('patch_file', glob($glob));
|
||||||
|
}
|
||||||
|
|
||||||
|
function patch_file(string $filepath): void
|
||||||
|
{
|
||||||
|
$file = file_get_contents($filepath);
|
||||||
|
$old = $file;
|
||||||
|
$new = preg_replace_callback(
|
||||||
|
'(^@import\\s+url\\([\'"](?<basename>\\w++\\.css)\\?\\K(?:hash|v)=[^\'"]++)m',
|
||||||
|
function ($match) use ($filepath)
|
||||||
|
{
|
||||||
|
$path = dirname($filepath) . DIRECTORY_SEPARATOR . $match['basename'];
|
||||||
|
$hash = sprintf('%08x', crc32(file_get_contents($path)));
|
||||||
|
|
||||||
|
return 'hash=' . $hash;
|
||||||
|
},
|
||||||
|
$old
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($new !== $old)
|
||||||
|
{
|
||||||
|
file_put_contents($filepath, $new);
|
||||||
|
}
|
||||||
|
}
|
BIN
composer.phar
BIN
composer.phar
Binary file not shown.
BIN
doctum.phar
Normal file
BIN
doctum.phar
Normal file
Binary file not shown.
@@ -36,6 +36,13 @@ RewriteRule ^(.*)$ app.php [QSA,L]
|
|||||||
#Options +FollowSymLinks
|
#Options +FollowSymLinks
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
|
||||||
|
# Apache content negotation tries to interpret non-existent paths as files if
|
||||||
|
# MultiViews is enabled. This will however cause issues with paths containg
|
||||||
|
# dots, e.g. for the cron tasks
|
||||||
|
<IfModule mod_negotiation.c>
|
||||||
|
Options -MultiViews
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
|
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
|
||||||
# module mod_authz_host to a new module called mod_access_compat (which may be
|
# module mod_authz_host to a new module called mod_access_compat (which may be
|
||||||
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.
|
# disabled) and a new "Require" syntax has been introduced to mod_authz_host.
|
||||||
|
6
phpBB/adm/images/phpbb_logo.svg
Normal file
6
phpBB/adm/images/phpbb_logo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 33 KiB |
@@ -49,7 +49,6 @@ if (!$auth->acl_get('a_'))
|
|||||||
define('IN_ADMIN', true);
|
define('IN_ADMIN', true);
|
||||||
|
|
||||||
// Some oft used variables
|
// Some oft used variables
|
||||||
$safe_mode = (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
|
|
||||||
$file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
|
$file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
|
||||||
$module_id = $request->variable('i', '');
|
$module_id = $request->variable('i', '');
|
||||||
$mode = $request->variable('mode', '');
|
$mode = $request->variable('mode', '');
|
||||||
|
@@ -50,16 +50,21 @@
|
|||||||
<dl>
|
<dl>
|
||||||
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
<dt><label for="{options.KEY}">{options.TITLE}{L_COLON}</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
|
||||||
<dd>{options.CONTENT}</dd>
|
<dd>{options.CONTENT}</dd>
|
||||||
|
{% if (options.KEY == 'allow_attachments' and S_EMPTY_POST_GROUPS) or (options.KEY == 'allow_pm_attach' and S_EMPTY_PM_GROUPS) %}
|
||||||
|
<dd><span class="error">{{ lang(options.KEY == 'allow_attachments' ? 'NO_EXT_GROUP_ALLOWED_POST' : 'NO_EXT_GROUP_ALLOWED_PM', U_EXTENSION_GROUPS) }}</span></dd>
|
||||||
|
{% endif %}
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
<!-- END options -->
|
<!-- END options -->
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="submit-buttons">
|
<fieldset>
|
||||||
<legend>{L_SUBMIT}</legend>
|
<legend>{{ lang('ACP_SUBMIT_CHANGES') }}</legend>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<p class="submit-buttons">
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<!-- IF not S_SECURE_DOWNLOADS -->
|
<!-- IF not S_SECURE_DOWNLOADS -->
|
||||||
@@ -204,10 +209,13 @@
|
|||||||
<dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
|
<dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<p class="submit-buttons">
|
</fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<fieldset>
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
</p>
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
@@ -308,10 +316,14 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p class="submit-buttons">
|
</fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<fieldset>
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
</p>
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
|
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
@@ -382,10 +394,13 @@
|
|||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
<!-- IF .orphan -->
|
<!-- IF .orphan -->
|
||||||
<p class="submit-buttons">
|
</fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<fieldset>
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
</p>
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<dl>
|
<dl>
|
||||||
<dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
|
<dt><label for="avatar_upload_file">{L_UPLOAD_AVATAR_FILE}{L_COLON}</label></dt>
|
||||||
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" /></dd>
|
<dd><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" /><input type="file" name="avatar_upload_file" id="avatar_upload_file" class="inputbox autowidth" accept="{{ AVATAR_ALLOWED_EXTENSIONS }}" /></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<!-- IF S_UPLOAD_AVATAR_URL -->
|
<!-- IF S_UPLOAD_AVATAR_URL -->
|
||||||
|
@@ -73,12 +73,14 @@
|
|||||||
<dt><label for="bangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
|
<dt><label for="bangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
|
||||||
<dd><input name="bangivereason" type="text" class="text medium" maxlength="255" id="bangivereason" /></dd>
|
<dd><input name="bangivereason" type="text" class="text medium" maxlength="255" id="bangivereason" /></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</fieldset>
|
||||||
<p class="submit-buttons">
|
<fieldset>
|
||||||
<input class="button1" type="submit" id="bansubmit" name="bansubmit" value="{L_SUBMIT}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="reset" id="banreset" name="banreset" value="{L_RESET}" />
|
<p class="submit-buttons">
|
||||||
</p>
|
<input class="button1" type="submit" id="bansubmit" name="bansubmit" value="{L_SUBMIT}" />
|
||||||
{S_FORM_TOKEN}
|
<input class="button2" type="reset" id="banreset" name="banreset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
<!-- INCLUDE acp_posting_buttons.html -->
|
<!-- INCLUDE acp_posting_buttons.html -->
|
||||||
|
|
||||||
<dl class="responsive-columns">
|
<dl class="responsive-columns">
|
||||||
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
|
<dt style="width: 90px;" id="color_palette_placeholder" data-color-palette="v" data-height="12" data-width="15" data-bbcode="true">
|
||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;">
|
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;">
|
||||||
@@ -66,9 +66,12 @@
|
|||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="submit-buttons">
|
<fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
@@ -76,12 +76,15 @@
|
|||||||
</select></dd>
|
</select></dd>
|
||||||
<dd><a href="#" onclick="selector(true); return false;">{L_SELECT_ALL}</a> :: <a href="#" onclick="selector(false); return false;">{L_DESELECT_ALL}</a></dd>
|
<dd><a href="#" onclick="selector(true); return false;">{L_SELECT_ALL}</a> :: <a href="#" onclick="selector(false); return false;">{L_DESELECT_ALL}</a></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<p class="submit-buttons">
|
<fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<p class="submit-buttons">
|
||||||
</p>
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
{S_FORM_TOKEN}
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@@ -1,40 +1,40 @@
|
|||||||
<!-- INCLUDE overall_header.html -->
|
{% INCLUDE 'overall_header.html' %}
|
||||||
|
|
||||||
<a id="maincontent"></a>
|
<a id="maincontent"></a>
|
||||||
|
|
||||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
<h1>{{ lang('EXTENSIONS_ADMIN') }}</h1>
|
||||||
|
|
||||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
<p>{{ lang('EXTENSIONS_EXPLAIN') }}</p>
|
||||||
<p>{L_EXTENSION_DELETE_DATA_EXPLAIN}</p>
|
<p>{{ lang('EXTENSION_DELETE_DATA_EXPLAIN') }}</p>
|
||||||
|
|
||||||
<!-- IF MIGRATOR_ERROR -->
|
{% if MIGRATOR_ERROR %}
|
||||||
<div class="errorbox">
|
|
||||||
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
|
|
||||||
<p>{MIGRATOR_ERROR}</p>
|
|
||||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
|
||||||
</div>
|
|
||||||
<!-- ELSEIF PRE -->
|
|
||||||
<div class="errorbox">
|
|
||||||
<p>{L_CONFIRM_MESSAGE}</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form id="acp_extensions" method="post" action="{U_PURGE}">
|
|
||||||
<fieldset class="submit-buttons">
|
|
||||||
<legend>{L_EXTENSION_DELETE_DATA}</legend>
|
|
||||||
<input class="button1" type="submit" name="delete_data" value="{L_EXTENSION_DELETE_DATA}" />
|
|
||||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
<!-- ELSEIF S_NEXT_STEP -->
|
|
||||||
<div class="errorbox">
|
<div class="errorbox">
|
||||||
<p>{L_EXTENSION_DELETE_DATA_IN_PROGRESS}</p>
|
<p><strong>{{ lang('MIGRATION_EXCEPTION_ERROR') }}</strong></p>
|
||||||
|
<p>{{ MIGRATOR_ERROR }}</p>
|
||||||
|
<p><a href="{{ U_RETURN }}">{{ lang('RETURN_TO_EXTENSION_LIST') }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ELSE -->
|
{% elseif S_PRE_STEP %}
|
||||||
<div class="successbox">
|
<div class="errorbox">
|
||||||
<p>{L_EXTENSION_DELETE_DATA_SUCCESS}</p>
|
<p>{{ CONFIRM_MESSAGE }}</p>
|
||||||
<br />
|
|
||||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- ENDIF -->
|
|
||||||
|
|
||||||
<!-- INCLUDE overall_footer.html -->
|
<form id="acp_extensions" method="post" action="{{ U_PURGE }}">
|
||||||
|
<fieldset class="submit-buttons">
|
||||||
|
<legend>{{ lang('EXTENSION_DELETE_DATA') }}</legend>
|
||||||
|
<input class="button1" type="submit" name="delete_data" value="{{ lang('EXTENSION_DELETE_DATA') }}">
|
||||||
|
<input class="button2" type="submit" name="cancel" value="{{ lang('CANCEL') }}">
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
{% elseif S_NEXT_STEP %}
|
||||||
|
<div class="errorbox">
|
||||||
|
<p>{{ lang('EXTENSION_DELETE_DATA_IN_PROGRESS') }}</p>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="successbox">
|
||||||
|
<p>{{ lang('EXTENSION_DELETE_DATA_SUCCESS') }}</p>
|
||||||
|
<br>
|
||||||
|
<p><a href="{{ U_RETURN }}">{{ lang('RETURN_TO_EXTENSION_LIST') }}</a></p>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% INCLUDE 'overall_footer.html' %}
|
||||||
|
@@ -1,34 +1,34 @@
|
|||||||
<!-- INCLUDE overall_header.html -->
|
{% INCLUDE 'overall_header.html' %}
|
||||||
|
|
||||||
<a id="maincontent"></a>
|
<a id="maincontent"></a>
|
||||||
|
|
||||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
<h1>{{ lang('EXTENSIONS_ADMIN') }}</h1>
|
||||||
|
|
||||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
<p>{{ lang('EXTENSIONS_EXPLAIN') }}</p>
|
||||||
<p>{L_EXTENSION_DISABLE_EXPLAIN}</p>
|
<p>{{ lang('EXTENSION_DISABLE_EXPLAIN') }}</p>
|
||||||
|
|
||||||
<!-- IF PRE -->
|
{% if S_PRE_STEP %}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<h2>{L_CONFIRM}</h2>
|
<h2>{{ lang('CONFIRM') }}</h2>
|
||||||
<p>{L_CONFIRM_MESSAGE}</p>
|
<p>{{ CONFIRM_MESSAGE }}</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<form id="acp_extensions" method="post" action="{U_DISABLE}">
|
<form id="acp_extensions" method="post" action="{{ U_DISABLE }}">
|
||||||
<fieldset class="submit-buttons">
|
<fieldset class="submit-buttons">
|
||||||
<input class="button1" type="submit" name="disable" value="{L_EXTENSION_DISABLE}" />
|
<input class="button1" type="submit" name="disable" value="{{ lang('EXTENSION_DISABLE') }}">
|
||||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
<input class="button2" type="submit" name="cancel" value="{{ lang('CANCEL') }}">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<!-- ELSEIF S_NEXT_STEP -->
|
{% elseif S_NEXT_STEP %}
|
||||||
<div class="successbox notice">
|
<div class="successbox notice">
|
||||||
<p>{L_EXTENSION_DISABLE_IN_PROGRESS}</p>
|
<p>{{ lang('EXTENSION_DISABLE_IN_PROGRESS') }}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ELSE -->
|
{% else %}
|
||||||
<div class="successbox">
|
<div class="successbox">
|
||||||
<p>{L_EXTENSION_DISABLE_SUCCESS}</p>
|
<p>{{ lang('EXTENSION_DISABLE_SUCCESS') }}</p>
|
||||||
<br />
|
<br>
|
||||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
<p><a href="{{ U_RETURN }}">{{ lang('RETURN_TO_EXTENSION_LIST') }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ENDIF -->
|
{% endif %}
|
||||||
|
|
||||||
<!-- INCLUDE overall_footer.html -->
|
{% INCLUDE 'overall_footer.html' %}
|
||||||
|
@@ -1,40 +1,40 @@
|
|||||||
<!-- INCLUDE overall_header.html -->
|
{% INCLUDE 'overall_header.html' %}
|
||||||
|
|
||||||
<a id="maincontent"></a>
|
<a id="maincontent"></a>
|
||||||
|
|
||||||
<h1>{L_EXTENSIONS_ADMIN}</h1>
|
<h1>{{ lang('EXTENSIONS_ADMIN') }}</h1>
|
||||||
|
|
||||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
<p>{{ lang('EXTENSIONS_EXPLAIN') }}</p>
|
||||||
<p>{L_EXTENSION_ENABLE_EXPLAIN}</p>
|
<p>{{ lang('EXTENSION_ENABLE_EXPLAIN') }}</p>
|
||||||
|
|
||||||
<!-- IF MIGRATOR_ERROR -->
|
{% if MIGRATOR_ERROR %}
|
||||||
<div class="errorbox">
|
<div class="errorbox">
|
||||||
<p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p>
|
<p><strong>{{ lang('MIGRATION_EXCEPTION_ERROR') }}</strong></p>
|
||||||
<p>{MIGRATOR_ERROR}</p>
|
<p>{{ MIGRATOR_ERROR }}</p>
|
||||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
<p><a href="{{ U_RETURN }}">{{ lang('RETURN_TO_EXTENSION_LIST') }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ELSEIF PRE -->
|
{% elseif S_PRE_STEP %}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<h2>{L_CONFIRM}</h2>
|
<h2>{{ lang('CONFIRM') }}</h2>
|
||||||
<p>{L_CONFIRM_MESSAGE}</p>
|
<p>{{ CONFIRM_MESSAGE }}</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<form id="acp_extensions" method="post" action="{U_ENABLE}">
|
<form id="acp_extensions" method="post" action="{{ U_ENABLE }}">
|
||||||
<fieldset class="submit-buttons">
|
<fieldset class="submit-buttons">
|
||||||
<input class="button1" type="submit" name="enable" value="{L_EXTENSION_ENABLE}" />
|
<input class="button1" type="submit" name="enable" value="{{ lang('EXTENSION_ENABLE') }}">
|
||||||
<input class="button2" type="submit" name="cancel" value="{L_CANCEL}" />
|
<input class="button2" type="submit" name="cancel" value="{{ lang('CANCEL') }}">
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<!-- ELSEIF S_NEXT_STEP -->
|
{% elseif S_NEXT_STEP %}
|
||||||
<div class="successbox notice">
|
<div class="successbox notice">
|
||||||
<p>{L_EXTENSION_ENABLE_IN_PROGRESS}</p>
|
<p>{{ lang('EXTENSION_ENABLE_IN_PROGRESS') }}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ELSE -->
|
{% else %}
|
||||||
<div class="successbox">
|
<div class="successbox">
|
||||||
<p>{L_EXTENSION_ENABLE_SUCCESS}</p>
|
<p>{{ lang('EXTENSION_ENABLE_SUCCESS') }}</p>
|
||||||
<br />
|
<br>
|
||||||
<p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p>
|
<p><a href="{{ U_RETURN }}">{{ lang('RETURN_TO_EXTENSION_LIST') }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
<!-- ENDIF -->
|
{% endif %}
|
||||||
|
|
||||||
<!-- INCLUDE overall_footer.html -->
|
{% INCLUDE 'overall_footer.html' %}
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
<p>{L_EXTENSIONS_EXPLAIN}</p>
|
||||||
|
|
||||||
<fieldset class="quick">
|
<fieldset class="quick">
|
||||||
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.2" 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>
|
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.3" 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>
|
</fieldset>
|
||||||
|
|
||||||
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">
|
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">
|
||||||
|
@@ -210,6 +210,11 @@
|
|||||||
<dd><label><input type="radio" class="radio" name="display_subforum_list" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
<dd><label><input type="radio" class="radio" name="display_subforum_list" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||||
<label><input type="radio" class="radio" name="display_subforum_list" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
<label><input type="radio" class="radio" name="display_subforum_list" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIST --> id="display_subforum_list" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt><label for="display_subforum_limit">{L_LIMIT_SUBFORUMS}{L_COLON}</label><br /><span>{L_LIMIT_SUBFORUMS_EXPLAIN}</span></dt>
|
||||||
|
<dd><label><input type="radio" class="radio" name="display_subforum_limit" value="1"<!-- IF S_DISPLAY_SUBFORUM_LIMIT --> id="display_subforum_limit" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||||
|
<label><input type="radio" class="radio" name="display_subforum_limit" value="0"<!-- IF not S_DISPLAY_SUBFORUM_LIMIT --> id="display_subforum_limit" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label for="display_on_index">{L_LIST_INDEX}{L_COLON}</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
<dt><label for="display_on_index">{L_LIST_INDEX}{L_COLON}</label><br /><span>{L_LIST_INDEX_EXPLAIN}</span></dt>
|
||||||
<dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
<dd><label><input type="radio" class="radio" name="display_on_index" value="1"<!-- IF S_DISPLAY_ON_INDEX --> id="display_on_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||||
|
@@ -100,7 +100,7 @@
|
|||||||
<input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" />
|
<input name="group_colour" type="text" id="group_colour" value="{GROUP_COLOUR}" size="6" maxlength="6" />
|
||||||
<!-- IF GROUP_COLOUR --> <span style="background-color: #{GROUP_COLOUR}"> </span><!-- ENDIF --> <span>
|
<!-- IF GROUP_COLOUR --> <span style="background-color: #{GROUP_COLOUR}"> </span><!-- ENDIF --> <span>
|
||||||
[ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]</span>
|
[ <a href="#" id="color_palette_toggle">{L_COLOUR_SWATCH}</a> ]</span>
|
||||||
<div id="color_palette_placeholder" style="display: none;" data-orientation="h" data-height="12" data-width="15" data-target="#group_colour"></div>
|
<div id="color_palette_placeholder" style="display: none;" data-color-palette="h" data-height="12" data-width="15" data-target="#group_colour"></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
|
@@ -15,13 +15,15 @@
|
|||||||
<label><input type="radio" name="legend_sort_groupname" class="radio" value="0"<!-- IF not LEGEND_SORT_GROUPNAME --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
<label><input type="radio" name="legend_sort_groupname" class="radio" value="0"<!-- IF not LEGEND_SORT_GROUPNAME --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
</fieldset>
|
||||||
<p class="submit-buttons">
|
<fieldset>
|
||||||
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="reset" name="reset" value="{L_RESET}" />
|
<p class="submit-buttons">
|
||||||
<input type="hidden" name="action" value="set_config_legend" />
|
<input class="button1" type="submit" name="update" value="{L_SUBMIT}" />
|
||||||
{S_FORM_TOKEN}
|
<input class="button2" type="reset" name="reset" value="{L_RESET}" />
|
||||||
</p>
|
<input type="hidden" name="action" value="set_config_legend" />
|
||||||
|
{S_FORM_TOKEN}
|
||||||
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
@@ -38,10 +38,13 @@
|
|||||||
<dd>{L_SEND_STATISTICS_LONG}</dd>
|
<dd>{L_SEND_STATISTICS_LONG}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
var statsData = {{ S_STATS_DATA }};
|
||||||
|
</script>
|
||||||
<!-- EVENT acp_help_phpbb_stats_after -->
|
<!-- EVENT acp_help_phpbb_stats_after -->
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<p class="submit-buttons">
|
<p class="submit-buttons">
|
||||||
<input type="hidden" name="systemdata" value="{RAW_DATA}" />
|
|
||||||
<input type="hidden" name="help_send_statistics_time" value="{COLLECT_STATS_TIME}" />
|
<input type="hidden" name="help_send_statistics_time" value="{COLLECT_STATS_TIME}" />
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
</p>
|
</p>
|
||||||
@@ -51,8 +54,13 @@
|
|||||||
</form>
|
</form>
|
||||||
<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form">
|
<form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<p class="submit-buttons">
|
<p class="submit-buttons">
|
||||||
<input type="hidden" name="systemdata" value="{RAW_DATA}" />
|
{% for providers in providers %}
|
||||||
|
{% for values in providers.values %}
|
||||||
|
<input type="hidden" name="{{ providers.NAME }}[{{ values.KEY }}]" value="{{ values.VALUE }}" />
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
<input class="button1" type="submit" id="submit_stats" name="submit" value="{L_SEND_STATISTICS}" />
|
<input class="button1" type="submit" id="submit_stats" name="submit" value="{L_SEND_STATISTICS}" />
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@@ -70,9 +70,12 @@
|
|||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="submit-buttons">
|
<fieldset>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
@@ -69,7 +69,7 @@
|
|||||||
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
|
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
|
||||||
|
|
||||||
<fieldset class="quick">
|
<fieldset class="quick">
|
||||||
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.2" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
|
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.3" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<table class="table1 zebra-table">
|
<table class="table1 zebra-table">
|
||||||
|
@@ -94,89 +94,116 @@
|
|||||||
|
|
||||||
<!-- EVENT acp_main_notice_after -->
|
<!-- EVENT acp_main_notice_after -->
|
||||||
|
|
||||||
<table class="table1 two-columns no-header" data-no-responsive-header="true">
|
<div class="lside">
|
||||||
<caption>{L_FORUM_STATS}</caption>
|
<table class="table2 zebra-table no-header" data-no-responsive-header="true">
|
||||||
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
|
<thead>
|
||||||
<thead>
|
<tr>
|
||||||
<tr>
|
<th>{{ lang('STATISTIC') }}</th>
|
||||||
<th>{L_STATISTIC}</th>
|
<th>{{ lang('VALUE') }}</th>
|
||||||
<th>{L_VALUE}</th>
|
</tr>
|
||||||
<th>{L_STATISTIC}</th>
|
</thead>
|
||||||
<th>{L_VALUE}</th>
|
|
||||||
</tr>
|
<tbody>
|
||||||
</thead>
|
<tr>
|
||||||
<tbody>
|
<td class="tabled">{{ lang('BOARD_STARTED') ~ lang('COLON') }}</td>
|
||||||
<tr>
|
<td class="tabled"><strong>{{ START_DATE }}</strong></td>
|
||||||
<td>{L_NUMBER_POSTS}{L_COLON} </td>
|
</tr>
|
||||||
<td><strong>{TOTAL_POSTS}</strong></td>
|
<tr>
|
||||||
<td>{L_POSTS_PER_DAY}{L_COLON} </td>
|
<td class="tabled">{{ lang('AVATAR_DIR_SIZE') ~ lang('COLON') }}</td>
|
||||||
<td><strong>{POSTS_PER_DAY}</strong></td>
|
<td class="tabled"><strong>{{ AVATAR_DIR_SIZE }}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{L_NUMBER_TOPICS}{L_COLON} </td>
|
<td class="tabled">{{ lang('DATABASE_SIZE') ~ lang('COLON') }}</td>
|
||||||
<td><strong>{TOTAL_TOPICS}</strong></td>
|
<td class="tabled"><strong>{{ DBSIZE }}</strong></td>
|
||||||
<td>{L_TOPICS_PER_DAY}{L_COLON} </td>
|
</tr>
|
||||||
<td><strong>{TOPICS_PER_DAY}</strong></td>
|
<tr>
|
||||||
</tr>
|
<td class="tabled">{{ lang('UPLOAD_DIR_SIZE') ~ lang('COLON') }}</td>
|
||||||
<tr>
|
<td class="tabled"><strong>{{ UPLOAD_DIR_SIZE }}</strong></td>
|
||||||
<td>{L_NUMBER_USERS}{L_COLON} </td>
|
</tr>
|
||||||
<td><strong>{TOTAL_USERS}</strong></td>
|
<tr>
|
||||||
<td>{L_USERS_PER_DAY}{L_COLON} </td>
|
<td class="tabled">{{ lang('DATABASE_SERVER_INFO') ~ lang('COLON') }}</td>
|
||||||
<td><strong>{USERS_PER_DAY}</strong></td>
|
<td class="tabled"><strong>{{ DATABASE_INFO }}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{L_NUMBER_FILES}{L_COLON} </td>
|
<td class="tabled">{{ lang('GZIP_COMPRESSION') ~ lang('COLON') }}</td>
|
||||||
<td><strong>{TOTAL_FILES}</strong></td>
|
<td class="tabled"><strong>{{ GZIP_COMPRESSION }}</strong></td>
|
||||||
<td>{L_FILES_PER_DAY}{L_COLON} </td>
|
</tr>
|
||||||
<td><strong>{FILES_PER_DAY}</strong></td>
|
<tr>
|
||||||
</tr>
|
<td class="tabled">{{ lang('PHP_VERSION') ~ lang('COLON') }}</td>
|
||||||
<tr>
|
<td class="tabled"><strong>{{ PHP_VERSION_INFO }}</strong></td>
|
||||||
<td>{L_BOARD_STARTED}{L_COLON} </td>
|
</tr>
|
||||||
<td><strong>{START_DATE}</strong></td>
|
<tr>
|
||||||
<td>{L_AVATAR_DIR_SIZE}{L_COLON} </td>
|
{% if S_TOTAL_ORPHAN %}
|
||||||
<td><strong>{AVATAR_DIR_SIZE}</strong></td>
|
<td class="tabled">{{ lang('NUMBER_ORPHAN') ~ lang('COLON') }}</td>
|
||||||
</tr>
|
<td class="tabled">
|
||||||
<tr>
|
{% if TOTAL_ORPHAN > 0 %}
|
||||||
<td>{L_DATABASE_SIZE}{L_COLON} </td>
|
<a href="{{ U_ATTACH_ORPHAN }}" title="{{ lang('MORE_INFORMATION') }}"><strong>{{ TOTAL_ORPHAN }}</strong></a>
|
||||||
<td><strong>{DBSIZE}</strong></td>
|
{% else %}
|
||||||
<td>{L_UPLOAD_DIR_SIZE}{L_COLON} </td>
|
<strong>{{ TOTAL_ORPHAN }}</strong>
|
||||||
<td><strong>{UPLOAD_DIR_SIZE}</strong></td>
|
{% endif %}
|
||||||
</tr>
|
</td>
|
||||||
<tr>
|
{% else %}
|
||||||
<td>{L_DATABASE_SERVER_INFO}{L_COLON} </td>
|
{% endif %}
|
||||||
<td><strong>{DATABASE_INFO}</strong></td>
|
</tr>
|
||||||
<td>{L_GZIP_COMPRESSION}{L_COLON} </td>
|
{% if S_VERSIONCHECK %}
|
||||||
<td><strong>{GZIP_COMPRESSION}</strong></td>
|
<tr>
|
||||||
</tr>
|
<td class="tabled">{{ lang('BOARD_VERSION') ~ lang('COLON') }}</td>
|
||||||
<tr>
|
<td class="tabled">
|
||||||
<td>{L_PHP_VERSION}{L_COLON} </td>
|
<strong><a href="{{ U_VERSIONCHECK }}" {% if S_VERSION_UP_TO_DATE %}style="color: #228822;" {% elseif not S_VERSIONCHECK_FAIL %}style="color: #BC2A4D;" {% endif %}title="{{ lang('MORE_INFORMATION') }}">{{ BOARD_VERSION }}</a></strong> [ <a href="{{ U_VERSIONCHECK_FORCE }}">{{ lang('VERSIONCHECK_FORCE_UPDATE') }}</a> ]
|
||||||
<td><strong>{PHP_VERSION_INFO}</strong></td>
|
</td>
|
||||||
<!-- IF S_TOTAL_ORPHAN -->
|
</tr>
|
||||||
<td>{L_NUMBER_ORPHAN}{L_COLON} </td>
|
{% endif %}
|
||||||
<td>
|
</tbody>
|
||||||
<!-- IF TOTAL_ORPHAN > 0 -->
|
</table>
|
||||||
<a href="{U_ATTACH_ORPHAN}" title="{L_MORE_INFORMATION}"><strong>{TOTAL_ORPHAN}</strong></a>
|
|
||||||
<!-- ELSE -->
|
<table class="table2 zebra-table no-header" data-no-responsive-header="true">
|
||||||
<strong>{TOTAL_ORPHAN}</strong>
|
<thead>
|
||||||
<!-- ENDIF -->
|
<tr>
|
||||||
</td>
|
<th>{{ lang('STATISTIC') }}</th>
|
||||||
<!-- ELSE -->
|
<th>{{ lang('VALUE') }}</th>
|
||||||
<td> </td>
|
</tr>
|
||||||
<td> </td>
|
</thead>
|
||||||
<!-- ENDIF -->
|
|
||||||
</tr>
|
<tbody>
|
||||||
<!-- IF S_VERSIONCHECK -->
|
<tr>
|
||||||
<tr>
|
<td class="tabled">{{ lang('NUMBER_POSTS') ~ lang('COLON') }}</td>
|
||||||
<td>{L_BOARD_VERSION}{L_COLON} </td>
|
<td class="tabled"><strong>{{ TOTAL_POSTS }}</strong></td>
|
||||||
<td>
|
</tr>
|
||||||
<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> ]
|
<tr>
|
||||||
</td>
|
<td class="tabled">{{ lang('POSTS_PER_DAY') ~ lang('COLON') }}</td>
|
||||||
<td> </td>
|
<td class="tabled"><strong>{{ POSTS_PER_DAY }}</strong></td>
|
||||||
<td> </td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<!-- ENDIF -->
|
<td class="tabled">{{ lang('NUMBER_TOPICS') ~ lang('COLON') }}</td>
|
||||||
</tbody>
|
<td class="tabled"><strong>{{ TOTAL_TOPICS }}</strong></td>
|
||||||
</table>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled">{{ lang('TOPICS_PER_DAY') ~ lang('COLON') }}</td>
|
||||||
|
<td class="tabled"><strong>{{ TOPICS_PER_DAY }}</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled">{{ lang('NUMBER_USERS') ~ lang('COLON') }}</td>
|
||||||
|
<td class="tabled"><strong>{{ TOTAL_USERS }}</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled">{{ lang('USERS_PER_DAY') ~ lang('COLON') }}</td>
|
||||||
|
<td class="tabled"><strong>{{ USERS_PER_DAY }}</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled">{{ lang('NUMBER_FILES') ~ lang('COLON') }}</td>
|
||||||
|
<td class="tabled"><strong>{{ TOTAL_FILES }}</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled">{{ lang('FILES_PER_DAY') ~ lang('COLON') }}</td>
|
||||||
|
<td class="tabled"><strong>{{ FILES_PER_DAY }}</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tabled"> </td>
|
||||||
|
<td class="tabled"> </td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- IF S_ACTION_OPTIONS -->
|
<!-- IF S_ACTION_OPTIONS -->
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
@@ -340,9 +340,12 @@
|
|||||||
<br class="responsive-hide" /><br class="responsive-hide" />
|
<br class="responsive-hide" /><br class="responsive-hide" />
|
||||||
|
|
||||||
<fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
|
<fieldset class="quick" style="float: {S_CONTENT_FLOW_END};">
|
||||||
<input class="button1" type="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button2" type="button" name="cancel" value="{L_RESET}" onclick="document.forms['set-permissions'].reset(); init_colours(active_pmask + active_fmask);" />
|
<p class="submit-buttons">
|
||||||
{S_FORM_TOKEN}
|
<input class="button1" type="submit" id="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
|
||||||
|
<input class="button2" type="button" id="reset" name="cancel" value="{L_RESET}" onclick="document.forms['set-permissions'].reset(); init_colours(active_pmask + active_fmask);" />
|
||||||
|
{S_FORM_TOKEN}
|
||||||
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<br class="responsive-hide" /><br class="responsive-hide" />
|
<br class="responsive-hide" /><br class="responsive-hide" />
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<!-- EVENT acp_posting_buttons_custom_tags_before -->
|
<!-- EVENT acp_posting_buttons_custom_tags_before -->
|
||||||
<!-- BEGIN custom_tags -->
|
<!-- BEGIN custom_tags -->
|
||||||
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{{ custom_tags.BBCODE_HELPLINE|e('html_attr') }}" />
|
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{{ custom_tags.BBCODE_HELPLINE }}" />
|
||||||
<!-- END custom_tags -->
|
<!-- END custom_tags -->
|
||||||
</div>
|
</div>
|
||||||
<!-- EVENT acp_posting_buttons_after -->
|
<!-- EVENT acp_posting_buttons_after -->
|
||||||
|
@@ -21,8 +21,11 @@
|
|||||||
|
|
||||||
<!-- IF S_STEP_ONE -->
|
<!-- IF S_STEP_ONE -->
|
||||||
|
|
||||||
|
{% EVENT acp_profile_options_before %}
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{L_TITLE}</legend>
|
<legend>{L_TITLE}</legend>
|
||||||
|
{% EVENT acp_profile_basic_options_before %}
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label>{L_FIELD_TYPE}{L_COLON}</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
|
<dt><label>{L_FIELD_TYPE}{L_COLON}</label><br /><span>{L_FIELD_TYPE_EXPLAIN}</span></dt>
|
||||||
<dd><strong>{FIELD_TYPE}</strong></dd>
|
<dd><strong>{FIELD_TYPE}</strong></dd>
|
||||||
@@ -43,8 +46,11 @@
|
|||||||
<dd><label><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
<dd><label><input type="radio" class="radio" id="field_no_view" name="field_no_view" value="0"<!-- IF not S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||||
<label><input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
<label><input type="radio" class="radio" name="field_no_view" value="1"<!-- IF S_FIELD_NO_VIEW --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
{% EVENT acp_profile_basic_options_after %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
{% EVENT acp_profile_visibility_options_before %}
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{L_VISIBILITY_OPTION}</legend>
|
<legend>{L_VISIBILITY_OPTION}</legend>
|
||||||
<dl>
|
<dl>
|
||||||
@@ -87,8 +93,11 @@
|
|||||||
<dd><input class="text medium" type="text" name="field_contact_url" id="field_contact_url" value="{FIELD_CONTACT_URL}" /> <label for="field_contact_url">{L_FIELD_CONTACT_URL}</label></dd>
|
<dd><input class="text medium" type="text" name="field_contact_url" id="field_contact_url" value="{FIELD_CONTACT_URL}" /> <label for="field_contact_url">{L_FIELD_CONTACT_URL}</label></dd>
|
||||||
<!-- EVENT acp_profile_contact_last -->
|
<!-- EVENT acp_profile_contact_last -->
|
||||||
</dl>
|
</dl>
|
||||||
|
{% EVENT acp_profile_contact_after %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
{% EVENT acp_profile_visibility_options_after %}
|
||||||
|
|
||||||
<!-- IF S_EDIT_MODE -->
|
<!-- IF S_EDIT_MODE -->
|
||||||
<fieldset class="quick">
|
<fieldset class="quick">
|
||||||
<input class="button1" type="submit" name="save" value="{L_SAVE}" />
|
<input class="button1" type="submit" name="save" value="{L_SAVE}" />
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
<p>{L_ACP_PRUNE_USERS_EXPLAIN}</p>
|
<p>{L_ACP_PRUNE_USERS_EXPLAIN}</p>
|
||||||
|
|
||||||
<form id="acp_prune" method="post" action="{U_ACTION}">
|
<form id="acp_prune" method="post" action="{U_ACTION}">
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{L_CRITERIA}</legend>
|
<legend>{L_CRITERIA}</legend>
|
||||||
<dl>
|
<dl>
|
||||||
@@ -66,15 +66,19 @@
|
|||||||
<dd><label><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS}</label>
|
<dd><label><input type="radio" class="radio" name="action" value="delete" /> {L_DELETE_USERS}</label>
|
||||||
<label><input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</label></dd>
|
<label><input type="radio" class="radio" id="deactivate" name="action" value="deactivate" checked="checked" /> {L_DEACTIVATE}</label></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<p class="submit-buttons">
|
|
||||||
<input type="hidden" name="prune" value="1" />
|
|
||||||
|
|
||||||
<input class="button1" type="submit" id="update" name="update" value="{L_SUBMIT}" />
|
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
|
||||||
{S_FORM_TOKEN}
|
|
||||||
</p>
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
|
<p class="submit-buttons">
|
||||||
|
<input type="hidden" name="prune" value="1" />
|
||||||
|
|
||||||
|
<input class="button1" type="submit" id="update" name="update" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
{S_FORM_TOKEN}
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- INCLUDE overall_footer.html -->
|
<!-- INCLUDE overall_footer.html -->
|
||||||
|
@@ -36,6 +36,13 @@
|
|||||||
<dt><label for="max_num_search_keywords">{L_MAX_NUM_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_MAX_NUM_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
|
<dt><label for="max_num_search_keywords">{L_MAX_NUM_SEARCH_KEYWORDS}{L_COLON}</label><br /><span>{L_MAX_NUM_SEARCH_KEYWORDS_EXPLAIN}</span></dt>
|
||||||
<dd><input id="max_num_search_keywords" type="number" min="0" max="9999" name="config[max_num_search_keywords]" value="{MAX_NUM_SEARCH_KEYWORDS}" /></dd>
|
<dd><input id="max_num_search_keywords" type="number" min="0" max="9999" name="config[max_num_search_keywords]" value="{MAX_NUM_SEARCH_KEYWORDS}" /></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="default_search_return_chars">{{ lang('DEFAULT_SEARCH_RETURN_CHARS') ~ lang('COLON') }}</label>
|
||||||
|
<br><span>{{ lang('DEFAULT_SEARCH_RETURN_CHARS_EXPLAIN') }}</span>
|
||||||
|
</dt>
|
||||||
|
<dd><input id="default_search_return_chars" name="config[default_search_return_chars]" type="number" value="{{ DEFAULT_SEARCH_RETURN_CHARS }}" min="0" max="9999"></dd>
|
||||||
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label for="search_store_results">{L_SEARCH_STORE_RESULTS}{L_COLON}</label><br /><span>{L_SEARCH_STORE_RESULTS_EXPLAIN}</span></dt>
|
<dt><label for="search_store_results">{L_SEARCH_STORE_RESULTS}{L_COLON}</label><br /><span>{L_SEARCH_STORE_RESULTS_EXPLAIN}</span></dt>
|
||||||
<dd><input id="search_store_results" type="number" min="0" max="999999" name="config[search_store_results]" value="{SEARCH_STORE_RESULTS}" /> {L_SECONDS}</dd>
|
<dd><input id="search_store_results" type="number" min="0" max="999999" name="config[search_store_results]" value="{SEARCH_STORE_RESULTS}" /> {L_SECONDS}</dd>
|
||||||
@@ -59,10 +66,12 @@
|
|||||||
|
|
||||||
<!-- END backend -->
|
<!-- END backend -->
|
||||||
|
|
||||||
<fieldset class="submit-buttons">
|
<fieldset>
|
||||||
<legend>{L_SUBMIT}</legend>
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
<p class="submit-buttons">
|
||||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||||
|
</p>
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
@@ -89,10 +98,12 @@
|
|||||||
<p>{L_CONTINUE_EXPLAIN}</p>
|
<p>{L_CONTINUE_EXPLAIN}</p>
|
||||||
|
|
||||||
<form id="acp_search_continue" method="post" action="{U_CONTINUE_INDEXING}">
|
<form id="acp_search_continue" method="post" action="{U_CONTINUE_INDEXING}">
|
||||||
<fieldset class="submit-buttons">
|
<fieldset>
|
||||||
<legend>{L_SUBMIT}</legend>
|
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
|
||||||
<input class="button1" type="submit" id="continue" name="continue" value="{L_CONTINUE}" onclick="popup_progress_bar('{S_CONTINUE_INDEXING}');" />
|
<p class="submit-buttons">
|
||||||
<input class="button2" type="submit" id="cancel" name="cancel" value="{L_CANCEL}" />
|
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
|
||||||
|
<input class="button2" type="submit" id="cancel" name="cancel" value="{L_CANCEL}" />
|
||||||
|
</p>
|
||||||
{S_FORM_TOKEN}
|
{S_FORM_TOKEN}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
|
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
|
||||||
|
|
||||||
<fieldset class="quick">
|
<fieldset class="quick">
|
||||||
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.2" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
|
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.3" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<form id="acp_styles" method="post" action="{U_ACTION}">
|
<form id="acp_styles" method="post" action="{U_ACTION}">
|
||||||
@@ -96,6 +96,7 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{L_STYLE_NAME}</th>
|
<th>{L_STYLE_NAME}</th>
|
||||||
|
<th width="10%" style="white-space: nowrap; text-align: center;">{{ lang('STYLE_VERSION') }}</th>
|
||||||
<th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_PHPBB_VERSION}</th>
|
<th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_PHPBB_VERSION}</th>
|
||||||
<!-- IF not STYLES_LIST_HIDE_COUNT --><th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_USED_BY}</th><!-- ENDIF -->
|
<!-- IF not STYLES_LIST_HIDE_COUNT --><th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_USED_BY}</th><!-- ENDIF -->
|
||||||
<th width="25%" style="white-space: nowrap; text-align: center;">{L_ACTIONS}</th>
|
<th width="25%" style="white-space: nowrap; text-align: center;">{L_ACTIONS}</th>
|
||||||
@@ -130,6 +131,7 @@
|
|||||||
<span class="style-path"><br />{L_STYLE_PATH}{L_COLON} {styles_list.STYLE_PATH_FULL}</span>
|
<span class="style-path"><br />{L_STYLE_PATH}{L_COLON} {styles_list.STYLE_PATH_FULL}</span>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
</td>
|
</td>
|
||||||
|
<td class="{$ROW_CLASS} users">{{ styles_list.STYLE_VERSION }}</td>
|
||||||
<td class="{$ROW_CLASS} users">{styles_list.STYLE_PHPBB_VERSION}</td>
|
<td class="{$ROW_CLASS} users">{styles_list.STYLE_PHPBB_VERSION}</td>
|
||||||
<!-- IF not STYLES_LIST_HIDE_COUNT -->
|
<!-- IF not STYLES_LIST_HIDE_COUNT -->
|
||||||
<td class="{$ROW_CLASS} users">{styles_list.USERS}</td>
|
<td class="{$ROW_CLASS} users">{styles_list.USERS}</td>
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
<!-- INCLUDE acp_posting_buttons.html -->
|
<!-- INCLUDE acp_posting_buttons.html -->
|
||||||
|
|
||||||
<dl class="responsive-columns">
|
<dl class="responsive-columns">
|
||||||
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
|
<dt style="width: 90px;" id="color_palette_placeholder" data-color-palette="v" data-height="12" data-width="15" data-bbcode="true">
|
||||||
</dt>
|
</dt>
|
||||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{SIGNATURE}</textarea></dd>
|
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;"><textarea name="signature" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{SIGNATURE}</textarea></dd>
|
||||||
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
|
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* phpBB 3.2 Admin Style Sheet
|
/* phpBB 3.3 Admin Style Sheet
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
Original author: subBlue ( http://www.subblue.com/ )
|
Original author: subBlue ( http://www.subblue.com/ )
|
||||||
Copyright (c) phpBB Limited <https://www.phpbb.com>
|
Copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||||
@@ -191,7 +191,7 @@ li {
|
|||||||
|
|
||||||
#page-header {
|
#page-header {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: url("../images/phpbb_logo.png") top left no-repeat;
|
background: url("../images/phpbb_logo.svg") top left no-repeat;
|
||||||
height: 54px;
|
height: 54px;
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
@@ -199,7 +199,7 @@ li {
|
|||||||
|
|
||||||
.rtl #page-header {
|
.rtl #page-header {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: url("../images/phpbb_logo.png") top right no-repeat;
|
background: url("../images/phpbb_logo.svg") top right no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
#page-header h1 {
|
#page-header h1 {
|
||||||
@@ -723,9 +723,25 @@ td {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.table1 {
|
.table1 {
|
||||||
border-collapse: separate;
|
|
||||||
border-spacing: 1px;
|
|
||||||
clear: both;
|
clear: both;
|
||||||
|
border-spacing: 1px;
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table2 {
|
||||||
|
display: inline-block;
|
||||||
|
border-spacing: 1px;
|
||||||
|
border-collapse: separate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lside {
|
||||||
|
display: flex;
|
||||||
|
align-items: stretch;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabled {
|
||||||
|
width: 1%;
|
||||||
}
|
}
|
||||||
|
|
||||||
dt#color_palette_placeholder table {
|
dt#color_palette_placeholder table {
|
||||||
@@ -2049,6 +2065,8 @@ fieldset.permissions .padding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.permissions-category ul {
|
.permissions-category ul {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
@@ -2102,7 +2120,6 @@ fieldset.permissions .padding {
|
|||||||
|
|
||||||
.permissions-category .activetab a span.tabbg {
|
.permissions-category .activetab a span.tabbg {
|
||||||
background-position: 100% 0;
|
background-position: 100% 0;
|
||||||
padding-bottom: 7px;
|
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2297,6 +2314,10 @@ fieldset.permissions .padding {
|
|||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.permissions-category ul {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.permissions-category a, .permissions-category a span.tabbg {
|
.permissions-category a, .permissions-category a span.tabbg {
|
||||||
display: block;
|
display: block;
|
||||||
float: none !important;
|
float: none !important;
|
||||||
@@ -2623,7 +2644,7 @@ fieldset.permissions .padding {
|
|||||||
.send-stats-tile h2 {
|
.send-stats-tile h2 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-bottom: 1em;
|
padding-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.send-stats-tile i {
|
.send-stats-tile i {
|
||||||
|
@@ -169,7 +169,7 @@ function parse_document(container)
|
|||||||
ul = $this.children(),
|
ul = $this.children(),
|
||||||
tabs = ul.children().not('[data-skip-responsive]'),
|
tabs = ul.children().not('[data-skip-responsive]'),
|
||||||
links = tabs.children('a'),
|
links = tabs.children('a'),
|
||||||
item = ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link"> </a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
|
item = ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link"> </a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner"></div></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
|
||||||
menu = item.find('.dropdown-contents'),
|
menu = item.find('.dropdown-contents'),
|
||||||
maxHeight = 0,
|
maxHeight = 0,
|
||||||
lastWidth = false,
|
lastWidth = false,
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* global phpbb */
|
/* global phpbb, statsData */
|
||||||
|
|
||||||
(function($) { // Avoid conflicts with other libraries
|
(function($) { // Avoid conflicts with other libraries
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ phpbb.prepareSendStats = function () {
|
|||||||
var $sendStatisticsSuccess = $('<input />', {
|
var $sendStatisticsSuccess = $('<input />', {
|
||||||
type: 'hidden',
|
type: 'hidden',
|
||||||
name: 'send_statistics_response',
|
name: 'send_statistics_response',
|
||||||
value: res
|
value: JSON.stringify(res)
|
||||||
});
|
});
|
||||||
$sendStatisticsSuccess.appendTo('p.submit-buttons');
|
$sendStatisticsSuccess.appendTo('p.submit-buttons');
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ phpbb.prepareSendStats = function () {
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
url: $this.attr('data-ajax-action').replace('&', '&'),
|
url: $this.attr('data-ajax-action').replace('&', '&'),
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
data: 'systemdata=' + encodeURIComponent($this.find('input[name=systemdata]').val()),
|
data: statsData,
|
||||||
success: returnHandler,
|
success: returnHandler,
|
||||||
error: errorHandler,
|
error: errorHandler,
|
||||||
cache: false
|
cache: false
|
||||||
@@ -173,7 +173,9 @@ function submitPermissions() {
|
|||||||
var permissionSubmitSize = 0,
|
var permissionSubmitSize = 0,
|
||||||
permissionRequestCount = 0,
|
permissionRequestCount = 0,
|
||||||
forumIds = [],
|
forumIds = [],
|
||||||
permissionSubmitFailed = false;
|
permissionSubmitFailed = false,
|
||||||
|
clearIndicator = true,
|
||||||
|
$loadingIndicator;
|
||||||
|
|
||||||
if ($submitAllButton !== $submitButton) {
|
if ($submitAllButton !== $submitButton) {
|
||||||
fieldsetList = $form.find('fieldset#' + $submitButton.closest('fieldset.permissions').id);
|
fieldsetList = $form.find('fieldset#' + $submitButton.closest('fieldset.permissions').id);
|
||||||
@@ -207,6 +209,8 @@ function submitPermissions() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$loadingIndicator = phpbb.loadingIndicator();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler for submitted permissions form chunk
|
* Handler for submitted permissions form chunk
|
||||||
*
|
*
|
||||||
@@ -222,6 +226,8 @@ function submitPermissions() {
|
|||||||
} else if (!permissionSubmitFailed && res.S_USER_NOTICE) {
|
} else if (!permissionSubmitFailed && res.S_USER_NOTICE) {
|
||||||
// Display success message at the end of submitting the form
|
// Display success message at the end of submitting the form
|
||||||
if (permissionRequestCount >= permissionSubmitSize) {
|
if (permissionRequestCount >= permissionSubmitSize) {
|
||||||
|
clearIndicator = true;
|
||||||
|
|
||||||
var $alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT);
|
var $alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT);
|
||||||
var $alertBoxLink = $alert.find('p.alert_text > a');
|
var $alertBoxLink = $alert.find('p.alert_text > a');
|
||||||
|
|
||||||
@@ -271,6 +277,17 @@ function submitPermissions() {
|
|||||||
$form.submit();
|
$form.submit();
|
||||||
}, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds
|
}, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// Still more forms to submit, so do not clear indicator
|
||||||
|
clearIndicator = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clearIndicator) {
|
||||||
|
phpbb.clearLoadingTimeout();
|
||||||
|
|
||||||
|
if ($loadingIndicator) {
|
||||||
|
$loadingIndicator.fadeOut(phpbb.alertTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -5,8 +5,9 @@
|
|||||||
<div>{L_RECAPTCHA_NOSCRIPT}</div>
|
<div>{L_RECAPTCHA_NOSCRIPT}</div>
|
||||||
</noscript>
|
</noscript>
|
||||||
|
|
||||||
|
{L_RECAPTCHA_INVISIBLE}
|
||||||
<script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
|
<script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
|
||||||
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}"></div>
|
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-size="invisible"></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<!-- ELSE -->
|
<!-- ELSE -->
|
||||||
|
15
phpBB/adm/style/captcha_recaptcha_v3.html
Normal file
15
phpBB/adm/style/captcha_recaptcha_v3.html
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{% if S_RECAPTCHA_AVAILABLE %}
|
||||||
|
<dl>
|
||||||
|
<dt> </dt>
|
||||||
|
<dd>
|
||||||
|
<noscript>
|
||||||
|
<div class="warningbox">{{ lang('RECAPTCHA_NOSCRIPT') }}</div>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
{{ lang('RECAPTCHA_INVISIBLE') }}
|
||||||
|
<script src="{{ U_RECAPTCHA_SCRIPT }}" async defer></script>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
{% else %}
|
||||||
|
{{ lang('RECAPTCHA_NOT_AVAILABLE') }}
|
||||||
|
{% endif %}
|
108
phpBB/adm/style/captcha_recaptcha_v3_acp.html
Normal file
108
phpBB/adm/style/captcha_recaptcha_v3_acp.html
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
{% include 'overall_header.html' %}
|
||||||
|
|
||||||
|
<a id="maincontent"></a>
|
||||||
|
|
||||||
|
<h1>{{ lang('ACP_VC_SETTINGS') }}</h1>
|
||||||
|
<p>{{ lang('ACP_VC_SETTINGS_EXPLAIN') }}</p>
|
||||||
|
|
||||||
|
<form id="acp_captcha" method="post" action="{{ U_ACTION }}">
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{ lang('GENERAL_OPTIONS') }}</legend>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="recaptcha_v3_key">{{ lang('RECAPTCHA_PUBLIC') ~ lang('COLON') }}</label>
|
||||||
|
<br><span>{{ lang('RECAPTCHA_V3_PUBLIC_EXPLAIN') }}</span>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<input id="recaptcha_v3_key" name="recaptcha_v3_key" type="text" value="{{ RECAPTCHA_V3_KEY }}" size="50">
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="recaptcha_v3_secret">{{ lang('RECAPTCHA_PRIVATE') ~ lang('COLON') }}</label>
|
||||||
|
<br><span>{{ lang('RECAPTCHA_V3_PRIVATE_EXPLAIN') }}</span>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<input id="recaptcha_v3_secret" name="recaptcha_v3_secret" type="text" value="{{ RECAPTCHA_V3_SECRET }}" size="50">
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label>{{ lang('RECAPTCHA_V3_DOMAIN') ~ lang('COLON') }}</label>
|
||||||
|
<br><span>{{ lang('RECAPTCHA_V3_DOMAIN_EXPLAIN') }}</span>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{% for domain in RECAPTCHA_V3_DOMAINS %}
|
||||||
|
<label>
|
||||||
|
<input class="radio" name="recaptcha_v3_domain" type="radio" value="{{ domain }}"{{ domain == RECAPTCHA_V3_DOMAIN ? ' checked' }}>
|
||||||
|
<span>{{ domain }}</span>
|
||||||
|
</label>
|
||||||
|
{% endfor %}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label>{{ lang('RECAPTCHA_V3_METHOD') ~ lang('COLON') }}</label>
|
||||||
|
<br><span>{{ lang('RECAPTCHA_V3_METHOD_EXPLAIN') }}</span>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{% for method, available in RECAPTCHA_V3_METHODS %}
|
||||||
|
<label>
|
||||||
|
{% set checked = method == RECAPTCHA_V3_METHOD ? ' checked' %}
|
||||||
|
{% set disabled = not available ? ' disabled' %}
|
||||||
|
|
||||||
|
<input class="radio" name="recaptcha_v3_method" type="radio" value="{{ method }}"{{ checked ~ disabled }}>
|
||||||
|
<span>{{ lang('RECAPTCHA_V3_METHOD_' ~ method|upper) }}</span>
|
||||||
|
</label>
|
||||||
|
{% endfor %}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{ lang('RECAPTCHA_V3_THRESHOLDS') }}</legend>
|
||||||
|
<p>{{ lang('RECAPTCHA_V3_THRESHOLDS_EXPLAIN') }}</p>
|
||||||
|
|
||||||
|
{% for threshold in thresholds %}
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<label for="{{ threshold.key }}">{{ lang(threshold.key|upper) ~ lang('COLON') }}</label>
|
||||||
|
{% if lang_defined(threshold.key|upper ~ '_EXPLAIN') %}
|
||||||
|
<br><span>{{ lang(threshold.key|upper ~ '_EXPLAIN') }}</span>
|
||||||
|
{% endif %}
|
||||||
|
</dt>
|
||||||
|
<dd><input id="{{ threshold.key }}" name="{{ threshold.key }}" type="number" value="{{ threshold.value }}" min="0" max="1" step="0.1"></dd>
|
||||||
|
</dl>
|
||||||
|
{% endfor %}
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{ lang('PREVIEW') }}</legend>
|
||||||
|
|
||||||
|
{% if PREVIEW %}
|
||||||
|
<div class="successbox">
|
||||||
|
<h3>{{ lang('WARNING') }}</h3>
|
||||||
|
<p>{{ lang('CAPTCHA_PREVIEW_MSG') }}</p>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% include CAPTCHA_PREVIEW %}
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{ lang('ACP_SUBMIT_CHANGES') }}</legend>
|
||||||
|
|
||||||
|
<p class="submit-buttons">
|
||||||
|
<input class="button1" id="submit" name="submit" type="submit" value="{{ lang('SUBMIT') }}">
|
||||||
|
<input class="button2" id="reset" name="reset" type="reset" value="{{ lang('RESET') }}">
|
||||||
|
|
||||||
|
<input name="select_captcha" type="hidden" value="{{ CAPTCHA_NAME }}">
|
||||||
|
<input name="configure" type="hidden" value="1">
|
||||||
|
{{ S_FORM_TOKEN }}
|
||||||
|
</p>
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
{% include 'overall_footer.html' %}
|
@@ -23,7 +23,7 @@ installLang = {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="{T_JQUERY_LINK}"></script>
|
<script src="{T_JQUERY_LINK}"></script>
|
||||||
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF -->
|
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.5.1.min.js">\x3C/script>');</script><!-- ENDIF -->
|
||||||
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||||
<!-- INCLUDEJS admin.js -->
|
<!-- INCLUDEJS admin.js -->
|
||||||
{$SCRIPTS}
|
{$SCRIPTS}
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="{T_JQUERY_LINK}"></script>
|
<script src="{T_JQUERY_LINK}"></script>
|
||||||
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.5.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
||||||
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||||
<!-- INCLUDEJS ajax.js -->
|
<!-- INCLUDEJS ajax.js -->
|
||||||
<!-- INCLUDEJS admin.js -->
|
<!-- INCLUDEJS admin.js -->
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<h1>{L_ACP_FORUM_PERMISSIONS_COPY}</h1>
|
<h1>{L_ACP_FORUM_PERMISSIONS_COPY}</h1>
|
||||||
|
|
||||||
{L_ACP_FORUM_PERMISSIONS_COPY_EXPLAIN}
|
<p>{L_ACP_FORUM_PERMISSIONS_COPY_EXPLAIN}</p>
|
||||||
|
|
||||||
<form id="forum_perm_copy" method="post" action="{U_ACTION}">
|
<form id="forum_perm_copy" method="post" action="{U_ACTION}">
|
||||||
|
|
||||||
|
@@ -269,8 +269,14 @@ function mark_one_option(id, field_name, s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reset role dropdown field to Select role... if an option gets changed
|
* (Re)set the permission role dropdown.
|
||||||
*/
|
*
|
||||||
|
* Try and match the set permissions to an existing role.
|
||||||
|
* Otherwise reset the dropdown to "Select a role.."
|
||||||
|
*
|
||||||
|
* @param {string} id The fieldset identifier
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
function reset_role(id) {
|
function reset_role(id) {
|
||||||
var t = document.getElementById(id);
|
var t = document.getElementById(id);
|
||||||
|
|
||||||
@@ -278,18 +284,37 @@ function reset_role(id) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
t.options[0].selected = true;
|
// Before resetting the role dropdown, try and match any permission role
|
||||||
|
var parent = t.parentNode,
|
||||||
|
roleId = match_role_settings(id.replace('role', 'perm')),
|
||||||
|
text = no_role_assigned,
|
||||||
|
index = 0;
|
||||||
|
|
||||||
var parent = t.parentNode;
|
// If a role permissions was matched, grab that option's value and index
|
||||||
parent.querySelector('span.dropdown-trigger').innerText = no_role_assigned;
|
if (roleId) {
|
||||||
parent.querySelector('input[data-name^=role]').value = '0';
|
for (var i = 0; i < t.options.length; i++) {
|
||||||
|
if (parseInt(t.options[i].value, 10) === roleId) {
|
||||||
|
text = t.options[i].text;
|
||||||
|
index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the select's value and selected index
|
||||||
|
t.value = roleId;
|
||||||
|
t.options[index].selected = true;
|
||||||
|
|
||||||
|
// Update the dropdown trigger to show the new value
|
||||||
|
parent.querySelector('span.dropdown-trigger').innerText = text;
|
||||||
|
parent.querySelector('input[data-name^=role]').value = roleId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load role and set options accordingly
|
* Load role and set options accordingly
|
||||||
*/
|
*/
|
||||||
function set_role_settings(role_id, target_id) {
|
function set_role_settings(role_id, target_id) {
|
||||||
settings = role_options[role_id];
|
var settings = role_options[role_id];
|
||||||
|
|
||||||
if (!settings) {
|
if (!settings) {
|
||||||
return;
|
return;
|
||||||
@@ -302,3 +327,51 @@ function set_role_settings(role_id, target_id) {
|
|||||||
mark_one_option(target_id, r, (settings[r] === 1) ? 'y' : 'n');
|
mark_one_option(target_id, r, (settings[r] === 1) ? 'y' : 'n');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Match the set permissions against the available roles.
|
||||||
|
*
|
||||||
|
* @param {string} id The parent fieldset identifier
|
||||||
|
* @return {number} The permission role identifier
|
||||||
|
*/
|
||||||
|
function match_role_settings(id) {
|
||||||
|
var fieldset = document.getElementById(id),
|
||||||
|
radios = fieldset.getElementsByTagName('input'),
|
||||||
|
set = {};
|
||||||
|
|
||||||
|
// Iterate over all the radio buttons
|
||||||
|
for (var i = 0; i < radios.length; i++) {
|
||||||
|
var matches = radios[i].id.match(/setting\[\d+]\[\d+]\[([a-z_]+)]/);
|
||||||
|
|
||||||
|
// Make sure the name attribute matches, the radio is checked and it is not the "No" (-1) value.
|
||||||
|
if (matches !== null && radios[i].checked && radios[i].value !== '-1') {
|
||||||
|
set[matches[1]] = parseInt(radios[i].value, 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort and stringify the 'set permissions' object
|
||||||
|
set = sort_and_stringify(set);
|
||||||
|
|
||||||
|
// Iterate over the available role options and return the first match
|
||||||
|
for (var r in role_options)
|
||||||
|
{
|
||||||
|
if (sort_and_stringify(role_options[r]) === set) {
|
||||||
|
return parseInt(r, 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort and stringify an Object so it can be easily compared against another object.
|
||||||
|
*
|
||||||
|
* @param {object} obj The object to sort (by key) and stringify
|
||||||
|
* @return {string} The sorted object as a string
|
||||||
|
*/
|
||||||
|
function sort_and_stringify(obj) {
|
||||||
|
return JSON.stringify(Object.keys(obj).sort().reduce(function (result, key) {
|
||||||
|
result[key] = obj[key];
|
||||||
|
return result;
|
||||||
|
}, {}));
|
||||||
|
}
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="{T_JQUERY_LINK}"></script>
|
<script src="{T_JQUERY_LINK}"></script>
|
||||||
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.5.1.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
|
||||||
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
|
||||||
|
|
||||||
<!-- EVENT acp_simple_footer_after -->
|
<!-- EVENT acp_simple_footer_after -->
|
||||||
|
@@ -218,23 +218,6 @@ $(function() {
|
|||||||
|
|
||||||
// Prepare dropdown
|
// Prepare dropdown
|
||||||
phpbb.prepareRolesDropdown();
|
phpbb.prepareRolesDropdown();
|
||||||
|
|
||||||
// Reset role drop-down on modifying permissions in advanced tab
|
|
||||||
$('div.permissions-switch > a').on('click', function () {
|
|
||||||
$.each($('input[type=radio][name^="setting["]'), function () {
|
|
||||||
var $this = $(this);
|
|
||||||
$this.on('click', function () {
|
|
||||||
var $rolesOptions = $this.closest('fieldset.permissions').find('.roles-options'),
|
|
||||||
rolesSelect = $rolesOptions.find('select > option')[0];
|
|
||||||
|
|
||||||
// Set selected setting
|
|
||||||
$rolesOptions.children('span')
|
|
||||||
.text(rolesSelect.text);
|
|
||||||
$rolesOptions.children('input[type=hidden]')
|
|
||||||
.val(rolesSelect.value);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
})(jQuery); // Avoid conflicts with other libraries
|
})(jQuery); // Avoid conflicts with other libraries
|
||||||
|
12
phpBB/assets/cookieconsent/cookieconsent.min.css
vendored
12
phpBB/assets/cookieconsent/cookieconsent.min.css
vendored
@@ -1,6 +1,6 @@
|
|||||||
.cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
|
.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s}
|
||||||
.cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
|
.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
|
||||||
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
|
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
|
||||||
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}
|
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}}
|
||||||
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
|
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
|
||||||
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
|
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
|
File diff suppressed because one or more lines are too long
@@ -11,7 +11,9 @@ phpbb.alertTime = 100;
|
|||||||
var keymap = {
|
var keymap = {
|
||||||
TAB: 9,
|
TAB: 9,
|
||||||
ENTER: 13,
|
ENTER: 13,
|
||||||
ESC: 27
|
ESC: 27,
|
||||||
|
ARROW_UP: 38,
|
||||||
|
ARROW_DOWN: 40
|
||||||
};
|
};
|
||||||
|
|
||||||
var $dark = $('#darkenwrapper');
|
var $dark = $('#darkenwrapper');
|
||||||
@@ -561,7 +563,7 @@ phpbb.search.setValue = function($input, value, multiline) {
|
|||||||
phpbb.search.setValueOnClick = function($input, value, $row, $container) {
|
phpbb.search.setValueOnClick = function($input, value, $row, $container) {
|
||||||
$row.click(function() {
|
$row.click(function() {
|
||||||
phpbb.search.setValue($input, value.result, $input.attr('data-multiline'));
|
phpbb.search.setValue($input, value.result, $input.attr('data-multiline'));
|
||||||
$container.hide();
|
phpbb.search.closeResults($input, $container);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -575,7 +577,7 @@ phpbb.search.setValueOnClick = function($input, value, $row, $container) {
|
|||||||
* @param {object} event Onkeyup event object.
|
* @param {object} event Onkeyup event object.
|
||||||
* @param {function} sendRequest Function to execute AJAX request.
|
* @param {function} sendRequest Function to execute AJAX request.
|
||||||
*
|
*
|
||||||
* @returns {bool} Returns false.
|
* @returns {boolean} Returns false.
|
||||||
*/
|
*/
|
||||||
phpbb.search.filter = function(data, event, sendRequest) {
|
phpbb.search.filter = function(data, event, sendRequest) {
|
||||||
var $this = $(this),
|
var $this = $(this),
|
||||||
@@ -584,9 +586,16 @@ phpbb.search.filter = function(data, event, sendRequest) {
|
|||||||
searchID = $this.attr('data-results'),
|
searchID = $this.attr('data-results'),
|
||||||
keyword = phpbb.search.getKeyword($this, data[dataName], $this.attr('data-multiline')),
|
keyword = phpbb.search.getKeyword($this, data[dataName], $this.attr('data-multiline')),
|
||||||
cache = phpbb.search.cache.get(searchID),
|
cache = phpbb.search.cache.get(searchID),
|
||||||
|
key = event.keyCode || event.which,
|
||||||
proceed = true;
|
proceed = true;
|
||||||
data[dataName] = keyword;
|
data[dataName] = keyword;
|
||||||
|
|
||||||
|
// No need to search if enter was pressed
|
||||||
|
// for selecting a value from the results.
|
||||||
|
if (key === keymap.ENTER) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (cache.timeout) {
|
if (cache.timeout) {
|
||||||
clearTimeout(cache.timeout);
|
clearTimeout(cache.timeout);
|
||||||
}
|
}
|
||||||
@@ -697,22 +706,108 @@ phpbb.search.showResults = function(results, $input, $container, callback) {
|
|||||||
row.appendTo($resultContainer).show();
|
row.appendTo($resultContainer).show();
|
||||||
});
|
});
|
||||||
$container.show();
|
$container.show();
|
||||||
|
|
||||||
|
phpbb.search.navigateResults($input, $container, $resultContainer);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear search results.
|
* Clear search results.
|
||||||
*
|
*
|
||||||
* @param {jQuery} $container Search results container.
|
* @param {jQuery} $container Search results container.
|
||||||
*/
|
*/
|
||||||
phpbb.search.clearResults = function($container) {
|
phpbb.search.clearResults = function($container) {
|
||||||
$container.children(':not(.search-result-tpl)').remove();
|
$container.children(':not(.search-result-tpl)').remove();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close search results.
|
||||||
|
*
|
||||||
|
* @param {jQuery} $input Search input|textarea.
|
||||||
|
* @param {jQuery} $container Search results container.
|
||||||
|
*/
|
||||||
|
phpbb.search.closeResults = function($input, $container) {
|
||||||
|
$input.off('.phpbb.search');
|
||||||
|
$container.hide();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Navigate search results.
|
||||||
|
*
|
||||||
|
* @param {jQuery} $input Search input|textarea.
|
||||||
|
* @param {jQuery} $container Search results container.
|
||||||
|
* @param {jQuery} $resultContainer Search results list container.
|
||||||
|
*/
|
||||||
|
phpbb.search.navigateResults = function($input, $container, $resultContainer) {
|
||||||
|
// Add a namespace to the event (.phpbb.search),
|
||||||
|
// so it can be unbound specifically later on.
|
||||||
|
// Rebind it, to ensure the event is 'dynamic'.
|
||||||
|
$input.off('.phpbb.search');
|
||||||
|
$input.on('keydown.phpbb.search', function(event) {
|
||||||
|
var key = event.keyCode || event.which,
|
||||||
|
$active = $resultContainer.children('.active');
|
||||||
|
|
||||||
|
switch (key) {
|
||||||
|
// Close the results
|
||||||
|
case keymap.ESC:
|
||||||
|
phpbb.search.closeResults($input, $container);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Set the value for the selected result
|
||||||
|
case keymap.ENTER:
|
||||||
|
if ($active.length) {
|
||||||
|
var value = $active.find('.search-result > span').text();
|
||||||
|
|
||||||
|
phpbb.search.setValue($input, value, $input.attr('data-multiline'));
|
||||||
|
}
|
||||||
|
|
||||||
|
phpbb.search.closeResults($input, $container);
|
||||||
|
|
||||||
|
// Do not submit the form
|
||||||
|
event.preventDefault();
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Navigate the results
|
||||||
|
case keymap.ARROW_DOWN:
|
||||||
|
case keymap.ARROW_UP:
|
||||||
|
var up = key === keymap.ARROW_UP,
|
||||||
|
$children = $resultContainer.children();
|
||||||
|
|
||||||
|
if (!$active.length) {
|
||||||
|
if (up) {
|
||||||
|
$children.last().addClass('active');
|
||||||
|
} else {
|
||||||
|
$children.first().addClass('active');
|
||||||
|
}
|
||||||
|
} else if ($children.length > 1) {
|
||||||
|
if (up) {
|
||||||
|
if ($active.is(':first-child')) {
|
||||||
|
$children.last().addClass('active');
|
||||||
|
} else {
|
||||||
|
$active.prev().addClass('active');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($active.is(':last-child')) {
|
||||||
|
$children.first().addClass('active');
|
||||||
|
} else {
|
||||||
|
$active.next().addClass('active');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$active.removeClass('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do not change cursor position in the input element
|
||||||
|
event.preventDefault();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
$('#phpbb').click(function() {
|
$('#phpbb').click(function() {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
|
|
||||||
if (!$this.is('.live-search') && !$this.parents().is('.live-search')) {
|
if (!$this.is('.live-search') && !$this.parents().is('.live-search')) {
|
||||||
$('.live-search').hide();
|
phpbb.search.closeResults($('input, textarea'), $('.live-search'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -853,7 +948,10 @@ phpbb.timezonePreselectSelect = function(forceSelector) {
|
|||||||
var minutes = offset % 60;
|
var minutes = offset % 60;
|
||||||
var hours = (offset - minutes) / 60;
|
var hours = (offset - minutes) / 60;
|
||||||
|
|
||||||
if (hours < 10) {
|
if (hours === 0) {
|
||||||
|
hours = '00';
|
||||||
|
sign = '+';
|
||||||
|
} else if (hours < 10) {
|
||||||
hours = '0' + hours.toString();
|
hours = '0' + hours.toString();
|
||||||
} else {
|
} else {
|
||||||
hours = hours.toString();
|
hours = hours.toString();
|
||||||
@@ -1492,7 +1590,7 @@ phpbb.colorPalette = function(dir, width, height) {
|
|||||||
* @param {jQuery} el jQuery object for the palette container.
|
* @param {jQuery} el jQuery object for the palette container.
|
||||||
*/
|
*/
|
||||||
phpbb.registerPalette = function(el) {
|
phpbb.registerPalette = function(el) {
|
||||||
var orientation = el.attr('data-orientation'),
|
var orientation = el.attr('data-color-palette') || el.attr('data-orientation'), // data-orientation kept for backwards compat.
|
||||||
height = el.attr('data-height'),
|
height = el.attr('data-height'),
|
||||||
width = el.attr('data-width'),
|
width = el.attr('data-width'),
|
||||||
target = el.attr('data-target'),
|
target = el.attr('data-target'),
|
||||||
@@ -1650,19 +1748,100 @@ phpbb.lazyLoadAvatars = function loadAvatars() {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
phpbb.recaptcha = {
|
||||||
|
button: null,
|
||||||
|
ready: false,
|
||||||
|
|
||||||
|
token: $('input[name="recaptcha_token"]'),
|
||||||
|
form: $('.g-recaptcha').parents('form'),
|
||||||
|
v3: $('[data-recaptcha-v3]'),
|
||||||
|
|
||||||
|
load: function() {
|
||||||
|
phpbb.recaptcha.bindButton();
|
||||||
|
phpbb.recaptcha.bindForm();
|
||||||
|
},
|
||||||
|
bindButton: function() {
|
||||||
|
phpbb.recaptcha.form.find('input[type="submit"]').on('click', function() {
|
||||||
|
// Listen to all the submit buttons for the form that has reCAPTCHA protection,
|
||||||
|
// and store it so we can click the exact same button later on when we are ready.
|
||||||
|
phpbb.recaptcha.button = this;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
bindForm: function() {
|
||||||
|
phpbb.recaptcha.form.on('submit', function(e) {
|
||||||
|
// If ready is false, it means the user pressed a submit button.
|
||||||
|
// And the form was not submitted by us, after the token was loaded.
|
||||||
|
if (!phpbb.recaptcha.ready) {
|
||||||
|
// If version 3 is used, we need to make a different execution,
|
||||||
|
// including the action and the site key.
|
||||||
|
if (phpbb.recaptcha.v3.length) {
|
||||||
|
grecaptcha.execute(
|
||||||
|
phpbb.recaptcha.v3.data('recaptcha-v3'),
|
||||||
|
{action: phpbb.recaptcha.v3.val()}
|
||||||
|
).then(function(token) {
|
||||||
|
// Place the token inside the form
|
||||||
|
phpbb.recaptcha.token.val(token);
|
||||||
|
|
||||||
|
// And now we submit the form.
|
||||||
|
phpbb.recaptcha.submitForm();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Regular version 2 execution
|
||||||
|
grecaptcha.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do not submit the form
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
submitForm: function() {
|
||||||
|
// Now we are ready, so set it to true.
|
||||||
|
// so the 'submit' event doesn't run multiple times.
|
||||||
|
phpbb.recaptcha.ready = true;
|
||||||
|
|
||||||
|
if (phpbb.recaptcha.button) {
|
||||||
|
// If there was a specific button pressed initially, trigger the same button
|
||||||
|
phpbb.recaptcha.button.click();
|
||||||
|
} else {
|
||||||
|
if (typeof phpbb.recaptcha.form.submit !== 'function') {
|
||||||
|
// Rename input[name="submit"] so that we can submit the form
|
||||||
|
phpbb.recaptcha.form.submit.name = 'submit_btn';
|
||||||
|
}
|
||||||
|
|
||||||
|
phpbb.recaptcha.form.submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// reCAPTCHA v2 doesn't accept callback functions nested inside objects
|
||||||
|
// so we need to make this helper functions here
|
||||||
|
window.phpbbRecaptchaOnLoad = function() {
|
||||||
|
phpbb.recaptcha.load();
|
||||||
|
};
|
||||||
|
|
||||||
|
window.phpbbRecaptchaOnSubmit = function() {
|
||||||
|
phpbb.recaptcha.submitForm();
|
||||||
|
};
|
||||||
|
|
||||||
$(window).on('load', phpbb.lazyLoadAvatars);
|
$(window).on('load', phpbb.lazyLoadAvatars);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply code editor to all textarea elements with data-bbcode attribute
|
* Apply code editor to all textarea elements with data-bbcode attribute
|
||||||
*/
|
*/
|
||||||
$(function() {
|
$(function() {
|
||||||
|
// reCAPTCHA v3 needs to be initialized
|
||||||
|
if (phpbb.recaptcha.v3.length) {
|
||||||
|
phpbb.recaptcha.load();
|
||||||
|
}
|
||||||
|
|
||||||
$('textarea[data-bbcode]').each(function() {
|
$('textarea[data-bbcode]').each(function() {
|
||||||
phpbb.applyCodeEditor(this);
|
phpbb.applyCodeEditor(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
phpbb.registerPageDropdowns();
|
phpbb.registerPageDropdowns();
|
||||||
|
|
||||||
$('[data-orientation]').each(function() {
|
$('[data-color-palette], [data-orientation]').each(function() {
|
||||||
phpbb.registerPalette($(this));
|
phpbb.registerPalette($(this));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
2
phpBB/assets/javascript/jquery-3.5.1.min.js
vendored
Normal file
2
phpBB/assets/javascript/jquery-3.5.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
phpBB/assets/javascript/jquery.min.js
vendored
5
phpBB/assets/javascript/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -84,7 +84,7 @@ $user = $phpbb_container->get('user');
|
|||||||
$user->data['user_id'] = ANONYMOUS;
|
$user->data['user_id'] = ANONYMOUS;
|
||||||
$user->ip = '127.0.0.1';
|
$user->ip = '127.0.0.1';
|
||||||
|
|
||||||
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $language);
|
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $language, $config);
|
||||||
$application->setDispatcher($phpbb_container->get('dispatcher'));
|
$application->setDispatcher($phpbb_container->get('dispatcher'));
|
||||||
$application->register_container_commands($phpbb_container->get('console.command_collection'));
|
$application->register_container_commands($phpbb_container->get('console.command_collection'));
|
||||||
$application->run($input);
|
$application->run($input);
|
||||||
|
29
phpBB/cache/.htaccess
vendored
29
phpBB/cache/.htaccess
vendored
@@ -1,4 +1,25 @@
|
|||||||
<Files *>
|
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
|
||||||
Order Allow,Deny
|
# module mod_authz_host to a new module called mod_access_compat (which may be
|
||||||
Deny from All
|
# disabled) and a new "Require" syntax has been introduced to mod_authz_core.
|
||||||
</Files>
|
# We could just conditionally provide both versions, but unfortunately Apache
|
||||||
|
# does not explicitly tell us its version if the module mod_version is not
|
||||||
|
# available. In this case, we check for the availability of module
|
||||||
|
# mod_authz_core (which should be on 2.4 or higher only) as a best guess.
|
||||||
|
<IfModule mod_version.c>
|
||||||
|
<IfVersion < 2.4>
|
||||||
|
Order Allow,Deny
|
||||||
|
Deny from All
|
||||||
|
</IfVersion>
|
||||||
|
<IfVersion >= 2.4>
|
||||||
|
Require all denied
|
||||||
|
</IfVersion>
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_version.c>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
Order Allow,Deny
|
||||||
|
Deny from All
|
||||||
|
</IfModule>
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
Require all denied
|
||||||
|
</IfModule>
|
||||||
|
</IfModule>
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Minimum Requirement: PHP 5.4.0
|
* Minimum Requirement: PHP 7.1.3
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('IN_PHPBB'))
|
if (!defined('IN_PHPBB'))
|
||||||
@@ -132,6 +132,8 @@ catch (InvalidArgumentException $e)
|
|||||||
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
|
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
|
||||||
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
|
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
|
||||||
|
|
||||||
|
$phpbb_container->get('dbal.conn')->set_debug_sql_explain($phpbb_container->getParameter('debug.sql_explain'));
|
||||||
|
$phpbb_container->get('dbal.conn')->set_debug_load_time($phpbb_container->getParameter('debug.load_time'));
|
||||||
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
|
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
|
||||||
|
|
||||||
register_compatibility_globals();
|
register_compatibility_globals();
|
||||||
|
@@ -25,51 +25,53 @@
|
|||||||
"phpbb/phpbb-core": "self.version"
|
"phpbb/phpbb-core": "self.version"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.4",
|
"php": "^7.1.3",
|
||||||
"bantu/ini-get-wrapper": "1.0.*",
|
"ext-json": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"bantu/ini-get-wrapper": "~1.0",
|
||||||
"google/recaptcha": "~1.1",
|
"google/recaptcha": "~1.1",
|
||||||
"guzzlehttp/guzzle": "~5.3",
|
"guzzlehttp/guzzle": "~6.3",
|
||||||
"lusitanian/oauth": "^0.8.1",
|
"lusitanian/oauth": "^0.8.1",
|
||||||
"marc1706/fast-image-size": "^1.1",
|
"marc1706/fast-image-size": "^1.1",
|
||||||
"paragonie/random_compat": "^2.0",
|
|
||||||
"patchwork/utf8": "^1.1",
|
"patchwork/utf8": "^1.1",
|
||||||
"s9e/text-formatter": "^1.3",
|
"s9e/text-formatter": "^2.0",
|
||||||
"symfony/config": "^2.8",
|
"symfony/config": "~3.4",
|
||||||
"symfony/console": "^2.8",
|
"symfony/console": "~3.4",
|
||||||
"symfony/debug": "^2.8",
|
"symfony/debug": "~3.4",
|
||||||
"symfony/dependency-injection": "^2.8",
|
"symfony/dependency-injection": "~3.4",
|
||||||
"symfony/event-dispatcher": "^2.8",
|
"symfony/event-dispatcher": "~3.4",
|
||||||
"symfony/filesystem": "^2.8",
|
"symfony/filesystem": "~3.4",
|
||||||
"symfony/finder": "^2.8",
|
"symfony/finder": "~3.4",
|
||||||
"symfony/http-foundation": "^2.8",
|
"symfony/http-foundation": "~3.4",
|
||||||
"symfony/http-kernel": "^2.8",
|
"symfony/http-kernel": "~3.4",
|
||||||
"symfony/proxy-manager-bridge": "^2.8",
|
"symfony/polyfill-intl-idn": "~1.17.0",
|
||||||
"symfony/routing": "^2.8",
|
"symfony/process": "^3.4",
|
||||||
"symfony/twig-bridge": "^2.8",
|
"symfony/proxy-manager-bridge": "~3.4",
|
||||||
"symfony/yaml": "^2.8",
|
"symfony/routing": "~3.4",
|
||||||
"twig/twig": "^1.0"
|
"symfony/twig-bridge": "~3.4",
|
||||||
|
"symfony/yaml": "~3.4",
|
||||||
|
"twig/twig": "^1.0 || ^2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fabpot/goutte": "~2.0",
|
"fabpot/goutte": "~3.2",
|
||||||
"facebook/webdriver": "~1.1",
|
"php-webdriver/webdriver": "~1.8",
|
||||||
"laravel/homestead": "~2.2",
|
"laravel/homestead": "~7.0",
|
||||||
"phing/phing": "2.4.*",
|
"phing/phing": "~2.4",
|
||||||
"phpunit/dbunit": "1.3.*",
|
"phpunit/dbunit": "~4.0",
|
||||||
"phpunit/phpunit": "^4.1",
|
"phpunit/phpunit": "^7.0",
|
||||||
"sami/sami": "1.*",
|
"squizlabs/php_codesniffer": "~3.4",
|
||||||
"squizlabs/php_codesniffer": "2.*",
|
"symfony/browser-kit": "~3.4",
|
||||||
"symfony/browser-kit": "^2.8",
|
"symfony/css-selector": "~3.4",
|
||||||
"symfony/css-selector": "^2.8",
|
"symfony/dom-crawler": "~3.4"
|
||||||
"symfony/dom-crawler": "^2.8"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.2.x-dev"
|
"dev-master": "3.3.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "5.4.7"
|
"php": "7.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3366
phpBB/composer.lock
generated
3366
phpBB/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,25 @@
|
|||||||
<Files *>
|
# With Apache 2.4 the "Order, Deny" syntax has been deprecated and moved from
|
||||||
Order Allow,Deny
|
# module mod_authz_host to a new module called mod_access_compat (which may be
|
||||||
Deny from All
|
# disabled) and a new "Require" syntax has been introduced to mod_authz_core.
|
||||||
</Files>
|
# We could just conditionally provide both versions, but unfortunately Apache
|
||||||
|
# does not explicitly tell us its version if the module mod_version is not
|
||||||
|
# available. In this case, we check for the availability of module
|
||||||
|
# mod_authz_core (which should be on 2.4 or higher only) as a best guess.
|
||||||
|
<IfModule mod_version.c>
|
||||||
|
<IfVersion < 2.4>
|
||||||
|
Order Allow,Deny
|
||||||
|
Deny from All
|
||||||
|
</IfVersion>
|
||||||
|
<IfVersion >= 2.4>
|
||||||
|
Require all denied
|
||||||
|
</IfVersion>
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_version.c>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
Order Allow,Deny
|
||||||
|
Deny from All
|
||||||
|
</IfModule>
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
Require all denied
|
||||||
|
</IfModule>
|
||||||
|
</IfModule>
|
||||||
|
@@ -14,6 +14,8 @@ parameters:
|
|||||||
|
|
||||||
# List of default password driver types
|
# List of default password driver types
|
||||||
passwords.algorithms:
|
passwords.algorithms:
|
||||||
|
- passwords.driver.argon2id
|
||||||
|
- passwords.driver.argon2i
|
||||||
- passwords.driver.bcrypt_2y
|
- passwords.driver.bcrypt_2y
|
||||||
- passwords.driver.bcrypt
|
- passwords.driver.bcrypt
|
||||||
- passwords.driver.salted_md5
|
- passwords.driver.salted_md5
|
||||||
|
@@ -27,6 +27,7 @@ imports:
|
|||||||
- { resource: services_text_formatter.yml }
|
- { resource: services_text_formatter.yml }
|
||||||
- { resource: services_text_reparser.yml }
|
- { resource: services_text_reparser.yml }
|
||||||
- { resource: services_twig.yml }
|
- { resource: services_twig.yml }
|
||||||
|
- { resource: services_ucp.yml }
|
||||||
- { resource: services_user.yml }
|
- { resource: services_user.yml }
|
||||||
|
|
||||||
- { resource: tables.yml }
|
- { resource: tables.yml }
|
||||||
@@ -84,12 +85,22 @@ services:
|
|||||||
controller.helper:
|
controller.helper:
|
||||||
class: phpbb\controller\helper
|
class: phpbb\controller\helper
|
||||||
arguments:
|
arguments:
|
||||||
- '@template'
|
- '@auth'
|
||||||
- '@user'
|
- '@cache.driver'
|
||||||
- '@config'
|
- '@config'
|
||||||
- '@symfony_request'
|
- '@cron.manager'
|
||||||
|
- '@dbal.conn'
|
||||||
|
- '@dispatcher'
|
||||||
|
- '@language'
|
||||||
- '@request'
|
- '@request'
|
||||||
- '@routing.helper'
|
- '@routing.helper'
|
||||||
|
- '@symfony_request'
|
||||||
|
- '@template'
|
||||||
|
- '@user'
|
||||||
|
- '%core.root_path%'
|
||||||
|
- '%core.adm_relative_path%'
|
||||||
|
- '%core.php_ext%'
|
||||||
|
- '%debug.sql_explain%'
|
||||||
|
|
||||||
controller.resolver:
|
controller.resolver:
|
||||||
class: phpbb\controller\resolver
|
class: phpbb\controller\resolver
|
||||||
|
@@ -15,12 +15,12 @@ services:
|
|||||||
auth.provider.db:
|
auth.provider.db:
|
||||||
class: phpbb\auth\provider\db
|
class: phpbb\auth\provider\db
|
||||||
arguments:
|
arguments:
|
||||||
- '@dbal.conn'
|
- '@captcha.factory'
|
||||||
- '@config'
|
- '@config'
|
||||||
|
- '@dbal.conn'
|
||||||
- '@passwords.manager'
|
- '@passwords.manager'
|
||||||
- '@request'
|
- '@request'
|
||||||
- '@user'
|
- '@user'
|
||||||
- '@service_container'
|
|
||||||
- '%core.root_path%'
|
- '%core.root_path%'
|
||||||
- '%core.php_ext%'
|
- '%core.php_ext%'
|
||||||
tags:
|
tags:
|
||||||
@@ -29,9 +29,9 @@ services:
|
|||||||
auth.provider.apache:
|
auth.provider.apache:
|
||||||
class: phpbb\auth\provider\apache
|
class: phpbb\auth\provider\apache
|
||||||
arguments:
|
arguments:
|
||||||
- '@dbal.conn'
|
|
||||||
- '@config'
|
- '@config'
|
||||||
- '@passwords.manager'
|
- '@dbal.conn'
|
||||||
|
- '@language'
|
||||||
- '@request'
|
- '@request'
|
||||||
- '@user'
|
- '@user'
|
||||||
- '%core.root_path%'
|
- '%core.root_path%'
|
||||||
@@ -42,9 +42,9 @@ services:
|
|||||||
auth.provider.ldap:
|
auth.provider.ldap:
|
||||||
class: phpbb\auth\provider\ldap
|
class: phpbb\auth\provider\ldap
|
||||||
arguments:
|
arguments:
|
||||||
- '@dbal.conn'
|
|
||||||
- '@config'
|
- '@config'
|
||||||
- '@passwords.manager'
|
- '@dbal.conn'
|
||||||
|
- '@language'
|
||||||
- '@user'
|
- '@user'
|
||||||
tags:
|
tags:
|
||||||
- { name: auth.provider }
|
- { name: auth.provider }
|
||||||
@@ -52,18 +52,18 @@ services:
|
|||||||
auth.provider.oauth:
|
auth.provider.oauth:
|
||||||
class: phpbb\auth\provider\oauth\oauth
|
class: phpbb\auth\provider\oauth\oauth
|
||||||
arguments:
|
arguments:
|
||||||
- '@dbal.conn'
|
|
||||||
- '@config'
|
- '@config'
|
||||||
- '@passwords.manager'
|
- '@dbal.conn'
|
||||||
|
- '@auth.provider.db'
|
||||||
|
- '@dispatcher'
|
||||||
|
- '@language'
|
||||||
- '@request'
|
- '@request'
|
||||||
|
- '@auth.provider.oauth.service_collection'
|
||||||
- '@user'
|
- '@user'
|
||||||
- '%tables.auth_provider_oauth_token_storage%'
|
- '%tables.auth_provider_oauth_token_storage%'
|
||||||
- '%tables.auth_provider_oauth_states%'
|
- '%tables.auth_provider_oauth_states%'
|
||||||
- '%tables.auth_provider_oauth_account_assoc%'
|
- '%tables.auth_provider_oauth_account_assoc%'
|
||||||
- '@auth.provider.oauth.service_collection'
|
|
||||||
- '%tables.users%'
|
- '%tables.users%'
|
||||||
- '@service_container'
|
|
||||||
- '@dispatcher'
|
|
||||||
- '%core.root_path%'
|
- '%core.root_path%'
|
||||||
- '%core.php_ext%'
|
- '%core.php_ext%'
|
||||||
tags:
|
tags:
|
||||||
|
@@ -57,3 +57,11 @@ services:
|
|||||||
- [set_name, [core.captcha.plugins.recaptcha]]
|
- [set_name, [core.captcha.plugins.recaptcha]]
|
||||||
tags:
|
tags:
|
||||||
- { name: captcha.plugins }
|
- { name: captcha.plugins }
|
||||||
|
|
||||||
|
core.captcha.plugins.recaptcha_v3:
|
||||||
|
class: phpbb\captcha\plugins\recaptcha_v3
|
||||||
|
shared: false
|
||||||
|
calls:
|
||||||
|
- ['set_name', ['core.captcha.plugins.recaptcha_v3']]
|
||||||
|
tags:
|
||||||
|
- { name: captcha.plugins }
|
||||||
|
@@ -128,6 +128,7 @@ services:
|
|||||||
- '@user'
|
- '@user'
|
||||||
- '@ext.manager'
|
- '@ext.manager'
|
||||||
- '@log'
|
- '@log'
|
||||||
|
- '%cache.driver.class%'
|
||||||
tags:
|
tags:
|
||||||
- { name: console.command }
|
- { name: console.command }
|
||||||
|
|
||||||
@@ -137,6 +138,7 @@ services:
|
|||||||
- '@user'
|
- '@user'
|
||||||
- '@ext.manager'
|
- '@ext.manager'
|
||||||
- '@log'
|
- '@log'
|
||||||
|
- '%cache.driver.class%'
|
||||||
tags:
|
tags:
|
||||||
- { name: console.command }
|
- { name: console.command }
|
||||||
|
|
||||||
@@ -146,6 +148,7 @@ services:
|
|||||||
- '@user'
|
- '@user'
|
||||||
- '@ext.manager'
|
- '@ext.manager'
|
||||||
- '@log'
|
- '@log'
|
||||||
|
- '%cache.driver.class%'
|
||||||
tags:
|
tags:
|
||||||
- { name: console.command }
|
- { name: console.command }
|
||||||
|
|
||||||
@@ -155,14 +158,7 @@ services:
|
|||||||
- '@user'
|
- '@user'
|
||||||
- '@ext.manager'
|
- '@ext.manager'
|
||||||
- '@log'
|
- '@log'
|
||||||
tags:
|
- '%cache.driver.class%'
|
||||||
- { name: console.command }
|
|
||||||
|
|
||||||
console.command.fixup.recalculate_email_hash:
|
|
||||||
class: phpbb\console\command\fixup\recalculate_email_hash
|
|
||||||
arguments:
|
|
||||||
- '@user'
|
|
||||||
- '@dbal.conn'
|
|
||||||
tags:
|
tags:
|
||||||
- { name: console.command }
|
- { name: console.command }
|
||||||
|
|
||||||
|
@@ -2,7 +2,8 @@ services:
|
|||||||
cron.manager:
|
cron.manager:
|
||||||
class: phpbb\cron\manager
|
class: phpbb\cron\manager
|
||||||
arguments:
|
arguments:
|
||||||
- '@cron.task_collection'
|
- '@service_container'
|
||||||
|
- '@routing.helper'
|
||||||
- '%core.root_path%'
|
- '%core.root_path%'
|
||||||
- '%core.php_ext%'
|
- '%core.php_ext%'
|
||||||
|
|
||||||
@@ -13,6 +14,18 @@ services:
|
|||||||
- '@config'
|
- '@config'
|
||||||
- '@dbal.conn'
|
- '@dbal.conn'
|
||||||
|
|
||||||
|
cron.controller:
|
||||||
|
class: phpbb\cron\controller\cron
|
||||||
|
|
||||||
|
cron.event_listener:
|
||||||
|
class: phpbb\cron\event\cron_runner_listener
|
||||||
|
arguments:
|
||||||
|
- '@cron.lock_db'
|
||||||
|
- '@cron.manager'
|
||||||
|
- '@request'
|
||||||
|
tags:
|
||||||
|
- { name: kernel.event_subscriber }
|
||||||
|
|
||||||
# ----- Cron tasks -----
|
# ----- Cron tasks -----
|
||||||
cron.task_collection:
|
cron.task_collection:
|
||||||
class: phpbb\di\service_collection
|
class: phpbb\di\service_collection
|
||||||
|
@@ -12,11 +12,13 @@ services:
|
|||||||
- '@user'
|
- '@user'
|
||||||
- '@auth'
|
- '@auth'
|
||||||
- '@dispatcher'
|
- '@dispatcher'
|
||||||
|
- '@language'
|
||||||
- '%core.php_ext%'
|
- '%core.php_ext%'
|
||||||
|
|
||||||
feed.helper:
|
feed.helper:
|
||||||
class: phpbb\feed\helper
|
class: phpbb\feed\helper
|
||||||
arguments:
|
arguments:
|
||||||
|
- '@auth'
|
||||||
- '@config'
|
- '@config'
|
||||||
- '@service_container'
|
- '@service_container'
|
||||||
- '@path_helper'
|
- '@path_helper'
|
||||||
|
@@ -176,6 +176,16 @@ services:
|
|||||||
tags:
|
tags:
|
||||||
- { name: notification.type }
|
- { name: notification.type }
|
||||||
|
|
||||||
|
notification.type.forum:
|
||||||
|
class: phpbb\notification\type\forum
|
||||||
|
shared: false
|
||||||
|
parent: notification.type.post
|
||||||
|
calls:
|
||||||
|
- [set_user_loader, ['@user_loader']]
|
||||||
|
- [set_config, ['@config']]
|
||||||
|
tags:
|
||||||
|
- { name: notification.type }
|
||||||
|
|
||||||
# ----- Notification's methods -----
|
# ----- Notification's methods -----
|
||||||
# Service MUST NOT be shared for all the plugins to work.
|
# Service MUST NOT be shared for all the plugins to work.
|
||||||
notification.method_collection:
|
notification.method_collection:
|
||||||
@@ -206,8 +216,10 @@ services:
|
|||||||
- '@user_loader'
|
- '@user_loader'
|
||||||
- '@user'
|
- '@user'
|
||||||
- '@config'
|
- '@config'
|
||||||
|
- '@dbal.conn'
|
||||||
- '%core.root_path%'
|
- '%core.root_path%'
|
||||||
- '%core.php_ext%'
|
- '%core.php_ext%'
|
||||||
|
- '%tables.notification_emails%'
|
||||||
tags:
|
tags:
|
||||||
- { name: notification.method }
|
- { name: notification.method }
|
||||||
|
|
||||||
|
@@ -1,4 +1,7 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
passwords.driver.argon2_memory_cost: 65536
|
||||||
|
passwords.driver.argon2_threads: 2
|
||||||
|
passwords.driver.argon2_time_cost: 4
|
||||||
passwords.driver.bcrypt_cost: 10
|
passwords.driver.bcrypt_cost: 10
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@@ -27,6 +30,23 @@ services:
|
|||||||
tags:
|
tags:
|
||||||
- { name: service_collection, tag: passwords.driver }
|
- { name: service_collection, tag: passwords.driver }
|
||||||
|
|
||||||
|
passwords.driver.argon2i:
|
||||||
|
class: phpbb\passwords\driver\argon2i
|
||||||
|
arguments:
|
||||||
|
- '@config'
|
||||||
|
- '@passwords.driver_helper'
|
||||||
|
- '%passwords.driver.argon2_memory_cost%'
|
||||||
|
- '%passwords.driver.argon2_threads%'
|
||||||
|
- '%passwords.driver.argon2_time_cost%'
|
||||||
|
tags:
|
||||||
|
- { name: passwords.driver }
|
||||||
|
|
||||||
|
passwords.driver.argon2id:
|
||||||
|
class: phpbb\passwords\driver\argon2id
|
||||||
|
parent: passwords.driver.argon2i
|
||||||
|
tags:
|
||||||
|
- { name: passwords.driver }
|
||||||
|
|
||||||
passwords.driver.bcrypt:
|
passwords.driver.bcrypt:
|
||||||
class: phpbb\passwords\driver\bcrypt
|
class: phpbb\passwords\driver\bcrypt
|
||||||
arguments:
|
arguments:
|
||||||
|
@@ -3,15 +3,20 @@ services:
|
|||||||
class: phpbb\profilefields\manager
|
class: phpbb\profilefields\manager
|
||||||
arguments:
|
arguments:
|
||||||
- '@auth'
|
- '@auth'
|
||||||
|
- '@config_text'
|
||||||
- '@dbal.conn'
|
- '@dbal.conn'
|
||||||
|
- '@dbal.tools'
|
||||||
- '@dispatcher'
|
- '@dispatcher'
|
||||||
|
- '@language'
|
||||||
|
- '@log'
|
||||||
- '@request'
|
- '@request'
|
||||||
- '@template'
|
- '@template'
|
||||||
- '@profilefields.type_collection'
|
- '@profilefields.type_collection'
|
||||||
- '@user'
|
- '@user'
|
||||||
- '%tables.profile_fields%'
|
- '%tables.profile_fields%'
|
||||||
- '%tables.profile_fields_language%'
|
|
||||||
- '%tables.profile_fields_data%'
|
- '%tables.profile_fields_data%'
|
||||||
|
- '%tables.profile_fields_options_language%'
|
||||||
|
- '%tables.profile_fields_language%'
|
||||||
|
|
||||||
profilefields.lang_helper:
|
profilefields.lang_helper:
|
||||||
class: phpbb\profilefields\lang_helper
|
class: phpbb\profilefields\lang_helper
|
||||||
@@ -56,15 +61,6 @@ services:
|
|||||||
tags:
|
tags:
|
||||||
- { name: profilefield.type }
|
- { name: profilefield.type }
|
||||||
|
|
||||||
profilefields.type.googleplus:
|
|
||||||
class: phpbb\profilefields\type\type_googleplus
|
|
||||||
arguments:
|
|
||||||
- '@request'
|
|
||||||
- '@template'
|
|
||||||
- '@user'
|
|
||||||
tags:
|
|
||||||
- { name: profilefield.type }
|
|
||||||
|
|
||||||
profilefields.type.int:
|
profilefields.type.int:
|
||||||
class: phpbb\profilefields\type\type_int
|
class: phpbb\profilefields\type\type_int
|
||||||
arguments:
|
arguments:
|
||||||
|
@@ -12,8 +12,6 @@ services:
|
|||||||
class: Symfony\Component\HttpKernel\EventListener\RouterListener
|
class: Symfony\Component\HttpKernel\EventListener\RouterListener
|
||||||
arguments:
|
arguments:
|
||||||
- '@router'
|
- '@router'
|
||||||
- null
|
|
||||||
- null
|
|
||||||
- '@request_stack'
|
- '@request_stack'
|
||||||
tags:
|
tags:
|
||||||
- { name: kernel.event_subscriber }
|
- { name: kernel.event_subscriber }
|
||||||
|
@@ -4,6 +4,11 @@ parameters:
|
|||||||
text_formatter.cache.renderer.key: _text_formatter_renderer
|
text_formatter.cache.renderer.key: _text_formatter_renderer
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
text_formatter.acp_utils:
|
||||||
|
class: phpbb\textformatter\s9e\acp_utils
|
||||||
|
arguments:
|
||||||
|
- '@text_formatter.s9e.factory'
|
||||||
|
|
||||||
text_formatter.cache:
|
text_formatter.cache:
|
||||||
alias: text_formatter.s9e.factory
|
alias: text_formatter.s9e.factory
|
||||||
|
|
||||||
|
@@ -38,10 +38,23 @@ services:
|
|||||||
class: phpbb\template\twig\extension
|
class: phpbb\template\twig\extension
|
||||||
arguments:
|
arguments:
|
||||||
- '@template_context'
|
- '@template_context'
|
||||||
|
- '@template.twig.environment'
|
||||||
- '@language'
|
- '@language'
|
||||||
tags:
|
tags:
|
||||||
- { name: twig.extension }
|
- { name: twig.extension }
|
||||||
|
|
||||||
|
template.twig.extensions.avatar:
|
||||||
|
class: phpbb\template\twig\extension\avatar
|
||||||
|
tags:
|
||||||
|
- { name: twig.extension }
|
||||||
|
|
||||||
|
template.twig.extensions.config:
|
||||||
|
class: phpbb\template\twig\extension\config
|
||||||
|
arguments:
|
||||||
|
- '@config'
|
||||||
|
tags:
|
||||||
|
- { name: twig.extension }
|
||||||
|
|
||||||
template.twig.extensions.routing:
|
template.twig.extensions.routing:
|
||||||
class: phpbb\template\twig\extension\routing
|
class: phpbb\template\twig\extension\routing
|
||||||
arguments:
|
arguments:
|
||||||
@@ -49,8 +62,13 @@ services:
|
|||||||
tags:
|
tags:
|
||||||
- { name: twig.extension }
|
- { name: twig.extension }
|
||||||
|
|
||||||
|
template.twig.extensions.username:
|
||||||
|
class: phpbb\template\twig\extension\username
|
||||||
|
tags:
|
||||||
|
- { name: twig.extension }
|
||||||
|
|
||||||
template.twig.extensions.debug:
|
template.twig.extensions.debug:
|
||||||
class: Twig_Extension_Debug
|
class: Twig\Extension\DebugExtension
|
||||||
|
|
||||||
template:
|
template:
|
||||||
class: phpbb\template\twig\twig
|
class: phpbb\template\twig\twig
|
||||||
|
17
phpBB/config/default/container/services_ucp.yml
Normal file
17
phpBB/config/default/container/services_ucp.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
phpbb.ucp.controller.reset_password:
|
||||||
|
class: phpbb\ucp\controller\reset_password
|
||||||
|
arguments:
|
||||||
|
- '@config'
|
||||||
|
- '@dbal.conn'
|
||||||
|
- '@dispatcher'
|
||||||
|
- '@controller.helper'
|
||||||
|
- '@language'
|
||||||
|
- '@log'
|
||||||
|
- '@passwords.manager'
|
||||||
|
- '@request'
|
||||||
|
- '@template'
|
||||||
|
- '@user'
|
||||||
|
- '%tables.users%'
|
||||||
|
- '%core.root_path%'
|
||||||
|
- '%core.php_ext%'
|
@@ -35,6 +35,7 @@ parameters:
|
|||||||
tables.migrations: '%core.table_prefix%migrations'
|
tables.migrations: '%core.table_prefix%migrations'
|
||||||
tables.moderator_cache: '%core.table_prefix%moderator_cache'
|
tables.moderator_cache: '%core.table_prefix%moderator_cache'
|
||||||
tables.modules: '%core.table_prefix%modules'
|
tables.modules: '%core.table_prefix%modules'
|
||||||
|
tables.notification_emails: '%core.table_prefix%notification_emails'
|
||||||
tables.notification_types: '%core.table_prefix%notification_types'
|
tables.notification_types: '%core.table_prefix%notification_types'
|
||||||
tables.notifications: '%core.table_prefix%notifications'
|
tables.notifications: '%core.table_prefix%notifications'
|
||||||
tables.poll_options: '%core.table_prefix%poll_options'
|
tables.poll_options: '%core.table_prefix%poll_options'
|
||||||
|
3
phpBB/config/default/routing/cron.yml
Normal file
3
phpBB/config/default/routing/cron.yml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
phpbb_cron_run:
|
||||||
|
path: /{cron_type}
|
||||||
|
defaults: { _controller: cron.controller:handle }
|
@@ -8,6 +8,10 @@
|
|||||||
# instantiate the 'foo_service' service and call the 'method' method.
|
# instantiate the 'foo_service' service and call the 'method' method.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
phpbb_cron_routing:
|
||||||
|
resource: cron.yml
|
||||||
|
prefix: /cron
|
||||||
|
|
||||||
phpbb_feed_routing:
|
phpbb_feed_routing:
|
||||||
resource: feed.yml
|
resource: feed.yml
|
||||||
prefix: /feed
|
prefix: /feed
|
||||||
@@ -22,3 +26,7 @@ phpbb_help_routing:
|
|||||||
|
|
||||||
phpbb_report_routing:
|
phpbb_report_routing:
|
||||||
resource: report.yml
|
resource: report.yml
|
||||||
|
|
||||||
|
phpbb_ucp_routing:
|
||||||
|
resource: ucp.yml
|
||||||
|
prefix: /user
|
||||||
|
7
phpBB/config/default/routing/ucp.yml
Normal file
7
phpBB/config/default/routing/ucp.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
phpbb_ucp_reset_password_controller:
|
||||||
|
path: /reset_password
|
||||||
|
defaults: { _controller: phpbb.ucp.controller.reset_password:reset }
|
||||||
|
|
||||||
|
phpbb_ucp_forgot_password_controller:
|
||||||
|
path: /forgot_password
|
||||||
|
defaults: { _controller: phpbb.ucp.controller.reset_password:request }
|
@@ -3,11 +3,19 @@ imports:
|
|||||||
|
|
||||||
core:
|
core:
|
||||||
require_dev_dependencies: true
|
require_dev_dependencies: true
|
||||||
|
allow_install_dir: true
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
exceptions: true
|
exceptions: true
|
||||||
|
load_time: true
|
||||||
|
sql_explain: true
|
||||||
|
memory: true
|
||||||
|
show_errors: true
|
||||||
|
|
||||||
twig:
|
twig:
|
||||||
debug: true
|
debug: true
|
||||||
auto_reload: true
|
auto_reload: true
|
||||||
enable_debug_extension: true
|
enable_debug_extension: true
|
||||||
|
|
||||||
|
session:
|
||||||
|
log_errors: true
|
||||||
|
@@ -3,3 +3,4 @@ imports:
|
|||||||
|
|
||||||
core:
|
core:
|
||||||
require_dev_dependencies: true
|
require_dev_dependencies: true
|
||||||
|
allow_install_dir: true
|
||||||
|
@@ -11,10 +11,11 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
define('IN_PHPBB', true);
|
define('IN_PHPBB', true);
|
||||||
define('IN_CRON', true);
|
|
||||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
|
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
|
||||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
||||||
include($phpbb_root_path . 'common.' . $phpEx);
|
include($phpbb_root_path . 'common.' . $phpEx);
|
||||||
@@ -23,62 +24,14 @@ include($phpbb_root_path . 'common.' . $phpEx);
|
|||||||
$user->session_begin(false);
|
$user->session_begin(false);
|
||||||
$auth->acl($user->data);
|
$auth->acl($user->data);
|
||||||
|
|
||||||
function output_image()
|
|
||||||
{
|
|
||||||
// Output transparent gif
|
|
||||||
header('Cache-Control: no-cache');
|
|
||||||
header('Content-type: image/gif');
|
|
||||||
header('Content-length: 43');
|
|
||||||
|
|
||||||
echo base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
|
|
||||||
|
|
||||||
// Flush here to prevent browser from showing the page as loading while
|
|
||||||
// running cron.
|
|
||||||
flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Thanks to various fatal errors and lack of try/finally, it is quite easy to leave
|
|
||||||
// the cron lock locked, especially when working on cron-related code.
|
|
||||||
//
|
|
||||||
// Attempt to alleviate the problem by doing setup outside of the lock as much as possible.
|
|
||||||
|
|
||||||
$cron_type = $request->variable('cron_type', '');
|
$cron_type = $request->variable('cron_type', '');
|
||||||
|
|
||||||
// Comment this line out for debugging so the page does not return an image.
|
$get_params_array = $request->get_super_global(\phpbb\request\request_interface::GET);
|
||||||
output_image();
|
|
||||||
|
|
||||||
/* @var $cron_lock \phpbb\lock\db */
|
/** @var \phpbb\controller\helper $controller_helper */
|
||||||
$cron_lock = $phpbb_container->get('cron.lock_db');
|
$controller_helper = $phpbb_container->get('controller.helper');
|
||||||
if ($cron_lock->acquire())
|
$response = new RedirectResponse(
|
||||||
{
|
$controller_helper->route('phpbb_cron_run', $get_params_array, false),
|
||||||
/* @var $cron \phpbb\cron\manager */
|
301
|
||||||
$cron = $phpbb_container->get('cron.manager');
|
);
|
||||||
|
$response->send();
|
||||||
$task = $cron->find_task($cron_type);
|
|
||||||
if ($task)
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* This event enables you to catch the task before it runs
|
|
||||||
*
|
|
||||||
* @event core.cron_run_before
|
|
||||||
* @var \phpbb\cron\task\wrapper task Current Cron task
|
|
||||||
* @since 3.1.8-RC1
|
|
||||||
*/
|
|
||||||
$vars = array(
|
|
||||||
'task',
|
|
||||||
);
|
|
||||||
extract($phpbb_dispatcher->trigger_event('core.cron_run_before', compact($vars)));
|
|
||||||
|
|
||||||
if ($task->is_parametrized())
|
|
||||||
{
|
|
||||||
$task->parse_parameters($request);
|
|
||||||
}
|
|
||||||
if ($task->is_ready())
|
|
||||||
{
|
|
||||||
$task->run();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$cron_lock->release();
|
|
||||||
}
|
|
||||||
|
|
||||||
garbage_collection();
|
|
||||||
|
@@ -211,7 +211,7 @@ foreach ($prefixes as $prefix)
|
|||||||
);
|
);
|
||||||
|
|
||||||
$db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
|
$db->sql_query('INSERT INTO ' . ACL_OPTIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
|
||||||
|
|
||||||
echo "<p><b>Adding $auth_option...</b></p>\n";
|
echo "<p><b>Adding $auth_option...</b></p>\n";
|
||||||
|
|
||||||
mass_auth('group', 0, 'guests', $auth_option, ACL_NEVER);
|
mass_auth('group', 0, 'guests', $auth_option, ACL_NEVER);
|
||||||
@@ -232,7 +232,7 @@ $db->sql_query($sql);
|
|||||||
$cache->destroy('_acl_options');
|
$cache->destroy('_acl_options');
|
||||||
|
|
||||||
echo "<p><b>Done</b></p>\n";
|
echo "<p><b>Done</b></p>\n";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$ug_type = user|group
|
$ug_type = user|group
|
||||||
$forum_id = forum ids (array|int|0) -> 0 == all forums
|
$forum_id = forum ids (array|int|0) -> 0 == all forums
|
||||||
@@ -375,11 +375,6 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting)
|
|||||||
case 'insert':
|
case 'insert':
|
||||||
switch ($db->get_sql_layer())
|
switch ($db->get_sql_layer())
|
||||||
{
|
{
|
||||||
case 'mysql':
|
|
||||||
case 'mysql4':
|
|
||||||
$sql = 'VALUES ' . implode(', ', preg_replace('#^(.*?)$#', '(\1)', $sql_subary));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'sqlite3':
|
case 'sqlite3':
|
||||||
$sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary));
|
$sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary));
|
||||||
break;
|
break;
|
||||||
|
@@ -1,74 +0,0 @@
|
|||||||
<?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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
//
|
|
||||||
// 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");
|
|
||||||
@set_time_limit(300);
|
|
||||||
|
|
||||||
$db = $dbhost = $dbuser = $dbpasswd = $dbport = $dbname = '';
|
|
||||||
|
|
||||||
define('IN_PHPBB', 1);
|
|
||||||
define('ANONYMOUS', 1);
|
|
||||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
|
||||||
$phpbb_root_path='./../';
|
|
||||||
include($phpbb_root_path . 'config.'.$phpEx);
|
|
||||||
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
|
|
||||||
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
|
|
||||||
include($phpbb_root_path . 'includes/functions.'.$phpEx);
|
|
||||||
|
|
||||||
$cache = new acm();
|
|
||||||
$db = new sql_db();
|
|
||||||
|
|
||||||
// Connect to DB
|
|
||||||
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
|
|
||||||
|
|
||||||
$start = 0;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
// Batch query for group members, call group_user_del
|
|
||||||
$sql = "SELECT user_id, user_email
|
|
||||||
FROM {$table_prefix}users
|
|
||||||
LIMIT $start, 100";
|
|
||||||
$result = $db->sql_query($sql);
|
|
||||||
|
|
||||||
if ($row = $db->sql_fetchrow($result))
|
|
||||||
{
|
|
||||||
do
|
|
||||||
{
|
|
||||||
$sql = "UPDATE {$table_prefix}users
|
|
||||||
SET user_email_hash = " . (crc32(strtolower($row['user_email'])) . strlen($row['user_email'])) . '
|
|
||||||
WHERE user_id = ' . $row['user_id'];
|
|
||||||
$db->sql_query($sql);
|
|
||||||
|
|
||||||
$start++;
|
|
||||||
}
|
|
||||||
while ($row = $db->sql_fetchrow($result));
|
|
||||||
|
|
||||||
echo "<br />Batch -> $start\n";
|
|
||||||
flush();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$start = 0;
|
|
||||||
}
|
|
||||||
$db->sql_freeresult($result);
|
|
||||||
}
|
|
||||||
while ($start);
|
|
||||||
|
|
||||||
echo "<p><b>Done</b></p>\n";
|
|
@@ -21,7 +21,6 @@
|
|||||||
$schema_path = dirname(__FILE__) . '/../install/schemas/';
|
$schema_path = dirname(__FILE__) . '/../install/schemas/';
|
||||||
$supported_dbms = array(
|
$supported_dbms = array(
|
||||||
'mssql',
|
'mssql',
|
||||||
'mysql_40',
|
|
||||||
'mysql_41',
|
'mysql_41',
|
||||||
'oracle',
|
'oracle',
|
||||||
'postgres',
|
'postgres',
|
||||||
|
@@ -464,7 +464,7 @@ $old_char = '';
|
|||||||
foreach ($lang_references as $lang_var => $filenames)
|
foreach ($lang_references as $lang_var => $filenames)
|
||||||
{
|
{
|
||||||
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
|
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
|
||||||
$char = $var{0};
|
$char = $var[0];
|
||||||
if ($old_char != $char)
|
if ($old_char != $char)
|
||||||
{
|
{
|
||||||
$old_char = $char;
|
$old_char = $char;
|
||||||
@@ -480,7 +480,7 @@ foreach ($lang_references as $lang_var => $filenames)
|
|||||||
echo '.';
|
echo '.';
|
||||||
flush();
|
flush();
|
||||||
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
|
$var = preg_replace('#^L_(.*?)#', '\1', $lang_var);
|
||||||
$char = $var{0};
|
$char = $var[0];
|
||||||
if ($old_char != $char)
|
if ($old_char != $char)
|
||||||
{
|
{
|
||||||
$old_char = $char;
|
$old_char = $char;
|
||||||
|
@@ -1,212 +0,0 @@
|
|||||||
<?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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This file creates SQL statements to upgrade phpBB on MySQL 3.x/4.0.x to 4.1.x/5.x
|
|
||||||
*/
|
|
||||||
|
|
||||||
//
|
|
||||||
// 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");
|
|
||||||
|
|
||||||
define('IN_PHPBB', true);
|
|
||||||
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
|
|
||||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
|
||||||
include($phpbb_root_path . 'common.' . $phpEx);
|
|
||||||
|
|
||||||
$prefix = $table_prefix;
|
|
||||||
|
|
||||||
$newline = "\n";
|
|
||||||
|
|
||||||
if (PHP_SAPI !== 'cli')
|
|
||||||
{
|
|
||||||
$newline = '<br>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = 'DESCRIBE ' . POSTS_TABLE . ' post_text';
|
|
||||||
$result = $db->sql_query($sql);
|
|
||||||
|
|
||||||
$row = $db->sql_fetchrow($result);
|
|
||||||
|
|
||||||
$db->sql_freeresult($result);
|
|
||||||
|
|
||||||
$mysql_indexer = $drop_index = false;
|
|
||||||
|
|
||||||
if (strtolower($row['Type']) === 'mediumtext')
|
|
||||||
{
|
|
||||||
$mysql_indexer = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strtolower($row['Key']) === 'mul')
|
|
||||||
{
|
|
||||||
$drop_index = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "USE $dbname;$newline$newline";
|
|
||||||
|
|
||||||
|
|
||||||
@set_time_limit(0);
|
|
||||||
|
|
||||||
$finder = new \phpbb\finder(new \phpbb\filesystem\filesystem(), $phpbb_root_path);
|
|
||||||
$classes = $finder->core_path('phpbb/')
|
|
||||||
->directory('/db/migration/data')
|
|
||||||
->get_classes();
|
|
||||||
|
|
||||||
$factory = new \phpbb\db\tools\factory();
|
|
||||||
$db_tools = $factory->get($db, true);
|
|
||||||
|
|
||||||
$schema_generator = new \phpbb\db\migration\schema_generator($classes, $config, $db, $db_tools, $phpbb_root_path, $phpEx, $table_prefix);
|
|
||||||
$schema_data = $schema_generator->get_schema();
|
|
||||||
$dbms_type_map = \phpbb\db\tools\tools::get_dbms_type_map();
|
|
||||||
|
|
||||||
foreach ($schema_data as $table_name => $table_data)
|
|
||||||
{
|
|
||||||
$table_name = str_replace('phpbb_', $prefix, $table_name);
|
|
||||||
// Write comment about table
|
|
||||||
echo "# Table: '{$table_name}'$newline";
|
|
||||||
|
|
||||||
// Create Table statement
|
|
||||||
$generator = $textimage = false;
|
|
||||||
|
|
||||||
// Do we need to DROP a fulltext index before we alter the table?
|
|
||||||
if ($table_name == ($prefix . 'posts') && $drop_index)
|
|
||||||
{
|
|
||||||
echo "ALTER TABLE {$table_name}{$newline}";
|
|
||||||
echo "DROP INDEX post_text,{$newline}DROP INDEX post_subject,{$newline}DROP INDEX post_content;{$newline}{$newline}";
|
|
||||||
}
|
|
||||||
|
|
||||||
$line = "ALTER TABLE {$table_name} $newline";
|
|
||||||
|
|
||||||
// Table specific so we don't get overlap
|
|
||||||
$modded_array = array();
|
|
||||||
|
|
||||||
// Write columns one by one...
|
|
||||||
foreach ($table_data['COLUMNS'] as $column_name => $column_data)
|
|
||||||
{
|
|
||||||
// Get type
|
|
||||||
if (strpos($column_data[0], ':') !== false)
|
|
||||||
{
|
|
||||||
list($orig_column_type, $column_length) = explode(':', $column_data[0]);
|
|
||||||
$column_type = sprintf($dbms_type_map['mysql_41'][$orig_column_type . ':'], $column_length);
|
|
||||||
|
|
||||||
if (isset($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit']) &&
|
|
||||||
isset($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0]))
|
|
||||||
{
|
|
||||||
switch ($dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][0])
|
|
||||||
{
|
|
||||||
case 'mult':
|
|
||||||
if (($column_length * $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][1]) > $dbms_type_map['mysql_40'][$orig_column_type . ':']['limit'][2])
|
|
||||||
{
|
|
||||||
$modded_array[$column_name] = $column_type;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$orig_column_type .= ':';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$orig_column_type = $column_data[0];
|
|
||||||
$other_column_type = $dbms_type_map['mysql_40'][$column_data[0]];
|
|
||||||
if ($other_column_type == 'text' || $other_column_type == 'blob')
|
|
||||||
{
|
|
||||||
$modded_array[$column_name] = $column_type;
|
|
||||||
}
|
|
||||||
$column_type = $dbms_type_map['mysql_41'][$column_data[0]];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adjust default value if db-dependent specified
|
|
||||||
if (is_array($column_data[1]))
|
|
||||||
{
|
|
||||||
$column_data[1] = (isset($column_data[1][$dbms])) ? $column_data[1][$dbms] : $column_data[1]['default'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$line .= "\tMODIFY {$column_name} {$column_type} ";
|
|
||||||
|
|
||||||
// For hexadecimal values do not use single quotes
|
|
||||||
if (!is_null($column_data[1]) && substr($column_type, -4) !== 'text' && substr($column_type, -4) !== 'blob')
|
|
||||||
{
|
|
||||||
$line .= (strpos($column_data[1], '0x') === 0) ? "DEFAULT {$column_data[1]} " : "DEFAULT '{$column_data[1]}' ";
|
|
||||||
}
|
|
||||||
$line .= 'NOT NULL';
|
|
||||||
|
|
||||||
if (isset($column_data[2]))
|
|
||||||
{
|
|
||||||
if ($column_data[2] == 'auto_increment')
|
|
||||||
{
|
|
||||||
$line .= ' auto_increment';
|
|
||||||
}
|
|
||||||
else if ($column_data[2] == 'true_sort')
|
|
||||||
{
|
|
||||||
$line .= ' COLLATE utf8_unicode_ci';
|
|
||||||
}
|
|
||||||
else if ($column_data[2] == 'no_sort')
|
|
||||||
{
|
|
||||||
$line .= ' COLLATE utf8_bin';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (preg_match('/(?:var)?char|(?:medium)?text/i', $column_type))
|
|
||||||
{
|
|
||||||
$line .= ' COLLATE utf8_bin';
|
|
||||||
}
|
|
||||||
|
|
||||||
$line .= ",$newline";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write Keys
|
|
||||||
if (isset($table_data['KEYS']))
|
|
||||||
{
|
|
||||||
foreach ($table_data['KEYS'] as $key_name => $key_data)
|
|
||||||
{
|
|
||||||
$temp = '';
|
|
||||||
if (!is_array($key_data[1]))
|
|
||||||
{
|
|
||||||
$key_data[1] = array($key_data[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$temp .= ($key_data[0] == 'INDEX') ? "\tADD KEY" : '';
|
|
||||||
$temp .= ($key_data[0] == 'UNIQUE') ? "\tADD UNIQUE" : '';
|
|
||||||
$repair = false;
|
|
||||||
foreach ($key_data[1] as $key => $col_name)
|
|
||||||
{
|
|
||||||
if (isset($modded_array[$col_name]))
|
|
||||||
{
|
|
||||||
$repair = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($repair)
|
|
||||||
{
|
|
||||||
$line .= "\tDROP INDEX " . $key_name . ",$newline";
|
|
||||||
$line .= $temp;
|
|
||||||
$line .= ' ' . $key_name . ' (' . implode(', ', $key_data[1]) . "),$newline";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//$line .= "\tCONVERT TO CHARACTER SET `utf8`$newline";
|
|
||||||
$line .= "\tDEFAULT CHARSET=utf8 COLLATE=utf8_bin;$newline$newline";
|
|
||||||
|
|
||||||
echo $line . "$newline";
|
|
||||||
|
|
||||||
// Do we now need to re-add the fulltext index? ;)
|
|
||||||
if ($table_name == ($prefix . 'posts') && $drop_index)
|
|
||||||
{
|
|
||||||
echo "ALTER TABLE $table_name ADD FULLTEXT (post_subject), ADD FULLTEXT (post_text), ADD FULLTEXT post_content (post_subject, post_text);{$newline}";
|
|
||||||
}
|
|
||||||
}
|
|
@@ -8,46 +8,6 @@
|
|||||||
//
|
//
|
||||||
die("Please read the first lines of this script for instructions on how to enable 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 />\nIPv6: " . $ipv6 . "<br />\n";
|
|
||||||
|
|
||||||
// URL regular expressions
|
// URL regular expressions
|
||||||
|
|
||||||
$pct_encoded = "%[\dA-F]{2}";
|
$pct_encoded = "%[\dA-F]{2}";
|
||||||
|
@@ -8,45 +8,6 @@
|
|||||||
//
|
//
|
||||||
die("Please read the first lines of this script for instructions on how to enable 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
|
// URL regular expressions
|
||||||
|
|
||||||
/* IDN2008 characters derivation
|
/* IDN2008 characters derivation
|
||||||
@@ -72,7 +33,7 @@ $no_hangul = '\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C
|
|||||||
*/
|
*/
|
||||||
$no_cdm = '\x{20D0}-\x{20FF}'; // \p{block=Combining_Diacritical_Marks_For_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_musical = '\x{1D100}-\x{1D1FF}'; // \p{block=Musical_Symbols}
|
||||||
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
|
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
|
||||||
/* Remove certain exceptions:
|
/* Remove certain exceptions:
|
||||||
** U+0640 ARABIC TATWEEL
|
** U+0640 ARABIC TATWEEL
|
||||||
** U+07FA NKO LAJANYALAN
|
** U+07FA NKO LAJANYALAN
|
||||||
|
@@ -1,56 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Corrects user_email_hash values if DB moved from 32-bit system to 64-bit system or vice versa.
|
|
||||||
* The CRC32 function in PHP generates different results for both systems.
|
|
||||||
* @PHP dev team: no, a hexdec() applied to it does not solve the issue. And please document it.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
die("Please read the first lines of this script for instructions on how to enable it");
|
|
||||||
|
|
||||||
set_time_limit(0);
|
|
||||||
|
|
||||||
define('IN_PHPBB', true);
|
|
||||||
$phpbb_root_path = './../';
|
|
||||||
$phpEx = substr(strrchr(__FILE__, '.'), 1);
|
|
||||||
include($phpbb_root_path . 'common.' . $phpEx);
|
|
||||||
|
|
||||||
// Start session management
|
|
||||||
$user->session_begin();
|
|
||||||
$auth->acl($user->data);
|
|
||||||
$user->setup();
|
|
||||||
|
|
||||||
$start = $request->variable('start', 0);
|
|
||||||
$num_items = 1000;
|
|
||||||
|
|
||||||
echo '<br />Updating user email hashes' . "\n";
|
|
||||||
|
|
||||||
$sql = 'SELECT user_id, user_email
|
|
||||||
FROM ' . USERS_TABLE . '
|
|
||||||
ORDER BY user_id ASC';
|
|
||||||
$result = $db->sql_query($sql);
|
|
||||||
|
|
||||||
$echos = 0;
|
|
||||||
while ($row = $db->sql_fetchrow($result))
|
|
||||||
{
|
|
||||||
$echos++;
|
|
||||||
|
|
||||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
|
||||||
SET user_email_hash = '" . $db->sql_escape(phpbb_email_hash($row['user_email'])) . "'
|
|
||||||
WHERE user_id = " . (int) $row['user_id'];
|
|
||||||
$db->sql_query($sql);
|
|
||||||
|
|
||||||
if ($echos == 200)
|
|
||||||
{
|
|
||||||
echo '<br />';
|
|
||||||
$echos = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '.';
|
|
||||||
flush();
|
|
||||||
}
|
|
||||||
$db->sql_freeresult($result);
|
|
||||||
|
|
||||||
echo 'FINISHED';
|
|
||||||
|
|
||||||
// Done
|
|
||||||
$db->sql_close();
|
|
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="keywords" content="" />
|
<meta name="keywords" content="" />
|
||||||
<meta name="description" content="phpBB 3.2.x Changelog" />
|
<meta name="description" content="phpBB 3.3.x Changelog" />
|
||||||
<title>phpBB • Changelog</title>
|
<title>phpBB • Changelog</title>
|
||||||
|
|
||||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
<div id="doc-description">
|
<div id="doc-description">
|
||||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
|
||||||
<h1>phpBB 3.2.x Changelog</h1>
|
<h1>phpBB 3.3.x Changelog</h1>
|
||||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<!-- BEGIN DOCUMENT -->
|
<!-- BEGIN DOCUMENT -->
|
||||||
|
|
||||||
<p class="paragraph main-description">
|
<p class="paragraph main-description">
|
||||||
This is a non-exhaustive (but still near complete) changelog for phpBB 3.2.x including release candidate versions.
|
This is a non-exhaustive (but still near complete) changelog for phpBB 3.3.x including release candidate versions.
|
||||||
Our thanks to all those people who've contributed bug reports and code fixes.
|
Our thanks to all those people who've contributed bug reports and code fixes.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -50,6 +50,16 @@
|
|||||||
<ol>
|
<ol>
|
||||||
<li><a href="#changelog">Changelog</a>
|
<li><a href="#changelog">Changelog</a>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="#v331">Changes since 3.3.1</a></li>
|
||||||
|
<li><a href="#v331rc1">Changes since 3.3.1-RC1</a></li>
|
||||||
|
<li><a href="#v330">Changes since 3.3.0</a></li>
|
||||||
|
<li><a href="#v330rc1">Changes since 3.3.0-RC1</a></li>
|
||||||
|
<li><a href="#v330b2">Changes since 3.3.0-b2</a></li>
|
||||||
|
<li><a href="#v330b1">Changes since 3.3.0-b1</a></li>
|
||||||
|
<li><a href="#v32x">Changes since 3.2.x</a></li>
|
||||||
|
<li><a href="#v3210rc2">Changes since 3.2.10-RC2</a></li>
|
||||||
|
<li><a href="#v3210rc1">Changes since 3.2.10-RC1</a></li>
|
||||||
|
<li><a href="#v329">Changes since 3.2.9</a></li>
|
||||||
<li><a href="#v329rc1">Changes since 3.2.9-RC1</a></li>
|
<li><a href="#v329rc1">Changes since 3.2.9-RC1</a></li>
|
||||||
<li><a href="#v328">Changes since 3.2.8</a></li>
|
<li><a href="#v328">Changes since 3.2.8</a></li>
|
||||||
<li><a href="#v328rc1">Changes since 3.2.8-RC1</a></li>
|
<li><a href="#v328rc1">Changes since 3.2.8-RC1</a></li>
|
||||||
@@ -142,6 +152,579 @@
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
<a name="v331"></a><h3>Changes since 3.3.1</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16366">PHPBB3-16366</a>] - Language dictionaries other than common.php are unavailable to BBCode templates in feeds</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16488">PHPBB3-16488</a>] - ACP build_cfg_template does not support 0 as minimum value</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16512">PHPBB3-16512</a>] - make_clickable() function does not apply custom classes</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16525">PHPBB3-16525</a>] - Database backup generates a general error with PostgreSQL 12+</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16526">PHPBB3-16526</a>] - Not proper handled comma-separated ACP configuration values</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16532">PHPBB3-16532</a>] - Example post is stored as invalid XML</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16544">PHPBB3-16544</a>] - topic_notify.txt is wrongly used for forum subscriptions</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16565">PHPBB3-16565</a>] - Circular dependencies when cron task depends on controller.helper</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16568">PHPBB3-16568</a>] - Problem with drop-down menu</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16569">PHPBB3-16569</a>] - Massive margin between posts when zoomed out in browser</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16583">PHPBB3-16583</a>] - Reset button in create search index not working</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16588">PHPBB3-16588</a>] - Update docs links from 3.2.x to 3.3.x</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16593">PHPBB3-16593</a>] - Undefined properties in create_search_index install task</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16597">PHPBB3-16597</a>] - Doctum can't build docs on branches older than 3.3.x</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16602">PHPBB3-16602</a>] - phpBB cannot be installed and/or run without iconv or mbstring</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16605">PHPBB3-16605</a>] - SQL Registration errors do not trigger an error correctly</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-15300">PHPBB3-15300</a>] - Maximum attachment filesize is nowhere mentioned</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16208">PHPBB3-16208</a>] - No option for email for "Notify me" when a reported post is dealt with</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16430">PHPBB3-16430</a>] - Permission ordering</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16472">PHPBB3-16472</a>] - Remove PhantomJS UI tests</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16527">PHPBB3-16527</a>] - Add role_exists to migration tools</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16533">PHPBB3-16533</a>] - Add core and template events to customize UCP login keys management module</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16556">PHPBB3-16556</a>] - Remove purposeless <Files "*"> from .htaccess</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16557">PHPBB3-16557</a>] - Support piping tracker XML to build_changelog.php</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16562">PHPBB3-16562</a>] - Add explanation for password complexity when resetting password</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16604">PHPBB3-16604</a>] - Display error message if avatar upload folder is not writable</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16608">PHPBB3-16608</a>] - Modernize README</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16612">PHPBB3-16612</a>] - Restructure HTML for agreement, coppa, terms etc. </li>
|
||||||
|
</ul>
|
||||||
|
<h4>Task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-15594">PHPBB3-15594</a>] - The deprecated AOL contact field should be removed</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16571">PHPBB3-16571</a>] - Update s9e TextFormatter</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16580">PHPBB3-16580</a>] - Update rendering tests to match actual Prosilver</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16616">PHPBB3-16616</a>] - Update composer dependencies to latest versions</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v331rc1"></a><h3>Changes since 3.3.1-RC1</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16524">PHPBB3-16524</a>] - General error (SQL ERROR) on adding emoji character to the profile field</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16543">PHPBB3-16543</a>] - Update querystring in stylesheet.css to hashes</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16550">PHPBB3-16550</a>] - compact(): Undefined variable: url - in PMs</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16552">PHPBB3-16552</a>] - Roll back FontAwesome 5 changes.</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16552">PHPBB3-16559</a>] - Undefined event variables in MCP queue</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16554">PHPBB3-16554</a>] - Align all .htaccess files to support Apache 2.4 mod_authz_core directives</li>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/PHPBB3-16555">PHPBB3-16555</a>] - Update to the latest version of jQuery</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Security Issue</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/SECURITY-259">SECURITY-259</a>] - Server-Side Request Forgery via FastImageSize in s9e textformatter</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Hardening</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="https://tracker.phpbb.com/browse/SECURITY-257">SECURITY-257</a>] - Potential RCE via Phar Deserialization through Legacy BBCode Parser</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v330"></a><h3>Changes since 3.3.0</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10506">PHPBB3-10506</a>] - Not confirming "Save as Draft" strips attachments from PMs</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13426">PHPBB3-13426</a>] - Timezone related fatal error after upgrade to 3.1.2</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13914">PHPBB3-13914</a>] - Could not get style data via MySQL DB auto_increment_offset != 1 </li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14754">PHPBB3-14754</a>] - Receive too many topic email notifications when "notification.method.board" is off.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15079">PHPBB3-15079</a>] - MySql Error when saving draft with Emoji</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15194">PHPBB3-15194</a>] - Cannot remove group avatar in UCP (manage group)</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15275">PHPBB3-15275</a>] - Post details: Look up IP links don't properly work</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15395">PHPBB3-15395</a>] - Very slow FTS on PostgreSQL</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15438">PHPBB3-15438</a>] - Use wrong word in ACP for logged administrators actions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15560">PHPBB3-15560</a>] - Wrong redirection upon hard delete after soft delete in viewtopic</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15572">PHPBB3-15572</a>] - Quoted posts fail W3C Validator</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15591">PHPBB3-15591</a>] - Users with disabled "Can send instant messages" permission can view jabber address</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15712">PHPBB3-15712</a>] - Inserting an emoji in PM subject field causes errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15766">PHPBB3-15766</a>] - "No role assigned...." for forum permissions is ambiguous</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15887">PHPBB3-15887</a>] - Firefox confuses username and e-mail when storing passwords</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15937">PHPBB3-15937</a>] - Update phpBB reCAPTCHA plugin to handle Google reCAPTCHA v3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15979">PHPBB3-15979</a>] - Restoring deleted post on edit does not update last post info</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16060">PHPBB3-16060</a>] - auto-prune of shadow topics triggered by prune_all_forums updates wrong timestamp</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16149">PHPBB3-16149</a>] - Missing profile field data</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16222">PHPBB3-16222</a>] - Timezone suggestion in UCP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16234">PHPBB3-16234</a>] - Search syntax broken when using Sphinx Fulltext backend</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16245">PHPBB3-16245</a>] - Overflow in MSSQL attempting to manage attachments when collection > 2.1 GB</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16289">PHPBB3-16289</a>] - U_VIEW_REPORT in emails is incorrectly HTML-encoded</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16296">PHPBB3-16296</a>] - Unable to delete or mark PMs in UCP folder view</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16307">PHPBB3-16307</a>] - Incorrect SQL / PHP time when debug.sql_explain is enabled</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16308">PHPBB3-16308</a>] - phpBB 3.3.0 PHP Fatal error (template\context::assign_block_vars())</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16309">PHPBB3-16309</a>] - Smilies with a left square bracket do not work</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16310">PHPBB3-16310</a>] - S_SOFTDELETE_ALLOWED condition in posting.php is wrong and causes soft delete option to appear when it should not</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16311">PHPBB3-16311</a>] - Incorrect password length ACP setting explanation</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16314">PHPBB3-16314</a>] - Database connection gets closed on controllers</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16316">PHPBB3-16316</a>] - navbar_header.html of prosilver style breaks Rich-Markup</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16319">PHPBB3-16319</a>] - Mobile landscape, tablet portrait react wrong</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16323">PHPBB3-16323</a>] - The spaceless tag is deprecated</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16325">PHPBB3-16325</a>] - Error "Failure while aqcuiring locks" when trying to install phpBB 3.3.0</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16332">PHPBB3-16332</a>] - Language strings for CODE and QUOTE are missing in the MCP post details and in the member profiles</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16335">PHPBB3-16335</a>] - $display_cat and $download_link are undefined variables for core.parse_attachments_modify_template_data when $denied is true</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16339">PHPBB3-16339</a>] - Poll's voting options are not fully Ajaxed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16344">PHPBB3-16344</a>] - phpbb_validate_email uses non-existent language keys</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16348">PHPBB3-16348</a>] - user_ban double free of $result when banning a non-existent or disallowed username on command line</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16356">PHPBB3-16356</a>] - Saving a draft does not delete orphaned attachments from the server</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16358">PHPBB3-16358</a>] - Attachment tab should be removed when there are no filters</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16360">PHPBB3-16360</a>] - PHP warning on GD 3D image CAPTCHA</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16361">PHPBB3-16361</a>] - Local URL truncation from link helper truncate_local_url does not work correctly</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16367">PHPBB3-16367</a>] - Feed controller is not actually setting character set of response</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16368">PHPBB3-16368</a>] - DI container always rebuilds itself when defined('DEBUG') is true and extensions use Composer for dependencies due to out-of-order freshness checks</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16376">PHPBB3-16376</a>] - Undefined index 'display_subforum_limit' on board index</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16377">PHPBB3-16377</a>] - Undefined index navlinks in navbar_header</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16378">PHPBB3-16378</a>] - Update deprecated console exception_subscriber</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16379">PHPBB3-16379</a>] - Update deprecated event dispatcher class</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16380">PHPBB3-16380</a>] - Exception interface should extend \Throwable</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16382">PHPBB3-16382</a>] - Update deprecated Twig classes</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16391">PHPBB3-16391</a>] - Language file info_mcp_xxx.php from extensions should be included in ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16394">PHPBB3-16394</a>] - Access array offset bug in MCP topic approval - PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16399">PHPBB3-16399</a>] - Emoji's in topic title cause errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16403">PHPBB3-16403</a>] - Attachment icon always displayed in list of reported message</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16407">PHPBB3-16407</a>] - S_MESSAGE_REPORTED and L_MESSAGE_REPORTED aren't defined anywhere</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16416">PHPBB3-16416</a>] - A non-numeric value encountered in ACP attachments settings</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16417">PHPBB3-16417</a>] - SQL fatal error while updating database from older versions via CLI</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16418">PHPBB3-16418</a>] - A non-numeric value encountered - ACP board start date</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16422">PHPBB3-16422</a>] - bbcode URL tag breaking URL's?</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16423">PHPBB3-16423</a>] - Add Aria Engine to list of Fulltext Supported</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16428">PHPBB3-16428</a>] - Allowed schemes in links and similar fields should check field content</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16432">PHPBB3-16432</a>] - PHP Fatal error: APCuIterator::__construct(): APC must be enabled to use APCuIterator</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16435">PHPBB3-16435</a>] - core.page_footer/core.page_footer_after events don't run on app.php pages</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16437">PHPBB3-16437</a>] - Forum permissions don't appear for logged users who cannot post a new topic</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16439">PHPBB3-16439</a>] - Subject line of first unread post displays with incorrect colour</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16453">PHPBB3-16453</a>] - Always load permission lang files before core.permissions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16462">PHPBB3-16462</a>] - Slow tests fail when LDAP extension is not enabled</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16467">PHPBB3-16467</a>] - phpBB3 does not work with spaces in PostgreSQL database passwords</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16474">PHPBB3-16474</a>] - Scrollbar in attachbox</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16476">PHPBB3-16476</a>] - Outdated entries in tweaks.css</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16478">PHPBB3-16478</a>] - phpBB Debug warning "Use of undefined constant ANONYMOUS" in installer</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16480">PHPBB3-16480</a>] - Fix Emoji in report post</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16485">PHPBB3-16485</a>] - Fix Emoji in logs for warning message</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16486">PHPBB3-16486</a>] - Wrong configuration DB update in 3.2.0-a1 migration</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16500">PHPBB3-16500</a>] - Copying topics results in rearranging of inline attachments </li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16503">PHPBB3-16503</a>] - WhoIs lookup has error message in MCP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16505">PHPBB3-16505</a>] - PHP debug warning while using \phpbb\language\language\lang_array() function</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16508">PHPBB3-16508</a>] - Whois not working for IPv6 addresses</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16510">PHPBB3-16510</a>] - Missing rows in config table on new install</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16514">PHPBB3-16514</a>] - Migration google_recaptcha_v3 is in wrong directory</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16530">PHPBB3-16530</a>] - Unknown or bad timezone warning in console installer</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16534">PHPBB3-16534</a>] - Passwords converted from phpBB2 can have invalid hash</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13867">PHPBB3-13867</a>] - Profile field types need an enable/disable mechanism</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15370">PHPBB3-15370</a>] - Spinning indicator missing when updating permissions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15672">PHPBB3-15672</a>] - Keep same format in Submit changes.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16163">PHPBB3-16163</a>] - No error message when there is no displayed post in the MCP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16180">PHPBB3-16180</a>] - Enhance "Send test email" to include information that allows identifying "the test that was being performed."</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16288">PHPBB3-16288</a>] - PHP 8 compatibility</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16313">PHPBB3-16313</a>] - Remote http{} block from nginx sample config</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16315">PHPBB3-16315</a>] - Remove Google+ from Custom profile fields</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16338">PHPBB3-16338</a>] - Add DuckDuckGo as a search bot that phpBB recognizes</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16342">PHPBB3-16342</a>] - Update Argon2 hashing costs</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16350">PHPBB3-16350</a>] - Move acp/mcp ban code to functions_admin.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16351">PHPBB3-16351</a>] - Use CHMOD constants from filesystem_interface</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16352">PHPBB3-16352</a>] - Deprecate unused functions/classes</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16363">PHPBB3-16363</a>] - Allow replying to locked topics with m_lock permission</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16370">PHPBB3-16370</a>] - Add core events for Notification</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16381">PHPBB3-16381</a>] - Add core event to Modify Topics SQL</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16383">PHPBB3-16383</a>] - Add core events to modify friends list</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16384">PHPBB3-16384</a>] - Add template events friends list username {prepend/append}</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16388">PHPBB3-16388</a>] - Add new events in viewforum_body.html and viewtopic_body.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16396">PHPBB3-16396</a>] - Use php-webdriver instead of facebook webdriver</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16397">PHPBB3-16397</a>] - Expose user id directly</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16406">PHPBB3-16406</a>] - Event core.notification_manager_add_notifications_for_users_modify_data incorrectly placed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16411">PHPBB3-16411</a>] - Add vars to notification core events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16421">PHPBB3-16421</a>] - Add contact field icon template events to viewtopic_body.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16424">PHPBB3-16424</a>] - Add base_url to generate_smilies events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16425">PHPBB3-16425</a>] - Add event core.generate_smilies_modify_sql</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16426">PHPBB3-16426</a>] - Search settings should allow specification of number of characters to return</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16429">PHPBB3-16429</a>] - Add vars to 2 ACP User core events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16433">PHPBB3-16433</a>] - Add data array to core.ucp_register_user_row_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16434">PHPBB3-16434</a>] - Remember forum for advanced search</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16443">PHPBB3-16443</a>] - Add event core.ucp_pm_compose_modify_parse_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16444">PHPBB3-16444</a>] - Add event core.ucp_pm_view_message_before</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16446">PHPBB3-16446</a>] - Add event core.message_history_modify_rowset</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16447">PHPBB3-16447</a>] - Add event core.ucp_pm_compose_compose_pm_basic_info_query_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16448">PHPBB3-16448</a>] - Add event core.mcp_get_post_data_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16449">PHPBB3-16449</a>] - Remove AJAX actions for extension management</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16450">PHPBB3-16450</a>] - ACP permission tabs don't use all available space</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16452">PHPBB3-16452</a>] - Upgrade to FontAwesome 5</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16456">PHPBB3-16456</a>] - Add event core.text_formatter_s9e_get_errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16458">PHPBB3-16458</a>] - Add template events to acp_profile.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16461">PHPBB3-16461</a>] - Ignore .idea and node_modules</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16463">PHPBB3-16463</a>] - Fix "acp_board.php" where "ACP_SUBMIT_CHANGES" is not displayed.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16468">PHPBB3-16468</a>] - Amend DocBlocks for user_delete()</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16494">PHPBB3-16494</a>] - Update composer and composer dependencies</li>
|
||||||
|
</ul>
|
||||||
|
<h4>New Feature</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16225">PHPBB3-16225</a>] - Add style version display in ACP install styles page</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16329">PHPBB3-16329</a>] - Strip Exif metadata from uploaded image attachments</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16330">PHPBB3-16330</a>] - Enable ACP option to specify image compression level</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Sub-task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16233">PHPBB3-16233</a>] - Enable exact phrase searching with Sphinx Fulltext</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15609">PHPBB3-15609</a>] - Discrepancy and bugs between moderation queue and reports</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16121">PHPBB3-16121</a>] - Add footer-row to simple_footer.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16122">PHPBB3-16122</a>] - RANK_IMG, GROUP_RANK and RANK_TITLE variables are useless in some template files</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16392">PHPBB3-16392</a>] - Update composer & dependencies</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16415">PHPBB3-16415</a>] - Use API token for appveyor builds</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16419">PHPBB3-16419</a>] - Add mrgoldy to CREDITS.txt</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16440">PHPBB3-16440</a>] - Use a stable version of PHP 7.4 in Travis CI tests</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16496">PHPBB3-16496</a>] - The help line text for custom BBcode could be wrongly displayed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16506">PHPBB3-16506</a>] - Update credits to latest state</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v330rc1"></a><h3>Changes since 3.3.0-RC1</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15592">PHPBB3-15592</a>] - "Place inline" button appears when BBcode is disabled (Post settings)</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15902">PHPBB3-15902</a>] - Out of range error with Sphinx search</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16209">PHPBB3-16209</a>] - Nginx example configuration file blocks an image in the ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16230">PHPBB3-16230</a>] - Check phrasing of FILESYSTEM_CANNOT_* lang keys</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16257">PHPBB3-16257</a>] - Typo in Email Settings section</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16260">PHPBB3-16260</a>] - Missing check whether the index exists in ACP - PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16261">PHPBB3-16261</a>] - Missing check whether the index exists in install - PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16262">PHPBB3-16262</a>] - php 7.3 compact() calls with undefined variables causing error page</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16263">PHPBB3-16263</a>] - Apache auth provider test fails on bamboo</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16266">PHPBB3-16266</a>] - Error on clean install with PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16267">PHPBB3-16267</a>] - Check whether the index exists in ACP BBcodes - PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16273">PHPBB3-16273</a>] - Trying to access array offset on value of type bool in Memberlist</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16274">PHPBB3-16274</a>] - compact() calls with undefined variables in search.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16276">PHPBB3-16276</a>] - Undefined $mode property in bbcode_firstpass class</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16278">PHPBB3-16278</a>] - Update instructions (INSTALL.html)</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16281">PHPBB3-16281</a>] - Extensions' Tab does not show up automatically</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16282">PHPBB3-16282</a>] - Default jQuery CDN URL is outdated on new installs</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16285">PHPBB3-16285</a>] - Missing sanity checks in migrations for 3.3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16287">PHPBB3-16287</a>] - At first ACP screen after install, error message regarding statistics submission</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16293">PHPBB3-16293</a>] - Update hashes cron produces invalid hashes while updating from 3.0</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16221">PHPBB3-16221</a>] - ACP statistics are ugly</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16277">PHPBB3-16277</a>] - Move from each() function</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16279">PHPBB3-16279</a>] - Add permission for Emojii in topic title</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16283">PHPBB3-16283</a>] - Update requirements for 3.3.0</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16290">PHPBB3-16290</a>] - Update to new SVG logo in package docs</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Security</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[SECURITY-249] - Group avatar overwrite on invalid submit</li>
|
||||||
|
<li>[SECURITY-250] - Group leader can be tricked into approving user</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Hardening</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[SECURITY-251] - Unwanted move of PMs to folders</li>
|
||||||
|
<li>[SECURITY-252] - PMs of unsuspecting users can be marked as important</li>
|
||||||
|
<li>[SECURITY-253] - PM export without proper validation</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v330b2"></a><h3>Changes since 3.3.0-b2</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16056">PHPBB3-16056</a>] - JPEG dimensions undetectable for some kind of jpeg files</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16211">PHPBB3-16211</a>] - COPPA should not be skippable</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16226">PHPBB3-16226</a>] - Cron Tasks are not running on some Apache Server</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16227">PHPBB3-16227</a>] - If click login or acp login add errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16228">PHPBB3-16228</a>] - BBCode definitions with an optional attribute and a non-TEXT content are not merged correctly</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16235">PHPBB3-16235</a>] - Ignore patterns in ext-sniff.sh are not processed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16242">PHPBB3-16242</a>] - Redirect loop when install folder doesn't exist</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16255">PHPBB3-16255</a>] - PHP 7.4 Deprecation warning on curly braces offsets</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16258">PHPBB3-16258</a>] - Sample Sphinx configuration file causes delta index to only include the most recent post</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15294">PHPBB3-15294</a>] - Server slowed down when having high session count</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16203">PHPBB3-16203</a>] - Enable Emojis and rich text in sent Emails</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16223">PHPBB3-16223</a>] - Remove no longer supported memcache</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16236">PHPBB3-16236</a>] - Bump phpBB 3.3 maximum PHP version requirement to PHP 7.4</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16239">PHPBB3-16239</a>] - Remove deprecated phpbb\db\tools</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16247">PHPBB3-16247</a>] - Quote PM has no identifier.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16248">PHPBB3-16248</a>] - update to new svg version of logo</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16224">PHPBB3-16224</a>] - Update composer dependencies</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16241">PHPBB3-16241</a>] - Color Palette Syntax Breaks Backwards Compatibility</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16246">PHPBB3-16246</a>] - Prettify and update README Automated Testing section</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v330b1"></a><h3>Changes since 3.3.0-b1</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16008">PHPBB3-16008</a>] - oAuth does not respect custom server settings</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16167">PHPBB3-16167</a>] - phpbb_email_hash creates false duplicates</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16188">PHPBB3-16188</a>] - Statistics Panel in ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16192">PHPBB3-16192</a>] - Installing Extensions Via CLI Broken</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16205">PHPBB3-16205</a>] - Undefined variable 'zebra' in search.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16210">PHPBB3-16210</a>] - Terms of use should not be skippable</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12539">PHPBB3-12539</a>] - Live Member Search Improvements</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12559">PHPBB3-12559</a>] - Add forum setting to limit subforums legend to direct children only</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12574">PHPBB3-12574</a>] - Don't require the passwords_manager in the constructor of the auth plugins</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15958">PHPBB3-15958</a>] - Created forums and default forum created during install have diferent options</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16187">PHPBB3-16187</a>] - Correctly display registration using external services</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16189">PHPBB3-16189</a>] - Deprecate inet_ntop and inet_pton wrappers</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16190">PHPBB3-16190</a>] - Deprecate phpbb's checkdnsrr wrapper</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16195">PHPBB3-16195</a>] - Copy forum permissions missing paragraph</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16196">PHPBB3-16196</a>] - Remove random_compat</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16206">PHPBB3-16206</a>] - Remove offsetExists reimplementation in service_collection</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v32x"></a><h3>Changes since 3.2.x</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14670">PHPBB3-14670</a>] - Use latest symfony branch in master</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14769">PHPBB3-14769</a>] - CLI Installer Fails</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14815">PHPBB3-14815</a>] - The facebook page link is not displayed properly in membership.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15255">PHPBB3-15255</a>] - Language variables of filesystem exception should moved</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15351">PHPBB3-15351</a>] - Confirm box function does not work with symlink on server config</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15377">PHPBB3-15377</a>] - INCLUDECSS and INCLUDEJS broken on all front controllers (app.php)</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15400">PHPBB3-15400</a>] - app.php urls aren't working in vagrant because of nginx</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15424">PHPBB3-15424</a>] - Fix typos in coding guidelines, comments, events list & credits</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15436">PHPBB3-15436</a>] - Remove folder icons from index</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15522">PHPBB3-15522</a>] - Allow multiple color palettes per page</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15643">PHPBB3-15643</a>] - $phpbb_filesystem->resolve_path() may triggers open_basedir restriction</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15686">PHPBB3-15686</a>] - Update homestead for vagrant</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15720">PHPBB3-15720</a>] - Redirections dont need to escape ampersands</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15725">PHPBB3-15725</a>] - Testing framework fails to install extensions because of outdated assertion</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15744">PHPBB3-15744</a>] - Not all sql querys need to free memory</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15828">PHPBB3-15828</a>] - php 7.3 warning in installing 3.2.3 and installtion failed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15846">PHPBB3-15846</a>] - Wrong id for downloadable extension group</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15922">PHPBB3-15922</a>] - Remove support for APC cache</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15935">PHPBB3-15935</a>] - Check if APCu is installed before installing it</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15938">PHPBB3-15938</a>] - Static attributes blacklist references no longer existing classes</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15991">PHPBB3-15991</a>] - Tables in ACP are displayed incorrectly</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16003">PHPBB3-16003</a>] - Post count not updated when deleting only post in topic</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16048">PHPBB3-16048</a>] - Unable to restore any backup from ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16050">PHPBB3-16050</a>] - PHP warning in MCP banning tab on PHP 7.2+</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16057">PHPBB3-16057</a>] - Fix vagrant in 3.3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16074">PHPBB3-16074</a>] - Twemoji -fe0f sequence not rendering</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16076">PHPBB3-16076</a>] - Limit attachment size by extension group</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16131">PHPBB3-16131</a>] - Force vagrant to install phpBB with a specific PHP version</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11515">PHPBB3-11515</a>] - Add interface for lock classes and add new methods</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11838">PHPBB3-11838</a>] - OAuth registration from ucp_register</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12591">PHPBB3-12591</a>] - Improve breadcrumb functionality with new "Home page"/"Forum index" link</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14465">PHPBB3-14465</a>] - Remove maximum password length setting</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14573">PHPBB3-14573</a>] - Extend breadcrumb to support more pages</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14948">PHPBB3-14948</a>] - Changes 3.3 PHP requirement to 7.1</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14972">PHPBB3-14972</a>] - PHP 7.2 compatibility: wrong sizeof/count parameter type</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15088">PHPBB3-15088</a>] - Optimize code for extension manager to avoid repetitions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15153">PHPBB3-15153</a>] - Update laravel/homestead box for vagrant</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15203">PHPBB3-15203</a>] - Missing constants during web installation</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15257">PHPBB3-15257</a>] - Extensions may indicate reasons why they cannot enable</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15269">PHPBB3-15269</a>] - Set development environment and enable all debugs when installing with vagrant</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15274">PHPBB3-15274</a>] - Migration "custom" tool does not allow parameters</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15295">PHPBB3-15295</a>] - Restore MyIsam and mysql environments to test suite</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15330">PHPBB3-15330</a>] - Twig function to know if a language string is defined</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15413">PHPBB3-15413</a>] - Login from any page and redirecting back there</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15508">PHPBB3-15508</a>] - Upgrade Twig to version 2.x</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15564">PHPBB3-15564</a>] - Switch to Invisible reCAPTCHA</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15580">PHPBB3-15580</a>] - Remove extra settings in ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15610">PHPBB3-15610</a>] - Improving UI of Board Statistics in ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15646">PHPBB3-15646</a>] - Add support for Argon2i passwords</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15663">PHPBB3-15663</a>] - Remove flash support in attachments</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15664">PHPBB3-15664</a>] - Manage extensions with ajax</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15671">PHPBB3-15671</a>] - Limit accepted formats to allowed extensions in avatars upload</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15694">PHPBB3-15694</a>] - Add style-related language files into .gitignore</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15714">PHPBB3-15714</a>] - Login after register</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15718">PHPBB3-15718</a>] - Update CONTRIBUTING.md</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15772">PHPBB3-15772</a>] - Hide warning message in acp when install dir is present and allow_install_dir is true</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15905">PHPBB3-15905</a>] - Create multiple twig extensions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15940">PHPBB3-15940</a>] - Expose user_id to notif method's is_available and add event before it to load user data</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15987">PHPBB3-15987</a>] - Make table parameters an array</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16016">PHPBB3-16016</a>] - Provide a base class to implement password hashing via native functions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16017">PHPBB3-16017</a>] - Add support for Argon2id password hashing</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16081">PHPBB3-16081</a>] - Remove eAccelerator as its latest supported PHP version is 5.3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16082">PHPBB3-16082</a>] - Remove XCache as it does not support PHP 7</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16115">PHPBB3-16115</a>] - Add PHP 7.4 builds to travis CI</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16144">PHPBB3-16144</a>] - NO_STYLE_DATA - Provide extra fallback to board's default style for $user.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16148">PHPBB3-16148</a>] - Add template events to acp_groups.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16159">PHPBB3-16159</a>] - Wrap post times in html time tag</li>
|
||||||
|
</ul>
|
||||||
|
<h4>New Feature</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11327">PHPBB3-11327</a>] - Implement reset password functionality via form instead of sending password</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Sub-task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12624">PHPBB3-12624</a>] - Add debug.load_time</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12627">PHPBB3-12627</a>] - Add debug.sql_explain</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12628">PHPBB3-12628</a>] - Add debug.memory</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12629">PHPBB3-12629</a>] - Add debug.errors_show</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12635">PHPBB3-12635</a>] - Add allow_install_dir</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12636">PHPBB3-12636</a>] - Add log.session_errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14542">PHPBB3-14542</a>] - Move cron to controller</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14584">PHPBB3-14584</a>] - Move deprecated globals and functions to compatibility_*.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14761">PHPBB3-14761</a>] - Update travis tests setup too, move myisam from PHP 5.4 to 5.5</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15244">PHPBB3-15244</a>] - Remove the UNGLOBALISE-related code</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15410">PHPBB3-15410</a>] - Remove obsolete code from BBCodes ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15422">PHPBB3-15422</a>] - Remove the unnecessary helpline function and help_line variable</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15738">PHPBB3-15738</a>] - Remove code related with safe mode</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15746">PHPBB3-15746</a>] - Update dependencies for 3.2.3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15921">PHPBB3-15921</a>] - Update TextFormatter to 1.3.2</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15927">PHPBB3-15927</a>] - Fix ACP table display error</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16051">PHPBB3-16051</a>] - Remove mysql driver as it's unsupported</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16052">PHPBB3-16052</a>] - Branch off 3.3.x branch</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16067">PHPBB3-16067</a>] - Define trusty build environment for travis builds</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16072">PHPBB3-16072</a>] - Update s9e/text-formatter</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16112">PHPBB3-16112</a>] - Update composer dependencies to latest</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16175">PHPBB3-16175</a>] - Update composer.json dependencies for 3.3.0-b1</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16185">PHPBB3-16185</a>] - Use Xenial build environment on travis-ci</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v3210rc2"></a><h3>Changes since 3.2.10-RC2</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16417">PHPBB3-16417</a>] - SQL fatal error while updating database from older versions via CLI</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16524">PHPBB3-16524</a>] - General error (SQL ERROR) on adding emoji character to the profile field</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16534">PHPBB3-16534</a>] - Passwords converted from phpBB2 can have invalid hash</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16539">PHPBB3-16539</a>] - General error (SQL error) on posting page in smilies mode</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16550">PHPBB3-16550</a>] - compact(): Undefined variable: url - in PMs</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16554">PHPBB3-16554</a>] - Align all .htaccess files to support Apache 2.4 mod_authz_core directives</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Security Issue</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/SECURITY-259">SECURITY-259</a>] - Server-Side Request Forgery via FastImageSize in s9e textformatter</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Hardening</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/SECURITY-257">SECURITY-257</a>] - Potential RCE via Phar Deserialization through Legacy BBCode Parser</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v3210rc1"></a><h3>Changes since 3.2.10-RC1</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16505">PHPBB3-16505</a>] - PHP debug warning while using \phpbb\language\language\lang_array() function</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16507">PHPBB3-16507</a>] - White page when searching users' posts</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16508">PHPBB3-16508</a>] - Whois not working for IPv6 addresses</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16510">PHPBB3-16510</a>] - Missing rows in config table on new install</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16511">PHPBB3-16511</a>] - Fatal error when deleting user in ACP</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="v329"></a><h3>Changes since 3.2.9</h3>
|
||||||
|
<h4>Bug</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10506">PHPBB3-10506</a>] - Not confirming "Save as Draft" strips attachments from PMs</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13426">PHPBB3-13426</a>] - Timezone related fatal error after upgrade to 3.1.2</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13867">PHPBB3-13867</a>] - Profile field types need an enable/disable mechanism</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13914">PHPBB3-13914</a>] - Could not get style data via MySQL DB auto_increment_offset != 1 </li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15194">PHPBB3-15194</a>] - Cannot remove group avatar in UCP (manage group)</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15275">PHPBB3-15275</a>] - Post details: Look up IP links don't properly work</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15395">PHPBB3-15395</a>] - Very slow FTS on PostgreSQL</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15438">PHPBB3-15438</a>] - Use wrong word in ACP for logged administrators actions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15560">PHPBB3-15560</a>] - Wrong redirection upon hard delete after soft delete in viewtopic</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15591">PHPBB3-15591</a>] - Users with disabled "Can send instant messages" permission can view jabber address</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15712">PHPBB3-15712</a>] - Inserting an emoji in PM subject field causes errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15766">PHPBB3-15766</a>] - "No role assigned...." for forum permissions is ambiguous</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15887">PHPBB3-15887</a>] - Firefox confuses username and e-mail when storing passwords</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15979">PHPBB3-15979</a>] - Restoring deleted post on edit does not update last post info</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16060">PHPBB3-16060</a>] - auto-prune of shadow topics triggered by prune_all_forums updates wrong timestamp</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16149">PHPBB3-16149</a>] - Missing profile field data</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16222">PHPBB3-16222</a>] - Timezone suggestion in UCP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16234">PHPBB3-16234</a>] - Search syntax broken when using Sphinx Fulltext backend</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16245">PHPBB3-16245</a>] - Overflow in MSSQL attempting to manage attachments when collection > 2.1 GB</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16289">PHPBB3-16289</a>] - U_VIEW_REPORT in emails is incorrectly HTML-encoded</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16291">PHPBB3-16291</a>] - MCP Front is missing report time</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16296">PHPBB3-16296</a>] - Unable to delete or mark PMs in UCP folder view</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16310">PHPBB3-16310</a>] - S_SOFTDELETE_ALLOWED condition in posting.php is wrong and causes soft delete option to appear when it should not</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16316">PHPBB3-16316</a>] - navbar_header.html of prosilver style breaks Rich-Markup</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16326">PHPBB3-16326</a>] - Passwort Reset - Template - missing class for new and confirm password</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16332">PHPBB3-16332</a>] - Language strings for CODE and QUOTE are missing in the MCP post details and in the member profiles</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16335">PHPBB3-16335</a>] - $display_cat and $download_link are undefined variables for core.parse_attachments_modify_template_data when $denied is true</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16339">PHPBB3-16339</a>] - Poll's voting options are not fully Ajaxed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16344">PHPBB3-16344</a>] - phpbb_validate_email uses non-existent language keys</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16348">PHPBB3-16348</a>] - user_ban double free of $result when banning a non-existent or disallowed username on command line</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16356">PHPBB3-16356</a>] - Saving a draft does not delete orphaned attachments from the server</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16358">PHPBB3-16358</a>] - Attachment tab should be removed when there are no filters</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16367">PHPBB3-16367</a>] - Feed controller is not actually setting character set of response</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16377">PHPBB3-16377</a>] - Undefined index navlinks in navbar_header</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16391">PHPBB3-16391</a>] - Language file info_mcp_xxx.php from extensions should be included in ACP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16399">PHPBB3-16399</a>] - Emoji's in topic title cause errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16403">PHPBB3-16403</a>] - Attachment icon always displayed in list of reported message</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16407">PHPBB3-16407</a>] - S_MESSAGE_REPORTED and L_MESSAGE_REPORTED aren't defined anywhere</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16416">PHPBB3-16416</a>] - A non-numeric value encountered in ACP attachments settings</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16418">PHPBB3-16418</a>] - A non-numeric value encountered - ACP board start date</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16422">PHPBB3-16422</a>] - bbcode URL tag breaking URL's?</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16423">PHPBB3-16423</a>] - Add Aria Engine to list of Fulltext Supported</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16428">PHPBB3-16428</a>] - Allowed schemes in links and similar fields should check field content</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16432">PHPBB3-16432</a>] - PHP Fatal error: APCuIterator::__construct(): APC must be enabled to use APCuIterator</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16437">PHPBB3-16437</a>] - Forum permissions don't appear for logged users who cannot post a new topic</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16453">PHPBB3-16453</a>] - Always load permission lang files before core.permissions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16467">PHPBB3-16467</a>] - phpBB3 does not work with spaces in PostgreSQL database passwords</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16480">PHPBB3-16480</a>] - Fix Emoji in report post</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16485">PHPBB3-16485</a>] - Fix Emoji in logs for warning message</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16486">PHPBB3-16486</a>] - Wrong configuration DB update in 3.2.0-a1 migration</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16487">PHPBB3-16487</a>] - Wrong CDN URL for fontawesome in 3.2.0 migration</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16500">PHPBB3-16500</a>] - Copying topics results in rearranging of inline attachments </li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16503">PHPBB3-16503</a>] - WhoIs lookup has error message in MCP</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Improvement</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15370">PHPBB3-15370</a>] - Spinning indicator missing when updating permissions</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15672">PHPBB3-15672</a>] - Keep same format in Submit changes.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16163">PHPBB3-16163</a>] - No error message when there is no displayed post in the MCP</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16328">PHPBB3-16328</a>] - Inform users about PHP requirements in PHP 3.3</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16350">PHPBB3-16350</a>] - Move acp/mcp ban code to functions_admin.php</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16351">PHPBB3-16351</a>] - Use CHMOD constants from filesystem_interface</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16352">PHPBB3-16352</a>] - Deprecate unused functions/classes</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16370">PHPBB3-16370</a>] - Add core events for Notification</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16381">PHPBB3-16381</a>] - Add core event to Modify Topics SQL</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16383">PHPBB3-16383</a>] - Add core events to modify friends list</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16384">PHPBB3-16384</a>] - Add template events friends list username {prepend/append}</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16388">PHPBB3-16388</a>] - Add new events in viewforum_body.html and viewtopic_body.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16406">PHPBB3-16406</a>] - Event core.notification_manager_add_notifications_for_users_modify_data incorrectly placed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16411">PHPBB3-16411</a>] - Add vars to notification core events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16421">PHPBB3-16421</a>] - Add contact field icon template events to viewtopic_body.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16424">PHPBB3-16424</a>] - Add base_url to generate_smilies events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16425">PHPBB3-16425</a>] - Add event core.generate_smilies_modify_sql</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16429">PHPBB3-16429</a>] - Add vars to 2 ACP User core events</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16433">PHPBB3-16433</a>] - Add data array to core.ucp_register_user_row_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16443">PHPBB3-16443</a>] - Add event core.ucp_pm_compose_modify_parse_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16444">PHPBB3-16444</a>] - Add event core.ucp_pm_view_message_before</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16446">PHPBB3-16446</a>] - Add event core.message_history_modify_rowset</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16447">PHPBB3-16447</a>] - Add event core.ucp_pm_compose_compose_pm_basic_info_query_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16448">PHPBB3-16448</a>] - Add event core.mcp_get_post_data_after</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16450">PHPBB3-16450</a>] - ACP permission tabs don't use all available space</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16456">PHPBB3-16456</a>] - Add event core.text_formatter_s9e_get_errors</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16458">PHPBB3-16458</a>] - Add template events to acp_profile.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16461">PHPBB3-16461</a>] - Ignore .idea and node_modules</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16463">PHPBB3-16463</a>] - Fix "acp_board.php" where "ACP_SUBMIT_CHANGES" is not displayed.</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16468">PHPBB3-16468</a>] - Amend DocBlocks for user_delete()</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16494">PHPBB3-16494</a>] - Update composer and composer dependencies</li>
|
||||||
|
</ul>
|
||||||
|
<h4>New Feature</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16329">PHPBB3-16329</a>] - Strip Exif metadata from uploaded image attachments</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16330">PHPBB3-16330</a>] - Enable ACP option to specify image compression level</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Sub-task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16233">PHPBB3-16233</a>] - Enable exact phrase searching with Sphinx Fulltext</li>
|
||||||
|
</ul>
|
||||||
|
<h4>Task</h4>
|
||||||
|
<ul>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15609">PHPBB3-15609</a>] - Discrepancy and bugs between moderation queue and reports</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16121">PHPBB3-16121</a>] - Add footer-row to simple_footer.html</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16122">PHPBB3-16122</a>] - RANK_IMG, GROUP_RANK and RANK_TITLE variables are useless in some template files</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16392">PHPBB3-16392</a>] - Update composer & dependencies</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16415">PHPBB3-16415</a>] - Use API token for appveyor builds</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16419">PHPBB3-16419</a>] - Add mrgoldy to CREDITS.txt</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16496">PHPBB3-16496</a>] - The help line text for custom BBcode could be wrongly displayed</li>
|
||||||
|
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16506">PHPBB3-16506</a>] - Update credits to latest state</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<a name="v329rc1"></a><h3>Changes since 3.2.9-RC1</h3>
|
<a name="v329rc1"></a><h3>Changes since 3.2.9-RC1</h3>
|
||||||
<h4>Bug</h4>
|
<h4>Bug</h4>
|
||||||
<ul>
|
<ul>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* phpBB © Copyright phpBB Limited 2003-2019
|
* phpBB © Copyright phpBB Limited 2003-2020
|
||||||
* https://www.phpbb.com
|
* https://www.phpbb.com
|
||||||
*
|
*
|
||||||
* phpBB is free software. You can redistribute it and/or modify it
|
* phpBB is free software. You can redistribute it and/or modify it
|
||||||
@@ -22,16 +22,15 @@ phpBB Project Manager: Marshalrusty (Yuriy Rusko)
|
|||||||
|
|
||||||
phpBB Lead Developer: Marc (Marc Alexander)
|
phpBB Lead Developer: Marc (Marc Alexander)
|
||||||
|
|
||||||
phpBB Developers: bantu (Andreas Fischer)
|
phpBB Developers: CHItA (Máté Bartus)
|
||||||
CHItA (Máté Bartus)
|
|
||||||
Derky (Derk Ruitenbeek)
|
Derky (Derk Ruitenbeek)
|
||||||
Elsensee (Oliver Schramm)
|
|
||||||
Hanakin (Michael Miday)
|
Hanakin (Michael Miday)
|
||||||
|
mrgoldy (Gijs Martens)
|
||||||
Nicofuma (Tristan Darricau)
|
Nicofuma (Tristan Darricau)
|
||||||
rubencm (Rubén Calvo)
|
rubencm (Rubén Calvo)
|
||||||
|
|
||||||
For a list of phpBB Team members, please see:
|
For a list of phpBB Team members, please see:
|
||||||
http://www.phpbb.com/about/team/
|
https://www.phpbb.com/about/team/
|
||||||
|
|
||||||
For a full list of phpBB code contributors, please see:
|
For a full list of phpBB code contributors, please see:
|
||||||
https://github.com/phpbb/phpbb/graphs/contributors
|
https://github.com/phpbb/phpbb/graphs/contributors
|
||||||
@@ -52,11 +51,13 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
|
|||||||
APTX (Marek A. Ruszczyński) [12/2007 - 04/2011]
|
APTX (Marek A. Ruszczyński) [12/2007 - 04/2011]
|
||||||
Arty (Vjacheslav Trushkin) [02/2012 - 07/2012]
|
Arty (Vjacheslav Trushkin) [02/2012 - 07/2012]
|
||||||
Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
|
Ashe (Ludovic Arnaud) [10/2002 - 11/2003, 06/2006 - 10/2006]
|
||||||
|
bantu (Andreas Fischer) [07/2009 - 06/2020]
|
||||||
BartVB (Bart van Bragt) [11/2000 - 03/2006]
|
BartVB (Bart van Bragt) [11/2000 - 03/2006]
|
||||||
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
|
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
|
||||||
DavidMJ (David M.) [12/2005 - 08/2009]
|
DavidMJ (David M.) [12/2005 - 08/2009]
|
||||||
dhn (Dominik Dröscher) [05/2007 - 01/2011]
|
dhn (Dominik Dröscher) [05/2007 - 01/2011]
|
||||||
dhruv.goel92 (Dhruv Goel) [04/2013 - 05/2016]
|
dhruv.goel92 (Dhruv Goel) [04/2013 - 05/2016]
|
||||||
|
Elsensee (Oliver Schramm) [03/2015 - 06/2020]
|
||||||
EXreaction (Nathan Guse) [07/2012 - 05/2014]
|
EXreaction (Nathan Guse) [07/2012 - 05/2014]
|
||||||
GrahamJE (Graham Eames) [09/2005 - 11/2006]
|
GrahamJE (Graham Eames) [09/2005 - 11/2006]
|
||||||
igorw (Igor Wiedler) [08/2010 - 02/2013]
|
igorw (Igor Wiedler) [08/2010 - 02/2013]
|
||||||
@@ -84,10 +85,10 @@ prosilver by subBlue Design, Tom Beddard, (c) 2004 phpBB Limited
|
|||||||
|
|
||||||
phpBB contains code from the following applications:
|
phpBB contains code from the following applications:
|
||||||
|
|
||||||
LGPL licenced:
|
LGPL licensed:
|
||||||
Smarty (c) 2001, 2002 by ispi of Lincoln, Inc, http://smarty.php.net/
|
Smarty (c) 2001, 2002 by ispi of Lincoln, Inc, http://smarty.php.net/
|
||||||
|
|
||||||
GPL licenced:
|
GPL licensed:
|
||||||
phpMyAdmin (c) 2001, 2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
|
phpMyAdmin (c) 2001, 2003 phpMyAdmin Devel team, http://www.phpmyadmin.net/
|
||||||
Jabber Class (c) 2006 Flyspray.org, http://www.flyspray.org/
|
Jabber Class (c) 2006 Flyspray.org, http://www.flyspray.org/
|
||||||
Chora (c) 2000-2006, The Horde Project. http://horde.org/chora/
|
Chora (c) 2000-2006, The Horde Project. http://horde.org/chora/
|
||||||
@@ -101,7 +102,7 @@ Pear (c) 2001-2004 PHP Group, http://pear.php.net
|
|||||||
|
|
||||||
Text_Diff-0.2.1 http://pear.php.net/package/Text_Diff
|
Text_Diff-0.2.1 http://pear.php.net/package/Text_Diff
|
||||||
|
|
||||||
MIT licenced:
|
MIT licensed:
|
||||||
Symfony2 (c) 2004-2011 Fabien Potencier, https://symfony.com/
|
Symfony2 (c) 2004-2011 Fabien Potencier, https://symfony.com/
|
||||||
Cookie Consent (c) 2015 Silktide Ltd, https://cookieconsent.insites.com
|
Cookie Consent (c) 2015 Silktide Ltd, https://cookieconsent.insites.com
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="keywords" content="" />
|
<meta name="keywords" content="" />
|
||||||
<meta name="description" content="phpBB 3.2.x frequently asked questions" />
|
<meta name="description" content="phpBB 3.3.x frequently asked questions" />
|
||||||
<title>phpBB • FAQ</title>
|
<title>phpBB • FAQ</title>
|
||||||
|
|
||||||
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
<link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" media="screen" />
|
||||||
@@ -20,9 +20,9 @@
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
<div id="doc-description">
|
<div id="doc-description">
|
||||||
<a href="../index.php" id="logo"><img src="assets/images/site_logo.gif" alt="" /></a>
|
<a href="../index.php" id="logo"><span class="site_logo"></span></a>
|
||||||
<h1>phpBB 3.2.x FAQ</h1>
|
<h1>phpBB 3.3.x FAQ</h1>
|
||||||
<p>phpBB 3.2.x frequently asked questions</p>
|
<p>phpBB 3.3.x frequently asked questions</p>
|
||||||
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
<p style="display: none;"><a href="#start_here">Skip</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -60,7 +60,6 @@
|
|||||||
<li><a href="#viewonline">According to viewonline a user is doing/reading something they should not be able to!</a></li>
|
<li><a href="#viewonline">According to viewonline a user is doing/reading something they should not be able to!</a></li>
|
||||||
<li><a href="#mail">I keep getting Mail sending errors when I (or my users) post/send PM's/etc.!</a></li>
|
<li><a href="#mail">I keep getting Mail sending errors when I (or my users) post/send PM's/etc.!</a></li>
|
||||||
<li><a href="#mail_language">My users are complaining that emails are not in their selected language!</a></li>
|
<li><a href="#mail_language">My users are complaining that emails are not in their selected language!</a></li>
|
||||||
<li><a href="#aol_browser">My AOL based users keep getting logged out!</a></li>
|
|
||||||
<li><a href="#avatars">I am unable to upload avatars from my computer, regardless of the settings.</a></li>
|
<li><a href="#avatars">I am unable to upload avatars from my computer, regardless of the settings.</a></li>
|
||||||
<li><a href="#gallery_avatars">I just cannot get gallery avatars to appear!</a></li>
|
<li><a href="#gallery_avatars">I just cannot get gallery avatars to appear!</a></li>
|
||||||
<li><a href="#permissions">How do I use/set permissions?</a></li>
|
<li><a href="#permissions">How do I use/set permissions?</a></li>
|
||||||
@@ -182,28 +181,6 @@ I want to sue you because i think you host an illegal board!</h2>
|
|||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<a name="aol_browser"></a><h2>My AOL based users keep getting logged out!</h2>
|
|
||||||
|
|
||||||
<div class="paragraph">
|
|
||||||
<div class="inner">
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
|
|
||||||
<p>phpBB uses sessions to keep track of users as they browse the board. These sessions use a combination of a unique session id, the users IP and if specified the users browser and/or the users x-forwarded-for header to identify each user. We make use of all of this as an extra safe-guard to help prevent sessions being hijacked (by discovering the unique session id).</p>
|
|
||||||
|
|
||||||
<p>Unfortunately this only works when the users IP is constant as they browse the board. For most users this will be the case. However certain providers route their users via a cluster of proxys. In some cases, particularly the AOL browser, this results in different IPs being forwarded as the user moves between pages. We take account of this by not checking the entire IP by default but only the first "three quads" (<samp>A.B.C</samp>). Again in most cases this will be fine. However again AOL uses IPs which can vary so much that checking only the first two quads results in a fairly static IP being available for session validation.</p>
|
|
||||||
|
|
||||||
<p>If you are experiencing problems related to this you can set the Session IP validation parameter found in <code>Admin->General->Server Configuration->Security Settings</code> to <samp>A.B</samp>. Please note that reducing the IP validation length does potentially increase the risk of sessions being hijacked (this is something for you to consider, phpBB Limited takes no responsibility should anything happen!). We suggest to at least additionally enable the browser validation.</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="back2top"><a href="#wrap" class="top">Back to Top</a></div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<a name="avatars"></a><h2>I am unable to upload avatars from my computer, regardless of the settings.</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="paragraph">
|
||||||
@@ -249,7 +226,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
|||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
|
||||||
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.2/ug/">online documentation</a>.</p>
|
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.3/ug/">online documentation</a>.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -305,7 +282,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
|||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
|
||||||
<p>Please read our <a href="https://www.phpbb.com/support/docs/en/3.2/ug/">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.3/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>
|
<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>
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user