mirror of
https://github.com/phpbb/phpbb.git
synced 2025-09-21 13:31:34 +02:00
Compare commits
722 Commits
release-3.
...
release-3.
Author | SHA1 | Date | |
---|---|---|---|
|
b2b5addd09 | ||
|
513b2f8296 | ||
|
32b25d7b11 | ||
|
acfb9b9539 | ||
|
1c6ebcf02b | ||
|
ebd5aace3f | ||
|
5ce89ae82f | ||
|
4b42589cfa | ||
|
ffbe8cdc96 | ||
|
4c11ea97d5 | ||
|
ed2d080551 | ||
|
a2fbde44c0 | ||
|
b2674cf1f6 | ||
|
c423038587 | ||
|
9cdbb69f9e | ||
|
eb4594d8ee | ||
|
40ab75478e | ||
|
47f04d7620 | ||
|
816465bfe9 | ||
|
1367fc234f | ||
|
a737eeb6ce | ||
|
7ed065a630 | ||
|
7d6fdcfaa5 | ||
|
14585fcb4f | ||
|
7fef91afd2 | ||
|
2c9e178a42 | ||
|
9f7f366573 | ||
|
c09023d1db | ||
|
ddeb696b25 | ||
|
eaeb88133f | ||
|
e34b92882a | ||
|
4b9434bf1b | ||
|
08e186af8e | ||
|
f6057c5eab | ||
|
ed6b8f84ad | ||
|
9334100cb3 | ||
|
a5fae1b1f0 | ||
|
41966c481f | ||
|
d0e5c0a187 | ||
|
d17904884e | ||
|
6e00529f36 | ||
|
a8027c542f | ||
|
4d0b04a397 | ||
|
3134b6b70e | ||
|
d1bff80dd1 | ||
|
f02dc44a23 | ||
|
92b5222295 | ||
|
251868dd7e | ||
|
23069a13e2 | ||
|
40006376f2 | ||
|
e66a28eb14 | ||
|
03e3ee7f16 | ||
|
0beb9128f9 | ||
|
d99cd2d02e | ||
|
dab0728357 | ||
|
8002af7526 | ||
|
38c5ee6eec | ||
|
e4a041fedb | ||
|
ebbe6a7791 | ||
|
7e8bb68999 | ||
|
ff39ffacf6 | ||
|
c29db8e7a4 | ||
|
6564446b0f | ||
|
add3d3e760 | ||
|
da189a105b | ||
|
9d2c6b6ed6 | ||
|
6b92fccd06 | ||
|
4e5e356555 | ||
|
9e38e9dc6f | ||
|
ce47170c29 | ||
|
4df125625c | ||
|
8ef238ea73 | ||
|
c99ed64473 | ||
|
e3e16a0166 | ||
|
2a08c60a62 | ||
|
b27c0ab992 | ||
|
1d49ccd920 | ||
|
f075fb78f6 | ||
|
17f4dce0fc | ||
|
1f4bb2c149 | ||
|
e8464d7fe2 | ||
|
fbf7726642 | ||
|
bfba52781b | ||
|
659e15656f | ||
|
10e72a36a3 | ||
|
e0733ae435 | ||
|
ef9abd7165 | ||
|
9cc4d60b88 | ||
|
ec749a2b39 | ||
|
6d3fca9a41 | ||
|
9cbb9b4253 | ||
|
fce1be2684 | ||
|
f02e3a4076 | ||
|
3d8aaf6aaf | ||
|
ffb7d618ac | ||
|
11269fe62a | ||
|
a5a6855a0d | ||
|
a0287a62c1 | ||
|
2b76d7dc7c | ||
|
74e8f9bd4e | ||
|
a415a4ec2b | ||
|
f756632185 | ||
|
c28ef9afdd | ||
|
ba477f77c7 | ||
|
8ed5a047ec | ||
|
e6509aaf60 | ||
|
9caec668af | ||
|
a09c38f1cc | ||
|
0f6a0d820e | ||
|
8f5e3d5efb | ||
|
67c987f0d0 | ||
|
bf59d8dd74 | ||
|
cea35c486c | ||
|
b64d8c59b0 | ||
|
349aaab6ac | ||
|
da9ac2da72 | ||
|
8ae1b0c52e | ||
|
58d8ea5b0b | ||
|
d86bdcb2a7 | ||
|
d2a4d6624f | ||
|
d9bdd05c80 | ||
|
3350df131f | ||
|
9ce8b62894 | ||
|
65ffc76e2f | ||
|
b64da23fe1 | ||
|
67c9f4d064 | ||
|
d4c078cc78 | ||
|
9d9c57f334 | ||
|
38f184ad6b | ||
|
7ba1a96427 | ||
|
e3571fc6eb | ||
|
953a98dc0b | ||
|
de3d7aca16 | ||
|
346f654b2e | ||
|
87578e90eb | ||
|
874356e57f | ||
|
26bf79425c | ||
|
d36b0452bd | ||
|
64d880a15c | ||
|
387e4b942b | ||
|
6fd8f1b835 | ||
|
2dab3c8c52 | ||
|
35b7f94754 | ||
|
2532583765 | ||
|
7a34bf9bf5 | ||
|
281cc53532 | ||
|
3638b2ff64 | ||
|
8c27c7f10b | ||
|
88034ea2f0 | ||
|
86f66b5f72 | ||
|
838b1250f6 | ||
|
4da3d41083 | ||
|
9d9b8139d0 | ||
|
179a7a4c71 | ||
|
970ed40b09 | ||
|
0e0c649477 | ||
|
b3bcc1b501 | ||
|
652a7630bb | ||
|
7dad863a41 | ||
|
c61fa1aaa1 | ||
|
8376a027a1 | ||
|
d769e59090 | ||
|
abc5dbcd71 | ||
|
59ab09273f | ||
|
92d7c16782 | ||
|
0104188074 | ||
|
d455dd68f6 | ||
|
cf036ea0e8 | ||
|
655d95002c | ||
|
0a1f8388d0 | ||
|
3f88be6527 | ||
|
50ed202aac | ||
|
a92589436a | ||
|
b0f1a0f4bb | ||
|
6ff0aaaa70 | ||
|
ffbe1d424b | ||
|
a5922a0e8b | ||
|
fa06c7967e | ||
|
d5f99e0478 | ||
|
7b43d5c54e | ||
|
3ba62628dc | ||
|
faad779cf6 | ||
|
f6b21a2789 | ||
|
867a45138c | ||
|
aea67c8e37 | ||
|
d2334ab3e0 | ||
|
5b1c9831c2 | ||
|
a66e4770c1 | ||
|
0929267e72 | ||
|
dd9c415020 | ||
|
dd6efdad59 | ||
|
13320a08ef | ||
|
8098d313e6 | ||
|
458f9cade6 | ||
|
7512efed9e | ||
|
2929f28243 | ||
|
7b0cabc416 | ||
|
6463354a39 | ||
|
9f1493ce73 | ||
|
91dc002c31 | ||
|
54b5ee5806 | ||
|
75780d7fc8 | ||
|
61df1ac2b3 | ||
|
46384adf00 | ||
|
719aa66224 | ||
|
15507ffc16 | ||
|
bb4b3d2731 | ||
|
4dab281da1 | ||
|
1aea572aca | ||
|
fda5d8d637 | ||
|
1896825f39 | ||
|
566510769b | ||
|
4700b44125 | ||
|
641a9e5441 | ||
|
7fbf5649eb | ||
|
dfbc109b59 | ||
|
0a419781c2 | ||
|
0795b6bd6c | ||
|
ddd1937655 | ||
|
3bf55c0b4d | ||
|
a8d3cbe53b | ||
|
96a734b012 | ||
|
b7f83b2cfc | ||
|
bfecae1d60 | ||
|
1c02f7e032 | ||
|
f045744606 | ||
|
10a4f79135 | ||
|
4159bb1340 | ||
|
ac8a4b05b4 | ||
|
80a7f6930c | ||
|
614f975e68 | ||
|
df3447b725 | ||
|
e9cb9baedb | ||
|
e279a779fc | ||
|
e596d0b6ce | ||
|
0388d82504 | ||
|
909bb523bf | ||
|
589394e80b | ||
|
7f7f60698c | ||
|
13d4394844 | ||
|
70483d6088 | ||
|
2f92bc38e6 | ||
|
499c1467df | ||
|
c5227ab2a5 | ||
|
fe1f7beaf8 | ||
|
ac8b07ddd9 | ||
|
aab98b8626 | ||
|
1145af71bf | ||
|
b7f69edaa2 | ||
|
8f1a1874a9 | ||
|
bc7db0ae16 | ||
|
88798b3514 | ||
|
79ce924bc1 | ||
|
d43e8c94f5 | ||
|
b54dbe0df6 | ||
|
79a1495f66 | ||
|
893e4b3067 | ||
|
a349db54d6 | ||
|
41d0b5d3a2 | ||
|
a5a18fb6dd | ||
|
a8c62e707a | ||
|
b67b67f2df | ||
|
ee90d227c2 | ||
|
51f46a8f91 | ||
|
6ac088ea2f | ||
|
6a4179cef5 | ||
|
90012c86e8 | ||
|
aa3a46a35f | ||
|
2e7ae40d49 | ||
|
eb83bd5797 | ||
|
f46057ca02 | ||
|
f4898b9258 | ||
|
9c9623e47f | ||
|
1ad0dd28f1 | ||
|
ff9b541070 | ||
|
965042d015 | ||
|
9264d7c758 | ||
|
0fbe8e8e69 | ||
|
3862b60094 | ||
|
b8ecd1a656 | ||
|
bb4b04f89a | ||
|
d24fa2e777 | ||
|
9348b0c4f2 | ||
|
b00d02496e | ||
|
5f3dffa820 | ||
|
18d5ca9ce5 | ||
|
dcd0f200d6 | ||
|
a5b3393bb0 | ||
|
595f9c132b | ||
|
5c3b6a8559 | ||
|
a3b18d87dd | ||
|
0f06b88ee7 | ||
|
fd993cbaf2 | ||
|
ab69c79d07 | ||
|
f3ae5e4cb2 | ||
|
b9289340d9 | ||
|
8b71103836 | ||
|
ea101f7932 | ||
|
7700f31213 | ||
|
a609c9db82 | ||
|
a83b952f63 | ||
|
86b3c54c77 | ||
|
e283611dc2 | ||
|
8489e0bdc2 | ||
|
a415b8e37b | ||
|
30f292f5a2 | ||
|
2c15388520 | ||
|
867bfa3f9e | ||
|
4cb930c2c1 | ||
|
70692dd522 | ||
|
c174862b7e | ||
|
7c683608ab | ||
|
7f8c4d877a | ||
|
f648fe88d5 | ||
|
9649d78fa4 | ||
|
16c43b6a7d | ||
|
2e2ab7b485 | ||
|
6d3ac29aee | ||
|
f930a75471 | ||
|
171837eefe | ||
|
0017fad554 | ||
|
c98cceaf22 | ||
|
dd7e09d092 | ||
|
4ee05b1c17 | ||
|
34004612ac | ||
|
da1888a7fa | ||
|
d7d4f681ca | ||
|
8d8c2930d2 | ||
|
352648f173 | ||
|
f6e7a94bd5 | ||
|
2793f9c078 | ||
|
a080173010 | ||
|
f3373e1e32 | ||
|
f719803fdc | ||
|
d56da0d68f | ||
|
1689191f29 | ||
|
973c2a9a3a | ||
|
707a85b6c1 | ||
|
71a015557f | ||
|
bc52a84998 | ||
|
d6e8cce44b | ||
|
2d6734cb0a | ||
|
7bc1917908 | ||
|
bb75cd40f5 | ||
|
4bf3dcbebd | ||
|
c31b53942d | ||
|
1e867ce52b | ||
|
acfe6dd37d | ||
|
0019039bc1 | ||
|
ba3e4da853 | ||
|
795fd75d60 | ||
|
b84d151afa | ||
|
17d76de7b8 | ||
|
052fdcc8d9 | ||
|
266755bd82 | ||
|
7c68964153 | ||
|
31c59cad83 | ||
|
4f96688bf7 | ||
|
c1a0d1bf3d | ||
|
115bf63538 | ||
|
bd0107a2ab | ||
|
f261c748b6 | ||
|
2b55476df0 | ||
|
d4fd5e3365 | ||
|
21c8985fe8 | ||
|
765d72d194 | ||
|
a918abe113 | ||
|
7b33018ade | ||
|
fb34cbf7cd | ||
|
4ffdb12938 | ||
|
0dfe1d0d8b | ||
|
e27b69f42a | ||
|
074b91497b | ||
|
8297f700d0 | ||
|
c40d7f0896 | ||
|
556565d072 | ||
|
8a9c2c055c | ||
|
0a4ffb7cf8 | ||
|
c9db08873f | ||
|
9f9ce10f2f | ||
|
2f54ab0a24 | ||
|
a520edb8fa | ||
|
12fd9a8827 | ||
|
b99fbd0be0 | ||
|
968360fed6 | ||
|
0103478521 | ||
|
b55d744e77 | ||
|
1e4ff6105a | ||
|
8df63a4499 | ||
|
e1bf699ad4 | ||
|
526a97db7c | ||
|
f142ed28e4 | ||
|
6d533d2f86 | ||
|
09ad1d529e | ||
|
63022f3c59 | ||
|
834a93f76c | ||
|
efd4b43c1b | ||
|
430c6aa32f | ||
|
d43f196fa6 | ||
|
ec220d6494 | ||
|
3108d0b060 | ||
|
91f7d53d8e | ||
|
040fc6dd0f | ||
|
65f83b814c | ||
|
b648d3eb4c | ||
|
cd6085ebdc | ||
|
6949f64d28 | ||
|
9bd24e2efb | ||
|
4dfd4e4cd3 | ||
|
71e0de5588 | ||
|
42b595e7e7 | ||
|
a143a19b8b | ||
|
2d0917c56e | ||
|
971b30a76d | ||
|
8171087cfb | ||
|
9bb302b92c | ||
|
6a4cb42565 | ||
|
b6f0c789d5 | ||
|
483af1d036 | ||
|
7ab774bc8d | ||
|
f23634d580 | ||
|
8dd32c2bb5 | ||
|
10b628a20a | ||
|
8e64652d80 | ||
|
054ab67771 | ||
|
98711450dd | ||
|
ced316d88c | ||
|
c4628bd92a | ||
|
3fba5e317a | ||
|
101945acf9 | ||
|
92c509bc48 | ||
|
70641e701a | ||
|
9aa8f44489 | ||
|
778e0e06f3 | ||
|
8956ec0bd4 | ||
|
757e1eac7a | ||
|
95140bb724 | ||
|
d60534d52c | ||
|
a1b58d05d1 | ||
|
f432193e07 | ||
|
25a7c6e829 | ||
|
307fa831d6 | ||
|
85031a66cc | ||
|
32010de36e | ||
|
b32dc8c667 | ||
|
32881dbe31 | ||
|
3986470b3c | ||
|
e502c8db86 | ||
|
13b59af1ff | ||
|
6fd092b5df | ||
|
6cc7da0c9c | ||
|
0868831675 | ||
|
0e772afb9d | ||
|
b6a4f83c41 | ||
|
c980402a4c | ||
|
27be69e3b3 | ||
|
aede89d408 | ||
|
4ae9e8cf6e | ||
|
0843fd4b77 | ||
|
7461536459 | ||
|
d1f85f0de3 | ||
|
be8b5a41c8 | ||
|
f534503a66 | ||
|
28ef238a5c | ||
|
dde1c7424f | ||
|
8aec6b58e0 | ||
|
d9c868d0f5 | ||
|
a9249bce5e | ||
|
c3f5dc75be | ||
|
6b057e026c | ||
|
f3588c66ec | ||
|
a269929f0e | ||
|
45d054d295 | ||
|
8bdbadabb2 | ||
|
2cc9fe5267 | ||
|
c3aca59cfb | ||
|
3f3c8d74e8 | ||
|
4522db7624 | ||
|
a61299a940 | ||
|
af77106a2f | ||
|
416577f3dc | ||
|
65c3f2a8f1 | ||
|
17928563a2 | ||
|
bb4f65d743 | ||
|
932b75c166 | ||
|
1787ccb585 | ||
|
b868886b25 | ||
|
e42202e794 | ||
|
9ee177573d | ||
|
ae6a3b03c4 | ||
|
82aed75b3b | ||
|
3a2ccd079e | ||
|
197fed16bd | ||
|
c57fbe9d0d | ||
|
12033bc499 | ||
|
71c19f6eb7 | ||
|
d2cd24e875 | ||
|
9036edd935 | ||
|
fcc320e385 | ||
|
0682e5719d | ||
|
679559ce18 | ||
|
2e814cc43f | ||
|
087a5363bb | ||
|
3472b6c5bc | ||
|
e1277c26ca | ||
|
64d97d0787 | ||
|
b9c08cddd4 | ||
|
dccbd573e8 | ||
|
efe3aaaf0b | ||
|
df1212ce27 | ||
|
4c75f013de | ||
|
1f31e8e243 | ||
|
16d78407db | ||
|
4e4c3de103 | ||
|
dbaee1a5da | ||
|
6380aea647 | ||
|
47663a4ad3 | ||
|
0cdd071230 | ||
|
df5366a5ca | ||
|
91a9d25a38 | ||
|
aa916fc43f | ||
|
505ee586ff | ||
|
b295fa4f4f | ||
|
b1d7386075 | ||
|
d693d91e26 | ||
|
decabb62c0 | ||
|
cc82f95c8f | ||
|
47759eb096 | ||
|
2e5cc62071 | ||
|
9ccb87675d | ||
|
c6cca9d0d2 | ||
|
98554475be | ||
|
6cc5160d60 | ||
|
cb65cd363a | ||
|
222bec0204 | ||
|
51251293ab | ||
|
78aa120089 | ||
|
d5022d87e7 | ||
|
5431aa6391 | ||
|
c19ab58420 | ||
|
b0942fe31d | ||
|
7f347a290c | ||
|
0d1d836a89 | ||
|
79d782c1d5 | ||
|
69cf5782d4 | ||
|
1fc7bd107d | ||
|
203f9c24d4 | ||
|
79274e904c | ||
|
5441a4ea13 | ||
|
5c1ef45488 | ||
|
7a4b404af7 | ||
|
1046ada9fc | ||
|
cafd3b79fd | ||
|
a5830fe0d5 | ||
|
5cee745fc5 | ||
|
1c88a2cb25 | ||
|
9c95831f35 | ||
|
c789acc091 | ||
|
8de93bee95 | ||
|
f2e9c62a97 | ||
|
26d4483d36 | ||
|
4859cec0c5 | ||
|
0dcb874c09 | ||
|
1da1a70650 | ||
|
e78210dc96 | ||
|
81ad381263 | ||
|
18f24a2270 | ||
|
f22cd2d734 | ||
|
07e7cde560 | ||
|
ad06f6dd71 | ||
|
9ea08aa4d7 | ||
|
4e952ad443 | ||
|
6308a442d1 | ||
|
078e0c1e44 | ||
|
8443463006 | ||
|
d2e3198407 | ||
|
a43879fe91 | ||
|
103c929ff0 | ||
|
a9a67b08a5 | ||
|
b27b9a6984 | ||
|
516bd9ea51 | ||
|
14300a1475 | ||
|
6217a51920 | ||
|
c814483627 | ||
|
1cd09a03e6 | ||
|
80a9c24b6b | ||
|
08f365236a | ||
|
7a90184421 | ||
|
5847a50334 | ||
|
1ade9b39e4 | ||
|
4c94e44710 | ||
|
d640a37984 | ||
|
e4c8e4905c | ||
|
4d30633cd4 | ||
|
6a0727acdc | ||
|
df72846b89 | ||
|
b5594371ab | ||
|
d7553893c4 | ||
|
48dc4c02ae | ||
|
f796f92058 | ||
|
fad280f94b | ||
|
cf9d1fbd1a | ||
|
0bc04a4df0 | ||
|
2b47ef1266 | ||
|
fdece6cdf3 | ||
|
a623868f20 | ||
|
ce8c09f51f | ||
|
c381ad2002 | ||
|
40497ec824 | ||
|
e43d1781bf | ||
|
d51c1707e3 | ||
|
faec26b873 | ||
|
0de7adfa37 | ||
|
5581a30f58 | ||
|
0dcfcf5854 | ||
|
92f077a4e9 | ||
|
defeb1a56f | ||
|
4b99ab7066 | ||
|
9cf81ac7f5 | ||
|
1358acfd7c | ||
|
99eeb52b76 | ||
|
b9b15b7007 | ||
|
293d64e122 | ||
|
b71cf56bda | ||
|
afada9ed40 | ||
|
75b6545bc2 | ||
|
973dfbf868 | ||
|
99f63f39eb | ||
|
d4faeb064b | ||
|
981d3005f3 | ||
|
faf4b03c43 | ||
|
8f6fcd2744 | ||
|
941cf6979e | ||
|
566c8a1bbc | ||
|
53f166274a | ||
|
57a575b5f0 | ||
|
51044167d1 | ||
|
009d59335f | ||
|
ec5729a99f | ||
|
86c472f4f7 | ||
|
30213816ae | ||
|
c939f1b2c7 | ||
|
b3421e397d | ||
|
c6272fca07 | ||
|
e7ad87e15f | ||
|
737894027a | ||
|
0ba3bd9aed | ||
|
f049fcd604 | ||
|
01df1d3301 | ||
|
66342f5b89 | ||
|
dec6c7ea8c | ||
|
f847a1a567 | ||
|
6763de2f25 | ||
|
09b6add6ee | ||
|
810d249ca2 | ||
|
29ea1c85b4 | ||
|
f19a6b9714 | ||
|
d06c2cf0f7 | ||
|
7e08109229 | ||
|
defd36ad7f | ||
|
39e51e5599 | ||
|
6768490f69 | ||
|
55b97ffc27 | ||
|
e7e016637b | ||
|
58075e25e8 | ||
|
e1af6584d9 | ||
|
23a513baec | ||
|
b343bf783a | ||
|
8be701db0a | ||
|
90771c1762 | ||
|
759950c1a6 | ||
|
205be67622 | ||
|
1a128f9a76 | ||
|
223ae1dfc2 | ||
|
965894a875 | ||
|
5c54e96aab | ||
|
56d7c2c6ed | ||
|
df75b70f3e | ||
|
4bdae294cb | ||
|
253c6e1fc1 | ||
|
9c4ba813d4 | ||
|
41d660dd98 | ||
|
36d1f87c5a | ||
|
9bc9e42c94 | ||
|
eb7152436c | ||
|
2bc79701e6 | ||
|
29b54d12cc | ||
|
1a04d15d4d | ||
|
f6fc8c08a4 | ||
|
699c642128 | ||
|
d285363700 | ||
|
a9ed32663a | ||
|
911831a9c5 | ||
|
97db218829 | ||
|
5b186c936d | ||
|
eed4d0d30f | ||
|
757c67b7d8 | ||
|
66ecbd8545 | ||
|
7bcf6a621f | ||
|
825af557ae | ||
|
e5a5933db6 | ||
|
8c628a6dc2 | ||
|
1fb4ebb34a | ||
|
64eec22884 | ||
|
abb1244b44 | ||
|
e816006b8e | ||
|
ca7f4fb531 | ||
|
29ffddee71 | ||
|
7fa596a991 | ||
|
77d52982c8 | ||
|
39d46e2599 | ||
|
a1dff65cd1 | ||
|
a2627e8790 | ||
|
20dfb23dd4 | ||
|
d1935b0b0b | ||
|
039b466bd0 | ||
|
c371e86fa1 | ||
|
8d0933ca4b | ||
|
6de352f7da | ||
|
c0d3cf6a27 | ||
|
f21ef60175 | ||
|
77f8bb48fe |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,9 +1,8 @@
|
||||
*~
|
||||
/phpunit.xml
|
||||
/phpBB/cache/twig/*
|
||||
/phpBB/cache/*.html
|
||||
/phpBB/cache/*.php
|
||||
/phpBB/cache/*.lock
|
||||
/phpBB/cache/*
|
||||
!/phpBB/cache/.htaccess
|
||||
!/phpBB/cache/index.html
|
||||
/phpBB/composer.phar
|
||||
/phpBB/config*.php
|
||||
/phpBB/ext/*
|
||||
@@ -22,3 +21,4 @@
|
||||
/tests/phpbb_unit_tests.sqlite*
|
||||
/tests/test_config*.php
|
||||
/tests/tmp/*
|
||||
/tests/vendor
|
||||
|
@@ -16,6 +16,8 @@ matrix:
|
||||
env: DB=postgres
|
||||
- php: 5.4
|
||||
env: DB=sqlite3
|
||||
- php: 5.4
|
||||
env: DB=mysqli;SLOWTESTS=1
|
||||
- php: 5.5
|
||||
env: DB=mysqli
|
||||
- php: 5.6
|
||||
@@ -34,12 +36,14 @@ install:
|
||||
|
||||
before_script:
|
||||
- travis/setup-database.sh $DB $TRAVIS_PHP_VERSION
|
||||
- phantomjs --webdriver=8910 > /dev/null &
|
||||
|
||||
script:
|
||||
- travis/phing-sniff.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-sami-parse-errors.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION
|
||||
- travis/check-executable-files.sh $DB $TRAVIS_PHP_VERSION ./
|
||||
- phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml
|
||||
- sh -c "if [ '$SLOWTESTS' != '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml; fi"
|
||||
- sh -c "if [ '$SLOWTESTS' = '1' ]; then phpBB/vendor/bin/phpunit --configuration travis/phpunit-$DB-travis.xml --group slow; fi"
|
||||
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.3.3' -a '$DB' = 'mysqli' -a '$TRAVIS_PULL_REQUEST' != 'false' ]; then git-tools/commit-msg-hook-range.sh origin/$TRAVIS_BRANCH..FETCH_HEAD; fi"
|
||||
|
||||
|
@@ -2,9 +2,9 @@
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.1.0-RC5" />
|
||||
<property name="prevversion" value="3.1.0-RC4" />
|
||||
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1, 3.1.0-RC2, 3.1.0-RC3" />
|
||||
<property name="newversion" value="3.1.3-RC1" />
|
||||
<property name="prevversion" value="3.1.2" />
|
||||
<property name="olderversions" value="3.0.12, 3.0.13, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4, 3.1.0-RC1, 3.1.0-RC2, 3.1.0-RC3, 3.1.0-RC4, 3.1.0-RC5, 3.1.0-RC6, 3.1.0, 3.1.1, 3.1.2-RC1" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
@@ -117,9 +117,16 @@
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<!-- Builds docs for current branch into build/api/output/master -->
|
||||
<target name="docs">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/sami.php update build/sami.conf.php"
|
||||
command="phpBB/vendor/bin/sami.php update build/sami-checkout.conf.php"
|
||||
passthru="true" />
|
||||
</target>
|
||||
<!-- Builds docs for multiple branches/tags into build/api/output/$branch -->
|
||||
<target name="docs-all">
|
||||
<exec dir="."
|
||||
command="phpBB/vendor/bin/sami.php update build/sami-all.conf.php"
|
||||
passthru="true" />
|
||||
</target>
|
||||
|
||||
|
@@ -20,7 +20,7 @@ if ($_SERVER['argc'] != 2)
|
||||
|
||||
$fixVersion = $_SERVER['argv'][1];
|
||||
|
||||
$query = 'project = PHPBB3
|
||||
$query = 'project IN (PHPBB3, SECURITY)
|
||||
AND resolution = Fixed
|
||||
AND fixVersion = "' . $fixVersion . '"
|
||||
AND status IN ("Unverified Fix", Closed)';
|
||||
|
@@ -84,12 +84,12 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
|
||||
$line = $tokens[$i]['content'];
|
||||
|
||||
// Check that each line starts with a '*'
|
||||
if (substr($line, 0, 1) !== '*')
|
||||
if (substr($line, 0, 1) !== '*' && substr($line, 0, 2) !== ' *')
|
||||
{
|
||||
$message = 'The file doc comment should not be idented.';
|
||||
$message = 'The file doc comment should not be indented.';
|
||||
$phpcsFile->addWarning($message, $i);
|
||||
}
|
||||
else if (preg_match('/^\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
|
||||
else if (preg_match('/^[ ]?\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
|
||||
{
|
||||
if (!isset($tags[$match[1]]))
|
||||
{
|
||||
|
@@ -24,6 +24,23 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
return array(T_USE);
|
||||
}
|
||||
|
||||
protected function check($phpcsFile, $found_name, $full_name, $short_name, $line)
|
||||
{
|
||||
|
||||
if ($found_name === $full_name)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $line, 'FullName');
|
||||
}
|
||||
|
||||
if ($found_name === $short_name)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
@@ -74,16 +91,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start)));
|
||||
|
||||
if ($simple_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $simple_statement, 'FullName');
|
||||
}
|
||||
|
||||
if ($simple_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $simple_class_name, $class_name_full, $class_name_short, $simple_statement) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,16 +106,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$paamayim_nekudotayim_class_name = trim($phpcsFile->getTokensAsString($paamayim_nekudotayim_class_name_start + 1, ($paamayim_nekudotayim_class_name_end - $paamayim_nekudotayim_class_name_start)));
|
||||
|
||||
if ($paamayim_nekudotayim_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $paamayim_nekudotayim, 'FullName');
|
||||
}
|
||||
|
||||
if ($paamayim_nekudotayim_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $paamayim_nekudotayim_class_name, $class_name_full, $class_name_short, $paamayim_nekudotayim) ? true : $ok;
|
||||
}
|
||||
|
||||
// Checks in implements
|
||||
@@ -126,16 +125,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
|
||||
$implements_class_name = trim($phpcsFile->getTokensAsString($implements_class_name_start, ($implements_class_name_end - $implements_class_name_start)));
|
||||
|
||||
if ($implements_class_name === $class_name_full)
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $implements, 'FullName');
|
||||
}
|
||||
|
||||
if ($implements_class_name === $class_name_short)
|
||||
{
|
||||
$ok = true;
|
||||
}
|
||||
$ok = $this->check($phpcsFile, $implements_class_name, $class_name_full, $class_name_short, $implements) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,34 +135,64 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
|
||||
{
|
||||
$old_function_declaration = $function_declaration;
|
||||
|
||||
$end_function = $phpcsFile->findNext(array(T_CLOSE_PARENTHESIS), ($function_declaration + 1));
|
||||
$old_argument = $function_declaration;
|
||||
while (($argument = $phpcsFile->findNext(T_VARIABLE, ($old_argument + 1), $end_function)) !== false)
|
||||
// Check docblocks
|
||||
$find = array(
|
||||
T_COMMENT,
|
||||
T_DOC_COMMENT,
|
||||
T_CLASS,
|
||||
T_FUNCTION,
|
||||
T_OPEN_TAG,
|
||||
);
|
||||
|
||||
$comment_end = $phpcsFile->findPrevious($find, ($function_declaration - 1));
|
||||
if ($comment_end !== false)
|
||||
{
|
||||
$old_argument = $argument;
|
||||
|
||||
$start_argument = $phpcsFile->findPrevious(array(T_OPEN_PARENTHESIS, T_COMMA), $argument);
|
||||
$argument_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($start_argument + 1), $argument);
|
||||
|
||||
// Skip the parameter if no type is defined.
|
||||
if ($argument_class_name_start !== false)
|
||||
if (!$tokens[$comment_end]['code'] !== T_DOC_COMMENT)
|
||||
{
|
||||
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
|
||||
$comment_start = ($phpcsFile->findPrevious(T_DOC_COMMENT, ($comment_end - 1), null, true) + 1);
|
||||
$comment = $phpcsFile->getTokensAsString($comment_start, ($comment_end - $comment_start + 1));
|
||||
|
||||
$argument_class_name = $phpcsFile->getTokensAsString($argument_class_name_start, ($argument_class_name_end - $argument_class_name_start - 1));
|
||||
|
||||
if ($argument_class_name === $class_name_full)
|
||||
try
|
||||
{
|
||||
$error = 'Either use statement or full name must be used.';
|
||||
$phpcsFile->addError($error, $function_declaration, 'FullName');
|
||||
$comment_parser = new PHP_CodeSniffer_CommentParser_FunctionCommentParser($comment, $phpcsFile);
|
||||
$comment_parser->parse();
|
||||
|
||||
// Check @param
|
||||
foreach ($comment_parser->getParams() as $param) {
|
||||
$type = $param->getType();
|
||||
$types = explode('|', str_replace('[]', '', $type));
|
||||
foreach ($types as $type)
|
||||
{
|
||||
$ok = $this->check($phpcsFile, $type, $class_name_full, $class_name_short, $param->getLine() + $comment_start) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
// Check @return
|
||||
$return = $comment_parser->getReturn();
|
||||
if ($return !== null)
|
||||
{
|
||||
$type = $return->getValue();
|
||||
$types = explode('|', str_replace('[]', '', $type));
|
||||
foreach ($types as $type)
|
||||
{
|
||||
$ok = $this->check($phpcsFile, $type, $class_name_full, $class_name_short, $return->getLine() + $comment_start) ? true : $ok;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($argument_class_name === $class_name_short)
|
||||
catch (PHP_CodeSniffer_CommentParser_ParserException $e)
|
||||
{
|
||||
$ok = true;
|
||||
$line = ($e->getLineWithinComment() + $comment_start);
|
||||
$phpcsFile->addError($e->getMessage(), $line, 'FailedParse');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check type hint
|
||||
$params = $phpcsFile->getMethodParameters($function_declaration);
|
||||
foreach ($params as $param)
|
||||
{
|
||||
$ok = $this->check($phpcsFile, $param['type_hint'], $class_name_full, $class_name_short, $function_declaration) ? true : $ok;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$ok)
|
||||
|
@@ -394,6 +394,7 @@ if (sizeof($package->old_packages))
|
||||
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
|
||||
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/vendor ' . $package->get('files_directory') . '/release');
|
||||
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_install.php');
|
||||
$package->run_command('rm -v ' . $package->get('files_directory') . '/release/install/install_update.php');
|
||||
|
30
build/sami-all.conf.php
Normal file
30
build/sami-all.conf.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?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('develop-olympus', '3.0-next (olympus)')
|
||||
->addFromTags('release-3.1.*')
|
||||
->add('develop-ascraeus', '3.1-next (ascraeus)')
|
||||
->add('develop')
|
||||
*/
|
||||
->add('develop-olympus')
|
||||
->add('develop-ascraeus')
|
||||
;
|
||||
|
||||
return new Sami\Sami($iterator, $config);
|
@@ -31,23 +31,8 @@ $iterator = Symfony\Component\Finder\Finder::create()
|
||||
->notPath('data')
|
||||
;
|
||||
|
||||
$versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
|
||||
/*
|
||||
This would be nice, but currently causes various problems that need
|
||||
debugging.
|
||||
->addFromTags('release-3.0.*')
|
||||
->add('develop-olympus', '3.0-next (olympus)')
|
||||
->addFromTags('release-3.1.*')
|
||||
->add('develop-ascraeus', '3.1-next (ascraeus)')
|
||||
->add('develop')
|
||||
*/
|
||||
->add('develop-olympus')
|
||||
->add('develop-ascraeus')
|
||||
;
|
||||
|
||||
$config = array(
|
||||
'theme' => 'enhanced',
|
||||
'versions' => $versions,
|
||||
'title' => 'phpBB API Documentation',
|
||||
'build_dir' => __DIR__.'/api/output/%version%',
|
||||
'cache_dir' => __DIR__.'/api/cache/%version%',
|
@@ -47,6 +47,8 @@
|
||||
<dd><input id="send" type="checkbox" class="radio" name="send_immediately" checked="checked" /></dd>
|
||||
</dl>
|
||||
|
||||
<!-- EVENT acp_email_options_after -->
|
||||
|
||||
<p class="submit-buttons">
|
||||
<input class="button1" type="submit" id="submit" name="submit" value="{L_SEND_EMAIL}" />
|
||||
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
|
||||
|
@@ -111,6 +111,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_main_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_type">{L_FORUM_TYPE}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_type" name="forum_type" onchange="display_options(this.options[this.selectedIndex].value);">{S_FORUM_TYPE_OPTIONS}</select></dd>
|
||||
@@ -182,6 +183,7 @@
|
||||
<dt><label for="forum_style">{L_FORUM_STYLE}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_style" name="forum_style"><option value="0">{L_DEFAULT_STYLE}</option>{S_STYLES_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_main_settings_append -->
|
||||
</fieldset>
|
||||
|
||||
<div id="forum_cat_options">
|
||||
@@ -198,6 +200,7 @@
|
||||
<div id="forum_post_options">
|
||||
<fieldset>
|
||||
<legend>{L_GENERAL_FORUM_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_normal_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_status">{L_FORUM_STATUS}{L_COLON}</label></dt>
|
||||
<dd><select id="forum_status" name="forum_status">{S_STATUS_OPTIONS}</select></dd>
|
||||
@@ -246,6 +249,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_PRUNE_SETTINGS}</legend>
|
||||
<!-- EVENT acp_forums_prune_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="enable_prune">{L_FORUM_AUTO_PRUNE}{L_COLON}</label><br /><span>{L_FORUM_AUTO_PRUNE_EXPLAIN}</span></dt>
|
||||
<dd><label><input type="radio" class="radio" name="enable_prune" value="1"<!-- IF S_PRUNE_ENABLE --> id="enable_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
|
||||
@@ -291,6 +295,7 @@
|
||||
<dt><label for="prune_shadow_days">{L_AUTO_PRUNE_SHADOW_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_SHADOW_DAYS_EXPLAIN}</span></dt>
|
||||
<dd><input type="number" id="prune_shadow_days" name="prune_shadow_days" value="{PRUNE_SHADOW_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_prune_settings_append -->
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
@@ -317,6 +322,7 @@
|
||||
<div id="forum_rules_options">
|
||||
<fieldset>
|
||||
<legend>{L_FORUM_RULES}</legend>
|
||||
<!-- EVENT acp_forums_rules_settings_prepend -->
|
||||
<dl>
|
||||
<dt><label for="forum_rules_link">{L_FORUM_RULES_LINK}{L_COLON}</label><br /><span>{L_FORUM_RULES_LINK_EXPLAIN}</span></dt>
|
||||
<dd><input class="text medium" type="text" id="forum_rules_link" name="forum_rules_link" value="{FORUM_RULES_LINK}" maxlength="255" /></dd>
|
||||
@@ -334,6 +340,7 @@
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_smilies"<!-- IF S_SMILIES_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_SMILIES}</label>
|
||||
<label><input type="checkbox" class="radio" name="rules_parse_urls"<!-- IF S_URLS_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_PARSE_URLS}</label></dd>
|
||||
</dl>
|
||||
<!-- EVENT acp_forums_rules_settings_append -->
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<script type="text/javascript" defer="defer">
|
||||
// <![CDATA[
|
||||
<!-- IF S_ADD_CODE -->
|
||||
|
||||
|
||||
var smiley = Array();
|
||||
<!-- BEGIN smile -->
|
||||
smiley['{smile.SMILEY_URL}'] = Array();
|
||||
@@ -37,10 +37,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
|
||||
function toggle_select(icon, display, select)
|
||||
{
|
||||
var disp = document.getElementById('order_disp_' + select);
|
||||
@@ -101,7 +101,7 @@
|
||||
<tbody>
|
||||
<!-- BEGIN items -->
|
||||
<tr>
|
||||
|
||||
|
||||
<td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td>
|
||||
<td style="vertical-align: top;">[{items.IMG}]</td>
|
||||
<!-- IF S_SMILIES -->
|
||||
@@ -121,7 +121,7 @@
|
||||
<optgroup id="order_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING}" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup>
|
||||
<optgroup id="order_no_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING_NO}" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup>
|
||||
</select></td>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
<!-- IF S_ADD -->
|
||||
<td><input type="checkbox" class="radio" name="add_img[{items.IMG}]" value="1" /></td>
|
||||
<!-- ENDIF -->
|
||||
@@ -147,6 +147,8 @@
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE -->
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row3">
|
||||
<td colspan="{COLSPAN}">{L_NO_ICONS}</td>
|
||||
</tr>
|
||||
@@ -174,7 +176,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_IMPORT}</legend>
|
||||
|
||||
|
||||
<!-- IF not S_PAK_OPTIONS -->
|
||||
<p>{L_NO_PAK_OPTIONS}</p>
|
||||
|
||||
@@ -259,7 +261,7 @@
|
||||
</table>
|
||||
<div class="pagination">
|
||||
<!-- IF .pagination -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- INCLUDE pagination.html -->
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<p class="quick">
|
||||
|
@@ -386,7 +386,8 @@ phpbb.ajaxify = function(options) {
|
||||
type: method,
|
||||
data: data,
|
||||
success: returnHandler,
|
||||
error: errorHandler
|
||||
error: errorHandler,
|
||||
cache: false
|
||||
});
|
||||
request.always(function() {
|
||||
$loadingIndicator.fadeOut(phpbb.alertTime);
|
||||
|
@@ -34,6 +34,14 @@ phpbb.plupload.initialize = function() {
|
||||
if (uploader.features.dragdrop) {
|
||||
$('#drag-n-drop-message').show();
|
||||
}
|
||||
|
||||
// Ensure "Add files" button position is correctly calculated.
|
||||
if ($('#attach-panel-multi').is(':visible')) {
|
||||
uploader.refresh();
|
||||
}
|
||||
$('[data-subpanel="attach-panel"]').one('click', function() {
|
||||
uploader.refresh();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
@@ -104,7 +104,7 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
|
||||
|
||||
// Add own hook handler
|
||||
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('\phpbb\template\template', 'display')));
|
||||
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
|
||||
$phpbb_hook_finder = $phpbb_container->get('hook_finder');
|
||||
|
||||
foreach ($phpbb_hook_finder->find() as $hook)
|
||||
|
191
phpBB/composer.lock
generated
191
phpBB/composer.lock
generated
@@ -108,17 +108,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/config",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Config",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Config.git",
|
||||
"reference": "b34d2b32a92938476f0689486e7a11ea1aeb079e"
|
||||
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/b34d2b32a92938476f0689486e7a11ea1aeb079e",
|
||||
"reference": "b34d2b32a92938476f0689486e7a11ea1aeb079e",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
|
||||
"reference": "f9fac999dbc2c6aabd749c034d938b5f9aa5fb7d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -152,21 +152,21 @@
|
||||
],
|
||||
"description": "Symfony Config Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-02 07:53:48"
|
||||
"time": "2014-09-23 05:15:05"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Console",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Console.git",
|
||||
"reference": "a2723f99716c2fa6411e2eb5842edbe680e4b462"
|
||||
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Console/zipball/a2723f99716c2fa6411e2eb5842edbe680e4b462",
|
||||
"reference": "a2723f99716c2fa6411e2eb5842edbe680e4b462",
|
||||
"url": "https://api.github.com/repos/symfony/Console/zipball/aa12ac573c583a74c2cb26ad9be478e119f04ad1",
|
||||
"reference": "aa12ac573c583a74c2cb26ad9be478e119f04ad1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -205,21 +205,21 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-07 15:55:24"
|
||||
"time": "2014-10-05 13:45:10"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Debug",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Debug.git",
|
||||
"reference": "91e3a1480c67601d2406cd938735abe0243e1c95"
|
||||
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Debug/zipball/91e3a1480c67601d2406cd938735abe0243e1c95",
|
||||
"reference": "91e3a1480c67601d2406cd938735abe0243e1c95",
|
||||
"url": "https://api.github.com/repos/symfony/Debug/zipball/883f847ad179e92549a8cea372b08e5ef47ffe40",
|
||||
"reference": "883f847ad179e92549a8cea372b08e5ef47ffe40",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -261,21 +261,21 @@
|
||||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-07-07 10:13:42"
|
||||
"time": "2014-10-09 16:42:17"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dependency-injection",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/DependencyInjection",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/DependencyInjection.git",
|
||||
"reference": "5ee5795515be251c56057d79154e561ee1efecd2"
|
||||
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/5ee5795515be251c56057d79154e561ee1efecd2",
|
||||
"reference": "5ee5795515be251c56057d79154e561ee1efecd2",
|
||||
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/e2324e1c8c39faa5f27e6170b278d7f631574141",
|
||||
"reference": "e2324e1c8c39faa5f27e6170b278d7f631574141",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -317,21 +317,21 @@
|
||||
],
|
||||
"description": "Symfony DependencyInjection Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-27 08:32:18"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/EventDispatcher",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/EventDispatcher.git",
|
||||
"reference": "2c64e46d7e22bcafcab4413ff62bc389abf87ea5"
|
||||
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/2c64e46d7e22bcafcab4413ff62bc389abf87ea5",
|
||||
"reference": "2c64e46d7e22bcafcab4413ff62bc389abf87ea5",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/3e0b837811fadd73c833c7c06a92201d953df59d",
|
||||
"reference": "3e0b837811fadd73c833c7c06a92201d953df59d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -371,21 +371,21 @@
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-07-25 15:00:14"
|
||||
"time": "2014-10-01 05:39:06"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Filesystem",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Filesystem.git",
|
||||
"reference": "007359d2822d5eba4f04f6507bc9b46877c622b4"
|
||||
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/007359d2822d5eba4f04f6507bc9b46877c622b4",
|
||||
"reference": "007359d2822d5eba4f04f6507bc9b46877c622b4",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
|
||||
"reference": "1c3a5fab445d1d4a5d57f8fbf1379696c9785942",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -418,21 +418,21 @@
|
||||
],
|
||||
"description": "Symfony Filesystem Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-31 03:30:23"
|
||||
"time": "2014-09-22 08:32:35"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/HttpFoundation",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/HttpFoundation.git",
|
||||
"reference": "d0125fed988da9e189864c2e6de967b3ee7f1d98"
|
||||
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/d0125fed988da9e189864c2e6de967b3ee7f1d98",
|
||||
"reference": "d0125fed988da9e189864c2e6de967b3ee7f1d98",
|
||||
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/30c90f08f948dd43e7310beae7a85c02ad2b655d",
|
||||
"reference": "30c90f08f948dd43e7310beae7a85c02ad2b655d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -468,21 +468,21 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-09-03 07:39:11"
|
||||
"time": "2014-10-23 13:11:04"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/HttpKernel",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/HttpKernel.git",
|
||||
"reference": "a24817f69012b23ce7c554af6b4c7b53235c7c55"
|
||||
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/a24817f69012b23ce7c554af6b4c7b53235c7c55",
|
||||
"reference": "a24817f69012b23ce7c554af6b4c7b53235c7c55",
|
||||
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/0154ff659004d4148e8da0f2bdb672efe55e6ee5",
|
||||
"reference": "0154ff659004d4148e8da0f2bdb672efe55e6ee5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -539,21 +539,21 @@
|
||||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-09-03 09:45:27"
|
||||
"time": "2014-10-24 05:54:08"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Routing",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Routing.git",
|
||||
"reference": "aa2beef5d5f1d84250b5ca73a4056c0504e5969e"
|
||||
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Routing/zipball/aa2beef5d5f1d84250b5ca73a4056c0504e5969e",
|
||||
"reference": "aa2beef5d5f1d84250b5ca73a4056c0504e5969e",
|
||||
"url": "https://api.github.com/repos/symfony/Routing/zipball/f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
|
||||
"reference": "f7f8ebf9c99e5ebfdb908c3558a818c2883eab1f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -563,6 +563,7 @@
|
||||
"doctrine/common": "~2.2",
|
||||
"psr/log": "~1.0",
|
||||
"symfony/config": "~2.2",
|
||||
"symfony/http-foundation": "~2.3",
|
||||
"symfony/yaml": "~2.0"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -597,21 +598,21 @@
|
||||
],
|
||||
"description": "Symfony Routing Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-15 09:05:55"
|
||||
"time": "2014-10-13 12:38:27"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Yaml",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Yaml.git",
|
||||
"reference": "71ceeca3d8164f0c5313127b24ad056071ccf2c6"
|
||||
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/71ceeca3d8164f0c5313127b24ad056071ccf2c6",
|
||||
"reference": "71ceeca3d8164f0c5313127b24ad056071ccf2c6",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/34687c6236f1dfcebc874fbebd8da74d90f9f64f",
|
||||
"reference": "34687c6236f1dfcebc874fbebd8da74d90f9f64f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -644,7 +645,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-28 01:42:35"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
@@ -702,21 +703,21 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "fabpot/goutte",
|
||||
"version": "v1.0.3",
|
||||
"version": "v1.0.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fabpot/Goutte.git",
|
||||
"reference": "75c9f23c4122caf4ea3e87a42a00b471366e707f"
|
||||
"url": "https://github.com/FriendsOfPHP/Goutte.git",
|
||||
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fabpot/Goutte/zipball/75c9f23c4122caf4ea3e87a42a00b471366e707f",
|
||||
"reference": "75c9f23c4122caf4ea3e87a42a00b471366e707f",
|
||||
"url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/794b196e76bdd37b5155cdecbad311f0a3b07625",
|
||||
"reference": "794b196e76bdd37b5155cdecbad311f0a3b07625",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-curl": "*",
|
||||
"guzzle/http": ">=3.0.5,<3.8-dev",
|
||||
"guzzle/http": "~3.1",
|
||||
"php": ">=5.3.0",
|
||||
"symfony/browser-kit": "~2.1",
|
||||
"symfony/css-selector": "~2.1",
|
||||
@@ -725,8 +726,8 @@
|
||||
"symfony/process": "~2.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"guzzle/plugin-history": ">=3.0.5,<3.8-dev",
|
||||
"guzzle/plugin-mock": ">=3.0.5,<3.8-dev"
|
||||
"guzzle/plugin-history": "~3.1",
|
||||
"guzzle/plugin-mock": "~3.1"
|
||||
},
|
||||
"type": "application",
|
||||
"extra": {
|
||||
@@ -746,9 +747,7 @@
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com",
|
||||
"homepage": "http://fabien.potencier.org",
|
||||
"role": "Lead Developer"
|
||||
"email": "fabien@symfony.com"
|
||||
}
|
||||
],
|
||||
"description": "A simple PHP Web Scraper",
|
||||
@@ -756,7 +755,7 @@
|
||||
"keywords": [
|
||||
"scraper"
|
||||
],
|
||||
"time": "2013-08-16 06:03:22"
|
||||
"time": "2014-10-09 15:52:51"
|
||||
},
|
||||
{
|
||||
"name": "guzzle/common",
|
||||
@@ -1591,16 +1590,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sami/sami",
|
||||
"version": "v1.3",
|
||||
"version": "v1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fabpot/Sami.git",
|
||||
"reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110"
|
||||
"url": "https://github.com/FriendsOfPHP/Sami.git",
|
||||
"reference": "70f29c781f7bef30181c814b9471b2ceac694454"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fabpot/Sami/zipball/76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110",
|
||||
"reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110",
|
||||
"url": "https://api.github.com/repos/FriendsOfPHP/Sami/zipball/70f29c781f7bef30181c814b9471b2ceac694454",
|
||||
"reference": "70f29c781f7bef30181c814b9471b2ceac694454",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1621,7 +1620,7 @@
|
||||
"type": "application",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.3-dev"
|
||||
"dev-master": "1.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1636,9 +1635,7 @@
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com",
|
||||
"homepage": "http://fabien.potencier.org",
|
||||
"role": "Lead Developer"
|
||||
"email": "fabien@symfony.com"
|
||||
}
|
||||
],
|
||||
"description": "Sami, an API documentation generator",
|
||||
@@ -1646,7 +1643,7 @@
|
||||
"keywords": [
|
||||
"phpdoc"
|
||||
],
|
||||
"time": "2013-11-30 17:16:25"
|
||||
"time": "2014-06-25 11:24:03"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/comparator",
|
||||
@@ -1987,17 +1984,17 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/browser-kit",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/BrowserKit",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/BrowserKit.git",
|
||||
"reference": "262d698efaa788ce24ff9c987378789bf3f81ce9"
|
||||
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/262d698efaa788ce24ff9c987378789bf3f81ce9",
|
||||
"reference": "262d698efaa788ce24ff9c987378789bf3f81ce9",
|
||||
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
|
||||
"reference": "6a403eedacb56d32dc2cc657cfeac09d640ae6bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2038,21 +2035,21 @@
|
||||
],
|
||||
"description": "Symfony BrowserKit Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-05 07:20:55"
|
||||
"time": "2014-09-22 08:32:35"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/CssSelector",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/CssSelector.git",
|
||||
"reference": "8953d325d3341c246abadb79be172de95ef80664"
|
||||
"reference": "d9943386b648d21746bed25cc24f61fab1387943"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/8953d325d3341c246abadb79be172de95ef80664",
|
||||
"reference": "8953d325d3341c246abadb79be172de95ef80664",
|
||||
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/d9943386b648d21746bed25cc24f61fab1387943",
|
||||
"reference": "d9943386b648d21746bed25cc24f61fab1387943",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2089,21 +2086,21 @@
|
||||
],
|
||||
"description": "Symfony CssSelector Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-27 08:24:06"
|
||||
"time": "2014-10-09 12:30:02"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dom-crawler",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/DomCrawler",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/DomCrawler.git",
|
||||
"reference": "bad8d98561f071639fa67b20680bffcc256ce252"
|
||||
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/bad8d98561f071639fa67b20680bffcc256ce252",
|
||||
"reference": "bad8d98561f071639fa67b20680bffcc256ce252",
|
||||
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/64b90870ee3a4e88c9a7a12861683864de029d31",
|
||||
"reference": "64b90870ee3a4e88c9a7a12861683864de029d31",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2142,21 +2139,21 @@
|
||||
],
|
||||
"description": "Symfony DomCrawler Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-21 00:21:59"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Finder",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Finder.git",
|
||||
"reference": "f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55"
|
||||
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Finder/zipball/f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55",
|
||||
"reference": "f7a5a5a3b1fc0ec9a1a5b4429223a8726e0f4b55",
|
||||
"url": "https://api.github.com/repos/symfony/Finder/zipball/fc25dab213d14468c39f12d47e5b79a72b898d4d",
|
||||
"reference": "fc25dab213d14468c39f12d47e5b79a72b898d4d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2189,21 +2186,21 @@
|
||||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-31 04:03:32"
|
||||
"time": "2014-10-01 05:39:06"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v2.3.19",
|
||||
"version": "v2.3.21",
|
||||
"target-dir": "Symfony/Component/Process",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Process.git",
|
||||
"reference": "b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb"
|
||||
"reference": "0434822691030547f2439d30ff68758c5576a0ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Process/zipball/b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb",
|
||||
"reference": "b8fc0e4b6750e4c458a38d038e6b4d538d4fe2bb",
|
||||
"url": "https://api.github.com/repos/symfony/Process/zipball/0434822691030547f2439d30ff68758c5576a0ce",
|
||||
"reference": "0434822691030547f2439d30ff68758c5576a0ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2236,7 +2233,7 @@
|
||||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2014-08-28 09:02:24"
|
||||
"time": "2014-10-01 05:38:33"
|
||||
}
|
||||
],
|
||||
"aliases": [
|
||||
|
@@ -84,6 +84,7 @@ services:
|
||||
- @config
|
||||
- @cache
|
||||
- @log
|
||||
- %core.root_path%
|
||||
tags:
|
||||
- { name: console.command }
|
||||
|
||||
|
@@ -4,6 +4,7 @@ services:
|
||||
arguments:
|
||||
- @auth
|
||||
- @config
|
||||
- @dispatcher
|
||||
- @dbal.conn
|
||||
- @user
|
||||
- %core.root_path%
|
||||
|
@@ -18,6 +18,7 @@ services:
|
||||
migrator:
|
||||
class: phpbb\db\migrator
|
||||
arguments:
|
||||
- @service_container
|
||||
- @config
|
||||
- @dbal.conn
|
||||
- @dbal.tools
|
||||
|
@@ -7,6 +7,7 @@ services:
|
||||
- @service_container
|
||||
- @user_loader
|
||||
- @config
|
||||
- @dispatcher
|
||||
- @dbal.conn
|
||||
- @cache
|
||||
- @user
|
||||
|
@@ -101,6 +101,7 @@ services:
|
||||
arguments:
|
||||
- @request
|
||||
- @passwords.driver.salted_md5
|
||||
- @passwords.driver_helper
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
tags:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
# Structure:
|
||||
#
|
||||
# foo_controller:
|
||||
# pattern: /foo
|
||||
# path: /foo
|
||||
# defaults: { _controller: foo_sevice:method }
|
||||
#
|
||||
# The above will be accessed via app.php?controller=foo and it will
|
||||
|
@@ -75,6 +75,7 @@ services:
|
||||
- @controller.provider
|
||||
- @ext.manager
|
||||
- @symfony_request
|
||||
- @request
|
||||
- @filesystem
|
||||
- %core.root_path%
|
||||
- %core.php_ext%
|
||||
@@ -108,6 +109,9 @@ services:
|
||||
filesystem:
|
||||
class: phpbb\filesystem
|
||||
|
||||
file_downloader:
|
||||
class: phpbb\file_downloader
|
||||
|
||||
http_kernel:
|
||||
class: Symfony\Component\HttpKernel\HttpKernel
|
||||
arguments:
|
||||
@@ -155,6 +159,8 @@ services:
|
||||
- null
|
||||
- %core.disable_super_globals%
|
||||
|
||||
# WARNING: The Symfony request does not escape the input and should be used very carefully
|
||||
# prefer the phpbb request (service @request) as possible
|
||||
symfony_request:
|
||||
class: phpbb\symfony_request
|
||||
arguments:
|
||||
@@ -178,4 +184,5 @@ services:
|
||||
arguments:
|
||||
- @cache
|
||||
- @config
|
||||
- @file_downloader
|
||||
- @user
|
||||
|
@@ -51,7 +51,6 @@ $classes = $finder->core_path('phpbb/')
|
||||
$db = new \phpbb\db\driver\sqlite();
|
||||
$schema_generator = new \phpbb\db\migration\schema_generator($classes, new \phpbb\config\config(array()), $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
|
||||
$schema_data = $schema_generator->get_schema();
|
||||
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
|
||||
|
||||
$fp = fopen($schema_path . 'schema.json', 'wb');
|
||||
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));
|
||||
|
@@ -62,10 +62,14 @@ echo "USE $dbname;$newline$newline";
|
||||
|
||||
@set_time_limit(0);
|
||||
|
||||
require($phpbb_root_path . 'includes/db/schema_data.' . $phpEx);
|
||||
require($phpbb_root_path . 'phpbb/db/tools.' . $phpEx);
|
||||
$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
|
||||
$classes = $finder->core_path('phpbb/')
|
||||
->directory('/db/migration/data')
|
||||
->get_classes();
|
||||
|
||||
$dbms_type_map = phpbb\db\tools::get_dbms_type_map();
|
||||
$schema_generator = new \phpbb\db\migration\schema_generator($classes, $config, $db, new \phpbb\db\tools($db, true), $phpbb_root_path, $phpEx, $table_prefix);
|
||||
$schema_data = $schema_generator->get_schema();
|
||||
$dbms_type_map = \phpbb\db\tools::get_dbms_type_map();
|
||||
|
||||
foreach ($schema_data as $table_name => $table_data)
|
||||
{
|
||||
|
151
phpBB/develop/regex_idn.php
Normal file
151
phpBB/develop/regex_idn.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php
|
||||
//
|
||||
// Security message:
|
||||
//
|
||||
// This script is potentially dangerous.
|
||||
// Remove or comment the next line (die(".... ) to enable this script.
|
||||
// Do NOT FORGET to either remove this script or disable it after you have used it.
|
||||
//
|
||||
die("Please read the first lines of this script for instructions on how to enable it");
|
||||
|
||||
// IP regular expressions
|
||||
|
||||
$dec_octet = '(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])';
|
||||
$h16 = '[\dA-F]{1,4}';
|
||||
$ipv4 = "(?:$dec_octet\.){3}$dec_octet";
|
||||
$ls32 = "(?:$h16:$h16|$ipv4)";
|
||||
|
||||
$ipv6_construct = array(
|
||||
array(false, '', '{6}', $ls32),
|
||||
array(false, '::', '{0,5}', "(?:$h16(?::$h16)?|$ipv4)"),
|
||||
array('', ':', '{4}', $ls32),
|
||||
array('{1,2}', ':', '{3}', $ls32),
|
||||
array('{1,3}', ':', '{2}', $ls32),
|
||||
array('{1,4}', ':', '', $ls32),
|
||||
array('{1,5}', ':', false, $ls32),
|
||||
array('{1,6}', ':', false, $h16),
|
||||
array('{1,7}', ':', false, ''),
|
||||
array(false, '::', false, '')
|
||||
);
|
||||
|
||||
$ipv6 = '(?:';
|
||||
foreach ($ipv6_construct as $ip_type)
|
||||
{
|
||||
$ipv6 .= '(?:';
|
||||
if ($ip_type[0] !== false)
|
||||
{
|
||||
$ipv6 .= "(?:$h16:)" . $ip_type[0];
|
||||
}
|
||||
$ipv6 .= $ip_type[1];
|
||||
if ($ip_type[2] !== false)
|
||||
{
|
||||
$ipv6 .= "(?:$h16:)" . $ip_type[2];
|
||||
}
|
||||
$ipv6 .= $ip_type[3] . ')|';
|
||||
}
|
||||
$ipv6 = substr($ipv6, 0, -1) . ')';
|
||||
|
||||
echo 'IPv4: ' . $ipv4 . "<br /><br />\n\nIPv6: " . $ipv6 . "<br /><br />\n\n";
|
||||
|
||||
// URL regular expressions
|
||||
|
||||
/* IDN2008 characters derivation
|
||||
** http://unicode.org/faq/idn.html#33 - IDN FAQ: derivation of valid characters in terms of Unicode properties
|
||||
** http://unicode.org/reports/tr46/ - Unicode Technical Standard #46. Unicode IDNA Compatibility Processing
|
||||
** http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt - Unicode Character Database
|
||||
*/
|
||||
/*
|
||||
** Remove Control Characters and Whitespace (as in IDNA2003)
|
||||
*/
|
||||
$no_cc = '\p{C}\p{Z}';
|
||||
/*
|
||||
** Remove Symbols, Punctuation, non-decimal Numbers, and Enclosing Marks
|
||||
*/
|
||||
$no_symbol = '\p{S}\p{P}\p{Nl}\p{No}\p{Me}';
|
||||
/*
|
||||
** Remove characters used for archaic Hangul (Korean) - \p{HST=L} and \p{HST=V}
|
||||
** as per http://unicode.org/Public/UNIDATA/HangulSyllableType.txt
|
||||
*/
|
||||
$no_hangul = '\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}';
|
||||
/*
|
||||
** Remove three blocks of technical or archaic symbols.
|
||||
*/
|
||||
$no_cdm = '\x{20D0}-\x{20FF}'; // \p{block=Combining_Diacritical_Marks_For_Symbols}
|
||||
$no_musical = '\x{1D100}-\x{1D1FF}'; // \p{block=Musical_Symbols}
|
||||
$no_ancient_greek_musical = '\x{1D200}-\x{1D24F}'; // \p{block=Ancient_Greek_Musical_Notation}
|
||||
/* Remove certain exceptions:
|
||||
** U+0640 ARABIC TATWEEL
|
||||
** U+07FA NKO LAJANYALAN
|
||||
** U+302E HANGUL SINGLE DOT TONE MARK
|
||||
** U+302F HANGUL DOUBLE DOT TONE MARK
|
||||
** U+3031 VERTICAL KANA REPEAT MARK
|
||||
** U+3032 VERTICAL KANA REPEAT WITH VOICED SOUND MARK
|
||||
** ..
|
||||
** U+3035 VERTICAL KANA REPEAT MARK LOWER HALF
|
||||
** U+303B VERTICAL IDEOGRAPHIC ITERATION MARK
|
||||
*/
|
||||
$no_certain_exceptions = '\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}';
|
||||
/* Add certain exceptions:
|
||||
** U+00B7 MIDDLE DOT
|
||||
** U+0375 GREEK LOWER NUMERAL SIGN
|
||||
** U+05F3 HEBREW PUNCTUATION GERESH
|
||||
** U+05F4 HEBREW PUNCTUATION GERSHAYIM
|
||||
** U+30FB KATAKANA MIDDLE DOT
|
||||
** U+002D HYPHEN-MINUS
|
||||
** U+06FD ARABIC SIGN SINDHI AMPERSAND
|
||||
** U+06FE ARABIC SIGN SINDHI POSTPOSITION MEN
|
||||
** U+0F0B TIBETAN MARK INTERSYLLABIC TSHEG
|
||||
** U+3007 IDEOGRAPHIC NUMBER ZERO
|
||||
*/
|
||||
$add_certain_exceptions = '\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}';
|
||||
/* Add special exceptions (Deviations):
|
||||
** U+00DF LATIN SMALL LETTER SHARP S
|
||||
** U+03C2 GREEK SMALL LETTER FINAL SIGMA
|
||||
** U+200C ZERO WIDTH NON-JOINER
|
||||
** U+200D ZERO WIDTH JOINER
|
||||
*/
|
||||
$add_deviations = '\x{00DF}\x{03C2}\x{200C}\x{200D}';
|
||||
|
||||
// Concatenate remove/add regexes respectively
|
||||
$remove_chars = "$no_cc$no_symbol$no_hangul$no_cdm$no_musical$no_ancient_greek_musical$no_certain_exceptions";
|
||||
$add_chars = "$add_certain_exceptions$add_deviations";
|
||||
|
||||
// Initialize inline mode
|
||||
$inline = false;
|
||||
|
||||
do
|
||||
{
|
||||
$inline = !$inline;
|
||||
|
||||
$pct_encoded = "%[\dA-F]{2}";
|
||||
$unreserved = "$add_chars\pL0-9\-._~";
|
||||
$sub_delims = ($inline) ? '!$&\'(*+,;=' : '!$&\'()*+,;=';
|
||||
$scheme = ($inline) ? '[a-z][a-z\d+]*': '[a-z][a-z\d+\-.]*' ; // avoid automatic parsing of "word" in "last word.http://..."
|
||||
$pchar = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)"; // rfc: no "|"
|
||||
|
||||
$reg_name = "(?:[^$remove_chars]*[$unreserved$sub_delims:@|]+|$pct_encoded)+"; // rfc: * instead of + and no "|" and no "@" and no ":" (included instead of userinfo)
|
||||
//$userinfo = "(?:(?:[$unreserved$sub_delims:]+|$pct_encoded))*";
|
||||
$ipv4_simple = '[0-9.]+';
|
||||
$ipv6_simple = '\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\]';
|
||||
$host = "(?:$reg_name|$ipv4_simple|$ipv6_simple)";
|
||||
$port = '\d*';
|
||||
//$authority = "(?:$userinfo@)?$host(?::$port)?";
|
||||
$authority = "$host(?::$port)?";
|
||||
$segment = "$pchar*";
|
||||
$path_abempty = "(?:/$segment)*";
|
||||
$hier_part = "/{2}$authority$path_abempty";
|
||||
$query = "(?:[^$remove_chars]*[$unreserved$sub_delims:@/?|]+|$pct_encoded)*"; // pchar | "/" | "?", rfc: no "|"
|
||||
$fragment = $query;
|
||||
|
||||
$url = "$scheme:$hier_part(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'URL inline: ' : 'URL: ') . $url . "<br /><br />\n\n";
|
||||
|
||||
// no scheme, shortened authority, but host has to start with www.
|
||||
$www_url = "www\.$reg_name(?::$port)?$path_abempty(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'www.URL_inline: ' : 'www.URL: ') . $www_url . "<br /><br />\n\n";
|
||||
|
||||
// no schema and no authority
|
||||
$relative_url = "$segment$path_abempty(?:\?$query)?(?:\#$fragment)?";
|
||||
echo (($inline) ? 'relative URL inline: ' : 'relative URL: ') . $relative_url . "<br /><br />\n\n";
|
||||
}
|
||||
while ($inline);
|
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x Changelog" />
|
||||
<title>phpBB3 • Changelog</title>
|
||||
<title>phpBB • Changelog</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
@@ -46,6 +46,11 @@
|
||||
<ol>
|
||||
<li><a href="#changelog">Changelog</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#v312">Changes since 3.1.2</a></li>
|
||||
<li><a href="#v311">Changes since 3.1.1</a></li>
|
||||
<li><a href="#v310">Changes since 3.1.0</a></li>
|
||||
<li><a href="#v310RC6">Changes since 3.1.0-RC6</a></li>
|
||||
<li><a href="#v310RC5">Changes since 3.1.0-RC5</a></li>
|
||||
<li><a href="#v310RC4">Changes since 3.1.0-RC4</a></li>
|
||||
<li><a href="#v310RC3">Changes since 3.1.0-RC3</a></li>
|
||||
<li><a href="#v310RC2">Changes since 3.1.0-RC2</a></li>
|
||||
@@ -58,6 +63,7 @@
|
||||
<li><a href="#v310a2">Changes since 3.1.0-a2</a></li>
|
||||
<li><a href="#v310a1">Changes since 3.1.0-a1</a></li>
|
||||
<li><a href="#v30x">Changes since 3.0.x</a></li>
|
||||
<li><a href="#v3012">Changes since 3.0.12</a></li>
|
||||
<li><a href="#v3011">Changes since 3.0.11</a></li>
|
||||
<li><a href="#v3010">Changes since 3.0.10</a></li>
|
||||
<li><a href="#v309">Changes since 3.0.9</a></li>
|
||||
@@ -98,7 +104,273 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<a name="v310RC4"></a><h3>1.i. Changes since 3.1.0-RC4</h3>
|
||||
<a name="v312"></a><h3>1.i. Changes since 3.1.2</h3>
|
||||
|
||||
<h4>Security</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13519">PHPBB3-13519</a>] - Correctly validate imagick path as path and not string</li>
|
||||
</ul>
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9100">PHPBB3-9100</a>] - Inline attachments are not being inserted at the cursor</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11613">PHPBB3-11613</a>] - Cookies do not work for netbios domain</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12089">PHPBB3-12089</a>] - Make HTTP status code error messages more informative</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12642">PHPBB3-12642</a>] - Custom profile field isn't displayed</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12698">PHPBB3-12698</a>] - Replace all instances of magic numbers with constants in javascript</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12866">PHPBB3-12866</a>] - Wrong profile field validation options</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13098">PHPBB3-13098</a>] - Repair Yahoo contact field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13192">PHPBB3-13192</a>] - confirm_box() action contains app.php when enable_mod_rewrite is set</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13238">PHPBB3-13238</a>] - \phpbb\db\migration\data\v310\mysql_fulltext_drop tries to drop non existent indexes</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13272">PHPBB3-13272</a>] - Changed Files packages do not include vendor directory</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13282">PHPBB3-13282</a>] - PostgreSQL error when creating boolean/dropdown custom profile fields</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13302">PHPBB3-13302</a>] - ACP links to docs need to be updated to 3.1 URLs</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13307">PHPBB3-13307</a>] - develop/mysql_upgrader.php does not work anymore</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13319">PHPBB3-13319</a>] - Icons/smilies table improperly formed when no images present</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13346">PHPBB3-13346</a>] - Missing space in posting_editor.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13357">PHPBB3-13357</a>] - LOG_MOVED_TOPIC Language var missing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13358">PHPBB3-13358</a>] - Add class for retrieving remote file data</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13362">PHPBB3-13362</a>] - The whole cache dir (excluding the .htaccess and index.html files) should be ignored by git</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13366">PHPBB3-13366</a>] - Dynamic config for "plupload_last_gc" is static</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13381">PHPBB3-13381</a>] - Code Sniffer complains about 3.1.2 migration</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13385">PHPBB3-13385</a>] - Add free result after running update query in $config->set_atomic()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13391">PHPBB3-13391</a>] - subsilver2 poll options must have a setting of 1 when editing a post</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13393">PHPBB3-13393</a>] - Invalid parameters passed to call_user_func_array in version_helper.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13396">PHPBB3-13396</a>] - Multibyte chars cause attachment upload to fail</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13400">PHPBB3-13400</a>] - Add a new message for high server loads during search</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13405">PHPBB3-13405</a>] - A typo in style_update_p1.php migration may prevent updating in some circumstances</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13406">PHPBB3-13406</a>] - ADD INDEX syntax may cause an error in earlier MySQL versions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13420">PHPBB3-13420</a>] - Prune users bug - filter all with 0 posts</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13427">PHPBB3-13427</a>] - Add template events to MCP front before/after each list</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13431">PHPBB3-13431</a>] - Wrong margin-left for RTL sites in Internet Explorer mobile view</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13432">PHPBB3-13432</a>] - Migrator module tool does not add the needed module language file</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13441">PHPBB3-13441</a>] - functions_convert fails to set global moderators default group</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13442">PHPBB3-13442</a>] - UTF-8 symbols for database host</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13448">PHPBB3-13448</a>] - \phpbb\messenger->template can't find email templates in extensions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13453">PHPBB3-13453</a>] - Sort params in Canonical URL</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13470">PHPBB3-13470</a>] - Mass email says "user doesn't exist" when all users is selected</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13486">PHPBB3-13486</a>] - Call to undefined method phpbb\db\driver\factory::sql_escpape() on database update</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13489">PHPBB3-13489</a>] - Allow the migrations to use the DI container</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13490">PHPBB3-13490</a>] - Unicode chars are broken in edit message after preview</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13492">PHPBB3-13492</a>] - Custom BBCode URL tokens do not support IDN</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13504">PHPBB3-13504</a>] - "Array" is displayed when searching, or when unanswered posts or active topics are selected</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13507">PHPBB3-13507</a>] - Large images in posts can cause horizontal scrollbars</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13511">PHPBB3-13511</a>] - The "Unused Use" Sniff is broken</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13530">PHPBB3-13530</a>] - Fix undefined variables in migrations and tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13534">PHPBB3-13534</a>] - Non-existent path in attachment settings causes travis failure</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13543">PHPBB3-13543</a>] - Slow tests fail on 3.1 and 3.2</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11033">PHPBB3-11033</a>] - FULLTEXT_SPHINX_NO_CONFIG_DATA references unrequired field</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12567">PHPBB3-12567</a>] - [proSilver] - viewtopic_body.html: Change 'back2top' anchor in to '#top'</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12926">PHPBB3-12926</a>] - Support for IDN (IRI)</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13266">PHPBB3-13266</a>] - Enabling twig dump function if DEBUG is defined</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13306">PHPBB3-13306</a>] - Add error level to the error collector</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13312">PHPBB3-13312</a>] - [event] - Add core event to the mass email form</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13368">PHPBB3-13368</a>] - Add the forum_data var to the core.viewforum_get_topic_ids_data event</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13370">PHPBB3-13370</a>] - Add ability to call class methods more easily in the convertor framework</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13389">PHPBB3-13389</a>] - Replace pattern with path in routing.yml</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13402">PHPBB3-13402</a>] - Code Sniffer, unused use, check the function doc blocks</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13409">PHPBB3-13409</a>] - Add event to modify search parameters before searching</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13419">PHPBB3-13419</a>] - Add template event at the end of the file</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13422">PHPBB3-13422</a>] - Add new events in save custom cookies and set custom ban type</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13428">PHPBB3-13428</a>] - Add core events to memberlist.php for teampage</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13430">PHPBB3-13430</a>] - Add event for modifying prune SQL</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13435">PHPBB3-13435</a>] - Add core event to modify submit_post() sql data</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13437">PHPBB3-13437</a>] - [Template] - viewtopic_body_post_author_before/after</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13439">PHPBB3-13439</a>] - [event] - Add event to run code at beginning of ACP users overview</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13440">PHPBB3-13440</a>] - [event] - Add event to process when a user fails a login attempt</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13449">PHPBB3-13449</a>] - Add viewforum.php core event after the topic data has been assigned to template </li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13466">PHPBB3-13466</a>] - Add bbcode_uid and bitfield to event core.message_parser_check_message</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13478">PHPBB3-13478</a>] - Add core event core.bbcode_cache_init_end</li>
|
||||
</ul>
|
||||
<h4>Sub-task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13141">PHPBB3-13141</a>] - Add an event to allow applying additional permissions to MCP access besides f_read</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13146">PHPBB3-13146</a>] - Add an event to allow changing the result of calling get_forums_visibility_sql()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13147">PHPBB3-13147</a>] - Add an event to change get_global_visibility_sql()'s results</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13148">PHPBB3-13148</a>] - Add an event to creating a final way to modify edit logs output</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13154">PHPBB3-13154</a>] - Add an event to edit user list for notifications</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13158">PHPBB3-13158</a>] - Add an event to allow adding extra auth checks when the user is posting</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13159">PHPBB3-13159</a>] - Add an event to allow extra auth checks when reporting posts</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13160">PHPBB3-13160</a>] - Add an event to viewtopic before viewing permissions</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12924">PHPBB3-12924</a>] - Meta tags should be self-closing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13528">PHPBB3-13528</a>] - Boolean checkbox profile fields display "1" instead of selected value</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v311"></a><h3>1.ii. Changes since 3.1.1</h3>
|
||||
|
||||
<h4>Security</h4>
|
||||
<ul>
|
||||
<li>[SECURITY-171] - Version helper does not properly escape version info</li>
|
||||
<li>[SECURITY-169] - AJAX request with unexpected referrer causes infinite loop</li>
|
||||
</ul>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10442">PHPBB3-10442</a>] - XHTML is invalid when a forum link without redirect counter is present</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10744">PHPBB3-10744</a>] - Prevent user from installing styles with reserved directory names</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11863">PHPBB3-11863</a>] - User registration settings show incorrectly as disabled when board-wide emails are disabled</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12703">PHPBB3-12703</a>] - Notification System sends exact same SQL query multiple times</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13083">PHPBB3-13083</a>] - Language correction in NO_ENTRIES in acp_logs</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13100">PHPBB3-13100</a>] - Don't display "delete reason" dialog for shadow-topics</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13193">PHPBB3-13193</a>] - Post counts in Private Messages should link to the user's posts</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13197">PHPBB3-13197</a>] - Group Avatar not deleted from users</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13204">PHPBB3-13204</a>] - Login flood control error supresses incorrect credential error</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13209">PHPBB3-13209</a>] - Boolean (Yes/No) custom profile field doesn't show given name</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13216">PHPBB3-13216</a>] - Datetime tests fail randomly</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13228">PHPBB3-13228</a>] - "Code: Select all" font-size too big in Private Messages</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13239">PHPBB3-13239</a>] - Can´t upload Attachments on iOS</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13241">PHPBB3-13241</a>] - Topics are being duplicated in multipage forums</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13242">PHPBB3-13242</a>] - Validation error in Contact a Board Administrator</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13243">PHPBB3-13243</a>] - Debug error when clicking Re-check all versions on ACP manage extensions page</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13251">PHPBB3-13251</a>] - Database password containing special characters no longer accepted after upgrade to 3.1.0</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13253">PHPBB3-13253</a>] - MCP queue link in active topics search is missing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13265">PHPBB3-13265</a>] - "Edit profile" link on view-own-profile page should only show if user has permission to edit</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13270">PHPBB3-13270</a>] - Upgrading from 3.0.12 to 3.1.1 does not display moderator soft delete permissions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13277">PHPBB3-13277</a>] - Move Up & Down does not take work in Internet Explorer</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13280">PHPBB3-13280</a>] - $user->page['page'] - is invalid resulting in confirm_box() not working correctly</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13284">PHPBB3-13284</a>] - Message body not included in email topic message </li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13298">PHPBB3-13298</a>] - Use mysql_free_result to free result sets which were requested using mysql_query()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13300">PHPBB3-13300</a>] - Jabber field still shown in profile when feature is disabled</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13301">PHPBB3-13301</a>] - Apache Authentication is probably broken</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13303">PHPBB3-13303</a>] - Migrator caught in loop calculating dependencies</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13315">PHPBB3-13315</a>] - Upgrade from 3.0.12 to 3.1.1 resets CAPTCHA selection</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13316">PHPBB3-13316</a>] - reCAPTCHA does not work on secured connection</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13318">PHPBB3-13318</a>] - login_username doesn't have multibyte parameter set to true</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13323">PHPBB3-13323</a>] - posting.php can pass invalid auth option to acl_get()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13332">PHPBB3-13332</a>] - Insufficient information passed to password drivers for converted boards</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13337">PHPBB3-13337</a>] - Mark subforums read triggers error if subforums contain no topics</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13338">PHPBB3-13338</a>] - Some tests fail when run on their own</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13342">PHPBB3-13342</a>] - 310/captcha_plugins migration changes recaptcha to nogd</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13349">PHPBB3-13349</a>] - Incorrect entities used for breadcrumb separator in CSS</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13354">PHPBB3-13354</a>] - Unknown column 'topic_logs' in 'where clause' when deleting topic log in MCP</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13376">PHPBB3-13376</a>] - deregister_globals() does not work correctly when $_COOKIE['GLOBALS'] is specified</li>
|
||||
</ul>
|
||||
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12681">PHPBB3-12681</a>] - Cache the compiled routes and dump the url_generator</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12885">PHPBB3-12885</a>] - Wrong index page title when using Board Index text</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13023">PHPBB3-13023</a>] - [event] - Add Event posting_editor_buttons_custom_tags_before</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13133">PHPBB3-13133</a>] - Allow @vendor_extname in INCLUDECSS</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13182">PHPBB3-13182</a>] - [event] - Add posting.php core event to allow modifying the message before parsing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13220">PHPBB3-13220</a>] - [event] - Add template events to memberlist_search.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13290">PHPBB3-13290</a>] - [event] - Add template event index_body_forumlist_body_after</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13294">PHPBB3-13294</a>] - [event] - Add message_parser.php core event for additional message handling before parsing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13297">PHPBB3-13297</a>] - Add unicode modifier to url/email regular expression patterns</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13309">PHPBB3-13309</a>] - [event] - Add ACP template event acp_email_options_after</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13310">PHPBB3-13310</a>] - [event] - Add core event core.acp_email_modify_sql</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13326">PHPBB3-13326</a>] - Add viewtopic_url variable to a viewtopic event</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13328">PHPBB3-13328</a>] - [event] - Add event core.mcp_view_forum_modify_sql</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13347">PHPBB3-13347</a>] - [event] - Add new template events to acp_forums.html</li>
|
||||
</ul>
|
||||
|
||||
<h4>New Feature</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12962">PHPBB3-12962</a>] - Use phantomjs and webdriver for UI testing</li>
|
||||
</ul>
|
||||
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13324">PHPBB3-13324</a>] - Composer no longer downloads sami/sami and fabpot/goutte</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13325">PHPBB3-13325</a>] - Make installing dependencies for tests more user friendly or optional</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13331">PHPBB3-13331</a>] - Sami run as part of phing MUST NOT switch branches</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310"></a><h3>1.iii. Changes since 3.1.0</h3>
|
||||
|
||||
<h4>Security</h4>
|
||||
<ul>
|
||||
<li>[SECURITY-164] - Cross Site Scripting via PATH_INFO in page_name variable</li>
|
||||
</ul>
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13248">PHPBB3-13248</a>] - Login functions need to use provider collection for retrieving provider</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13267">PHPBB3-13267</a>] - Automatic Update instructions indicate that only the install folder is necessary</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13268">PHPBB3-13268</a>] - MSSQL's get_existing_indexes() function improperly appends ternary result</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13271">PHPBB3-13271</a>] - Anonymous users can CC themselves on emails sent to admin via contact form</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13262">PHPBB3-13262</a>] - Add note to docs about htaccess file when upgrading 3.0 to 3.1</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC6"></a><h3>1.iv. Changes since 3.1.0-RC6</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13126">PHPBB3-13126</a>] - More detailed output for migrations needed</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13208">PHPBB3-13208</a>] - Security issues are not pulled into the changelog</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13210">PHPBB3-13210</a>] - Queue Cron Job checks for wrong config variable queue_interval_config</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13211">PHPBB3-13211</a>] - Add possibility to save migrations output to log</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13225">PHPBB3-13225</a>] - phpbb_hash() undefined in phpbb\db\migration\data\v30x\release_3_0_5_rc1.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13226">PHPBB3-13226</a>] - Stray $rank_img in memberlist.php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13227">PHPBB3-13227</a>] - Remote avatars do not work with cURL wrapper</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13229">PHPBB3-13229</a>] - Memberlist is getting overloaded with redundant SQL queries</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13230">PHPBB3-13230</a>] - Deprecated phpbb_clean_path() does not work anymore</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13231">PHPBB3-13231</a>] - The migration contact_admin_form must depends on config_db_text</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13232">PHPBB3-13232</a>] - Email queue does not get run</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13234">PHPBB3-13234</a>] - Remember me cookie gets unset by admin reauthentication</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13207">PHPBB3-13207</a>] - Default subscription notification setting for new users does not include email</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13215">PHPBB3-13215</a>] - Update Symfony Components to 2.3.21</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC5"></a><h3>1.v. Changes since 3.1.0-RC5</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12530">PHPBB3-12530</a>] - Visual confirmation is breaking layout in prosilver's mobile mode</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12568">PHPBB3-12568</a>] - docs/README.html references MODs instead of extensions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13124">PHPBB3-13124</a>] - PHP event extractor too strict on doc blocks</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13138">PHPBB3-13138</a>] - Banned users cause infinite recursion</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13140">PHPBB3-13140</a>] - Header links don't re-appear on window size increase</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13161">PHPBB3-13161</a>] - PHP Warnings issued from phpbb database test case</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13163">PHPBB3-13163</a>] - Header Navbar Responsiveness Broken</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13164">PHPBB3-13164</a>] - Data sent to core.submit_post_end event does not include fresh post_visibility</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13168">PHPBB3-13168</a>] - Warning displayed in PHP 5.6 for mbstring.http_input</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13169">PHPBB3-13169</a>] - Responsive forms not displaying correctly in RTL</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13171">PHPBB3-13171</a>] - Can not delete posts and soft delete topics in MCP topic view</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13174">PHPBB3-13174</a>] - Minor HTML error in ucp_pm_viewmessage.html (needs closing </div>)</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13177">PHPBB3-13177</a>] - Post count-based ranks do not display in viewtopic</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13181">PHPBB3-13181</a>] - Sphinx config template should use place holders for database credentials</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13186">PHPBB3-13186</a>] - Do not link post count to author search if search disabled</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13187">PHPBB3-13187</a>] - INSTALL.html is not valid HTML</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13188">PHPBB3-13188</a>] - Sphinx index() function triggers slow queries that time out replies</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13190">PHPBB3-13190</a>] - phpbb_session_login_keys_test::test_reset_keys fails on develop-ascraeus</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13194">PHPBB3-13194</a>] - BBCode isn't parsed when issuing a warning for a post</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13203">PHPBB3-13203</a>] - Use constant time comparison method for comparing password hashes</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13217">PHPBB3-13217</a>] - Remember me cookie leak</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13218">PHPBB3-13218</a>] - Missing token check in acp_styles</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13221">PHPBB3-13221</a>] - Can't upgrade to 3.1 from 3.0.11 and older</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13223">PHPBB3-13223</a>] - Using get_username_string() for email template variables causes HTML markup in emails</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12796">PHPBB3-12796</a>] - View own Profile should have an edit button</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12799">PHPBB3-12799</a>] - Place the events for f_brunoais_read_other</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13041">PHPBB3-13041</a>] - help_faq.php language file needs to be revised</li>
|
||||
</ul>
|
||||
<h4>New Feature</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13205">PHPBB3-13205</a>] - Add mark all PMs read button</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310RC4"></a><h3>1.vi. Changes since 3.1.0-RC4</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -165,7 +437,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13123">PHPBB3-13123</a>] - Add events to allow post blocking and post pre/past processing</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC3"></a><h3>1.ii. Changes since 3.1.0-RC3</h3>
|
||||
<a name="v310RC3"></a><h3>1.vii. Changes since 3.1.0-RC3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -255,7 +527,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310RC2"></a><h3>1.iii. Changes since 3.1.0-RC2</h3>
|
||||
<a name="v310RC2"></a><h3>1.viii. Changes since 3.1.0-RC2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -379,7 +651,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12948">PHPBB3-12948</a>] - Remove Travis CI "broken opcache on PHP 5.5.7 and 5.5.8" workaround.</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310RC1"></a><h3>1.iv. Changes since 3.1.0-RC1</h3>
|
||||
<a name="v310RC1"></a><h3>1.ix. Changes since 3.1.0-RC1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -450,7 +722,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12829">PHPBB3-12829</a>] - Remove check for pgsql 8.3/8.2</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310b4"></a><h3>1.v. Changes since 3.1.0-b4</h3>
|
||||
<a name="v310b4"></a><h3>1.x. Changes since 3.1.0-b4</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -570,7 +842,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b3"></a><h3>1.vi. Changes since 3.1.0-b3</h3>
|
||||
<a name="v310b3"></a><h3>1.xi. Changes since 3.1.0-b3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -677,7 +949,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b2"></a><h3>1.vii. Changes since 3.1.0-b2</h3>
|
||||
<a name="v310b2"></a><h3>1.xii. Changes since 3.1.0-b2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -842,7 +1114,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310b1"></a><h3>1.viii. Changes since 3.1.0-b1</h3>
|
||||
<a name="v310b1"></a><h3>1.xiii. Changes since 3.1.0-b1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -910,7 +1182,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310a3"></a><h3>1.ix. Changes since 3.1.0-a3</h3>
|
||||
<a name="v310a3"></a><h3>1.xiv. Changes since 3.1.0-a3</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1057,7 +1329,7 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v310a2"></a><h3>1.x. Changes since 3.1.0-a2</h3>
|
||||
<a name="v310a2"></a><h3>1.xv. Changes since 3.1.0-a2</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1165,7 +1437,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
|
||||
</ul>
|
||||
|
||||
<a name="v310a1"></a><h3>1.xi. Changes since 3.1.0-a1</h3>
|
||||
<a name="v310a1"></a><h3>1.xvi. Changes since 3.1.0-a1</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1241,7 +1513,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11998">PHPBB3-11998</a>] - Add console / command line client environment </li>
|
||||
</ul>
|
||||
|
||||
<a name="v30x"></a><h3>1.xii. Changes since 3.0.x</h3>
|
||||
<a name="v30x"></a><h3>1.xvii. Changes since 3.0.x</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -1922,7 +2194,143 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11913">PHPBB3-11913</a>] - Apply reorganisation of download.phpbb.com to build_announcement.php</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3011"></a><h3>1.xiii. Changes since 3.0.11</h3>
|
||||
<a name="v3012"></a><h3>1.xviii. Changes since 3.0.12</h3>
|
||||
|
||||
<h4>Security</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13531">PHPBB3-13531</a>] - Disallow trailing paths (e.g. using the PATH_INFO feature) to prevent path-relative CSS injection</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13526">PHPBB3-13526</a>] - Correctly validate ucp_pm_options form key</li>
|
||||
</ul>
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-6703">PHPBB3-6703</a>] - Problem with russian letter while converting from 2.0.x</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8960">PHPBB3-8960</a>] - Allow changing allow_avatar_remote when images/avatars/upload is not writable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9420">PHPBB3-9420</a>] - BBCode - Unable to use a proper URI token</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9724">PHPBB3-9724</a>] - Wrong return "Return to ACP"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9725">PHPBB3-9725</a>] - MSSQL Schema is not azure compatible</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10023">PHPBB3-10023</a>] - Password change requirement notification in UCP is not noticable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10423">PHPBB3-10423</a>] - Searching for the term "test *" will highlight nearly every word and displays htmlspecialchars as htmlentities.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10442">PHPBB3-10442</a>] - XHTML is invalid when a forum link without redirect counter is present</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10687">PHPBB3-10687</a>] - UNABLE_GET_IMAGE_SIZE text misleading for remote avatars</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10729">PHPBB3-10729</a>] - Post editor information is not updated when user being deleted with posts</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10776">PHPBB3-10776</a>] - Grammar errors in docs/README.html</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10796">PHPBB3-10796</a>] - SQL Azure does not allow SELECT FROM sysfiles</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10851">PHPBB3-10851</a>] - HTML files containing certain tags being rejected as possible attack vectors with "Check attachment file" set to "No"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10863">PHPBB3-10863</a>] - Permission mask does not accurately show some forum permissions if user has MOD parmissions</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10917">PHPBB3-10917</a>] - Updater notice "Update files are out of date..." when updating to unreleased version</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10985">PHPBB3-10985</a>] - Error bbcode.html not found when updating with custom style inheriting from prosilver</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11062">PHPBB3-11062</a>] - In Automatic Update, new language strings from install.php are only loaded from English</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11224">PHPBB3-11224</a>] - SQL cache destroy does not destroy queries to tables joined</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11288">PHPBB3-11288</a>] - "Fulltext native" search fooled by hyphens</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11480">PHPBB3-11480</a>] - Prevent Private Message system from returning "Unknown folder" when inbox folder is full</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11613">PHPBB3-11613</a>] - Cookies do not work for netbios domain</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11686">PHPBB3-11686</a>] - Not checking for phpBB Debug errors on functional tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11699">PHPBB3-11699</a>] - PHP Lint Test should exclude selected subdirectories of the build directory.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11726">PHPBB3-11726</a>] - Don't run lint tests on Travis on postgres</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11762">PHPBB3-11762</a>] - generate_text_for_display() treats "0" as an empty string</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11789">PHPBB3-11789</a>] - Inline css with color value in subsilver2</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11794">PHPBB3-11794</a>] - Coding Guidelines document says to place a comma after every array element, but fails to do so itself</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11799">PHPBB3-11799</a>] - Anti Abuse Headers missing for sendpassword</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11811">PHPBB3-11811</a>] - Chrome 30 adds outline to focused elements</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11821">PHPBB3-11821</a>] - Wrong comma usage "You are receiving this notification"</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11823">PHPBB3-11823</a>] - Travis-CI webserver not matching PHP files with anything after the .php</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11829">PHPBB3-11829</a>] - Closed reports may seem open in detailed view</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11860">PHPBB3-11860</a>] - .htaccess not working for Apache 2.4</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11864">PHPBB3-11864</a>] - Do not call exit after display_progress_bar in acp_forums</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11879">PHPBB3-11879</a>] - Compatibility error in forum_fn.js: .live should be replaced with .on</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11968">PHPBB3-11968</a>] - Travis Image are broken due to repository rename</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12037">PHPBB3-12037</a>] - acp_inactive.html has hard-coded text</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12048">PHPBB3-12048</a>] - Custom BBCodes Fail to Render Language Strings with a Number</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12061">PHPBB3-12061</a>] - Keyboard shortcut alt+h doesn't work properly in firefox</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12072">PHPBB3-12072</a>] - Missing word "send" in comment in schema_data.sql</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12093">PHPBB3-12093</a>] - IE 11 javascript selection is no longer supported</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12118">PHPBB3-12118</a>] - Add noindex meta tag to subsilver2 pm/topic view-print template</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12119">PHPBB3-12119</a>] - Remove keywords and description meta tags from prosilver view-print templates</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12120">PHPBB3-12120</a>] - Update docs/AUTHORS for 3.0.13-RC1</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12140">PHPBB3-12140</a>] - Avoid endless loop in build script</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12161">PHPBB3-12161</a>] - build/save directories are no longer created</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12162">PHPBB3-12162</a>] - Binary files missing from update packages</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12176">PHPBB3-12176</a>] - No error shown when attempting to delete a founder</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12186">PHPBB3-12186</a>] - MCP should open "Reported posts" instead of PM Reports</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12188">PHPBB3-12188</a>] - Add php 5.6 to travis tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12202">PHPBB3-12202</a>] - Variables read from style.cfg etc. should be htmlspecialchared</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12205">PHPBB3-12205</a>] - Custom Profile Field display bug</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12210">PHPBB3-12210</a>] - dbtools::sql_create_table incorrectly throws error related to auto-increment length on non auto-increment fields</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12310">PHPBB3-12310</a>] - SMTP username and password should not autocomplete during install</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12316">PHPBB3-12316</a>] - develop-ascraeus build status missing from "Automated Testing" section in README.md</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12353">PHPBB3-12353</a>] - User attachments in ACP are not displaying every attachment</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12359">PHPBB3-12359</a>] - Day and Month of Birthday Misaligned When Editing</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12381">PHPBB3-12381</a>] - Broken error message when selecting invalid DB driver</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12397">PHPBB3-12397</a>] - db_tools::sql_unique_index_exists() has wrong doc block</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12429">PHPBB3-12429</a>] - Update phpunit to 3.8+</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12467">PHPBB3-12467</a>] - Add config_*.php and tests_config_*.php to .gitignore</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12472">PHPBB3-12472</a>] - Set fast finish for .travis.yml</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12485">PHPBB3-12485</a>] - Broken tests due to absolute exclude</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12492">PHPBB3-12492</a>] - DB_TEST: Special chars are not supported.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12540">PHPBB3-12540</a>] - WRONG_FILESIZE contains broken placeholders</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12660">PHPBB3-12660</a>] - Undefined offset error when phpinfo() disabled and debug enabled</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12695">PHPBB3-12695</a>] - Undefined index: MISSING_INLINE_ATTACHMENT notice given when viewing post details</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12720">PHPBB3-12720</a>] - Git commit hook should not require commit message to start with a capital letter</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12741">PHPBB3-12741</a>] - Functional tests on Travis fail since php update last night</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12755">PHPBB3-12755</a>] - Remote upload stuck in infinite loop if server sends keep-alive</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13086">PHPBB3-13086</a>] - Update ACP_MASS_EMAIL_EXPLAIN language key</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13096">PHPBB3-13096</a>] - ldap_escape() added to PHP 5.6.0</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13138">PHPBB3-13138</a>] - Banned users cause infinite recursion</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13168">PHPBB3-13168</a>] - Warning displayed in PHP 5.6 for mbstring.http_input</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13234">PHPBB3-13234</a>] - Remember me cookie gets unset by admin reauthentication</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13341">PHPBB3-13341</a>] - Tests fail when generating coverage report</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13376">PHPBB3-13376</a>] - deregister_globals() does not work correctly when $_COOKIE['GLOBALS'] - is specified</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13519">PHPBB3-13519</a>] - Correctly validate imagick path as path and not string</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13523">PHPBB3-13523</a>] - PHP 5.2 Unit Tests no longer work due to deprecated PHPUnit PEAR channel</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13527">PHPBB3-13527</a>] - Escape information received from version server</li>
|
||||
</ul>
|
||||
<h4>Improvement</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10037">PHPBB3-10037</a>] - Add Smiley Buttons in Signature Editor</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10174">PHPBB3-10174</a>] - Rename "Ban usernames" to "Ban users" in ACP</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10549">PHPBB3-10549</a>] - Languages variables should be used, not hardcoded</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10555">PHPBB3-10555</a>] - Copyright notice in overall_header.html is not translatable</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10945">PHPBB3-10945</a>] - Show entered search query in the search box when no results are found.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11254">PHPBB3-11254</a>] - Check CRLF line endings in the test suite</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11295">PHPBB3-11295</a>] - Drop tables for postgres in the test suite</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11297">PHPBB3-11297</a>] - Running tests doc should mention dbunit dependency</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11704">PHPBB3-11704</a>] - phing build script does not include vendor folder, even if there are dependencies</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11766">PHPBB3-11766</a>] - Remove Quote and Edit button when topic is lock</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11801">PHPBB3-11801</a>] - missing semi colons in css</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11814">PHPBB3-11814</a>] - Topic reply notification email text change</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12035">PHPBB3-12035</a>] - Add a link to user's posts in the ACP user overview page</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12106">PHPBB3-12106</a>] - Document exceptions to "Disable Board" in ACP.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12146">PHPBB3-12146</a>] - Add color demo when editing a group from the UCP</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12247">PHPBB3-12247</a>] - include poster's username in email notifications of posts that get approved by moderators</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12259">PHPBB3-12259</a>] - Too many redundant tests are run on Travis</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12468">PHPBB3-12468</a>] - Allow mbstring.http_input='' besides 'pass' for PHP 5.6 compatibility</li>
|
||||
</ul>
|
||||
<h4>Task</h4>
|
||||
<ul>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10839">PHPBB3-10839</a>] - Remove phpunit.xml.functional and always include functional tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11509">PHPBB3-11509</a>] - Travis should check commit message format</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11876">PHPBB3-11876</a>] - Upgrade package checksums from MD5 to SHA256</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11877">PHPBB3-11877</a>] - Create package download links and checksums for announcement via script</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11920">PHPBB3-11920</a>] - Add MariaDB tests to Travis-CI</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11951">PHPBB3-11951</a>] - Add MariaDB to supported RDBMS list</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11970">PHPBB3-11970</a>] - Use 'set -x' in Travis CI setup scripts</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12046">PHPBB3-12046</a>] - Use PHP_BINARY environment variable in lint unit test</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12056">PHPBB3-12056</a>] - Make sure each unit test runs on its own</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12318">PHPBB3-12318</a>] - Correctly setup HHVM functional tests on Travis CI</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12319">PHPBB3-12319</a>] - Backport Travis CI HHVM environment enabling to develop-olympus.</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12320">PHPBB3-12320</a>] - No longer allow Travis CI HHVM environment to fail</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12341">PHPBB3-12341</a>] - Add tests for get_username_string()</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12384">PHPBB3-12384</a>] - Run Travis CI HHVM tests against MySQLi instead of MySQL</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12417">PHPBB3-12417</a>] - hhvm-nightly 2014.04.16~precise breaks tests</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12495">PHPBB3-12495</a>] - Add Sami to composer dependencies and build script</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12582">PHPBB3-12582</a>] - Strip away copyrighted ICC profile from images</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12917">PHPBB3-12917</a>] - Move commit check and file executable checks to 5.3.3 build on travis</li>
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13324">PHPBB3-13324</a>] - Composer no longer downloads sami/sami and fabpot/goutte</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3011"></a><h3>1.xix. Changes since 3.0.11</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2077,7 +2485,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11753">PHPBB3-11753</a>] - Upgrade mysql_upgrader.php schema data.</li>
|
||||
</ul>
|
||||
|
||||
<a name="v3010"></a><h3>1.xiv. Changes since 3.0.10</h3>
|
||||
<a name="v3010"></a><h3>1.xx. Changes since 3.0.10</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2202,7 +2610,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
|
||||
</ul>
|
||||
|
||||
<a name="v309"></a><h3>1.xv. Changes since 3.0.9</h3>
|
||||
<a name="v309"></a><h3>1.xxi. Changes since 3.0.9</h3>
|
||||
|
||||
<h4>Bug</h4>
|
||||
<ul>
|
||||
@@ -2338,7 +2746,7 @@
|
||||
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
|
||||
</ul>
|
||||
|
||||
<a name="v308"></a><h3>1.xvi. Changes since 3.0.8</h3>
|
||||
<a name="v308"></a><h3>1.xxii. Changes since 3.0.8</h3>
|
||||
|
||||
<h4> Bug
|
||||
</h4>
|
||||
@@ -2403,7 +2811,7 @@
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9924'>PHPBB3-9924</a>] - $template->display hook does not pass $template instance
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9925'>PHPBB3-9925</a>] - prosilver logo margin bug in IE 6-7-8
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9925'>PHPBB3-9925</a>] - prosilver logo margin bug in IE 6-7-8
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9928'>PHPBB3-9928</a>] - Do not link "login to your board" to the "send statistics" page after completed update.
|
||||
</li>
|
||||
@@ -2411,7 +2819,7 @@
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9932'>PHPBB3-9932</a>] - The Bing bot is not added when converting.
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9933'>PHPBB3-9933</a>] - Wrong handling of consecutive multiple asterisks in word censor
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9933'>PHPBB3-9933</a>] - Wrong handling of consecutive multiple asterisks in word censor
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9934'>PHPBB3-9934</a>] - Mass Mail missing under the system tab on a fresh install
|
||||
</li>
|
||||
@@ -2423,7 +2831,7 @@
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9948'>PHPBB3-9948</a>] - Inline quicktime files won't display
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9949'>PHPBB3-9949</a>] - $user->lang() is not handling arguments as per documentation
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9949'>PHPBB3-9949</a>] - $user->lang() is not handling arguments as per documentation
|
||||
</li>
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-9950'>PHPBB3-9950</a>] - Problem with localized button images after uprading from 3.0.7-PL1 to 3.0.8
|
||||
</li>
|
||||
@@ -2586,7 +2994,7 @@
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10250'>PHPBB3-10250</a>] - phpBB Logo needs the Registered Trademark Symbol
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h4> Improvement
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -2643,7 +3051,7 @@
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10186'>PHPBB3-10186</a>] - UCP signature panel displays when not authed for signatures
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h4> New Feature
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -2654,7 +3062,7 @@
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10110'>PHPBB3-10110</a>] - Redis caching module
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h4> Task
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -2693,7 +3101,7 @@
|
||||
<li>[<a href='http://tracker.phpbb.com/browse/PHPBB3-10107'>PHPBB3-10107</a>] - Improve docs for non-apache webserver configuration
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h4> Sub-task
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -2706,7 +3114,8 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307-PL1"></a><h3>1.xvii. Changes since 3.0.7-PL1</h3>
|
||||
<a name="v307-PL1"></a><h3>1.xxiii. Changes since 3.0.7-PL1</h3>
|
||||
|
||||
<h4> Security
|
||||
</h4>
|
||||
<ul>
|
||||
@@ -3164,13 +3573,13 @@
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="v307"></a><h3>1.xviii. Changes since 3.0.7</h3>
|
||||
<a name="v307"></a><h3>1.xxiv. Changes since 3.0.7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v306"></a><h3>1.xix. Changes since 3.0.6</h3>
|
||||
<a name="v306"></a><h3>1.xxv. Changes since 3.0.6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)</li>
|
||||
@@ -3274,7 +3683,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v305"></a><h3>1.xx. Changes since 3.0.5</h3>
|
||||
<a name="v305"></a><h3>1.xxvi. Changes since 3.0.5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
|
||||
@@ -3496,7 +3905,7 @@
|
||||
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
|
||||
</ul>
|
||||
|
||||
<a name="v304"></a><h3>1.xxi. Changes since 3.0.4</h3>
|
||||
<a name="v304"></a><h3>1.xxvii. Changes since 3.0.4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)</li>
|
||||
@@ -3585,7 +3994,7 @@
|
||||
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v303"></a><h3>1.xxii. Changes since 3.0.3</h3>
|
||||
<a name="v303"></a><h3>1.xxviii. Changes since 3.0.3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
|
||||
@@ -3617,7 +4026,7 @@
|
||||
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v302"></a><h3>1.xxiii. Changes since 3.0.2</h3>
|
||||
<a name="v302"></a><h3>1.xxix. Changes since 3.0.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)</li>
|
||||
@@ -3716,7 +4125,7 @@
|
||||
<li>[Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v301"></a><h3>1.xxiv. Changes since 3.0.1</h3>
|
||||
<a name="v301"></a><h3>1.xxx. Changes since 3.0.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
|
||||
@@ -3764,7 +4173,7 @@
|
||||
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v300"></a><h3>1.xxv. Changes since 3.0.0</h3>
|
||||
<a name="v300"></a><h3>1.xxxi. Changes since 3.0.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Change] Validate birthdays (Bug #15004)</li>
|
||||
@@ -3835,7 +4244,7 @@
|
||||
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc8"></a><h3>1.xxvi. Changes since 3.0.RC8</h3>
|
||||
<a name="v30rc8"></a><h3>1.xxxii. Changes since 3.0.RC8</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)</li>
|
||||
@@ -3844,7 +4253,7 @@
|
||||
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc7"></a><h3>1.xxvii. Changes since 3.0.RC7</h3>
|
||||
<a name="v30rc7"></a><h3>1.xxxiii. Changes since 3.0.RC7</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixed MSSQL related bug in the update system</li>
|
||||
@@ -3879,7 +4288,7 @@
|
||||
<li>[Fix] No duplication of active topics (Bug #15474)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc6"></a><h3>1.xxviii. Changes since 3.0.RC6</h3>
|
||||
<a name="v30rc6"></a><h3>1.xxxiv. Changes since 3.0.RC6</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
|
||||
@@ -3889,7 +4298,7 @@
|
||||
<li>[Fix] Able to request new password (Bug #14743)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc5"></a><h3>1.xxix. Changes since 3.0.RC5</h3>
|
||||
<a name="v30rc5"></a><h3>1.xxxv. Changes since 3.0.RC5</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
|
||||
@@ -3952,7 +4361,7 @@
|
||||
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc4"></a><h3>1.xxx. Changes since 3.0.RC4</h3>
|
||||
<a name="v30rc4"></a><h3>1.xxxvi. Changes since 3.0.RC4</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
|
||||
@@ -4003,7 +4412,7 @@
|
||||
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
|
||||
</ul>
|
||||
|
||||
<a name="v30rc3"></a><h3>1.xxxi. Changes since 3.0.RC3</h3>
|
||||
<a name="v30rc3"></a><h3>1.xxxvii. Changes since 3.0.RC3</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
|
||||
@@ -4112,7 +4521,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc2"></a><h3>1.xxxii. Changes since 3.0.RC2</h3>
|
||||
<a name="v30rc2"></a><h3>1.xxxviii. Changes since 3.0.RC2</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] Re-allow searching within the memberlist</li>
|
||||
@@ -4158,7 +4567,7 @@
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="v30rc1"></a><h3>1.xxxiii. Changes since 3.0.RC1</h3>
|
||||
<a name="v30rc1"></a><h3>1.xxxix. Changes since 3.0.RC1</h3>
|
||||
|
||||
<ul>
|
||||
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>
|
||||
|
@@ -24,7 +24,6 @@ phpBB Lead Developer: naderman (Nils Adermann)
|
||||
|
||||
phpBB Developers: bantu (Andreas Fischer)
|
||||
dhruv.goel92 (Dhruv Goel)
|
||||
EXreaction (Nathan Guse)
|
||||
marc1706 (Marc Alexander)
|
||||
nickvergessen (Joas Schilling)
|
||||
nicofuma (Tristan Darricau)
|
||||
@@ -53,6 +52,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
|
||||
ckwalsh (Cullen Walsh) [01/2010 - 07/2011]
|
||||
DavidMJ (David M.) [12/2005 - 08/2009]
|
||||
dhn (Dominik Dröscher) [05/2007 - 01/2011]
|
||||
EXreaction (Nathan Guse) [07/2012 - 05/2014]
|
||||
GrahamJE (Graham Eames) [09/2005 - 11/2006]
|
||||
igorw (Igor Wiedler) [08/2010 - 02/2013]
|
||||
imkingdavid (David King) [11/2012 - 06/2014]
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x frequently asked questions" />
|
||||
<title>phpBB3 • FAQ</title>
|
||||
<title>phpBB • FAQ</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB3, the community forums and our IRC channel (see <a href="README.html">README</a> for details).</p>
|
||||
<p>This is a very basic Frequently Asked Questions (FAQ) page which attempts to answer some of the more commonly asked questions. It is by no means exhaustive and should be used in combination with the 'built-in' User FAQ within phpBB, the community forums and our IRC channel (see <a href="README.html">README</a> for details).</p>
|
||||
|
||||
<h1>FAQ</h1>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB3 the chances are you will be unable to administer or update it.</p>
|
||||
<p>Simple answer, no we will not. We are not being difficult when we say this we are actually trying to help you. phpBB has a reputation for being easy to install, that reputation is we believe well deserved. It is a simple process of unarchiving a single file, uploading the resulting directory/files to their intended location and entering some data in a web based form. The sequence of events, what to type where, etc. is covered in detail in the accompanying <a href="INSTALL.html">INSTALL.html</a> documentation. If you cannot install phpBB the chances are you will be unable to administer or update it.</p>
|
||||
|
||||
<p>There are people, companies (unrelated to your hosting provider), etc. that will install your forum, either for free or for a payment. We do not recommend you make use of these offers. Unless the service is provided by your hosting company you will have to divulge passwords and other sensitive details. If you did not know how to use an ATM would you give a passer-by your bank card and PIN and ask them to show you what to do? No, probably not! The same applies to your hosting account details!</p>
|
||||
|
||||
@@ -243,7 +243,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/documentation/3.0/">online documentation</a>.</p>
|
||||
<p>Please read the paragraph about permissions in our extensive <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">online documentation</a>.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -299,7 +299,7 @@ I want to sue you because i think you host an illegal board!</h2>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Please read our <a href="https://www.phpbb.com/support/documentation/3.0/">extensive user documentation</a> first, it may just explain what you want to know.</p>
|
||||
<p>Please read our <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">extensive user documentation</a> first, it may just explain what you want to know.</p>
|
||||
|
||||
<p>Feel free to search our community forum for the information you require. <strong>PLEASE DO NOT</strong> post your question without having first used search, chances are someone has already asked and answered your question. You can find our board here:</p>
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x Installation, updating and conversion informations" />
|
||||
<title>phpBB3 • Install</title>
|
||||
<title>phpBB • Install</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<p>This document will walk you through the basics on installing, updating and converting the forum software.</p>
|
||||
|
||||
<p>A basic overview of running phpBB3 can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB3 you should read <a href="https://www.phpbb.com/support/documentation/3.0/">the documentation</a> available online.</p>
|
||||
<p>A basic overview of running phpBB can be found in the accompanying <a href="README.html">README</a> file. Please ensure you read that document in addition to this! For more detailed information on using, installing, updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">the documentation</a> available online.</p>
|
||||
|
||||
<h1>Install</h1>
|
||||
|
||||
@@ -142,10 +142,11 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>PHP 5.3.3+</strong> with support for the database you intend to use.</li>
|
||||
<li>The following PHP modules are required:</li>
|
||||
<li>The following PHP modules are required:
|
||||
<ul>
|
||||
<li>json</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>getimagesize() function must be enabled.</li>
|
||||
<li>Presence of the following modules within PHP will provide access to additional features, but they are not required:
|
||||
<ul>
|
||||
@@ -176,23 +177,23 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Installation of phpBB3 will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB3 archive (in binary mode!) to a directory on your host and unarchive it there.</p>
|
||||
<p>Installation of phpBB will vary according to your server and database. If you have <em>shell access</em> to your account (via telnet or ssh for example) you may want to upload the entire phpBB archive (in binary mode!) to a directory on your host and unarchive it there.</p>
|
||||
|
||||
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB3 archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
|
||||
<p>If you do not have shell access or do not wish to use it, you will need to decompress the phpBB archive to a local directory on your system using your favourite compression program, e.g. winzip, rar, zip, etc. From there you must FTP <strong>ALL</strong> the files it contains (being sure to retain the directory structure and filenames) to your host. Please ensure that the cases of filenames are retained, do <strong>NOT</strong> force filenames to all lower or upper case as doing so will cause errors later.</p>
|
||||
|
||||
<p>All .php, .sql, .cfg, .css, .js, .html, .htaccess and .txt files should be uploaded in <strong>ASCII</strong> mode, while all graphics should be uploaded in <strong>BINARY</strong> mode. If you are unfamiliar with what this means please refer to your FTP client documentation. In most cases this is all handled transparantly by your ftp client, but if you encounter problems later you should be sure the files were uploaded correctly as described here.</p>
|
||||
|
||||
<p>phpBB3 comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
|
||||
<p>phpBB comes supplied with British English as its standard language. However, a number of separate packs for different languages are available. If you are not a native English speaker you may wish to install one or more of these packages before continuing. The installation process below will allow you to select a default language from those available (you can, of course, change this default at a later stage). For more details on language packs, where to obtain them and how to install them please see the <a href="README.html#i18n">README</a>.</p>
|
||||
|
||||
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB3 files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB3 Introduction</em></strong> screen appear.</p>
|
||||
<p>Once all the files have been uploaded to your site, you should point your browser at this location with the addition of <code>/install/</code>. For example, if your domain name is <code>www.example.com</code> and you placed the phpBB files in the directory <code>/phpBB3</code> off your web root you would enter <code>http://www.example.com/phpBB3/install/</code> or (alternatively) <code>http://www.example.com/phpBB3/install/index.php</code> into your browser. When you have done this, you should see the <strong><em>phpBB Introduction</em></strong> screen appear.</p>
|
||||
|
||||
<h4>Introduction:</h4>
|
||||
|
||||
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB3 is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
|
||||
<p>The initial screen gives you a short introduction into phpBB. It allows you to read the license phpBB is released under (General Public License v2) and provides information about how you can receive support. To start the installation, use the <strong><em>INSTALL</em></strong> tab.</p>
|
||||
|
||||
<h4>Requirements</h4>
|
||||
|
||||
<p>The first page you will see after starting the installation is the Requirements list. phpBB3 automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB3 to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
|
||||
<p>The first page you will see after starting the installation is the Requirements list. phpBB automatically checks whether everything that it needs to run properly is installed on your server. You need to have at least the minimum PHP version installed, and at least one database available to continue the installation. Also important, is that all shown folders are available and have the correct permissions. Please see the description of each section to find out whether they are optional or required for phpBB to run. If everything is in order, you can continue the installation with <em>Start Install</em>.</p>
|
||||
|
||||
<h4>Database settings</h4>
|
||||
|
||||
@@ -212,7 +213,7 @@
|
||||
|
||||
<p>You don't need to change the Prefix for tables in database setting, unless you plan on using multipe phpBB installations on one database. In this case, you can use a different prefix for each installation to make it work.</p>
|
||||
|
||||
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB3 will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
|
||||
<p>After you entered your details, you can continue with the <em>Proceed to next step</em> button. Now phpBB will check whether the data you entered will lead to a successful database connection and whether tables with the same prefix already exist.</p>
|
||||
|
||||
<p>A <em>Could not connect to the database</em> error means that you didn't enter the database data correctly and it is not possible for phpBB to connect. Make sure that everything you entered is in order and try again. Again, if you are unsure about your database settings, please contact your host.</p>
|
||||
|
||||
@@ -222,7 +223,7 @@
|
||||
|
||||
<h4>Administrator details</h4>
|
||||
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB3 installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
<p>Now you have to create your administration user. This user will have full administration access and he/she will be the first user on your forum. All fields on this page are required. You can also set the default language of your forum on this page. In a vanilla phpBB installation, we only include British English. You can download further languages from <a href="https://www.phpbb.com/">www.phpbb.com</a>, and add them before installing or later.</p>
|
||||
|
||||
<h4>Configuration file</h4>
|
||||
|
||||
@@ -236,7 +237,7 @@
|
||||
|
||||
<p>If the installation was successful, you can now use the <em>Login</em> button to visit the Administration Control Panel. Congratulations, you have installed phpBB successfully. But there is still work ahead!</p>
|
||||
|
||||
<p>If you are unable to get phpBB3 installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
|
||||
<p>If you are unable to get phpBB installed even after reading this guide, please look at the support section of the installer's introduction page to find out where you can ask for further assistance.</p>
|
||||
|
||||
<p>At this point if you are converting from phpBB 2.0.x, you should refer to the <a href="#convert">conversion steps</a> for further information. If not, you should remove the install directory from your server as you will only be able to access the Administration Control Panel whilst it is present.</p>
|
||||
|
||||
@@ -256,15 +257,15 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>If you are currently using a stable release of phpBB3, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB3 files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
|
||||
<p>If you are currently using a stable release of phpBB, updating to this version is straightforward. You would have downloaded one of four packages and your choice determines what you need to do. <strong>Note</strong>: Before updating, we heavily recommend you do a <em>full backup of your database and existing phpBB files</em>! If you are unsure how to achieve this please ask your hosting provider for advice.</p>
|
||||
|
||||
<p><strong>Please make sure you update your phpBB3 source files too, even if you run the <code>database_update.php</code> file.</strong></p>
|
||||
<p><strong>Please make sure you update your phpBB source files too, even if you run the <code>database_update.php</code> file.</strong></p>
|
||||
|
||||
<a name="update_full"></a><h3>4.i. Full package</h3>
|
||||
|
||||
<p>The full package is normally meant for new installations only, but if you want to replace all source files, this package comes in handy.</p>
|
||||
|
||||
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB3 files, you may want to leave your <code>files/</code> and <code>images/</code> directorie in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
|
||||
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB files, you may want to leave your <code>files/</code> and <code>images/</code> directories in place. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
|
||||
|
||||
<p>You should now run <code>install/database_update.php</code> which, depending on your previous version, will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker).</p>
|
||||
|
||||
@@ -296,14 +297,14 @@
|
||||
|
||||
<p>This update method is the recommended method for updating. This package detects changed files automatically and merges in changes if needed.</p>
|
||||
|
||||
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.0.10</strong>, you need the <code>phpBB-3.0.10_to_3.0.11.zip/tar.bz2</code> file.</p>
|
||||
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.0.12</strong>, you need the <code>phpBB-3.0.12_to_3.0.13.zip/tar.bz2</code> file.</p>
|
||||
|
||||
<p>To perform the update, either follow the instructions from the <strong>Administration Control Panel->System</strong> Tab - this should point out that you are running an outdated version and will guide you through the update - or follow the instructions listed below.</p>
|
||||
|
||||
<ul>
|
||||
<li>Go to the <a href="https://www.phpbb.com/downloads/">downloads page</a> and download the latest update package listed there, matching your current version.</li>
|
||||
<li>Upload the uncompressed archive contents to your phpBB installation - only the install folder is required. Upload the whole install folder, retaining the file structure.</li>
|
||||
<li>After the install folder is present, phpBB3 will go offline automatically.</li>
|
||||
<li>Upload the uncompressed archive contents to your phpBB installation - only the <code>install/</code> and <code>vendor/</code> folders are required. Upload these folders in their entirety, retaining the file structure.</li>
|
||||
<li>After the install folder is present, phpBB will go offline automatically.</li>
|
||||
<li>Point your browser to the install directory, for example <code>http://www.example.com/phpBB3/install/</code></li>
|
||||
<li>Choose the "Update" Tab and follow the instructions</li>
|
||||
</ul>
|
||||
@@ -346,7 +347,7 @@
|
||||
<li>The <code>store/</code> directory</li>
|
||||
</ul></li>
|
||||
|
||||
<li>Upload the contents of the 3.1.x Full Package into your forum's directory.</li>
|
||||
<li>Upload the contents of the 3.1.x Full Package into your forum's directory. Make sure the root level .htaccess file is included in the upload.</li>
|
||||
<li>Browse to install/database_update.php</li>
|
||||
<li>Delete the <code>install/</code> directory</li>
|
||||
</ol>
|
||||
@@ -429,13 +430,13 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>Once you have successfully installed phpBB3 you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
|
||||
<p>Once you have successfully installed phpBB you <strong>MUST</strong> ensure you remove the entire <code>install/</code> directory. Leaving the install directory in place is a <em>very serious potential security issue</em> which may lead to deletion or alteration of files, etc. Please note that until this directory is removed, phpBB will not operate and a warning message will be displayed. Beyond this <strong>essential</strong> deletion, you may also wish to delete the docs/ directory if you wish.</p>
|
||||
|
||||
<p>With these directories deleted, you should proceed to the administration panel. Depending on how the installation completed, you may have been directed there automatically. If not, login as the administrator you specified during install/conversion and click the <strong>Administration Control Panel</strong> link at the bottom of any page. Ensure that details specified on the <strong>General</strong> tab are correct!</p>
|
||||
|
||||
<a name="avatars"></a><h3>6.i. Uploadable avatars</h3>
|
||||
|
||||
<p>phpBB3 supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
|
||||
<p>phpBB supports several methods for allowing users to select their own <em>avatar</em> (an avatar is a small image generally unique to a user and displayed just below their username in posts).</p>
|
||||
|
||||
<p>Two of these options allow users to upload an avatar from their machine or a remote location (via a URL). If you wish to enable this function you should first ensure the correct path for uploadable avatars is set in <strong>Administration Control Panel -> General -> Board Configuration -> Avatar settings</strong>. By default this is <code>images/avatars/uploads</code>, but you can set it to whatever you like, just ensure the configuration setting is updated. You must also ensure this directory can be written to by the webserver. Usually this means you have to alter its permissions to allow anyone to read and write to it. Exactly how you should do this depends on your FTP client or server operating system.</p>
|
||||
|
||||
@@ -461,7 +462,7 @@
|
||||
<hr />
|
||||
|
||||
<a name="anti_spam"></a><h2>8. Anti-Spam Measures</h2>
|
||||
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="phpBB 3.1.x Readme" />
|
||||
<title>phpBB3 • Readme</title>
|
||||
<title>phpBB • Readme</title>
|
||||
|
||||
<link href="stylesheet.css" rel="stylesheet" type="text/css" media="screen, projection" />
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<!-- BEGIN DOCUMENT -->
|
||||
|
||||
<p>Thank you for downloading phpBB3. This README will guide you through the basics of installation and operation of phpBB3. Please ensure you read this and the accompanying documentation fully <strong>before</strong> proceeding with the installation.</p>
|
||||
<p>Thank you for downloading phpBB. This README will guide you through the basics of installation and operation of phpBB. Please ensure you read this and the accompanying documentation fully <strong>before</strong> proceeding with the installation.</p>
|
||||
|
||||
<h1>Readme</h1>
|
||||
|
||||
@@ -44,15 +44,15 @@
|
||||
<div class="content">
|
||||
|
||||
<ol>
|
||||
<li><a href="#install">Installing phpBB3</a></li>
|
||||
<li><a href="#run">Running phpBB3</a>
|
||||
<li><a href="#install">Installing phpBB</a></li>
|
||||
<li><a href="#run">Running phpBB</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#i18n">Languages (Internationalisation - i18n)</a></li>
|
||||
<li><a href="#styles">Styles</a></li>
|
||||
<li><a href="#mods">Modifications</a></li>
|
||||
<li><a href="#extensions">Extensions</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#help">Getting help with phpBB3</a>
|
||||
<li><a href="#help">Getting help with phpBB</a>
|
||||
<ol style="list-style-type: lower-roman;">
|
||||
<li><a href="#docs">Documentation</a></li>
|
||||
<li><a href="#kb">Knowledge Base</a></li>
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="install"></a><h2>1. Installing phpBB3</h2>
|
||||
<a name="install"></a><h2>1. Installing phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="run"></a><h2>2. Running phpBB3</h2>
|
||||
<a name="run"></a><h2>2. Running phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
@@ -132,31 +132,31 @@
|
||||
|
||||
<p>This is the <em>official</em> location for all supported language sets. If you download a package from a 3rd party site you do so with the understanding that we cannot offer support. Please do not ask for support if you download a language pack from a 3rd party site.</p>
|
||||
|
||||
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>System tab -> General Tasks -> Language packs</code>. A more detailed description of the process is in the Knowledge Base article, <a href="https://www.phpbb.com/kb/article/how-to-install-a-language-pack/">How to Install a Language Pack</a>.</p>
|
||||
<p>Installation of these packages is straightforward: simply download the required language pack, uncompress (unzip) it and via FTP transfer the included <code>language</code> and <code>styles</code> folders to the root of your board installation. The language can then be installed via the Administration Control Panel of your board: <code>Customise tab -> Language management -> Language packs</code>. A more detailed description of the process is in the Knowledge Base article, <a href="https://www.phpbb.com/kb/article/how-to-install-a-language-pack/">How to Install a Language Pack</a>.</p>
|
||||
|
||||
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=66">[3.0.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
|
||||
<p>If your language is not available, please visit our <a href="https://www.phpbb.com/community/viewforum.php?f=491">[3.1.x] Translations</a> forum where you will find topics on translations in progress. Should you wish to volunteer to translate a language not currently available or assist in maintaining an existing language pack, you can <a href="https://www.phpbb.com/languages/apply.php">Apply to become a translator</a>.</p>
|
||||
|
||||
<a name="styles"></a><h3>2.ii. Styles</h3>
|
||||
|
||||
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB3 allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
<p>Although we are rather proud of the included styles, we realise that they may not be to everyone's taste. Therefore, phpBB allows styles to be switched with relative ease. First, you need to locate and download a style you like. You can find them listed in the <a href="https://www.phpbb.com/customise/db/styles-2/">Styles</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
|
||||
<p>For more information about styles, please see: <a href="https://www.phpbb.com/styles/">https://www.phpbb.com/styles/</a></p>
|
||||
|
||||
<p><strong>Please note</strong> that 3rd party styles downloaded for versions of phpBB2 will <strong>not</strong> work in phpBB3. It is also important to ensure that the style is updated to match the current version of the phpBB software you are using.</p>
|
||||
|
||||
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -> Styles tab</code> where you should see the new style available. Click "Install" to install the style.</p>
|
||||
<p>Once you have downloaded a style, the usual next step is to unarchive (or upload the unarchived contents of) the package into your <code>styles/</code> directory. You then need to visit <code>Administration Control Panel -> Customise tab -> Style management -> Install Styles</code> where you should see the new style available. Click "Install style" to install the style.</p>
|
||||
|
||||
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to "Refresh" the appropriate style components <code>Administration Control Panel -> Styles tab -> Style Components</code> screen. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the changed components are not refreshed you will not see your changes taking effect.</p>
|
||||
<p><strong>Please note</strong> that to improve efficiency, the software caches certain data. For this reason, if you create your own style or modify existing ones, please remember to purge the board cache by clicking the <code>Run now</code> button next to the <code>Purge the cache</code> option in the index page of the Administration Control Panel. You may also need to reload the page you have changed in your web browser to overcome browser caching. If the cache is not purged, you will not see your changes taking effect.</p>
|
||||
|
||||
<a name="mods"></a><h3>2.iii. Modifications</h3>
|
||||
<a name="extensions"></a><h3>2.iii. Extensions</h3>
|
||||
|
||||
<p>We are proud to have a thriving modifications community. These third party modifications to the standard phpBB software, known as <strong>MODs</strong>, extend its capabilities still further. You can browse through many of the MODs in the <a href="https://www.phpbb.com/customise/db/modifications-1/">Modifications</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
<p>We are proud to have a thriving extensions community. These third party extensions to the standard phpBB software, extend its capabilities still further. You can browse through many of the extensions in the <a href="https://www.phpbb.com/customise/db/extensions-36">Extensions</a> section of our <a href="https://www.phpbb.com/customise/db/">Customisation Database</a>.</p>
|
||||
|
||||
<p>For more information about MODs, please see: <a href="https://www.phpbb.com/mods/">https://www.phpbb.com/mods/</a></p>
|
||||
<p>For more information about extensions, please see: <a href="https://www.phpbb.com/extensions">https://www.phpbb.com/extensions</a></p>
|
||||
|
||||
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any modification should <strong>NOT</strong> be reported to the bug tracker (see below). First remove the MOD and see if the problem is resolved. Any support for a MOD should only be sought in the "Discussion/Support" forum for that MOD.</p>
|
||||
<p><strong>Please remember</strong> that any bugs or other issues that occur after you have added any extension should <strong>NOT</strong> be reported to the bug tracker (see below). First disable the extension and see if the problem is resolved. Any support for an extension should only be sought in the "Discussion/Support" forum for that extension.</p>
|
||||
|
||||
<p>Also remember that any modifications, particularly those which modify the database in any way, may render upgrading your forum to future versions more difficult. With all this said, many users have and continue to utilise many of the MODs already available with great success.</p>
|
||||
<p>Also remember that any extensions which modify the database in any way, may render upgrading your forum to future versions more difficult.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -167,20 +167,20 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<a name="help"></a><h2>3. Getting help with phpBB3</h2>
|
||||
<a name="help"></a><h2>3. Getting help with phpBB</h2>
|
||||
|
||||
<div class="paragraph">
|
||||
<div class="inner"><span class="corners-top"><span></span></span>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>phpBB3 can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
|
||||
<p>phpBB can sometimes seem a little daunting to new users, particularly with regards to the permission system. The first thing you should do is check the <a href="FAQ.html">FAQ</a>, which covers a few basic getting started questions. If you need additional help there are several places you can find it.</p>
|
||||
|
||||
<a name="docs"></a><h3>3.i. phpBB3 Documentation</h3>
|
||||
<a name="docs"></a><h3>3.i. phpBB Documentation</h3>
|
||||
|
||||
<p>Comprehensive documentation is now available on the phpBB website:</p>
|
||||
|
||||
<p><a href="https://www.phpbb.com/support/documentation/3.0/">https://www.phpbb.com/support/documentation/3.0/</a></p>
|
||||
<p><a href="https://www.phpbb.com/support/docs/en/3.1/ug/">https://www.phpbb.com/support/docs/en/3.1/ug/</a></p>
|
||||
|
||||
<p>This covers everything from installation to setting permissions and managing users.</p>
|
||||
|
||||
@@ -244,16 +244,16 @@
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>The phpBB Limited uses a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
|
||||
<p>The phpBB developers use a bug tracking system to store, list and manage all reported bugs, it can be found at the location listed below. Please <strong>DO NOT</strong> post bug reports to our forums. In addition please <strong>DO NOT</strong> use the bug tracker for support requests. Posting such a request will only see you directed to the support forums (while taking time away from working on real bugs).</p>
|
||||
|
||||
<p><a href="http://tracker.phpbb.com/browse/PHPBB3">http://tracker.phpbb.com/browse/PHPBB3</a></p>
|
||||
|
||||
<p>While we very much appreciate receiving bug reports (the more reports the more stable phpBB will be) we ask you carry out a few steps before adding new entries:</p>
|
||||
|
||||
<ul>
|
||||
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB3 (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
|
||||
<li>First, determine if your bug is reproduceable; how to determine this depends on the bug in question. Only if the bug is reproduceable is it likely to be a problem with phpBB (or in some way connected). If something cannot be reproduced it may turn out to have been your hosting provider working on something, a user doing something silly, etc. Bug reports for non-reproduceable events can slow down our attempts to fix real, reproduceable issues<br /><br /></li>
|
||||
<li>Next, please read or search through the existing bug reports to see if <em>your</em> bug (or one very similar to it) is already listed. If it is please add to that existing bug rather than creating a new duplicate entry (all this does is slow us down).<br /><br /></li>
|
||||
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it’s related to something you have done rather than phpBB3<br /><br /></li>
|
||||
<li>Check the forums (use search!) to see if people have discussed anything that sounds similar to what you are seeing. However, as noted above please <strong>DO NOT</strong> post your particular bug to the forum unless it's non-reproduceable or you are sure it’s related to something you have done rather than phpBB<br /><br /></li>
|
||||
<li>If no existing bug exists then please feel free to add it</li>
|
||||
</ul>
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
|
||||
<p>The relevant database type/version is listed within the administration control panel.</p>
|
||||
|
||||
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb3">on GitHub</a>.</p>
|
||||
<p>Please be as detailed as you can in your report, and if possible, list the steps required to duplicate the problem. If you have a patch that fixes the issue, please attach it to the ticket or submit a pull request to our repository <a href="https://github.com/phpbb/phpbb">on GitHub</a>.</p>
|
||||
|
||||
<p>If you create a patch, it is very much appreciated (but not required) if you follow the phpBB coding guidelines. Please note that the coding guidelines are somewhat different between different versions of phpBB. For phpBB 3.1.x the coding guidelines may be found here: <a href="http://area51.phpbb.com/docs/31x/coding-guidelines.html">http://area51.phpbb.com/docs/31x/coding-guidelines.html</a></p>
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
|
||||
<p>phpBB 3.1.x takes advantage of new features added in PHP 5.3. We recommend that you upgrade to the latest stable release of PHP5 to run phpBB. The minimum version required is PHP 5.3.3.</p>
|
||||
|
||||
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
|
||||
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
|
||||
|
||||
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 8.x, Oracle 8, SQLite 2 and SQLite 3. Versions of PHP used range from 5.3.x to 5.4.x without problem.</p>
|
||||
|
||||
|
@@ -16,11 +16,59 @@ acp_bbcodes_edit_fieldsets_after
|
||||
* Since: 3.1.0-a3
|
||||
* Purpose: Add settings to BBCode add/edit form
|
||||
|
||||
acp_email_options_after
|
||||
===
|
||||
* Location: adm/style/acp_email.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to mass email form
|
||||
|
||||
acp_forums_main_settings_append
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums at end of main settings section
|
||||
|
||||
acp_forums_main_settings_prepend
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums before main settings section
|
||||
|
||||
acp_forums_normal_settings_append
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add settings to forums
|
||||
* Purpose: Add settings to forums at end of normal settings section
|
||||
|
||||
acp_forums_normal_settings_prepend
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums before normal settings section
|
||||
|
||||
acp_forums_prune_settings_append
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums at end of prune settings section
|
||||
|
||||
acp_forums_prune_settings_prepend
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums before prune settings section
|
||||
|
||||
acp_forums_rules_settings_append
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums at end of rules settings section
|
||||
|
||||
acp_forums_rules_settings_prepend
|
||||
===
|
||||
* Location: adm/style/acp_forums.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add settings to forums before rules settings section
|
||||
|
||||
acp_group_options_before
|
||||
===
|
||||
@@ -111,7 +159,7 @@ acp_ranks_list_column_before
|
||||
* Locations:
|
||||
+ adm/style/acp_ranks.html
|
||||
* Since: 3.1.0-RC3
|
||||
* Purpose: Add content after the last column (but before the action column)
|
||||
* Purpose: Add content after the last column (but before the action column)
|
||||
in the ranks list in the ACP
|
||||
|
||||
acp_ranks_list_header_after
|
||||
@@ -126,7 +174,7 @@ acp_ranks_list_header_before
|
||||
* Locations:
|
||||
+ adm/style/acp_ranks.html
|
||||
* Since: 3.1.0-RC3
|
||||
* Purpose: Add content after the last header-column (but before the action column)
|
||||
* Purpose: Add content after the last header-column (but before the action column)
|
||||
in the ranks list in the ACP
|
||||
|
||||
acp_simple_footer_after
|
||||
@@ -336,6 +384,14 @@ index_body_block_stats_prepend
|
||||
* Since: 3.1.0-b3
|
||||
* Purpose: Prepend content to the statistics list on the Board index
|
||||
|
||||
index_body_forumlist_body_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/index_body.html
|
||||
+ styles/subsilver2/template/index_body.html
|
||||
* Since: 3.1.1
|
||||
* Purpose: Add content after the forum list body on the index page
|
||||
|
||||
index_body_markforums_after
|
||||
===
|
||||
* Locations:
|
||||
@@ -400,6 +456,46 @@ mcp_ban_unban_before
|
||||
* Since: 3.1.0-RC3
|
||||
* Purpose: Add additional fields to the unban form in MCP
|
||||
|
||||
mcp_front_latest_logs_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/mcp_front.html
|
||||
+ styles/subsilver2/template/mcp_front.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content after latest logs list
|
||||
|
||||
mcp_front_latest_logs_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/mcp_front.html
|
||||
+ styles/subsilver2/template/mcp_front.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content before latest logs list
|
||||
|
||||
mcp_front_latest_reported_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/mcp_front.html
|
||||
+ styles/subsilver2/template/mcp_front.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content before latest reported posts list
|
||||
|
||||
mcp_front_latest_reported_pms_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/mcp_front.html
|
||||
+ styles/subsilver2/template/mcp_front.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content before latest reported private messages list
|
||||
|
||||
mcp_front_latest_unapproved_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/mcp_front.html
|
||||
+ styles/subsilver2/template/mcp_front.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content before latest unapproved posts list
|
||||
|
||||
memberlist_body_username_append
|
||||
===
|
||||
* Locations:
|
||||
@@ -418,6 +514,30 @@ memberlist_body_username_prepend
|
||||
* Purpose: Add information before every username in the memberlist. Works in
|
||||
all display modes (leader, group and normal memberlist).
|
||||
|
||||
memberlist_search_fields_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/memberlist_search.html
|
||||
+ styles/subsilver2/template/memberlist_search.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add information after the search fields column.
|
||||
|
||||
memberlist_search_fields_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/memberlist_search.html
|
||||
+ styles/subsilver2/template/memberlist_search.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add information before the search fields column.
|
||||
|
||||
memberlist_search_sorting_options_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/memberlist_search.html
|
||||
+ styles/subsilver2/template/memberlist_search.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add information before the search sorting options field.
|
||||
|
||||
memberlist_view_contact_after
|
||||
===
|
||||
* Locations:
|
||||
@@ -555,6 +675,14 @@ overall_footer_after
|
||||
* Since: 3.1.0-a1
|
||||
* Purpose: Add content at the end of the file, directly prior to the `</body>` tag
|
||||
|
||||
overall_footer_body_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/overall_footer.html
|
||||
+ styles/subsilver2/template/overall_footer.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content before the `</body>` tag but after the $SCRIPTS var, i.e. after the js scripts have been loaded
|
||||
|
||||
overall_footer_breadcrumb_append
|
||||
===
|
||||
* Locations:
|
||||
@@ -756,6 +884,14 @@ posting_editor_buttons_before
|
||||
* Since: 3.1.0-a3
|
||||
* Purpose: Add content before the BBCode posting buttons
|
||||
|
||||
posting_editor_buttons_custom_tags_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/posting_buttons.html
|
||||
+ styles/subsilver2/template/posting_buttons.html
|
||||
* Since: 3.1.2-RC1
|
||||
* Purpose: Add content inside the BBCode posting buttons and before the customs BBCode
|
||||
|
||||
posting_editor_message_after
|
||||
===
|
||||
* Locations:
|
||||
@@ -1011,7 +1147,7 @@ ucp_pm_viewmessage_post_buttons_after
|
||||
+ styles/prosilver/template/ucp_pm_viewmessage.html
|
||||
+ styles/subsilver2/template/ucp_pm_viewmessage.html
|
||||
* Since: 3.1.0-RC3
|
||||
* Purpose: Add post button to private messages (next to edit, quote etc), at
|
||||
* Purpose: Add post button to private messages (next to edit, quote etc), at
|
||||
the end of the list.
|
||||
|
||||
ucp_pm_viewmessage_post_buttons_before
|
||||
@@ -1020,7 +1156,7 @@ ucp_pm_viewmessage_post_buttons_before
|
||||
+ styles/prosilver/template/ucp_pm_viewmessage.html
|
||||
+ styles/subsilver2/template/ucp_pm_viewmessage.html
|
||||
* Since: 3.1.0-RC3
|
||||
* Purpose: Add post button to private messages (next to edit, quote etc), at
|
||||
* Purpose: Add post button to private messages (next to edit, quote etc), at
|
||||
the start of the list.
|
||||
|
||||
ucp_pm_viewmessage_print_head_append
|
||||
@@ -1319,6 +1455,22 @@ viewtopic_body_poll_question_prepend
|
||||
* Since: 3.1.0-b3
|
||||
* Purpose: Add content directly before the poll question on the View topic screen
|
||||
|
||||
viewtopic_body_post_author_after
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_body.html
|
||||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content directly after the post author on the view topic screen
|
||||
|
||||
viewtopic_body_post_author_before
|
||||
===
|
||||
* Locations:
|
||||
+ styles/prosilver/template/viewtopic_body.html
|
||||
+ styles/subsilver2/template/viewtopic_body.html
|
||||
* Since: 3.1.3-RC1
|
||||
* Purpose: Add content directly before the post author on the view topic screen
|
||||
|
||||
viewtopic_body_post_buttons_after
|
||||
===
|
||||
* Locations:
|
||||
|
@@ -153,7 +153,7 @@ class acp_attachments
|
||||
'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
||||
'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
|
||||
'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'string', 'type' => 'text:20:200', 'explain' => true, 'append' => ' <span>[ <a href="' . $this->u_action . '&action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'),
|
||||
'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'path', 'type' => 'text:20:200', 'explain' => true, 'append' => ' <span>[ <a href="' . $this->u_action . '&action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'),
|
||||
'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
||||
'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
||||
)
|
||||
|
@@ -409,7 +409,9 @@ class acp_bbcodes
|
||||
{
|
||||
$bbcode_match = trim($bbcode_match);
|
||||
$bbcode_tpl = trim($bbcode_tpl);
|
||||
$utf8 = strpos($bbcode_match, 'INTTEXT') !== false;
|
||||
|
||||
// Allow unicode characters for URL|LOCAL_URL|RELATIVE_URL|INTTEXT tokens
|
||||
$utf8 = preg_match('/(URL|LOCAL_URL|RELATIVE_URL|INTTEXT)/', $bbcode_match);
|
||||
|
||||
$utf8_pcre_properties = phpbb_pcre_utf8_support();
|
||||
|
||||
|
@@ -615,7 +615,15 @@ class acp_board
|
||||
{
|
||||
add_log('admin', 'LOG_CONFIG_' . strtoupper($mode));
|
||||
|
||||
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
|
||||
$message = $user->lang('CONFIG_UPDATED');
|
||||
$message_type = E_USER_NOTICE;
|
||||
if (!$config['email_enable'] && in_array($mode, array('email', 'registration')) &&
|
||||
in_array($config['require_activation'], array(USER_ACTIVATION_SELF, USER_ACTIVATION_ADMIN)))
|
||||
{
|
||||
$message .= '<br /><br />' . $user->lang('ACC_ACTIVATION_WARNING');
|
||||
$message_type = E_USER_WARNING;
|
||||
}
|
||||
trigger_error($message . adm_back_link($this->u_action), $message_type);
|
||||
}
|
||||
|
||||
$this->tpl_name = 'acp_board';
|
||||
@@ -792,20 +800,19 @@ class acp_board
|
||||
global $user, $config;
|
||||
|
||||
$act_ary = array(
|
||||
'ACC_DISABLE' => USER_ACTIVATION_DISABLE,
|
||||
'ACC_NONE' => USER_ACTIVATION_NONE,
|
||||
'ACC_DISABLE' => array(true, USER_ACTIVATION_DISABLE),
|
||||
'ACC_NONE' => array(true, USER_ACTIVATION_NONE),
|
||||
'ACC_USER' => array($config['email_enable'], USER_ACTIVATION_SELF),
|
||||
'ACC_ADMIN' => array($config['email_enable'], USER_ACTIVATION_ADMIN),
|
||||
);
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
$act_ary['ACC_USER'] = USER_ACTIVATION_SELF;
|
||||
$act_ary['ACC_ADMIN'] = USER_ACTIVATION_ADMIN;
|
||||
}
|
||||
$act_options = '';
|
||||
|
||||
foreach ($act_ary as $key => $value)
|
||||
$act_options = '';
|
||||
foreach ($act_ary as $key => $data)
|
||||
{
|
||||
list($available, $value) = $data;
|
||||
$selected = ($selected_value == $value) ? ' selected="selected"' : '';
|
||||
$act_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$key] . '</option>';
|
||||
$class = (!$available) ? ' class="disabled-option"' : '';
|
||||
$act_options .= '<option value="' . $value . '"' . $selected . $class . '>' . $user->lang($key) . '</option>';
|
||||
}
|
||||
|
||||
return $act_options;
|
||||
|
@@ -26,7 +26,7 @@ class acp_email
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $db, $user, $auth, $template, $cache;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix;
|
||||
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $phpbb_dispatcher;
|
||||
|
||||
$user->add_lang('acp/email');
|
||||
$this->tpl_name = 'acp_email';
|
||||
@@ -40,6 +40,7 @@ class acp_email
|
||||
$error = array();
|
||||
|
||||
$usernames = request_var('usernames', '', true);
|
||||
$usernames = (!empty($usernames)) ? explode("\n", $usernames) : array();
|
||||
$group_id = request_var('g', 0);
|
||||
$subject = utf8_normalize_nfc(request_var('subject', '', true));
|
||||
$message = utf8_normalize_nfc(request_var('message', '', true));
|
||||
@@ -69,14 +70,18 @@ class acp_email
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
if ($usernames)
|
||||
if (!empty($usernames))
|
||||
{
|
||||
// If giving usernames the admin is able to email inactive users too...
|
||||
$sql = 'SELECT username, user_email, user_jabber, user_notify_type, user_lang
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . '
|
||||
AND user_allow_massemail = 1
|
||||
ORDER BY user_lang, user_notify_type'; // , SUBSTRING(user_email FROM INSTR(user_email, '@'))
|
||||
$sql_ary = array(
|
||||
'SELECT' => 'username, user_email, user_jabber, user_notify_type, user_lang',
|
||||
'FROM' => array(
|
||||
USERS_TABLE => '',
|
||||
),
|
||||
'WHERE' => $db->sql_in_set('username_clean', array_map('utf8_clean_string', $usernames)) . '
|
||||
AND user_allow_massemail = 1',
|
||||
'ORDER_BY' => 'user_lang, user_notify_type',
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -123,8 +128,18 @@ class acp_email
|
||||
),
|
||||
);
|
||||
}
|
||||
$sql = $db->sql_build_query('SELECT', $sql_ary);
|
||||
}
|
||||
/**
|
||||
* Modify sql query to change the list of users the email is sent to
|
||||
*
|
||||
* @event core.acp_email_modify_sql
|
||||
* @var array sql_ary Array which is used to build the sql query
|
||||
* @since 3.1.2-RC1
|
||||
*/
|
||||
$vars = array('sql_ary');
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_email_modify_sql', compact($vars)));
|
||||
|
||||
$sql = $db->sql_build_query('SELECT', $sql_ary);
|
||||
$result = $db->sql_query($sql);
|
||||
$row = $db->sql_fetchrow($result);
|
||||
|
||||
@@ -180,6 +195,39 @@ class acp_email
|
||||
|
||||
$errored = false;
|
||||
|
||||
$email_template = 'admin_send_email';
|
||||
$template_data = array(
|
||||
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
|
||||
'MESSAGE' => htmlspecialchars_decode($message),
|
||||
);
|
||||
$generate_log_entry = true;
|
||||
|
||||
/**
|
||||
* Modify email template data before the emails are sent
|
||||
*
|
||||
* @event core.acp_email_send_before
|
||||
* @var string email_template The template to be used for sending the email
|
||||
* @var string subject The subject of the email
|
||||
* @var array template_data Array with template data assigned to email template
|
||||
* @var bool generate_log_entry If false, no log entry will be created
|
||||
* @var array usernames Usernames which will be displayed in log entry, if it will be created
|
||||
* @var int group_id The group this email will be sent to
|
||||
* @var bool use_queue If true, email queue will be used for sending
|
||||
* @var int priority Priority of sent emails
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'email_template',
|
||||
'subject',
|
||||
'template_data',
|
||||
'generate_log_entry',
|
||||
'usernames',
|
||||
'group_id',
|
||||
'use_queue',
|
||||
'priority',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_email_send_before', compact($vars)));
|
||||
|
||||
for ($i = 0, $size = sizeof($email_list); $i < $size; $i++)
|
||||
{
|
||||
$used_lang = $email_list[$i][0]['lang'];
|
||||
@@ -193,17 +241,14 @@ class acp_email
|
||||
$messenger->im($email_row['jabber'], $email_row['name']);
|
||||
}
|
||||
|
||||
$messenger->template('admin_send_email', $used_lang);
|
||||
$messenger->template($email_template, $used_lang);
|
||||
|
||||
$messenger->anti_abuse_headers($config, $user);
|
||||
|
||||
$messenger->subject(htmlspecialchars_decode($subject));
|
||||
$messenger->set_mail_priority($priority);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
|
||||
'MESSAGE' => htmlspecialchars_decode($message))
|
||||
);
|
||||
$messenger->assign_vars($template_data);
|
||||
|
||||
if (!($messenger->send($used_method)))
|
||||
{
|
||||
@@ -214,24 +259,26 @@ class acp_email
|
||||
|
||||
$messenger->save_queue();
|
||||
|
||||
if ($usernames)
|
||||
if ($generate_log_entry)
|
||||
{
|
||||
$usernames = explode("\n", $usernames);
|
||||
add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames)));
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($group_id)
|
||||
if (!empty($usernames))
|
||||
{
|
||||
$group_name = get_group_name($group_id);
|
||||
add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames)));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not great but the logging routine doesn't cope well with localising on the fly
|
||||
$group_name = $user->lang['ALL_USERS'];
|
||||
}
|
||||
if ($group_id)
|
||||
{
|
||||
$group_name = get_group_name($group_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not great but the logging routine doesn't cope well with localising on the fly
|
||||
$group_name = $user->lang['ALL_USERS'];
|
||||
}
|
||||
|
||||
add_log('admin', 'LOG_MASS_EMAIL', $group_name);
|
||||
add_log('admin', 'LOG_MASS_EMAIL', $group_name);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$errored)
|
||||
@@ -272,7 +319,7 @@ class acp_email
|
||||
'WARNING_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
|
||||
'U_ACTION' => $this->u_action,
|
||||
'S_GROUP_OPTIONS' => $select_list,
|
||||
'USERNAMES' => $usernames,
|
||||
'USERNAMES' => implode("\n", $usernames),
|
||||
'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=acp_email&field=usernames'),
|
||||
'SUBJECT' => $subject,
|
||||
'MESSAGE' => $message,
|
||||
|
@@ -537,7 +537,7 @@ class acp_extensions
|
||||
|
||||
$version_check = $meta['extra']['version-check'];
|
||||
|
||||
$version_helper = new \phpbb\version_helper($this->cache, $this->config, $this->user);
|
||||
$version_helper = new \phpbb\version_helper($this->cache, $this->config, new \phpbb\file_downloader(), $this->user);
|
||||
$version_helper->set_current_version($meta['version']);
|
||||
$version_helper->set_file_location($version_check['host'], $version_check['directory'], $version_check['filename']);
|
||||
$version_helper->force_stability($this->config['extension_force_unstable'] ? 'unstable' : null);
|
||||
|
@@ -655,8 +655,8 @@ class acp_main
|
||||
'S_MBSTRING_LOADED' => true,
|
||||
'S_MBSTRING_FUNC_OVERLOAD_FAIL' => (intval(@ini_get('mbstring.func_overload')) & (MB_OVERLOAD_MAIL | MB_OVERLOAD_STRING)),
|
||||
'S_MBSTRING_ENCODING_TRANSLATION_FAIL' => (@ini_get('mbstring.encoding_translation') != 0),
|
||||
'S_MBSTRING_HTTP_INPUT_FAIL' => (@ini_get('mbstring.http_input') != 'pass'),
|
||||
'S_MBSTRING_HTTP_OUTPUT_FAIL' => (@ini_get('mbstring.http_output') != 'pass'),
|
||||
'S_MBSTRING_HTTP_INPUT_FAIL' => !in_array(@ini_get('mbstring.http_input'), array('pass', '')),
|
||||
'S_MBSTRING_HTTP_OUTPUT_FAIL' => !in_array(@ini_get('mbstring.http_output'), array('pass', '')),
|
||||
));
|
||||
}
|
||||
|
||||
|
@@ -397,7 +397,7 @@ class acp_prune
|
||||
$joined_after = request_var('joined_after', '');
|
||||
$active = request_var('active', '');
|
||||
|
||||
$count = request_var('count', 0);
|
||||
$count = ($request->variable('count', '') === '') ? false : $request->variable('count', 0);
|
||||
|
||||
$active = ($active) ? explode('-', $active) : array();
|
||||
$joined_before = ($joined_before) ? explode('-', $joined_before) : array();
|
||||
@@ -439,7 +439,7 @@ class acp_prune
|
||||
$where_sql .= ($username) ? ' AND username_clean ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($username))) : '';
|
||||
$where_sql .= ($email) ? ' AND user_email ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), $email)) . ' ' : '';
|
||||
$where_sql .= $joined_sql;
|
||||
$where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';
|
||||
$where_sql .= ($count !== false) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';
|
||||
|
||||
// First handle pruning of users who never logged in, last active date is 0000-00-00
|
||||
if (sizeof($active) && (int) $active[0] == 0 && (int) $active[1] == 0 && (int) $active[2] == 0)
|
||||
|
@@ -29,14 +29,31 @@ class acp_styles
|
||||
protected $styles_path;
|
||||
protected $styles_path_absolute = 'styles';
|
||||
protected $default_style = 0;
|
||||
protected $styles_list_cols = 0;
|
||||
protected $reserved_style_names = array('adm', 'admin', 'all');
|
||||
|
||||
/** @var \phpbb\db\driver\driver_interface */
|
||||
protected $db;
|
||||
|
||||
/** @var \phpbb\user */
|
||||
protected $user;
|
||||
|
||||
/** @var \phpbb\template\template */
|
||||
protected $template;
|
||||
|
||||
/** @var \phpbb\request\request_interface */
|
||||
protected $request;
|
||||
|
||||
/** @var \phpbb\cache\driver\driver_interface */
|
||||
protected $cache;
|
||||
|
||||
/** @var \phpbb\auth\auth */
|
||||
protected $auth;
|
||||
|
||||
/** @var string */
|
||||
protected $phpbb_root_path;
|
||||
|
||||
/** @var string */
|
||||
protected $php_ext;
|
||||
|
||||
public function main($id, $mode)
|
||||
@@ -70,11 +87,6 @@ class acp_styles
|
||||
$action = $this->request->variable('action', '');
|
||||
$post_actions = array('install', 'activate', 'deactivate', 'uninstall');
|
||||
|
||||
if ($action && in_array($action, $post_actions) && !check_link_hash($request->variable('hash', ''), $action))
|
||||
{
|
||||
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
foreach ($post_actions as $key)
|
||||
{
|
||||
if ($this->request->is_set_post($key))
|
||||
@@ -83,6 +95,18 @@ class acp_styles
|
||||
}
|
||||
}
|
||||
|
||||
// The uninstall action uses confirm_box() to verify the validity of the request,
|
||||
// so there is no need to check for a valid token here.
|
||||
if (in_array($action, $post_actions) && $action != 'uninstall')
|
||||
{
|
||||
$is_valid_request = check_link_hash($request->variable('hash', ''), $action) || check_form_key('styles_management');
|
||||
|
||||
if (!$is_valid_request)
|
||||
{
|
||||
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
||||
if ($action != '')
|
||||
{
|
||||
$this->s_hidden_fields['action'] = $action;
|
||||
@@ -122,6 +146,8 @@ class acp_styles
|
||||
*/
|
||||
protected function frontend()
|
||||
{
|
||||
add_form_key('styles_management');
|
||||
|
||||
// Check mode
|
||||
switch ($this->mode)
|
||||
{
|
||||
@@ -155,6 +181,12 @@ class acp_styles
|
||||
$last_installed = false;
|
||||
foreach ($dirs as $dir)
|
||||
{
|
||||
if (in_array($dir, $this->reserved_style_names))
|
||||
{
|
||||
$messages[] = $this->user->lang('STYLE_NAME_RESERVED', htmlspecialchars($dir));
|
||||
continue;
|
||||
}
|
||||
|
||||
$found = false;
|
||||
foreach ($styles as &$style)
|
||||
{
|
||||
@@ -800,7 +832,7 @@ class acp_styles
|
||||
* Update styles tree
|
||||
*
|
||||
* @param array $styles Styles list, passed as reference
|
||||
* @param array $style Current style, false if root
|
||||
* @param array|false $style Current style, false if root
|
||||
* @return bool True if something was updated, false if not
|
||||
*/
|
||||
protected function update_styles_tree(&$styles, $style = false)
|
||||
@@ -1082,7 +1114,7 @@ class acp_styles
|
||||
/**
|
||||
* Install style
|
||||
*
|
||||
* @param $style style data
|
||||
* @param array $style style data
|
||||
* @return int Style id
|
||||
*/
|
||||
protected function install_style($style)
|
||||
|
@@ -173,6 +173,21 @@ class acp_users
|
||||
$delete_type = request_var('delete_type', '');
|
||||
$ip = request_var('ip', 'ip');
|
||||
|
||||
/**
|
||||
* Run code at beginning of ACP users overview
|
||||
*
|
||||
* @event core.acp_users_overview_before
|
||||
* @var array user_row Current user data
|
||||
* @var string mode Active module
|
||||
* @var string action Module that should be run
|
||||
* @var bool submit Do we display the form only
|
||||
* or did the user press submit
|
||||
* @var array error Array holding error messages
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array('user_row', 'mode', 'action', 'submit', 'error');
|
||||
extract($phpbb_dispatcher->trigger_event('core.acp_users_overview_before', compact($vars)));
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
if ($delete)
|
||||
|
@@ -129,7 +129,7 @@ class bbcode
|
||||
*/
|
||||
function bbcode_cache_init()
|
||||
{
|
||||
global $phpbb_root_path, $phpEx, $config, $user, $phpbb_extension_manager, $phpbb_path_helper;
|
||||
global $phpbb_root_path, $phpEx, $config, $user, $phpbb_dispatcher, $phpbb_extension_manager, $phpbb_path_helper;
|
||||
|
||||
if (empty($this->template_filename))
|
||||
{
|
||||
@@ -388,6 +388,26 @@ class bbcode
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$bbcode_cache = $this->bbcode_cache;
|
||||
$bbcode_bitfield = $this->bbcode_bitfield;
|
||||
$bbcode_uid = $this->bbcode_uid;
|
||||
|
||||
/**
|
||||
* Use this event to modify the bbcode_cache
|
||||
*
|
||||
* @event core.bbcode_cache_init_end
|
||||
* @var array bbcode_cache The array of cached search and replace patterns of bbcodes
|
||||
* @var string bbcode_bitfield The bbcode bitfield
|
||||
* @var string bbcode_uid The bbcode uid
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array('bbcode_cache', 'bbcode_bitfield', 'bbcode_uid');
|
||||
extract($phpbb_dispatcher->trigger_event('core.bbcode_cache_init_end', compact($vars)));
|
||||
|
||||
$this->bbcode_cache = $bbcode_cache;
|
||||
$this->bbcode_bitfield = $bbcode_bitfield;
|
||||
$this->bbcode_uid = $bbcode_uid;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
|
||||
*/
|
||||
|
||||
// phpBB Version
|
||||
define('PHPBB_VERSION', '3.1.0-RC5');
|
||||
define('PHPBB_VERSION', '3.1.3-RC1');
|
||||
|
||||
// QA-related
|
||||
// define('PHPBB_QA', 1);
|
||||
|
@@ -2396,26 +2396,7 @@ function build_url($strip_vars = false)
|
||||
{
|
||||
global $config, $user, $phpbb_path_helper;
|
||||
|
||||
$php_ext = $phpbb_path_helper->get_php_ext();
|
||||
$page = $user->page['page'];
|
||||
|
||||
// We need to be cautious here.
|
||||
// On some situations, the redirect path is an absolute URL, sometimes a relative path
|
||||
// For a relative path, let's prefix it with $phpbb_root_path to point to the correct location,
|
||||
// else we use the URL directly.
|
||||
$url_parts = parse_url($page);
|
||||
|
||||
// URL
|
||||
if ($url_parts === false || empty($url_parts['scheme']) || empty($url_parts['host']))
|
||||
{
|
||||
// Remove 'app.php/' from the page, when rewrite is enabled
|
||||
if ($config['enable_mod_rewrite'] && strpos($page, 'app.' . $php_ext . '/') === 0)
|
||||
{
|
||||
$page = substr($page, strlen('app.' . $php_ext . '/'));
|
||||
}
|
||||
|
||||
$page = $phpbb_path_helper->get_phpbb_root_path() . $page;
|
||||
}
|
||||
$page = $phpbb_path_helper->get_valid_page($user->page['page'], $config['enable_mod_rewrite']);
|
||||
|
||||
// Append SID
|
||||
$redirect = append_sid($page, false, false);
|
||||
@@ -2657,7 +2638,7 @@ function check_form_key($form_name, $timespan = false)
|
||||
function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')
|
||||
{
|
||||
global $user, $template, $db, $request;
|
||||
global $phpEx, $phpbb_root_path, $request;
|
||||
global $config, $phpbb_path_helper;
|
||||
|
||||
if (isset($_POST['cancel']))
|
||||
{
|
||||
@@ -2719,8 +2700,8 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
|
||||
}
|
||||
|
||||
// re-add sid / transform & to & for user->page (user->page is always using &)
|
||||
$use_page = ($u_action) ? $phpbb_root_path . $u_action : $phpbb_root_path . str_replace('&', '&', $user->page['page']);
|
||||
$u_action = reapply_sid($use_page);
|
||||
$use_page = ($u_action) ? $u_action : str_replace('&', '&', $user->page['page']);
|
||||
$u_action = reapply_sid($phpbb_path_helper->get_valid_page($use_page, $config['enable_mod_rewrite']));
|
||||
$u_action .= ((strpos($u_action, '?') === false) ? '?' : '&') . 'confirm_key=' . $confirm_key;
|
||||
|
||||
$template->assign_vars(array(
|
||||
@@ -2922,6 +2903,19 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* This event allows an extension to process when a user fails a login attempt
|
||||
*
|
||||
* @event core.login_box_failed
|
||||
* @var array result Login result data
|
||||
* @var string username User name used to login
|
||||
* @var string password Password used to login
|
||||
* @var string err Error message
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array('result', 'username', 'password', 'err');
|
||||
extract($phpbb_dispatcher->trigger_event('core.login_box_failed', compact($vars)));
|
||||
}
|
||||
|
||||
// Assign credential for username/password pair
|
||||
@@ -3327,23 +3321,33 @@ function get_preg_expression($mode)
|
||||
break;
|
||||
|
||||
case 'url':
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "[a-z][a-z\d+\-.]*:/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'url_inline':
|
||||
$inline = ($mode == 'url') ? ')' : '';
|
||||
$scheme = ($mode == 'url') ? '[a-z\d+\-.]' : '[a-z\d+]'; // avoid automatic parsing of "word" in "last word.http://..."
|
||||
// generated with regex generation file in the develop folder
|
||||
return "[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "[a-z][a-z\d+]*:/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'www_url':
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'www_url_inline':
|
||||
$inline = ($mode == 'www_url') ? ')' : '';
|
||||
return "www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'relative_url':
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'relative_url_inline':
|
||||
$inline = ($mode == 'relative_url') ? ')' : '';
|
||||
return "(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
// generated with regex_idn.php file in the develop folder
|
||||
return "(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~!$&'(*+,;=:@/?|]+|%[\dA-F]{2})*)?";
|
||||
break;
|
||||
|
||||
case 'table_prefix':
|
||||
@@ -5254,7 +5258,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
|
||||
|
||||
// Call cron-type script
|
||||
$call_cron = false;
|
||||
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('cron.lock_check'))
|
||||
if (!defined('IN_CRON') && !$config['use_system_cron'] && $run_cron && !$config['board_disable'] && !$user->data['is_bot'] && !$cache->get('_cron.lock_check'))
|
||||
{
|
||||
$call_cron = true;
|
||||
$time_now = (!empty($user->time_now) && is_int($user->time_now)) ? $user->time_now : time();
|
||||
@@ -5286,7 +5290,7 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
|
||||
}
|
||||
else
|
||||
{
|
||||
$cache->put('cron.lock_check', true, 300);
|
||||
$cache->put('_cron.lock_check', true, 60);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2311,7 +2311,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
|
||||
*/
|
||||
function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync = true)
|
||||
{
|
||||
global $db;
|
||||
global $db, $phpbb_dispatcher;
|
||||
|
||||
if (!is_array($forum_id))
|
||||
{
|
||||
@@ -2351,6 +2351,21 @@ function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync
|
||||
$sql_and .= ' AND topic_status = ' . ITEM_MOVED . " AND topic_last_post_time < $prune_date";
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this event to modify the SQL that selects topics to be pruned
|
||||
*
|
||||
* @event core.prune_sql
|
||||
* @var string forum_id The forum id
|
||||
* @var string prune_mode The prune mode
|
||||
* @var string prune_date The prune date
|
||||
* @var int prune_flags The prune flags
|
||||
* @var bool auto_sync Whether or not to perform auto sync
|
||||
* @var string sql_and SQL text appended to where clause
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array('forum_id', 'prune_mode', 'prune_date', 'prune_flags', 'auto_sync', 'sql_and');
|
||||
extract($phpbb_dispatcher->trigger_event('core.prune_sql', compact($vars)));
|
||||
|
||||
$sql = 'SELECT topic_id
|
||||
FROM ' . TOPICS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('forum_id', $forum_id) . "
|
||||
@@ -2512,6 +2527,7 @@ function phpbb_cache_moderators($db, $cache, $auth)
|
||||
{
|
||||
$usernames_ary[$row['user_id']] = $row['username'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
foreach ($hold_ary as $user_id => $forum_id_ary)
|
||||
{
|
||||
@@ -2806,6 +2822,7 @@ function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $li
|
||||
|
||||
$users[] = $row;
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
return $offset;
|
||||
}
|
||||
@@ -2980,68 +2997,21 @@ function get_database_size()
|
||||
|
||||
/**
|
||||
* Retrieve contents from remotely stored file
|
||||
*
|
||||
* @deprecated 3.1.2 Use file_downloader instead
|
||||
*/
|
||||
function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port = 80, $timeout = 6)
|
||||
{
|
||||
global $user;
|
||||
global $phpbb_container;
|
||||
|
||||
if ($fsock = @fsockopen($host, $port, $errno, $errstr, $timeout))
|
||||
{
|
||||
@fputs($fsock, "GET $directory/$filename HTTP/1.0\r\n");
|
||||
@fputs($fsock, "HOST: $host\r\n");
|
||||
@fputs($fsock, "Connection: close\r\n\r\n");
|
||||
// Get file downloader and assign $errstr and $errno
|
||||
$file_downloader = $phpbb_container->get('file_downloader');
|
||||
|
||||
$timer_stop = time() + $timeout;
|
||||
stream_set_timeout($fsock, $timeout);
|
||||
$file_data = $file_downloader->get($host, $directory, $filename, $port, $timeout);
|
||||
$errstr = $file_downloader->get_error_string();
|
||||
$errno = $file_downloader->get_error_number();
|
||||
|
||||
$file_info = '';
|
||||
$get_info = false;
|
||||
|
||||
while (!@feof($fsock))
|
||||
{
|
||||
if ($get_info)
|
||||
{
|
||||
$file_info .= @fread($fsock, 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
$line = @fgets($fsock, 1024);
|
||||
if ($line == "\r\n")
|
||||
{
|
||||
$get_info = true;
|
||||
}
|
||||
else if (stripos($line, '404 not found') !== false)
|
||||
{
|
||||
$errstr = $user->lang('FILE_NOT_FOUND', $filename);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$stream_meta_data = stream_get_meta_data($fsock);
|
||||
|
||||
if (!empty($stream_meta_data['timed_out']) || time() >= $timer_stop)
|
||||
{
|
||||
$errstr = $user->lang['FSOCK_TIMEOUT'];
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@fclose($fsock);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($errstr)
|
||||
{
|
||||
$errstr = utf8_convert_message($errstr);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errstr = $user->lang['FSOCK_DISABLED'];
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return $file_info;
|
||||
return $file_data;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -101,18 +101,21 @@ function phpbb_clean_path($path)
|
||||
}
|
||||
else if (!$phpbb_path_helper)
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
// The container is not yet loaded, use a new instance
|
||||
if (!class_exists('\phpbb\path_helper'))
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
require($phpbb_root_path . 'phpbb/path_helper.' . $phpEx);
|
||||
}
|
||||
|
||||
$request = new phpbb\request\request();
|
||||
$phpbb_path_helper = new phpbb\path_helper(
|
||||
new phpbb\symfony_request(
|
||||
new phpbb\request\request()
|
||||
$request
|
||||
),
|
||||
new phpbb\filesystem(),
|
||||
$request,
|
||||
$phpbb_root_path,
|
||||
$phpEx
|
||||
);
|
||||
|
@@ -712,7 +712,7 @@ function make_clickable_callback($type, $whitespace, $url, $relative_url, $class
|
||||
break;
|
||||
}
|
||||
|
||||
$short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
|
||||
$short_url = (utf8_strlen($url) > 55) ? utf8_substr($url, 0, 39) . ' ... ' . utf8_substr($url, -10) : $url;
|
||||
|
||||
switch ($type)
|
||||
{
|
||||
@@ -788,28 +788,28 @@ function make_clickable($text, $server_url = false, $class = 'postlink')
|
||||
|
||||
// relative urls for this board
|
||||
$magic_url_match_args[$server_url][] = array(
|
||||
'#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#i',
|
||||
'#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#iu',
|
||||
MAGIC_URL_LOCAL,
|
||||
$local_class,
|
||||
);
|
||||
|
||||
// matches a xxxx://aaaaa.bbb.cccc. ...
|
||||
$magic_url_match_args[$server_url][] = array(
|
||||
'#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#i',
|
||||
'#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#iu',
|
||||
MAGIC_URL_FULL,
|
||||
$class,
|
||||
);
|
||||
|
||||
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
|
||||
$magic_url_match_args[$server_url][] = array(
|
||||
'#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#i',
|
||||
'#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#iu',
|
||||
MAGIC_URL_WWW,
|
||||
$class,
|
||||
);
|
||||
|
||||
// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
|
||||
$magic_url_match_args[$server_url][] = array(
|
||||
'/(^|[\n\t (>])(' . get_preg_expression('email') . ')/i',
|
||||
'/(^|[\n\t (>])(' . get_preg_expression('email') . ')/iu',
|
||||
MAGIC_URL_EMAIL,
|
||||
'',
|
||||
);
|
||||
|
@@ -2148,6 +2148,7 @@ function fix_empty_primary_groups()
|
||||
}
|
||||
|
||||
$sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . ' WHERE group_id = ' . get_group_id('global_moderators');
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$user_ids = array();
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
|
@@ -1491,7 +1491,7 @@ function phpbb_get_user_rank($user_data, $user_posts)
|
||||
/**
|
||||
* Prepare profile data
|
||||
*/
|
||||
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false)
|
||||
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false, $check_can_receive_pm = true)
|
||||
{
|
||||
global $config, $auth, $user, $phpEx, $phpbb_root_path, $phpbb_dispatcher;
|
||||
|
||||
@@ -1559,7 +1559,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
|
||||
}
|
||||
|
||||
// Can this user receive a Private Message?
|
||||
$can_receive_pm = (
|
||||
$can_receive_pm = $check_can_receive_pm && (
|
||||
// They must be a "normal" user
|
||||
$data['user_type'] != USER_IGNORE &&
|
||||
|
||||
@@ -1608,8 +1608,8 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
|
||||
'U_EMAIL' => $email,
|
||||
'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $user_id) : '',
|
||||
|
||||
'USER_JABBER' => $data['user_jabber'],
|
||||
'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
|
||||
'USER_JABBER' => ($config['jab_enable']) ? $data['user_jabber'] : '',
|
||||
'USER_JABBER_IMG' => ($config['jab_enable'] && $data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
|
||||
|
||||
'L_SEND_EMAIL_USER' => $user->lang('SEND_EMAIL_USER', $username),
|
||||
'L_CONTACT_USER' => $user->lang('CONTACT_USER', $username),
|
||||
|
@@ -1825,6 +1825,30 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify sql query data for post submitting
|
||||
*
|
||||
* @event core.submit_post_modify_sql_data
|
||||
* @var array data Array with the data for the post
|
||||
* @var array poll Array with the poll data for the post
|
||||
* @var string post_mode Variable containing posting mode value
|
||||
* @var bool sql_data Array with the data for the posting SQL query
|
||||
* @var string subject Variable containing post subject value
|
||||
* @var int topic_type Variable containing topic type value
|
||||
* @var string username Variable containing post author name
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'data',
|
||||
'poll',
|
||||
'post_mode',
|
||||
'sql_data',
|
||||
'subject',
|
||||
'topic_type',
|
||||
'username',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.submit_post_modify_sql_data', compact($vars)));
|
||||
|
||||
// Submit new topic
|
||||
if ($post_mode == 'post')
|
||||
{
|
||||
@@ -2384,6 +2408,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||
* @var int topic_type Variable containing topic type value
|
||||
* @var array poll Array with the poll data for the post
|
||||
* @var array data Array with the data for the post
|
||||
* @var int post_visibility Variable containing up to date post visibility
|
||||
* @var bool update_message Flag indicating if the post will be updated
|
||||
* @var bool update_search_index Flag indicating if the search index will be updated
|
||||
* @var string url The "Return to topic" URL
|
||||
@@ -2399,6 +2424,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||
'topic_type',
|
||||
'poll',
|
||||
'data',
|
||||
'post_visibility',
|
||||
'update_message',
|
||||
'update_search_index',
|
||||
'url',
|
||||
|
@@ -914,6 +914,24 @@ function update_unread_status($unread, $msg_id, $user_id, $folder_id)
|
||||
}
|
||||
}
|
||||
|
||||
function mark_folder_read($user_id, $folder_id)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$sql = 'SELECT msg_id
|
||||
FROM ' . PRIVMSGS_TO_TABLE . '
|
||||
WHERE folder_id = ' . ((int) $folder_id) . '
|
||||
AND user_id = ' . ((int) $user_id) . '
|
||||
AND pm_unread = 1';
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
update_unread_status(true, $row['msg_id'], $user_id, $folder_id);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle all actions possible with marked messages
|
||||
*/
|
||||
|
@@ -161,9 +161,10 @@ function user_update_name($old_name, $new_name)
|
||||
*
|
||||
* @param mixed $user_row An array containing the following keys (and the appropriate values): username, group_id (the group to place the user in), user_email and the user_type(usually 0). Additional entries not overridden by defaults will be forwarded.
|
||||
* @param string $cp_data custom profile fields, see custom_profile::build_insert_sql_array
|
||||
* @param array $notifications_data The notifications settings for the new user
|
||||
* @return the new user's ID.
|
||||
*/
|
||||
function user_add($user_row, $cp_data = false)
|
||||
function user_add($user_row, $cp_data = false, $notifications_data = null)
|
||||
{
|
||||
global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;
|
||||
global $phpbb_dispatcher, $phpbb_container;
|
||||
@@ -347,6 +348,31 @@ function user_add($user_row, $cp_data = false)
|
||||
set_config('newest_user_colour', $row['group_colour'], true);
|
||||
}
|
||||
|
||||
// Use default notifications settings if notifications_data is not set
|
||||
if ($notifications_data === null)
|
||||
{
|
||||
$notifications_data = array(
|
||||
array(
|
||||
'item_type' => 'notification.type.post',
|
||||
'method' => 'notification.method.email',
|
||||
),
|
||||
array(
|
||||
'item_type' => 'notification.type.topic',
|
||||
'method' => 'notification.method.email',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// Subscribe user to notifications if necessary
|
||||
if (!empty($notifications_data))
|
||||
{
|
||||
$phpbb_notifications = $phpbb_container->get('notification_manager');
|
||||
foreach ($notifications_data as $subscription)
|
||||
{
|
||||
$phpbb_notifications->add_subscription($subscription['item_type'], 0, $subscription['method'], $user_id);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Event that returns user id, user detals and user CPF of newly registared user
|
||||
*
|
||||
|
@@ -165,6 +165,22 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
||||
AND ' . $phpbb_content_visibility->get_visibility_sql('topic', $forum_id, 't.') . "
|
||||
$limit_time_sql
|
||||
ORDER BY t.topic_type DESC, $sort_order_sql";
|
||||
|
||||
/**
|
||||
* Modify SQL query before MCP forum view topic list is queried
|
||||
*
|
||||
* @event core.mcp_view_forum_modify_sql
|
||||
* @var string sql SQL query for forum view topic list
|
||||
* @var int forum_id ID of the forum
|
||||
* @var string limit_time_sql SQL query part for limit time
|
||||
* @var string sort_order_sql SQL query part for sort order
|
||||
* @var int topics_per_page Number of topics per page
|
||||
* @var int start Start value
|
||||
* @since 3.1.2-RC1
|
||||
*/
|
||||
$vars = array('sql', 'forum_id', 'limit_time_sql', 'sort_order_sql', 'topics_per_page', 'start');
|
||||
extract($phpbb_dispatcher->trigger_event('core.mcp_view_forum_modify_sql', compact($vars)));
|
||||
|
||||
$result = $db->sql_query_limit($sql, $topics_per_page, $start);
|
||||
|
||||
$topic_list = $topic_tracking_info = array();
|
||||
|
@@ -137,7 +137,7 @@ class mcp_logs
|
||||
|
||||
if ($mode == 'topic_logs')
|
||||
{
|
||||
$conditions['topic_logs'] = $topic_id;
|
||||
$conditions['topic_id'] = $topic_id;
|
||||
}
|
||||
|
||||
$phpbb_log->delete('mod', $conditions);
|
||||
|
@@ -754,7 +754,8 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
|
||||
{
|
||||
global $auth, $user, $db, $phpEx, $phpbb_root_path, $request, $phpbb_container;
|
||||
|
||||
if (!phpbb_check_ids($topic_ids, TOPICS_TABLE, 'topic_id', array('m_delete')))
|
||||
$check_permission = ($is_soft) ? 'm_softdelete' : 'm_delete';
|
||||
if (!phpbb_check_ids($topic_ids, TOPICS_TABLE, 'topic_id', array($check_permission)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -812,8 +813,17 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
|
||||
|
||||
$user->add_lang('posting');
|
||||
|
||||
// If there are only shadow topics, we neither need a reason nor softdelete
|
||||
$sql = 'SELECT topic_id
|
||||
FROM ' . TOPICS_TABLE . '
|
||||
WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . '
|
||||
AND topic_moved_id = 0';
|
||||
$result = $db->sql_query_limit($sql, 1);
|
||||
$only_shadow = !$db->sql_fetchfield('topic_id');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$only_softdeleted = false;
|
||||
if ($auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
|
||||
if (!$only_shadow && $auth->acl_get('m_delete', $forum_id) && $auth->acl_get('m_softdelete', $forum_id))
|
||||
{
|
||||
// If there are only soft deleted topics, we display a message why the option is not available
|
||||
$sql = 'SELECT topic_id
|
||||
@@ -826,6 +836,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_SHADOW_TOPICS' => $only_shadow,
|
||||
'S_SOFTDELETED' => $only_softdeleted,
|
||||
'S_TOPIC_MODE' => true,
|
||||
'S_ALLOWED_DELETE' => $auth->acl_get('m_delete', $forum_id),
|
||||
@@ -838,7 +849,7 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
|
||||
$l_confirm .= '_PERMANENTLY';
|
||||
$s_hidden_fields['delete_permanent'] = '1';
|
||||
}
|
||||
else if (!$auth->acl_get('m_softdelete', $forum_id))
|
||||
else if ($only_shadow || !$auth->acl_get('m_softdelete', $forum_id))
|
||||
{
|
||||
$s_hidden_fields['delete_permanent'] = '1';
|
||||
}
|
||||
@@ -882,7 +893,8 @@ function mcp_delete_post($post_ids, $is_soft = false, $soft_delete_reason = '',
|
||||
{
|
||||
global $auth, $user, $db, $phpEx, $phpbb_root_path, $request, $phpbb_container;
|
||||
|
||||
if (!phpbb_check_ids($post_ids, POSTS_TABLE, 'post_id', array('m_softdelete')))
|
||||
$check_permission = ($is_soft) ? 'm_softdelete' : 'm_delete';
|
||||
if (!phpbb_check_ids($post_ids, POSTS_TABLE, 'post_id', array($check_permission)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -332,7 +332,7 @@ class mcp_warn
|
||||
|
||||
// We want to make the message available here as a reminder
|
||||
// Parse the message and subject
|
||||
$parse_flags = OPTION_FLAG_SMILIES | ($row['bbcode_bitfield'] ? OPTION_FLAG_BBCODE : 0);
|
||||
$parse_flags = OPTION_FLAG_SMILIES | ($user_row['bbcode_bitfield'] ? OPTION_FLAG_BBCODE : 0);
|
||||
$message = generate_text_for_display($user_row['post_text'], $user_row['bbcode_uid'], $user_row['bbcode_bitfield'], $parse_flags, true);
|
||||
|
||||
// Generate the appropriate user information for the user we are looking at
|
||||
|
@@ -313,7 +313,7 @@ class bbcode_firstpass extends bbcode
|
||||
$in = str_replace(' ', '%20', $in);
|
||||
|
||||
// Checking urls
|
||||
if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
|
||||
if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))
|
||||
{
|
||||
return '[img]' . $in . '[/img]';
|
||||
}
|
||||
@@ -381,8 +381,8 @@ class bbcode_firstpass extends bbcode
|
||||
$in = str_replace(' ', '%20', $in);
|
||||
|
||||
// Make sure $in is a URL.
|
||||
if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) &&
|
||||
!preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
|
||||
if (!preg_match('#^' . get_preg_expression('url') . '$#iu', $in) &&
|
||||
!preg_match('#^' . get_preg_expression('www_url') . '$#iu', $in))
|
||||
{
|
||||
return '[flash=' . $width . ',' . $height . ']' . $in . '[/flash]';
|
||||
}
|
||||
@@ -973,9 +973,9 @@ class bbcode_firstpass extends bbcode
|
||||
$url = str_replace(' ', '%20', $url);
|
||||
|
||||
// Checking urls
|
||||
if (preg_match('#^' . get_preg_expression('url') . '$#i', $url) ||
|
||||
preg_match('#^' . get_preg_expression('www_url') . '$#i', $url) ||
|
||||
preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#i', $url))
|
||||
if (preg_match('#^' . get_preg_expression('url') . '$#iu', $url) ||
|
||||
preg_match('#^' . get_preg_expression('www_url') . '$#iu', $url) ||
|
||||
preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#iu', $url))
|
||||
{
|
||||
$valid = true;
|
||||
}
|
||||
@@ -1103,7 +1103,7 @@ class parse_message extends bbcode_firstpass
|
||||
*/
|
||||
function parse($allow_bbcode, $allow_magic_url, $allow_smilies, $allow_img_bbcode = true, $allow_flash_bbcode = true, $allow_quote_bbcode = true, $allow_url_bbcode = true, $update_this_message = true, $mode = 'post')
|
||||
{
|
||||
global $config, $db, $user;
|
||||
global $config, $db, $user, $phpbb_dispatcher;
|
||||
|
||||
$this->mode = $mode;
|
||||
|
||||
@@ -1158,6 +1158,58 @@ class parse_message extends bbcode_firstpass
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This event can be used for additional message checks/cleanup before parsing
|
||||
*
|
||||
* @event core.message_parser_check_message
|
||||
* @var bool allow_bbcode Do we allow BBCodes
|
||||
* @var bool allow_magic_url Do we allow magic urls
|
||||
* @var bool allow_smilies Do we allow smilies
|
||||
* @var bool allow_img_bbcode Do we allow image BBCode
|
||||
* @var bool allow_flash_bbcode Do we allow flash BBCode
|
||||
* @var bool allow_quote_bbcode Do we allow quote BBCode
|
||||
* @var bool allow_url_bbcode Do we allow url BBCode
|
||||
* @var bool update_this_message Do we alter the parsed message
|
||||
* @var string mode Posting mode
|
||||
* @var string message The message text to parse
|
||||
* @var string bbcode_bitfield The bbcode_bitfield before parsing
|
||||
* @var string bbcode_uid The bbcode_uid before parsing
|
||||
* @var bool return Do we return after the event is triggered if $warn_msg is not empty
|
||||
* @var array warn_msg Array of the warning messages
|
||||
* @since 3.1.2-RC1
|
||||
* @change 3.1.3-RC1 Added vars $bbcode_bitfield and $bbcode_uid
|
||||
*/
|
||||
$message = $this->message;
|
||||
$warn_msg = $this->warn_msg;
|
||||
$return = false;
|
||||
$bbcode_bitfield = $this->bbcode_bitfield;
|
||||
$bbcode_uid = $this->bbcode_uid;
|
||||
$vars = array(
|
||||
'allow_bbcode',
|
||||
'allow_magic_url',
|
||||
'allow_smilies',
|
||||
'allow_img_bbcode',
|
||||
'allow_flash_bbcode',
|
||||
'allow_quote_bbcode',
|
||||
'allow_url_bbcode',
|
||||
'update_this_message',
|
||||
'mode',
|
||||
'message',
|
||||
'bbcode_bitfield',
|
||||
'bbcode_uid',
|
||||
'return',
|
||||
'warn_msg',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.message_parser_check_message', compact($vars)));
|
||||
$this->message = $message;
|
||||
$this->warn_msg = $warn_msg;
|
||||
$this->bbcode_bitfield = $bbcode_bitfield;
|
||||
$this->bbcode_uid = $bbcode_uid;
|
||||
if ($return && !empty($this->warn_msg))
|
||||
{
|
||||
return (!$update_this_message) ? $return_message : $this->warn_msg;
|
||||
}
|
||||
|
||||
// Prepare BBcode (just prepares some tags for better parsing)
|
||||
if ($allow_bbcode && strpos($this->message, '[') !== false)
|
||||
{
|
||||
|
@@ -69,31 +69,13 @@ function deregister_globals()
|
||||
{
|
||||
if (isset($not_unset[$varname]))
|
||||
{
|
||||
// Hacking attempt. No point in continuing unless it's a COOKIE (so a cookie called GLOBALS doesn't lock users out completely)
|
||||
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
|
||||
// Hacking attempt. No point in continuing.
|
||||
if (isset($_COOKIE[$varname]))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$cookie = &$_COOKIE;
|
||||
while (isset($cookie['GLOBALS']))
|
||||
{
|
||||
if (!is_array($cookie['GLOBALS']))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
foreach ($cookie['GLOBALS'] as $registered_var => $value)
|
||||
{
|
||||
if (!isset($not_unset[$registered_var]))
|
||||
{
|
||||
unset($GLOBALS[$registered_var]);
|
||||
}
|
||||
}
|
||||
$cookie = &$cookie['GLOBALS'];
|
||||
}
|
||||
echo "Clear your cookies. ";
|
||||
}
|
||||
echo "Malicious variable name detected. Contact the administrator and ask them to disable register_globals.";
|
||||
exit;
|
||||
}
|
||||
|
||||
unset($GLOBALS[$varname]);
|
||||
|
@@ -34,11 +34,12 @@ class ucp_auth_link
|
||||
*/
|
||||
public function main($id, $mode)
|
||||
{
|
||||
global $config, $request, $template, $phpbb_container, $user;
|
||||
global $request, $template, $phpbb_container, $user;
|
||||
|
||||
$error = array();
|
||||
|
||||
$auth_provider = $phpbb_container->get('auth.provider.' . $config['auth_method']);
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
$auth_provider = $provider_collection->get_provider();
|
||||
|
||||
// confirm that the auth provider supports this page
|
||||
$provider_data = $auth_provider->get_auth_link_data();
|
||||
|
@@ -39,7 +39,7 @@ class ucp_login_link
|
||||
*/
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $config, $phpbb_container, $request, $template, $user;
|
||||
global $phpbb_container, $request, $template, $user;
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
// Initialize necessary variables
|
||||
@@ -57,8 +57,8 @@ class ucp_login_link
|
||||
}
|
||||
|
||||
// Use the auth_provider requested even if different from configured
|
||||
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
|
||||
$auth_provider = $phpbb_container->get($auth_provider);
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
$auth_provider = $provider_collection->get_provider($request->variable('auth_provider', ''));
|
||||
|
||||
// Set the link_method to login_link
|
||||
$data['link_method'] = 'login_link';
|
||||
@@ -75,7 +75,7 @@ class ucp_login_link
|
||||
{
|
||||
if ($request->is_set_post('login'))
|
||||
{
|
||||
$login_username = $request->variable('login_username', '', false, \phpbb\request\request_interface::POST);
|
||||
$login_username = $request->variable('login_username', '', true, \phpbb\request\request_interface::POST);
|
||||
$login_password = $request->untrimmed_variable('login_password', '', true, \phpbb\request\request_interface::POST);
|
||||
|
||||
$login_result = $auth_provider->login($login_username, $login_password);
|
||||
|
@@ -95,35 +95,25 @@ class ucp_notifications
|
||||
case 'notification_list':
|
||||
default:
|
||||
// Mark all items read
|
||||
if ($request->variable('mark', '') == 'all' && (confirm_box(true) || check_link_hash($request->variable('token', ''), 'mark_all_notifications_read')))
|
||||
if ($request->variable('mark', '') == 'all' && check_link_hash($request->variable('token', ''), 'mark_all_notifications_read'))
|
||||
{
|
||||
if (confirm_box(true))
|
||||
$phpbb_notifications->mark_notifications_read(false, false, $user->data['user_id'], $form_time);
|
||||
|
||||
meta_refresh(3, $this->u_action);
|
||||
$message = $user->lang['NOTIFICATIONS_MARK_ALL_READ_SUCCESS'];
|
||||
|
||||
if ($request->is_ajax())
|
||||
{
|
||||
$phpbb_notifications->mark_notifications_read(false, false, $user->data['user_id'], $form_time);
|
||||
|
||||
meta_refresh(3, $this->u_action);
|
||||
$message = $user->lang['NOTIFICATIONS_MARK_ALL_READ_SUCCESS'];
|
||||
|
||||
if ($request->is_ajax())
|
||||
{
|
||||
$json_response = new \phpbb\json_response();
|
||||
$json_response->send(array(
|
||||
'MESSAGE_TITLE' => $user->lang['INFORMATION'],
|
||||
'MESSAGE_TEXT' => $message,
|
||||
'success' => true,
|
||||
));
|
||||
}
|
||||
$message .= '<br /><br />' . $user->lang('RETURN_UCP', '<a href="' . $this->u_action . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
confirm_box(false, 'NOTIFICATIONS_MARK_ALL_READ', build_hidden_fields(array(
|
||||
'mark' => 'all',
|
||||
'form_time' => $form_time,
|
||||
)));
|
||||
$json_response = new \phpbb\json_response();
|
||||
$json_response->send(array(
|
||||
'MESSAGE_TITLE' => $user->lang['INFORMATION'],
|
||||
'MESSAGE_TEXT' => $message,
|
||||
'success' => true,
|
||||
));
|
||||
}
|
||||
$message .= '<br /><br />' . $user->lang('RETURN_UCP', '<a href="' . $this->u_action . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
// Mark specific notifications read
|
||||
|
@@ -45,7 +45,7 @@ class ucp_pm
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $user, $template, $phpbb_root_path, $auth, $phpEx, $db, $config;
|
||||
global $user, $template, $phpbb_root_path, $auth, $phpEx, $db, $config, $request;
|
||||
|
||||
if (!$user->data['is_registered'])
|
||||
{
|
||||
@@ -246,6 +246,27 @@ class ucp_pm
|
||||
$folder_id = (int) $row['folder_id'];
|
||||
}
|
||||
|
||||
if ($request->variable('mark', '') == 'all' && check_link_hash($request->variable('token', ''), 'mark_all_pms_read'))
|
||||
{
|
||||
mark_folder_read($user->data['user_id'], $folder_id);
|
||||
|
||||
meta_refresh(3, $this->u_action);
|
||||
$message = $user->lang['PM_MARK_ALL_READ_SUCCESS'];
|
||||
|
||||
if ($request->is_ajax())
|
||||
{
|
||||
$json_response = new \phpbb\json_response();
|
||||
$json_response->send(array(
|
||||
'MESSAGE_TITLE' => $user->lang['INFORMATION'],
|
||||
'MESSAGE_TEXT' => $message,
|
||||
'success' => true,
|
||||
));
|
||||
}
|
||||
$message .= '<br /><br />' . $user->lang('RETURN_UCP', '<a href="' . $this->u_action . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
}
|
||||
|
||||
$message_row = array();
|
||||
if ($action == 'view_message' && $msg_id)
|
||||
{
|
||||
@@ -332,6 +353,7 @@ class ucp_pm
|
||||
'U_SENTBOX' => $this->u_action . '&folder=sentbox',
|
||||
'U_CREATE_FOLDER' => $this->u_action . '&mode=options',
|
||||
'U_CURRENT_FOLDER' => $this->u_action . '&folder=' . $folder_id,
|
||||
'U_MARK_ALL' => $this->u_action . '&folder=' . $folder_id . '&mark=all&token=' . generate_link_hash('mark_all_pms_read'),
|
||||
|
||||
'S_IN_INBOX' => ($folder_id == PRIVMSGS_INBOX) ? true : false,
|
||||
'S_IN_OUTBOX' => ($folder_id == PRIVMSGS_OUTBOX) ? true : false,
|
||||
|
@@ -197,7 +197,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
$u_pm = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $author_id);
|
||||
}
|
||||
|
||||
if ($user_info['user_jabber'] && $auth->acl_get('u_sendim'))
|
||||
if ($config['jab_enable'] && $user_info['user_jabber'] && $auth->acl_get('u_sendim'))
|
||||
{
|
||||
$u_jabber = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&action=jabber&u=' . $author_id);
|
||||
}
|
||||
@@ -213,6 +213,7 @@ function view_message($id, $mode, $folder_id, $msg_id, $folder, $message_row)
|
||||
'AUTHOR_AVATAR' => (isset($user_info['avatar'])) ? $user_info['avatar'] : '',
|
||||
'AUTHOR_JOINED' => $user->format_date($user_info['user_regdate']),
|
||||
'AUTHOR_POSTS' => (int) $user_info['user_posts'],
|
||||
'U_AUTHOR_POSTS' => ($config['load_search'] && $auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$author_id&sr=posts") : '',
|
||||
'CONTACT_USER' => $user->lang('CONTACT_USER', get_username_string('username', $author_id, $user_info['username'], $user_info['user_colour'], $user_info['username'])),
|
||||
|
||||
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : ((isset($user_info['online']) && $user_info['online']) ? $user->img('icon_user_online', $user->lang['ONLINE']) : $user->img('icon_user_offline', $user->lang['OFFLINE'])),
|
||||
|
@@ -655,9 +655,14 @@ class ucp_profile
|
||||
{
|
||||
if (!empty($keys))
|
||||
{
|
||||
foreach ($keys as $key => $id)
|
||||
{
|
||||
$keys[$key] = $db->sql_like_expression($id . $db->get_any_char());
|
||||
}
|
||||
$sql_where = '(key_id ' . implode(' OR key_id ', $keys) . ')';
|
||||
$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
|
||||
WHERE user_id = ' . (int) $user->data['user_id'] . '
|
||||
AND ' . $db->sql_in_set('key_id', $keys) ;
|
||||
AND ' . $sql_where ;
|
||||
|
||||
$db->sql_query($sql);
|
||||
|
||||
@@ -681,7 +686,7 @@ class ucp_profile
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$template->assign_block_vars('sessions', array(
|
||||
'KEY' => $row['key_id'],
|
||||
'KEY' => substr($row['key_id'], 0, 8),
|
||||
'IP' => $row['last_ip'],
|
||||
'LOGIN_TIME' => $user->format_date($row['last_login']),
|
||||
));
|
||||
|
@@ -33,7 +33,8 @@ class ucp_register
|
||||
global $request, $phpbb_container;
|
||||
|
||||
//
|
||||
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
|
||||
if ($config['require_activation'] == USER_ACTIVATION_DISABLE ||
|
||||
(in_array($config['require_activation'], array(USER_ACTIVATION_SELF, USER_ACTIVATION_ADMIN)) && !$config['email_enable']))
|
||||
{
|
||||
trigger_error('UCP_REGISTER_DISABLE');
|
||||
}
|
||||
@@ -87,8 +88,8 @@ class ucp_register
|
||||
if (!empty($login_link_data))
|
||||
{
|
||||
// Confirm that we have all necessary data
|
||||
$auth_provider = 'auth.provider.' . $request->variable('auth_provider', $config['auth_method']);
|
||||
$auth_provider = $phpbb_container->get($auth_provider);
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
$auth_provider = $provider_collection->get_provider($request->variable('auth_provider', ''));
|
||||
|
||||
$result = $auth_provider->login_link_has_necessary_data($login_link_data);
|
||||
if ($result !== null)
|
||||
|
@@ -185,7 +185,7 @@ $template->assign_vars(array(
|
||||
'U_MCP' => ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=front', true, $user->session_id) : '')
|
||||
);
|
||||
|
||||
$page_title = $user->lang['INDEX'];
|
||||
$page_title = ($config['board_index_text'] !== '') ? $config['board_index_text'] : $user->lang['INDEX'];
|
||||
|
||||
/**
|
||||
* You can use this event to modify the page title and load data for the index
|
||||
|
@@ -38,7 +38,7 @@ $dbms = $phpbb_config_php_file->convert_30_dbms_to_31($dbms);
|
||||
$convertor_data = array(
|
||||
'forum_name' => 'phpBB 2.0.x',
|
||||
'version' => '1.0.3',
|
||||
'phpbb_version' => '3.1.0-RC5',
|
||||
'phpbb_version' => '3.1.3',
|
||||
'author' => '<a href="https://www.phpbb.com/">phpBB Limited</a>',
|
||||
'dbms' => $dbms,
|
||||
'dbhost' => $dbhost,
|
||||
|
@@ -174,6 +174,8 @@ define('IN_DB_UPDATE', true);
|
||||
// End startup code
|
||||
|
||||
$migrator = $phpbb_container->get('migrator');
|
||||
$migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($user, new \phpbb\db\html_migrator_output_handler($user), $phpbb_root_path . 'store/migrations_' . time() . '.log'));
|
||||
|
||||
$migrator->create_migrations_table();
|
||||
|
||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||
@@ -199,8 +201,6 @@ $safe_time_limit = min(15, ($phpbb_ini->get_int('max_execution_time') / 2));
|
||||
|
||||
while (!$migrator->finished())
|
||||
{
|
||||
$migration_start_time = microtime(true);
|
||||
|
||||
try
|
||||
{
|
||||
$migrator->update();
|
||||
@@ -219,28 +219,6 @@ while (!$migrator->finished())
|
||||
$migrator->last_run_migration['state']
|
||||
);
|
||||
|
||||
if (isset($migrator->last_run_migration['effectively_installed']) && $migrator->last_run_migration['effectively_installed'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $migrator->last_run_migration['name']);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_DATA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
else if ($migrator->last_run_migration['task'] == 'process_data_step')
|
||||
{
|
||||
echo $user->lang('MIGRATION_DATA_IN_PROGRESS', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
else if ($state['migration_schema_done'])
|
||||
{
|
||||
echo $user->lang('MIGRATION_SCHEMA_DONE', $migrator->last_run_migration['name'], (microtime(true) - $migration_start_time));
|
||||
}
|
||||
}
|
||||
|
||||
echo "<br />\n";
|
||||
|
||||
// Are we approaching the time limit? If so we want to pause the update and continue after refreshing
|
||||
if ((time() - $update_start_time) >= $safe_time_limit)
|
||||
{
|
||||
|
@@ -2014,7 +2014,7 @@ class install_convert extends module
|
||||
{
|
||||
$value = $fields[1][$firstkey];
|
||||
}
|
||||
else if (is_array($fields[2]))
|
||||
else if (is_array($fields[2]) && !is_callable($fields[2]))
|
||||
{
|
||||
// Execute complex function/eval/typecast
|
||||
$value = $fields[1];
|
||||
|
@@ -2083,7 +2083,7 @@ class install_install extends module
|
||||
return array(
|
||||
'language' => basename(request_var('language', '')),
|
||||
'dbms' => request_var('dbms', ''),
|
||||
'dbhost' => request_var('dbhost', ''),
|
||||
'dbhost' => request_var('dbhost', '', true),
|
||||
'dbport' => request_var('dbport', ''),
|
||||
'dbuser' => request_var('dbuser', ''),
|
||||
'dbpasswd' => request_var('dbpasswd', '', true),
|
||||
|
@@ -273,7 +273,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_system_cron', '0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.0-RC5');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.1.3-RC1');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');
|
||||
|
||||
@@ -805,7 +805,7 @@ INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_len
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_aol', 'profilefields.type.string', 'phpbb_aol', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 5, 1, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_icq', 'profilefields.type.string', 'phpbb_icq', '20', '3', '15', '', '', '[0-9]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 6, 1, 'SEND_ICQ_MESSAGE', 'https://www.icq.com/people/%s/');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_wlm', 'profilefields.type.string', 'phpbb_wlm', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 7, 1, '', '');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'http://edit.yahoo.com/config/send_webmesg?.target=%s&.src=pg');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_yahoo', 'profilefields.type.string', 'phpbb_yahoo', '40', '5', '255', '', '', '.*', 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 8, 1, 'SEND_YIM_MESSAGE', 'ymsgr:sendim?%s');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_facebook', 'profilefields.type.string', 'phpbb_facebook', '20', '5', '50', '', '', '[\w.]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 9, 1, 'VIEW_FACEBOOK_PROFILE', 'http://facebook.com/%s/');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_twitter', 'profilefields.type.string', 'phpbb_twitter', '20', '1', '15', '', '', '[\w_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 10, 1, 'VIEW_TWITTER_PROFILE', 'http://twitter.com/%s');
|
||||
INSERT INTO phpbb_profile_fields (field_name, field_type, field_ident, field_length, field_minlen, field_maxlen, field_novalue, field_default_value, field_validation, field_required, field_show_novalue, field_show_on_reg, field_show_on_pm, field_show_on_vt, field_show_on_ml, field_show_profile, field_hide, field_no_view, field_active, field_order, field_is_contact, field_contact_desc, field_contact_url) VALUES ('phpbb_skype', 'profilefields.type.string', 'phpbb_skype', '20', '6', '32', '', '', '[a-zA-Z][\w\.,\-_]+', 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 11, 1, 'VIEW_SKYPE_PROFILE', 'skype:%s?userinfo');
|
||||
|
@@ -221,7 +221,8 @@ $lang = array_merge($lang, array(
|
||||
'ACP_REGISTER_SETTINGS_EXPLAIN' => 'Here you are able to define registration and profile related settings.',
|
||||
|
||||
'ACC_ACTIVATION' => 'Account activation',
|
||||
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations. “Board-wide email” must be enabled in order to use user or admin activation.',
|
||||
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations. <em>“Board-wide email” must be enabled in order to use user or admin activation.</em>',
|
||||
'ACC_ACTIVATION_WARNING' => 'Please note that the currently selected activation method requires emails to be enabled, otherwise registration will be disabled. We recommend to either select a different activation method or reenable emails.',
|
||||
'NEW_MEMBER_POST_LIMIT' => 'New member post limit',
|
||||
'NEW_MEMBER_POST_LIMIT_EXPLAIN' => 'New members are within the <em>Newly Registered Users</em> group until they reach this number of posts. You can use this group to keep them from using the PM system or to review their posts. <strong>A value of 0 disables this feature.</strong>',
|
||||
'NEW_MEMBER_GROUP_DEFAULT' => 'Set Newly Registered Users group to default',
|
||||
@@ -556,7 +557,7 @@ $lang = array_merge($lang, array(
|
||||
'EMAIL_SIG' => 'Email signature',
|
||||
'EMAIL_SIG_EXPLAIN' => 'This text will be attached to all emails the board sends.',
|
||||
'ENABLE_EMAIL' => 'Enable board-wide emails',
|
||||
'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no emails will be sent by the board at all. <em>Note the user and admin account activation settings require this setting to be enabled. If currently using “user” or “admin” activation in the activation settings, disabling this setting will require no activation of new accounts.</em>',
|
||||
'ENABLE_EMAIL_EXPLAIN' => 'If this is set to disabled no emails will be sent by the board at all. <em>Note the user and admin account activation settings require this setting to be enabled. If currently using “user” or “admin” activation in the activation settings, disabling this setting will disable registration.</em>',
|
||||
'SMTP_AUTH_METHOD' => 'Authentication method for SMTP',
|
||||
'SMTP_AUTH_METHOD_EXPLAIN' => 'Only used if a username/password is set, ask your provider if you are unsure which method to use.',
|
||||
'SMTP_CRAM_MD5' => 'CRAM-MD5',
|
||||
|
@@ -558,6 +558,7 @@ $lang = array_merge($lang, array(
|
||||
'LOG_LOCK_POST' => '<strong>Locked post</strong><br />» %s',
|
||||
'LOG_MERGE' => '<strong>Merged posts</strong> into topic<br />» %s',
|
||||
'LOG_MOVE' => '<strong>Moved topic</strong><br />» from %1$s to %2$s',
|
||||
'LOG_MOVED_TOPIC' => '<strong>Moved topic</strong><br />» %s',
|
||||
'LOG_PM_REPORT_CLOSED' => '<strong>Closed PM report</strong><br />» %s',
|
||||
'LOG_PM_REPORT_DELETED' => '<strong>Deleted PM report</strong><br />» %s',
|
||||
'LOG_POST_APPROVED' => '<strong>Approved post</strong><br />» %s',
|
||||
|
@@ -54,7 +54,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
<br />
|
||||
|
||||
<p>For further information on setting up and managing permissions on your phpBB3 board, please see <a href="https://www.phpbb.com/support/documentation/3.0/quickstart/quick_permissions.html">Chapter 1.5 of our Quick Start Guide</a>.</p>
|
||||
<p>For further information on setting up and managing permissions on your phpBB3 board, please see the section on <a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/permissions/">Setting permissions of our Quick Start Guide</a>.</p>
|
||||
',
|
||||
|
||||
'ACL_NEVER' => 'Never',
|
||||
|
@@ -83,8 +83,8 @@ $lang = array_merge($lang, array(
|
||||
'FULLTEXT_SPHINX_PORT_EXPLAIN' => 'Port on which the sphinx search daemon (searchd) listens. Leave empty to use the default Sphinx API port 9312',
|
||||
'FULLTEXT_SPHINX_WRONG_DATABASE' => 'The sphinx search for phpBB supports MySQL and PostgreSQL only.',
|
||||
'FULLTEXT_SPHINX_CONFIG_FILE' => 'Sphinx config file',
|
||||
'FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN' => 'The generated content of the sphinx config file. This data needs to be pasted into the sphinx.conf which is used by sphinx search daemon.',
|
||||
'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data and config directory paths are not defined. Please define them to generate the config file.',
|
||||
'FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN' => 'The generated content of the sphinx config file. This data needs to be pasted into the sphinx.conf which is used by sphinx search daemon. Replace the [dbuser] and [dbpassword] placeholders with your database credentials.',
|
||||
'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data directory path is not defined. Please define the path and submit to generate the config file.',
|
||||
|
||||
'GENERAL_SEARCH_SETTINGS' => 'General search settings',
|
||||
'GO_TO_SEARCH_INDEX' => 'Go to search index page',
|
||||
|
@@ -74,6 +74,7 @@ $lang = array_merge($lang, array(
|
||||
'STYLE_INSTALLED_RETURN_INSTALLED_STYLES' => 'Return to installed styles list',
|
||||
'STYLE_INSTALLED_RETURN_UNINSTALLED_STYLES' => 'Install more styles',
|
||||
'STYLE_NAME' => 'Style name',
|
||||
'STYLE_NAME_RESERVED' => 'Style "%s" can not be installed, because the name is reserved.',
|
||||
'STYLE_NOT_INSTALLED' => 'Style "%s" was not installed.',
|
||||
'STYLE_PATH' => 'Style path',
|
||||
'STYLE_UNINSTALL' => 'Uninstall',
|
||||
|
@@ -36,44 +36,40 @@ $help = array(
|
||||
1 => 'Login and Registration Issues'
|
||||
),
|
||||
array(
|
||||
0 => 'Why can’t I login?',
|
||||
1 => 'There are several reasons why this could occur. First, ensure your username and password are correct. If they are, contact the board owner to make sure you haven’t been banned. It is also possible the website owner has a configuration error on their end, and they would need to fix it.'
|
||||
),
|
||||
array(
|
||||
0 => 'Why do I need to register at all?',
|
||||
0 => 'Why do I need to register?',
|
||||
1 => 'You may not have to, it is up to the administrator of the board as to whether you need to register in order to post messages. However; registration will give you access to additional features not available to guest users such as definable avatar images, private messaging, emailing of fellow users, usergroup subscription, etc. It only takes a few moments to register so it is recommended you do so.'
|
||||
),
|
||||
array(
|
||||
0 => 'Why do I get logged off automatically?',
|
||||
1 => 'If you do not check the <em>Remember me</em> box when you login, the board will only keep you logged in for a preset time. This prevents misuse of your account by anyone else. To stay logged in, check the box during login. This is not recommended if you access the board from a shared computer, e.g. library, internet cafe, university computer lab, etc. If you do not see this checkbox, it means the board administrator has disabled this feature.'
|
||||
0 => 'What is COPPA?',
|
||||
1 => 'COPPA, or the Children’s Online Privacy Protection Act of 1998, is a law in the United States requiring websites which can potentially collect information from minors under the age of 13 to have written parental consent or some other method of legal guardian acknowledgment, allowing the collection of personally identifiable information from a minor under the age of 13. If you are unsure if this applies to you as someone trying to register or to the website you are trying to register on, contact legal counsel for assistance. Please note that phpBB Limited and the owner’s of this board cannot provide legal advice and is not a point of contact for legal concerns of any kind, except as outlined in question “Who do I contact about abusive and/or legal matters related to this board?”.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I prevent my username appearing in the online user listings?',
|
||||
1 => 'Within your User Control Panel, under “Board preferences”, you will find the option <em>Hide your online status</em>. Enable this option with <samp>Yes</samp> and you will only appear to the administrators, moderators and yourself. You will be counted as a hidden user.'
|
||||
),
|
||||
array(
|
||||
0 => 'I’ve lost my password!',
|
||||
1 => 'Don’t panic! While your password cannot be retrieved, it can easily be reset. Visit the login page and click <em>I’ve forgotten my password</em>. Follow the instructions and you should be able to log in again shortly.'
|
||||
0 => 'Why can’t I register?',
|
||||
1 => 'It is possible a board administrator has disabled registration to prevent new visitors from signing up. A board administrator could have also banned your IP address or disallowed the username you are attempting to register. Contact a board administrator for assistance.',
|
||||
),
|
||||
array(
|
||||
0 => 'I registered but cannot login!',
|
||||
1 => 'First, check your username and password. If they are correct, then one of two things may have happened. If COPPA support is enabled and you specified being under 13 years old during registration, you will have to follow the instructions you received. Some boards will also require new registrations to be activated, either by yourself or by an administrator before you can logon; this information was present during registration. If you were sent an email, follow the instructions. If you did not receive an email, you may have provided an incorrect email address or the email may have been picked up by a spam filer. If you are sure the email address you provided is correct, try contacting an administrator.'
|
||||
),
|
||||
array(
|
||||
0 => 'Why can’t I login?',
|
||||
1 => 'There are several reasons why this could occur. First, ensure your username and password are correct. If they are, contact a board administrator to make sure you haven’t been banned. It is also possible the website owner has a configuration error on their end, and they would need to fix it.',
|
||||
),
|
||||
array(
|
||||
0 => 'I registered in the past but cannot login any more?!',
|
||||
1 => 'It is possible an administrator has deactivated or deleted your account for some reason. Also, many boards periodically remove users who have not posted for a long time to reduce the size of the database. If this has happened, try registering again and being more involved in discussions.'
|
||||
),
|
||||
array(
|
||||
0 => 'What is COPPA?',
|
||||
1 => 'COPPA, or the Child Online Privacy and Protection Act of 1998, is a law in the United States requiring websites which can potentially collect information from minors under the age of 13 to have written parental consent or some other method of legal guardian acknowledgment, allowing the collection of personally identifiable information from a minor under the age of 13. If you are unsure if this applies to you as someone trying to register or to the website you are trying to register on, contact legal counsel for assistance. Please note that the phpBB Limited cannot provide legal advice and is not a point of contact for legal concerns of any kind, except as outlined below.',
|
||||
0 => 'I’ve lost my password!',
|
||||
1 => 'Don’t panic! While your password cannot be retrieved, it can easily be reset. Visit the login page and click <em>I forgot my password</em>. Follow the instructions and you should be able to log in again shortly.<br />However, if you are not able to reset your password, contact a board administrator.',
|
||||
),
|
||||
array(
|
||||
0 => 'Why can’t I register?',
|
||||
1 => 'It is possible the website owner has banned your IP address or disallowed the username you are attempting to register. The website owner could have also disabled registration to prevent new visitors from signing up. Contact a board administrator for assistance.',
|
||||
0 => 'Why do I get logged off automatically?',
|
||||
1 => 'If you do not check the <em>Remember me</em> box when you login, the board will only keep you logged in for a preset time. This prevents misuse of your account by anyone else. To stay logged in, check the <em>Remember me</em> box during login. This is not recommended if you access the board from a shared computer, e.g. library, internet cafe, university computer lab, etc. If you do not see this checkbox, it means a board administrator has disabled this feature.',
|
||||
),
|
||||
array(
|
||||
0 => 'What does the “Delete all board cookies” do?',
|
||||
1 => '“Delete all board cookies” deletes the cookies created by phpBB which keep you authenticated and logged into the board. It also provides functions such as read tracking if they have been enabled by the board owner. If you are having login or logout problems, deleting board cookies may help.',
|
||||
1 => '“Delete all board cookies” deletes the cookies created by phpBB which keep you authenticated and logged into the board. Cookies also provide functions such as read tracking if they have been enabled by a board administrator. If you are having login or logout problems, deleting board cookies may help.',
|
||||
),
|
||||
array(
|
||||
0 => '--',
|
||||
@@ -81,7 +77,11 @@ $help = array(
|
||||
),
|
||||
array(
|
||||
0 => 'How do I change my settings?',
|
||||
1 => 'If you are a registered user, all your settings are stored in the board database. To alter them, visit your User Control Panel; a link can usually be found at the top of board pages. This system will allow you to change all your settings and preferences.'
|
||||
1 => 'If you are a registered user, all your settings are stored in the board database. To alter them, visit your User Control Panel; a link can usually be found by clicking on your username at the top of board pages. This system will allow you to change all your settings and preferences.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I prevent my username appearing in the online user listings?',
|
||||
1 => 'Within your User Control Panel, under “Board preferences”, you will find the option <em>Hide your online status</em>. Enable this option and you will only appear to the administrators, moderators and yourself. You will be counted as a hidden user.'
|
||||
),
|
||||
array(
|
||||
0 => 'The times are not correct!',
|
||||
@@ -93,11 +93,15 @@ $help = array(
|
||||
),
|
||||
array(
|
||||
0 => 'My language is not in the list!',
|
||||
1 => 'Either the administrator has not installed your language or nobody has translated this board into your language. Try asking the board administrator if they can install the language pack you need. If the language pack does not exist, feel free to create a new translation. More information can be found at the phpBB website (see link at the bottom of board pages).'
|
||||
1 => 'Either the administrator has not installed your language or nobody has translated this board into your language. Try asking a board administrator if they can install the language pack you need. If the language pack does not exist, feel free to create a new translation. More information can be found at the <a href="https://www.phpbb.com/">phpBB</a>® website.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I show an image along with my username?',
|
||||
1 => 'There are two images which may appear along with a username when viewing posts. One of them may be an image associated with your rank, generally in the form of stars, blocks or dots, indicating how many posts you have made or your status on the board. Another, usually a larger image, is known as an avatar and is generally unique or personal to each user. It is up to the board administrator to enable avatars and to choose the way in which avatars can be made available. If you are unable to use avatars, contact a board administrator and ask them for their reasons.'
|
||||
0 => 'What are the images next to my username?',
|
||||
1 => 'There are two images which may appear along with a username when viewing posts. One of them may be an image associated with your rank, generally in the form of stars, blocks or dots, indicating how many posts you have made or your status on the board. Another, usually larger, image is known as an avatar and is generally unique or personal to each user.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I display an avatar?',
|
||||
1 => 'Within your User Control Panel, under “Profile” you can add an avatar by using one of the four following methods: Gravatar, Gallery, Remote or Upload. It is up to the board administrator to enable avatars and to choose the way in which avatars can be made available. If you are unable to use avatars, contact a board administrator.',
|
||||
),
|
||||
array(
|
||||
0 => 'What is my rank and how do I change it?',
|
||||
@@ -112,8 +116,8 @@ $help = array(
|
||||
1 => 'Posting Issues'
|
||||
),
|
||||
array(
|
||||
0 => 'How do I post a topic in a forum?',
|
||||
1 => 'To post a new topic in a forum, click the relevant button on either the forum or topic screens. You may need to register before you can post a message. A list of your permissions in each forum is available at the bottom of the forum and topic screens. Example: You can post new topics, You can vote in polls, etc.'
|
||||
0 => 'How do I create a new topic or post a reply?',
|
||||
1 => 'To post a new topic in a forum, click "New Topic". To post a reply to a topic, click "Post Reply". You may need to register before you can post a message. A list of your permissions in each forum is available at the bottom of the forum and topic screens. Example: You can post new topics, You can post attachments, etc.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I edit or delete a post?',
|
||||
@@ -282,7 +286,7 @@ $help = array(
|
||||
),
|
||||
array(
|
||||
0 => 'Why does my search return no results?',
|
||||
1 => 'Your search was probably too vague and included many common terms which are not indexed by phpBB3. Be more specific and use the options available within Advanced search.'
|
||||
1 => 'Your search was probably too vague and included many common terms which are not indexed by phpBB. Be more specific and use the options available within Advanced search.',
|
||||
),
|
||||
array(
|
||||
0 => 'Why does my search return a blank page!?',
|
||||
@@ -294,19 +298,23 @@ $help = array(
|
||||
),
|
||||
array(
|
||||
0 => 'How can I find my own posts and topics?',
|
||||
1 => 'Your own posts can be retrieved either by clicking the “Search user’s posts” within the User Control Panel or via your own profile page. To search for your topics, use the Advanced search page and fill in the various options appropriately.'
|
||||
1 => 'Your own posts can be retrieved either by clicking the “Show your posts” link within the User Control Panel or by clicking the “Search user’s posts” link via your own profile page or by clicking the “Quick links” menu at the top of the board. To search for your topics, use the Advanced search page and fill in the various options appropriately.',
|
||||
),
|
||||
array(
|
||||
0 => '--',
|
||||
1 => 'Topic Subscriptions and Bookmarks'
|
||||
1 => 'Subscriptions and Bookmarks',
|
||||
),
|
||||
array(
|
||||
0 => 'What is the difference between bookmarking and subscribing?',
|
||||
1 => 'Bookmarking in phpBB3 is much like bookmarking in your web browser. You aren’t alerted when there’s an update, but you can come back to the topic later. Subscribing, however, will notify you when there is an update to the topic or forum on the board via your preferred method or methods.'
|
||||
1 => 'In phpBB 3.0, bookmarking topics worked much like bookmarking in a web browser. You were not alerted when there was an update. As of phpBB 3.1, bookmarking is more like subscribing to a topic. You can be notified when a bookmarked topic is updated. Subscribing, however, will notify you when there is an update to a topic or forum on the board. Notification options for bookmarks and subscriptions can be configured in the User Control Panel, under “Board preferences”.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I subscribe to specific forums or topics?',
|
||||
1 => 'To subscribe to a specific forum, click the “Subscribe forum” link upon entering the forum. To subscribe to a topic, reply to the topic with the subscribe checkbox checked or click the “Subscribe topic” link within the topic itself.'
|
||||
0 => 'How do I bookmark or subscribe to specific topics?',
|
||||
1 => 'You can bookmark or subscribe to a specific topic by clicking the appropriate link in the “Topic tools” menu, conveniently located near the top and bottom of a topic discussion.<br />Replying to a topic with the “Notify me when a reply is posted” option checked will also subscribe you to the topic.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I subscribe to specific forums?',
|
||||
1 => 'To subscribe to a specific forum, click the “Subscribe forum” link, at the bottom of page, upon entering the forum.',
|
||||
),
|
||||
array(
|
||||
0 => 'How do I remove my subscriptions?',
|
||||
@@ -326,11 +334,11 @@ $help = array(
|
||||
),
|
||||
array(
|
||||
0 => '--',
|
||||
1 => 'phpBB 3 Issues'
|
||||
1 => 'phpBB Issues',
|
||||
),
|
||||
array(
|
||||
0 => 'Who wrote this bulletin board?',
|
||||
1 => 'This software (in its unmodified form) is produced, released and is copyright <a href="https://www.phpbb.com/">phpBB Limited</a>. It is made available under the GNU General Public License and may be freely distributed. See the link for more details.'
|
||||
1 => 'This software (in its unmodified form) is produced, released and is copyright <a href="https://www.phpbb.com/">phpBB Limited</a>. It is made available under the GNU General Public License, version 2 (GPL-2.0) and may be freely distributed. See <a href="https://www.phpbb.com/about/">About phpBB</a> for more details.',
|
||||
),
|
||||
array(
|
||||
0 => 'Why isn’t X feature available?',
|
||||
@@ -340,4 +348,8 @@ $help = array(
|
||||
0 => 'Who do I contact about abusive and/or legal matters related to this board?',
|
||||
1 => 'Any of the administrators listed on the “The team” page should be an appropriate point of contact for your complaints. If this still gets no response then you should contact the owner of the domain (do a <a href="http://www.google.com/search?q=whois">whois lookup</a>) or, if this is running on a free service (e.g. Yahoo!, free.fr, f2s.com, etc.), the management or abuse department of that service. Please note that the phpBB Limited has <strong>absolutely no jurisdiction</strong> and cannot in any way be held liable over how, where or by whom this board is used. Do not contact the phpBB Limited in relation to any legal (cease and desist, liable, defamatory comment, etc.) matter <strong>not directly related</strong> to the phpBB.com website or the discrete software of phpBB itself. If you do email phpBB Limited <strong>about any third party</strong> use of this software then you should expect a terse response or no response at all.'
|
||||
),
|
||||
array(
|
||||
0 => 'How do I contact a board administrator?',
|
||||
1 => 'All users of the board can use the “Contact us” form, if the option was enabled by the board administrator.<br />Members of the board can also use the “The team” link.',
|
||||
),
|
||||
);
|
||||
|
@@ -80,7 +80,7 @@ $lang = array_merge($lang, array(
|
||||
'CONTINUE_OLD_CONVERSION' => 'Continue previously started conversion',
|
||||
'CONVERT' => 'Convert',
|
||||
'CONVERT_COMPLETE' => 'Conversion completed',
|
||||
'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.1. You can now login and <a href="../">access your board</a>. Please ensure that the settings were transferred correctly before enabling your board by deleting the install directory. Remember that help on using phpBB is available online via the <a href="https://www.phpbb.com/support/documentation/3.0/">Documentation</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=46">support forums</a>.',
|
||||
'CONVERT_COMPLETE_EXPLAIN' => 'You have now successfully converted your board to phpBB 3.1. You can now login and <a href="../">access your board</a>. Please ensure that the settings were transferred correctly before enabling your board by deleting the install directory. Remember that help on using phpBB is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">support forums</a>.',
|
||||
'CONVERT_INTRO' => 'Welcome to the phpBB Unified Convertor Framework',
|
||||
'CONVERT_INTRO_BODY' => 'From here, you are able to import data from other (installed) board systems. The list below shows all the conversion modules currently available. If there is no convertor shown in this list for the board software you wish to convert from, please check our website where further conversion modules may be available for download.',
|
||||
'CONVERT_NEW_CONVERSION' => 'New conversion',
|
||||
@@ -192,7 +192,7 @@ $lang = array_merge($lang, array(
|
||||
<h2>Convert an existing board to phpBB3</h2>
|
||||
<p>The phpBB Unified Convertor Framework supports the conversion of phpBB 2.0.x and other board systems to phpBB3. If you have an existing board that you wish to convert, please <a href="%2$s">proceed to the convertor</a>.</p>
|
||||
<h2>Go live with your phpBB3!</h2>
|
||||
<p>Clicking the button below will take you to a form for submitting statistical data to phpBB in your Administration Control Panel (ACP). We would appreciate it if you could help us by sending that information. Afterwards you should take some time to examine the options available to you. Remember that help is available online via the <a href="https://www.phpbb.com/support/documentation/3.0/">Documentation</a>, <a href="%3$s">README</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=46">Support Forums</a>.</p><p><strong>Please delete, move or rename the install directory before using your board. While this directory exists, only the Administration Control Panel (ACP) will be accessible.</strong>',
|
||||
<p>Clicking the button below will take you to a form for submitting statistical data to phpBB in your Administration Control Panel (ACP). We would appreciate it if you could help us by sending that information. Afterwards you should take some time to examine the options available to you. Remember that help is available online via the <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">Documentation</a>, <a href="%3$s">README</a> and the <a href="https://www.phpbb.com/community/viewforum.php?f=466">Support Forums</a>.</p><p><strong>Please delete, move or rename the install directory before using your board. While this directory exists, only the Administration Control Panel (ACP) will be accessible.</strong>',
|
||||
'INSTALL_INTRO' => 'Welcome to Installation',
|
||||
|
||||
'INSTALL_INTRO_BODY' => 'With this option, it is possible to install phpBB3 onto your server.</p><p>In order to proceed, you will need your database settings. If you do not know your database settings, please contact your host and ask for them. You will not be able to continue without them. You need:</p>
|
||||
@@ -274,7 +274,7 @@ $lang = array_merge($lang, array(
|
||||
'MAKE_FOLDER_WRITABLE' => 'Please make sure that this folder exists and is writable by the webserver then try again:<br />»<strong>%s</strong>.',
|
||||
'MAKE_FOLDERS_WRITABLE' => 'Please make sure that these folders exist and are writable by the webserver then try again:<br />»<strong>%s</strong>.',
|
||||
|
||||
'MYSQL_SCHEMA_UPDATE_REQUIRED' => 'Your MySQL database schema for phpBB is outdated. phpBB detected a schema for MySQL 3.x/4.x, but the server runs on MySQL %2$s.<br /><strong>Before you proceed the update, you need to upgrade the schema.</strong><br /><br />Please refer to the <a href="https://www.phpbb.com/kb/article/doesnt-have-a-default-value-errors/">Knowledge Base article about upgrading the MySQL schema</a>. If you encounter problems, please use <a href="https://www.phpbb.com/community/viewforum.php?f=46">our support forums</a>.',
|
||||
'MYSQL_SCHEMA_UPDATE_REQUIRED' => 'Your MySQL database schema for phpBB is outdated. phpBB detected a schema for MySQL 3.x/4.x, but the server runs on MySQL %2$s.<br /><strong>Before you proceed the update, you need to upgrade the schema.</strong><br /><br />Please refer to the <a href="https://www.phpbb.com/kb/article/doesnt-have-a-default-value-errors/">Knowledge Base article about upgrading the MySQL schema</a>. If you encounter problems, please use <a href="https://www.phpbb.com/community/viewforum.php?f=466">our support forums</a>.',
|
||||
|
||||
'NAMING_CONFLICT' => 'Naming conflict: %s and %s are both aliases<br /><br />%s',
|
||||
'NEXT_STEP' => 'Proceed to next step',
|
||||
@@ -345,7 +345,7 @@ $lang = array_merge($lang, array(
|
||||
'SUB_LICENSE' => 'License',
|
||||
'SUB_SUPPORT' => 'Support',
|
||||
'SUCCESSFUL_CONNECT' => 'Successful connection',
|
||||
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/documentation/3.1/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
|
||||
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
|
||||
'SYNC_FORUMS' => 'Starting to synchronise forums',
|
||||
'SYNC_POST_COUNT' => 'Synchronising post_counts',
|
||||
'SYNC_POST_COUNT_ID' => 'Synchronising post_counts from <var>entry</var> %1$s to %2$s.',
|
||||
@@ -547,7 +547,7 @@ $lang = array_merge($lang, array(
|
||||
<ul style="margin-left: 20px; font-size: 1.1em;">
|
||||
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the "Automatic Update Package" archive.<br /><br /></li>
|
||||
<li>Unpack the archive.<br /><br /></li>
|
||||
<li>Upload the complete uncompressed install folder to your phpBB root directory (where your config.php file is).<br /><br /></li>
|
||||
<li>Upload the complete uncompressed "install" and "vendor" folders to your phpBB root directory (where your config.php file is).<br /><br /></li>
|
||||
</ul>
|
||||
|
||||
<p>Once uploaded your board will be offline for normal users due to the install directory you uploaded now present.<br /><br />
|
||||
|
@@ -237,7 +237,7 @@ $lang = array_merge($lang, array(
|
||||
'NOT_MODERATOR' => 'You are not a moderator of this forum.',
|
||||
'NO_DESTINATION_FORUM' => 'Please select a forum for destination.',
|
||||
'NO_DESTINATION_FORUM_FOUND' => 'There is no destination forum available.',
|
||||
'NO_ENTRIES' => 'No log entries for this period.',
|
||||
'NO_ENTRIES' => 'No log entries.',
|
||||
'NO_FEEDBACK' => 'No feedback exists for this user.',
|
||||
'NO_FINAL_TOPIC_SELECTED' => 'You have to select a destination topic for merging posts.',
|
||||
'NO_MATCHES_FOUND' => 'No matches found.',
|
||||
|
@@ -48,12 +48,14 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'BEFORE' => 'Before',
|
||||
|
||||
'CC_EMAIL' => 'Send a copy of this email to yourself.',
|
||||
'CC_SENDER' => 'Send a copy of this email to yourself.',
|
||||
'CONTACT_ADMIN' => 'Contact a Board Administrator',
|
||||
|
||||
'DEST_LANG' => 'Language',
|
||||
'DEST_LANG_EXPLAIN' => 'Select an appropriate language (if available) for the recipient of this message.',
|
||||
|
||||
'EDIT_PROFILE' => 'Edit profile',
|
||||
|
||||
'EMAIL_BODY_EXPLAIN' => 'This message will be sent as plain text, do not include any HTML or BBCode. The return address for this message will be set to your email address.',
|
||||
'EMAIL_DISABLED' => 'Sorry but all email related functions have been disabled.',
|
||||
'EMAIL_SENT' => 'The email has been sent.',
|
||||
|
@@ -41,12 +41,16 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'GROUP_NOT_EXIST' => 'The group "%s" unexpectedly does not exist.',
|
||||
|
||||
'MIGRATION_APPLY_DEPENDENCIES' => 'Apply dependencies of %s.',
|
||||
'MIGRATION_DATA_DONE' => 'Installed Data: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_DATA_IN_PROGRESS' => 'Installing Data: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_DATA_RUNNING' => 'Installing Data: %s.',
|
||||
'MIGRATION_EFFECTIVELY_INSTALLED' => 'Migration already effectively installed (skipped): %s',
|
||||
'MIGRATION_EXCEPTION_ERROR' => 'Something went wrong during the request and an exception was thrown. The changes made before the error occurred were reversed to the best of our abilities, but you should check the board for errors.',
|
||||
'MIGRATION_NOT_FULFILLABLE' => 'The migration "%1$s" is not fulfillable, missing migration "%2$s".',
|
||||
'MIGRATION_NOT_VALID' => '%s is not a valid migration.',
|
||||
'MIGRATION_SCHEMA_DONE' => 'Installed Schema: %1$s; Time: %2$.2f seconds',
|
||||
'MIGRATION_SCHEMA_RUNNING' => 'Installing Schema: %s.',
|
||||
|
||||
'MODULE_ERROR' => 'An error occurred while creating a module: %s',
|
||||
'MODULE_INFO_FILE_NOT_EXIST' => 'A required module info file is missing: %2$s',
|
||||
|
@@ -71,6 +71,7 @@ $lang = array_merge($lang, array(
|
||||
'NO_RECENT_SEARCHES' => 'No searches have been carried out recently.',
|
||||
'NO_SEARCH' => 'Sorry but you are not permitted to use the search system.',
|
||||
'NO_SEARCH_RESULTS' => 'No suitable matches were found.',
|
||||
'NO_SEARCH_LOAD' => 'Sorry but you cannot use search at this time. The server has high load. Please try again later.',
|
||||
'NO_SEARCH_TIME' => array(
|
||||
1 => 'Sorry but you cannot use search at this time. Please try again in %d second.',
|
||||
2 => 'Sorry but you cannot use search at this time. Please try again in %d seconds.',
|
||||
|
@@ -417,6 +417,8 @@ $lang = array_merge($lang, array(
|
||||
'PM_FROM_REMOVED_AUTHOR' => 'This message was sent by a user no longer registered.',
|
||||
'PM_ICON' => 'PM icon',
|
||||
'PM_INBOX' => 'Inbox',
|
||||
'PM_MARK_ALL_READ' => 'Mark all messages read',
|
||||
'PM_MARK_ALL_READ_SUCCESS' => 'All private messages in this folder have been marked read',
|
||||
'PM_NO_USERS' => 'The requested users to be added do not exist.',
|
||||
'PM_OUTBOX' => 'Outbox',
|
||||
'PM_SENTBOX' => 'Sent messages',
|
||||
@@ -589,6 +591,7 @@ $lang = array_merge($lang, array(
|
||||
),
|
||||
'VIEW_PREVIOUS_HISTORY' => 'Previous PM in history',
|
||||
'VIEW_PREVIOUS_PM' => 'Previous PM',
|
||||
'VIEW_PROFILE' => 'View profile',
|
||||
'VIEW_SIGS' => 'Display signatures',
|
||||
'VIEW_SMILIES' => 'Display smilies as images',
|
||||
'VIEW_TOPICS_DAYS' => 'Display topics from previous days',
|
||||
|
@@ -137,6 +137,28 @@ if ($forum_id && !$auth->acl_get('f_read', $forum_id))
|
||||
trigger_error('NOT_AUTHORISED');
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow applying additional permissions to MCP access besides f_read
|
||||
*
|
||||
* @event core.mcp_global_f_read_auth_after
|
||||
* @var string action The action the user tried to execute
|
||||
* @var int forum_id The forum the user tried to access
|
||||
* @var string mode The MCP module the user is trying to access
|
||||
* @var p_master module Module system class
|
||||
* @var bool quickmod True if the user is accessing using quickmod tools
|
||||
* @var int topic_id The topic the user tried to access
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'action',
|
||||
'forum_id',
|
||||
'mode',
|
||||
'module',
|
||||
'quickmod',
|
||||
'topic_id',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.mcp_global_f_read_auth_after', compact($vars)));
|
||||
|
||||
if ($forum_id)
|
||||
{
|
||||
$module->acl_forum_id = $forum_id;
|
||||
|
@@ -173,6 +173,22 @@ switch ($mode)
|
||||
'ORDER_BY' => 'u.username_clean ASC',
|
||||
);
|
||||
|
||||
/**
|
||||
* Modify the query used to get the users for the team page
|
||||
*
|
||||
* @event core.memberlist_team_modify_query
|
||||
* @var array sql_ary Array containing the query
|
||||
* @var array group_ids Array of group ids
|
||||
* @var array teampage_data The teampage data
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'sql_ary',
|
||||
'group_ids',
|
||||
'teampage_data',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.memberlist_team_modify_query', compact($vars)));
|
||||
|
||||
$result = $db->sql_query($db->sql_build_query('SELECT', $sql_ary));
|
||||
|
||||
$user_ary = $user_ids = $group_users = array();
|
||||
@@ -285,7 +301,7 @@ switch ($mode)
|
||||
|
||||
$user_rank_data = phpbb_get_user_rank($row, (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']));
|
||||
|
||||
$template->assign_block_vars('group.user', array(
|
||||
$template_vars = array(
|
||||
'USER_ID' => $row['user_id'],
|
||||
'FORUMS' => $row['forums'],
|
||||
'FORUM_OPTIONS' => (isset($row['forums_options'])) ? true : false,
|
||||
@@ -304,7 +320,25 @@ switch ($mode)
|
||||
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
|
||||
'USER_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
|
||||
'U_VIEW_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
|
||||
));
|
||||
);
|
||||
|
||||
/**
|
||||
* Modify the template vars for displaying the user in the groups on the teampage
|
||||
*
|
||||
* @event core.memberlist_team_modify_template_vars
|
||||
* @var array template_vars Array containing the query
|
||||
* @var array row Array containing the action user row
|
||||
* @var array groups_ary Array of groups with all users that should be displayed
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'template_vars',
|
||||
'row',
|
||||
'groups_ary',
|
||||
);
|
||||
extract($phpbb_dispatcher->trigger_event('core.memberlist_team_modify_template_vars', compact($vars)));
|
||||
|
||||
$template->assign_block_vars('group.user', $template_vars);
|
||||
|
||||
if ($config['teampage_memberships'] != 2)
|
||||
{
|
||||
@@ -681,6 +715,7 @@ switch ($mode)
|
||||
'U_MCP_QUEUE' => ($auth->acl_getf_global('m_approve')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue', true, $user->session_id) : '',
|
||||
|
||||
'U_SWITCH_PERMISSIONS' => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&u={$user_id}&hash=" . generate_link_hash('switchperm')) : '',
|
||||
'U_EDIT_SELF' => ($user_id == $user->data['user_id'] && $auth->acl_get('u_chgprofileinfo')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=ucp_profile&mode=profile_info') : '',
|
||||
|
||||
'S_USER_NOTES' => ($user_notes_enabled) ? true : false,
|
||||
'S_WARN_USER' => ($warn_user_enabled) ? true : false,
|
||||
@@ -1088,9 +1123,9 @@ switch ($mode)
|
||||
{
|
||||
$user_rank_data = phpbb_get_user_rank($group_row, false);
|
||||
|
||||
if ($rank_img)
|
||||
if ($user_rank_data['img'])
|
||||
{
|
||||
$rank_img .= '<br />';
|
||||
$user_rank_data['img'] .= '<br />';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1426,7 +1461,7 @@ switch ($mode)
|
||||
$cp_row = (isset($profile_fields_cache[$user_id])) ? $cp->generate_profile_fields_template_data($profile_fields_cache[$user_id], false) : array();
|
||||
}
|
||||
|
||||
$memberrow = array_merge(phpbb_show_profile($row), array(
|
||||
$memberrow = array_merge(phpbb_show_profile($row, false, false, false), array(
|
||||
'ROW_NUMBER' => $i + ($start + 1),
|
||||
|
||||
'S_CUSTOM_PROFILE' => (isset($cp_row['row']) && sizeof($cp_row['row'])) ? true : false,
|
||||
|
@@ -927,11 +927,11 @@ class auth
|
||||
*/
|
||||
function login($username, $password, $autologin = false, $viewonline = 1, $admin = 0)
|
||||
{
|
||||
global $config, $db, $user, $phpbb_root_path, $phpEx, $phpbb_container;
|
||||
global $db, $user, $phpbb_root_path, $phpEx, $phpbb_container;
|
||||
|
||||
$method = trim(basename($config['auth_method']));
|
||||
$provider_collection = $phpbb_container->get('auth.provider_collection');
|
||||
|
||||
$provider = $phpbb_container->get('auth.provider.' . $method);
|
||||
$provider = $provider_collection->get_provider();
|
||||
if ($provider)
|
||||
{
|
||||
$login = $provider->login($username, $password);
|
||||
|
@@ -137,7 +137,7 @@ class apache extends \phpbb\auth\provider\base
|
||||
return array(
|
||||
'status' => LOGIN_SUCCESS_CREATE_PROFILE,
|
||||
'error_msg' => false,
|
||||
'user_row' => user_row_apache($php_auth_user, $php_auth_pw),
|
||||
'user_row' => $this->user_row($php_auth_user, $php_auth_pw),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ class apache extends \phpbb\auth\provider\base
|
||||
}
|
||||
|
||||
// create the user if he does not exist yet
|
||||
user_add(user_row_apache($php_auth_user, $php_auth_pw));
|
||||
user_add($this->user_row($php_auth_user, $php_auth_pw));
|
||||
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . "
|
||||
|
@@ -87,7 +87,7 @@ class db extends \phpbb\auth\provider\base
|
||||
|
||||
$username_clean = utf8_clean_string($username);
|
||||
|
||||
$sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type, user_login_attempts
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'";
|
||||
$result = $this->db->sql_query($sql);
|
||||
@@ -123,7 +123,7 @@ class db extends \phpbb\auth\provider\base
|
||||
'username_clean' => $username_clean,
|
||||
);
|
||||
$sql = 'INSERT INTO ' . LOGIN_ATTEMPT_TABLE . $this->db->sql_build_array('INSERT', $attempt_data);
|
||||
$result = $this->db->sql_query($sql);
|
||||
$this->db->sql_query($sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -175,7 +175,7 @@ class db extends \phpbb\auth\provider\base
|
||||
}
|
||||
|
||||
// Check password ...
|
||||
if ($this->passwords_manager->check($password, $row['user_password']))
|
||||
if ($this->passwords_manager->check($password, $row['user_password'], $row))
|
||||
{
|
||||
// Check for old password hash...
|
||||
if ($this->passwords_manager->convert_flag || strlen($row['user_password']) == 32)
|
||||
@@ -232,7 +232,7 @@ class db extends \phpbb\auth\provider\base
|
||||
// Give status about wrong password...
|
||||
return array(
|
||||
'status' => ($show_captcha) ? LOGIN_ERROR_ATTEMPTS : LOGIN_ERROR_PASSWORD,
|
||||
'error_msg' => ($show_captcha) ? 'LOGIN_ERROR_ATTEMPTS' : 'LOGIN_ERROR_PASSWORD',
|
||||
'error_msg' => 'LOGIN_ERROR_PASSWORD',
|
||||
'user_row' => $row,
|
||||
);
|
||||
}
|
||||
|
@@ -38,6 +38,7 @@ class provider_collection extends \phpbb\di\service_collection
|
||||
/**
|
||||
* Get an auth provider.
|
||||
*
|
||||
* @param string $provider_name The name of the auth provider
|
||||
* @return object Default auth provider selected in config if it
|
||||
* does exist. Otherwise the standard db auth
|
||||
* provider.
|
||||
@@ -46,11 +47,12 @@ class provider_collection extends \phpbb\di\service_collection
|
||||
* auth provider exist. The db auth provider
|
||||
* should always exist in a phpBB installation.
|
||||
*/
|
||||
public function get_provider()
|
||||
public function get_provider($provider_name = '')
|
||||
{
|
||||
if ($this->offsetExists('auth.provider.' . basename(trim($this->config['auth_method']))))
|
||||
$provider_name = ($provider_name !== '') ? $provider_name : basename(trim($this->config['auth_method']));
|
||||
if ($this->offsetExists('auth.provider.' . $provider_name))
|
||||
{
|
||||
return $this->offsetGet('auth.provider.' . basename(trim($this->config['auth_method'])));
|
||||
return $this->offsetGet('auth.provider.' . $provider_name);
|
||||
}
|
||||
// Revert to db auth provider if selected method does not exist
|
||||
else if ($this->offsetExists('auth.provider.db'))
|
||||
|
@@ -154,7 +154,7 @@ class local extends \phpbb\avatar\driver\driver
|
||||
*/
|
||||
protected function get_avatar_list($user)
|
||||
{
|
||||
$avatar_list = ($this->cache == null) ? false : $this->cache->get('avatar_local_list');
|
||||
$avatar_list = ($this->cache == null) ? false : $this->cache->get('_avatar_local_list');
|
||||
|
||||
if ($avatar_list === false)
|
||||
{
|
||||
@@ -192,7 +192,7 @@ class local extends \phpbb\avatar\driver\driver
|
||||
|
||||
if ($this->cache != null)
|
||||
{
|
||||
$this->cache->put('avatar_local_list', $avatar_list, 86400);
|
||||
$this->cache->put('_avatar_local_list', $avatar_list, 86400);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -130,8 +130,24 @@ class remote extends \phpbb\avatar\driver\driver
|
||||
{
|
||||
// Timeout after 1 second
|
||||
stream_set_timeout($file_stream, 1);
|
||||
// read some data to ensure headers are present
|
||||
fread($file_stream, 1024);
|
||||
$meta = stream_get_meta_data($file_stream);
|
||||
foreach ($meta['wrapper_data'] as $header)
|
||||
|
||||
if (isset($meta['wrapper_data']['headers']) && is_array($meta['wrapper_data']['headers']))
|
||||
{
|
||||
$headers = $meta['wrapper_data']['headers'];
|
||||
}
|
||||
else if (isset($meta['wrapper_data']) && is_array($meta['wrapper_data']))
|
||||
{
|
||||
$headers = $meta['wrapper_data'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$headers = array();
|
||||
}
|
||||
|
||||
foreach ($headers as $header)
|
||||
{
|
||||
$header = preg_split('/ /', $header, 2);
|
||||
if (strtr(strtolower(trim($header[0], ':')), '_', '-') === 'content-type')
|
||||
|
@@ -326,17 +326,41 @@ class manager
|
||||
$driver->delete($avatar_data);
|
||||
}
|
||||
|
||||
$result = self::$default_row;
|
||||
|
||||
foreach ($result as $key => $value)
|
||||
{
|
||||
$result[$prefix . $key] = $value;
|
||||
unset($result[$key]);
|
||||
}
|
||||
$result = $this->prefix_avatar_columns($prefix, self::$default_row);
|
||||
|
||||
$sql = 'UPDATE ' . $table . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . '
|
||||
WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id'];
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . '
|
||||
WHERE ' . $prefix . 'id = ' . (int) $avatar_data['id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
// Make sure we also delete this avatar from the users
|
||||
if ($prefix === 'group_')
|
||||
{
|
||||
$result = $this->prefix_avatar_columns('user_', self::$default_row);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $result) . "
|
||||
WHERE user_avatar = '" . $db->sql_escape($avatar_data['avatar']) . "'";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prefix avatar columns
|
||||
*
|
||||
* @param string $prefix Column prefix
|
||||
* @param array $data Column data
|
||||
*
|
||||
* @return array Column data with prefixed column names
|
||||
*/
|
||||
public function prefix_avatar_columns($prefix, $data)
|
||||
{
|
||||
foreach ($data as $key => $value)
|
||||
{
|
||||
$data[$prefix . $key] = $value;
|
||||
unset($data[$key]);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
@@ -26,8 +26,10 @@ class recaptcha extends captcha_abstract
|
||||
var $challenge;
|
||||
var $response;
|
||||
|
||||
// PHP4 Constructor
|
||||
function phpbb_recaptcha()
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
global $request;
|
||||
$this->recaptcha_server = $request->is_secure() ? $this->recaptcha_server_secure : $this->recaptcha_server;
|
||||
|
@@ -145,9 +145,9 @@ class db extends \phpbb\config\config
|
||||
$sql .= " AND config_value = '" . $this->db->sql_escape($old_value) . "'";
|
||||
}
|
||||
|
||||
$result = $this->db->sql_query($sql);
|
||||
$this->db->sql_query($sql);
|
||||
|
||||
if (!$this->db->sql_affectedrows($result) && isset($this->config[$key]))
|
||||
if (!$this->db->sql_affectedrows() && isset($this->config[$key]))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@@ -0,0 +1,69 @@
|
||||
<?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.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\console\command\db;
|
||||
|
||||
use phpbb\user;
|
||||
use phpbb\db\migrator_output_handler_interface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class console_migrator_output_handler implements migrator_output_handler_interface
|
||||
{
|
||||
/**
|
||||
* User object.
|
||||
*
|
||||
* @var user
|
||||
*/
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* Console output object.
|
||||
*
|
||||
* @var OutputInterface
|
||||
*/
|
||||
private $output;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param user $user User object
|
||||
* @param OutputInterface $output Console output object
|
||||
*/
|
||||
public function __construct(user $user, OutputInterface $output)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->output = $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function write($message, $verbosity)
|
||||
{
|
||||
if ($verbosity <= $this->output->getVerbosity())
|
||||
{
|
||||
$translated_message = call_user_func_array(array($this->user, 'lang'), $message);
|
||||
|
||||
if ($verbosity === migrator_output_handler_interface::VERBOSITY_NORMAL)
|
||||
{
|
||||
$translated_message = '<info>' . $translated_message . '</info>';
|
||||
}
|
||||
else if ($verbosity === migrator_output_handler_interface::VERBOSITY_VERBOSE)
|
||||
{
|
||||
$translated_message = '<comment>' . $translated_message . '</comment>';
|
||||
}
|
||||
|
||||
$this->output->writeln($translated_message);
|
||||
}
|
||||
}
|
||||
}
|
@@ -32,13 +32,17 @@ class migrate extends \phpbb\console\command\command
|
||||
/** @var \phpbb\log\log */
|
||||
protected $log;
|
||||
|
||||
function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log)
|
||||
/** @var string phpBB root path */
|
||||
protected $phpbb_root_path;
|
||||
|
||||
function __construct(\phpbb\user $user, \phpbb\db\migrator $migrator, \phpbb\extension\manager $extension_manager, \phpbb\config\config $config, \phpbb\cache\service $cache, \phpbb\log\log $log, $phpbb_root_path)
|
||||
{
|
||||
$this->migrator = $migrator;
|
||||
$this->extension_manager = $extension_manager;
|
||||
$this->config = $config;
|
||||
$this->cache = $cache;
|
||||
$this->log = $log;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
parent::__construct($user);
|
||||
$this->user->add_lang(array('common', 'install', 'migrator'));
|
||||
}
|
||||
@@ -53,6 +57,8 @@ class migrate extends \phpbb\console\command\command
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$this->migrator->set_output_handler(new \phpbb\db\log_wrapper_migrator_output_handler($this->user, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log'));
|
||||
|
||||
$this->migrator->create_migrations_table();
|
||||
|
||||
$this->cache->purge();
|
||||
@@ -61,8 +67,6 @@ class migrate extends \phpbb\console\command\command
|
||||
$orig_version = $this->config['version'];
|
||||
while (!$this->migrator->finished())
|
||||
{
|
||||
$migration_start_time = microtime(true);
|
||||
|
||||
try
|
||||
{
|
||||
$this->migrator->update();
|
||||
@@ -73,36 +77,6 @@ class migrate extends \phpbb\console\command\command
|
||||
$this->finalise_update();
|
||||
return 1;
|
||||
}
|
||||
|
||||
$migration_stop_time = microtime(true) - $migration_start_time;
|
||||
|
||||
$state = array_merge(
|
||||
array(
|
||||
'migration_schema_done' => false,
|
||||
'migration_data_done' => false,
|
||||
),
|
||||
$this->migrator->last_run_migration['state']
|
||||
);
|
||||
|
||||
if (!empty($this->migrator->last_run_migration['effectively_installed']))
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_EFFECTIVELY_INSTALLED', $this->migrator->last_run_migration['name']);
|
||||
$output->writeln("<comment>$msg</comment>");
|
||||
}
|
||||
else if ($this->migrator->last_run_migration['task'] == 'process_data_step' && $state['migration_data_done'])
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_DATA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time);
|
||||
$output->writeln("<info>$msg</info>");
|
||||
}
|
||||
else if ($this->migrator->last_run_migration['task'] == 'process_data_step')
|
||||
{
|
||||
$output->writeln($this->user->lang('MIGRATION_DATA_IN_PROGRESS', $this->migrator->last_run_migration['name'], $migration_stop_time));
|
||||
}
|
||||
else if ($state['migration_schema_done'])
|
||||
{
|
||||
$msg = $this->user->lang('MIGRATION_SCHEMA_DONE', $this->migrator->last_run_migration['name'], $migration_stop_time);
|
||||
$output->writeln("<info>$msg</info>");
|
||||
}
|
||||
}
|
||||
|
||||
if ($orig_version != $this->config['version'])
|
||||
|
@@ -43,6 +43,12 @@ class content_visibility
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* Event dispatcher object
|
||||
* @var \phpbb\event\dispatcher
|
||||
*/
|
||||
protected $phpbb_dispatcher;
|
||||
|
||||
/**
|
||||
* phpBB root path
|
||||
* @var string
|
||||
@@ -60,6 +66,7 @@ class content_visibility
|
||||
*
|
||||
* @param \phpbb\auth\auth $auth Auth object
|
||||
* @param \phpbb\config\config $config Config object
|
||||
* @param \phpbb\event\dispatcher $phpbb_dispatcher Event dispatcher object
|
||||
* @param \phpbb\db\driver\driver_interface $db Database object
|
||||
* @param \phpbb\user $user User object
|
||||
* @param string $phpbb_root_path Root path
|
||||
@@ -69,10 +76,11 @@ class content_visibility
|
||||
* @param string $topics_table Topics table name
|
||||
* @param string $users_table Users table name
|
||||
*/
|
||||
public function __construct(\phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $php_ext, $forums_table, $posts_table, $topics_table, $users_table)
|
||||
public function __construct(\phpbb\auth\auth $auth, \phpbb\config\config $config, \phpbb\event\dispatcher $phpbb_dispatcher, \phpbb\db\driver\driver_interface $db, \phpbb\user $user, $phpbb_root_path, $php_ext, $forums_table, $posts_table, $topics_table, $users_table)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
$this->config = $config;
|
||||
$this->phpbb_dispatcher = $phpbb_dispatcher;
|
||||
$this->db = $db;
|
||||
$this->user = $user;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
@@ -160,6 +168,36 @@ class content_visibility
|
||||
|
||||
$approve_forums = array_intersect($forum_ids, array_keys($this->auth->acl_getf('m_approve', true)));
|
||||
|
||||
$get_forums_visibility_sql_overwrite = false;
|
||||
/**
|
||||
* Allow changing the result of calling get_forums_visibility_sql
|
||||
*
|
||||
* @event core.phpbb_content_visibility_get_forums_visibility_before
|
||||
* @var string where_sql The action the user tried to execute
|
||||
* @var string mode Either "topic" or "post" depending on the query this is being used in
|
||||
* @var array forum_ids Array of forum ids which the posts/topics are limited to
|
||||
* @var string table_alias Table alias to prefix in SQL queries
|
||||
* @var array approve_forums Array of forums where the user has m_approve permissions
|
||||
* @var mixed get_forums_visibility_sql_overwrite If a string, forces the function to return get_forums_visibility_sql_overwrite after executing the event
|
||||
* If false, get_forums_visibility_sql continues normally
|
||||
* It must be either boolean or string
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'where_sql',
|
||||
'mode',
|
||||
'forum_ids',
|
||||
'table_alias',
|
||||
'approve_forums',
|
||||
'get_forums_visibility_sql_overwrite',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.phpbb_content_visibility_get_forums_visibility_before', compact($vars)));
|
||||
|
||||
if ($get_forums_visibility_sql_overwrite !== false)
|
||||
{
|
||||
return $get_forums_visibility_sql_overwrite;
|
||||
}
|
||||
|
||||
if (sizeof($approve_forums))
|
||||
{
|
||||
// Remove moderator forums from the rest
|
||||
@@ -206,6 +244,35 @@ class content_visibility
|
||||
|
||||
$approve_forums = array_diff(array_keys($this->auth->acl_getf('m_approve', true)), $exclude_forum_ids);
|
||||
|
||||
$visibility_sql_overwrite = null;
|
||||
|
||||
/**
|
||||
* Allow changing the result of calling get_global_visibility_sql
|
||||
*
|
||||
* @event core.phpbb_content_visibility_get_global_visibility_before
|
||||
* @var array where_sqls The action the user tried to execute
|
||||
* @var string mode Either "topic" or "post" depending on the query this is being used in
|
||||
* @var array forum_ids Array of forum ids which the posts/topics are limited to
|
||||
* @var string table_alias Table alias to prefix in SQL queries
|
||||
* @var array approve_forums Array of forums where the user has m_approve permissions
|
||||
* @var string visibility_sql_overwrite Forces the function to return an implosion of where_sqls (joined by "OR")
|
||||
* @since 3.1.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'where_sqls',
|
||||
'mode',
|
||||
'forum_ids',
|
||||
'table_alias',
|
||||
'approve_forums',
|
||||
'visibility_sql_overwrite',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.phpbb_content_visibility_get_global_visibility_before', compact($vars)));
|
||||
|
||||
if ($visibility_sql_overwrite)
|
||||
{
|
||||
return $visibility_sql_overwrite;
|
||||
}
|
||||
|
||||
if (sizeof($exclude_forum_ids))
|
||||
{
|
||||
$where_sqls[] = '(' . $this->db->sql_in_set($table_alias . 'forum_id', $exclude_forum_ids, true) . '
|
||||
|
@@ -44,6 +44,9 @@ class helper
|
||||
/* @var \phpbb\symfony_request */
|
||||
protected $symfony_request;
|
||||
|
||||
/* @var \phpbb\request\request_interface */
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
* @var \phpbb\filesystem The filesystem object
|
||||
*/
|
||||
@@ -70,16 +73,18 @@ class helper
|
||||
* @param \phpbb\controller\provider $provider Path provider
|
||||
* @param \phpbb\extension\manager $manager Extension manager object
|
||||
* @param \phpbb\symfony_request $symfony_request Symfony Request object
|
||||
* @param \phpbb\request\request_interface $request phpBB request object
|
||||
* @param \phpbb\filesystem $filesystem The filesystem object
|
||||
* @param string $phpbb_root_path phpBB root path
|
||||
* @param string $php_ext PHP file extension
|
||||
*/
|
||||
public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\controller\provider $provider, \phpbb\extension\manager $manager, \phpbb\symfony_request $symfony_request, \phpbb\filesystem $filesystem, $phpbb_root_path, $php_ext)
|
||||
public function __construct(\phpbb\template\template $template, \phpbb\user $user, \phpbb\config\config $config, \phpbb\controller\provider $provider, \phpbb\extension\manager $manager, \phpbb\symfony_request $symfony_request, \phpbb\request\request_interface $request, \phpbb\filesystem $filesystem, $phpbb_root_path, $php_ext)
|
||||
{
|
||||
$this->template = $template;
|
||||
$this->user = $user;
|
||||
$this->config = $config;
|
||||
$this->symfony_request = $symfony_request;
|
||||
$this->request = $request;
|
||||
$this->filesystem = $filesystem;
|
||||
$this->phpbb_root_path = $phpbb_root_path;
|
||||
$this->php_ext = $php_ext;
|
||||
@@ -153,7 +158,7 @@ class helper
|
||||
}
|
||||
}
|
||||
|
||||
$base_url = $this->filesystem->clean_path($base_url);
|
||||
$base_url = $this->request->escape($this->filesystem->clean_path($base_url), true);
|
||||
|
||||
$context->setBaseUrl($base_url);
|
||||
|
||||
@@ -179,6 +184,8 @@ class helper
|
||||
* @param string $message The error message
|
||||
* @param int $code The error code (e.g. 404, 500, 503, etc.)
|
||||
* @return Response A Response instance
|
||||
*
|
||||
* @deprecated 3.1.3 (To be removed: 3.3.0) Use exceptions instead.
|
||||
*/
|
||||
public function error($message, $code = 500)
|
||||
{
|
||||
@@ -197,6 +204,6 @@ class helper
|
||||
*/
|
||||
public function get_current_url()
|
||||
{
|
||||
return generate_board_url(true) . $this->symfony_request->getRequestUri();
|
||||
return generate_board_url(true) . $this->request->escape($this->symfony_request->getRequestUri(), true);
|
||||
}
|
||||
}
|
||||
|
@@ -73,6 +73,7 @@ class manager
|
||||
*/
|
||||
public function find_one_ready_task()
|
||||
{
|
||||
shuffle($this->tasks);
|
||||
foreach ($this->tasks as $task)
|
||||
{
|
||||
if ($task->is_ready())
|
||||
|
@@ -73,6 +73,6 @@ class queue extends \phpbb\cron\task\base
|
||||
*/
|
||||
public function should_run()
|
||||
{
|
||||
return $this->config['last_queue_run'] < time() - $this->config['queue_interval_config'];
|
||||
return $this->config['last_queue_run'] < time() - $this->config['queue_interval'];
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user